hxp
2023-09-27 e6062b42c1191e9ab95e000a38276634eff0e1f1
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