ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/MineArea.py
@@ -31,17 +31,19 @@
def OnExec(curPlayer, msgList):
    if not msgList:
        GameWorld.DebugAnswer(curPlayer, "以下是GameServer命令")
        GameWorld.DebugAnswer(curPlayer, "随机重新刷新: MineArea item [是否超级 坐标 索引]")
        GameWorld.DebugAnswer(curPlayer, "刷新指定等级: MineArea lv 等级 [坐标 索引]")
        GameWorld.DebugAnswer(curPlayer, "刷新指定物品: MineArea id 矿物ID [坐标 索引]")
        GameWorld.DebugAnswer(curPlayer, "随机重新刷新: MineArea item [是否超级 坐标 索引 福地玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "刷新指定等级: MineArea lv 等级 [坐标 索引 福地玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "刷新指定物品: MineArea id 矿物ID [坐标 索引 福地玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "派工人拉物品: MineArea pull 索引 人数 状态")
        GameWorld.DebugAnswer(curPlayer, "[工人玩家ID 福地玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "输出在拉物品: MineArea pulling [玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "输出福地物品: MineArea area [福地玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "清除福地物品: MineArea clear [福地玩家ID,isPop]")
        GameWorld.DebugAnswer(curPlayer, "输出功能数据: MineArea info")
        GameWorld.DebugAnswer(curPlayer, "坐标: 0~100; []内为可选参数")
        GameWorld.DebugAnswer(curPlayer, "玩家ID可以是假人ID: 1~%s" % GameWorldMineArea.Def_FakeAreaCount)
        GameWorld.DebugAnswer(curPlayer, "[]内为可选参数; ")
        GameWorld.DebugAnswer(curPlayer, "坐标: 0~100;-1时随机坐标 ")
        GameWorld.DebugAnswer(curPlayer, "索引: 0~5; -1时为全部索引")
        GameWorld.DebugAnswer(curPlayer, "玩家ID可以是假人ID: 1~%s, 没填则默认自己" % GameWorldMineArea.Def_FakeAreaCount)
        return
    
    playerID = curPlayer.GetPlayerID()
@@ -49,24 +51,39 @@
    if value1 == "item":
        isSuper = msgList[1] if len(msgList) > 1 else 0
        position = msgList[2] if len(msgList) > 2 else None
        refreshIndexList = [msgList[3]] if len(msgList) > 3 else None
        refreshDict = GameWorldMineArea.__DoMineItemRefresh(playerID, curPlayer, isSuper=isSuper, refreshIndexList=refreshIndexList, setPosition=position)
        if position == -1:
            position = None
        refreshIndex = msgList[3] if len(msgList) > 3 else -1
        refreshIndexList = [refreshIndex] if refreshIndex >=0 else None
        areaPlayerID = msgList[4] if len(msgList) > 4 else playerID
        areaPlayer = curPlayer if areaPlayerID == playerID else GameWorld.GetPlayerManager().FindPlayerByID(areaPlayerID)
        refreshDict = GameWorldMineArea.__DoMineItemRefresh(areaPlayerID, areaPlayer, isSuper=isSuper, refreshIndexList=refreshIndexList, setPosition=position)
        __PrintRefreshDict(curPlayer, refreshDict, "超级" if isSuper else "普通")
        
    # 刷新指定等级
    elif value1 == "lv":
        itemLV = msgList[1] if len(msgList) > 1 else 1
        position = msgList[2] if len(msgList) > 2 else None
        refreshIndexList = [msgList[3]] if len(msgList) > 3 else None
        refreshDict = GameWorldMineArea.__DoMineItemRefresh(playerID, curPlayer, refreshIndexList=refreshIndexList, setPosition=position, setItemLV=itemLV)
        if position == -1:
            position = None
        refreshIndex = msgList[3] if len(msgList) > 3 else -1
        refreshIndexList = [refreshIndex] if refreshIndex >=0 else None
        areaPlayerID = msgList[4] if len(msgList) > 4 else playerID
        areaPlayer = curPlayer if areaPlayerID == playerID else GameWorld.GetPlayerManager().FindPlayerByID(areaPlayerID)
        refreshDict = GameWorldMineArea.__DoMineItemRefresh(areaPlayerID, areaPlayer, refreshIndexList=refreshIndexList, setPosition=position, setItemLV=itemLV)
        __PrintRefreshDict(curPlayer, refreshDict, "指定等级:%s" % itemLV)
        
    # 刷新指定物品
    elif value1 == "id":
        mineID = msgList[1] if len(msgList) > 1 else 1
        position = msgList[2] if len(msgList) > 2 else None
        refreshIndexList = [msgList[3]] if len(msgList) > 3 else None
        refreshDict = GameWorldMineArea.__DoMineItemRefresh(playerID, curPlayer, refreshIndexList=refreshIndexList, setPosition=position, setMineID=mineID)
        if position == -1:
            position = None
        refreshIndex = msgList[3] if len(msgList) > 3 else -1
        refreshIndexList = [refreshIndex] if refreshIndex >=0 else None
        areaPlayerID = msgList[4] if len(msgList) > 4 else playerID
        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)
        
    # 派工人拉物品
@@ -165,8 +182,9 @@
        GameWorld.DebugLog("    MoveSpeed=%s,remainSeconds=%s(%s),EndTime=%s" 
                           % (MoveSpeed, remainSeconds, remainHms, endTimeStr), areaPlayerID)
        
    GameWorld.DebugAnswer(curPlayer, "%s,ID(%s-%s),拉(%s-%s-%s),抢(%s-%s-%s),%s"
                          % (index, MineID, MineType, WorkerCount, WorkerState, areaPlayerID, RobWorkerCount, RobWorkerState, RobPlayerID, remainHms))
    Position = int(float(Position)) if Position else 0
    GameWorld.DebugAnswer(curPlayer, "%s,ID(%s-%s-%s),拉(%s-%s),抢(%s-%s-%s),%s"
                          % (index, MineID, Position, MineType, WorkerCount, WorkerState, RobWorkerCount, RobWorkerState, RobPlayerID, remainHms))
    return
def __ClearAreaData(curPlayer, areaPlayerID, isPop):