From a7cda2ada3349bce6a6f9261752c0a2fe5e6927b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 15 十月 2025 19:26:45 +0800
Subject: [PATCH] 263 【主界面】头像系统(内政-幻境阁系统)-服务端(玩家改名)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 103 insertions(+), 17 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 4fef199..42629f2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -36,7 +36,6 @@
 import ChPyNetSendPack
 import DataRecordPack
 import PlayerBillboard
-import PlayerOnlinePrize
 import PlayerLVAward
 import PlayerGoldGift
 import PlayerSignDay
@@ -50,7 +49,6 @@
 import FBCommon
 import PlayerWishingWell
 import PlayerSuccess
-import PlayerDienstgrad
 import PlayerFreeGoods
 import PlayerCrossRealmPK
 import PlayerCrossChampionship
@@ -118,8 +116,6 @@
 import PlayerLove
 import GameObj
 import PlayerChangeJob
-import PlayerFace
-import PlayerChatBox
 import PlayerXiangong
 import PlayerGoldRush
 import PlayerActLoginNew
@@ -130,6 +126,7 @@
 import PlayerActTask
 import PlayerMail
 import DBDataMgr
+import UpdatePlayerName
 import GameServerRefresh
 import IPY_ServerDefine
 import CommFunc
@@ -139,6 +136,8 @@
 import PlayerHero
 import PlayerOnline
 import TurnAttack
+import PlayerHJG
+import ObjPool
 
 import datetime
 import time
@@ -577,10 +576,6 @@
 #    Sync_AutoFightSetting(curPlayer)
     
     PlayerFamily.OnPlayerLogin(curPlayer, tick)
-    #改到 GameServerRefresh GameSever_PlayerInitOK后处理才能保证玩家已经在Gameserver注册
-    #PlayerDienstgrad.RefreshBillBoardDienstgrad(curPlayer)
-    # 称号
-    PlayerDienstgrad.Sync_AllDienstgradOnLogin(curPlayer)
     
     # 时装
     PlayerCoat.OnLogin_Coat(curPlayer)
@@ -639,7 +634,6 @@
     FunctionNPCCommon.ShopItemOnLogin(curPlayer)
     # 通知设置的被动功法
     #PassiveBuffEffMng.OnLoginGFPassive(curPlayer)
-    PlayerOnlinePrize.OnPlayerLogin(curPlayer)
     # 极品白拿
     PlayerFreeGoods.OnLogin(curPlayer)
     # BOSS复活活动
@@ -747,8 +741,7 @@
         PyMongoMain.GetUserCtrlDB().OnPlayerLogin(curPlayer)
         PlayerHero.OnPlayerLogin(curPlayer)
         PlayerMail.OnPlayerLogin(curPlayer)
-        PlayerChatBox.OnPlayerLogin(curPlayer)
-        PlayerFace.OnPlayerLogin(curPlayer)
+        PlayerHJG.OnPlayerLogin(curPlayer)
         PlayerXiangong.OnPlayerLogin(curPlayer)
         PlayerGubao.OnPlayerLogin(curPlayer)
         PlayerShentong.OnPlayerLogin(curPlayer)
@@ -758,6 +751,8 @@
         PlayerGoldRush.OnPlayerLogin(curPlayer)
         PlayerActFamilyGCZ.OnPlayerLogin(curPlayer)
         PlayerTalk.OnPlayerLogin(curPlayer)
+        SyncADCntInfo(curPlayer)
+        UpdatePlayerName.OnPlayerLogin(curPlayer)
         
         # 上线查询一次充值订单
         curPlayer.SendDBQueryRecharge()
@@ -851,6 +846,8 @@
         return
     
     curPlayer.SetDict(ChConfig.Def_PlayerKey_MixServerFirstLogin, 1)
+    
+    PlayerSignDay.ResetDaySign(curPlayer) # 重置签到
     
     # 重置首充双倍
     PlayerCoin.DoResetCTGCount(curPlayer, "MixServer")
@@ -2132,8 +2129,6 @@
     #流向记录玩家下线
     DataRecordPack.DR_PlayerDisconnect(curPlayer)
     
-    #在线时间
-    PlayerOnlinePrize.CalcOnlineTime(curPlayer)
     #玩家未回图形验证码下线将会记录错误次数
     #===========================================================================
     # if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_Captcha_WaitSign) \
@@ -3226,6 +3221,30 @@
     NetPackCommon.SendFakePack(curPlayer, awardReceiveState)
     return
 
+def PlayerOnDay(curPlayer):
+    #玩法前瞻奖励
+    gameNoticeAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GameNoticeAwardState)
+    if gameNoticeAwardState:
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GameNoticeAwardState, 0)
+        Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_GameNotice, 0)
+    #每日分享奖励重置
+    shareGameAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ShareGameAwardState)
+    if shareGameAwardState:
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ShareGameAwardState, 0)
+        Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_ShareGame, 0)
+    #开服每日奖励
+    awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OpenSererDailyAward)
+    if awardState:
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OpenSererDailyAward, 0)
+        Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_OpenServerDailyAward, 0)
+    #开服每日奖励
+    awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RechargeDayAward)
+    if awardState:
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RechargeDayAward, 0)
+        Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_RechargeDayAward, 0)
+    ADCntOnDay(curPlayer)
+    return
+
 #//A5 04 玩家领取奖励 #tagCMPlayerGetReward
 #
 #struct    tagCMPlayerGetReward
