hxp
2026-03-06 2470d825e304e982261afd240d06ef03cd5366e8
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
@@ -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
@@ -4149,8 +4150,7 @@
        PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_MainLevel)
        PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_MainLevel, lvID)
        PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_OSAMainLevel, lvID)
        if OpenServerActivity.GetOSAState(curPlayer, ShareDefine.Def_BT_OSA_MainLevel) == 1:
            PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_OSA_MainLevel, lvID)
        OpenServerActivity.UpdOSA_MainLevelBillboard(curPlayer, lvID)
        DataRecordPack.DR_MainLevelPass(curPlayer, lvID)
    return value
def GetMainLevelPassInfo(curPlayer):