From e371f4a059ef241b523f7fd9561c0b838a5d847b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 09 七月 2024 19:36:15 +0800
Subject: [PATCH] 10211 【越南】【砍树】专属福利(增加按物品获得时间算开启天限制打开物品)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
index 462b2b0..be25cc7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
@@ -939,12 +939,22 @@
 def UseItemSelf_Item(curPlayer, curItem, tick):
     
     if curItem.GetType() == ChConfig.Def_ItemType_CanUseByCDTime:
-        curItemPastTime = int(time.time()) - curItem.GetUserAttr(ShareDefine.Def_IudetCreateTime)
-        if curItemPastTime < curItem.GetCDTime():
-            PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_749572")
-            GameWorld.DebugLog("未到使用时间,不可使用! itemID=%s,curItemPastTime=%s < CDTime(%s)" 
-                               % (curItem.GetItemTypeID(), curItemPastTime, curItem.GetCDTime()))
-            return
+        cdType = curItem.GetCanPlaceInShortcut() # 由于 GetCDType 字段是公共CD,所以单独另一个类型
+        # 倒计时类型: 0-默认秒;1-按获得物品天
+        if not cdType:
+            curItemPastTime = int(time.time()) - curItem.GetUserAttr(ShareDefine.Def_IudetCreateTime)
+            if curItemPastTime < curItem.GetCDTime():
+                PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_749572")
+                GameWorld.DebugLog("未到使用时间,不可使用! itemID=%s,curItemPastTime=%s < CDTime(%s)" 
+                                   % (curItem.GetItemTypeID(), curItemPastTime, curItem.GetCDTime()))
+                return
+        elif cdType == 1:
+            passDays = GameWorld.GetDiff_Day(int(time.time()), curItem.GetUserAttr(ShareDefine.Def_IudetCreateTime)) + 1
+            if passDays < curItem.GetCDTime():
+                PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_749572")
+                GameWorld.DebugLog("未到使用时间,不可使用! itemID=%s,cdType=%s,passDays=%s < CDTime(%s)" 
+                                   % (curItem.GetItemTypeID(), cdType, passDays, curItem.GetCDTime()))
+                return
     else:
         if (tick - curPlayer.GetItemCDStartTime(curItem.GetCDType())) < curItem.GetCDTime():
             #CD冷却时间未到

--
Gitblit v1.8.0