From c0c4a0880e9a0fc5d1482c1260e02ddd1b554bc9 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 12 十月 2022 14:09:02 +0800 Subject: [PATCH] 9719 【越南】【BT7】【主干】跨服全民充值 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py index e972b26..81cee13 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py @@ -585,6 +585,10 @@ if actName == ShareDefine.CrossActName_LuckyCloudBuy: import CrossLuckyCloudBuy CrossLuckyCloudBuy.OnLuckyCloudBuyReset(ipyData, state) + elif actName == ShareDefine.CrossActName_AllRecharge: + import CrossActAllRecharge + CrossActAllRecharge.OnActIDChange(ipyData, state) + return def Sync_CrossActInfoToClientServer(serverGroupID=0): @@ -633,6 +637,26 @@ return +def GetPlayerCrossActInfo(curPlayer, actName): + ## 获取跨服玩家对应的跨服活动信息 + actInfoDict = PyGameData.g_crossActInfoDict.get(actName, {}) + if not actInfoDict: + return {} + playerServerID = GameWorld.GetPlayerServerID(curPlayer) + for actInfo in actInfoDict.values(): + if not actInfo.get(ShareDefine.ActKey_State, 0): + continue + if ShareDefine.ActKey_ServerIDRangeList not in actInfo: + continue + serverIDRangeList = actInfo[ShareDefine.ActKey_ServerIDRangeList] + if not serverIDRangeList: + # 全服开启 + return actInfo + for serverIDA, serverIDB in serverIDRangeList: + if serverIDA <= playerServerID <= serverIDB: + return actInfo + return {} + def SendMapServerCrossActionState(): # 地图启动成功时通知跨服活动相关状态 - 本服地图,跨服地图不需要通知 -- Gitblit v1.8.0