From 4087d18ce7cbd1578a6e287962bd902386984048 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 14 七月 2025 10:55:57 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_ServerCode

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |  136 ++++++++++++++++++++++++++-------------------
 1 files changed, 79 insertions(+), 57 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 61daa51..9c84d58 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -55,7 +55,6 @@
 import PlayerGoldInvest
 import PlayerActivity
 import FBCommon
-import PlayerBindJadeWheel
 import BossHurtMng
 import PlayerWishingWell
 import PlayerAttrFruit
@@ -95,7 +94,6 @@
 import PlayerVip
 import PlayerRefineStove
 import PassiveBuffEffMng
-import PlayerDiceEx
 import GameLogic_XMZZ
 import PlayerFlashSale
 import PlayerFlashGiftbag
@@ -174,7 +172,11 @@
 import IPY_ServerDefine
 import CommFunc
 from PyMongoDB import RecvPackToMapDB
+import PyMongoMain
 import PlayerTalk
+import PlayerHero
+import PlayerOnline
+import TurnAttack
 
 import datetime
 import time
@@ -481,8 +483,6 @@
     curPlayer.SetLoginTime(GameWorld.GetCurrentDataTimeStr())
     #初始化玩家背包
     InitPlayerPack(curPlayer)
-    #通知玩家物品信息
-    __Sync_PackDetel(curPlayer)
     
     if GameWorld.IsCrossServer():
         SkillCommon.PlayerLoginMergeServerSkillLogic(curPlayer, tick)
@@ -509,6 +509,8 @@
         if PlayerControl.GetCrossMapID(curPlayer):
             PlayerControl.SetCrossMapID(curPlayer, 0)
         
+    PlayerOnline.OnPlayerLogin(curPlayer)
+    TurnAttack.OnPlayerLogin(curPlayer)
     SyncGuideState(curPlayer)
     
     #上线检查一次装备属性
@@ -524,8 +526,6 @@
     
     #通知玩家技能信息
     __Sync_ClientSkill(curPlayer)
-    #清除国家答题Buff
-    #PlayerExam.DoLogic_ExitExam(curPlayer, tick, needRefresh = False)
     #清除VIPbuff
     #BuffSkill.DelBuffBySkillID(curPlayer, ChConfig.Def_VIPExp_SkillTypeID, tick)
     
@@ -738,8 +738,6 @@
     FunctionNPCCommon.ShopItemOnLogin(curPlayer)
     # 通知设置的被动功法
     #PassiveBuffEffMng.OnLoginGFPassive(curPlayer)
-    #我要太极
-    PlayerDiceEx.DiceExOnLogin(curPlayer)
     #仙魔之争
     GameLogic_XMZZ.OnXMZZLogin(curPlayer)
     PlayerOnlinePrize.OnPlayerLogin(curPlayer)
@@ -809,8 +807,6 @@
     PlayerDogz.OnPlayerLogin(curPlayer)
     # 骑宠
     FamilyRobBoss.OnPlayerLogin(curPlayer)
-    # 绑玉转盘
-    PlayerBindJadeWheel.OnLogin(curPlayer)
     # 许愿池
     PlayerWishingWell.OnLogin(curPlayer)
     #幸运鉴宝
@@ -880,6 +876,8 @@
         pass
     
     else:
+        PyMongoMain.GetUserCtrlDB().OnPlayerLogin(curPlayer)
+        PlayerHero.OnPlayerLogin(curPlayer)
         PlayerMail.OnPlayerLogin(curPlayer)
         PlayerChatBox.OnPlayerLogin(curPlayer)
         PlayerFace.OnPlayerLogin(curPlayer)
@@ -1272,17 +1270,22 @@
     if GameWorld.GetMap().GetMapFBType() != IPY_GameWorld.fbtNull:
         #副本地图上线切换才加无敌buff
         SkillCommon.AddBuffBySkillType_NoRefurbish(curPlayer, ChConfig.Def_SkillID_LimitSuperBuff, tick)
-            
-    #刷新玩家的视野
-    if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or PlayerControl.GetCustomMapID(curPlayer)):
-        GameWorld.DebugLog("===登录本服地图时,处于跨服或自定义场景状态,不刷新视野!", curPlayer.GetPlayerID())
+        
+    #卡牌改为0视野            
+    if curPlayer.GetSightLevel() != curPlayer.GetID():
         PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
