xdh
2019-03-07 bd042c2dfd7d7b9cc7a40a6a3e149c52f6c7e87d
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py
@@ -27,6 +27,8 @@
import PlayerSocial
import copy
import PlayerViewCache
import PlayerTeam
import json
#---------------------------------------------------------------------
@@ -80,7 +82,7 @@
            #玩家的数据没有缓存过
            PlayerControl.NotifyCode(curPlayer, 'Friend_OffLine')
            return
        cacheDict = eval(curCache.GetPropData())
        cacheDict = json.loads(curCache.GetPropData())
        tagLV = cacheDict["LV"]
    else:
        tagLV = tagPlayer.GetLV()
@@ -146,6 +148,13 @@
        return curFriends
    
    return PyDataManager.GetFriendManager().AddFriends(playerID)
def IsFriend(playerID, tagPlayerID):
    ## 判断双方是否好友
    curFriends = PyDataManager.GetFriendManager().GetFriends(playerID)
    if not curFriends:
        return False
    return curFriends.Find(tagPlayerID) != None
#---------------------------------------------------------------------
##好友检查
@@ -216,6 +225,7 @@
    tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(friendID)
    if tagPlayer != None:
        PlayerControl.NotifyCode(tagPlayer, 'Friend_DeleteFriend2', [curPlayer.GetName()])
    PlayerTeam.OnTeamMemFriendChange(curPlayer, friendID, False)
    return
@@ -272,9 +282,10 @@
        GameWorld.Log("JoinFriendAnswer -> 封包异常 ->玩家没有这个请求", playerID)
        return
    
    if not clientData.Answer and srcPlayer:
        #XW_SJ_RefuseApply  XXX拒绝把你加为好友
        PlayerControl.NotifyCode(srcPlayer, 'Friend_RejectFriend', [curPlayer.GetName()])
    if not clientData.Answer:
        if srcPlayer:
            #XW_SJ_RefuseApply  XXX拒绝把你加为好友
            PlayerControl.NotifyCode(srcPlayer, 'Friend_RejectFriend', [curPlayer.GetName()])
        return
    
    # 黑名单检查
@@ -313,10 +324,11 @@
        PlayerControl.NotifyCode(srcPlayer, 'Friend_MakeFriend', [curPlayer.GetName()])
        #srcPlayer.MapServer_QueryPlayerResult(0, 0, 'AddFriendSucceed', "", 0)
    else:
        cacheDict = eval(curCache.GetPropData())
        cacheDict = json.loads(curCache.GetPropData())
        PlayerControl.NotifyCode(curPlayer, 'Friend_MakeFriend', [cacheDict['Name']])  
        # 记录等对方上线通知地图,任务等会用到触发逻辑,通用记录次数即可, MapServer_SyncFriendInfo为具体的好友数量,根据策划需求制作
        pass
    PlayerTeam.OnTeamMemFriendChange(curPlayer, srcPlayerID, True)
    return
@@ -384,7 +396,7 @@
        curCache = PlayerViewCache.ViewCacheMgr.FindCache(tagID)
        if not curCache:
            return
        cacheDict = eval(curCache.GetPropData())
        cacheDict = json.loads(curCache.GetPropData())
        playerName = cacheDict['Name']
    else:
        playerName = tagPlayer.GetName()