| | |
| | |
|
| | | Sync_DBPlayer(curPlayer)
|
| | |
|
| | | # 死亡复活
|
| | | if curPlayer.GetHP() <=0 or curPlayer.GetPlayerAction() == IPY_GameWorld.paDie:
|
| | | PlayerRebornByType(curPlayer, ChConfig.rebornType_System, tick)
|
| | | |
| | | # 强刷一次属性,刷之前重置还没同步过所有属性
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_NotifyAllAttrState, 0)
|
| | | playerControl = PlayerControl.PlayerControl(curPlayer)
|
| | |
| | | if PlayerControl.GetCrossMapID(curPlayer):
|
| | | CrossRealmPlayer.DoExitCrossRealm(curPlayer)
|
| | |
|
| | | msgInfo = ""
|
| | | GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetPlayerID(), 0, 0, "RefreshMainServerRole", msgInfo, len(msgInfo))
|
| | | return
|
| | |
|
| | | def Sync_DBPlayer(curPlayer):
|
| | |
| | | #---玩家上线, 宠物逻辑处理---
|
| | | PetControl.DoLogic_PetInfo_OnLogin(curPlayer, tick)
|
| | |
|
| | | PlayerFamily.FamilyPlayerOnLoginCross(curPlayer)
|
| | | #通知运行成功
|
| | | curPlayer.BalanceServer_PlayerLoginInitOK()
|
| | | return
|
| | |
| | |
|
| | | #通知玩家技能信息
|
| | | __Sync_ClientSkill(curPlayer)
|
| | | |
| | | #替换旧物品
|
| | | ItemControler.LoginCheckChangeOldItem(curPlayer)
|
| | | #清除生产采集Buff
|
| | | #PlayerControl.DelProduceBuff(curPlayer, tick)
|
| | | #清除国家答题Buff
|
| | |
| | | return
|
| | |
|
| | |
|
| | |
|
| | | ## 地图NPC数量查询封包 A2 27 查询地图NPC数量信息 #tagCMQueryNPCCntInfo
|
| | | # @param curPlayer
|
| | | # @return None
|
| | | #// A2 27 查询地图NPC数量信息 #tagCMQueryNPCCntInfo
|
| | | #
|
| | | #struct tagCMQueryNPCCntInfo
|
| | | #{
|
| | | # tagHead Head;
|
| | | # DWORD MapID; // 目标地图ID
|
| | | # WORD LineID; // 线路ID
|
| | | # BYTE IsNoTimeLimit;//是否没有查询时间限制,默认有限制
|
| | | # BYTE NPCIDListLen;
|
| | | # char NPCIDList[NPCIDListLen]; // 需要查询的NPCID列表
|
| | | #};
|
| | | def OnQueryMapNPCCntInfo(index, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | if not curPlayer:
|