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

◆ UpdateCorpseStatesServer()

void MissionBase::UpdateCorpseStatesServer ( )
inlineprotected

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

736 {
737 if (m_DeadPlayersArray.Count() == 0)//nothing to process, abort
738 return;
739 int current_time = GetGame().GetTime();
740 array<int> invalid_corpses = new array<int>;
741 CorpseData corpse_data;
742
743 for (int i = 0; i < m_DeadPlayersArray.Count(); i++)
744 {
745 corpse_data = m_DeadPlayersArray.Get(i);
746 if (!corpse_data || (corpse_data && (!corpse_data.m_Player || !corpse_data.m_bUpdate)))
747 {
748 invalid_corpses.Insert(i);
749 }
750 else if (corpse_data.m_bUpdate && current_time - corpse_data.m_iLastUpdateTime >= 30000)
751 {
752 corpse_data.UpdateCorpseState();
753 corpse_data.m_iLastUpdateTime = current_time;
754 }
755 }
756
757 //cleanup
758 if (invalid_corpses.Count() > 0)
759 {
760 for (i = invalid_corpses.Count() - 1; i > -1; i--)
761 {
762 m_DeadPlayersArray.Remove(invalid_corpses.Get(i));
763 }
764 }
765 }
proto int GetTime()
returns mission time in milliseconds
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
proto native CGame GetGame()

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

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