From c0146533c921960d5ce6640446b42c1e38df3629 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 15 三月 2019 19:54:22 +0800
Subject: [PATCH] 6332 【后端】【2.0】主要是拍品相关规则调整及背包优化(掉落的暂时默认拍品)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py |  104 +++++++++++++++++++++++++---------------------------
 1 files changed, 50 insertions(+), 54 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
index 13df705..8c1feaa 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
@@ -39,19 +39,15 @@
 import PlayerFamilyBoss
 #import PlayerManorWar
 import PlayerBourse
-import GameWorldActionTeHui
+import PlayerZhuXianBoss
 import PlayerXMZZ
-import GameWorldMergePK
 import GameWorldShopItem
-import MergeChildMsg
 import PlayerTruck
-import PlayerMergeEvent
 import HighLadder
 import EventReport
-import MergePlayer
 import PlayerCompensation
 import PlayerFamilyRedPacket
-import PlayerFamilyStore
+#import PlayerFamilyStore
 import PyDataManager
 import PlayerSocial
 import PlayerFamilyParty
@@ -70,9 +66,20 @@
 import PyGameData
 import GMShell
 import IPY_PlayerDefine
+import CrossRealmPK
+import AuctionHouse
 #---------------------------------------------------------------------
 
 #---------------------------------------------------------------------
+
+def DoRefreshMainServerRole(curPlayer):
+    ## 刷新本服角色信息
+    
+    curTeam = curPlayer.GetTeam()
+    if curTeam:
+        PlayerTeam.Sync_TeamMemberInfo(curTeam)
+    return
+
 ## 玩家登录初始化(封包参数)
 #  @param index 玩家索引
 #  @param tick 当前时间
@@ -106,6 +113,20 @@
     InitPlayerOnLineReply(curPlayer, tick)
     # 统计登入人数
     GameDataRecord.PlayerLoginRecord(curPlayer, tick)
+    __DoPlayerLoginServer(curPlayer, tick)
+    
+    #通知地图服务器自己初始化成功
+    curPlayer.MapServer_InitOK()
+    return
+
+def __DoPlayerLoginServer(curPlayer, tick):
+    ''' 玩家登录需要处理的内容,本服及跨服服务器分开
+    '''
+    if GameWorld.IsCrossServer():
+        #跨服PK
+        CrossRealmPK.OnPlayerLoginCrossServer(curPlayer)
+        return
+    
     #玩家家族刷新
     #家族任务需要刷新 FamilyLV, 地图服务器需要知道FamilyLV来通知玩家家族任务次数 
     PlayerFamily.PlayerLoginRefreshFamily(curPlayer, tick)
@@ -126,26 +147,19 @@
         # 通知广播信息
         GMCommon.SendBroadCastToClient(curPlayer)
     
-    
-        # 在非跨服服务器上线时,在跨服PK赛期间如果roomID不为0则重置
-        #if not GameWorld.IsMergeServer() and GameWorldMergePK.IsMergePKMatchOpen() \
-        #    and curPlayer.GetVsRoomId() != 0:
-        #    PlayerControl.SetVsRoomId(curPlayer, 0)
-    
         PlayerTruck.SyncPlayerTruckStartTime(curPlayer)
         #通知玩家交易所挂单情况
         PlayerBourse.OnPlayerLogin(curPlayer)
-
+        #拍卖行
+        AuctionHouse.OnPlayerLogin(curPlayer)
+        
         #上线广播
         __CheckWorldNotifyOnLogin(curPlayer, tick)
-        #上线奖励处理
-        #PlayerMergeEvent.MergeEventOnPlayerLogin(curPlayer)
-        #MergePlayer.OnPlayerLogin(curPlayer)
         
         #仙盟红包
         PlayerFamilyRedPacket.OnPlayerLogin(curPlayer)
         #仙盟仓库
-        PlayerFamilyStore.OnPlayerLogin(curPlayer)
+        #PlayerFamilyStore.OnPlayerLogin(curPlayer)
         #仙盟宴会
         PlayerFamilyParty.OnPlayerLogin(curPlayer)
         #封魔坛
@@ -170,12 +184,14 @@
         GameWorldActionControl.OnPlayerLogin(curPlayer)
         #玩家等级记录
         PyGameData.g_todayPlayerLVDict[curPlayer.GetID()] = curPlayer.GetLV()
+        #副本助战
+        PlayerFBHelpBattle.OnHelpPlayerLogin(curPlayer)
+        #跨服PK
+        CrossRealmPK.OnPlayerLogin(curPlayer)
+        #诛仙BOSS
+        PlayerZhuXianBoss.OnPlayerLogin(curPlayer)
         
-        GMShell.OnPlayerLogin(curPlayer)
         GMT_CTG.OnPlayerLogin(curPlayer)
