| | |
| | | import PlayerUniversalGameRec
|
| | | import PlayerCompensation
|
| | | import IpyGameDataPY
|
| | | import MergePlayer
|
| | | import PyGameDataStruct
|
| | | import PyDataManager
|
| | | import PlayerControl
|
| | |
| | | #
|
| | | # return
|
| | |
|
| | | #// A9 04 查询boss信息 #tagCGQueryBossInfo
|
| | | #
|
| | | #
|
| | | #struct tagCGQueryBossInfo
|
| | | #{
|
| | | # tagHead Head;
|
| | | # BYTE Count; //数量
|
| | | # DWORD BossIDList[Count]; //boosid
|
| | | #};
|
| | | def OnQueryBossInfo(index, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | bossIDList = clientData.BossIDList
|
| | | Sync_BossInfo(curPlayer, bossIDList)
|
| | | return
|
| | |
|
| | |
|
| | | ## 同步boss相关信息
|
| | |
| | | if lvLimit[0] <= findLV <= lvLimit[1]:
|
| | | playerCntDict[bossid] = playerCntDict.get(bossid, 0) + 1
|
| | | GameWorld.DebugLog(' boss等级信息对应本服在线人数 %s' % playerCntDict)
|
| | | |
| | | # 此处需要统计累加当前在跨服服务器的玩家
|
| | | mergeServerOnlinePlayerDict = MergePlayer.GetMergeServerOnlinePlayerInfo()
|
| | | for playerInfo in mergeServerOnlinePlayerDict.values():
|
| | | findLV = playerInfo[MergePlayer.Def_MSOLPlayer_LV]
|
| | | for bossid, lvLimit in bossRebornDict.items():
|
| | | if lvLimit[0] <= findLV <= lvLimit[1]:
|
| | | playerCntDict[bossid] = playerCntDict.get(bossid, 0) + 1
|
| | | GameWorld.DebugLog(' boss等级信息对应本服及跨服在线人数 %s' % playerCntDict)
|
| | |
|
| | | for bossid, curOnlineCnt in playerCntDict.items():
|
| | | SetBossOnlineHeroCnt(bossid, curOnlineCnt)
|
| | |
| | | if curMember.GetFamilyLV() == IPY_GameServer.fmlMember:
|
| | | GameWorld.DebugLog("普通成员无法召集!", playerID)
|
| | | return
|
| | | PlayerControl.FamilyNotify(curFamily.GetID(), "FairyGrabBossHelp", [npcID])
|
| | | PlayerControl.FamilyNotify(curFamily.GetID(), "FairyGrabBossHelp", [curPlayer.GetName(), npcID])
|
| | | return
|
| | |
|