From 47723b47452eadfaccd2a2813a2c8877a9ebbcf1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 24 十一月 2025 11:58:59 +0800
Subject: [PATCH] 332 【主界面】座骑系统-服务端(默认坐骑外观ID取ID大于0的)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py |   23 ++++++++---------------
 1 files changed, 8 insertions(+), 15 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 482b25c..cb52de0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
@@ -128,29 +128,22 @@
 
 def GetFuncOpenAward(curPlayer, funcID):
     ## 领取功能开启奖励
-    ipyData = IpyGameDataPY.GetIpyGameData('FunctionForecast', funcID)
+    ipyData = IpyGameDataPY.GetIpyGameData("FuncOpenLV", funcID)
     if not ipyData:
         return
     getState = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_GameFuncAwardState, funcID)
     if getState:
+        GameWorld.DebugLog("功能开启奖励已领取! funcID=%s" % funcID)
         return
-    awardDict = ipyData.GetAward()
-    job = curPlayer.GetJob()
-    itemList = awardDict.get(str(job))
+    openState = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_GameFuncFirstTouch, funcID)
+    if not openState:
+        GameWorld.DebugLog("功能未开启无法领取! funcID=%s" % funcID)
+        return
+    itemList = ipyData.GetAwardList()
     if not itemList:
         return
-    # 检查背包
-    needSpace = len(itemList)
-    packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
-    if needSpace > packSpace:
-        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
-        return
     GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_GameFuncAwardState, funcID, 1)
-    
-    # 给物品
-    for itemID, itemCount in itemList:
-        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])
-    ItemControler.NotifyGiveAwardInfo(curPlayer, itemList, "FuncOpenAward")
+    ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["FuncOpenAward", False, {}])
     Sync_FuncOpenState(curPlayer, [funcID])
     return
     

--
Gitblit v1.8.0