From 00f4a55d20b44485efb11172bf61263e8cfb57fa Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 12 三月 2025 15:09:14 +0800
Subject: [PATCH] 10416 【英文】【bt】【GM】【砍树】登录基金和幻境基金 完成后可以重置购买(重置关联的充值ID)
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
index c576759..e22fe79 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
@@ -944,12 +944,12 @@
# 拉物品
if msgType == "Pull":
- __DoPullItem(playerID, curPlayer, dataMsg)
+ ret = __DoPullItem(playerID, curPlayer, dataMsg)
# 刷新福地物品
elif msgType == "MineItemRefresh":
playerID, isSuper = dataMsg
- __DoMineItemRefresh(playerID, curPlayer, isSuper=isSuper)
+ __DoMineItemRefresh(playerID, curPlayer, isSuper=isSuper, queryType=99, queryValue=isSuper)
# 地图结算奖励OK
elif msgType == "MineAreaAwardGetOK":
@@ -1063,7 +1063,7 @@
__RefreshMineItemSpeed(mineItemData, True)
SyncMineAreaItemInfo(areaPlayerID, [itemIndex], notifyPlayerIDListEx)
- return
+ return [areaPlayerID]
def __DoCancelPull(playerID, areaPlayerID, itemIndex, reason=""):
## 取消拉取
@@ -1105,7 +1105,7 @@
MapServer_QueryPlayerResult(curPlayer, "MineAreaCancelPull", [areaPlayerID, reason])
return
-def __DoMineItemRefresh(areaPlayerID, areaPlayer=None, isSys=False, isSuper=False, isNotify=True, refreshIndexList=None, setPosition=None, setItemLV=None, setMineID=None):
+def __DoMineItemRefresh(areaPlayerID, areaPlayer=None, isSys=False, isSuper=False, isNotify=True, refreshIndexList=None, setPosition=None, setItemLV=None, setMineID=None, queryType=0, queryValue=0):
'''刷新福地物品
@param areaPlayerID: 福地玩家ID,可能是假人
@param areaPlayer: 福地玩家实例
@@ -1204,7 +1204,7 @@
GameWorld.DebugLog(" index=%s,randMineID=%s,position=%s,mineType=%s,itemLV=%s" % (index, randMineID, position, mineType, itemLV), areaPlayerID)
if isNotify and refreshDict:
- SyncMineAreaItemInfo(areaPlayerID, refreshDict.keys())
+ SyncMineAreaItemInfo(areaPlayerID, refreshDict.keys(), queryType=queryType, queryValue=queryValue)
return refreshDict
#// B0 33 福地查看 #tagCGMineAreaView
@@ -1254,7 +1254,7 @@
return
-def SyncMineAreaItemInfo(areaPlayerID, mineIndexList, notifyPlayerIDListEx=None):
+def SyncMineAreaItemInfo(areaPlayerID, mineIndexList, notifyPlayerIDListEx=None, queryType=0, queryValue=0):
'''某个福地物品变更时同步,会同步给相关玩家
@param areaPlayerID: 福地玩家ID,可能是假人
@param mineIndexList: 需要同步的矿物索引
@@ -1295,7 +1295,7 @@
if not notifyPlayerIDList:
return
- clientPack = __GetMineAreaInfoPack([[areaPlayerID, mineIndexList]])
+ clientPack = __GetMineAreaInfoPack([[areaPlayerID, mineIndexList]], queryType=queryType, queryValue=queryValue)
# 去重同步
playerManager = GameWorld.GetPlayerManager()
for playerID in set(notifyPlayerIDList):
@@ -1495,7 +1495,7 @@
itemCount = ipyData.GetItemCount()
itemLV = ipyData.GetItemLV()
awardItemDict[itemID] = awardItemDict.get(itemID, 0) + itemCount
- awardInfoList.append([GUID, awardTime, workerCount, areaPlayerID, mineID, itemLV, itemID, itemCount])
+ awardInfoList.append([awardTime, workerCount, areaPlayerID, mineID, itemLV, itemID, itemCount])
# 通知地图玩家给物品
curPlayer.SetDict(MineAreaAwardGetTick, tick)
@@ -1505,17 +1505,17 @@
def __DoMineAreaAwardGetOK(curPlayer, dataMsg):
playerID = curPlayer.GetPlayerID()
- GUIDList, awardItemList = dataMsg
+ _, awardItemList = dataMsg
curPlayer.SetDict(MineAreaAwardGetTick, 0)
awardMgr = PyDataManager.GetDBPyMineAreaAwardManager()
awardDict = awardMgr.playerAreaAwardDict.get(playerID, {})
if not awardDict:
return
+ GameWorld.DebugLog("福地结算奖励OK: %s" % len(awardDict), playerID)
- for GUID in GUIDList:
- awardDict.pop(GUID, None)
-
+ awardMgr.playerAreaAwardDict[playerID] = {}
+
SyncMineAwardAward(curPlayer, 1, awardItemList)
return
--
Gitblit v1.8.0