/
SN1054NGC
/
DayZ_Projects_cpp
Обзор
Документация
Войти
/
SN1054NGC
/
DayZ_Projects_cpp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
scripts/3_game/client/syncplayerlist.c
69 строк
1 KB
SN1054NGC
Initial DayZ mod project commit
26 ноя 2025, 01:03
26 ноя 2025, 01:03
fddb039
Код
Авторство
О чём код?
class SyncPlayerList { ref array<ref SyncPlayer> m_PlayerList; void CreatePlayerList() { if (GetGame().IsServer()) { m_PlayerList = new array<ref SyncPlayer>(); array<PlayerIdentity> identities = new array<PlayerIdentity>(); GetGame().GetPlayerIndentities(identities); foreach (auto identity : identities) { SyncPlayer sync_player = new SyncPlayer; sync_player.m_Identity = identity; sync_player.m_UID = identity.GetPlainId(); sync_player.m_PlayerName = identity.GetPlainName(); m_PlayerList.Insert(sync_player); } } } static SyncPlayerList Compare(SyncPlayerList a, SyncPlayerList b) { SyncPlayerList new_list = new SyncPlayerList; new_list.m_PlayerList = new array<ref SyncPlayer>; if (!a && b && b.m_PlayerList) { foreach (SyncPlayer player3 : b.m_PlayerList) { new_list.m_PlayerList.Insert(player3); } } else if (a && a.m_PlayerList && !b) { foreach (SyncPlayer player4 : a.m_PlayerList) { new_list.m_PlayerList.Insert(player4); } } else if (a && a.m_PlayerList && b && b.m_PlayerList) { array<ref SyncPlayer> array_a = a.m_PlayerList; array<ref SyncPlayer> array_b = b.m_PlayerList; foreach (SyncPlayer player : array_b) { bool found = false; foreach (SyncPlayer player2 : array_a) { if (player.m_UID == player2.m_UID) { found = true; break; } } if (!found) { new_list.m_PlayerList.Insert(player); } } } return new_list; } }