ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
@@ -118,6 +118,14 @@
    except ValueError:
        return defValue
    
def ToFloat(input, defValue = 0):
    try:
        result = float(input)
        return result
    except ValueError:
        return defValue
## 判断2个对象是否同国籍 
#  @param srcObj 起点对象 
#  @param desObj 目标对象 
@@ -449,8 +457,8 @@
##获取玩家所属区服ID
# @param curPlayer
# @return
def GetPlayerServerID(curPlayer):
    accID = curPlayer.GetAccID()
def GetPlayerServerID(curPlayer): return GetAccIDServerID(curPlayer.GetAccID())
def GetAccIDServerID(accID):
    infoList = accID.split(Def_AccID_Split_Sign)
    return 0 if len(infoList) < 3 else int(infoList[-1][1:])
@@ -537,6 +545,23 @@
    return tagPlayer.GetRealMapID()
#---------------------------------------------------------------------
def GetTemplateID(ipyData, cfgID, dayIndex):
    if cfgID == None or dayIndex == None or not ipyData:
        return 0
    templateIDList = ipyData.GetTemplateIDList()
    if not templateIDList:
        return 0
    templateID = templateIDList[-1] if dayIndex >= len(templateIDList) else templateIDList[dayIndex]
    return templateID
def GetTemplateIDByList(templateIDList, dayIndex):
    if dayIndex == None:
        return 0
    if not templateIDList:
        return 0
    templateID = templateIDList[-1] if dayIndex >= len(templateIDList) else templateIDList[dayIndex]
    return templateID
def GetOperationActionDateStr(ipyData):
    ## 获取运营活动对应日期,存数字代表开服天配置,需要转化为对应的日期
@@ -1091,7 +1116,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]
    
@@ -1102,7 +1127,7 @@
                return orderDict[dOrder]
        
    # 找不到的默认取最后一名
    return orderDict[orderList[-1]] if isDefaultLast else None
    return orderDict[orderList[-1]] if isDefaultLast else defaultValue
##概率相关, 这个事件是否能够出现
# @param rate 基础几率
@@ -1115,13 +1140,14 @@
    
    return 0
def DebugAnswer(curPlayer, text):
def DebugAnswer(curPlayer, text, isLog=True):
    '''转码后再发DebugAnswer'''
    #===========================================================================
    # if not GetGameWorld().GetDebugLevel():
    #    return
    #===========================================================================
    DebugLog(text)
    if isLog:
        DebugLog(text)
    text = text.decode(ShareDefine.Def_Game_Character_Encoding).encode(GetCharacterEncoding())
    curPlayer.DebugAnswer(text)
    return