ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -79,6 +79,8 @@
import GameLogic_FamilyWar
import PlayerBossReborn
import PlayerWeekParty
import PlayerFeastWeekParty
import PlayerActLogin
import Operate_EquipWash
import PlayerTreasure
import GameLogic_GodArea
@@ -101,6 +103,8 @@
import PlayerActTotalRecharge
import PlayerSpringSale
import PlayerFairyCeremony
import PlayerNewFairyCeremony
import PlayerFeastRedPacket
import CrossRealmPlayer
import ChNetSendPack
import FamilyRobBoss
@@ -110,6 +114,7 @@
import PlayerGeTui
import PlayerDogz
import PlayerCoat
import PlayerQuDaoDoubleBill
import datetime
import time
@@ -409,10 +414,24 @@
        PetControl.DoLogic_PetInfo_OnLogin(curPlayer, tick)
        
        PlayerFamily.FamilyPlayerOnLoginCross(curPlayer)
        PlayerTeam.OnPlayerLoginCrossServer(curPlayer)
        #通知运行成功
        curPlayer.BalanceServer_PlayerLoginInitOK()
        return
    
    leaveServerSecond = PlayerControl.GetPlayerLeaveServerSecond(curPlayer)
    if leaveServerSecond > ChConfig.Def_PlayerOfflineProtectTime / 1000:
        # 离线超过离线保护重置切线临时保存的相关记录值
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_PlayChangeLineID, 0)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FuncChangeLineID, 0)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HighChangeLineID, 0)
        #GameWorld.DebugLog("离线超过10秒重置切线临时保存的相关记录值!leaveServerSecond=%s" % leaveServerSecond, curPlayer.GetPlayerID())
        # 离线过久恢复为非跨服状态
        if PlayerControl.GetCrossMapID(curPlayer):
            PlayerControl.SetCrossMapID(curPlayer, 0)
    SyncGuideState(curPlayer)
    
    #上线检查一次装备属性
@@ -456,18 +475,6 @@
    PlayerPrestigeSys.OnLogin(curPlayer)
    DataRecordPack.DR_PlayerLogin(curPlayer)
    EventReport.WriteEvent_login(curPlayer)
    leaveServerSecond = PlayerControl.GetPlayerLeaveServerSecond(curPlayer)
    if leaveServerSecond > ChConfig.Def_PlayerOfflineProtectTime / 1000:
        # 离线超过离线保护重置切线临时保存的相关记录值
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_PlayChangeLineID, 0)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FuncChangeLineID, 0)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HighChangeLineID, 0)
        #GameWorld.DebugLog("离线超过10秒重置切线临时保存的相关记录值!leaveServerSecond=%s" % leaveServerSecond, curPlayer.GetPlayerID())
        # 离线过久恢复为非跨服状态
        if PlayerControl.GetCrossMapID(curPlayer):
            PlayerControl.SetCrossMapID(curPlayer, 0)
            
    # 合服首登处理
    __DoMixServerFirstLogin(curPlayer)
@@ -676,6 +683,7 @@
    PlayerRune.PlayerRuneLogin(curPlayer)
    # 仙盟红包登录通知
    PlayerFamilyRedPacket.OnPlayerLogin(curPlayer)
    PlayerFeastRedPacket.DoPlayerOnLogin(curPlayer)
    # 法宝登录通知
    PlayerMagicWeapon.PlayerMagicWeaponLogin(curPlayer)
    # 商店物品购买次数登录通知
@@ -703,8 +711,14 @@
    PlayerBossReborn.OnLogin(curPlayer)
    # 周狂欢活动
    PlayerWeekParty.OnLogin(curPlayer)
    # 节日巡礼活动
    PlayerFeastWeekParty.OnLogin(curPlayer)
    # 登录奖励活动
    PlayerActLogin.OnLogin(curPlayer)
    # 仙界盛典活动
    PlayerFairyCeremony.OnLogin(curPlayer)
    # 新仙界盛典活动
    PlayerNewFairyCeremony.OnLogin(curPlayer)
    # 分支下载奖励记录通知
    SyncPackDownloadAward(curPlayer)
    # 登录触发功能开启(老号处理)
