hxp
2020-01-03 866ce280c4c931a34cedd06d86b81019018d4160
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py
@@ -20,6 +20,7 @@
import DataRecordPack
import PlayerControl
import ItemControler
import Operate_EquipStar
import ItemCommon
import ChConfig
import ShareDefine
@@ -79,7 +80,7 @@
    playerID = curPlayer.GetPlayerID()
    itemGUID = clientData.ItemGUID
    biddingPrice = clientData.BiddingPrice
    if not PlayerControl.HaveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, biddingPrice):
    if not PlayerControl.HaveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, biddingPrice):
        return
    QueryGameServer_AuctionHouse(playerID, "BidAuctionItemQuery", [itemGUID, biddingPrice])
    return
@@ -108,6 +109,9 @@
        itemID = result[0]
        __DoPlayerBidAuctionItem(curPlayer, itemGUID, biddingPrice, itemID)
    
    elif queryType == "EquipStarAutoBuy":
        Operate_EquipStar.GameServer_EquipStarAutoBuy(curPlayer, result)
    return
def __DoPlayerBidAuctionItem(curPlayer, itemGUID, biddingPrice, itemID):
@@ -115,7 +119,7 @@
    
    # 地图只处理扣除竞价价格
    infoDict = {"ItemID":itemID, "ItemGUID":itemGUID, "BiddingPrice":biddingPrice}
    if not PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, biddingPrice, ChConfig.Def_Cost_AuctionBid, infoDict):
    if not PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, biddingPrice, ChConfig.Def_Cost_AuctionBid, infoDict):
        return
    
    DR_AuctionHouse(curPlayer, "PlayerPayBid", infoDict)
@@ -208,16 +212,18 @@
def DoAddSystemAuctionItem(sysAuctionItemList):
    ''' 上架系统拍品
    @param sysAuctionItemList: [物品ID, [阶,颜色,[部位, ...],是否套装,星级]]
    @param sysAuctionItemList: [物品ID, [阶,颜色,[部位, ...],是否套装,星级,[可选参数职业, ...]], ...]
    '''
    GameWorld.Log("上架系统拍品: %s" % sysAuctionItemList)
    
    itemCount = 1 # 系统拍品,默认上架一个
    isAuctionItem = True
    auctionItemList = []
    for sysAuctionItemInfo in sysAuctionItemList:
        itemCount = 1 # 系统拍品,默认上架一个
        if type(sysAuctionItemInfo) == int:
            itemID = sysAuctionItemInfo
        elif type(sysAuctionItemInfo) == list and len(sysAuctionItemInfo) == 2:
            itemID, itemCount = sysAuctionItemInfo
        elif type(sysAuctionItemInfo) == list and len(sysAuctionItemInfo) >= 5:
            classLV, color, placeList, isSuit, star = sysAuctionItemInfo[:5]
            if star:
@@ -246,6 +252,27 @@
    __DoAddAuctionItem(None, auctionItemList)
    return
#// B5 15 拍卖行下架拍品 #tagCMUnsellAuctionItem
#
#struct    tagCMUnsellAuctionItem
#{
#    tagHead    Head;
#    char    ItemGUID[40];
#};
def OnUnsellAuctionItem(index, clientData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    playerID = curPlayer.GetPlayerID()
    itemGUID = clientData.ItemGUID
    # 直接发邮件,这里就不验证背包了
#    #验证背包空间
#    if not ItemCommon.CheckPackHasSpace(curPlayer, IPY_GameWorld.rptItem):
#        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
#        return
    QueryGameServer_AuctionHouse(playerID, "UnsellAuctionItem", [itemGUID])
    return
def DR_AuctionHouse(curPlayer, eventName, drDict):
    accID = "" if not curPlayer else curPlayer.GetAccID()
    playerID = 0 if not curPlayer else curPlayer.GetPlayerID()