| | |
| | | import ShareDefine
|
| | | import GameFuncComm
|
| | | import FBHelpBattle
|
| | | import ItemControler
|
| | | import PyGameData
|
| | |
|
| | | import time
|
| | | import math
|
| | |
| | | return
|
| | |
|
| | |
|
| | | #// B1 08 刷新自定义副本奖励 #tagCMRefreshCustomFBPrize
|
| | | #
|
| | | #struct tagCMRefreshCustomFBPrize
|
| | | #{
|
| | | # tagHead Head;
|
| | | # DWORD MapID;
|
| | | # WORD FuncLineID;
|
| | | #};
|
| | | def OnRefreshCustomFBPrize(playerIndex, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(playerIndex)
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | mapID = clientData.MapID
|
| | | funcLineID = clientData.FuncLineID
|
| | | prizeItemList = FBLogic.OnRefreshCustomFBPrize(curPlayer, mapID, funcLineID)
|
| | | if not prizeItemList:
|
| | | return
|
| | | PyGameData.g_customFBPrizeInfo[playerID] = [mapID, funcLineID, prizeItemList]
|
| | | prizePack = ChPyNetSendPack.tagMCCuntomFBPrizeInfo()
|
| | | prizePack.MapID = mapID
|
| | | prizePack.FuncLineID = funcLineID
|
| | | prizePack.PrizeItemList = []
|
| | | for prizeItemInfo in prizeItemList:
|
| | | itemID, itemCount, isAuctionItem, userData = ItemControler.GetItemInfo(prizeItemInfo)
|
| | | if not itemID:
|
| | | continue
|
| | | prizeItem = ChPyNetSendPack.tagMCCuntomFBPrizeItem()
|
| | | prizeItem.ItemID = itemID
|
| | | prizeItem.Count = itemCount
|
| | | prizeItem.IsAuctionItem = isAuctionItem
|
| | | prizeItem.UserData = userData
|
| | | prizeItem.UserDataLen = len(prizeItem.UserData)
|
| | | prizePack.PrizeItemList.append(prizeItem)
|
| | | prizePack.PrizeItemCount = len(prizePack.PrizeItemList)
|
| | | NetPackCommon.SendFakePack(curPlayer, prizePack)
|
| | | return
|
| | |
|
| | |
|
| | | #// B1 09 结算自定义副本奖励 #tagCMGiveCustomFBPrize
|
| | | #
|
| | | #struct tagCMGiveCustomFBPrize
|
| | | #{
|
| | | # tagHead Head;
|
| | | # DWORD MapID;
|
| | | # WORD FuncLineID;
|
| | | #};
|
| | | def OnGiveCustomFBPrize(playerIndex, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(playerIndex)
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | packMapID = clientData.MapID
|
| | | packFuncLineID = clientData.FuncLineID
|
| | | prizeInfo = PyGameData.g_customFBPrizeInfo.pop(playerID, None)
|
| | | if not prizeInfo:
|
| | | return
|
| | | mapID, funcLineID, prizeItemList = prizeInfo
|
| | | if mapID != packMapID or funcLineID != packFuncLineID:
|
| | | return
|
| | | FBLogic.OnGiveCustomFBPrizeOK(curPlayer, mapID, funcLineID)
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, prizeItemList)
|
| | | return
|
| | |
|
| | |
|