8585 【主干】【BT3】【bt3_1.100.1】【后端】竞技场(新增玩家初始积分设置;优化赛季重置玩家积分重置逻辑)
1个文件已修改
19 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.py 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.py
@@ -95,24 +95,23 @@
        GameWorld.DebugLog("开服定制天内不能重置!")
        return
    
    minScore, maxScore = IpyGameDataPY.GetFuncEvalCfg("ArenaSet", 1)
    setScore = minScore
    setScoreMin, setScoreMax, refScoreMax = IpyGameDataPY.GetFuncEvalCfg("ArenaSet", 2)
    setScore = setScoreMin
    if openServerDay <= customMaxServerDay and OSSeasonState == 0:
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ArenaOSSeasonState, 1)
        GameWorld.DebugLog("竞技场开服定制赛季! setScore=%s" % setScore)
    else:
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ArenaOSSeasonState, customMaxServerDay + 1)
        
        # 按比例降低积分,都减去最低分的差值算比例
        setScoreMax = IpyGameDataPY.GetFuncCfg("ArenaSet", 2)
        preSeasonscore = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaScore)
        if preSeasonscore <= minScore:
            setScore = minScore
        elif preSeasonscore >= maxScore:
        if preSeasonscore <= setScoreMin:
            setScore = setScoreMin
        elif preSeasonscore >= refScoreMax:
            setScore = setScoreMax
        else:
            calcScore = preSeasonscore - minScore
            setScore = minScore + int(calcScore * (setScoreMax - minScore) / float(maxScore - minScore))
        else:
            # 按比例降低积分,都减去最低分的差值算比例
            calcScore = preSeasonscore - setScoreMin
            setScore = setScoreMin + int(calcScore * (setScoreMax - setScoreMin) / float(refScoreMax - setScoreMin))
            
        GameWorld.DebugLog("竞技场赛季重置! preSeasonscore=%s,setScore=%s" % (preSeasonscore, setScore))