From e6062b42c1191e9ab95e000a38276634eff0e1f1 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 27 九月 2023 02:57:09 +0800 Subject: [PATCH] 9949 【BT0.1】【主干】天星塔修改(全服奖励修改) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 42 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py index d8694cf..ee6738d 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py @@ -19,7 +19,11 @@ #--------------------------------------------------------------------- import GameLogic_SkyTower +import IpyGameDataPY import GameWorld +import ChConfig +import PlayerControl + #--------------------------------------------------------------------- #全局变量 #--------------------------------------------------------------------- @@ -31,12 +35,44 @@ # @param cmdList 参数列表 # @return None def OnExec(curPlayer, cmdList): - if len(cmdList) != 1: - GameWorld.DebugAnswer(curPlayer, "SetSkyTower 层") + if not cmdList: + GameWorld.DebugAnswer(curPlayer, "设置过关塔层: SetSkyTower 1 层") + GameWorld.DebugAnswer(curPlayer, "填充全服过关: SetSkyTower 2 层 过关机器人数") + GameWorld.DebugAnswer(curPlayer, "重置全服奖励: SetSkyTower 3") + GameWorld.DebugAnswer(curPlayer, "重置全服过关: SetSkyTower 4") + GameWorld.DebugAnswer(curPlayer, "注: 重置全服过关需重登") return - fbLevel = cmdList[0] - GameLogic_SkyTower.SetSkyTowerCurfloorID(curPlayer, fbLevel) + isSendGameServer = False + + cmdType = cmdList[0] + if cmdType == 1: + fbLevel = cmdList[1] if len(cmdList) > 1 else 0 + GameLogic_SkyTower.SetSkyTowerCurfloorID(curPlayer, fbLevel) + GameLogic_SkyTower.SyncSkyTowerInfo(curPlayer) + GameWorld.DebugAnswer(curPlayer, "天星塔过关数设置 floor=%s!"%fbLevel) + elif cmdType == 2: + floorID = cmdList[1] if len(cmdList) > 1 else 0 + #robotCount = cmdList[2] if len(cmdList) > 2 else 1 + isSendGameServer = True + ipyDataServer = IpyGameDataPY.GetIpyGameDataNotLog("SkyTowerServerChallenge", floorID) + if not ipyDataServer: + GameWorld.DebugAnswer(curPlayer, "不存在该全服奖励层:%s" % floorID) + return + elif cmdType == 3: + __ClearServerPassFloorReward(curPlayer) + + elif cmdType == 4: + isSendGameServer = True + __ClearServerPassFloorReward(curPlayer) + + return isSendGameServer - GameLogic_SkyTower.SyncSkyTowerInfo(curPlayer) - GameWorld.DebugAnswer(curPlayer, "天星塔过关数设置 floor=%s!"%fbLevel) +def __ClearServerPassFloorReward(curPlayer): + ipyDataMgr = IpyGameDataPY.IPY_Data() + for index in range(ipyDataMgr.GetSkyTowerServerChallengeCount()): + ipyDataServer = ipyDataMgr.GetSkyTowerServerChallengeByIndex(index) + floorID = ipyDataServer.GetFloorID() + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_SkyTowerServerRecord % floorID, 0) + GameLogic_SkyTower.SyncSkyTowerInfo(curPlayer, None, True) return + -- Gitblit v1.8.0