5722 【后端】【1.5】跨服BOSS开发(删除异兽之地副本脚本逻辑,宝箱刷新改为配置到 RandomRefreshNPC 中)
5个文件已修改
1个文件已删除
277 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/PyGameData.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dogz.py 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -502,7 +502,6 @@
    state = gameWorld.GetDictByKey(ChConfig.Def_WorldKey_OperationActionState % ShareDefine.OperationActionName_BossReborn)
    if state:
        Sync_BossRebornPoint(curPlayer)
    Sync_DogzNPCRefreshTime(curPlayer)
    return
## 地图启动ok通知
@@ -517,10 +516,6 @@
    if IsMapNeedBossShunt(0):
        GameWorld.SendCommMapServerMsg(ShareDefine.Def_Notify_WorldKey_BossShuntPlayer, PyGameData.g_bossShuntPlayerInfo)
        GameWorld.SendCommMapServerMsg(ShareDefine.Def_Notify_WorldKey_BossShuntLineState, PyGameData.g_bossShuntLineState)
    #通知一个参数
    bossID = IpyGameDataPY.GetFuncCfg('DogzFBRefreshCfg', 2)
    onlineCnt = __GetBossOnlineHeroCnt(bossID)[0]
    GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_BossOnlineHeroCnt % bossID, onlineCnt)
    
    #仙盟击杀骑宠boss数
    if PyGameData.g_familyKillHorsePetRobBossCntDict:
@@ -655,8 +650,6 @@
    
    newNum = newOnlieCnt * 100 + unUpdataCnt
    PlayerDBGSEvent.SetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_GameWorldBossOnlineCnt % bossid, newNum)
    if bossid == IpyGameDataPY.GetFuncCfg('DogzFBRefreshCfg', 2):
        GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_BossOnlineHeroCnt % bossid, newOnlieCnt)
    GameWorld.DebugLog("设置计算boss刷新时间用的在线人数 Change:bossid=%s, beforeOnlineCnt = %s, newOnlieCnt = %s, unUpdataCnt=%s" % (bossid, beforeOnlineCnt, newOnlieCnt, unUpdataCnt))
    return
@@ -1080,38 +1073,6 @@
    packData.RebornCnt = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_BossRebornCnt)
    playerManager = GameWorld.GetPlayerManager()
    if not curPlayer:
        for i in xrange(playerManager.GetActivePlayerCount()):
            curPlayer = playerManager.GetActivePlayerAt(i)
            if curPlayer == None or not curPlayer.GetInitOK():
                continue
            if PlayerControl.GetIsTJG(curPlayer):
                continue
            NetPackCommon.SendFakePack(curPlayer, packData)
    else:
        if PlayerControl.GetIsTJG(curPlayer):
            return
        NetPackCommon.SendFakePack(curPlayer, packData)
    return
def Sync_DogzNPCRefreshTime(curPlayer=None):
    #同步神兽副本NPC刷新时间
    refreshTimeDict = PyGameData.g_dogzNPCRefreshTimeDict
    if not refreshTimeDict:
        return
    curTime = int(time.time())
    packData = ChPyNetSendPack.tagGCDogzNPCRefreshTime()
    packData.InfoList=[]
    for npcid, timeinfo in refreshTimeDict.items():
        lastRefreshTime, nextNeedTime = timeinfo
        remainTime = max(0, nextNeedTime - curTime + lastRefreshTime)
        timeInfo = ChPyNetSendPack.tagDogzTimeInfoObj()
        timeInfo.NPCID = npcid
        timeInfo.RefreshSecond = remainTime
        packData.InfoList.append(timeInfo)
    packData.Cnt = len(packData.InfoList)
    if not curPlayer:
        playerManager = GameWorld.GetPlayerManager()
        for i in xrange(playerManager.GetActivePlayerCount()):
            curPlayer = playerManager.GetActivePlayerAt(i)
            if curPlayer == None or not curPlayer.GetInitOK():
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -852,11 +852,7 @@
    if callName =="AddBossRebornPoint":
        GameWorldBoss.AddBossRebornPoint(eval(resultName))
        return
    #通知神兽副本NPC刷新时间
    if callName =="DogzNPCTime":
        PyGameData.g_dogzNPCRefreshTimeDict = eval(resultName)
        GameWorldBoss.Sync_DogzNPCRefreshTime()
        return
#---return分割线-----------------------------------------------------------------
    
ServerPython/CoreServerGroup/GameServer/Script/PyGameData.py
@@ -77,7 +77,6 @@
g_familyPartyTopInfo = [] #仙盟宴会答题王 [playerID,名字]
g_partyheroAnswerDict = {} #仙盟宴会玩家答题数量 {playerid:答题数量,..}
g_dogzNPCRefreshTimeDict = {} # 神兽副本NPC刷新时间{npcid:剩余刷新时间}
g_bourseItemTradingTimeDict = {} # 物品开始交易的时间记录 {guid:tick}
g_fbHelpBattleCheckInPlayerDict = {} # 副本助战玩家登记缓存 {playerID:HelpBattlePlayer, ...}
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -1888,7 +1888,6 @@
                'Guard':[Def_FBMapID_Guard], #守护副本
                'SealDemon':[Def_FBMapID_SealDemon, Def_FBMapID_SealDemonEx], #封魔坛
                'XMZZ':[Def_FBMapID_XMZZ], #仙魔之争
                'Dogz':[Def_FBMapID_Dogz], #神兽副本
                'CrossRealmPK':[Def_FBMapID_CrossRealmPK], #跨服竞技场
                'GatherSoul':[Def_FBMapID_GatherSoul],#聚魂副本
                }
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dogz.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -74,7 +74,6 @@
import GameLogic_ElderBattlefield
import GameLogic_FamilyBoss
import GameLogic_FamilyWar
import GameLogic_Dogz
import OpenServerCampaign
import PlayerCostRebate
import PlayerActTotalRecharge
@@ -1409,9 +1408,7 @@
    # 活动buff状态变更
    elif key.startswith(ShareDefine.Def_Notify_WorldKey_ActionBuffState[:-2]):            
        PlayerAction.OnActionBuffStateChange(key, tick)
    #boss刷新时间参数
    elif key.startswith(ShareDefine.Def_Notify_WorldKey_BossOnlineHeroCnt[:-2]):
        GameLogic_Dogz.OnOnlineCntChange(key, tick)
#===============================================================================
#    ---修改为上述的 统一字典处理
#    if msg == ChConfig.Def_Notify_Key_PurTalk: