-
Автор темы
- #1
иногда пропадает есп на некоторых игроков (internal)
Код:
if (currentTime >= ObjectsUpdateTime) {
Players.Clear();
for (int i = 0; i < SceneCount; i++) {
auto Scene = (uint32_t)Unity::SceneManager::GetSceneAt(i);
if (Scene) {
auto GameObjects = Unity::SceneManager::GetRootGameObjects(&Scene);
if (MemUtils::IsValidCheck(GameObjects)) {
for (int j = 0; j < GameObjects->GetSize(); j++) {
auto Object = GameObjects->Get(j);
if (!MemUtils::IsValidCheck(Object))
continue;
auto ObjectName = Object->get_name();
if (!MemUtils::IsValidCheck(ObjectName))
continue;
if (ObjectName->Contains(_(L"LocalPlayer")) && !MemUtils::IsValidCheck(LocalPlayer))
LocalPlayer = (BasePlayer*)Object->GetComponent((Unity::Type*)il2cpp::TypeGetObject(_(""), _("BasePlayer")));
if (ObjectName->Contains(_(L"player/player.prefab"))) {
auto Player = (BasePlayer*)Object->GetComponent((Unity::Type*)il2cpp::TypeGetObject(_(""), _("BasePlayer")));
if (!MemUtils::IsValidCheck(Player))
continue;
Players.Add((uintptr_t)Player);
}
}
}
}
}
ObjectsUpdateTime = currentTime + 1.f;
}