@@ -736,6 +750,7 @@
    # 如果被禁言的,上线同步前端
    if curPlayer.GetGMForbidenTalk():
        curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_ForbidenTalk, curPlayer.GetGMForbidenTalk(), False)
    return
@@ -919,11 +934,22 @@
#@return 返回值无意义
#@remarks 通知玩家技能信息
def __Sync_ClientSkill(curPlayer):
    sendPack = ChPyNetSendPack.tagMCPlayerSkills()
    sendPack.Clear()
    sendPack.Skills = []
    skillManager = curPlayer.GetSkillManager()
    for i in range(skillManager.GetSkillCount()):
        curSkill = skillManager.GetSkillByIndex(i)
        curSkill.Sync_Skill()
        #curSkill.Sync_Skill()
        skillInfo = ChPyNetSendPack.tagPlayerSkill()
        skillInfo.SkillID = curSkill.GetSkillID()
        skillInfo.RemainTime = curSkill.GetRemainTime()
        skillInfo.Proficiency = curSkill.GetProficiency()
        sendPack.Skills.append(skillInfo)
    sendPack.Count = len(sendPack.Skills)
    NetPackCommon.SendFakePack(curPlayer, sendPack)
    return
 
#---------------------------------------------------------------------
@@ -1018,6 +1044,7 @@
    #刷新玩家的视野
    if not GameWorld.IsCrossServer() and PlayerControl.GetCrossMapID(curPlayer):
        GameWorld.DebugLog("===登录本服地图时,处于跨服状态,不刷新视野!", curPlayer.GetPlayerID())
        curPlayer.SetSight(0)
    else:
        PlayerState.ChangePlayerSigh(curPlayer, tick)
    
@@ -1244,6 +1271,15 @@
    #初始化神兽装备背包
    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzEquip)
    curPack.SetCount(ChConfig.Def_PackCnt_DogzEquip)
    curPack.Sync_PackCanUseCount()
    #初始化诛仙物品背包
    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptZhuXianItem)
    curPack.SetCount(ChConfig.Def_PackCnt_ZhuXianItem)
    curPack.Sync_PackCanUseCount()
    #初始化诛仙装备背包
    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptZhuXianEquip)
    curPack.SetCount(ChConfig.Def_PackCnt_ZhuXianEquip)
    curPack.Sync_PackCanUseCount()
    
    #初始化临时交换背包
@@ -1530,6 +1566,8 @@
    
    #EndLoadMap需放在最后
    curPlayer.EndLoadMap()
    # 渠道返利
    PlayerQuDaoDoubleBill.OnMapQDDoubleBill(curPlayer)
    return True
## 切换地图同步一次PK模式
@@ -5311,7 +5349,21 @@
    # 领取周狂欢积分奖励
    elif rewardType == ChConfig.Def_RewardType_WeekPartyPoint:
        PlayerWeekParty.GetWeekPartyPointAward(curPlayer, dataEx, dataExStr)
    # 领取登录奖励活动奖励
    elif rewardType == ChConfig.Def_RewardType_ActLoginAwardAct:
        PlayerActLogin.GetLoginAwardActionAward(curPlayer, dataEx, dataExStr)
    # 领取新仙界盛典充值大礼
    elif rewardType == ChConfig.Def_RewardType_NewFairyCRecharge:
        PlayerNewFairyCeremony.GetFCRechargeAward(curPlayer)
    # 领取新仙界盛典全民来嗨
    elif rewardType == ChConfig.Def_RewardType_NewFairyCParty:
        PlayerNewFairyCeremony.GetFCPartyAward(curPlayer, dataEx)
    # 领取节日巡礼活动奖励
    elif rewardType == ChConfig.Def_RewardType_FeastWeekPartyAct:
        PlayerFeastWeekParty.GetFeastWeekPartyActionAward(curPlayer, dataEx, dataExStr)
    # 领取节日巡礼积分奖励
    elif rewardType == ChConfig.Def_RewardType_FeastWeekPartyPoint:
        PlayerFeastWeekParty.GetFeastWeekPartyPointAward(curPlayer, dataEx, dataExStr)
    return