From 3b175a59ca82550a31863f4835548eec8a583b96 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 15 十二月 2023 16:59:01 +0800
Subject: [PATCH] 10033 【后端】仙树升级系统及砍树产出规则(装备属性产出规则修改)

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

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCompensationTube.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCompensationTube.py
index 10bd97f..cb15b13 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCompensationTube.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCompensationTube.py
@@ -145,35 +145,18 @@
     for i in xrange(curPackData.Count):
         curPackItem = curPackData.Items[i]
         itemID = curPackItem.ItemID
-        isAuctionItem = curPackItem.IsBind and not auctionItemTimeout
-        if ItemControler.GetAppointItemRealID(itemID):
-            curCreateItem = ItemControler.GetItemByData(ItemControler.GetAppointItemDictData(itemID, isAuctionItem))
-        else:
-            curCreateItem = ItemCommon.CreateSingleItem(itemID, curPackItem.Count, isAuctionItem)
-        if not curCreateItem:
-            GameWorld.ErrLog("OnGMRequestCompensationResult CreateSingleItem %s Err "%itemID)
+        itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
+        if not itemData:
             continue
-        
-        ##UserData包含了追加属性不完整,这里需要补齐
-        userDataCreateTime = 0
-        if curPackItem.UserDataLen: 
-            UserDataDict = eval(curPackItem.UserData)
-            #设置UserData
-            UserData = "%s"%UserDataDict
-            curCreateItem.SetUserData(UserData, len(UserData))
-            userDataCreateTime = curCreateItem.GetUserAttr(ShareDefine.Def_IudetAuctionItemCreateTime)
+        isAuctionItem = curPackItem.IsBind and not auctionItemTimeout
+        setAttrDict = {} if not curPackItem.UserDataLen else eval(curPackItem.UserData)            
+        if not ItemControler.GivePlayerItem(curPlayer, itemID, curPackItem.Count, isAuctionItem, [IPY_GameWorld.rptItem], 
+                                            event=[ChConfig.ItemGive_Mail, False, {"MailGUID":curPackData.GUID}], setAttrDict=setAttrDict):
+            GameWorld.ErrLog("OnGMRequestCompensationResult GivePlayerItem %s False" % itemID)
+            continue
+        if isPaimaiMail and ItemCommon.GetIsEquip(itemData):
+            EventShell.EventRespons_BuyAuctionEquip(curPlayer, itemData.GetItemColor())
             
-        if isAuctionItem and auctionItemCreateTime and not userDataCreateTime:
-            curCreateItem.SetUserAttr(ShareDefine.Def_IudetAuctionItemCreateTime, auctionItemCreateTime)
-            
-        ItemCommon.MakeEquipGS(curCreateItem)
-        
-        if isPaimaiMail and ItemCommon.CheckItemIsEquip(curCreateItem):
-            EventShell.EventRespons_BuyAuctionEquip(curPlayer, curCreateItem.GetItemColor())
-            
-        #放入玩家背包
-        ItemControler.PlayerItemControler(curPlayer).PutInItem(IPY_GameWorld.rptItem, curCreateItem, 
-                                                               event=[ChConfig.ItemGive_Mail, False, {"MailGUID":curPackData.GUID}])
     moneySource = curPackData.MoneySource + ChConfig.Def_GiveMoney_Unknown # 存值时为byte类型,使用时需还原回来
     if curPackData.Gold != 0:
         PlayerControl.GiveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, curPackData.Gold, moneySource)

--
Gitblit v1.8.0