DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnSelectPlayer()

void ManBase::OnSelectPlayer ( )
inlineprotected

add callbacks for ai target system

См. определение в файле PlayerBase.c строка 5851

5852 {
5853 //Print("PlayerBase | OnSelectPlayer()");
5854 m_PlayerSelected = true;
5855
5856 m_QuickBarBase.updateSlotsCount();
5857
5858 m_WeaponManager.SortMagazineAfterLoad();
5859
5860 PlayerIdentity identity = GetIdentity();
5861
5862#ifdef FEATURE_NETWORK_RECONCILIATION
5863 if (identity)
5864 {
5866 identity.Possess(this);
5867 }
5868#endif
5869
5870 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_SERVER || !GetGame().IsMultiplayer())
5871 {
5872 if (identity)
5873 {
5874 m_CachedPlayerID = identity.GetId();
5875 m_CachedPlayerName = identity.GetName();
5876 }
5877
5879 SetAITargetCallbacks(new AITargetCallbacksPlayer(this));
5880
5881 array<ref Param> params = new array<ref Param>;
5882 if (m_aQuickBarLoad)
5883 {
5884 int count = m_aQuickBarLoad.Count();
5885 Param1<int> paramCount = new Param1<int>(count);
5886 params.Insert(paramCount);
5887 for (int i = 0; i < count; i++)
5888 {
5889 m_QuickBarBase.OnSetEntityNoSync(m_aQuickBarLoad.Get(i).param1,m_aQuickBarLoad.Get(i).param2);
5890 params.Insert(m_aQuickBarLoad.Get(i));
5891 }
5892
5893 if (count > 0 && GetGame().IsMultiplayer())
5894 {
5895 GetGame().RPC(this, ERPCs.RPC_INIT_SET_QUICKBAR, params, true, identity);
5896 }
5897 m_aQuickBarLoad = NULL;
5898 }
5899
5901 GetModifiersManager().SetModifiers(true);
5902
5903 SetSynchDirty();
5904
5905 if (GetGame().IsMultiplayer())
5906 {
5907 //Drop item warning
5909 {
5910 GetGame().RPCSingleParam(this, ERPCs.RPC_WARNING_ITEMDROP, null, true, identity);
5911 m_ProcessUIWarning = false;
5912 }
5913
5915 }
5916 }
5917
5918 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_SERVER)
5919 {
5920 m_ActionManager = new ActionManagerServer(this);
5921 m_ConstructionActionData = new ConstructionActionData();
5922
5923 CheckForGag();
5924 }
5925 else if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
5926 {
5927 m_ActionManager = new ActionManagerClient(this);
5928 m_CraftingManager = new CraftingManager(this,m_ModuleRecipesManager);
5929 m_ConstructionActionData = new ConstructionActionData();
5930
5931 }
5932 else if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_AI_SINGLEPLAYER)
5933 {
5934 m_ActionManager = new ActionManagerServer(this);
5935 }
5936
5937 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
5938 {
5939 if (GetGame().GetMission())
5940 {
5942 // force update player
5943 GetDayZGame().GetBacklit().UpdatePlayer(true);
5944 }
5945
5946 m_DeathCheckTimer = new Timer();
5947 m_DeathCheckTimer.Run(0.1, this, "CheckDeath", null, true);
5948 PPEManagerStatic.GetPPEManager().StopAllEffects(PPERequesterCategory.ALL);
5950
5951 int characterCount = GetGame().GetMenuData().GetCharactersCount() - 1;
5953 if (idx == GameConstants.DEFAULT_CHARACTER_MENU_ID || idx > characterCount)
5954 {
5956 }
5957
5959
5961 m_PresenceNotifier.Init(this);
5962 #ifdef DIAG_DEVELOPER
5963 m_TargetTemperatureDiag = PluginTargetTemperature.Cast(GetPlugin(PluginTargetTemperature));
5964 m_TargetTemperatureDiag.Init(this);
5965 #endif
5966 OnGameplayDataHandlerSync();//only here for legacy reasons
5967 }
5968
5969#ifdef BOT
5970 m_Bot = new Bot(this);
5971 m_Bot.Start(true, new MyBotTrigger(this));
5972#endif
5973 }
DayZGame GetDayZGame()
Определения DayZGame.c:3870
ERPCs
Определения ERPCs.c:2
PPERequesterCategory
Определения PPEConstants.c:29
override float Get()
Определения PlayerStatBase.c:134
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:316
void PluginPresenceNotifier()
Определения PluginPresenceNotifier.c:107
proto native void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
proto native MenuData GetMenuData()
Return singleton of MenuData class - at main menu contains characters played with current profile.
proto native void RPC(Object target, int rpcType, notnull array< ref Param > params, bool guaranteed, PlayerIdentity recipient=null)
Initiate remote procedure call. When called on client, RPC is evaluated on server; When called on ser...
proto native Mission GetMission()
PlayerStat< float > GetStatSpecialty()
Определения PlayerBase.c:7672
ref CraftingManager m_CraftingManager
Определения PlayerBase.c:83
void CheckForGag()
Определения PlayerBase.c:6017
ModifiersManager GetModifiersManager()
Определения PlayerBase.c:7595
string m_CachedPlayerName
Определения PlayerBase.c:175
void CheckForBurlap()
Определения PlayerBase.c:5995
bool m_ProcessUIWarning
Определения PlayerBase.c:20
SoftSkillsManager GetSoftSkillsManager()
Определения PlayerBase.c:6752
override void OnGameplayDataHandlerSync()
Определения PlayerBase.c:5607
PluginPresenceNotifier m_PresenceNotifier
Определения PlayerBase.c:32
string m_CachedPlayerID
Определения PlayerBase.c:176
ref array< ref Param2< EntityAI, int > > m_aQuickBarLoad
Определения PlayerBase.c:196
PluginRecipesManager m_ModuleRecipesManager
Определения PlayerBase.c:37
ref WeaponManager m_WeaponManager
Определения PlayerBase.c:82
ref ConstructionActionData m_ConstructionActionData
Определения PlayerBase.c:224
ref Timer m_DeathCheckTimer
Определения PlayerBase.c:99
void SetNewCharName()
Определения PlayerBase.c:5988
QuickBarBase m_QuickBarBase
Определения PlayerBase.c:86
ActionManagerBase m_ActionManager
Определения PlayerBase.c:43
proto native int GetLastPlayedCharacter()
proto native int GetCharactersCount()
void SyncRespawnModeInfo(PlayerIdentity identity)
server-side
void EnableAllInputs(bool bForceSupress=false)
void ResetGUI()
Определения gameplay.c:718
proto string GetName()
nick (short) name of player
proto string GetId()
unique id of player (hashed steamID, database Xbox id...) can be used in database or logs
proto void Call(func fn, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
void InitSpecialty(float specialty_level)
Определения SoftSkillsManager.c:42
DayZPlayerInstanceType
defined in C++
Определения dayzplayer.c:1068
proto native DayZPlayerInstanceType GetInstanceType()
proto native CGame GetGame()
const int CALL_CATEGORY_GUI
Определения tools.c:9

Перекрестные ссылки ScriptCallQueue::Call(), CALL_CATEGORY_GUI, CheckForBurlap(), CheckForGag(), GameConstants::DEFAULT_CHARACTER_MENU_ID, Mission::EnableAllInputs(), Get(), CGame::GetCallQueue(), MenuData::GetCharactersCount(), GetDayZGame(), GetGame(), PlayerIdentityBase::GetId(), GetInstanceType(), MenuData::GetLastPlayedCharacter(), CGame::GetMenuData(), CGame::GetMission(), GetModifiersManager(), PlayerIdentityBase::GetName(), GetPlugin(), PPEManagerStatic::GetPPEManager(), GetSoftSkillsManager(), GetStatSpecialty(), m_ActionManager, m_aQuickBarLoad, m_CachedPlayerID, m_CachedPlayerName, m_ConstructionActionData, m_CraftingManager, m_DeathCheckTimer, m_ModuleRecipesManager, m_PresenceNotifier, m_ProcessUIWarning, m_QuickBarBase, m_WeaponManager, PlayerBase::OnGameplayDataHandlerSync(), PluginPresenceNotifier(), Mission::ResetGUI(), CGame::RPC(), CGame::RPCSingleParam(), SetNewCharName() и Mission::SyncRespawnModeInfo().

Используется в OnSpawnedFromConsole().