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

◆ EEOnAfterLoad()

void Entity::EEOnAfterLoad ( )
inlineprotected

Called when entity is part of "connected system" and being restored after load.

См. определение в файле 3_Game/DayZ/Entities/EntityAI.c строка 1353

1354 {
1355 // ENERGY MANAGER
1356 // Restore connections between devices which were connected before server restart
1357 if ( m_EM && m_EM.GetRestorePlugState() )
1358 {
1359 int b1 = m_EM.GetEnergySourceStorageIDb1();
1360 int b2 = m_EM.GetEnergySourceStorageIDb2();
1361 int b3 = m_EM.GetEnergySourceStorageIDb3();
1362 int b4 = m_EM.GetEnergySourceStorageIDb4();
1363
1364 // get pointer to EntityAI based on this ID
1365 EntityAI potential_energy_source = g_Game.GetEntityByPersitentID(b1, b2, b3, b4); // This function is available only in this event!
1366
1367 // IMPORTANT!
1368 // Object IDs acquired here become INVALID when electric devices are transfered to another server while in plugged state (like Flashlight plugged into its attachment 9V battery)
1369 // To avoid issues, these items must be excluded from this system of restoring plug state so they don't unintentionally plug to incorrect devices through these invalid IDs.
1370 // Therefore their plug state is being restored withing the EEItemAttached() event while being excluded by the following 'if' conditions...
1371
1372 bool is_attachment = false;
1373
1374 if (potential_energy_source)
1375 is_attachment = GetInventory().HasAttachment(potential_energy_source);
1376
1377 if ( !is_attachment && potential_energy_source )
1378 is_attachment = potential_energy_source.GetInventory().HasAttachment(this);
1379
1380 if ( potential_energy_source && potential_energy_source.GetCompEM() /*&& potential_energy_source.HasEnergyManager()*/ && !is_attachment )
1381 m_EM.PlugThisInto(potential_energy_source); // restore connection
1382 }
1383 }
DayZGame g_Game
Определения DayZGame.c:3942
proto native GameInventory GetInventory()
void EntityAI()
cache blood infection chance (cfgVehicles-><entity>->Skinning->BloodInfectionSettings)
ComponentEnergyManager m_EM
proto native bool HasAttachment(notnull EntityAI e)
brief Returns True if entity is attached to this

Перекрестные ссылки EntityAI(), g_Game, GetInventory() и m_EM.