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

◆ OnStoreSave()

void Entity::OnStoreSave ( ParamsWriteContext ctx)
inlineprotected

Engine calls this function to collect data from entity to store for persistence (on server side).

{
// dont forget to propagate this call trough class hierarchy!
super.OnStoreSave(ctx);
// write any data (using params) you want to store
int a = 5;
float b = 6.0;
ctx.Write(a);
ctx.Write(b);
}
void OnStoreSave(ParamsWriteContext ctx)
Engine calls this function to collect data from entity to store for persistence (on server side).
proto bool Write(void value_out)
Serializer ParamsWriteContext
Определения gameplay.c:16

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

2926 {
2927 // Saving of energy related states
2928 if ( m_EM )
2929 {
2930 // Save energy amount
2931 ctx.Write( m_EM.GetEnergy() );
2932
2933 // Save passive/active state
2934 ctx.Write( m_EM.IsPassive() );
2935
2936 // Save ON/OFF state
2937 ctx.Write( m_EM.IsSwitchedOn() );
2938
2939 // Save plugged/unplugged state
2940 ctx.Write( m_EM.IsPlugged() );
2941
2942 // ENERGY SOURCE
2943 // Save energy source IDs
2944 EntityAI energy_source = m_EM.GetEnergySource();
2945 int b1 = 0;
2946 int b2 = 0;
2947 int b3 = 0;
2948 int b4 = 0;
2949
2950 if (energy_source)
2951 {
2952 energy_source.GetPersistentID(b1, b2, b3, b4);
2953 }
2954
2955 ctx.Write( b1 ); // Save energy source block 1
2956 ctx.Write( b2 ); // Save energy source block 2
2957 ctx.Write( b3 ); // Save energy source block 3
2958 ctx.Write( b4 ); // Save energy source block 4
2959 }
2960
2961 // variable management system
2962 SaveVariables(ctx);
2963 }
void EntityAI()
cache blood infection chance (cfgVehicles-><entity>->Skinning->BloodInfectionSettings)
ComponentEnergyManager m_EM
void SaveVariables(ParamsWriteContext ctx)

Перекрестные ссылки EntityAI(), m_EM, SaveVariables() и Serializer::Write().