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

◆ OnSelectPlayer()

void ManBase::OnSelectPlayer ( )
inlineprotected

add callbacks for ai target system

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

5844 {
5845 //Print("PlayerBase | OnSelectPlayer()");
5846 m_PlayerSelected = true;
5847
5848 m_QuickBarBase.updateSlotsCount();
5849
5850 m_WeaponManager.SortMagazineAfterLoad();
5851
5852 PlayerIdentity identity = GetIdentity();
5853
5854#ifdef FEATURE_NETWORK_RECONCILIATION
5855 if (identity)
5856 {
5858 identity.Possess(this);
5859 }
5860#endif
5861
5862 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_SERVER || !GetGame().IsMultiplayer())
5863 {
5864 if (identity)
5865 {
5866 m_CachedPlayerID = identity.GetId();
5867 m_CachedPlayerName = identity.GetName();
5868 }
5869
5871 SetAITargetCallbacks(new AITargetCallbacksPlayer(this));
5872
5873 array<ref Param> params = new array<ref Param>;
5874 if (m_aQuickBarLoad)
5875 {
5876 int count = m_aQuickBarLoad.Count();
5877 Param1<int> paramCount = new Param1<int>(count);
5878 params.Insert(paramCount);
5879 for (int i = 0; i < count; i++)
5880 {
5881 m_QuickBarBase.OnSetEntityNoSync(m_aQuickBarLoad.Get(i).param1,m_aQuickBarLoad.Get(i).param2);
5882 params.Insert(m_aQuickBarLoad.Get(i));
5883 }
5884
5885 if (count > 0 && GetGame().IsMultiplayer())
5886 {
5887 GetGame().RPC(this, ERPCs.RPC_INIT_SET_QUICKBAR, params, true, identity);
5888 }
5889 m_aQuickBarLoad = NULL;
5890 }
5891
5893 GetModifiersManager().SetModifiers(true);
5894
5895 SetSynchDirty();
5896
5897 if (GetGame().IsMultiplayer())
5898 {
5899 //Drop item warning
5901 {
5902 GetGame().RPCSingleParam(this, ERPCs.RPC_WARNING_ITEMDROP, null, true, identity);
5903 m_ProcessUIWarning = false;
5904 }
5905
5907 }
5908 }
5909
5910 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_SERVER)
5911 {
5912 m_ActionManager = new ActionManagerServer(this);
5913 m_ConstructionActionData = new ConstructionActionData();
5914
5915 CheckForGag();
5916 }
5917 else if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
5918 {
5919 m_ActionManager = new ActionManagerClient(this);
5920 m_CraftingManager = new CraftingManager(this,m_ModuleRecipesManager);
5921 m_ConstructionActionData = new ConstructionActionData();
5922
5923 }
5924 else if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_AI_SINGLEPLAYER)
5925 {
5926 m_ActionManager = new ActionManagerServer(this);
5927 }
5928
5929 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
5930 {
5931 if (GetGame().GetMission())
5932 {
5934 // force update player
5935 GetDayZGame().GetBacklit().UpdatePlayer(true);
5936 }
5937
5938 m_DeathCheckTimer = new Timer();
5939 m_DeathCheckTimer.Run(0.1, this, "CheckDeath", null, true);
5940 PPEManagerStatic.GetPPEManager().StopAllEffects(PPERequesterCategory.ALL);
5942
5943 int characterCount = GetGame().GetMenuData().GetCharactersCount() - 1;
5945 if (idx == GameConstants.DEFAULT_CHARACTER_MENU_ID || idx > characterCount)
5946 {
5948 }
5949
5951
5953 m_PresenceNotifier.Init(this);
5954 #ifdef DIAG_DEVELOPER
5955 m_TargetTemperatureDiag = PluginTargetTemperature.Cast(GetPlugin(PluginTargetTemperature));
5956 m_TargetTemperatureDiag.Init(this);
5957 #endif
5958 OnGameplayDataHandlerSync();//only here for legacy reasons
5959 }
5960
5961#ifdef BOT
5962 m_Bot = new Bot(this);
5963 m_Bot.Start(true, new MyBotTrigger(this));
5964#endif
5965 }
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:7664
ref CraftingManager m_CraftingManager
Определения PlayerBase.c:83
void CheckForGag()
Определения PlayerBase.c:6009
ModifiersManager GetModifiersManager()
Определения PlayerBase.c:7587
string m_CachedPlayerName
Определения PlayerBase.c:175
void CheckForBurlap()
Определения PlayerBase.c:5987
bool m_ProcessUIWarning
Определения PlayerBase.c:20
SoftSkillsManager GetSoftSkillsManager()
Определения PlayerBase.c:6744
override void OnGameplayDataHandlerSync()
Определения PlayerBase.c:5597
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:5980
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
Определения 3_Game/tools/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().