-    elif not GameWorld.IsCrossServer():
-        realmDifficulty = PlayerControl.GetMapRealmDifficulty(curPlayer)
-        if realmDifficulty:
-            GameWorld.DebugLog("===登录本服地图时,处于境界难度地图,自动设置难度! realmDifficulty=%s" % realmDifficulty, curPlayer.GetPlayerID())
-            PlayerControl.SetRealmDifficulty(curPlayer, realmDifficulty)
-            
+    if curPlayer.GetSight() != 0:
+        PlayerControl.SetSight(curPlayer, 0)
+    #刷新玩家的视野
+    #if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or PlayerControl.GetCustomMapID(curPlayer)):
+    #    GameWorld.DebugLog("===登录本服地图时,处于跨服或自定义场景状态,不刷新视野!", curPlayer.GetPlayerID())
+    #    PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
+    #elif not GameWorld.IsCrossServer():
+    #    realmDifficulty = PlayerControl.GetMapRealmDifficulty(curPlayer)
+    #    if realmDifficulty:
+    #        GameWorld.DebugLog("===登录本服地图时,处于境界难度地图,自动设置难度! realmDifficulty=%s" % realmDifficulty, curPlayer.GetPlayerID())
+    #        PlayerControl.SetRealmDifficulty(curPlayer, realmDifficulty)
+    
     PlayerState.ChangePlayerSigh(curPlayer, tick)
     
     if GameWorld.IsCrossServer():
@@ -1477,53 +1480,66 @@
 #@remarks 初始化玩家背包
 def InitPlayerPack(curPlayer) :
     itemManager = curPlayer.GetItemManager()
+
+    #设置装备实际个数,默认最大个数
+    curPack = itemManager.GetPack(IPY_GameWorld.rptEquip)
+    curPack.SetCount(curPack.GetMaxCount())
     
     #初始化玩家背包
     PlayerControl.Init_ItemPack(curPlayer)
     
     #初始化玩家仓库
-    PlayerControl.Init_Warehouse(curPlayer)
+    #PlayerControl.Init_Warehouse(curPlayer)
+    
+    #初始化鉴定背包,默认最大个数用于存放主线掉落
+    curPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptIdentify)
+    curPack.SetCount(curPack.GetMaxCount())
+    curPack.Sync_PackCanUseCount()
+    
+    #初始化英雄背包
+    PlayerControl.Init_HeroPack(curPlayer)
+    
+    #初始化临时交换背包,默认最大个数
+    curPack = itemManager.GetPack(ShareDefine.rptTempSwap)
+    curPack.SetCount(curPack.GetMaxCount())
+    
+    #初始化临时存放背包,默认最大个数
+    curPack = itemManager.GetPack(ShareDefine.rptTempItem)
+    curPack.SetCount(curPack.GetMaxCount())
     
     #初始化寻宝背包
     PlayerControl.Init_TreasurePack(curPlayer)
     
     #初始化神兽物品背包
-    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzItem)
-    curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptDogzItem))
-    curPack.Sync_PackCanUseCount()
+    #curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzItem)
+    #curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptDogzItem))
+    #curPack.Sync_PackCanUseCount()
     #初始化神兽装备背包
-    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzEquip)
-    curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptDogzEquip))
-    curPack.Sync_PackCanUseCount()
+    #curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzEquip)
+    #curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptDogzEquip))
+    #curPack.Sync_PackCanUseCount()
     #初始化垃圾分类背包
-    curPack = itemManager.GetPack(ShareDefine.rptGarbage)
-    curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptGarbage))
-    curPack.Sync_PackCanUseCount()
-    
-    #初始化临时交换背包
-    curPack = itemManager.GetPack(ShareDefine.rptTempSwap)
-    curPack.SetCount(ChConfig.Def_PackCnt_TempSwap)
-    
-    #初始化临时存放背包
-    curPack = itemManager.GetPack(ShareDefine.rptTempItem)
-    curPack.SetCount(ChConfig.Def_PackCnt_TempItem)
-
-    #设置装备实际个数
-    curPack = itemManager.GetPack(IPY_GameWorld.rptEquip)
-    curPack.SetCount(ItemCommon.GetPackInitCount(IPY_GameWorld.rptEquip))
+    #curPack = itemManager.GetPack(ShareDefine.rptGarbage)
+    #curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptGarbage))
+    #curPack.Sync_PackCanUseCount()
     
     #初始化垃圾桶
     #curPack = itemManager.GetPack(IPY_GameWorld.rptRecycle)
     #curPack.SetCount(ChConfig.Def_PackCnt_Recycle)
         
     #初始化万能背包
