hxp
2025-06-30 388823edfe6308cba6f76ca6dc4f20022c5cb2be
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerAssist.py
@@ -232,6 +232,8 @@
    setattr(dbData, "ObjID", 0) # NPC实例ID
    setattr(dbData, "ServerGroupID", serverGroupID)
    setattr(dbData, "OffLineTime", 0) # 发布玩家离线时间戳
    setattr(dbData, "Face", 0)
    setattr(dbData, "FacePic", 0)
    
    assistType = AssistType_Unknown
    if dbData.NPCID:
@@ -247,6 +249,8 @@
def OnInitAssistThanksData(thanksMgr, dbData):
    ## 初始化协助感谢数据额外处理
    setattr(dbData, "Face", 0)
    setattr(dbData, "FacePic", 0)
    setattr(dbData, "AssistPlayerDict", {})
    if dbData.AssistPlayer and dbData.AssistPlayer.startswith("{") and dbData.AssistPlayer.endswith("}"):
        dbData.AssistPlayerDict = eval(dbData.AssistPlayer)
@@ -847,6 +851,8 @@
    # 以下是非DB字段属性
    OnInitAssistData(assistObj, isSaveDB, serverGroupID)
    assistObj.ObjID = objID
    assistObj.Face = curPlayer.GetFace()
    assistObj.FacePic = curPlayer.GetFacePic()
    
    #assistMgr = PyDataManager.GetPlayerAssistPyManager()
    assistMgr.allAssistDict[assistGUID] = assistObj
@@ -871,6 +877,8 @@
        assistInfo.Job = assistObj.Job
        assistInfo.LV = assistObj.LV
        assistInfo.RealmLV = assistObj.RealmLV
        assistInfo.Face = assistObj.Face
        assistInfo.FacePic = assistObj.FacePic
        assistInfo.MapID = assistObj.MapID
        assistInfo.LineID = assistObj.LineID
        assistInfo.NPCID = assistObj.NPCID
@@ -1200,10 +1208,40 @@
    
    assistThanksMgr = PyDataManager.GetPlayerAssistThanksPyManager()
    OnInitAssistThanksData(assistThanksMgr, newThanks)
    newThanks.Face = curPlayer.GetFace()
    newThanks.FacePic = curPlayer.GetFacePic()
    
    GameWorld.DebugLog("增加协助感谢: itemID=%s,mapID=%s,lineID=%s,npcID=%s,exData=%s" % (itemID, mapID, lineID, npcID, exData), playerID)
    return
def AddNewAssistThanksEx(curPlayer, itemID, assistPlayerDict, mapID=0, lineID=0, npcID=0, exData=""):
    ## 添加协助感谢数据,自动更新 TodayGiftCount 及 玩家信息
    DailyDateStr = GameWorld.GetDailyDateStr()
    assistThanksMgr = PyDataManager.GetPlayerAssistThanksPyManager()
    for assistPlayerID, assistPlayerInfoDict in assistPlayerDict.items():
        # 查找今日该感谢物品已接受感谢次数
        TodayGiftCount = 0
        assistPlayerThanksList = assistThanksMgr.assistPlayerThanksDict.get(assistPlayerID, [])
        for thanks in assistPlayerThanksList:
            if DailyDateStr != thanks.DailyDateStr or itemID != thanks.ItemID:
                continue
            if assistPlayerID not in thanks.AssistPlayerDict:
                continue
            infoDict = thanks.AssistPlayerDict[assistPlayerID]
            TodayGiftCount = infoDict.get("TodayGiftCount", 0)
            break
        assistPlayerInfoDict["TodayGiftCount"] = TodayGiftCount
        # 更新玩家信息,之后有需要再扩展,可以从玩家缓存或直接取在线玩家实例赋值 name job 等信息
        GameWorld.DebugLog("获取今日接受感谢次数: itemID=%s,TodayGiftCount=%s" % (itemID, TodayGiftCount), assistPlayerID)
    GameWorld.DebugLog("AddNewAssistThanksEx itemID=%s,assistPlayerDict=%s" % (itemID, assistPlayerDict), curPlayer.GetPlayerID())
    AddNewAssistThanks(curPlayer, itemID, mapID, lineID, assistPlayerDict, npcID, exData)
    return
#// B0 14 使用协助感谢礼盒 #tagCGUseAssistThanksGift
#
#struct    tagCGUseAssistThanksGift
@@ -1259,6 +1297,8 @@
            assistPlayerInfo.Job = assistPlayerInfoDict["Job"]
            assistPlayerInfo.LV = assistPlayerInfoDict["LV"]
            assistPlayerInfo.RealmLV = assistPlayerInfoDict["RealmLV"]
            assistPlayerInfo.Face = assistPlayerInfoDict.get("Face", 0)
            assistPlayerInfo.FacePic = assistPlayerInfoDict.get("FacePic", 0)
            previewPack.AssistPlayerList.append(assistPlayerInfo)
        previewPack.AssistPlayerCount = len(previewPack.AssistPlayerList)
        NetPackCommon.SendFakePack(curPlayer, previewPack)
@@ -1332,6 +1372,8 @@
        previewPack.Job = getThanks.Job
        previewPack.LV = getThanks.LV
        previewPack.RealmLV = getThanks.RealmLV
        previewPack.Face = getThanks.Face
        previewPack.FacePic = getThanks.FacePic
        previewPack.MapID = getThanks.MapID
        previewPack.LineID = getThanks.LineID
        previewPack.NPCID = getThanks.NPCID