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

◆ UpdateCorpseStatesServer()

void MissionBase::UpdateCorpseStatesServer ( )
inlineprotected

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

781 {
782 int nDeadPlayers = m_DeadPlayersArray.Count();
783 if (nDeadPlayers == 0)//nothing to process, abort
784 return;
785 int current_time = g_Game.GetTime();
786 array<int> invalid_corpses = new array<int>;
787 CorpseData corpse_data;
788
789 for (int i = 0; i < nDeadPlayers; ++i)
790 {
791 corpse_data = m_DeadPlayersArray.Get(i);
792 if (!corpse_data || (corpse_data && (!corpse_data.m_Player || !corpse_data.m_bUpdate)))
793 {
794 invalid_corpses.Insert(i);
795 }
796 else if (corpse_data.m_bUpdate && current_time - corpse_data.m_iLastUpdateTime >= 30000)
797 {
798 corpse_data.UpdateCorpseState();
799 corpse_data.m_iLastUpdateTime = current_time;
800 }
801 }
802
803 //cleanup
804 int nInvalidCorpses = invalid_corpses.Count();
805 if (nInvalidCorpses > 0)
806 {
807 for (i = nInvalidCorpses - 1; i >= 0; --i)
808 {
809 m_DeadPlayersArray.Remove(invalid_corpses.Get(i));
810 }
811 }
812 }
DayZGame g_Game
Определения DayZGame.c:3942
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().