| | |
| | | import ShareDefine
|
| | | import GameDataRecord
|
| | | import GameWorldShopItem
|
| | | import PlayerMergeRegister
|
| | | import PlayerCompensation
|
| | | import PlayerFB
|
| | | import UpdatePlayerName
|
| | | import PlayerFamilyBoss
|
| | | import PlayerManorWar
|
| | | import GameWorldBoss
|
| | | import MergeBroadcast
|
| | | import GameWorldFamilyWar
|
| | | import GameWorldMergeKing
|
| | | import GameWorldMergePK
|
| | | #import PlayerFamilyTech
|
| | | import MergeChildMsg
|
| | | import PlayerFamilyRedPacket
|
| | | import PlayerFBHelpBattle
|
| | | import PlayerFamilyStore
|
| | | import PlayerFamilySWRH
|
| | | import GameWorldProcess
|
| | |
| | | import PyDataManager
|
| | | import PyGameData
|
| | | import PlayerTalk
|
| | | import PlayerStore
|
| | | import CrossRealmPlayer
|
| | | import CrossRealmMsg
|
| | | import CrossRealmPK
|
| | |
|
| | | import time
|
| | | import datetime
|
| | |
| | | callName = pack.GetCallName()
|
| | | resultName = pack.GetResultName() #[queryid, 人气值, 物品ID]
|
| | |
|
| | | if callName == 'SendMail':
|
| | | title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver = eval(resultName)
|
| | | if callName == "SendMail":
|
| | | title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver, detail = eval(resultName)
|
| | | limitTime = str(GameWorld.GetDatetimeByDiffDays(getDays))
|
| | | limitTime = limitTime.split(".")[0]
|
| | | PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver)
|
| | | PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver, detail=detail)
|
| | | return
|
| | |
|
| | | if callName == 'SendMailBatch':
|
| | | if callName == "SendMailBatch":
|
| | | PlayerCompensation.SendPersonalItemMailBatch(eval(resultName))
|
| | | return
|
| | |
|
| | | if callName == 'SendMergerChildMsg':
|
| | | operType, dataMsg = eval(resultName)
|
| | | MergeChildMsg.SendMergerChildToCenterStringData(operType, dataMsg)
|
| | | # 如果是恢复跨服PK连胜的,先记录恢复的玩家ID, 等待成功后同步最新结果给玩家
|
| | | if operType == ChConfig.Def_RecoverMergePKWin:
|
| | | GameWorldMergePK.Add_RecoverMergePKWinPlayer(srcPlayerID)
|
| | | if callName == "SendMsgToCrossServer":
|
| | | msgType, dataMsg = eval(resultName)
|
| | | CrossRealmMsg.SendMsgToCrossServer(msgType, dataMsg)
|
| | | return
|
| | | |
| | | if callName == "SendMsgToClientServer":
|
| | | msgType, dataMsg, serverGroupIDList = eval(resultName)
|
| | | CrossRealmMsg.SendMsgToClientServer(msgType, dataMsg, serverGroupIDList)
|
| | | return
|
| | |
|
| | | if callName == 'MergeWorldNotify':
|
| | |
| | | GameDataRecord.ChangeCoinCnt(eval(resultName))
|
| | | return
|
| | |
|
| | | #跨服广播子服
|
| | | if callName == 'SendBroadcastMergeClient':
|
| | | operType, mapID, dataDict, isRepeat = eval(resultName)
|
| | | MergeBroadcast.SendBroadcastMerge(operType, mapID, dataDict, isRepeat)
|
| | | return
|
| | |
|
| | | #跨服赛报名获得新账号
|
| | | if callName == 'MergeRegister':
|
| | | PlayerMergeRegister.MergeWarRegisterNewAcc(srcPlayerID, eval(resultName), tick)
|
| | | return |
| | | |
| | | #跨服王者争霸
|
| | | if callName == 'MergeKingFB':
|
| | | GameWorldMergeKing.MapServer_MergeKingFB(eval(resultName))
|
| | | #跨服匹配PK战斗结算
|
| | | if callName == "CrossPKOver":
|
| | | CrossRealmPK.MapServer_CrossPKOver(eval(resultName), tick)
|
| | | return
|
| | |
|
| | | #跨服匹配PK
|
| | | if callName == 'MergePKOver':
|
| | | GameWorldMergePK.MapServer_MergePKOver(eval(resultName))
|
| | | #跨服匹配房间开启
|
| | | if callName == "CrossPKRoomOpen":
|
| | | CrossRealmPK.MapServer_CrossPKRoomOpen(eval(resultName), tick)
|
| | | return
|
| | |
|
| | | #跨服匹配PK取消匹配
|
| | | if callName == 'MergePKCancel':
|
| | | if callName == "CrossRealmPKCancel":
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | if not curPlayer:
|
| | | return
|
| | | GameWorldMergePK.SendCancelMergePKMatch(curPlayer, resultName)
|
| | | CrossRealmPK.SendCancelCrossRealmPKMatch(curPlayer, resultName)
|
| | | return
|
| | | |
| | | #跨服PK请求玩家当前排名
|
| | | if callName == "CrossPKSeasonOrder":
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | if not curPlayer:
|
| | | return
|
| | | CrossRealmPK.MapServer_QueryCrossPKSeasonOrder(curPlayer, eval(resultName))
|
| | | return
|
| | | |
| | | #跨服注册结果
|
| | | if callName == "CrossRealmReg":
|
| | | CrossRealmPlayer.OnCrossRealmRegOK(srcPlayerID, eval(resultName), tick)
|
| | | return
|
| | |
|
| | | #py喇叭聊天
|
| | |
| | |
|
| | | # 世界boss状态
|
| | | if callName =="GameWorldBossState":
|
| | | GameWorldBoss.DoGameWorldBossOnReborn(eval(resultName), tick)
|
| | | GameWorldBoss.OnGameWorldBossStateChange(eval(resultName), tick)
|
| | | return
|
| | |
|
| | | # 仙盟归属boss信息同步
|
| | |
| | | return
|
| | | #通知神兽副本NPC刷新时间
|
| | | if callName =="DogzNPCTime":
|
| | | GameWorldBoss.Sync_DogzNPCRefreshTime(eval(resultName))
|
| | | PyGameData.g_dogzNPCRefreshTimeDict = eval(resultName)
|
| | | GameWorldBoss.Sync_DogzNPCRefreshTime()
|
| | | return
|
| | | #---return分割线-----------------------------------------------------------------
|
| | |
|
| | |
|
| | | #---有可能return-----------------------------------------------------------------
|
| | | #商城全服购买限制
|
| | | if callName == "GetStoreServerBuyCnt":
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | if not curPlayer:
|
| | | return
|
| | | ret = PlayerStore.DoStoreServerBuyQueryResult(curPlayer, eval(resultName))
|
| | | if ret == None:
|
| | | resultName = ''
|
| | | else:
|
| | | resultName = '%s' % ret
|
| | | |
| | | #玩家等级奖励
|
| | | if callName == "GetPlayerLVAward":
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | |
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | resultName = '%s' % GameWorldOpenServerCampaign.CanGiveCampaignAward(curPlayer, eval(resultName))
|
| | |
|
| | | # 跨服PK奖励
|
| | | if callName == 'MergePKAward':
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | resultName = '%s' % GameWorldMergePK.MapServer_QueryMergePKAward(curPlayer, eval(resultName))
|
| | | |
| | | # 跨服王者争霸
|
| | | if callName == 'MergeKing':
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | resultName = '%s' % GameWorldMergeKing.MapServer_MergeKingQuery(curPlayer, eval(resultName))
|
| | |
|
| | | # 玩家自身战盟科技等级提升, 改为地图直接处理, 暂屏蔽
|
| | | # if callName == 'PlayerFamilyTechLVUP':
|
| | | # curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | # resultName = '%s' % PlayerFamilyTech.OnQuery_PlayerFamilyTechLVUP(curPlayer, eval(resultName))
|
| | |
|
| | | |
| | | # 副本助战
|
| | | if callName =="FBHelpBattle":
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | if not curPlayer:
|
| | | return
|
| | | ret = PlayerFBHelpBattle.MapServer_FBHelpBattle(curPlayer, eval(resultName))
|
| | | if ret == None:
|
| | | return
|
| | | resultName = '%s' % ret
|
| | | |
| | | # 战盟仓库
|
| | | if callName == "FamilyStore":
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|