ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -41,6 +41,7 @@
import PyGameDataStruct
import PyDataManager
import PlayerControl
import CrossRealmMsg
import CommFunc
import PyGameData
import PlayerGeTui
@@ -529,16 +530,33 @@
##--------------------------------------------------------------------------------------------------
def CrossServerMsg_DropGoodItem(msgList, tick):
    ## 收到跨服服务器同步的掉落好物品信息
    playerID = msgList[0]
    curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
    if curPlayer:
        msgList[1] = curPlayer.GetName() # 本服玩家在线,修改为本服玩家的名字展示
    OnKillBossDropGoodItem(msgList, tick)
    return
def OnKillBossDropGoodItem(msgList, tick):
    # playerName, mapID, npcID, itemID, userData
    if len(msgList) != 7:
    if len(msgList) != 8:
        return
    playerID, killerName, mapID, npcID, itemID, userData, weightValue = msgList
    GameWorld.DebugLog("击杀Boss掉落好物品: mapID=%s,npcID=%s,killerName=%s,itemID=%s, userData=%s, weightValue=%s"
                       % (mapID, npcID, killerName, itemID, userData, weightValue))
    playerID, killerName, mapID, npcID, itemID, userData, weightValue, serverGroupID = msgList
    GameWorld.DebugLog("击杀Boss掉落好物品: mapID=%s,npcID=%s,killerName=%s,itemID=%s, userData=%s, weightValue=%s, serverGroupID=%s"
                       % (mapID, npcID, killerName, itemID, userData, weightValue, serverGroupID))
    maxRecordCnt = IpyGameDataPY.GetFuncCfg('DropRecordNum')
    if not maxRecordCnt:
        return
    if GameWorld.IsCrossServer():
        # 同步到玩家对应子服
        if not serverGroupID:
            return
        CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_DropGoodItem, msgList, [serverGroupID])
        return
    recType = ShareDefine.Def_UniversalGameRecType_BossDropGoodItemInfo
    universalRecMgr = GameWorld.GetUniversalRecMgr()
    recordList = universalRecMgr.GetTypeList(recType)
@@ -568,6 +586,9 @@
        
    PlayerUniversalGameRec.MapServer_UniversalGameRec(None, recType, [mapID, npcID, itemID, playerID, weightValue],
                                                      [killerName, "", userData])
    msgList = [killerName, playerID, mapID, npcID, itemID, userData]
    PlayerControl.WorldNotify(0, 'DropRecord' , msgList)
    return