From 0a6ffef4ba4593b8a112981b3e0be438889202e1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 29 九月 2025 15:53:55 +0800
Subject: [PATCH] 16 卡牌服务端(修改GM命令Mail中物品,包含货币、装备、武将、常规物品;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |   92 +++++++++++++++++++++++++--------------------
 1 files changed, 51 insertions(+), 41 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 f8a8fff..4fef199 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -26,7 +26,6 @@
 import ChItem
 import ItemCommon
 import ItemControler
-import ChEquip
 import FunctionNPCCommon
 import PlayerGMOper
 import ReadChConfig
@@ -37,7 +36,6 @@
 import ChPyNetSendPack
 import DataRecordPack
 import PlayerBillboard
-import UpdatePlayerName
 import PlayerOnlinePrize
 import PlayerLVAward
 import PlayerGoldGift
@@ -54,8 +52,6 @@
 import PlayerSuccess
 import PlayerDienstgrad
 import PlayerFreeGoods
-import PlayerRecover
-import PlayerEquipDecompose
 import PlayerCrossRealmPK
 import PlayerCrossChampionship
 import GameFuncComm
@@ -260,9 +256,6 @@
     
     if PlayerControl.GetCrossMapID(curPlayer):
         CrossRealmPlayer.DoExitCrossRealm(curPlayer)
-        
-    if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
-        PlayerFB.DoExitCustomScene(curPlayer)
         
     PetControl.DoLogic_PetLoadMapOK(curPlayer)
     
@@ -542,9 +535,6 @@
     #通知玩家死亡时间
     #PlayerControl.PlayerControl(curPlayer).NotifyPlayerDeadTime(curPlayer)
     
-    #角色改名次数
-    #UpdatePlayerName.Sync_UpdatePlayerNameCount(curPlayer)
-    
     # 坐骑相关通知
     PlayerHorse.PlayerHorseLogin(curPlayer)
     
@@ -591,8 +581,6 @@
     #PlayerDienstgrad.RefreshBillBoardDienstgrad(curPlayer)
     # 称号
     PlayerDienstgrad.Sync_AllDienstgradOnLogin(curPlayer)
-    # 资源找回OnLogin
-    PlayerRecover.RecoverOnLogin(curPlayer)
     
     # 时装
     PlayerCoat.OnLogin_Coat(curPlayer)
@@ -652,8 +640,6 @@
     # 通知设置的被动功法
     #PassiveBuffEffMng.OnLoginGFPassive(curPlayer)
     PlayerOnlinePrize.OnPlayerLogin(curPlayer)
-    #装备分解
-    #PlayerEquipDecompose.PlayerLogin(curPlayer)
     # 极品白拿
     PlayerFreeGoods.OnLogin(curPlayer)
     # BOSS复活活动
@@ -902,9 +888,6 @@
     
     # 同步排行榜
     PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer, isAll=True)
-    
-    # 重置玩家改名次数
-    #UpdatePlayerName.ResetChangeNameCnt(curPlayer)
     return
 #---------------------------------------------------------------------
         
@@ -1038,16 +1021,7 @@
         PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
     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():
@@ -1390,16 +1364,7 @@
         PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
     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)
         
@@ -2169,8 +2134,6 @@
     
     #在线时间
     PlayerOnlinePrize.CalcOnlineTime(curPlayer)
-    #首充提示时间
-    PlayerGoldGift.UpdateFirstGoldTime(curPlayer)
     #玩家未回图形验证码下线将会记录错误次数
     #===========================================================================
     # if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_Captcha_WaitSign) \
@@ -3303,8 +3266,8 @@
     elif rewardType == ChConfig.Def_RewardType_LVAward:
         PlayerLVAward.GetPlayerLVAward(curPlayer, dataEx)
     # 首充礼包奖励
-    elif rewardType == ChConfig.Def_RewardType_GoldGiftFirst:
-        PlayerGoldGift.GetPlayerGoldGiftFirst(curPlayer, dataEx)
+    elif rewardType == ChConfig.Def_RewardType_FirstCharge:
+        PlayerGoldGift.GetPlayerFirstCharge(curPlayer, dataEx, dataExStr)
     # 领取极品白拿
     elif rewardType == ChConfig.Def_RewardType_FreeGoods:
         PlayerFreeGoods.OnGetFreeGoods(curPlayer, dataEx)
@@ -4057,3 +4020,50 @@
     #PlayerControl.SetRealmDifficulty(curPlayer, clientData.RealmDifficulty)
     return
 
+#// A0 08 查看通用记录 #tagCSViewGameRec
+#
+#struct    tagCSViewGameRec
+#{
+#    tagHead        Head;
+#    WORD         RecType;        //记录类型
+#    DWORD         RecID;        //自定义记录ID
+#};
+def OnViewGameRec(index, clientData, tick):
+    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    recType = clientData.RecType
+    recID = clientData.RecID
+    if recType not in ShareDefine.Def_GameRecTypeList:
+        return
+    if recType in ShareDefine.Def_ViewGameRecSelfList:
+        recID = curPlayer.GetPlayerID()
+    recTypeIDMgr = DBDataMgr.GetGameRecMgr().GetRecTypeIDMgr(recType, recID)
+    SyncGameRecInfo(curPlayer, recType, recID, recTypeIDMgr.GetDataList())
+    return
+
+def SyncGameRecInfo(curPlayer, recType, recID, recDataList):
+    recList = []
+    for recData in recDataList:
+        if not recData:
+            continue
+        rec = ChPyNetSendPack.tagSCGameRec()
+        rec.Time = recData.GetTime()
+        rec.Value1 = recData.GetValue1()
+        rec.Value2 = recData.GetValue2()
+        rec.Value3 = recData.GetValue3()
+        rec.Value4 = recData.GetValue4()
+        rec.Value5 = recData.GetValue5()
+        rec.Value6 = recData.GetValue6()
+        rec.Value7 = recData.GetValue7()
+        rec.Value8 = recData.GetValue8()
+        rec.UserData = recData.GetUserData()
+        rec.UserDataLen = len(rec.UserData)
+        recList.append(rec)
+        
+    clientPack = ChPyNetSendPack.tagSCGameRecInfo()
+    clientPack.Clear()
+    clientPack.RecType = recType
+    clientPack.RecID = recID
+    clientPack.RecList = recList
+    clientPack.Count = len(clientPack.RecList)
+    NetPackCommon.SendFakePack(curPlayer, clientPack)
+    return

--
Gitblit v1.8.0