From 63f6f44ec2a38eaec9f39bbe26edb07daed49b49 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 16 九月 2025 17:36:50 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(王元姬技能,弹射待处理;支持被动变更伤害倍值;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py | 41 +++++++++++++++++++++++------------------ 1 files changed, 23 insertions(+), 18 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 e05fd06..caf58b5 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py @@ -24,7 +24,6 @@ import PlayerGMOper import OperControlManager import ShareDefine -import PlayerGameWallow import ReadChConfig import PlayerDienstgrad import IpyGameDataPY @@ -43,6 +42,7 @@ import PlayerFace import PlayerBackup import PlayerOnline +import PlayerGoldRush #--------------------------------------------------------------------- #--------------------------------------------------------------------- @@ -771,7 +771,7 @@ curPlayer.SetDict(ChConfig.Def_PlayerKey_SitForZhenQi, tick) vipLV = curPlayer.GetVIPLv() - vipRate = ShareDefine.Def_MaxRateValue#PlayerVip.GetVIPMuseSitRate(vipLV) + vipRate = ShareDefine.Def_MaxRateValue #取得人物当前经验 curTotalExp = PlayerControl.GetPlayerTotalExp(curPlayer) # 超过20亿支持,功能待定 @@ -787,7 +787,7 @@ isSysHint=False) if vipLV == 0: - canVipRate = ShareDefine.Def_MaxRateValue#PlayerVip.GetVIPMuseSitRate(ShareDefine.Def_VIPType_Platina) + canVipRate = ShareDefine.Def_MaxRateValue canVipExpValue = int(addExpValue * canVipRate / float(ShareDefine.Def_MaxRateValue)) #GeRen_chenxin_684833:获得经验%s点,成为VIP经验%s PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_684833", [addExpValue, canVipExpValue]) @@ -867,11 +867,8 @@ # @remarks 刷新玩家在线时间 def ProcessPlayer_OnlineTime(curPlayer, tick): if not CommonCheckTick(curPlayer, tick, ChConfig.TYPE_Player_Tick_PlayerOnlineTime): - return + return - #处理防沉迷在线时间, - PlayerGameWallow.DoLogic_WallowOnlineTime(curPlayer, tick) - return @@ -1009,6 +1006,7 @@ #放在刷buff前 #ProcessPassiveSkill(curPlayer, tick) + ProcessPlayerSecond(curPlayer, tick) ProcessPlayerMinute(curPlayer, tick) PlayerOnline.GetOnlinePlayer(curPlayer).DoRefreshRoleAttr() @@ -1037,19 +1035,9 @@ #副本相关时间处理 #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) #自定义场景 @@ -1062,6 +1050,23 @@ #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): #玩家每分钟处理 lastTick = curPlayer.GetTickByType(ChConfig.TYPE_Player_Tick_Minute) -- Gitblit v1.8.0