4495 【后端】【1.2.0】中立地图之中,每隔X时间额外获得挂机经验  4477 【后端】【1.2.0】开启离线挂机功能后,系统默认赠送10个小时离线挂机时间(无需使用道具)
8个文件已修改
48 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_AddLV.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -854,6 +854,7 @@
GameFuncID_HorsePetRobBoss = 139# 骑宠争夺
GameFuncID_AddPoint = 145       # 加点功能
GameFuncID_LittleHelper = 146   # 小助手
GameFuncID_TJG = 147            # 脱机挂
# 以下为暂时无用的
GameFuncID_Truck = 33           # 运镖
GameFuncID_RunDaily = 34        # 日常跑环
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3175,7 +3175,7 @@
Def_PDict_PKStateTick = "PKStateTick"  # PK状态tick,只要有一方发起攻击,双方均进入PK状态
Def_PDict_BossStateTick = "BossStateTick"  # boss状态tick,攻击boss即进入boss状态
Def_PDict_MapAreaExpTick = "MapAreaExpTick"  # 给场景经验tick
# 装备累计基础属性
Def_PDict_EquipTotalBaseMinAtk = "EquipTotalBaseMinAtk"  # 装备累计基础最小攻击
Def_PDict_EquipTotalBaseMaxAtk = "EquipTotalBaseMaxAtk"  # 装备累计基础最大攻击
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py
@@ -438,8 +438,9 @@
        reLV = curPlayer.GetLV()
        worldlv = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
        giveLV = eval(IpyGameDataPY.GetFuncCompileCfg('FamilyPartySitAward', 2))
        addExp = 0
        if giveLV:
            Item_AddLV.DoAddLVEx(curPlayer, giveLV, True, True, 0)
            addExp = Item_AddLV.DoAddLVEx(curPlayer, giveLV, True, True, 0)
        reLV = curPlayer.GetLV()
        reExp = PlayerControl.GetPlayerReExp(curPlayer)
        giveExp = eval(IpyGameDataPY.GetFuncCompileCfg('FamilyPartySitAward'))
@@ -447,7 +448,7 @@
            PlayerControl.PlayerControl(curPlayer).AddExp(giveExp)
            exp = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExp % playerID)
            expPoint = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExpPoint % playerID)
            newTotalExp = expPoint*ChConfig.Def_PerPointValue+exp+giveExp
            newTotalExp = expPoint*ChConfig.Def_PerPointValue+exp+giveExp+addExp
            gameWorld.SetGameWorldDict(FBPlayerDict_TotalExp % playerID, newTotalExp%ChConfig.Def_PerPointValue)
            gameWorld.SetGameWorldDict(FBPlayerDict_TotalExpPoint % playerID, newTotalExp/ChConfig.Def_PerPointValue)
            
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_AddLV.py
@@ -107,7 +107,7 @@
        # 满级
        if lvUpNeedExp <= 0:
            PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_607994")
            return False
            return 0
        
        giveExp = 0
        for lv in range(curLV, curLV + giveLV):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
@@ -44,6 +44,7 @@
import IPY_GameWorld
import ItemCommon
import ItemControler
import PlayerTJG
# 功能开启需执行的函数{功能ID:执行函数, ...} 函数需返回是否激活成功, 功能开启有需要处理功能逻辑的这里增加函数调用配置即可
@@ -63,6 +64,7 @@
                     ShareDefine.GameFuncID_OSSail:lambda curObj:FunctionNPCCommon.OSSaleOpenMail(curObj),
                     ShareDefine.GameFuncID_AddPoint:lambda curObj:PlayerControl.DoAddPointOpen(curObj),
                     ShareDefine.GameFuncID_Talent:lambda curObj:PlayerGreatMaster.DoTalentOpen(curObj),
                     ShareDefine.GameFuncID_TJG:lambda curObj:PlayerTJG.DoTJGOpen(curObj),
                     #ShareDefine.GameFuncID_RunDaily:lambda curObj:FBCommon.DoFuncOpen_RunDaily(curObj),
                     #ShareDefine.GameFuncID_RunFamily:lambda curObj:FBCommon.DoFuncOpen_RunFamily(curObj),
                     #ShareDefine.GameFuncID_RefineExp:lambda curObj:Operate_PlayerBuyZhenQi.DoFuncOpen_RefineExp(curObj),
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
@@ -54,6 +54,7 @@
import PlayerSuccess
import PassiveBuffEffMng
import PlayerFamilyRedPacket
import FormulaControl
import PlayerGoldGift
import PlayerFlashSale
import PlayerWing
@@ -1230,6 +1231,8 @@
    PlayerFamilyRedPacket.ProcessOSRedPacket(curPlayer, tick)
    #限时抢购
    PlayerFlashSale.ProcessFlashSaleMail(curPlayer, tick)
    #地图经验
    ProcessAreaExp(curPlayer, tick)
    return
@@ -1460,4 +1463,27 @@
    #GameWorld.DebugLog("设置Boss状态tick!tick=%s" % tick, curPlayer.GetPlayerID())
    return
    
def ProcessAreaExp(curPlayer, tick):
    ##给场景经验
    mapID = GameWorld.GetMap().GetMapID()
    neutralMapExpAwardDict = IpyGameDataPY.GetFuncEvalCfg('NeutralMapExpAward', 1, {})
    expAwardInfo = GameWorld.GetDictValueByKey(neutralMapExpAwardDict, mapID)
    if not expAwardInfo:
        return
    if len(expAwardInfo) != 2:
        return
    secondCD, expFormula = expAwardInfo
    lastTick = curPlayer.GetDictByKey(ChConfig.Def_PDict_MapAreaExpTick)
    if not lastTick:
        curPlayer.SetDict(ChConfig.Def_PDict_MapAreaExpTick, tick)
        return
    if tick - lastTick < secondCD:
        return
    curPlayer.SetDict(ChConfig.Def_PDict_MapAreaExpTick, tick)
    
    reExp = PlayerControl.GetPlayerReExp(curPlayer)
    reLV = curPlayer.GetLV()
    worldLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
    addExp = eval(FormulaControl.GetCompileFormula('NeutralMapExpAward%s'%mapID, expFormula))
    PlayerControl.PlayerControl(curPlayer).AddExp(addExp)
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py
@@ -67,6 +67,15 @@
]
Def_EatSpace = 5    # 低于X格自动吞噬
def DoTJGOpen(curPlayer):
    ##脱机挂功能开启 赠送脱机时间
    addTime = IpyGameDataPY.GetFuncCfg('TJGGiftTime')
    AddTJGTime(curPlayer, addTime)
    GameWorld.DebugLog('脱机挂功能开启 赠送脱机时间 %s'%addTime, curPlayer.GetID())
    return
#===============================================================================
# //B2 01 脱机挂状态 # tagCMLoginState
# struct    tagCMLoginState
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -854,6 +854,7 @@
GameFuncID_HorsePetRobBoss = 139# 骑宠争夺
GameFuncID_AddPoint = 145       # 加点功能
GameFuncID_LittleHelper = 146   # 小助手
GameFuncID_TJG = 147            # 脱机挂
# 以下为暂时无用的
GameFuncID_Truck = 33           # 运镖
GameFuncID_RunDaily = 34        # 日常跑环