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