#include "NoClip.h" #include "helpers.h" NoClipModule::NoClipModule() : BaseModule("NoClip", "NoClip", ModuleCategory::Player) {} void NoClipModule::RegisterTab() { } void NoClipModule::Render() { if (!ImGui::CollapsingHeader(Tr("NoClip"), ImGuiTreeNodeFlags_DefaultOpen)) { return; } bool enabled = Enabled(); if (ImGui::Checkbox(Tr("ON / OFF"), &enabled)) { SetEnabled(enabled); } if (Enabled()) { ImGui::DragInt(Tr("Move Speed"), &move_speed_, 1.0f, 1, 10, "%d"); } } void NoClipModule::Update() { if (!Enabled()) { return; } using FnGetEntityManager = void* (*)(); using FnGetCharacterController = void* (*)(void*); using FnSetCharCtrlEnabled = void (*)(void*, bool, int); auto get_entity_manager = GetIl2cppFn(IL2CPP::GetEntityManager); auto get_character_controller = GetIl2cppFn(IL2CPP::GetCharacterController); auto set_enabled = GetIl2cppFn(IL2CPP::CharCtrl_set_enabled); if (!get_entity_manager || !get_character_controller || !set_enabled) { return; } void* entity_manager = get_entity_manager(); if (!entity_manager) { return; } void* character_controller = get_character_controller(entity_manager); if (!character_controller) { return; } const bool enable_controller = !Enabled(); set_enabled(character_controller, enable_controller, 0); }