From e4c2a1b331ef0133a010bce5ccdcf3d19db12726 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 07 十一月 2025 14:46:31 +0800
Subject: [PATCH] 237 【福利内容】每日任务/每周任务/章节奖励-服务端(增加物品效果281-给活跃度;每日任务奖励改为配置物品;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTree.py | 46 ++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 42 insertions(+), 4 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 906fea0..ae4a7e6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTree.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTree.py
@@ -22,7 +22,7 @@
import ChPyNetSendPack
import PlayerControl
import IPY_GameWorld
-#import PlayerTask
+import PlayerTask
import ChConfig
import time
@@ -32,6 +32,11 @@
if not treeLV:
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeLV, 1)
RefreshTreeLVUPTime(curPlayer)
+ SyncTreeInfo(curPlayer)
+ return
+
+def PlayerOnDay(curPlayer):
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeFreeTimeCnt, 0)
SyncTreeInfo(curPlayer)
return
@@ -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):
## 执行仙树升级
@@ -194,7 +230,7 @@
GameWorld.DebugLog("执行仙树升级! updTreeLV=%s" % updTreeLV, playerID)
SyncTreeInfo(curPlayer)
- #PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_TreeLV)
+ PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_TreeLV)
return True
def SyncTreeInfo(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