| | |
| | | import PlayerActTotalRecharge
|
| | | import PlayerSpringSale
|
| | | import PlayerFairyCeremony
|
| | | import CrossRealmPlayer
|
| | | import ChNetSendPack
|
| | | import FamilyRobBoss
|
| | | import FBHelpBattle
|
| | |
| | | import PlayerCoin
|
| | | import PlayerGeTui
|
| | | import PlayerDogz
|
| | | import PlayerCoat
|
| | |
|
| | | import datetime
|
| | | import time
|
| | |
| | | #初始化玩家背包
|
| | | InitPlayerPack(curPlayer)
|
| | |
|
| | | #上线检查一次装备属性
|
| | | ItemControler.PlayerItemControler(curPlayer).CheckRolePackEquipAttr()
|
| | | #上线检查加点属性点
|
| | | PlayerControl.FixOldAddPoint(curPlayer)
|
| | | #通知玩家物品信息
|
| | | __Sync_PackDetel(curPlayer)
|
| | |
|
| | |
| | | PlayerRecover.RecoverOnLogin(curPlayer)
|
| | | #
|
| | | # # ʱװ
|
| | | # PlayerCoat.OnLogin_Coat(curPlayer)
|
| | | PlayerCoat.OnLogin_Coat(curPlayer)
|
| | |
|
| | | # 跨服PK
|
| | | PlayerCrossRealmPK.DoPlayerLogin(curPlayer)
|
| | |
| | | #刷新玩家的视野
|
| | | PlayerState.ChangePlayerSigh(curPlayer, tick)
|
| | |
|
| | | if GameWorld.IsCrossServer():
|
| | | curPlayer.SetForbiddenSyncClientState(False)
|
| | | |
| | | playerControl = PlayerControl.PlayerControl(curPlayer)
|
| | | #刷新所有状态
|
| | | playerControl.ReCalcAllState()
|
| | | |
| | | if GameWorld.IsCrossServer():
|
| | | curPlayer.SetForbiddenSyncClientState(True)
|
| | |
|
| | | #刷新已分钟单位消耗的物品(不让玩家一上线就掉耐久)
|
| | | curPlayer.SetProcessEquipDurgTick(tick)
|
| | |
| | | #如果玩家上线后死亡,回程复活
|
| | | isLogin = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LoadMapIsLogin)
|
| | | rebornType = ChConfig.rebornType_City if isLogin else ChConfig.rebornType_System
|
| | | if GameWorld.IsCrossServer():
|
| | | rebornType = ChConfig.rebornType_System
|
| | | PlayerRebornByType(curPlayer, rebornType, tick)
|
| | |
|
| | | elif curMap.CanMove(posX, posY) != True:
|
| | |
| | |
|
| | | PassiveBuffEffMng.OnLoadMapGFPassive(curPlayer)
|
| | | ItemControler.PlayerItemControler(curPlayer).RefreshStartEquipCount() # 刷新装备珍品星级
|
| | | |
| | | #最后处理下跨服
|
| | | CrossRealmPlayer.OnLoadMapOK(curPlayer)
|
| | | |
| | | #EndLoadMap需放在最后
|
| | | curPlayer.EndLoadMap()
|
| | | return True
|
| | |
| | | sendPack.Clear()
|
| | |
|
| | | NetPackCommon.SendFakePack(curPlayer, sendPack)
|
| | | |
| | | GameWorld.Log("地图切换失败", curPlayer.GetID())
|
| | | return
|
| | | #---------------------------------------------------------------------
|
| | | #===============================================================================
|
| | |
| | | #@return 死亡冷却时间
|
| | | def GetRebronTime(curPlayer, playerRebornType):
|
| | | mapType = GameWorld.GetMap().GetMapFBType()
|
| | | |
| | | if playerRebornType in [ChConfig.rebornType_Health, ChConfig.rebornType_UseItem]:
|
| | | #原地复活、道具复活不用CD
|
| | | return 0
|
| | | |
| | | # 副本地图CD
|
| | | if mapType != IPY_GameWorld.fbtNull:
|
| | | fbRebornTimeDict = IpyGameDataPY.GetFuncEvalCfg('DuplicatesRebornTime', 1)
|
| | |
| | | if curMapID in fbRebornTimeDict:
|
| | | return fbRebornTimeDict[curMapID]
|
| | | return fbRebornTimeDict.get(0, 0)
|
| | | if playerRebornType in [ChConfig.rebornType_Health, ChConfig.rebornType_UseItem]:
|
| | | #原地复活、道具复活不用CD
|
| | | return 0
|
| | | |
| | | if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_IsAddReviveTired):
|
| | | findBuff = SkillCommon.FindBuffByID(curPlayer, ChConfig.Def_SkillID_ReviveTired)[0]
|
| | | if findBuff:
|
| | |
| | | #@param mapBornPlace 复活位置,默认0为原地
|
| | | #@return 返回值无意义
|
| | | #@remarks 自定义函数, 玩家复活
|
| | | def PlayerRebornByType(curPlayer, playerRebornType, tick, mapBornPlace=0):
|
| | | def PlayerRebornByType(curPlayer, playerRebornType, tick, mapBornPlace=0, isAddSuperBuff=True):
|
| | | curPlayerID = curPlayer.GetID()
|
| | | curVipLv = curPlayer.GetVIPLv()
|
| | |
|
| | |
| | | FBLogic.OnResetFBRebornPlacePos(curPlayer, mapBornPlace, tick)
|
| | |
|
| | | #复活加无敌Buff
|
| | | SkillCommon.AddBuffBySkillType_NoRefurbish(curPlayer , ChConfig.Def_SkillID_LimitSuperBuff, tick)
|
| | | if isAddSuperBuff:
|
| | | SkillCommon.AddBuffBySkillType_NoRefurbish(curPlayer , ChConfig.Def_SkillID_LimitSuperBuff, tick)
|
| | | #复活疲劳BUff
|
| | | if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_IsAddReviveTired):
|
| | | findBuff = SkillCommon.FindBuffByID(curPlayer, ChConfig.Def_SkillID_ReviveTired)[0]
|
| | |
| | | #---------------------------------------------------------------------
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | #// C1 05 进入跨服地图 #tagCMEnterCrossServer
|
| | | #
|
| | | #struct tagCMEnterCrossServer
|
| | | #{
|
| | | # tagHead Head;
|
| | | # DWORD DataMapID;
|
| | | #};
|
| | | def OnEnterCrossServer(index, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | PlayerControl.PlayerEnterCrossServer(curPlayer, clientData.DataMapID)
|
| | | return
|
| | | |
| | | #===============================================================================
|
| | | # //03 21 进入副本活动#tagCEnterFbGameEvent
|
| | | # tagCEnterFbGameEvent * GettagCEnterFbGameEvent();
|