ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
@@ -39,9 +39,6 @@
import GameWorld
import ChConfig
import PlayerControl
import FamilyRobBoss
import NPCCustomRefresh
import EventShell
import FBLogic
import FBCommon
import EventReport
@@ -109,10 +106,8 @@
        return
    
    if fbType == IPY_GameWorld.fbtSingle:
        ownerID = gameFBMgr.GetGameFBDictByKey(ChConfig.Def_FB_SingleFBPlayerID)
        if ownerID in PyGameData.g_fbHelpBattlePlayerDict:
            PyGameData.g_fbHelpBattlePlayerDict.pop(ownerID)
            GameWorld.DebugLog("清除单人副本镜像助战信息: ownerID=%s" % ownerID)
        pass
    elif fbType == IPY_GameWorld.fbtTeam:
        teamID = gameWorld.GetPropertyID()
        if teamID in PyGameData.g_teamFBMemRelationDict:
@@ -161,7 +156,7 @@
            GameWorld.Log("发送未拾取的物品给玩家: %s" % mailItemList, ownerID)
            if isCrossServer:
                serverGroupID = playerServerGroupIDDict.get(ownerID, 0)
                PlayerControl.SendCrossMail(serverGroupID, "ItemNoPickUp", [ownerID], mailItemList, [gameWorld.GetMapID()])
                # 删除旧版发送邮件,如果功能还有需要,可使用新版本发送邮件 PlayerMail
            else:
                PlayerControl.SendMailByKey("ItemNoPickUp", [ownerID], mailItemList, [gameWorld.GetMapID()])
        
@@ -272,10 +267,7 @@
        if playerExistTime < existTime / 2:
            #这个玩家存在时间过短, 不能触发副本结束的事件
            continue
        #副本时间到了, 调用时间到响应
        EventShell.EventResponse_OnFBTimeOut(curPlayer)
    #输出调试信息
    GameWorld.Log('__ProcessTimeKickPlayer! LineID = %s, openState = %s'%(gameWorld.GetLineID(), gameWorld.GetOpenState()))
    
@@ -551,11 +543,7 @@
    #定时检测关闭超时文件
    EventReport.OnTimeCloseScribeTxt()
    
    #仙盟归属boss定时处理
    FamilyRobBoss.OnFamilyOwnerBossProcess(tick)
    #地图自定义随机刷怪
    NPCCustomRefresh.ProcessMapRandomRefreshNPC(gameWorld, tick)
    NPCRealmRefresh.ProcessRealmNPCRefresh(gameWorld, tick)
    return
@@ -588,7 +576,6 @@
def InitGameWorld(tick):
    gameWorld = GameWorld.GetGameWorld()
    ItemCommon.InitPyItem()
    EventShell.DoReloadRefresh()
    #处理副本逻辑
    FBLogic.OnInit(tick)
    #初始化地图时钟
@@ -603,13 +590,7 @@
    gameWorld.BalanceServer_MapServerInitOK()
    return
## 初始化共享表(原c++表)
#  @param tick 当前时间
#  @return None
def ReadShareData(tick):
    from PyMongoDB import PyMongoMain
    PyMongoMain.GetUserCtrlDB().OnGetGameData()
    return
def GameServer_CommMapServerInitOK(gameWorld):
    '''
@@ -734,3 +715,49 @@
    return
#---------------------------------------------------------------------
## 初始化共享表(原c++表)
#  @param tick 当前时间
#  @return None
def ReadShareData(tick):
    #读取静态表,与数据库无关 不要调用UserCtrlDB
    from PyMongoDB.Collections import DataServerGameData
    from PyMongoDB.DBCommon import (GlobalFunctions, CommonDefine, error)
    from PyMongoDB.Common import (CommFunc, )
    import NetPackCommon
    import os
    import zlib
    sysData = DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinNPC,
                                                os.path.join(GlobalFunctions.getServerConfigPath(),
                                                                CommonDefine.SYSDB_PATH,
                                                                'tagChinNPC.txt'))
    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinSkill,
                                        os.path.join(GlobalFunctions.getServerConfigPath(),
                                                    CommonDefine.SYSDB_PATH,
                                                    'tagChinSkill.txt'))
    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinItem,
                                        os.path.join(GlobalFunctions.getServerConfigPath(),
                                                    CommonDefine.SYSDB_PATH,
                                                    'tagChinItem.txt'))
    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMap,
                                        os.path.join(GlobalFunctions.getServerConfigPath(),
                                                    CommonDefine.SYSDB_PATH,
                                                    'tagChinMap.txt'))
    #压缩
    try:
        compressSysData = zlib.compress(sysData, 9)    #最大压缩
        #回发地图
        data = ''
        data = CommFunc.WriteBYTE(data, CommonDefine.dgGameData)         #1
        data = CommFunc.WriteString(data, len(compressSysData), compressSysData)
        GameWorld.Log('Load game sys data for len = %s - %s ok!'%(len(compressSysData), len(data)))
        NetPackCommon.SendPyPackToMapServerSelf(data, len(data))
    except:
        msg = error.formatMsg('fatal', error.ERROR_NO_53, 'Compress game sys data failed!error = \n%s'%traceback.format_exc())
        GameWorld.ErrLog(msg)
    return