From 4e3d1ff7e0b98fc18b0b6e63e449f3d7577c0ba6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 05 十一月 2025 11:16:31 +0800
Subject: [PATCH] 16 卡牌服务端(功能开启增加开服天条件支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
index ba94c7a..482b25c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
@@ -27,19 +27,24 @@
 import ShareDefine
 import IpyGameDataPY
 import PlayerControl
+import FunctionNPCCommon
 import PlayerActBuyCountGift
 import PlayerActLoginNew
 import PlayerActTask
 import IPY_GameWorld
 import ItemCommon
 import ItemControler
+import PlayerHorse
 import PlayerArena
 import PlayerTask
+import DBDataMgr
 
 
 # 功能开启需执行的函数{功能ID:执行函数, ...} 函数需返回是否激活成功, 功能开启有需要处理功能逻辑的这里增加函数调用配置即可
 FuncOpenLogicDict = {
                      ShareDefine.GameFuncID_Arena:lambda curObj:PlayerArena.DoArenaOpen(curObj),
+                     ShareDefine.GameFuncID_Shop:lambda curObj:FunctionNPCCommon.DoShopOpen(curObj),
+                     ShareDefine.GameFuncID_Horse:lambda curObj:PlayerHorse.DoHorseOpen(curObj),
                      }
 
 def GetFuncOpenLVIpyData(funcID): return IpyGameDataPY.GetIpyGameData("FuncOpenLV", funcID)
@@ -50,6 +55,7 @@
     '''
     #GameWorld.DebugLog("执行触发功能开启逻辑: finishMissionIDList=%s" % finishMissionIDList, curPlayer.GetPlayerID())
     
+    serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
     openFuncIDList = []
     curLV = curPlayer.GetLV()
     ipyGameData = IpyGameDataPY.IPY_Data()
@@ -80,6 +86,10 @@
         if limitMissionID and not curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_MissionFinish % limitMissionID):
             continue
         
+        limitOpenDay = ipyData.GetLimitOpenDay()
+        if limitOpenDay and serverDay < limitOpenDay:
+            continue
+        
         # 先更新值再处理开启逻辑,不能可能导致在功能开启逻辑中再开启功能引发的递归死循环
         befValue, updValue = GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_GameFuncFirstTouch, funcID, 1)
         if befValue == updValue:

--
Gitblit v1.8.0