Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void InitMenu() {
- if (gMenu) return;
- // ----------------------
- // Main menu container
- // ----------------------
- gMenu = new ContainerWidget({ 360, 480 }, Colors[Black], Colors[White]);
- gMenu->position = FVector2D(460, 120); // Centered in 1280x720
- float tabContainerWidth = gMenu->size.X - 20.f; // width for each tab
- float tabHeight = gMenu->size.Y - 50.f; // height for each tab
- float tabBarHeight = 25.f; // manual tab bar height
- // ----------------------
- // Visuals Tab
- // ----------------------
- ContainerWidget* tabVisuals = new ContainerWidget({ tabContainerWidth, tabHeight }, Colors[Black], Colors[White]);
- tabVisuals->dragMode = EWidgetDrag::NoDrag;
- ListBoxWidget* visualsList = new ListBoxWidget(FVector2D{ tabContainerWidth - 20.f, 380.f });
- visualsList->columns = 2;
- visualsList->rows = 6;
- visualsList->position = FVector2D(10.f, 40.f);
- tabVisuals->AddChild(visualsList);
- // Regular checkboxes
- visualsList->AddItem(new CheckboxWidget(&g_DrawTargetHealth, L"Health/Name", 0));
- visualsList->AddItem(new CheckboxWidget(&g_DrawBones, L"Bones", 1));
- visualsList->AddItem(new CheckboxWidget(&g_Draw3DBox, L"3D Box", 2));
- visualsList->AddItem(new CheckboxWidget(&g_WallHack, L"Wallhack", 3));
- visualsList->AddItem(new CheckboxWidget(&g_DrawSnapLines, L"SnapLines", 4));
- visualsList->AddItem(new CheckboxWidget(&g_DrawFOV, L"AimFOV", 5));
- visualsList->AddItem(new CheckboxWidget(&g_DrawGrenadeESP, L"Grenades", 6));
- visualsList->AddItem(new CheckboxWidget(&g_DrawSentryGun, L"Sentry", 7));
- visualsList->AddItem(new CheckboxWidget(&g_DrawFlyingVehicle, L"Flying", 8));
- visualsList->AddItem(new CheckboxWidget(&g_DrawClaymores, L"Claymore", 9));
- visualsList->AddItem(new CheckboxWidget(&g_DrawWeapons, L"Weapons", 10));
- // Color toggles
- static bool enemyVisibleEnabled = true;
- static bool enemyHiddenEnabled = true;
- static bool friendlyEnabled = true;
- ColorToggleWidget* enemyVisibleToggle = new ColorToggleWidget(&enemyVisibleEnabled, &gEnemyVisibleColor, L"Enemy Visible");
- ColorToggleWidget* enemyHiddenToggle = new ColorToggleWidget(&enemyHiddenEnabled, &gEnemyHiddenColor, L"Enemy Hidden");
- ColorToggleWidget* friendlyToggle = new ColorToggleWidget(&friendlyEnabled, &gFriendlyColor, L"Friendly");
- visualsList->AddItem(enemyVisibleToggle);
- visualsList->AddItem(enemyHiddenToggle);
- visualsList->AddItem(friendlyToggle);
- // Color picker inside tab, below the listbox
- ColorPickerWidget* colorPicker = new ColorPickerWidget(100);
- colorPicker->position = FVector2D(10.f, visualsList->position.Y + visualsList->viewSize.Y + 10.f);
- colorPicker->visible = false;
- tabVisuals->AddChild(colorPicker);
- // Link color toggles to picker
- enemyVisibleToggle->onClick = [=]() { colorPicker->linkedColor = &gEnemyVisibleColor; colorPicker->visible = true; };
- enemyHiddenToggle->onClick = [=]() { colorPicker->linkedColor = &gEnemyHiddenColor; colorPicker->visible = true; };
- friendlyToggle->onClick = [=]() { colorPicker->linkedColor = &gFriendlyColor; colorPicker->visible = true; };
- // ----------------------
- // Cheats Tab
- // ----------------------
- ContainerWidget* tabCheats = new ContainerWidget({ tabContainerWidth, tabHeight }, Colors[Black], Colors[White]);
- tabCheats->dragMode = EWidgetDrag::NoDrag;
- ListBoxWidget* cheatsList = new ListBoxWidget(FVector2D{ tabContainerWidth - 20.f, 390.f });
- cheatsList->columns = 2;
- cheatsList->rows = 8;
- cheatsList->position = FVector2D(10.f, 30.f);
- tabCheats->AddChild(cheatsList);
- cheatsList->AddItem(new CheckboxWidget(&g_SuperFire, L"SuperFire", 0));
- cheatsList->AddItem(new CheckboxWidget(&g_flash, L"NoFlash", 1));
- cheatsList->AddItem(new CheckboxWidget(&g_bCheatPawn, L"Cheat Pawn", 2));
- cheatsList->AddItem(new CheckboxWidget(&g_bGodMode, L"God Mode", 3));
- cheatsList->AddItem(new CheckboxWidget(&g_bNoRecoil, L"No Recoil", 4));
- cheatsList->AddItem(new CheckboxWidget(&g_bNoSpread, L"No Spread", 5));
- cheatsList->AddItem(new CheckboxWidget(&g_bFastKnife, L"Fast Knife", 6));
- cheatsList->AddItem(new CheckboxWidget(&g_bQuickEquip, L"Quick Equip", 7));
- cheatsList->AddItem(new CheckboxWidget(&g_bUnlimitedRange, L"Unlimited Range", 8));
- cheatsList->AddItem(new CheckboxWidget(&g_bAmmoBoost, L"Ammo Boost", 9));
- cheatsList->AddItem(new CheckboxWidget(&g_bAutoReload, L"Auto Reload", 10));
- cheatsList->AddItem(new CheckboxWidget(&g_bFly, L"Fly", 11));
- // ----------------------
- // Aimbot Tab
- // ----------------------
- ContainerWidget* tabAimbot = new ContainerWidget({ tabContainerWidth, tabHeight }, Colors[Black], Colors[White]);
- tabAimbot->dragMode = EWidgetDrag::NoDrag;
- auto fovCheckbox = new CheckboxWidget(&g_DrawFOV, L"AimFOV", 0);
- fovCheckbox->position = FVector2D(10.f, 40.f);
- fovCheckbox->flow = EWidgetFlow::NewLine;
- tabAimbot->AddChild(fovCheckbox);
- auto fovSlider = new SliderWidget(&gFOV, L"", 1, 120.f);
- fovSlider->position = FVector2D(fovCheckbox->position.X + 80.f, fovCheckbox->position.Y);
- fovSlider->flow = EWidgetFlow::SameLine;
- tabAimbot->AddChild(fovSlider);
- auto smoothCheckbox = new CheckboxWidget(&g_SmoothAim, L"SmoothAim", 2);
- smoothCheckbox->position = FVector2D(10.f, fovCheckbox->position.Y + 30.f);
- tabAimbot->AddChild(smoothCheckbox);
- auto smoothSlider = new SliderWidget(&gSmooth, L"", 3, 120.f);
- smoothSlider->position = FVector2D(smoothCheckbox->position.X + 100.f, smoothCheckbox->position.Y);
- smoothSlider->flow = EWidgetFlow::SameLine;
- tabAimbot->AddChild(smoothSlider);
- auto autoAim = new CheckboxWidget(&g_AutoAim, L"AutoAim", 4);
- autoAim->position = FVector2D(10.f, smoothCheckbox->position.Y + 40.f);
- tabAimbot->AddChild(autoAim);
- // ----------------------
- // Settings Tab
- // ----------------------
- ContainerWidget* tabSettings = new ContainerWidget({ tabContainerWidth, tabHeight }, Colors[Black], Colors[White]);
- tabSettings->dragMode = EWidgetDrag::NoDrag;
- auto applyButton = new ButtonWidget(&gApply, L"Apply", 0);
- applyButton->position = FVector2D(10.f, 40.f);
- tabSettings->AddChild(applyButton);
- // ----------------------
- // Add all tabs to menu
- // ----------------------
- gMenu->AddChild(tabVisuals);
- gMenu->AddChild(tabCheats);
- gMenu->AddChild(tabAimbot);
- gMenu->AddChild(tabSettings);
- tabVisuals->visible = true;
- tabCheats->visible = false;
- tabAimbot->visible = false;
- tabSettings->visible = false;
- // ----------------------
- // Manual Tab Bar at bottom
- // ----------------------
- std::vector<std::wstring> tabLabels = { L"Visuals", L"Cheats", L"Aimbot", L"Settings" };
- float tabButtonWidth = gMenu->size.X / static_cast<float>(tabLabels.size());
- for (int i = 0; i < tabLabels.size(); i++) {
- auto tabButton = new ButtonWidget(nullptr, tabLabels[i].c_str(), i);
- tabButton->position = FVector2D(i * tabButtonWidth, gMenu->size.Y - tabBarHeight);
- tabButton->onClick = [i, tabVisuals, tabCheats, tabAimbot, tabSettings]() {
- gActiveTab = i;
- tabVisuals->visible = (i == 0);
- tabCheats->visible = (i == 1);
- tabAimbot->visible = (i == 2);
- tabSettings->visible = (i == 3);
- };
- gMenu->AddChild(tabButton);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment