From 1cf37b4b51fc287ca3e443afb72604ec88f72cc4 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 09 七月 2025 19:33:55 +0800
Subject: [PATCH] 0312 玩家物品支持DWORD数量

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |   72 +++++++++++++++++++++--------------
 1 files changed, 43 insertions(+), 29 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..149ba48 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
@@ -509,6 +511,8 @@
         if PlayerControl.GetCrossMapID(curPlayer):
             PlayerControl.SetCrossMapID(curPlayer, 0)
         
+    PlayerOnline.OnPlayerLogin(curPlayer)
+    TurnAttack.OnPlayerLogin(curPlayer)
     SyncGuideState(curPlayer)
     
     #上线检查一次装备属性
@@ -524,8 +528,6 @@
     
     #通知玩家技能信息
     __Sync_ClientSkill(curPlayer)
-    #清除国家答题Buff
-    #PlayerExam.DoLogic_ExitExam(curPlayer, tick, needRefresh = False)
     #清除VIPbuff
     #BuffSkill.DelBuffBySkillID(curPlayer, ChConfig.Def_VIPExp_SkillTypeID, tick)
     
@@ -738,8 +740,6 @@
     FunctionNPCCommon.ShopItemOnLogin(curPlayer)
     # 通知设置的被动功法
     #PassiveBuffEffMng.OnLoginGFPassive(curPlayer)
-    #我要太极
-    PlayerDiceEx.DiceExOnLogin(curPlayer)
     #仙魔之争
     GameLogic_XMZZ.OnXMZZLogin(curPlayer)
     PlayerOnlinePrize.OnPlayerLogin(curPlayer)
@@ -809,8 +809,6 @@
     PlayerDogz.OnPlayerLogin(curPlayer)
     # 骑宠
     FamilyRobBoss.OnPlayerLogin(curPlayer)
-    # 绑玉转盘
-    PlayerBindJadeWheel.OnLogin(curPlayer)
     # 许愿池
     PlayerWishingWell.OnLogin(curPlayer)
     #幸运鉴宝
@@ -880,6 +878,8 @@
         pass
     
     else:
+        PyMongoMain.GetUserCtrlDB().OnPlayerLogin(curPlayer)
+        PlayerHero.OnPlayerLogin(curPlayer)
         PlayerMail.OnPlayerLogin(curPlayer)
         PlayerChatBox.OnPlayerLogin(curPlayer)
         PlayerFace.OnPlayerLogin(curPlayer)
@@ -1272,17 +1272,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():
@@ -1487,6 +1492,9 @@
     #初始化寻宝背包
     PlayerControl.Init_TreasurePack(curPlayer)
     
+    #初始化英雄背包
+    PlayerControl.Init_HeroPack(curPlayer)
+    
     #初始化神兽物品背包
     curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzItem)
     curPack.SetCount(ItemCommon.GetPackInitCount(ShareDefine.rptDogzItem))
@@ -1612,16 +1620,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 +2401,7 @@
     #下线了,将存储在字典中的真实XP值,设置给玩家,完成通知和存储
     #curPlayer.SetXP(curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_RecordXPValue))
     #######################################################################
+    PlayerOnline.OnPlayerLogoff(curPlayer)
     #下线逻辑
     PlayerControl.PlayerLeaveServer(curPlayer, tick)
     
@@ -4372,7 +4386,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