From 8166d5b7bc084e0e6bdf65c54ffd0391ccb8b66a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 24 一月 2025 19:09:17 +0800
Subject: [PATCH] 1111 【越南】【英语】【BT】【砍树】增加功能开启触发任务事件;
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
index 4ec606f..a96d46f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
@@ -530,6 +530,9 @@
battleRatio = workerBattleRatioList[len(workerBattleRatioList) - 1] if batWorkerCount > len(workerBattleRatioList) else workerBattleRatioList[batWorkerCount - 1]
needSeconds = int(dist * itemWeight * baseTime * workRatio * battleRatio) # 还需工作时长,秒
+ if needSeconds <= 0:
+ return 0, 0
+
moveSpeed = dist / float(needSeconds) # 移动速度 x格/秒
needHms = "%02d:%02d:%02d" % (needSeconds / 3600, needSeconds % 3600 / 60, needSeconds % 60)
@@ -866,7 +869,7 @@
robPlayerID = mineItemData.RobPlayerID
# 赶走抢夺者
if robPlayerID and robPlayerID == tagPlayerID:
- __DoCancelPull(tagPlayerID, areaPlayerID, itemIndex)
+ __DoCancelPull(tagPlayerID, areaPlayerID, itemIndex, "out")
# 帮助的发奖
if funcLineID == 0:
@@ -923,7 +926,7 @@
return
if workerCount <= 0:
if not isPreview:
- __DoCancelPull(playerID, areaPlayerID, itemIndex)
+ __DoCancelPull(playerID, areaPlayerID, itemIndex, "cancel")
return
GameWorld.DebugLog("请求福地拉物品! areaPlayerID=%s,itemIndex=%s,workerCount=%s,workerState=%s,workerTotal=%s,isPreview=%s"
% (areaPlayerID, itemIndex, workerCount, workerState, workerTotal, isPreview), playerID)
@@ -1016,7 +1019,7 @@
SyncMineAreaItemInfo(areaPlayerID, [itemIndex], notifyPlayerIDListEx)
return True
-def __DoCancelPull(playerID, areaPlayerID, itemIndex):
+def __DoCancelPull(playerID, areaPlayerID, itemIndex, reason=""):
## 取消拉取
mineItemMgr = PyDataManager.GetDBPyMineAreaItemManager()
mineItemData = mineItemMgr.GetMineItem(areaPlayerID, itemIndex)
@@ -1051,6 +1054,9 @@
__RefreshMineItemSpeed(mineItemData, True)
SyncMineAreaItemInfo(areaPlayerID, [itemIndex], notifyPlayerIDListEx)
+ curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
+ if curPlayer:
+ 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):
@@ -1347,7 +1353,9 @@
if areaPlayerID > Def_FakeAreaCount:
cacheDict = PlayerViewCache.GetCachePropDataDict(PlayerViewCache.FindViewCache(areaPlayerID))
areaInfo.PlayerName = cacheDict.get("Name", "")
+ areaInfo.Job = cacheDict.get("Job", 0)
areaInfo.Face = cacheDict.get("Face", 0)
+ areaInfo.FacePic = cacheDict.get("FacePic", 0)
areaInfo.MineItemList = []
if not mineIndexList:
@@ -1370,7 +1378,9 @@
if mineItemData.RobPlayerID:
robCacheDict = PlayerViewCache.GetCachePropDataDict(PlayerViewCache.FindViewCache(mineItemData.RobPlayerID))
mineItem.RobPlayerName = robCacheDict.get("Name", "")
+ mineItem.RobJob = robCacheDict.get("Job", 0)
mineItem.RobFace = robCacheDict.get("Face", 0)
+ mineItem.RobFacePic = robCacheDict.get("FacePic", 0)
areaInfo.MineItemList.append(mineItem)
areaInfo.MineCount = len(areaInfo.MineItemList)
@@ -1394,7 +1404,9 @@
if playerID != recordInfo.TagPlayerID and recordInfo.TagPlayerID > Def_FakeAreaCount:
tagCacheDict = PlayerViewCache.GetCachePropDataDict(PlayerViewCache.FindViewCache(recordInfo.TagPlayerID))
recordInfo.TagPlayerName = tagCacheDict.get("Name", "")
+ recordInfo.TagJob = tagCacheDict.get("Job", 0)
recordInfo.TagFace = tagCacheDict.get("Face", 0)
+ recordInfo.TagFacePic = tagCacheDict.get("FacePic", 0)
clientPack.AreaRecordList.append(recordInfo)
clientPack.RecordCount = len(clientPack.AreaRecordList)
NetPackCommon.SendFakePack(curPlayer, clientPack)
--
Gitblit v1.8.0