From 6544af7b584112da8dc482cb29dacfb89d750ba6 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 22 七月 2019 19:05:09 +0800 Subject: [PATCH] 8154 【后端】【主干】【300】拍卖行优化(可根据开服天或指定日期上架系统拍品) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py index 9eb69c0..3260143 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py @@ -24,7 +24,9 @@ import ChConfig import ShareDefine import PlayerActivity +import NPCCommon +import random import time #// B5 13 拍卖行上架拍品 #tagCMSellAuctionItem @@ -204,6 +206,46 @@ PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_AuctionItem, 1) return +def DoAddSystemAuctionItem(sysAuctionItemList): + ''' 上架系统拍品 + @param sysAuctionItemList: [物品ID, [阶,颜色,[部位, ...],是否套装,星级]] + ''' + GameWorld.Log("上架系统拍品: %s" % sysAuctionItemList) + + itemCount = 1 # 系统拍品,默认上架一个 + isAuctionItem = True + auctionItemList = [] + for sysAuctionItemInfo in sysAuctionItemList: + if type(sysAuctionItemInfo) == int: + itemID = sysAuctionItemInfo + elif type(sysAuctionItemInfo) == list and len(sysAuctionItemInfo) >= 5: + classLV, color, placeList, isSuit, star = sysAuctionItemInfo[:5] + if star: + # 有星级的代表非境界装备,暂不处理,之后有需要扩展 + randEquipIDList = [] + else: + itemJobList = sysAuctionItemInfo[5] if len(sysAuctionItemInfo) > 5 else [] + randEquipIDList = NPCCommon.__GetEquipIDList(0, classLV, color, isSuit, placeList, itemJobList, findType="SystemAuctionItem") + if not randEquipIDList: + GameWorld.ErrLog("系统拍品找不到可上架的装备! %s" % str(sysAuctionItemInfo)) + continue + itemID = random.choice(randEquipIDList) + else: + GameWorld.ErrLog("系统拍品格式错误,无法上架! %s" % str(sysAuctionItemInfo)) + continue + ipyData = IpyGameDataPY.GetIpyGameData("AuctionItem", itemID) + if not ipyData: + GameWorld.ErrLog("非拍卖物品,无法上架系统拍品! itemID=%s" % (itemID)) + continue + curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem) + if not curItem: + continue + auctionItemList.append([curItem]) + if not auctionItemList: + return + __DoAddAuctionItem(None, auctionItemList) + return + def DR_AuctionHouse(curPlayer, eventName, drDict): accID = "" if not curPlayer else curPlayer.GetAccID() playerID = 0 if not curPlayer else curPlayer.GetPlayerID() -- Gitblit v1.8.0