-    curPack = itemManager.GetPack(IPY_GameWorld.rptAnyWhere)
-    curPack.SetCount(IPY_GameWorld.Def_AnyWherePackCount)
+    #curPack = itemManager.GetPack(IPY_GameWorld.rptAnyWhere)
+    #curPack.SetCount(IPY_GameWorld.Def_AnyWherePackCount)
 
     #初始化宠物背包
-    curPack = itemManager.GetPack(ShareDefine.rptPet)
-    curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptPet))
+    #curPack = itemManager.GetPack(ShareDefine.rptPet)
+    #curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptPet))
     #curPack.Sync_PackCanUseCount()
+    
+    #通知玩家物品信息
+    __Sync_PackDetel(curPlayer)
+    
+    ItemControler.CheckGiveBindMoneyTypeItem(curPlayer)
     return
 
 #---------------------------------------------------------------------
@@ -1612,16 +1628,21 @@
     #将玩家放置在这个地图上
     curPlayer.InitPos(curPlayer.GetPosX(), curPlayer.GetPosY())
     
-    #刷新自己的视野
-    if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene)):
-        GameWorld.DebugLog("===本服LoadMapOK时玩家处于跨服或自定义场景状态,不设置可见!", curPlayer.GetPlayerID())
+    #卡牌改为0视野
+    if curPlayer.GetSightLevel() != curPlayer.GetID():
         PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
-    elif not GameWorld.IsCrossServer():
-        realmDifficulty = PlayerControl.GetMapRealmDifficulty(curPlayer)
-        if realmDifficulty:
-            GameWorld.DebugLog("===本服LoadMapOK时玩家处于境界难度地图,自动设置难度!realmDifficulty=%s" % realmDifficulty, curPlayer.GetPlayerID())
-            PlayerControl.SetRealmDifficulty(curPlayer, realmDifficulty)
-            
+    if curPlayer.GetSight() != 0:
+        PlayerControl.SetSight(curPlayer, 0)
+    #刷新自己的视野
+    #if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene)):
+    #    GameWorld.DebugLog("===本服LoadMapOK时玩家处于跨服或自定义场景状态,不设置可见!", curPlayer.GetPlayerID())
+    #    PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
+    #elif not GameWorld.IsCrossServer():
+    #    realmDifficulty = PlayerControl.GetMapRealmDifficulty(curPlayer)
+    #    if realmDifficulty:
+    #        GameWorld.DebugLog("===本服LoadMapOK时玩家处于境界难度地图,自动设置难度!realmDifficulty=%s" % realmDifficulty, curPlayer.GetPlayerID())
+    #        PlayerControl.SetRealmDifficulty(curPlayer, realmDifficulty)
+    
     curPlayer.RefreshView()
     curPlayer.SetVisible(True)
         
@@ -2388,6 +2409,7 @@
     #下线了,将存储在字典中的真实XP值,设置给玩家,完成通知和存储
     #curPlayer.SetXP(curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_RecordXPValue))
     #######################################################################
+    PlayerOnline.OnPlayerLogoff(curPlayer)
     #下线逻辑
     PlayerControl.PlayerLeaveServer(curPlayer, tick)
     
@@ -4372,7 +4394,7 @@
 #    WORD        RealmDifficulty;    //境界难度 = 1000 + 所选境界等级,如境界13,则发1013
 #};
 def OnSelectRealmDifficulty(index, clientData, tick):
-    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-    PlayerControl.SetRealmDifficulty(curPlayer, clientData.RealmDifficulty)
+    #curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    #PlayerControl.SetRealmDifficulty(curPlayer, clientData.RealmDifficulty)
     return
 

--
Gitblit v1.8.0