ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
@@ -918,6 +918,17 @@
        return ReadChConfig.GetPyMongoConfig("Merge", "CrossZoneName")
    return PyGameData.g_crossZoneName
def GetCrossServerTimeStr():
    ## 跨服服务器时间
    if IsCrossServer():
        return GetCurrentDataTimeStr()
    lastCrossServerTime, lastServerTime, _ = PyGameData.g_crossServerTimeInfo
    if not lastCrossServerTime:
        return GetCurrentDataTimeStr()
    curTime = int(time.time())
    crossServerTime = lastCrossServerTime + (curTime - lastServerTime)
    return ChangeTimeNumToStr(crossServerTime)
## 获取玩家的区服名,仅在跨服有效
#  @param curPlayer 玩家实例
#  @return: 区服名
@@ -1080,7 +1091,7 @@
#  @param order 名次,从1开始
#  @param isDefaultLast 找不到的名次是否默认取最后一名的
#  @return obj or None
def GetOrderValueByDict(orderDict, order, isDefaultLast=True):
def GetOrderValueByDict(orderDict, order, isDefaultLast=True, defaultValue=None):
    if order in orderDict:
        return orderDict[order]
    
@@ -1091,7 +1102,7 @@
                return orderDict[dOrder]
        
    # 找不到的默认取最后一名
    return orderDict[orderList[-1]] if isDefaultLast else None
    return orderDict[orderList[-1]] if isDefaultLast else defaultValue
##概率相关, 这个事件是否能够出现
# @param rate 基础几率
@@ -1115,6 +1126,24 @@
    curPlayer.DebugAnswer(text)
    return
def CrossServerMsg_DebugAnswer(msgData):
    playerID, text = msgData
    curPlayer = GetPlayerManager().FindPlayerByID(playerID)
    if not curPlayer:
        return
    curPlayer.DebugAnswer(text)
    return
def DebugAnswerCross(playerID, serverGroupID, text):
    DebugLog(text)
    text = text.decode(ShareDefine.Def_Game_Character_Encoding).encode(GetCharacterEncoding())
    import CrossRealmMsg
    dataMsg = [playerID, text]
    serverGroupIDList = [serverGroupID]
    CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_DebugAnswer, dataMsg, serverGroupIDList)
    return
def GetMap(mapID): return IpyGameDataPY.GetIpyGameData("ChinMap", mapID)
def GetNPCData(npcID): return IpyGameDataPY.GetIpyGameData("ChinNPC", npcID)