From bc9e2ca58aa69066ddf2e44f6d7cc81836a84445 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 16 十二月 2024 15:33:25 +0800
Subject: [PATCH] 10297 【越南】【英语】【砍树】【tqxbqy】轮回殿-服务端(奖励类型增加类型3 - 消耗物品,目前支持坐骑经验丹、灵宠经验丹)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
index bd0de0c..1dd27a2 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
@@ -687,9 +687,8 @@
#offlineValue = olMgr.GetOfflineValue(playerID, PlayerViewCache.FindViewCache(playerID))
#SyncRelatedPlayerOnlineState(playerID, offlineValue, relatedPlayerIDList)
- if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_CrossRealmPK) \
- and not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_CrossBattlefield):
- GameWorld.DebugLog("跨服相关功能未开启,不同步在线状态到跨服服务器! LV=%s" % curPlayer.GetLV(), curPlayer.GetPlayerID())
+ if curPlayer.GetLV() < 50:
+ #GameWorld.DebugLog("跨服相关功能未开启,不同步在线状态到跨服服务器! LV=%s" % curPlayer.GetLV(), curPlayer.GetPlayerID())
return
cacheBase = PlayerViewCache.GetSyncCrossCacheBase(curPlayer)
@@ -713,7 +712,13 @@
# 上线
if isOnline:
- PlayerPackData.OnPlayerLogin_CrossLogic(serverGroupID, serverID, playerID)
+ # 需要管理跨服在线状态时,默认需要同步缓存信息
+ syncStateInfo = {"playerID":playerID, "ViewCacheCross":1}
+ packDataMgr = PyDataManager.GetDBPlayerPackDataManager()
+ if playerID in packDataMgr.playerPackDataDict:
+ syncStateInfo["PackDataCross"] = 1
+ CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_PlayerPackDataState, syncStateInfo, [serverGroupID])
+
GameXiangong.OnPlayerLogin_CrossLogic(serverGroupID, serverID, playerID)
# 下线
@@ -840,6 +845,7 @@
packValue = playerStatePack.GetValue()
packValueEx = playerStatePack.GetValueEx()
packType = playerStatePack.GetType()
+ #packValueTotal = packValue + packValueEx * ChConfig.Def_PerPointValue
#---特殊逻辑处理---
if packType == ShareDefine.CDBPlayerRefresh_ForbidenTalk:
@@ -849,7 +855,11 @@
if packType == ShareDefine.CDBPlayerRefresh_ExAttr17:
PlayerControl.SetPlayerAccState(curPlayer, packValue)
return
-
+
+ if packType == ShareDefine.CDBPlayerRefresh_ExAttr19:
+ PlayerControl.SetLeaveFamilyTimeEx(curPlayer, packValue)
+ return
+
if packType == IPY_GameServer.CDBPlayerRefresh_State:
# 脱机在线
PlayerControl.SetIsTJG(curPlayer, packValue)
--
Gitblit v1.8.0