hxp
5 天以前 26958aff1b844a743a805b4f9075bee800b72a46
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
@@ -25,7 +25,6 @@
import OperControlManager
import ShareDefine
import ReadChConfig
import PlayerDienstgrad
import IpyGameDataPY
import GameObj
import GameMap
@@ -35,13 +34,11 @@
import AICommon
import PlayerSuccess
import PassiveBuffEffMng
import FunctionNPCCommon
import FormulaControl
import PlayerFlashSale
import PlayerChatBox
import PlayerFace
import PlayerBackup
import PlayerOnline
import PlayerGoldRush
import PlayerHorse
import PlayerHJG
#---------------------------------------------------------------------
#---------------------------------------------------------------------
@@ -1005,6 +1002,7 @@
    #放在刷buff前
    #ProcessPassiveSkill(curPlayer, tick)
    
    ProcessPlayerSecond(curPlayer, tick)
    ProcessPlayerMinute(curPlayer, tick)
    
    PlayerOnline.GetOnlinePlayer(curPlayer).DoRefreshRoleAttr()
@@ -1027,32 +1025,30 @@
    #玩家在线时间刷新
    #ProcessPlayer_OnlineTime(curPlayer, tick)
    
    #反外挂验证
    #PlayerAutoCheckOnline.HackDefense(curPlayer, tick)
    #副本相关时间处理
    #PlayerFB.DoPlayerFBTimeProcess(curPlayer, tick)
    #恶意攻击时间处理
    #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)
    #淘金
    PlayerGoldRush.OnProcess(curPlayer)
    return
def ProcessPlayerMinute(curPlayer, tick):
@@ -1062,12 +1058,8 @@
        return
    curPlayer.SetTickByType(ChConfig.TYPE_Player_Tick_Minute, tick)
    
    # 时效称号
    PlayerDienstgrad.CheckDienstgradTimeout(curPlayer)
    # 时效头像
    PlayerFace.OnMinute(curPlayer)
    # 聊天气泡
    PlayerChatBox.OnMinute(curPlayer)
    PlayerHJG.OnMinute(curPlayer)
    PlayerHorse.OnMinute(curPlayer)
    return
# 一定时间自动释放的被动技能
@@ -1215,36 +1207,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