
Key Required Verified

--[[
RONALDO MENU | Pure Ultra-Clean Minimalist Dark Interface
UI Cleanups:
- 🧼 Completely removed all emojis/icons from tabs, title, and buttons.
- 🧹 Removed bottom footer bar.
- 🖤 Pure clean dark minimalist layout.
- ⌨️ Menu Toggle set to [G]. All features OFF by default.
--]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Lighting = game:GetService("Lighting")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
--------------------------------------------------------------------------------
-- 100% ABSOLUTE TEARDOWN OF PREVIOUS RUNS
--------------------------------------------------------------------------------
local function purgePreviousRuns()
pcall(function()
if cleardrawcache then cleardrawcache() end
end)
local targets = {game:GetService("CoreGui")}
if gethui then pcall(function() table.insert(targets, gethui()) end) end
for _, container in ipairs(targets) do
for _, child in ipairs(container:GetChildren()) do
if child:IsA("ScreenGui") and (string.find(child.Name, "Ronaldo") or string.find(child.Name, "Zenith") or string.find(child.Name, "Matcha")) then
pcall(function() child:Destroy() end)
end
end
end
end
purgePreviousRuns()
--------------------------------------------------------------------------------
-- STATE CLEANUP REGISTRY (LIVE RELOAD SUPPORT)
--------------------------------------------------------------------------------
local cleanups = {}
local function addCleanup(fn)
table.insert(cleanups, fn)
end
if STATE then
STATE.onCleanup(function()
for _, fn in ipairs(cleanups) do
pcall(fn)
end
purgePreviousRuns()
end)
end
--------------------------------------------------------------------------------
-- GAME CONTROLLERS
--------------------------------------------------------------------------------
local GunController = nil
local CameraController = nil
local currentTarget = nil
pcall(function() GunController = require(ReplicatedStorage.Modules.Client.Controllers.GunController) end)
pcall(function() CameraController = require(ReplicatedStorage.Modules.Client.Controllers.CameraController) end)
local Orig_GunApplyRecoil = GunController and GunController.ApplyRecoil
local Orig_GunGetFireDir = GunController and GunController.GetFireDirection
local Orig_CamRecoil = CameraController and CameraController.Recoil
local Orig_CamBoomKick = CameraController and CameraController.BoomKick
local Orig_CamShakeImpulse = CameraController and CameraController.ShakeImpulse
--------------------------------------------------------------------------------
-- CONFIGURATION (ALL OFF BY DEFAULT)
--------------------------------------------------------------------------------
local Config = {
Combat = {
SilentAim = false, -- Muzzle Bullet Redirection
CameraAim = false, -- Muzzle Camera Lock
AimKey = Enum.UserInputType.MouseButton2,
AimPart = "Head", -- "Head", "Torso", "HumanoidRootPart"
FOV = 120,
ShowFOV = false,
FOVCenterMode = "ScreenCenter",
Smoothness = 0.35,
TeamCheck = true, -- Team Check
},
GunMod = {
NoRecoil = false, -- 100% Zero Camera + Gun Recoil
NoSpread = false, -- 100% Pinpoint Accuracy
InfiniteAmmo = false, -- Instant Ammo Refill
RapidFire = false, -- Custom Rate of Fire
CustomFireRate = 0.02,
ForceAuto = false, -- Full Auto Mode
},
Visuals = {
Enabled = false,
Boxes = false,
Names = false,
HealthBar = false,
Tracers = false,
Highlights = false,
Crosshair = false,
ShowTeammates = false,
BoxColor = Color3.fromRGB(0, 230, 180),
TracerColor = Color3.fromRGB(0, 190, 255),
HighlightColor = Color3.fromRGB(255, 45, 85),
TeammateColor = Color3.fromRGB(0, 200, 255),
},
Movement = {
JumpEnabled = true, -- Enable custom jump physics in TTK
JumpPower = 38, -- Clean ~5 stud jump height with gravity 128
Bhop = false, -- Auto-Jump on landing while Space held
AirStrafe = false, -- Instant air direction control
StrafeSpeed = 28, -- Air strafe velocity
SpeedHack = false,
SpeedValue = 32,
Fullbright = false,
CustomCamFOV = false,
CamFOVValue = 90,
}
}
--------------------------------------------------------------------------------
-- RECOIL & GUN HOOKS
--------------------------------------------------------------------------------
if GunController then
GunController.ApplyRecoil = function(self, ...)
if Config.GunMod.NoRecoil then
pcall(function()
if self.RecoilSpring then self.RecoilSpring.t = Vector3.zero end
if self.RecoilPushSpring then self.RecoilPushSpring.t = Vector3.zero end
if self.RecoilShakeSpring then self.RecoilShakeSpring.t = Vector3.zero end
if self.RecoilTiltSpring then self.RecoilTiltSpring.t = Vector3.zero end
end)
return
end
if Orig_GunApplyRecoil then return Orig_GunApplyRecoil(self, ...) end
end
addCleanup(function() if Orig_GunApplyRecoil then GunController.ApplyRecoil = Orig_GunApplyRecoil end end)
GunController.GetFireDirection = function(self, ...)
if Config.Combat.SilentAim and currentTarget and currentTarget.Character then
local targetPart = currentTarget.Character:FindFirstChild(Config.Combat.AimPart) or currentTarget.Character:FindFirstChild("HumanoidRootPart")
if targetPart then
local muzzlePos = nil
pcall(function()
local muzzleCFrame = self:GetActiveProjectileMuzzleWorldCFrame()
if muzzleCFrame then muzzlePos = muzzleCFrame.Position end
end)
if not muzzlePos then muzzlePos = Camera.CFrame.Position end
return (targetPart.Position - muzzlePos).Unit
end
end
if Config.GunMod.NoSpread and self.GetAimDirection then
return self:GetAimDirection()
end
if Orig_GunGetFireDir then return Orig_GunGetFireDir(self, ...) end
end
addCleanup(function() if Orig_GunGetFireDir then GunController.GetFireDirection = Orig_GunGetFireDir end end)
end
if CameraController then
CameraController.Recoil = function(self, ...)
if Config.GunMod.NoRecoil then return end
if Orig_CamRecoil then return Orig_CamRecoil(self, ...) end
end
addCleanup(function() if Orig_CamRecoil then CameraController.Recoil = Orig_CamRecoil end end)
CameraController.BoomKick = function(self, ...)
if Config.GunMod.NoRecoil then return end
if Orig_CamBoomKick then return Orig_CamBoomKick(self, ...) end
end
addCleanup(function() if Orig_CamBoomKick then CameraController.BoomKick = Orig_CamBoomKick end end)
CameraController.ShakeImpulse = function(self, ...)
if Config.GunMod.NoRecoil then return end
if Orig_CamShakeImpulse then return Orig_CamShakeImpulse(self, ...) end
end
end
--------------------------------------------------------------------------------
-- CUSTOM JUMP & BHOP PHYSICS (TTK TESTING COMPATIBLE)
--------------------------------------------------------------------------------
local lastJumpTick = 0
local function isOnGround(char)
if not char then return false end
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildOfClass("Humanoid")
if not hrp or not hum then return false end
if hum.FloorMaterial ~= Enum.Material.Air then return true end
local rayParams = RaycastParams.new()
rayParams.FilterDescendantsInstances = {char}
rayParams.FilterType = Enum.RaycastFilterType.Exclude
local hit = workspace:Raycast(hrp.Position, Vector3.new(0, -3.4, 0), rayParams)
return hit ~= nil
end
local function performJump()
local now = tick()
if now - lastJumpTick < 0.22 then return end
local char = LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if hrp and isOnGround(char) then
lastJumpTick = now
hrp.AssemblyLinearVelocity = Vector3.new(hrp.AssemblyLinearVelocity.X, Config.Movement.JumpPower or 38, hrp.AssemblyLinearVelocity.Z)
end
end
local jumpKeyConn = UserInputService.InputBegan:Connect(function(input, gpe)
if not gpe and input.KeyCode == Enum.KeyCode.Space and Config.Movement.JumpEnabled then
performJump()
end
end)
addCleanup(function() jumpKeyConn:Disconnect() end)
--------------------------------------------------------------------------------
-- TARGET ACQUISITION, TEAM CHECK & CENTERING
--------------------------------------------------------------------------------
local function getScreenCenter()
return Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
end
local function isTeammate(player)
if not Config.Combat.TeamCheck then return false end
if player == LocalPlayer then return true end
local myTeam = LocalPlayer:GetAttribute("Team")
local theirTeam = player:GetAttribute("Team")
if myTeam and theirTeam and myTeam ~= "" and myTeam == theirTeam then
return true
end
if LocalPlayer.Team and player.Team and LocalPlayer.Team == player.Team then
return true
end
if not LocalPlayer.Neutral and not player.Neutral and LocalPlayer.TeamColor == player.TeamColor then
return true
end
return false
end
local function getTarget()
local closest = nil
local shortestDist = Config.Combat.FOV
local center = getScreenCenter()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and not isTeammate(player) and player.Character and player.Character:FindFirstChild("Humanoid") and player.Character.Humanoid.Health > 0 then
local targetPart = player.Character:FindFirstChild(Config.Combat.AimPart) or player.Character:FindFirstChild("HumanoidRootPart")
if targetPart then
local screenPos, onScreen = Camera:WorldToViewportPoint(targetPart.Position)
if onScreen then
local dist = (Vector2.new(screenPos.X, screenPos.Y) - center).Magnitude
if dist < shortestDist then
shortestDist = dist
closest = player
end
end
end
end
end
return closest
end
--------------------------------------------------------------------------------
-- GUI CREATION (PURE MINIMALIST DARK THEME - NO EMOJIS, NO FOOTER)
--------------------------------------------------------------------------------
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "RonaldoMenuV3"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
local parentTarget = game:GetService("CoreGui")
pcall(function()
if gethui then
parentTarget = gethui()
end
end)
ScreenGui.Parent = parentTarget
addCleanup(function() ScreenGui:Destroy() end)
-- Main Window
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 580, 0, 360)
MainFrame.Position = UDim2.new(0.5, -290, 0.5, -180)
MainFrame.BackgroundColor3 = Color3.fromRGB(14, 15, 20)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 8)
MainCorner.Parent = MainFrame
local MainStroke = Instance.new("UIStroke")
MainStroke.Color = Color3.fromRGB(28, 32, 44)
MainStroke.Thickness = 1
MainStroke.Parent = MainFrame
-- Header
local Header = Instance.new("Frame")
Header.Size = UDim2.new(1, 0, 0, 42)
Header.Position = UDim2.new(0, 0, 0, 0)
Header.BackgroundColor3 = Color3.fromRGB(18, 20, 27)
Header.BorderSizePixel = 0
Header.Parent = MainFrame
local HeaderCorner = Instance.new("UICorner")
HeaderCorner.CornerRadius = UDim.new(0, 8)
HeaderCorner.Parent = Header
local Title = Instance.new("TextLabel")
Title.Text = "RONALDO MENU"
Title.Font = Enum.Font.GothamBold
Title.TextSize = 13
Title.TextColor3 = Color3.fromRGB(240, 243, 250)
Title.Position = UDim2.new(0, 16, 0, 0)
Title.Size = UDim2.new(0, 200, 1, 0)
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.BackgroundTransparency = 1
Title.Parent = Header
local KeyHint = Instance.new("TextLabel")
KeyHint.Text = "[G] Toggle Menu"
KeyHint.Font = Enum.Font.GothamMedium
KeyHint.TextSize = 11
KeyHint.TextColor3 = Color3.fromRGB(120, 125, 145)
KeyHint.Position = UDim2.new(1, -140, 0, 0)
KeyHint.Size = UDim2.new(0, 124, 1, 0)
KeyHint.TextXAlignment = Enum.TextXAlignment.Right
KeyHint.BackgroundTransparency = 1
KeyHint.Parent = Header
-- Sidebar Navigation
local Sidebar = Instance.new("Frame")
Sidebar.Size = UDim2.new(0, 140, 1, -42)
Sidebar.Position = UDim2.new(0, 0, 0, 42)
Sidebar.BackgroundColor3 = Color3.fromRGB(16, 17, 23)
Sidebar.BorderSizePixel = 0
Sidebar.Parent = MainFrame
local SideList = Instance.new("UIListLayout")
SideList.SortOrder = Enum.SortOrder.LayoutOrder
SideList.Padding = UDim.new(0, 4)
SideList.Parent = Sidebar
local SidePad = Instance.new("UIPadding")
SidePad.PaddingTop = UDim.new(0, 10)
SidePad.PaddingLeft = UDim.new(0, 8)
SidePad.PaddingRight = UDim.new(0, 8)
SidePad.Parent = Sidebar
-- Content Container
local Content = Instance.new("Frame")
Content.Size = UDim2.new(1, -140, 1, -42)
Content.Position = UDim2.new(0, 140, 0, 42)
Content.BackgroundTransparency = 1
Content.Parent = MainFrame
local pages = {}
local tabBtns = {}
local function createTab(name)
local page = Instance.new("ScrollingFrame")
page.Name = name .. "Page"
page.Size = UDim2.new(1, -20, 1, -20)
page.Position = UDim2.new(0, 10, 0, 10)
page.BackgroundTransparency = 1
page.BorderSizePixel = 0
page.ScrollBarThickness = 3
page.ScrollBarImageColor3 = Color3.fromRGB(0, 230, 180)
page.Visible = false
page.Parent = Content
local list = Instance.new("UIListLayout")
list.SortOrder = Enum.SortOrder.LayoutOrder
list.Padding = UDim.new(0, 6)
list.Parent = page
pages[name] = page
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 34)
btn.BackgroundColor3 = Color3.fromRGB(21, 23, 31)
btn.Text = name
btn.Font = Enum.Font.GothamMedium
btn.TextSize = 12
btn.TextColor3 = Color3.fromRGB(140, 145, 170)
btn.TextXAlignment = Enum.TextXAlignment.Center
btn.AutoButtonColor = false
btn.Parent = Sidebar
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 6)
btnCorner.Parent = btn
btn.MouseButton1Click:Connect(function()
for pName, p in pairs(pages) do p.Visible = (pName == name) end
for _, b in pairs(tabBtns) do
b.BackgroundColor3 = Color3.fromRGB(21, 23, 31)
b.TextColor3 = Color3.fromRGB(140, 145, 170)
end
btn.BackgroundColor3 = Color3.fromRGB(0, 180, 140)
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
end)
table.insert(tabBtns, btn)
return page
end
-- Controls Helpers
local function addToggle(page, labelText, defaultVal, callback)
local f = Instance.new("Frame")
f.Size = UDim2.new(1, -6, 0, 34)
f.BackgroundColor3 = Color3.fromRGB(20, 22, 30)
f.Parent = page
local fc = Instance.new("UICorner")
fc.CornerRadius = UDim.new(0, 6)
fc.Parent = f
local fs = Instance.new("UIStroke")
fs.Color = Color3.fromRGB(28, 31, 44)
fs.Thickness = 1
fs.Parent = f
local t = Instance.new("TextLabel")
t.Text = labelText
t.Font = Enum.Font.Gotham
t.TextSize = 12
t.TextColor3 = Color3.fromRGB(225, 230, 245)
t.Position = UDim2.new(0, 12, 0, 0)
t.Size = UDim2.new(0.7, 0, 1, 0)
t.TextXAlignment = Enum.TextXAlignment.Left
t.BackgroundTransparency = 1
t.Parent = f
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 38, 0, 18)
btn.Position = UDim2.new(1, -48, 0.5, -9)
btn.BackgroundColor3 = defaultVal and Color3.fromRGB(0, 200, 140) or Color3.fromRGB(38, 41, 56)
btn.Text = ""
btn.Parent = f
local bc = Instance.new("UICorner")
bc.CornerRadius = UDim.new(0, 9)
bc.Parent = btn
local ind = Instance.new("Frame")
ind.Size = UDim2.new(0, 14, 0, 14)
ind.Position = defaultVal and UDim2.new(1, -16, 0.5, -7) or UDim2.new(0, 2, 0.5, -7)
ind.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
ind.Parent = btn
local ic = Instance.new("UICorner")
ic.CornerRadius = UDim.new(1, 0)
ic.Parent = ind
local state = defaultVal
btn.MouseButton1Click:Connect(function()
state = not state
btn.BackgroundColor3 = state and Color3.fromRGB(0, 200, 140) or Color3.fromRGB(38, 41, 56)
ind.Position = state and UDim2.new(1, -16, 0.5, -7) or UDim2.new(0, 2, 0.5, -7)
pcall(callback, state)
end)
end
local function addSlider(page, labelText, minVal, maxVal, defaultVal, callback)
local f = Instance.new("Frame")
f.Size = UDim2.new(1, -6, 0, 46)
f.BackgroundColor3 = Color3.fromRGB(20, 22, 30)
f.Parent = page
local fc = Instance.new("UICorner")
fc.CornerRadius = UDim.new(0, 6)
fc.Parent = f
local fs = Instance.new("UIStroke")
fs.Color = Color3.fromRGB(28, 31, 44)
fs.Thickness = 1
fs.Parent = f
local t = Instance.new("TextLabel")
t.Text = labelText
t.Font = Enum.Font.Gotham
t.TextSize = 12
t.TextColor3 = Color3.fromRGB(225, 230, 245)
t.Position = UDim2.new(0, 12, 0, 4)
t.Size = UDim2.new(0.6, 0, 0, 18)
t.TextXAlignment = Enum.TextXAlignment.Left
t.BackgroundTransparency = 1
t.Parent = f
local valTxt = Instance.new("TextLabel")
valTxt.Text = tostring(defaultVal)
valTxt.Font = Enum.Font.GothamBold
valTxt.TextSize = 12
valTxt.TextColor3 = Color3.fromRGB(0, 230, 180)
valTxt.Position = UDim2.new(1, -68, 0, 4)
valTxt.Size = UDim2.new(0, 56, 0, 18)
valTxt.TextXAlignment = Enum.TextXAlignment.Right
valTxt.BackgroundTransparency = 1
valTxt.Parent = f
local bg = Instance.new("Frame")
bg.Size = UDim2.new(1, -24, 0, 5)
bg.Position = UDim2.new(0, 12, 0, 30)
bg.BackgroundColor3 = Color3.fromRGB(38, 41, 56)
bg.Parent = f
local bgc = Instance.new("UICorner")
bgc.CornerRadius = UDim.new(1, 0)
bgc.Parent = bg
local fill = Instance.new("Frame")
local pct = (defaultVal - minVal) / (maxVal - minVal)
fill.Size = UDim2.new(pct, 0, 1, 0)
fill.BackgroundColor3 = Color3.fromRGB(0, 200, 140)
fill.Parent = bg
local fillc = Instance.new("UICorner")
fillc.CornerRadius = UDim.new(1, 0)
fillc.Parent = fill
local dragging = false
local function update(input)
local pos = math.clamp((input.Position.X - bg.AbsolutePosition.X) / bg.AbsoluteSize.X, 0, 1)
fill.Size = UDim2.new(pos, 0, 1, 0)
local val = math.floor(minVal + (maxVal - minVal) * pos)
valTxt.Text = tostring(val)
pcall(callback, val)
end
bg.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true update(input) end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then update(input) end
end)
end
-- Create Pages
local combatPage = createTab("Combat")
local gunModPage = createTab("Gun Mods")
local visualsPage = createTab("Visuals")
local movementPage = createTab("Movement")
tabBtns[1].BackgroundColor3 = Color3.fromRGB(0, 180, 140)
tabBtns[1].TextColor3 = Color3.fromRGB(255, 255, 255)
pages["Combat"].Visible = true
-- Combat Controls
addToggle(combatPage, "Team Check (Ignore Allies)", Config.Combat.TeamCheck, function(v) Config.Combat.TeamCheck = v end)
addToggle(combatPage, "Muzzle Silent Aim (Bullet Trace)", Config.Combat.SilentAim, function(v) Config.Combat.SilentAim = v end)
addToggle(combatPage, "Muzzle Camera Lock (RMB)", Config.Combat.CameraAim, function(v) Config.Combat.CameraAim = v end)
addToggle(combatPage, "Show FOV Circle", Config.Combat.ShowFOV, function(v) Config.Combat.ShowFOV = v end)
addSlider(combatPage, "Aimbot FOV Radius", 30, 400, Config.Combat.FOV, function(v) Config.Combat.FOV = v end)
-- Gun Mod Controls
addToggle(gunModPage, "100% No Recoil (Cam + Weapon)", Config.GunMod.NoRecoil, function(v) Config.GunMod.NoRecoil = v end)
addToggle(gunModPage, "100% No Spread (Pinpoint)", Config.GunMod.NoSpread, function(v) Config.GunMod.NoSpread = v end)
addToggle(gunModPage, "Infinite Ammo Refill", Config.GunMod.InfiniteAmmo, function(v) Config.GunMod.InfiniteAmmo = v end)
addToggle(gunModPage, "Force Full-Auto Mode", Config.GunMod.ForceAuto, function(v) Config.GunMod.ForceAuto = v end)
addToggle(gunModPage, "Rapid Fire Boost", Config.GunMod.RapidFire, function(v) Config.GunMod.RapidFire = v end)
-- Visuals Controls
addToggle(visualsPage, "Master ESP Toggle", Config.Visuals.Enabled, function(v) Config.Visuals.Enabled = v end)
addToggle(visualsPage, "Chams (Wallhack Highlight)", Config.Visuals.Highlights, function(v) Config.Visuals.Highlights = v end)
addToggle(visualsPage, "Show Teammates in ESP", Config.Visuals.ShowTeammates, function(v) Config.Visuals.ShowTeammates = v end)
addToggle(visualsPage, "2D Bounding Boxes", Config.Visuals.Boxes, function(v) Config.Visuals.Boxes = v end)
addToggle(visualsPage, "Name & Distance", Config.Visuals.Names, function(v) Config.Visuals.Names = v end)
addToggle(visualsPage, "Health Bars", Config.Visuals.HealthBar, function(v) Config.Visuals.HealthBar = v end)
addToggle(visualsPage, "Tracers", Config.Visuals.Tracers, function(v) Config.Visuals.Tracers = v end)
-- Movement & World Controls
addToggle(movementPage, "Enable Jump in TTK", Config.Movement.JumpEnabled, function(v) Config.Movement.JumpEnabled = v end)
addSlider(movementPage, "Jump Height", 25, 55, Config.Movement.JumpPower, function(v) Config.Movement.JumpPower = v end)
addToggle(movementPage, "Bunny Hop (Hold Space)", Config.Movement.Bhop, function(v) Config.Movement.Bhop = v end)
addToggle(movementPage, "Air Strafe (Instant Direction)", Config.Movement.AirStrafe, function(v) Config.Movement.AirStrafe = v end)
addSlider(movementPage, "Air Strafe Speed", 16, 60, Config.Movement.StrafeSpeed, function(v) Config.Movement.StrafeSpeed = v end)
addToggle(movementPage, "Speed Hack (Fast Movement)", Config.Movement.SpeedHack, function(v) Config.Movement.SpeedHack = v end)
addSlider(movementPage, "Speed Multiplier", 20, 100, Config.Movement.SpeedValue, function(v) Config.Movement.SpeedValue = v end)
addToggle(movementPage, "Infinite Jump (Air Jump)", Config.Movement.InfiniteJump, function(v) Config.Movement.InfiniteJump = v end)
addToggle(movementPage, "Custom Camera FOV", Config.Movement.CustomCamFOV, function(v) Config.Movement.CustomCamFOV = v end)
addSlider(movementPage, "Camera Field of View", 70, 120, Config.Movement.CamFOVValue, function(v) Config.Movement.CamFOVValue = v end)
addToggle(movementPage, "Fullbright / Clear World", Config.Movement.Fullbright, function(v)
Config.Movement.Fullbright = v
if v then
Lighting.Ambient = Color3.new(1, 1, 1)
Lighting.Brightness = 2
Lighting.GlobalShadows = false
Lighting.FogEnd = 9e9
else
Lighting.GlobalShadows = true
end
end)
-- Keybind Toggle (G Key)
local uiVisible = true
local inputConn = UserInputService.InputBegan:Connect(function(input, gpe)
if not gpe and input.KeyCode == Enum.KeyCode.G then
uiVisible = not uiVisible
MainFrame.Visible = uiVisible
end
end)
addCleanup(function() inputConn:Disconnect() end)
--------------------------------------------------------------------------------
-- DRAWING OVERLAYS & RENDER STEP
--------------------------------------------------------------------------------
local fovCircle = Drawing.new("Circle")
fovCircle.Color = Color3.fromRGB(0, 230, 180)
fovCircle.Thickness = 1.5
fovCircle.Filled = false
fovCircle.Transparency = 0.85
fovCircle.Visible = false
addCleanup(function() fovCircle:Remove() end)
local crosshairH = Drawing.new("Line")
local crosshairV = Drawing.new("Line")
crosshairH.Color = Color3.fromRGB(0, 230, 180)
crosshairH.Thickness = 1
crosshairH.Transparency = 0.7
crosshairV.Color = Color3.fromRGB(0, 230, 180)
crosshairV.Thickness = 1
crosshairV.Transparency = 0.7
addCleanup(function()
crosshairH:Remove()
crosshairV:Remove()
end)
local espCache = {}
local function removePlayerESP(player)
if espCache[player] then
for _, obj in pairs(espCache[player]) do
if obj and obj.Remove then pcall(function() obj:Remove() end)
elseif typeof(obj) == "Instance" then pcall(function() obj:Destroy() end) end
end
espCache[player] = nil
end
end
addCleanup(function()
for player, _ in pairs(espCache) do removePlayerESP(player) end
end)
local function getPlayerESP(player)
if espCache[player] then return espCache[player] end
local cache = {
box = Drawing.new("Square"),
name = Drawing.new("Text"),
healthBg = Drawing.new("Square"),
healthFill = Drawing.new("Square"),
tracer = Drawing.new("Line"),
}
cache.box.Thickness = 1.5
cache.box.Color = Config.Visuals.BoxColor
cache.box.Filled = false
cache.name.Size = 13
cache.name.Center = true
cache.name.Outline = true
cache.name.Color = Color3.fromRGB(255, 255, 255)
cache.healthBg.Filled = true
cache.healthBg.Color = Color3.fromRGB(20, 20, 20)
cache.healthFill.Filled = true
cache.tracer.Thickness = 1
cache.tracer.Color = Config.Visuals.TracerColor
espCache[player] = cache
return cache
end
--------------------------------------------------------------------------------
-- MAIN STEPPING LOOP
--------------------------------------------------------------------------------
local renderConn = RunService.RenderStepped:Connect(function()
local screenCenter = getScreenCenter()
currentTarget = getTarget()
-- Custom Camera FOV
if Config.Movement.CustomCamFOV then
Camera.FieldOfView = Config.Movement.CamFOVValue
end
-- Speed Hack (CFrame Boost)
if Config.Movement.SpeedHack and LocalPlayer.Character then
local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if hum and hrp and hum.MoveDirection.Magnitude > 0 then
hrp.CFrame = hrp.CFrame + (hum.MoveDirection * ((Config.Movement.SpeedValue - 16) / 60))
end
end
-- Bunny Hop (Auto Jump on ground while Space is held)
if Config.Movement.Bhop and UserInputService:IsKeyDown(Enum.KeyCode.Space) then
performJump()
end
-- Air Strafe (Instant air direction control without cooldown or inertia lag)
if Config.Movement.AirStrafe and LocalPlayer.Character then
local char = LocalPlayer.Character
local hum = char:FindFirstChildOfClass("Humanoid")
local hrp = char:FindFirstChild("HumanoidRootPart")
if hum and hrp and hum.Health > 0 and not isOnGround(char) then
if hum.MoveDirection.Magnitude > 0.05 then
local currentVy = hrp.AssemblyLinearVelocity.Y
local horizMag = Vector3.new(hrp.AssemblyLinearVelocity.X, 0, hrp.AssemblyLinearVelocity.Z).Magnitude
local strafeSpeed = math.max(horizMag, Config.Movement.StrafeSpeed or 28)
local newHoriz = hum.MoveDirection.Unit * strafeSpeed
hrp.AssemblyLinearVelocity = Vector3.new(newHoriz.X, currentVy, newHoriz.Z)
end
end
end
-- FOV Circle
fovCircle.Position = screenCenter
fovCircle.Radius = Config.Combat.FOV
fovCircle.Visible = Config.Combat.ShowFOV
-- Centered Crosshair
if Config.Visuals.Crosshair then
crosshairH.From = Vector2.new(screenCenter.X - 6, screenCenter.Y)
crosshairH.To = Vector2.new(screenCenter.X + 6, screenCenter.Y)
crosshairH.Visible = true
crosshairV.From = Vector2.new(screenCenter.X, screenCenter.Y - 6)
crosshairV.To = Vector2.new(screenCenter.X, screenCenter.Y + 6)
crosshairV.Visible = true
else
crosshairH.Visible = false
crosshairV.Visible = false
end
-- Gun Mods Handling
if GunController and GunController.Weapon and GunController.Weapon.IsEquipped then
local weapon = GunController.Weapon
if Config.GunMod.InfiniteAmmo and weapon.MagAmmo and weapon.MaxMagSize then
weapon.MagAmmo = weapon.MaxMagSize
end
if Config.GunMod.ForceAuto then
weapon.FireMode = "auto"
end
if Config.GunMod.RapidFire and weapon.FireRate then
weapon.FireRate = Config.GunMod.CustomFireRate
if weapon.Config then weapon.Config.fire_rate = Config.GunMod.CustomFireRate end
end
end
-- Camera Lock Aimbot
if Config.Combat.CameraAim and UserInputService:IsMouseButtonPressed(Config.Combat.AimKey) and currentTarget and currentTarget.Character then
local targetPart = currentTarget.Character:FindFirstChild(Config.Combat.AimPart) or currentTarget.Character:FindFirstChild("HumanoidRootPart")
if targetPart then
local targetViewport = Camera:WorldToViewportPoint(targetPart.Position)
local target2D = Vector2.new(targetViewport.X, targetViewport.Y)
local delta = target2D - screenCenter
mousemoverel(delta.X * Config.Combat.Smoothness, delta.Y * Config.Combat.Smoothness)
end
end
-- ESP & Chams Loop
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
local esp = getPlayerESP(player)
local char = player.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local hrp = char and char:FindFirstChild("HumanoidRootPart")
local isAlly = isTeammate(player)
-- Chams (Highlights) - Independent of 2D screen visibility for true wallhack
local shouldShowChams = Config.Visuals.Highlights and Config.Visuals.Enabled and char and hum and hum.Health > 0
if shouldShowChams and isAlly and not Config.Visuals.ShowTeammates then
shouldShowChams = false
end
if shouldShowChams then
local hl = esp.highlight
if not hl or hl.Parent ~= char then
if hl then pcall(function() hl:Destroy() end) end
hl = Instance.new("Highlight")
hl.Name = "Ronaldo_Chams"
hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
hl.FillTransparency = 0.45
hl.OutlineTransparency = 0
hl.Adornee = char
hl.Parent = char
esp.highlight = hl
end
hl.FillColor = isAlly and Config.Visuals.TeammateColor or Config.Visuals.HighlightColor
hl.OutlineColor = Color3.fromRGB(255, 255, 255)
hl.Enabled = true
elseif esp.highlight then
pcall(function() esp.highlight:Destroy() end)
esp.highlight = nil
end
-- 2D Drawings (Boxes, Names, HealthBar, Tracers)
local shouldShow2D = Config.Visuals.Enabled and char and hum and hum.Health > 0 and hrp
if shouldShow2D and isAlly and not Config.Visuals.ShowTeammates then
shouldShow2D = false
end
if shouldShow2D then
local head = char:FindFirstChild("Head") or hrp
local headPos, headOnScreen = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.6, 0))
local footPos, footOnScreen = Camera:WorldToViewportPoint(hrp.Position - Vector3.new(0, 3.2, 0))
if headOnScreen and footOnScreen then
local boxHeight = math.abs(footPos.Y - headPos.Y)
local boxWidth = boxHeight * 0.6
local boxPos = Vector2.new(headPos.X - boxWidth / 2, headPos.Y)
local drawColor = isAlly and Config.Visuals.TeammateColor or Config.Visuals.BoxColor
if Config.Visuals.Boxes then
esp.box.Size = Vector2.new(boxWidth, boxHeight)
esp.box.Position = boxPos
esp.box.Color = drawColor
esp.box.Visible = true
else esp.box.Visible = false end
if Config.Visuals.Names then
local dist = math.floor((hrp.Position - Camera.CFrame.Position).Magnitude)
esp.name.Text = string.format("%s [%dm]", player.DisplayName or player.Name, dist)
esp.name.Position = Vector2.new(headPos.X, headPos.Y - 16)
esp.name.Color = isAlly and Config.Visuals.TeammateColor or Color3.fromRGB(255, 255, 255)
esp.name.Visible = true
else esp.name.Visible = false end
if Config.Visuals.HealthBar then
local hpPct = math.clamp(hum.Health / hum.MaxHealth, 0, 1)
local barWidth = 3
local barHeight = boxHeight
esp.healthBg.Size = Vector2.new(barWidth, barHeight)
esp.healthBg.Position = Vector2.new(boxPos.X - 6, boxPos.Y)
esp.healthBg.Visible = true
esp.healthFill.Size = Vector2.new(barWidth, barHeight * hpPct)
esp.healthFill.Position = Vector2.new(boxPos.X - 6, boxPos.Y + (barHeight * (1 - hpPct)))
esp.healthFill.Color = Color3.fromRGB(255 * (1 - hpPct), 255 * hpPct, 0)
esp.healthFill.Visible = true
else
esp.healthBg.Visible = false
esp.healthFill.Visible = false
end
if Config.Visuals.Tracers then
esp.tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
esp.tracer.To = Vector2.new(footPos.X, footPos.Y)
esp.tracer.Color = isAlly and Config.Visuals.TeammateColor or Config.Visuals.TracerColor
esp.tracer.Visible = true
else esp.tracer.Visible = false end
else
esp.box.Visible = false
esp.name.Visible = false
esp.healthBg.Visible = false
esp.healthFill.Visible = false
esp.tracer.Visible = false
end
else
esp.box.Visible = false
esp.name.Visible = false
esp.healthBg.Visible = false
esp.healthFill.Visible = false
esp.tracer.Visible = false
end
end
end
end)
addCleanup(function() renderConn:Disconnect() end)
print("[RONALDO MENU] Pure Dark Minimalist Loaded!")
![Silent aim - No recoil - ESP - Aimbot [KEYLESS]](https://cdn.kocakz.me/images/b76ca267b203a20d724bd784c9aaca030bfb6e943a282e4fca3808f982c7ac0c.webp)


этот скрипт ломает мою игру