| | |
| | | import GameWorld
|
| | | import ChConfig
|
| | | import PlayerControl
|
| | | import PlayerBillboard
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import PlayerViewCacheTube
|
| | |
| | | def DoPlayerOnDay(curPlayer):
|
| | | checkInInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HelpBattleCheckInCount)
|
| | | checkInCount = checkInInfo / 10 # 累计登记
|
| | | checkInInfo = (checkInCount + 1) * 10 + 0
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HelpBattleCheckInCount, checkInInfo)
|
| | | todayIsCheckIn = checkInInfo % 10 # 今天是否已登记
|
| | | if todayIsCheckIn:
|
| | | checkInInfo = (checkInCount + 1) * 10 + 0
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HelpBattleCheckInCount, checkInInfo)
|
| | | SyncCheckInState(curPlayer, 0, False)
|
| | | return
|
| | |
|
| | | def DoPlayerLogin(curPlayer):
|
| | | checkInInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HelpBattleCheckInCount)
|
| | | todayIsCheckIn = checkInInfo % 10 # 今天是否已登记
|
| | | if todayIsCheckIn:
|
| | | SyncCheckInState(curPlayer, 1, True)
|
| | | return
|
| | |
|
| | | def SyncCheckInState(curPlayer, checkInState, isLogin):
|
| | | ## 同步登记状态
|
| | | checkInPack = ChPyNetSendPack.tagMCHelpBattleCheckInResult()
|
| | | checkInPack.IsOK = checkInState
|
| | | checkInPack.IsLogin = int(isLogin)
|
| | | NetPackCommon.SendFakePack(curPlayer, checkInPack)
|
| | | return
|
| | |
|
| | | def GameServer_FBHelpBattleResult(curPlayer, msgList, tick):
|
| | |
| | | if not haveViewCache:
|
| | | PlayerViewCacheTube.UpdateGameServerPlayerCache(curPlayer, tick, False)
|
| | |
|
| | | checkInPack = ChPyNetSendPack.tagMCHelpBattleCheckInResult()
|
| | | checkInPack.IsOK = isOK
|
| | | NetPackCommon.SendFakePack(curPlayer, checkInPack)
|
| | | SyncCheckInState(curPlayer, 1, False)
|
| | |
|
| | | GameWorld.DebugLog("FBHelpBattleResult: %s,checkInCount=%s,fightPower=%s,isOK=%s,haveViewCache=%s"
|
| | | % (cmd, checkInCount, fightPower, isOK, haveViewCache), curPlayer.GetPlayerID())
|
| | |
| | | return
|
| | |
|
| | | def __OnHelpBattleRecord(curPlayer, msgList, tick):
|
| | | ## 助战记录同步
|
| | | cmd, helpRecordList = msgList
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | GameWorld.DebugLog("__OnHelpBattleRecord %s,helpRecordList=%s" % (cmd, helpRecordList), playerID)
|
| | |
| | | addXianyuanCoinTotalTotay = 0 # 累计需要增加的今日仙缘币
|
| | | drList = []
|
| | |
|
| | | totalHelpCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HelpBattleTotalCount)
|
| | | recordPack = ChPyNetSendPack.tagMCHelpBattleRecordList()
|
| | | recordPack.RecordList = []
|
| | | for recordInfo in helpRecordList:
|
| | |
| | | addXianyuanCoinTotal += xianyuanCoinAdd
|
| | | if isSameDay:
|
| | | addXianyuanCoinTotalTotay += xianyuanCoinAdd
|
| | | |
| | | totalHelpCount += 1
|
| | | |
| | | recordPack.RecordCount = len(recordPack.RecordList)
|
| | | NetPackCommon.SendFakePack(curPlayer, recordPack)
|
| | |
|
| | | addDataDict = {"HelpList":drList}
|
| | | GameWorld.DebugLog(" addXianyuanCoinTotal=%s,addXianyuanCoinTotalTotay=%s" % (addXianyuanCoinTotal, addXianyuanCoinTotalTotay), playerID)
|
| | | GameWorld.DebugLog(" addXianyuanCoinTotal=%s,addXianyuanCoinTotalTotay=%s,totalHelpCount=%s" |
| | | % (addXianyuanCoinTotal, addXianyuanCoinTotalTotay, totalHelpCount), playerID)
|
| | | PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_XianyuanCoin, addXianyuanCoinTotal, addDataDict=addDataDict, isSysHint=False)
|
| | | if addXianyuanCoinTotalTotay:
|
| | | PlayerControl.AddTodayXianyuanCoin(curPlayer, addXianyuanCoinTotalTotay)
|
| | | |
| | | |
| | | # 更新总助战次数,更新排行榜
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HelpBattleTotalCount, totalHelpCount)
|
| | | if totalHelpCount >= IpyGameDataPY.GetFuncCfg("HelpBattleRefresh", 4):
|
| | | PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FBHelpBattle, totalHelpCount)
|
| | | return
|
| | |
|
| | | def DoSingleFBAddXianyuanCoin(curPlayer, mapID, lineID):
|