-        
-    #通知地图服务器自己初始化成功
-    curPlayer.MapServer_InitOK()
     return
 
 ## 增加高手玩家上线广播
@@ -183,7 +199,7 @@
 #  @return None
 def __CheckWorldNotifyOnLogin(curPlayer, tick):
     # 跨服服务器不广播
-    if GameWorld.IsMergeServer():
+    if GameWorld.IsCrossServer():
         return
     
     limitLV = IpyGameDataPY.GetFuncCfg("BillBoardPlayerLoginNotify", 2) # 最低等级限制
@@ -257,31 +273,6 @@
     diff_Time = loginTime - logoffTime
     #天数 * 24小时 * 60 分钟 + 秒
     return diff_Time.days * 24 * 60 * 60 + diff_Time.seconds
-
-## 统计客户端跨服赛激活时间
-#  @param index 玩家索引
-#  @return None
-def SendMergeWarOpen(curPlayer):
-    # 发送跨服赛服务器信息
-    mapConfig = GameConfig.GetConfig()
-    mergeServerIP = mapConfig.get("MergeServerIP")
-    mergeServerPort = mapConfig.get("MergeServerPort")
-    if not mergeServerIP:
-        return
-    mergeServerInfo = ChPyNetSendPack.tagMergeServerInfo()
-    mergeServerInfo.ServerIPLen = len(mergeServerIP)
-    mergeServerInfo.ServerIP = mergeServerIP
-    mergeServerInfo.Port = mergeServerPort
-    mergeServerInfo.IsMergeServer = GameWorld.IsMergeServer()
-    NetPackCommon.SendFakePack(curPlayer, mergeServerInfo)
-    return
-
-## 跨服赛通知奖励
-#  @param curPlayer: 玩家实例
-#  @return: None
-def MSGetReward(curPlayer):
-    #PlayerCanGetReward.SynClient_CanGetRewardList(curPlayer)
-    return
 
 ## 运营登陆信息处理
 #  @param curPlayer
@@ -513,7 +504,7 @@
 def __Func_PlayerDisconnect(curPlayer, tick):
     
     #跨服匹配PK
-    #GameWorldMergePK.OnLeaveServer(curPlayer)
+    CrossRealmPK.OnLeaveServer(curPlayer)
     
     #组队玩家离线
     PlayerTeam.DoPlayerLogOffTeamLogic(curPlayer, tick)
@@ -524,8 +515,8 @@
     PlayerGeTui.NewGuyCallBackGeTui(curPlayer, tick)
     # 设置家族成员离线时间
     SetPlayerOfflineTime(curPlayer)
-    
-    #MergePlayer.OnPlayerLeaveGotoMergeServer(curPlayer, tick)
+    #拍卖行
+    AuctionHouse.OnPlayerLeaveServer(curPlayer)
     #------------镖车逻辑
     #TruckPlayerDisconnectProcess(curPlayer, tick)
     return
@@ -663,7 +654,10 @@
         
     elif packType == IPY_GameServer.CDBPlayerRefresh_ExAttr11:
         PlayerControl.SetTodayXianyuanCoin(curPlayer, packValue)
-
+        
+    elif packType == IPY_GameServer.CDBPlayerRefresh_ExAttr13:
+        PlayerControl.SetPlayerServerGroupID(curPlayer, packValue)
+        
     elif packType == IPY_GameServer.CDBPlayerRefresh_OperateInfo:
         curPlayer.SetOperateInfo(packValue);
     
@@ -787,7 +781,7 @@
 #===============================================================================
     #自己已经初始化成功
     curPlayer.SetInitOK(True)
-    
+    GMShell.OnPlayerLogin(curPlayer)
     #发送请求至目标地图(任务需要登陆家族长触发事件)
     __RefreshFamilyToMapServer(curPlayer)
     return
@@ -913,11 +907,13 @@
     fblinePack = ChPyNetSendPack.tagGCFBLinePlayerCnt()
     fblinePack.MapID = tagMapID
     fblinePack.FBLineInfoList = []
-    for lineID, playerCnt in fbLinePlayerCntDict.items():
+    for lineID, infoList in fbLinePlayerCntDict.items():
         mapLineState = ChPyNetSendPack.tagGCFBLineInfo()
         mapLineState.Clear()
         mapLineState.FBLineID = lineID
-        mapLineState.PlayerCnt = playerCnt
+        mapLineState.PlayerCnt = infoList[0] if infoList else 0
+        mapLineState.ExtraStr = infoList[1] if len(infoList) > 1 else ''
+        mapLineState.ExtraStrLen = len(mapLineState.ExtraStr)
         fblinePack.FBLineInfoList.append(mapLineState)
     
     fblinePack.Count = len(fblinePack.FBLineInfoList)

--
Gitblit v1.8.0