hxp
2024-11-25 878fef04122d1feaa0f42c429f364659931bc379
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
@@ -3715,6 +3715,8 @@
        __DoChuangong_Response(curPlayer, tagPlayerID, isOK)
        return
    
    if msgType == "ThanksGift":
        __DoChuangong_ThanksGift(curPlayer, msgData)
    return
def __CheckChuangongPlayer(curPlayer, tagPlayerID):
@@ -3734,8 +3736,26 @@
def __DoChuangong_Invite(curPlayer, tagPlayerID):
    ## 邀请
    playerID = curPlayer.GetPlayerID()
    tagPlayer = __CheckChuangongPlayer(curPlayer, tagPlayerID)
    curFamily = curPlayer.GetFamily()
    if not curFamily:
        return
    tagMember = curFamily.FindMember(tagPlayerID)
    if not tagMember:
        GameWorld.DebugLog("非盟友无法传功! tagPlayerID=%s" % tagPlayerID, curPlayer.GetPlayerID())
        return
    tagPlayer = tagMember.GetPlayer()
    if not tagPlayer:
        clientPack = ChPyNetSendPack.tagGCChuangongStart()
        clientPack.Clear()
        clientPack.PlayerID = tagMember.GetPlayerID()
        clientPack.Name = tagMember.GetName()
        clientPack.NameLen = len(clientPack.Name)
        clientPack.LV = tagMember.GetLV()
        clientPack.Job = tagMember.GetJob()
        clientPack.RealmLV = tagMember.GetOfficialRank()
        NetPackCommon.SendFakePack(curPlayer, clientPack)
        PyGameData.g_chuangongTagPlayerDict[playerID] = tagPlayerID
        GameWorld.DebugLog("对方离线,则自己直接开始传功: tagPlayerID=%s, %s" % (tagPlayerID, PyGameData.g_chuangongPlayerDict), playerID)
        return
    invitePlayerIDList = PyGameData.g_chuangongPlayerDict.get(playerID, [])
    if tagPlayerID not in invitePlayerIDList:
@@ -3791,6 +3811,27 @@
    clientPack.Job = tagPlayer.GetJob()
    clientPack.RealmLV = tagPlayer.GetOfficialRank()
    NetPackCommon.SendFakePack(curPlayer, clientPack)
    PyGameData.g_chuangongTagPlayerDict[curPlayer.GetPlayerID()] = tagPlayer.GetPlayerID()
    return
def __DoChuangong_ThanksGift(curPlayer, msgData):
    itemID = msgData[0]
    playerID = curPlayer.GetPlayerID()
    tagPlayerID = PyGameData.g_chuangongTagPlayerDict.pop(playerID, 0)
    GameWorld.DebugLog("__DoChuangong_ThanksGift tagPlayerID=%s" % tagPlayerID, playerID)
    if not tagPlayerID:
        return
    curFamily = curPlayer.GetFamily()
    if not curFamily:
        return
    tagMember = curFamily.FindMember(tagPlayerID)
    if not tagMember:
        return
    assistPlayerDict = {tagPlayerID:{"PlayerName":tagMember.GetName(), "Job":tagMember.GetJob(),
                                     "LV":tagMember.GetLV(), "RealmLV":tagMember.GetOfficialRank(),
                                     "Face":tagMember.GetFace(), "FacePic":tagMember.GetFacePic()}}
    GameWorld.DebugLog("    assistPlayerDict %s" % assistPlayerDict, playerID)
    PlayerAssist.AddNewAssistThanksEx(curPlayer, itemID, assistPlayerDict)
    return
##--------------------------------------------------------------------------------------------------