From 02a9f1326fd99fc60ee14c70bb55d714803607f0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 08 七月 2019 15:25:56 +0800
Subject: [PATCH] 4438 【主干】【2.0.200】打boss状态下发起匹配可以进入跨服,回来后归属不会清,boss不会回血
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py | 23 ++++++++++++++++-------
1 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py
index 62c7c82..96adcd2 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py
@@ -27,6 +27,7 @@
import PlayerSocial
import copy
import PlayerViewCache
+import PlayerTeam
#---------------------------------------------------------------------
@@ -75,13 +76,12 @@
return
if not tagPlayer:
- curCache = PlayerViewCache.ViewCacheMgr.FindCache(curTagPlayerID)
+ curCache = PlayerViewCache.FindViewCache(curTagPlayerID)
if not curCache:
#玩家的数据没有缓存过
PlayerControl.NotifyCode(curPlayer, 'Friend_OffLine')
return
- cacheDict = eval(curCache.GetPropData())
- tagLV = cacheDict["LV"]
+ tagLV = curCache.LV
else:
tagLV = tagPlayer.GetLV()
@@ -146,6 +146,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 +223,7 @@
tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(friendID)
if tagPlayer != None:
PlayerControl.NotifyCode(tagPlayer, 'Friend_DeleteFriend2', [curPlayer.GetName()])
+ PlayerTeam.OnTeamMemFriendChange(curPlayer, friendID, False)
return
@@ -256,7 +264,7 @@
srcPlayer = playerManager.FindPlayerByID(srcPlayerID)
if srcPlayer == None:
# 玩家已下线
- curCache = PlayerViewCache.ViewCacheMgr.FindCache(srcPlayerID)
+ curCache = PlayerViewCache.FindViewCache(srcPlayerID)
if not curCache:
#玩家的数据没有缓存过
#PlayerControl.NotifyCode(curPlayer, 'Friend_OffLine')
@@ -314,10 +322,11 @@
PlayerControl.NotifyCode(srcPlayer, 'Friend_MakeFriend', [curPlayer.GetName()])
#srcPlayer.MapServer_QueryPlayerResult(0, 0, 'AddFriendSucceed', "", 0)
else:
- cacheDict = eval(curCache.GetPropData())
+ cacheDict = PlayerViewCache.GetCachePropDataDict(curCache)
PlayerControl.NotifyCode(curPlayer, 'Friend_MakeFriend', [cacheDict['Name']])
# 记录等对方上线通知地图,任务等会用到触发逻辑,通用记录次数即可, MapServer_SyncFriendInfo为具体的好友数量,根据策划需求制作
pass
+ PlayerTeam.OnTeamMemFriendChange(curPlayer, srcPlayerID, True)
return
@@ -382,10 +391,10 @@
tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagID)
if not tagPlayer:
- curCache = PlayerViewCache.ViewCacheMgr.FindCache(tagID)
+ curCache = PlayerViewCache.FindViewCache(tagID)
if not curCache:
return
- cacheDict = eval(curCache.GetPropData())
+ cacheDict = PlayerViewCache.GetCachePropDataDict(curCache)
playerName = cacheDict['Name']
else:
playerName = tagPlayer.GetName()
--
Gitblit v1.8.0