From b671f79bdfedf80c773b5bd6bdd6181e17032bf5 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 08 七月 2024 14:04:24 +0800 Subject: [PATCH] 5537 【越南】分区热更新优化需求(增加跨服分区表古神战场,古神去除与跨服PK分区关联;) --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py | 140 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 127 insertions(+), 13 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py index e3a8409..2c85108 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py @@ -51,6 +51,7 @@ import GameWorldBoss import GameWorldFamilyWar #import PlayerFamilyTech +import PlayerFamilyZhenfa import PlayerFamilyRedPacket import PlayerFBHelpBattle import PlayerHorsePetBoss @@ -67,16 +68,26 @@ import PyGameData import PlayerTalk import PlayerStore +import CrossYaomoBoss import CrossRealmPlayer import CrossRealmMsg import CrossRealmPK +import CrossChampionship +import CrossBattlefield +import CrossFamilyFlagwar +import CrossActAllRecharge +import PlayerActBossTrial +import PlayerActFamilyCTGAssist import ChPyNetSendPack import NetPackCommon import AuctionHouse import PlayerFairyDomain import GameWorldSkyTower +import GameWorldMineArea +import PlayerTurnFight import GameWorldArena import GameWorldItem +import PlayerRecData import PlayerAssist import PlayerLove @@ -508,10 +519,10 @@ return if callName == "SendMail": - title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver, detail, moneySource = eval(resultName) + title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver, detail, moneySource, crossMail = eval(resultName) limitTime = str(GameWorld.GetDatetimeByDiffDays(getDays)) limitTime = limitTime.split(".")[0] - PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver, detail=detail, moneySource=moneySource) + PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver, detail=detail, moneySource=moneySource, crossMail=crossMail) return if callName == "SendMailBatch": @@ -579,6 +590,13 @@ PlayerExam.MapServer_ExitAction(srcPlayerID) return + if callName == 'FuncOpen': + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + PlayerControl.DoFuncOpenLogic(curPlayer, eval(resultName)) + return + if callName == 'TeamNotify': #队伍通知 teamID = pack.GetQueryID() @@ -618,6 +636,11 @@ GameDataRecord.ChangeCoinCnt(eval(resultName)) return + #跨服排位PK战斗结算 + if callName == "CrossChampionshipPKOver": + CrossChampionship.MapServer_CrossChampionshipPKOver(eval(resultName), tick) + return + #跨服匹配PK战斗结算 if callName == "CrossPKOver": CrossRealmPK.MapServer_CrossPKOver(eval(resultName), tick) @@ -649,6 +672,37 @@ CrossRealmPlayer.OnCrossRealmRegOK(srcPlayerID, eval(resultName), tick) return + # 跨服战场结算 + if callName =="CrossBattlefieldOver": + CrossBattlefield.MapServer_CrossBattlefieldOver(eval(resultName)) + return + + # 跨服仙盟夺旗战/逐鹿万界 结算 + if callName =="CrossFamilyFlagwarOver": + CrossFamilyFlagwar.MapServer_CrossFamilyFlagwarOver(eval(resultName)) + return + + # 跨服妖魔boss伤害结算 + if callName =="CrossYaomoBossHurtInfo": + CrossYaomoBoss.MapServer_CrossYaomoBossHurtInfo(eval(resultName)) + return + + # 跨服全民充值 + if callName == "CrossActAllRecharge": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + CrossActAllRecharge.MapServer_CrossActAllRecharge(curPlayer, eval(resultName)) + return + + # Boss历练 + if callName == "BossTrial": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + PlayerActBossTrial.MapServer_BossTrial(curPlayer, eval(resultName)) + return + #py喇叭聊天 if callName == 'PYSpeaker': curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) @@ -668,6 +722,13 @@ # 战盟联赛 if callName =="FamilyWarOver": GameWorldFamilyWar.MapServer_FamilyWarOver(eval(resultName)) + return + + # 增加玩家Rec数据 + if callName == "AddPlayerRec": + curPlayer = None if not srcPlayerID else GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + recType, valueList, userData, notifyType = eval(resultName) + PlayerRecData.MapServer_AddPlayerRec(curPlayer, recType, valueList, userData, notifyType) return # 删除通用玩家Rec数据 @@ -693,12 +754,6 @@ return - # 战盟副本boss开始、被击杀 - if callName =="FamilyBossFBState": - PlayerFamilyBoss.FamilyBossOnKilled(eval(resultName), tick) - return - - # 击杀boss掉落好物品 if callName =="BossDropGoodItem": GameWorldBoss.OnKillBossDropGoodItem(eval(resultName), tick) @@ -875,6 +930,22 @@ if callName =="AllFamilyBossOver": PlayerFamilyBoss.AllFamilyBossKilled() return + #仙盟阵法 + if callName =="FamilyZhenfa": + curPlayer = None + if srcPlayerID: + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + PlayerFamilyZhenfa.MapServer_FamilyZhenfa(curPlayer, eval(resultName)) + return + #仙盟传功 + if callName =="FamilyChuangong": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + PlayerFamily.MapServer_FamilyChuangong(curPlayer, eval(resultName)) + return #骑宠BOSS结束 if callName =="HorsePetBossOver": PlayerHorsePetBoss.HorsePetBossKilled(int(resultName)) @@ -940,7 +1011,7 @@ # 副本助战 - if callName =="FBHelpBattle": + if callName == "FBHelpBattle": curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) if not curPlayer: return @@ -950,15 +1021,32 @@ resultName = '%s' % ret # 竞技场 - if callName =="Arena": + if callName == "Arena": curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) if not curPlayer: return ret = GameWorldArena.MapServer_Arena(curPlayer, eval(resultName)) resultName = '%s' % ret if ret != None else '' # 需要重置间隔,每次都回复 + # 仙盟充值互助 + if callName == "FamilyCTGAssist": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + ret = PlayerActFamilyCTGAssist.MapServer_FamilyCTGAssist(curPlayer, eval(resultName)) + if ret == None: + return + resultName = '%s' % ret + + # 仙盟boss + if callName == "FamilyBoss": + ret = PlayerFamilyBoss.MapServer_FamilyBoss(eval(resultName), tick) + if ret == None: + return + resultName = '%s' % ret + # 情缘 - if callName =="Love": + if callName == "Love": curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) if not curPlayer: return @@ -967,9 +1055,32 @@ return resultName = '%s' % ret + # 回合制 + if callName == "TurnFight": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + ret = PlayerTurnFight.MapServer_TurnFight(curPlayer, eval(resultName)) + if ret == None: + return + resultName = '%s' % ret + + # 福地 + if callName == "MineArea": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + ret = GameWorldMineArea.MapServer_MineArea(curPlayer, eval(resultName)) + if ret == None: + return + resultName = '%s' % ret + # 天星塔 if callName == "SkyTower": - ret = GameWorldSkyTower.MapServer_SkyTowerInfo(eval(resultName)) + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + ret = GameWorldSkyTower.MapServer_SkyTowerInfo(curPlayer, eval(resultName)) if ret == None: return resultName = '%s' % ret @@ -980,7 +1091,10 @@ # if not curPlayer: # return # resultName = '%s' % PlayerFamilyStore.DoMapServerFamilyStore(curPlayer, eval(resultName), tick) - + + if not srcPlayerID: + return + srcPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) if not srcPlayer: -- Gitblit v1.8.0