@@ -3256,12 +3275,15 @@
     # 仙树免费减时
     elif rewardType == ChConfig.Def_RewardType_TreeFreeTime:
         PlayerTree.FreeReduceTreeLVTime(curPlayer)
+    # 广告奖励
+    elif rewardType == ChConfig.Def_RewardType_ADAward:
+        OnGetADAward(curPlayer, dataEx)
     # 每日免费直购礼包
     elif rewardType == ChConfig.Def_RewardType_DayFreeGoldGift:
         PlayerDailyGiftbag.OnGetDailyFreeGiftbag(curPlayer)
     # 仙盟每日福利奖励
-    elif rewardType == ChConfig.Def_RewardType_FamilyDayAward:
-        PlayerFamily.GetFamilyDayAward(curPlayer)
+    #elif rewardType == ChConfig.Def_RewardType_FamilyDayAward:
+    #    PlayerFamily.GetFamilyDayAward(curPlayer)
     # 玩家等级奖励
     elif rewardType == ChConfig.Def_RewardType_LVAward:
         PlayerLVAward.GetPlayerLVAward(curPlayer, dataEx)
@@ -3335,8 +3357,8 @@
     elif rewardType == ChConfig.Def_RewardType_CrossYaomoBossHurt:
         PlayerCrossYaomoBoss.GetCrossYaomoBossHurtAward(curPlayer, dataEx, tick)
     # 古宝特殊效果物品奖励
-    elif rewardType == ChConfig.Def_RewardType_GubaoItemEff:
-        PlayerGubao.GetGubaoItemEffAward(curPlayer, dataEx, dataExStr)
+    #elif rewardType == ChConfig.Def_RewardType_GubaoItemEff:
+    #    PlayerGubao.GetGubaoItemEffAward(curPlayer, dataEx, dataExStr)
     # 成就积分奖励
     elif rewardType == ChConfig.Def_RewardType_SuccessScore:
         PlayerSuccess.GetSuccessScoreAward(curPlayer, dataEx)
@@ -3404,7 +3426,71 @@
     elif rewardType == ChConfig.Def_RewardType_RechargeDayAward:
         OnGetRechargeDayAward(curPlayer, rewardType)
     return
+
+def OnGetADAward(curPlayer, adID):
+    ipyData = IpyGameDataPY.GetIpyGameData("ADAward", adID)
+    if not ipyData:
+        return
+    adCntMax = ipyData.GetADCntMax()
+    adCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ADCnt % adID)
+    if adCnt >= adCntMax:
+        GameWorld.DebugLog("今日该广告奖励已达上限! adID=%s,adCnt=%s > %s" % (adID, adCnt, adCntMax))
+        return
+    adCnt += 1
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ADCnt % adID, adCnt)
+    awardItemList = ipyData.GetADAwardItemList()
+    adMapID = ipyData.GetADMapID()
+    GameWorld.DebugLog("领取广告奖励! adID=%s,adCnt=%s,adMapID=%s,awardItemList=%s" % (adID, adCnt, adMapID, awardItemList))
+    SyncADCntInfo(curPlayer, [adID])
     
+    if adMapID:
+        FBCommon.AddFBADCnt(curPlayer, adMapID)
+        
+    if awardItemList:
+        ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["ADAward", False, {}])
+        
+    return
+
+def ADCntOnDay(curPlayer):
+    syncADIDList = []
+    ipyDataMgr = IpyGameDataPY.IPY_Data()
+    for index in xrange(ipyDataMgr.GetADAwardCount()):
+        ipyData = ipyDataMgr.GetADAwardByIndex(index)
+        adID = ipyData.GetADID()
+        if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ADCnt % adID):
+            continue
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ADCnt % adID, 0)
+        syncADIDList.append(adID)
+    if syncADIDList:
+        SyncADCntInfo(curPlayer, syncADIDList)
+    return
+
+def SyncADCntInfo(curPlayer, syncADIDList=None):
+    if not syncADIDList:
+        ipyDataMgr = IpyGameDataPY.IPY_Data()
+        adIDList = [ipyDataMgr.GetADAwardByIndex(i).GetADID() for i in xrange(ipyDataMgr.GetADAwardCount())]
+    else:
+        adIDList = syncADIDList
+        
+    adInfoList = []
+    for adID in adIDList:
+        adCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ADCnt % adID)
+        if not adCnt and syncADIDList == None:
+            continue
+        adInfo = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCADInfo)
+        adInfo.ADID = adID
+        adInfo.ADCnt = adCnt
+        adInfoList.append(adInfo)
+        
+    if not adInfoList:
+        return
+    
+    clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCADInfoList)
+    clientPack.ADInfoList = adInfoList[:255]
+    clientPack.Count = len(clientPack.ADInfoList)
+    NetPackCommon.SendFakePack(curPlayer, clientPack)
+    return
+
 def OnGetRechargeDayAward(curPlayer, rewardType):
     ## 领取累充每日奖励,取最高档
     realTotal = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealTotal)

--
Gitblit v1.8.0