| | |
| | | import ShareDefine
|
| | | import ChConfig
|
| | | import FBCommon
|
| | | import operator
|
| | | import random
|
| | |
|
| | |
|
| | | ## 逻辑实现
|
| | |
| | | GameWorld.DebugAnswer(curPlayer, "设置阵营积分: CrossBattle 4 总积分 [可选阵营ID]")
|
| | | GameWorld.DebugAnswer(curPlayer, "重新随机大奖: CrossBattle 5")
|
| | | GameWorld.DebugAnswer(curPlayer, "复活阵营守卫: CrossBattle 6")
|
| | | GameWorld.DebugAnswer(curPlayer, "虚拟参与玩家: CrossBattle 7 阵营ID 人数 积分")
|
| | | GameWorld.DebugAnswer(curPlayer, "输出阵营玩家: CrossBattle 8 阵营ID")
|
| | | GameWorld.DebugAnswer(curPlayer, "可选玩家/阵营ID没填则默认自身")
|
| | | return
|
| | |
|
| | |
| | | GameWorld.DebugAnswer(curPlayer, "复活阵营守卫! %s" % rebornNPCIDList)
|
| | | return
|
| | |
|
| | | # 虚拟参与玩家
|
| | | if value1 == 7:
|
| | | faction = cmdList[1] if len(cmdList) > 1 else 1
|
| | | playerCount = cmdList[2] if len(cmdList) > 2 else 0
|
| | | score = cmdList[3] if len(cmdList) > 3 else 0
|
| | | |
| | | fakePlayerID = 1000 # 假玩家ID
|
| | | for f in [1, 2]:
|
| | | fObj = GameLogic_CrossBattlefield.GetBattleFactionObj(f)
|
| | | for playerID in fObj.factionPlayerDict.keys():
|
| | | if playerID >= 10000:
|
| | | continue
|
| | | if playerID > fakePlayerID:
|
| | | fakePlayerID = playerID
|
| | | |
| | | factionObj = GameLogic_CrossBattlefield.GetBattleFactionObj(faction)
|
| | | |
| | | for _ in xrange(playerCount):
|
| | | fakePlayerID += 1
|
| | | battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(fakePlayerID)
|
| | | battleObj.job = random.randint(1, 2)
|
| | | battleObj.accID = "fakeAccID%s@test@s86" % fakePlayerID
|
| | | battleObj.name = "fakeName%s" % fakePlayerID
|
| | | battleObj.realmLV = random.randint(10, 20)
|
| | | battleObj.fightPower = random.randint(10000000, 20000000)
|
| | | |
| | | battleObj.faction = faction
|
| | | battleObj.factionObj = factionObj
|
| | | if fakePlayerID not in factionObj.factionPlayerDict:
|
| | | factionObj.factionPlayerDict[fakePlayerID] = battleObj
|
| | | |
| | | battleObj.addPlayerScore(None, score)
|
| | | |
| | | GameWorld.DebugAnswer(curPlayer, "虚拟参与玩家阵营(%s),人数(%s),积分(%s)" % (faction, playerCount, score))
|
| | | return
|
| | | |
| | | # 输出阵营玩家
|
| | | if value1 == 8:
|
| | | printFaction = cmdList[1] if len(cmdList) > 1 else 0
|
| | | for faction in [1, 2]:
|
| | | if printFaction and printFaction != faction:
|
| | | continue
|
| | | factionObj = GameLogic_CrossBattlefield.GetBattleFactionObj(faction)
|
| | | |
| | | factionObj.battlePlayerSortList = factionObj.factionPlayerDict.values()
|
| | | factionObj.battlePlayerSortList.sort(key=operator.attrgetter("score", "scoreSortTime"), reverse=True)
|
| | | GameWorld.DebugAnswer(curPlayer, "------ 阵营(%s),人数(%s) ------" % (faction, len(factionObj.battlePlayerSortList)))
|
| | | |
| | | for num, batObj in enumerate(factionObj.battlePlayerSortList, 1):
|
| | | battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(batObj.playerID)
|
| | | playerID = battleObj.playerID
|
| | | playerName = battleObj.name.decode(GameWorld.GetCharacterEncoding()).encode(ShareDefine.Def_Game_Character_Encoding)
|
| | | score = battleObj.score
|
| | | superItemContribution = battleObj.superItemContribution
|
| | | GameWorld.DebugAnswer(curPlayer, " %s %s:%s,得分:%s,贡献:%s" % (num, playerName, playerID, score, superItemContribution))
|
| | | |
| | | return
|
| | | |
| | | |
| | | return
|