From 7632b24f39307abde211c8490391c691cfd0fd1c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 02 一月 2024 10:54:51 +0800 Subject: [PATCH] 10077 游戏代币方案(10028 【港台】港台0.1折9997代币购买处理) --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py | 161 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 147 insertions(+), 14 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py index 34ceaf6..23652a3 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py @@ -34,6 +34,7 @@ import ChConfig import GMCommon import DirtyList +import CrossBillboard import PlayerBillboard import PlayerExam import PlayerControl @@ -50,6 +51,7 @@ import GameWorldBoss import GameWorldFamilyWar #import PlayerFamilyTech +import PlayerFamilyZhenfa import PlayerFamilyRedPacket import PlayerFBHelpBattle import PlayerHorsePetBoss @@ -66,15 +68,27 @@ import PyGameData import PlayerTalk import PlayerStore +import CrossYaomoBoss import CrossRealmPlayer import CrossRealmMsg import CrossRealmPK +import CrossChampionship +import CrossBattlefield +import CrossFamilyFlagwar +import CrossActAllRecharge import ChPyNetSendPack import NetPackCommon import AuctionHouse +import PlayerFairyDomain +import GameWorldSkyTower +import GameWorldArena +import GameWorldItem +import PlayerAssist +import PlayerLove import time import datetime +import json #--------------------------------------------------------------------- #全局变量 #--------------------------------------------------------------------- @@ -491,15 +505,28 @@ callName = pack.GetCallName() resultName = pack.GetResultName() #[queryid, 人气值, 物品ID] + if callName == "PlayerRealLoginOK": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + loginMsg = eval(resultName) + ChPlayer.DoPlayerRealLoginOK(curPlayer, loginMsg, tick) + 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": PlayerCompensation.SendPersonalItemMailBatch(eval(resultName)) + return + + if callName == "SendEntireMail": + mailTypeKey, getDays, limitLV, limitLVType, addItemList, paramList, gold, goldPaper, silver, detail, moneySource = eval(resultName) + PlayerCompensation.SendEntireMail(mailTypeKey, getDays, limitLV, limitLVType, addItemList, paramList, gold, goldPaper, silver, detail, moneySource) return if callName == "SendMsgToCrossServer": @@ -538,6 +565,10 @@ if callName == "UpdateBillboard": #地图服务器更新排行榜 PlayerBillboard.MapServer_UpdateBillboard(eval(resultName), tick) return + + if callName == "UpdateCrossBillboard": #地图服务器更新跨服排行榜 + CrossBillboard.MapServer_UpdateCrossBillboard(eval(resultName)) + return if callName == 'PyAddFamilyInfoValue': #地图服务器增加战盟信息值 curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) @@ -552,6 +583,13 @@ if callName == 'ExitExam': #地图服务器玩家退出答题 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': @@ -593,6 +631,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) @@ -622,6 +665,29 @@ #跨服注册结果 if callName == "CrossRealmReg": 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 #py喇叭聊天 @@ -668,12 +734,6 @@ return - # 战盟副本boss开始、被击杀 - if callName =="FamilyBossFBState": - PlayerFamilyBoss.FamilyBossOnKilled(eval(resultName), tick) - return - - # 击杀boss掉落好物品 if callName =="BossDropGoodItem": GameWorldBoss.OnKillBossDropGoodItem(eval(resultName), tick) @@ -710,6 +770,11 @@ # 全局击杀数统计 if callName =="GlobalKillCount": GameWorldProcess.UpdGlobalKillCount(eval(resultName)) + return + + # 缓存装备广播信息中的装备明细信息 + if callName == "NotifyEquipDetailInfo": + GameWorldItem.OnCacheNotifyEquipDetailInfo(json.loads(resultName), tick) return #生成仙盟红包 @@ -771,15 +836,25 @@ AuctionHouse.MapServer_AuctionHouseLogic(curPlayer, eval(resultName), tick) return + # 协助 + if callName == "PlayerAssist": + curPlayer = None + if srcPlayerID: + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + PlayerAssist.MapServer_PlayerAssistLogic(curPlayer, eval(resultName), tick) + return + if callName == "TeamMemFuncData": PlayerTeam.MapServer_TeamMemFuncData(srcPlayerID, eval(resultName)) return - #封魔坛结束 - if callName == "SealDemonOver": - playerID, lineID, rank = eval(resultName) - PyDataManager.GetSealDemonRecordManager().UpdateSealDemonRecord(playerID,lineID,rank) - return +# #封魔坛结束 +# if callName == "SealDemonOver": +# playerID, lineID, rank = eval(resultName) +# PyDataManager.GetSealDemonRecordManager().UpdateSealDemonRecord(playerID,lineID,rank) +# return #查询副本功能线路人数 if callName == "FBLinePlayerCnt": @@ -835,9 +910,29 @@ 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)) + return + #缥缈仙域事件出现 + if callName =="AddFairyDomainEvent": + PlayerFairyDomain.AddFairyDomainEvent(eval(resultName)) return #---return分割线----------------------------------------------------------------- @@ -904,6 +999,41 @@ if ret == None: return resultName = '%s' % ret + + # 竞技场 + 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 '' # 需要重置间隔,每次都回复 + + # 仙盟boss + if callName =="FamilyBoss": + ret = PlayerFamilyBoss.MapServer_FamilyBoss(eval(resultName), tick) + if ret == None: + return + resultName = '%s' % ret + + # 情缘 + if callName =="Love": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + ret = PlayerLove.MapServer_Love(curPlayer, eval(resultName)) + if ret == None: + return + resultName = '%s' % ret + + # 天星塔 + if callName == "SkyTower": + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) + if not curPlayer: + return + ret = GameWorldSkyTower.MapServer_SkyTowerInfo(curPlayer, eval(resultName)) + if ret == None: + return + resultName = '%s' % ret # # 战盟仓库 # if callName == "FamilyStore": @@ -911,7 +1041,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