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

◆ LoadScenePlayer()

void PluginConfigHandler::LoadScenePlayer ( SceneData scene)
inlineprotected

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

510 {
511 // Only in local game (without server, (GetGame.GetPlayer is null on server! -> by design)
512 if ( GetGame().GetPlayer() != NULL )
513 {
514 CfgParamArray cfg_player = CfgParamArray.Cast( GetParamByName(PARAM_PLAYER, CFG_TYPE_ARRAY) );
515 CfgParamString cfg_ply_pos = CfgParamString.Cast( cfg_player.GetValueByName(PARAM_OBJ_POS, CFG_TYPE_STRING) );
516 CfgParamFloat cfg_ply_rot = CfgParamFloat.Cast( cfg_player.GetValueByName(PARAM_OBJ_ROT, CFG_TYPE_FLOAT) );
517 CfgParamFloat cfg_ply_hlt = CfgParamFloat.Cast( cfg_player.GetValueByName(PARAM_OBJ_HLT, CFG_TYPE_FLOAT) );
518 CfgParamString cfg_ply_iscr = CfgParamString.Cast( cfg_player.GetValueByName(PARAM_OBJ_ISCR, CFG_TYPE_STRING) );
519
520 ScenePlayer scn_player = scene.CreateScenePlayer();
521 scn_player.LinkEntityAI(GetGame().GetPlayer());
522
523 if ( PluginSceneManager.GetInstance().GetLoadPlayerPos() )
524 {
525 // start scene position
526 vector start_pos = cfg_ply_pos.GetValue().ToVector();
527
528 if ( start_pos != vector.Zero )
529 {
530 // Set Position
531 scn_player.SetPosition(cfg_ply_pos.GetValue().ToVector());
532
533 // Set Rotation
534 scn_player.SetRotation(cfg_ply_rot.GetValue());
535 }
536 }
537
538 // Set Health
539 // Health check. Do not spawn player character as dead. He can still be spawned as injured.
540 float health2 = cfg_ply_hlt.GetValue();
541 if (health2 <= 0)
542 health2 = scn_player.GetMaxHealth();
543
544 scn_player.SetHealth(health2);
545
546 // Exe Script
547 scn_player.SetInitScript( DecodeInitScript(cfg_ply_iscr.GetValue()) );
548 }
549//PrintString("LoadScenePlayer.. Finished");
550 }
const int CFG_TYPE_ARRAY
Определения CfgParam.c:5
const int CFG_TYPE_STRING
Определения CfgParam.c:1
const int CFG_TYPE_FLOAT
Определения CfgParam.c:3
PlayerBase GetPlayer()
Определения ModifierBase.c:51
const string PARAM_OBJ_ISCR
Определения PluginConfigScene.c:27
const string PARAM_PLAYER
Определения PluginConfigScene.c:17
const string PARAM_OBJ_ROT
Определения PluginConfigScene.c:24
const string PARAM_OBJ_HLT
Определения PluginConfigScene.c:26
const string PARAM_OBJ_POS
Определения PluginConfigScene.c:23
string DecodeInitScript(string script)
Определения PluginConfigScene.c:143
ScenePlayer CreateScenePlayer()
Определения SceneData.c:303
proto native CGame GetGame()

Перекрестные ссылки CFG_TYPE_ARRAY, CFG_TYPE_FLOAT, CFG_TYPE_STRING, SceneData::CreateScenePlayer(), DecodeInitScript(), GetGame(), GetPlayer(), PARAM_OBJ_HLT, PARAM_OBJ_ISCR, PARAM_OBJ_POS, PARAM_OBJ_ROT, PARAM_PLAYER и vector::Zero.

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