hxp
2022-02-21 0c27822ef5e6c67782ed143a4ff03ecfbdfda1fb
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py
@@ -30,11 +30,12 @@
    
    if not cmdList:
        GameWorld.DebugAnswer(curPlayer, "--------------------------------")
        GameWorld.DebugAnswer(curPlayer, "设置玩家击杀: CrossBattle 1 击杀数 [可选玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "设置玩家积分: CrossBattle 2 总积分 [可选玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "设置阵营击杀: CrossBattle 3 击杀数 [可选阵营ID]")
        GameWorld.DebugAnswer(curPlayer, "设置玩家积分: CrossBattle 1 总积分 [可选玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "设置玩家击杀: CrossBattle 2 击杀数 [可选玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "设置玩家贡献: CrossBattle 3 贡献度 [可选玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "设置阵营积分: CrossBattle 4 总积分 [可选阵营ID]")
        GameWorld.DebugAnswer(curPlayer, "重置大奖信息: CrossBattle 5 [可选是否重新随机]")
        GameWorld.DebugAnswer(curPlayer, "重新随机大奖: CrossBattle 5")
        GameWorld.DebugAnswer(curPlayer, "复活阵营守卫: CrossBattle 6")
        GameWorld.DebugAnswer(curPlayer, "可选玩家/阵营ID没填则默认自身")
        return
    
@@ -45,38 +46,35 @@
    if value1 in [1, 2, 3, 4, 5, 6] and not GameWorld.IsCrossServer() or mapID != ChConfig.Def_FBMapID_CrossBattlefield:
        GameWorld.DebugAnswer(curPlayer, "该命令需在跨服战场使用CrossServer发送")
        return
    # 设置玩家击杀
    if value1 == 1:
        setCount = cmdList[1] if len(cmdList) > 1 else 1
        tagPlayerID = cmdList[2] if len(cmdList) > 2 else playerID
        battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(tagPlayerID)
        battleObj.killCount = setCount
        GameWorld.DebugAnswer(curPlayer, "玩家(%s)击杀数: %s" % (tagPlayerID, battleObj.killCount))
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
        return
    # 设置玩家积分
    if value1 == 2:
    if value1 == 1:
        setScore = cmdList[1] if len(cmdList) > 1 else 1
        tagPlayerID = cmdList[2] if len(cmdList) > 2 else playerID
        battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(tagPlayerID)
        battleObj.score = setScore
        battleObj.addPlayerScore(curPlayer, setScore - battleObj.score)
        GameWorld.DebugAnswer(curPlayer, "玩家(%s)积分: %s" % (tagPlayerID, battleObj.score))
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
        return
    
    # 设置阵营击杀
    if value1 == 3:
    # 设置玩家击杀
    if value1 == 2:
        setCount = cmdList[1] if len(cmdList) > 1 else 1
        tagFaction = cmdList[2] if len(cmdList) > 2 else 0
        if not tagFaction or tagFaction not in ShareDefine.CampTypeList:
            battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(playerID)
            tagFaction = battleObj.faction
        factionObj = GameLogic_CrossBattlefield.GetBattleFactionObj(tagFaction)
        factionObj.killCount = setCount
        GameWorld.DebugAnswer(curPlayer, "阵营(%s)击杀数: %s" % (tagFaction, factionObj.killCount))
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
        tagPlayerID = cmdList[2] if len(cmdList) > 2 else playerID
        battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(tagPlayerID)
        battleObj.addKillCount(setCount - battleObj.killCount)
        GameWorld.DebugAnswer(curPlayer, "玩家(%s)击杀数: %s, 连杀数: %s" % (tagPlayerID, battleObj.killCount, battleObj.continueKillCount))
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
        return
    # 设置玩家贡献度
    if value1 == 3:
        setProgress = cmdList[1] if len(cmdList) > 1 else 1
        tagPlayerID = cmdList[2] if len(cmdList) > 2 else playerID
        battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(tagPlayerID)
        battleObj.addSuperItemContribution(setProgress - battleObj.superItemContribution)
        GameWorld.DebugAnswer(curPlayer, "玩家(%s)贡献度: %s" % (tagPlayerID, battleObj.superItemContribution))
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
        return
    
    # 设置阵营积分
@@ -87,32 +85,23 @@
            battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(playerID)
            tagFaction = battleObj.faction
        factionObj = GameLogic_CrossBattlefield.GetBattleFactionObj(tagFaction)
        factionObj.score = setScore
        factionObj.addFactionScore(setScore - factionObj.score)
        GameWorld.DebugAnswer(curPlayer, "阵营(%s)积分: %s" % (tagFaction, factionObj.score))
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
        return
    
    # 重置大奖信息
    if value1 == 5:
        isRand = cmdList[1] if len(cmdList) > 1 else 1
        worldObj = GameLogic_CrossBattlefield.GetBattleWorld()
        worldObj.superItemPlayerID = 0
        worldObj.superItemPlayerName = ""
        if isRand:
            worldObj.RandSuperTask()
        for faction in ShareDefine.CampTypeList:
            if not faction:
                continue
            factionObj = GameLogic_CrossBattlefield.GetBattleFactionObj(faction)
            factionObj.superTaskValue = 0
            factionObj.superTaskFinishCount = 0
            factionObj.setSuperTaskValueMax(worldObj)
            for battleObj in factionObj.factionPlayerDict.values():
                battleObj.superTaskValue = 0
                battleObj.superTaskFinishCount = 0
                battleObj.setSuperTaskValueMax(worldObj)
        GameWorld.DebugAnswer(curPlayer, "重置大奖信息OK!")
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
        worldObj.RandSuperTask()
        GameWorld.DebugAnswer(curPlayer, "重新随机大奖OK! %s" % worldObj.superItemInfo)
        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
        return
    # 复活阵营守卫
    if value1 == 6:
        rebornNPCIDList = GameLogic_CrossBattlefield.rebornGurad()
        GameWorld.DebugAnswer(curPlayer, "复活阵营守卫! %s" % rebornNPCIDList)
        return
    
    return