From 0c27822ef5e6c67782ed143a4ff03ecfbdfda1fb Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 23 五月 2022 16:52:58 +0800 Subject: [PATCH] 9415 【BT】【后端】古神战场(副本内功能完整版本) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py | 85 ++++++++++++++++++------------------------ 1 files changed, 37 insertions(+), 48 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py index 6fe7508..cf66546 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py +++ b/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 -- Gitblit v1.8.0