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