From 78f005e3fe86b6033255b37b03061cb491812dcb Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 24 一月 2019 15:07:35 +0800 Subject: [PATCH] 2936 【1.5.100】诛仙塔挑战失败也会给予奖励并扣除次数 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 47 insertions(+), 13 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py index 3e66e3c..7ea7fff 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py @@ -79,6 +79,7 @@ import GameLogic_FamilyWar import PlayerBossReborn import PlayerWeekParty +import PlayerActLogin import Operate_EquipWash import PlayerTreasure import GameLogic_GodArea @@ -110,6 +111,7 @@ import PlayerGeTui import PlayerDogz import PlayerCoat +import PlayerQuDaoDoubleBill import datetime import time @@ -408,10 +410,25 @@ #---玩家上线, 宠物逻辑处理--- 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) #上线检查一次装备属性 @@ -455,18 +472,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) @@ -702,6 +707,8 @@ PlayerBossReborn.OnLogin(curPlayer) # 周狂欢活动 PlayerWeekParty.OnLogin(curPlayer) + # 登录奖励活动 + PlayerActLogin.OnLogin(curPlayer) # 仙界盛典活动 PlayerFairyCeremony.OnLogin(curPlayer) # 分支下载奖励记录通知 @@ -735,6 +742,7 @@ # 如果被禁言的,上线同步前端 if curPlayer.GetGMForbidenTalk(): curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_ForbidenTalk, curPlayer.GetGMForbidenTalk(), False) + return @@ -918,11 +926,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 #--------------------------------------------------------------------- @@ -1017,6 +1036,7 @@ #刷新玩家的视野 if not GameWorld.IsCrossServer() and PlayerControl.GetCrossMapID(curPlayer): GameWorld.DebugLog("===登录本服地图时,处于跨服状态,不刷新视野!", curPlayer.GetPlayerID()) + curPlayer.SetSight(0) else: PlayerState.ChangePlayerSigh(curPlayer, tick) @@ -1243,6 +1263,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() #初始化临时交换背包 @@ -1529,6 +1558,8 @@ #EndLoadMap需放在最后 curPlayer.EndLoadMap() + # 渠道返利 + PlayerQuDaoDoubleBill.OnMapQDDoubleBill(curPlayer) return True ## 切换地图同步一次PK模式 @@ -5310,6 +5341,9 @@ # 领取周狂欢积分奖励 elif rewardType == ChConfig.Def_RewardType_WeekPartyPoint: PlayerWeekParty.GetWeekPartyPointAward(curPlayer, dataEx, dataExStr) + # 领取登录奖励活动奖励 + elif rewardType == ChConfig.Def_RewardType_ActLoginAwardAct: + PlayerActLogin.GetLoginAwardActionAward(curPlayer, dataEx, dataExStr) return -- Gitblit v1.8.0