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

◆ UpdateCorpseStatesServer()

void MissionBase::UpdateCorpseStatesServer ( )
inlineprotected

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

794 {
795 int nDeadPlayers = m_DeadPlayersArray.Count();
796 if (nDeadPlayers == 0)//nothing to process, abort
797 return;
798 int current_time = g_Game.GetTime();
799 array<int> invalid_corpses = new array<int>;
800 CorpseData corpse_data;
801
802 for (int i = 0; i < nDeadPlayers; ++i)
803 {
804 corpse_data = m_DeadPlayersArray.Get(i);
805 if (!corpse_data || (corpse_data && (!corpse_data.m_Player || !corpse_data.m_bUpdate)))
806 {
807 invalid_corpses.Insert(i);
808 }
809 else if (corpse_data.m_bUpdate && current_time - corpse_data.m_iLastUpdateTime >= 30000)
810 {
811 corpse_data.UpdateCorpseState();
812 corpse_data.m_iLastUpdateTime = current_time;
813 }
814 }
815
816 //cleanup
817 int nInvalidCorpses = invalid_corpses.Count();
818 if (nInvalidCorpses > 0)
819 {
820 for (i = nInvalidCorpses - 1; i >= 0; --i)
821 {
822 m_DeadPlayersArray.Remove(invalid_corpses.Get(i));
823 }
824 }
825 }
DayZGame g_Game
Определения DayZGame.c:4074
PlayerBase m_Player
Определения CorpseData.c:14
int m_iLastUpdateTime
Определения CorpseData.c:6
bool m_bUpdate
Определения CorpseData.c:5
void UpdateCorpseState(bool force_check=false)
Определения CorpseData.c:27
ref array< ref CorpseData > m_DeadPlayersArray
Определения missionServer.c:8

Перекрестные ссылки g_Game, CorpseData::m_bUpdate, m_DeadPlayersArray, CorpseData::m_iLastUpdateTime, CorpseData::m_Player и CorpseData::UpdateCorpseState().

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