hxp
2024-05-29 9ce8bbbc2f6ec571d6e9b93261dfab8b068a33d6
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -81,7 +81,6 @@
import ShareDefine
import GameWorldAverageLv
import PlayerDBOper
import PlayerGeTui
import GameWorldBoss
import PlayerCompensation
import ReadChConfig
@@ -97,6 +96,7 @@
import PlayerFairyDomain
import IpyGameDataPY
import PlayerFamilyParty
import PlayerFamilyZhenfa
import GameWorldFamilyWar
import GameWorldArena
import CrossLuckyCloudBuy
@@ -111,6 +111,8 @@
import GameWorldOpenServerCampaign
import CrossBillboard
import CrossChampionship
import GameWorldMineArea
import GameWorldAlineInvade
#---------------------------------------------------------------------
#---------------------------------------------------------------------
@@ -175,7 +177,6 @@
    GameWorldOpenServerCampaign.DoOnDay()
    #清理过期补偿
    PlayerCompensation.ClearUpTimeOutCompensation()
    #PlayerGeTui.ClearFMTGeTuiLimit()
    import PlayerBourse
    PlayerBourse.OverTimeItemsDeal()
    # 仙盟联赛
@@ -184,6 +185,8 @@
    PlayerLove.DoOnDay()
    # 云购
    CrossLuckyCloudBuy.DoOnDay()
    # 异兽入侵
    GameWorldAlineInvade.DoOnDay()
    return
def OnDayEx(tick):
@@ -311,8 +314,7 @@
    CrossRealmPK.OnPKMatchProcess(tick)
    
    GameWorldBoss.DoCheckWorldBossReborn(tick)
    #GameWorldBoss.ProcessBossGeTui(tick)
    #PlayerGeTui.ProcessNewGuyCallBackGeTui(tick)
    #组队副本版本
    PlayerTeam.DoTeamProcess(tick)
    
@@ -324,6 +326,9 @@
    
    #情缘
    PlayerLove.OnTimeProcess(curTime, tick)
    #福地
    GameWorldMineArea.OnMineItemTimeProcess(curTime, tick)
    
    #每整分钟处理一次
    curDateTime = datetime.datetime.today()
@@ -358,6 +363,7 @@
def GameWorldProcessOnMinute(curMinute, tick):
    # 每整分钟触发一次
    CheckServerHasPlayerLoginAfterInitOK()
    #检查服务器正式开服
    DoCheckNewServerOpen(tick)
    #回报数据库当前在线玩家数
@@ -382,11 +388,31 @@
    PlayerFamilyRedPacket.OnRedPacketMinuteProcess()
    #拍卖行
    AuctionHouse.OnAuctionItemMinuteProcess(tick)
    #福地
    GameWorldMineArea.OnProcessOnMinute()
    #每5分钟触发一次仙盟总战力更新
    if curMinute % 5 == 0:
        PlayerFamily.UpdFamilyTotalFightPower()
        PlayerFamilyRedPacket.CheckDelRedpacketData()
        
    return
def CheckServerHasPlayerLoginAfterInitOK():
    ## 检查服务器启动成功后是否有玩家正常登录
    initGameWorldTime = GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_IsGameWorldInit)
    if not initGameWorldTime:
        return
    if PyGameData.g_noPlayerLoginWarningMailState:
        return
    curTime = int(time.time())
    noPlayerLoginWarningTimes = IpyGameDataPY.GetFuncCfg("ServerEvent", 1) * 60 # x分钟没有玩家登录则预警
    if curTime - initGameWorldTime < noPlayerLoginWarningTimes:
        return
    GameWorld.SendGameError("NoPlayerLogin")
    PyGameData.g_noPlayerLoginWarningMailState = 1
    return
def OnReloadConfig():
@@ -1483,6 +1509,8 @@
    SendMapCommMapLinePlayerCount(True) # 同步一次普通地图线路人数信息
    #随机假仙盟
    PlayerFamily.RandomFakeFamily()
    #仙盟阵法
    PlayerFamilyZhenfa.OnMapServerInitOK()
    #缥缈仙域
    PlayerFairyDomain.OnMapServerInitOK()
    #情侣信息