Участник
- Статус
- Оффлайн
- Регистрация
- 4 Дек 2022
- Сообщения
- 874
- Реакции
- 290
Вообще этот способ полная хуйня ну ибо я перестал его использовать, ликну его.
Использовать мы будем FindObjectsByType
Далее вызываем его:
Что значат аргументы 1 & 0 после cached_networkable_type?
Второй аргумент FindObjectsInactive::Include включает неактивные обьекты в поиск (не стоит отключать, чтобы свой луп не сломать)
Третий аргумент FindObjectsSortMode::None без сортировки массива, проще говоря делает вызов быстрее.
Ну и далее перебираем игроков по списку с entities_array, все просто, рекомендую кешировать где-то отдельно чтобы не поломалась оптимизация, не умею гайды делать мне похуй
Использовать мы будем FindObjectsByType
sdk::il2cpp::g_find_find_objects_by_type =
(find_objects_by_type_t)sdk::il2cpp::icall("UnityEngine.Object::FindObjectsByType(System.Type,UnityEngine.FindObjectsInactive,UnityEngine.FindObjectsSortMode)");
Далее вызываем его:
static uintptr_t cached_networkable_type = sdk::il2cpp::type_for_name("BaseNetworkable");
static uintptr_t entities_array = sdk::il2cpp::g_find_find_objects_by_type(cached_networkable_type, 1, 0);
Что значат аргументы 1 & 0 после cached_networkable_type?
Второй аргумент FindObjectsInactive::Include включает неактивные обьекты в поиск (не стоит отключать, чтобы свой луп не сломать)
Третий аргумент FindObjectsSortMode::None без сортировки массива, проще говоря делает вызов быстрее.
Ну и далее перебираем игроков по списку с entities_array, все просто, рекомендую кешировать где-то отдельно чтобы не поломалась оптимизация, не умею гайды делать мне похуй
