fred123654

initmenu

Sep 14th, 2025
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.50 KB | None | 0 0
  1. void InitMenu() {
  2.     if (gMenu) return;
  3.  
  4.     // ----------------------
  5.     // Main menu container
  6.     // ----------------------
  7.     gMenu = new ContainerWidget({ 360, 480 }, Colors[Black], Colors[White]);
  8.     gMenu->position = FVector2D(460, 120); // Centered in 1280x720
  9.  
  10.     float tabContainerWidth = gMenu->size.X - 20.f; // width for each tab
  11.     float tabHeight = gMenu->size.Y - 50.f;        // height for each tab
  12.     float tabBarHeight = 25.f;                     // manual tab bar height
  13.  
  14.     // ----------------------
  15.     // Visuals Tab
  16.     // ----------------------
  17.     ContainerWidget* tabVisuals = new ContainerWidget({ tabContainerWidth, tabHeight }, Colors[Black], Colors[White]);
  18.     tabVisuals->dragMode = EWidgetDrag::NoDrag;
  19.  
  20.     ListBoxWidget* visualsList = new ListBoxWidget(FVector2D{ tabContainerWidth - 20.f, 380.f });
  21.     visualsList->columns = 2;
  22.     visualsList->rows = 6;
  23.     visualsList->position = FVector2D(10.f, 40.f);
  24.     tabVisuals->AddChild(visualsList);
  25.  
  26.     // Regular checkboxes
  27.     visualsList->AddItem(new CheckboxWidget(&g_DrawTargetHealth, L"Health/Name", 0));
  28.     visualsList->AddItem(new CheckboxWidget(&g_DrawBones, L"Bones", 1));
  29.     visualsList->AddItem(new CheckboxWidget(&g_Draw3DBox, L"3D Box", 2));
  30.     visualsList->AddItem(new CheckboxWidget(&g_WallHack, L"Wallhack", 3));
  31.     visualsList->AddItem(new CheckboxWidget(&g_DrawSnapLines, L"SnapLines", 4));
  32.     visualsList->AddItem(new CheckboxWidget(&g_DrawFOV, L"AimFOV", 5));
  33.     visualsList->AddItem(new CheckboxWidget(&g_DrawGrenadeESP, L"Grenades", 6));
  34.     visualsList->AddItem(new CheckboxWidget(&g_DrawSentryGun, L"Sentry", 7));
  35.     visualsList->AddItem(new CheckboxWidget(&g_DrawFlyingVehicle, L"Flying", 8));
  36.     visualsList->AddItem(new CheckboxWidget(&g_DrawClaymores, L"Claymore", 9));
  37.     visualsList->AddItem(new CheckboxWidget(&g_DrawWeapons, L"Weapons", 10));
  38.  
  39.     // Color toggles
  40.     static bool enemyVisibleEnabled = true;
  41.     static bool enemyHiddenEnabled = true;
  42.     static bool friendlyEnabled = true;
  43.  
  44.     ColorToggleWidget* enemyVisibleToggle = new ColorToggleWidget(&enemyVisibleEnabled, &gEnemyVisibleColor, L"Enemy Visible");
  45.     ColorToggleWidget* enemyHiddenToggle = new ColorToggleWidget(&enemyHiddenEnabled, &gEnemyHiddenColor, L"Enemy Hidden");
  46.     ColorToggleWidget* friendlyToggle = new ColorToggleWidget(&friendlyEnabled, &gFriendlyColor, L"Friendly");
  47.  
  48.     visualsList->AddItem(enemyVisibleToggle);
  49.     visualsList->AddItem(enemyHiddenToggle);
  50.     visualsList->AddItem(friendlyToggle);
  51.  
  52.     // Color picker inside tab, below the listbox
  53.     ColorPickerWidget* colorPicker = new ColorPickerWidget(100);
  54.     colorPicker->position = FVector2D(10.f, visualsList->position.Y + visualsList->viewSize.Y + 10.f);
  55.     colorPicker->visible = false;
  56.     tabVisuals->AddChild(colorPicker);
  57.  
  58.     // Link color toggles to picker
  59.     enemyVisibleToggle->onClick = [=]() { colorPicker->linkedColor = &gEnemyVisibleColor; colorPicker->visible = true; };
  60.     enemyHiddenToggle->onClick = [=]() { colorPicker->linkedColor = &gEnemyHiddenColor; colorPicker->visible = true; };
  61.     friendlyToggle->onClick = [=]() { colorPicker->linkedColor = &gFriendlyColor; colorPicker->visible = true; };
  62.  
  63.     // ----------------------
  64.     // Cheats Tab
  65.     // ----------------------
  66.     ContainerWidget* tabCheats = new ContainerWidget({ tabContainerWidth, tabHeight }, Colors[Black], Colors[White]);
  67.     tabCheats->dragMode = EWidgetDrag::NoDrag;
  68.  
  69.     ListBoxWidget* cheatsList = new ListBoxWidget(FVector2D{ tabContainerWidth - 20.f, 390.f });
  70.     cheatsList->columns = 2;
  71.     cheatsList->rows = 8;
  72.     cheatsList->position = FVector2D(10.f, 30.f);
  73.     tabCheats->AddChild(cheatsList);
  74.  
  75.     cheatsList->AddItem(new CheckboxWidget(&g_SuperFire, L"SuperFire", 0));
  76.     cheatsList->AddItem(new CheckboxWidget(&g_flash, L"NoFlash", 1));
  77.     cheatsList->AddItem(new CheckboxWidget(&g_bCheatPawn, L"Cheat Pawn", 2));
  78.     cheatsList->AddItem(new CheckboxWidget(&g_bGodMode, L"God Mode", 3));
  79.     cheatsList->AddItem(new CheckboxWidget(&g_bNoRecoil, L"No Recoil", 4));
  80.     cheatsList->AddItem(new CheckboxWidget(&g_bNoSpread, L"No Spread", 5));
  81.     cheatsList->AddItem(new CheckboxWidget(&g_bFastKnife, L"Fast Knife", 6));
  82.     cheatsList->AddItem(new CheckboxWidget(&g_bQuickEquip, L"Quick Equip", 7));
  83.     cheatsList->AddItem(new CheckboxWidget(&g_bUnlimitedRange, L"Unlimited Range", 8));
  84.     cheatsList->AddItem(new CheckboxWidget(&g_bAmmoBoost, L"Ammo Boost", 9));
  85.     cheatsList->AddItem(new CheckboxWidget(&g_bAutoReload, L"Auto Reload", 10));
  86.     cheatsList->AddItem(new CheckboxWidget(&g_bFly, L"Fly", 11));
  87.  
  88.     // ----------------------
  89.     // Aimbot Tab
  90.     // ----------------------
  91.     ContainerWidget* tabAimbot = new ContainerWidget({ tabContainerWidth, tabHeight }, Colors[Black], Colors[White]);
  92.     tabAimbot->dragMode = EWidgetDrag::NoDrag;
  93.  
  94.     auto fovCheckbox = new CheckboxWidget(&g_DrawFOV, L"AimFOV", 0);
  95.     fovCheckbox->position = FVector2D(10.f, 40.f);
  96.     fovCheckbox->flow = EWidgetFlow::NewLine;
  97.     tabAimbot->AddChild(fovCheckbox);
  98.  
  99.     auto fovSlider = new SliderWidget(&gFOV, L"", 1, 120.f);
  100.     fovSlider->position = FVector2D(fovCheckbox->position.X + 80.f, fovCheckbox->position.Y);
  101.     fovSlider->flow = EWidgetFlow::SameLine;
  102.     tabAimbot->AddChild(fovSlider);
  103.  
  104.     auto smoothCheckbox = new CheckboxWidget(&g_SmoothAim, L"SmoothAim", 2);
  105.     smoothCheckbox->position = FVector2D(10.f, fovCheckbox->position.Y + 30.f);
  106.     tabAimbot->AddChild(smoothCheckbox);
  107.  
  108.     auto smoothSlider = new SliderWidget(&gSmooth, L"", 3, 120.f);
  109.     smoothSlider->position = FVector2D(smoothCheckbox->position.X + 100.f, smoothCheckbox->position.Y);
  110.     smoothSlider->flow = EWidgetFlow::SameLine;
  111.     tabAimbot->AddChild(smoothSlider);
  112.  
  113.     auto autoAim = new CheckboxWidget(&g_AutoAim, L"AutoAim", 4);
  114.     autoAim->position = FVector2D(10.f, smoothCheckbox->position.Y + 40.f);
  115.     tabAimbot->AddChild(autoAim);
  116.  
  117.     // ----------------------
  118.     // Settings Tab
  119.     // ----------------------
  120.     ContainerWidget* tabSettings = new ContainerWidget({ tabContainerWidth, tabHeight }, Colors[Black], Colors[White]);
  121.     tabSettings->dragMode = EWidgetDrag::NoDrag;
  122.  
  123.     auto applyButton = new ButtonWidget(&gApply, L"Apply", 0);
  124.     applyButton->position = FVector2D(10.f, 40.f);
  125.     tabSettings->AddChild(applyButton);
  126.  
  127.     // ----------------------
  128.     // Add all tabs to menu
  129.     // ----------------------
  130.     gMenu->AddChild(tabVisuals);
  131.     gMenu->AddChild(tabCheats);
  132.     gMenu->AddChild(tabAimbot);
  133.     gMenu->AddChild(tabSettings);
  134.  
  135.     tabVisuals->visible = true;
  136.     tabCheats->visible = false;
  137.     tabAimbot->visible = false;
  138.     tabSettings->visible = false;
  139.  
  140.     // ----------------------
  141.     // Manual Tab Bar at bottom
  142.     // ----------------------
  143.     std::vector<std::wstring> tabLabels = { L"Visuals", L"Cheats", L"Aimbot", L"Settings" };
  144.     float tabButtonWidth = gMenu->size.X / static_cast<float>(tabLabels.size());
  145.  
  146.     for (int i = 0; i < tabLabels.size(); i++) {
  147.         auto tabButton = new ButtonWidget(nullptr, tabLabels[i].c_str(), i);
  148.  
  149.         tabButton->position = FVector2D(i * tabButtonWidth, gMenu->size.Y - tabBarHeight);
  150.  
  151.         tabButton->onClick = [i, tabVisuals, tabCheats, tabAimbot, tabSettings]() {
  152.             gActiveTab = i;
  153.             tabVisuals->visible = (i == 0);
  154.             tabCheats->visible = (i == 1);
  155.             tabAimbot->visible = (i == 2);
  156.             tabSettings->visible = (i == 3);
  157.         };
  158.  
  159.         gMenu->AddChild(tabButton);
  160.     }
  161. }
  162.  
Advertisement
Add Comment
Please, Sign In to add comment