ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -958,7 +958,7 @@
def OnPlayerLogin(curPlayer):
    DoGMForbidenTalkOnLogin(curPlayer)
    #DoGMForbidenTalkOnLogin(curPlayer)
    curPlayer.SetDict(ChConfig.Def_PDict_DayOnlineCalcTime, int(time.time()))
    return
@@ -1113,7 +1113,7 @@
    playerControl.RefreshAllState()
            
    #玩家下线更新排行榜
    PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer) #排行榜已实时更新,故下线不再同步
    #PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer) #排行榜已实时更新,故下线不再同步
    
    #玩家下线通知gameserver记录缓存(放在下线更新排行榜之后,方便Gameserver判断是否需要存入数据库中)
    PlayerViewCache.OnPlayerLogout(curPlayer)
@@ -4094,20 +4094,21 @@
    GameWorld.DebugLog("SetPlayerAccState %s" % (accState), curPlayer.GetPlayerID())
    return
def DoGMForbidenTalkOnLogin(curPlayer):
    ## 离线时被禁言,此时DB的账号状态值为禁言状态,但是GMOper暂时没有禁言操作命令,故上线时检查设置下离线禁言状态
    ## 目前离线时被禁言的,暂时只处理AccState ExAttr17, GMOper命令暂不处理,所以为永久禁言
    if curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidTalkDevice):
        GameWorld.Log("上线时角色为被设备禁言状态!", curPlayer.GetPlayerID())
        __SetGMForbidenTalkValue(curPlayer, 2)
        __SetGMForbidenTalkValue(curPlayer, 1)
    elif curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidTalk):
        GameWorld.Log("上线时角色为被禁言状态!", curPlayer.GetPlayerID())
        __SetGMForbidenTalkValue(curPlayer, 1)
    else:
        SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_ForbidenTalk, 0)
    return
#GM命令支持离线玩家上线后处理,且 PlayerGMOper 也有上线触发逻辑处理,故暂屏蔽
#def DoGMForbidenTalkOnLogin(curPlayer):
#    ## 离线时被禁言,此时DB的账号状态值为禁言状态,但是GMOper暂时没有禁言操作命令,故上线时检查设置下离线禁言状态
#    ## 目前离线时被禁言的,暂时只处理AccState ExAttr17, GMOper命令暂不处理,所以为永久禁言
#
#    if curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidTalkDevice):
#        GameWorld.Log("上线时角色为被设备禁言状态!", curPlayer.GetPlayerID())
#        __SetGMForbidenTalkValue(curPlayer, 2)
#        __SetGMForbidenTalkValue(curPlayer, 1)
#    elif curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidTalk):
#        GameWorld.Log("上线时角色为被禁言状态!", curPlayer.GetPlayerID())
#        __SetGMForbidenTalkValue(curPlayer, 1)
#    else:
#        SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_ForbidenTalk, 0)
#    return
def IsMainLevelPass(curPlayer, lvID):
    ## 判断玩家是否过关某个主线关卡ID