From d7f44d8d871a90c818bdb3ffe9a60af875b7100a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 30 九月 2025 10:12:23 +0800
Subject: [PATCH] 135 【挑战】战锤秘境-服务端(白骨盈野;副本基础;副本扫荡;广告奖励支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py |   68 ++++++++++------------------------
 1 files changed, 20 insertions(+), 48 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
index 81d6998..fef7d1b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
@@ -42,6 +42,7 @@
 import PlayerFace
 import PlayerBackup
 import PlayerOnline
+import PlayerGoldRush
 
 #---------------------------------------------------------------------
 #---------------------------------------------------------------------
@@ -1005,6 +1006,7 @@
     #放在刷buff前
     #ProcessPassiveSkill(curPlayer, tick)
     
+    ProcessPlayerSecond(curPlayer, tick)
     ProcessPlayerMinute(curPlayer, tick)
     
     PlayerOnline.GetOnlinePlayer(curPlayer).DoRefreshRoleAttr()
@@ -1030,32 +1032,34 @@
     #反外挂验证
     #PlayerAutoCheckOnline.HackDefense(curPlayer, tick)
     
-    #副本相关时间处理
-    #PlayerFB.DoPlayerFBTimeProcess(curPlayer, tick)
-    
-    #挂机收益
-    #PlayerGuaji.ProcessGuaji(curPlayer)
-    
     #恶意攻击时间处理
     #AttackCommon.ProcessMaliciousAttackPlayer(curPlayer, tick)
-    #成就
-    PlayerSuccess.FinishDelayAddSuccessProgress(curPlayer, tick, False)
-    #限时抢购
-    PlayerFlashSale.ProcessFlashSaleMail(curPlayer, tick)
-    #地图经验
-    #ProcessAreaExp(curPlayer, tick)
-    #神秘商店刷新
-    FunctionNPCCommon.CheckMysticalShopRefresh(curPlayer, tick)
+
     #活跃放置
     #PlayerActivity.ProcessActivityPlace(curPlayer)
-    #自定义场景
-    #FBLogic.OnCustomSceneProcess(curPlayer, tick)
     #炼器
     #PlayerActLianqi.OnProcess(curPlayer)
     #仙盟攻城战
     #PlayerActFamilyGCZ.OnProcess(curPlayer)
     #跨服数据同步,放最后
     #CrossPlayerData.ProcessCrossPlayer(curPlayer, tick)
+    return
+
+def ProcessPlayerSecond(curPlayer, tick):
+    #玩家每秒处理,玩家Process可能每秒多次,所以增加一个每秒处理的,减少执行次数
+    lastTick = curPlayer.GetDictByKey("ProcessPlayerSecond")
+    if tick - lastTick < 1000:
+        return
+    curPlayer.SetDict("ProcessPlayerSecond", tick)
+    
+    #成就
+    PlayerSuccess.FinishDelayAddSuccessProgress(curPlayer, tick, False)
+    #限时抢购
+    PlayerFlashSale.ProcessFlashSaleMail(curPlayer, tick)
+    #神秘商店刷新
+    FunctionNPCCommon.CheckMysticalShopRefresh(curPlayer, tick)
+    #淘金
+    PlayerGoldRush.OnProcess(curPlayer)
     return
 
 def ProcessPlayerMinute(curPlayer, tick):
@@ -1218,36 +1222,4 @@
         return
     curPlayer.SetDict(ChConfig.Def_PDict_BossStateTick, 0)
     PlayerControl.SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_BossState, 0)
-    return
-    
-def ProcessAreaExp(curPlayer, tick):
-    ##给场景经验
-    if GameWorld.IsCrossServer():
-        return
-    if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
-        return
-    crossMapID = PlayerControl.GetCrossMapID(curPlayer)
-    mapID = crossMapID if crossMapID else GameWorld.GetMap().GetMapID()
-    if not FBLogic.OnCanGetAreaExp(curPlayer, mapID):
-        return
-    neutralMapExpAwardDict = IpyGameDataPY.GetFuncEvalCfg('NeutralMapExpAward', 1, {})
-    expAwardInfo = GameWorld.GetDictValueByKey(neutralMapExpAwardDict, mapID)
-    if not expAwardInfo:
-        return
-    if len(expAwardInfo) != 2:
-        return
-    secondCD, expFormula = expAwardInfo
-    lastTick = curPlayer.GetDictByKey(ChConfig.Def_PDict_MapAreaExpTick)
-    if not lastTick:
-        curPlayer.SetDict(ChConfig.Def_PDict_MapAreaExpTick, tick)
-        return
-    if tick - lastTick < secondCD:
-        return
-    curPlayer.SetDict(ChConfig.Def_PDict_MapAreaExpTick, tick)
-    
-    reExp = PlayerControl.GetPlayerReExp(curPlayer)
-    reLV = curPlayer.GetLV()
-    worldLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
-    addExp = eval(FormulaControl.GetCompileFormula('NeutralMapExpAward%s'%mapID, expFormula))
-    PlayerControl.PlayerControl(curPlayer).AddExp(addExp, ShareDefine.Def_ViewExpType_SysEx)
     return

--
Gitblit v1.8.0