From a90833bf05d8f4a338b0224a956a3794c106bb48 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 06 二月 2025 17:04:41 +0800 Subject: [PATCH] 10385 【越南】【英语】【BT】【砍树】福地新增鼠管及优化-服务端 --- ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/MineArea.py | 30 ++++++++++++++++++++++++------ 1 files changed, 24 insertions(+), 6 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/MineArea.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/MineArea.py index 6d0c928..8f60b30 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/MineArea.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/MineArea.py @@ -19,6 +19,8 @@ import PyDataManager import GameWorldMineArea import IpyGameDataPY +import ShareDefine +import ChConfig import time @@ -34,6 +36,7 @@ GameWorld.DebugAnswer(curPlayer, "随机重新刷新: MineArea item [是否超级 坐标 索引 福地玩家ID]") GameWorld.DebugAnswer(curPlayer, "刷新指定等级: MineArea lv 等级 [坐标 索引 福地玩家ID]") GameWorld.DebugAnswer(curPlayer, "刷新指定物品: MineArea id 矿物ID [坐标 索引 福地玩家ID]") + GameWorld.DebugAnswer(curPlayer, "设置敌对玩家: MineArea rv 敌对玩家ID 正负敌对值") GameWorld.DebugAnswer(curPlayer, "派工人拉物品: MineArea pull 索引 人数 状态") GameWorld.DebugAnswer(curPlayer, "[工人玩家ID 福地玩家ID]") GameWorld.DebugAnswer(curPlayer, "输出在拉物品: MineArea pulling [玩家ID]") @@ -85,6 +88,19 @@ areaPlayer = curPlayer if areaPlayerID == playerID else GameWorld.GetPlayerManager().FindPlayerByID(areaPlayerID) refreshDict = GameWorldMineArea.__DoMineItemRefresh(areaPlayerID, areaPlayer, refreshIndexList=refreshIndexList, setPosition=position, setMineID=mineID) __PrintRefreshDict(curPlayer, refreshDict, "指定ID:%s" % mineID) + + # 设置敌对玩家 + elif value1 == "rv": + tagPlayerID = msgList[1] if len(msgList) > 1 else 0 + addValue = msgList[2] if len(msgList) > 2 else 1 + if not tagPlayerID or playerID == tagPlayerID: + GameWorld.DebugAnswer(curPlayer, "敌对ID为0或自己:%s" % tagPlayerID) + return + if addValue > 0: + robValue = GameWorldMineArea.AddRobValue(playerID, tagPlayerID, addValue) + else: + robValue = GameWorldMineArea.DecRobValue(playerID, tagPlayerID, -addValue) + GameWorld.DebugAnswer(curPlayer, "更新与对方敌对值:%s, ID:%s" % (robValue, tagPlayerID)) # 派工人拉物品 elif value1 == "pull": @@ -226,12 +242,14 @@ for playerID, neighborIDList in mineItemMgr.neighborIDListDict.items(): GameWorld.DebugLog("周围福地列表: playerID=%s,neighborIDList=%s" % (playerID, neighborIDList)) GameWorld.DebugAnswer(curPlayer, "周围福地列表:%s,%s" % (playerID, neighborIDList), False) - for playerID, socialIDList in mineItemMgr.socialIDListDict.items(): - GameWorld.DebugLog("道友福地列表: playerID=%s,socialIDList=%s" % (playerID, socialIDList)) - GameWorld.DebugAnswer(curPlayer, "道友福地列表:%s" % (playerID), False) - GameWorld.DebugAnswer(curPlayer, " %s" % socialIDList[:len(socialIDList)/2], False) - GameWorld.DebugAnswer(curPlayer, " %s" % socialIDList[len(socialIDList)/2:], False) - + playerRecMgr = PyDataManager.GetDBPlayerRecDataManager() + recDataDict = playerRecMgr.GetPlayerRecDataDict(ShareDefine.Def_PlayerRecType_MineAreaRecord) + for playerID, recDataList in recDataDict.items(): + for recData in recDataList: + robValueList = recData.GetUserDataByKey(ChConfig.Def_RecDataKey_RobValueList, {}) + GameWorld.DebugLog("敌对福地列表: playerID=%s,robValueList=%s" % (playerID, robValueList)) + GameWorld.DebugAnswer(curPlayer, "敌对福地列表:%s,%s" % (playerID, robValueList), False) + for areaPlayerID, viewPlayerIDList in mineItemMgr.viewAreaPlayerIDDict.items(): GameWorld.DebugLog("查看福地列表: areaPlayerID=%s,viewPlayerIDList=%s" % (areaPlayerID, viewPlayerIDList)) GameWorld.DebugAnswer(curPlayer, "查看福地列表:%s,%s" % (areaPlayerID, viewPlayerIDList), False) -- Gitblit v1.8.0