From 44b31d0f8b35c890021e4317281e15ba2d45b593 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 11 二月 2020 00:37:12 +0800 Subject: [PATCH] 8375 【主干】【后端】秘境探索修改(修改为定时实时给经验) --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBourse.py | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBourse.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBourse.py index ef8aa1b..162afff 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBourse.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBourse.py @@ -31,6 +31,7 @@ import PyGameDataStruct import PyDataManager import ChPyNetSendPack +import PyGameData import time import json @@ -269,7 +270,7 @@ #指定使用职业 JobList = curDefineDict.get("Job", []) if JobList: - JobLimit = curBourseItemData.GetJobLimit()/100 + JobLimit = curBourseItemData.GetJobLimit() if JobLimit not in JobList: return False @@ -437,6 +438,15 @@ PlayerControl.NotifyCode(curPlayer, "BoursePasswordError") GameWorld.DebugLog("Bourse### MGCheckBuyBourseItem ItemGUID %s pwd is error! %s != %s" % (curPackData.ItemGUID, curBourseItem.GetPwd(), curPackData.Pwd)) return + #物品交易锁定状态判断 + curTime = int(time.time()) + if curPackData.ItemGUID in PyGameData.g_bourseItemTradingTimeDict: + if curTime - PyGameData.g_bourseItemTradingTimeDict.get(curPackData.ItemGUID, 0) < 10: + curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(curPackData.PlayerID) + if curPlayer: + PlayerControl.NotifyCode(curPlayer, "MarketNoPutaway5") + return + PyGameData.g_bourseItemTradingTimeDict[curPackData.ItemGUID] = curTime #//02 02 玩家购买交易所物品查询结果#tagGMCheckBuyBourseItemResult sendPack = ChGameToMapPyPack.tagGMCheckBuyBourseItemResult() @@ -469,6 +479,10 @@ if CheckBourseItemDataSaleState(curBourseItem): GameWorld.Log("玩家确认购买交易所物品 Bourse### MGBuyBourseItemSure ItemGUID %s SoldOut" % (curPackData.ItemGUID), curPlayerID) return + if not curPackData.PlayerName: #为空时代表地图判断购买失败 + PyGameData.g_bourseItemTradingTimeDict.pop(curPackData.ItemGUID, 0) + return + #给物品//02 03 玩家获取交易所物品结果#tagGMGiveBourseItem sendPack = GetGMGiveBourseItemPack(curPlayerID, curBourseItem) NetPackCommon.SendPyPackToMapServer(routeIndex, mapID, sendPack) @@ -478,7 +492,7 @@ curBourseItem.SetCustomerPlayerName(curPackData.PlayerName) soldOutTime = int(time.time()) curBourseItem.SetSoldOutTime(str(soldOutTime)) - + PyGameData.g_bourseItemTradingTimeDict.pop(curPackData.ItemGUID, 0) #通知顾客购买物品状态变更 curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(curPlayerID) if curPlayer: -- Gitblit v1.8.0