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

◆ OnSelectPlayer()

void ManBase::OnSelectPlayer ( )
inlineprotected

add callbacks for ai target system

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

6299 {
6300 //Print("PlayerBase | OnSelectPlayer()");
6301 m_PlayerSelected = true;
6302
6303 m_QuickBarBase.updateSlotsCount();
6304
6305 m_WeaponManager.SortMagazineAfterLoad();
6306
6307 PlayerIdentity identity = GetIdentity();
6308
6309#ifdef FEATURE_NETWORK_RECONCILIATION
6310 if (identity)
6311 {
6313 identity.Possess(this);
6314 }
6315#endif
6316
6317 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_SERVER || !g_Game.IsMultiplayer())
6318 {
6319 if (identity)
6320 {
6321 m_CachedPlayerID = identity.GetId();
6322 m_CachedPlayerName = identity.GetName();
6323 }
6324
6326 SetAITargetCallbacks(new AITargetCallbacksPlayer(this));
6327
6328 array<ref Param> params = new array<ref Param>;
6329 if (m_aQuickBarLoad)
6330 {
6331 int count = m_aQuickBarLoad.Count();
6332 Param1<int> paramCount = new Param1<int>(count);
6333 params.Insert(paramCount);
6334 for (int i = 0; i < count; i++)
6335 {
6336 m_QuickBarBase.OnSetEntityNoSync(m_aQuickBarLoad.Get(i).param1,m_aQuickBarLoad.Get(i).param2);
6337 params.Insert(m_aQuickBarLoad.Get(i));
6338 }
6339
6340 if (count > 0 && g_Game.IsMultiplayer())
6341 {
6342 g_Game.RPC(this, ERPCs.RPC_INIT_SET_QUICKBAR, params, true, identity);
6343 }
6344 m_aQuickBarLoad = NULL;
6345 }
6346
6348 GetModifiersManager().SetModifiers(true);
6349
6350 SetSynchDirty();
6351
6352 if (g_Game.IsMultiplayer())
6353 {
6354 //Drop item warning
6356 {
6357 g_Game.RPCSingleParam(this, ERPCs.RPC_WARNING_ITEMDROP, null, true, identity);
6358 m_ProcessUIWarning = false;
6359 }
6360
6361 g_Game.GetMission().SyncRespawnModeInfo(identity);
6362 }
6363 }
6364
6365 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_SERVER)
6366 {
6367 m_ActionManager = new ActionManagerServer(this);
6368 m_ConstructionActionData = new ConstructionActionData();
6369
6370 CheckForGag();
6371 }
6372 else if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
6373 {
6374 m_ActionManager = new ActionManagerClient(this);
6375 m_CraftingManager = new CraftingManager(this,m_ModuleRecipesManager);
6376 m_ConstructionActionData = new ConstructionActionData();
6377 DustEffectManager.GetDustEffectManager().Init(this);
6378 }
6379 else if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_AI_SINGLEPLAYER)
6380 {
6381 m_ActionManager = new ActionManagerServer(this);
6382 }
6383
6384 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
6385 {
6386 if (g_Game.GetMission())
6387 {
6388 g_Game.GetMission().ResetGUI();
6389 // force update player
6390 GetDayZGame().GetBacklit().UpdatePlayer(true);
6391 }
6392
6393 m_DeathCheckTimer = new Timer();
6394 m_DeathCheckTimer.Run(0.1, this, "CheckDeath", null, true);
6395 PPEManagerStatic.GetPPEManager().StopAllEffects(PPERequesterCategory.ALL);
6397
6398 int characterCount = g_Game.GetMenuData().GetCharactersCount() - 1;
6399 int idx = g_Game.GetMenuData().GetLastPlayedCharacter();
6400 if (idx == GameConstants.DEFAULT_CHARACTER_MENU_ID || idx > characterCount)
6401 {
6402 g_Game.GetCallQueue(CALL_CATEGORY_GUI).Call(SetNewCharName);
6403 }
6404
6405 g_Game.GetMission().EnableAllInputs(true);
6406
6408 m_PresenceNotifier.Init(this);
6409 #ifdef DIAG_DEVELOPER
6410 m_TargetTemperatureDiag = PluginTargetTemperature.Cast(GetPlugin(PluginTargetTemperature));
6411 m_TargetTemperatureDiag.Init(this);
6412 #endif
6413 OnGameplayDataHandlerSync();//only here for legacy reasons
6414 }
6415
6416 GetCachedEquipment().UpdateParents();
6417 }
DayZGame g_Game
Определения DayZGame.c:4074
DayZGame GetDayZGame()
Определения DayZGame.c:4076
ERPCs
Определения ERPCs.c:2
PPERequesterCategory
Определения PPEConstants.c:29
override float Get()
Определения PlayerStatBase.c:134
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:326
void PluginPresenceNotifier()
Определения PluginPresenceNotifier.c:107
PlayerStat< float > GetStatSpecialty()
Определения PlayerBase.c:8269
ref CraftingManager m_CraftingManager
Определения PlayerBase.c:129
void CheckForGag()
Определения PlayerBase.c:6462
ModifiersManager GetModifiersManager()
Определения PlayerBase.c:8192
string m_CachedPlayerName
Определения PlayerBase.c:221
void CheckForBurlap()
Определения PlayerBase.c:6440
bool m_ProcessUIWarning
Определения PlayerBase.c:68
SoftSkillsManager GetSoftSkillsManager()
Определения PlayerBase.c:7299
override void OnGameplayDataHandlerSync()
Определения PlayerBase.c:6042
PluginPresenceNotifier m_PresenceNotifier
Определения PlayerBase.c:80
string m_CachedPlayerID
Определения PlayerBase.c:222
ref array< ref Param2< EntityAI, int > > m_aQuickBarLoad
Определения PlayerBase.c:242
PluginRecipesManager m_ModuleRecipesManager
Определения PlayerBase.c:84
ref WeaponManager m_WeaponManager
Определения PlayerBase.c:128
ref ConstructionActionData m_ConstructionActionData
Определения PlayerBase.c:270
ref Timer m_DeathCheckTimer
Определения PlayerBase.c:145
void SetNewCharName()
Определения PlayerBase.c:6432
QuickBarBase m_QuickBarBase
Определения PlayerBase.c:132
ActionManagerBase m_ActionManager
Определения PlayerBase.c:90
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
void InitSpecialty(float specialty_level)
Определения SoftSkillsManager.c:42
DayZPlayerInstanceType
defined in C++
Определения dayzplayer.c:1084
proto native DayZPlayerInstanceType GetInstanceType()
const int CALL_CATEGORY_GUI
Определения 3_Game/DayZ/tools/tools.c:9

Перекрестные ссылки CALL_CATEGORY_GUI, CheckForBurlap(), CheckForGag(), GameConstants::DEFAULT_CHARACTER_MENU_ID, g_Game, Get(), GetDayZGame(), DustEffectManager::GetDustEffectManager(), PlayerIdentityBase::GetId(), GetInstanceType(), GetModifiersManager(), PlayerIdentityBase::GetName(), GetPlugin(), PPEManagerStatic::GetPPEManager(), GetSoftSkillsManager(), GetStatSpecialty(), DustEffectManager::Init(), 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() и SetNewCharName().

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