From 5925409bdea13d819e4e4356a51043de5f3f9bd8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 22 十月 2025 14:20:10 +0800
Subject: [PATCH] 16 卡牌服务端(删除神兵)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTree.py | 42 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTree.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTree.py
index e104f94..ae4a7e6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTree.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTree.py
@@ -35,6 +35,11 @@
SyncTreeInfo(curPlayer)
return
+def PlayerOnDay(curPlayer):
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeFreeTimeCnt, 0)
+ SyncTreeInfo(curPlayer)
+ return
+
#// B2 23 仙树升级 #tagCMTreeLVUP
#
#struct tagCMTreeLVUP
@@ -152,7 +157,7 @@
% (updLVUPRemainTime, treeLV, LVUPRemainTime, passSeconds, lastRefreshTime), curPlayer.GetPlayerID())
return
-def ReduceTreeLVUPTime(curPlayer, reduceTime):
+def ReduceTreeLVUPTime(curPlayer, reduceTime, isNotify=True):
## 减少仙树升级剩余时间,可能是使用道具或其他功能等
RefreshTreeLVUPTime(curPlayer)
lvupState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLVUPState)
@@ -165,8 +170,39 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeLVUPRemainTime, updLVUPRemainTime)
GameWorld.DebugLog("减少仙树升级剩余时间! updLVUPRemainTime=%s,LVUPRemainTime=%s,reduceTime=%s"
% (updLVUPRemainTime, LVUPRemainTime, reduceTime), curPlayer.GetPlayerID())
- SyncTreeInfo(curPlayer)
+ if isNotify:
+ SyncTreeInfo(curPlayer)
return True
+
+def FreeReduceTreeLVTime(curPlayer):
+ ## 仙树免费减时
+ dailyFreeCntMax = IpyGameDataPY.GetFuncCfg("TreeLVUP", 3)
+ freeCDSeconds = IpyGameDataPY.GetFuncCfg("TreeLVUP", 4) * 60 # 免费CD,秒
+
+ freeTimeCntToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeFreeTimeCnt)
+ freeTimeLast = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeFreeTimeLast)
+
+ if dailyFreeCntMax and freeTimeCntToday >= dailyFreeCntMax:
+ GameWorld.DebugLog("已达今日免费仙树减时次数! freeTimeCntToday=%s >= %s" % (freeTimeCntToday, dailyFreeCntMax))
+ return
+
+ curTime = int(time.time())
+ if freeCDSeconds and freeTimeLast and (curTime - freeTimeLast) < freeCDSeconds:
+ GameWorld.DebugLog("免费仙树减时CD未到! passSeconds=%s < %s" % (curTime - freeTimeLast, freeCDSeconds))
+ return
+
+ reduceTime = IpyGameDataPY.GetFuncCfg("TreeLVUP", 5) * 60
+ if reduceTime <= 0:
+ return
+
+ if not ReduceTreeLVUPTime(curPlayer, reduceTime, False):
+ return
+
+ freeTimeCntToday += 1
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeFreeTimeCnt, freeTimeCntToday)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeFreeTimeLast, curTime)
+ SyncTreeInfo(curPlayer)
+ return
def DoTreeLVUP(curPlayer):
## 执行仙树升级
@@ -202,5 +238,7 @@
clientPack.TreeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV)
clientPack.LVUPState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLVUPState)
clientPack.LVUPRemainTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLVUPRemainTime)
+ clientPack.FreeTimeCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeFreeTimeCnt)
+ clientPack.FreeTimeLast = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeFreeTimeLast)
NetPackCommon.SendFakePack(curPlayer, clientPack)
return
--
Gitblit v1.8.0