-- ============================================================ -- ScrollMenu v7 | RMB Aimbot | Fly Others | Fixed -- ============================================================ local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TweenSvc = game:GetService("TweenService") local Lighting = game:GetService("Lighting") local VirtualUser = game:GetService("VirtualUser") local Items = game:GetService("MarketplaceService") local Marketplace = game:GetService("MarketplaceService") local lp = Players.LocalPlayer local mouse = lp:GetMouse() local cam = workspace.CurrentCamera -- ─── Colors ──────────────────────────────────────────────── local CB = Color3.fromRGB(28 ,28 ,28 ) local CS = Color3.fromRGB(20 ,20 ,20 ) local CT = Color3.fromRGB(15 ,15 ,15 ) local CI = Color3.fromRGB(40 ,40 ,40 ) local CD = Color3.fromRGB(50 ,50 ,50 ) local CA = Color3.fromRGB(65 ,115,255) local CG = Color3.fromRGB(48 ,209,88 ) local CR = Color3.fromRGB(220,50 ,50 ) local CW = Color3.fromRGB(235,235,235) local CQ = Color3.fromRGB(110,110,110) local CSL = Color3.fromRGB(32 ,32 ,58 ) -- ─── Sizes ───────────────────────────────────────────────── local WW,WH = 580,440 local SW = 145 local TH = 38 local RH = 46 local SHH = 58 local GH = 22 local IP = 6 local PP = 10 -- ─── State vars (all at top scope) ───────────────────────── local flySpd = 65; local walkSpd = 16; local jumpPwr = 50 local aimFov = 150; local aimSmooth= 0.85; local aimPred = 0.08; local aimMaxD = 500 local aimbotOn = false; local silentOn = false; local lockOnOn = false local skipTeamAim=false; local visOnly=false; local aimbotBone="Head" local lockTgt = nil; local myRoot = nil local espClr = Color3.fromRGB(255,50,50) local espOn = false; local espRMBOnly=true local espName = true; local espInfo=true; local espHP=true; local espTeam=false local espDrws = {} local flyOn=false; local ncOn=false; local godOn=false; local infJump=false local invisOn=false; local spinOn=false; local bhopOn=false; local afkOn=false local flyOthersAll=false; local flyOthersSet={} local frozenMap={}; local spamKMap={}; local spamKConns={} local clickTPOn=false; local fbOn=false; local fogOn=false; local hitboxOn=false local flyConn,flyBV,flyBG,ncConn,godConn,godHConn,spinConn,bhopConn,afkConn local selPlayer = nil -- ============================================================ -- FEATURE FUNCTIONS (defined first so callbacks can use them) -- ============================================================ -- ── Network ownership helper ──────────────────────────────── -- Claiming ownership lets our client's property changes replicate local function claimOwner(part) pcall(function() part:SetNetworkOwner(lp) end) -- some executors expose this as a global pcall(function() if setnetworkowner then setnetworkowner(part, lp) end end) end local function killChar(ch) if not ch then return end local root = ch:FindFirstChild("HumanoidRootPart") local hum = ch:FindFirstChildOfClass("Humanoid") -- Claim ownership so our edits replicate in FE games if root then claimOwner(root) for _, p in pairs(ch:GetDescendants()) do if p:IsA("BasePart") then pcall(function() claimOwner(p) end) end end end -- Method 1: standard health = 0 pcall(function() if hum then hum.Health = 0; hum:TakeDamage(math.huge) end end) -- Method 2: sethiddenproperty (available in many executors — bypasses FE) pcall(function() if hum and sethiddenproperty then sethiddenproperty(hum, "Health", 0) end end) -- Method 3: BreakJoints pcall(function() ch:BreakJoints() end) -- Method 4: void teleport — triggers game's own kill plane server-side pcall(function() if root then root.CFrame = CFrame.new(root.Position.X, -9999, root.Position.Z) end end) -- Method 5: extreme downward velocity to punch through kill plane fast pcall(function() if root then root.AssemblyLinearVelocity = Vector3.new(0, -9999, 0) end end) end local function flingChar(ch) if not ch then return end local r=ch:FindFirstChild("HumanoidRootPart"); if not r then return end local fv=Instance.new("BodyVelocity") fv.Velocity=Vector3.new(math.random(-1,1)*900,700,math.random(-1,1)*900) fv.MaxForce=Vector3.new(1e9,1e9,1e9); fv.Parent=r game:GetService("Debris"):AddItem(fv,0.15) end local function startFly() local ch=lp.Character; if not ch then return end local r=ch:FindFirstChild("HumanoidRootPart"); local h=ch:FindFirstChildOfClass("Humanoid") if not r or not h then return end; h.PlatformStand=true flyBV=Instance.new("BodyVelocity"); flyBV.Velocity=Vector3.zero; flyBV.MaxForce=Vector3.new(1e9,1e9,1e9); flyBV.Parent=r flyBG=Instance.new("BodyGyro"); flyBG.MaxTorque=Vector3.new(1e9,1e9,1e9); flyBG.P=1e4; flyBG.CFrame=r.CFrame; flyBG.Parent=r flyConn=RunService.RenderStepped:Connect(function() local rr=lp.Character and lp.Character:FindFirstChild("HumanoidRootPart"); if not rr then return end local cf=cam.CFrame; local d=Vector3.zero if UIS:IsKeyDown(Enum.KeyCode.W) then d=d+cf.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then d=d-cf.LookVector end if UIS:IsKeyDown(Enum.KeyCode.A) then d=d-cf.RightVector end if UIS:IsKeyDown(Enum.KeyCode.D) then d=d+cf.RightVector end if UIS:IsKeyDown(Enum.KeyCode.Space) then d=d+Vector3.new(0,1,0) end if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then d=d-Vector3.new(0,1,0) end flyBV.Velocity=d.Magnitude>0 and d.Unit*flySpd or Vector3.zero; flyBG.CFrame=cf end) end local function stopFly() if flyConn then flyConn:Disconnect(); flyConn=nil end if flyBV then flyBV:Destroy(); flyBV=nil end if flyBG then flyBG:Destroy(); flyBG=nil end local h=lp.Character and lp.Character:FindFirstChildOfClass("Humanoid"); if h then h.PlatformStand=false end end local function startGod() local function applyG(ch) local h=ch and ch:FindFirstChildOfClass("Humanoid"); if not h then return end pcall(function() h:SetStateEnabled(Enum.HumanoidStateType.Dead,false) end) if godHConn then godHConn:Disconnect() end godHConn=h.HealthChanged:Connect(function() if godOn then h.Health=h.MaxHealth end end) h.Health=h.MaxHealth end applyG(lp.Character) lp.CharacterAdded:Connect(function(c) if godOn then task.wait(0.1); applyG(c) end end) godConn=RunService.Heartbeat:Connect(function() local h=lp.Character and lp.Character:FindFirstChildOfClass("Humanoid") if h then if h.Health0 and string.format("%."..dec.."f",v)..unit or tostring(math.floor(v+0.5))..unit end vLbl.Text=fmt(def) local function upd(sx) local ab=tr.AbsolutePosition; local sz=tr.AbsoluteSize local rx=math.clamp(sx-ab.X,0,sz.X); local ratio=rx/sz.X local raw=mn+ratio*(mx-mn); local val=dec>0 and math.floor(raw*(10^dec)+0.5)/(10^dec) or math.floor(raw+0.5) fill.Size=UDim2.new(ratio,0,1,0); kn2.Position=UDim2.new(ratio,-KS2/2,0.5,-KS2/2); vLbl.Text=fmt(val); cb(val) end local act2=false tr.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then act2=true; upd(i.Position.X) end end) UIS.InputChanged:Connect(function(i) if act2 and i.UserInputType==Enum.UserInputType.MouseMovement then upd(i.Position.X) end end) UIS.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then act2=false end end) y[1]=y[1]+SHH+IP return function(v) local ratio=math.clamp((v-mn)/(mx-mn),0,1); fill.Size=UDim2.new(ratio,0,1,0); kn2.Position=UDim2.new(ratio,-KS2/2,0.5,-KS2/2); vLbl.Text=fmt(v) end end local function finPage(id,y) local h=y[1]+8; pages[id].h=h; pages[id].frame.Size=UDim2.new(1,0,0,h) end -- ============================================================ -- BUILD PAGES -- ============================================================ -- ── AIMBOT ────────────────────────────────────────────────── local pgAimbot=mkTabBtn("aimbot","🎯","Aimbot") local setAimTog,setSilentTog,setLockTog,setSkipTog,setVisTog local aimTargetLbl do local y={8} mkSec2(pgAimbot,y,"aimbot") setAimTog =mkTog2(pgAimbot,y,"Aimbot","Hold RMB to activate [Z]",false,function(s) aimbotOn=s end) setSilentTog=mkTog2(pgAimbot,y,"Silent Aim","Instant snap — no visible lerp",false,function(s) silentOn=s end) setLockTog =mkTog2(pgAimbot,y,"Lock-On","Stick to one target until they die",false,function(s) lockOnOn=s; lockTgt=nil end) setSkipTog =mkTog2(pgAimbot,y,"Skip Teammates","Ignore your own team",false,function(s) skipTeamAim=s end) setVisTog =mkTog2(pgAimbot,y,"Visible Only","Only target players you can see",false,function(s) visOnly=s end) mkSec2(pgAimbot,y,"bone") local boneIsHead=true mkAct2(pgAimbot,y,"Aim Bone","Click to switch head ↔ body","HEAD",Color3.fromRGB(50,50,90),function(btn) boneIsHead=not boneIsHead; aimbotBone=boneIsHead and "Head" or "HumanoidRootPart"; btn.Text=boneIsHead and "HEAD" or "BODY" end) mkSec2(pgAimbot,y,"sliders") mkSld2(pgAimbot,y,"FOV Radius", 50,400,aimFov, 0," px",function(v) aimFov=v; fovCircle.Radius=v end) mkSld2(pgAimbot,y,"Smoothness", 1, 20, 17, 0,"", function(v) aimSmooth=v/20 end) mkSld2(pgAimbot,y,"Prediction", 0,250, aimPred*1000,0," ms",function(v) aimPred=v/1000 end) mkSld2(pgAimbot,y,"Max Distance", 50,2000,aimMaxD, 0," st",function(v) aimMaxD=v end) mkSec2(pgAimbot,y,"target") aimTargetLbl=Instance.new("TextLabel"); aimTargetLbl.Text="Hold RMB to aim" aimTargetLbl.Font=Enum.Font.Gotham; aimTargetLbl.TextSize=12; aimTargetLbl.TextColor3=CQ aimTargetLbl.BackgroundTransparency=1; aimTargetLbl.Size=UDim2.new(1,-PP*2,0,28) aimTargetLbl.Position=UDim2.new(0,PP,0,y[1]); aimTargetLbl.TextXAlignment=Enum.TextXAlignment.Left; aimTargetLbl.Parent=pgAimbot y[1]=y[1]+34 finPage("aimbot",y) end -- ── ESP ───────────────────────────────────────────────────── local pgESP=mkTabBtn("esp","👁","ESP") local setESPTog do local y={8} mkSec2(pgESP,y,"esp") setESPTog =mkTog2(pgESP,y,"ESP Enabled","2D box overlay — always through walls",false,function(s) espOn=s; if not s then for p,_ in pairs(espDrws) do for _,d in pairs(espDrws[p]) do pcall(function() d.Visible=false end) end end end end) mkTog2(pgESP,y,"Hold RMB to View","Release mouse to hide",true,function(s) espRMBOnly=s end) mkTog2(pgESP,y,"Enemies Only","Hide your teammates",false,function(s) espTeam=s end) mkSec2(pgESP,y,"display") mkTog2(pgESP,y,"Show Name",nil,true,function(s) espName=s end) mkTog2(pgESP,y,"Health + Distance",nil,true,function(s) espInfo=s end) mkTog2(pgESP,y,"Health Bar",nil,true,function(s) espHP=s end) mkSec2(pgESP,y,"color") mkAct2(pgESP,y,"Box Color","Click to set","Red", CR,function() espClr=Color3.fromRGB(255,50,50) end) mkAct2(pgESP,y,"","","Green",CG,function() espClr=Color3.fromRGB(50,230,80) end) mkAct2(pgESP,y,"","","Blue", CA,function() espClr=Color3.fromRGB(60,130,255) end) mkAct2(pgESP,y,"","","White",Color3.fromRGB(200,200,200),function() espClr=Color3.fromRGB(240,240,240) end) finPage("esp",y) end -- ── TOOLS ─────────────────────────────────────────────────── local pgTools=mkTabBtn("tools","🛠","Tools") local flyTargetBtn do local y={8} mkSec2(pgTools,y,"target player") local PList=Instance.new("ScrollingFrame"); PList.Size=UDim2.new(1,-PP*2,0,100) PList.Position=UDim2.new(0,PP,0,y[1]); PList.BackgroundColor3=Color3.fromRGB(22,22,22) PList.BorderSizePixel=0; PList.ScrollBarThickness=3; PList.ScrollBarImageColor3=Color3.fromRGB(55,55,80) PList.CanvasSize=UDim2.new(0,0,0,0); PList.Parent=pgTools Instance.new("UICorner",PList).CornerRadius=UDim.new(0,7) Instance.new("UIListLayout",PList).Padding=UDim.new(0,2) y[1]=y[1]+106 local pBtns={} local function refreshList() for _,b in pairs(pBtns) do b:Destroy() end; pBtns={} local all=Players:GetPlayers(); PList.CanvasSize=UDim2.new(0,0,0,#all*26) for _,p in ipairs(all) do if p~=lp then local tc=p.Team and p.Team.TeamColor.Color or Color3.fromRGB(140,140,195) local b=Instance.new("TextButton"); b.Text=" "..p.Name b.Font=Enum.Font.Gotham; b.TextSize=12; b.TextColor3=tc b.BackgroundColor3=Color3.fromRGB(28,28,28); b.Size=UDim2.new(1,0,0,24) b.TextXAlignment=Enum.TextXAlignment.Left; b.BorderSizePixel=0; b.Parent=PList Instance.new("UICorner",b).CornerRadius=UDim.new(0,4) b.MouseButton1Click:Connect(function() selPlayer=p for _,bb in pairs(pBtns) do bb.BackgroundColor3=Color3.fromRGB(28,28,28) end b.BackgroundColor3=Color3.fromRGB(40,40,120) -- update fly target button text if flyTargetBtn then flyTargetBtn.Text=flyOthersSet[p] and "Stop Fly" or "Fly" end end) table.insert(pBtns,b) end end end refreshList(); Players.PlayerAdded:Connect(refreshList) Players.PlayerRemoving:Connect(function() task.wait(0.1); refreshList() end) mkAct2(pgTools,y,"","","↺ Refresh",Color3.fromRGB(35,35,60),refreshList) mkSec2(pgTools,y,"actions") local freezeBtn; freezeBtn=mkAct2(pgTools,y,"Freeze","Hold anchor on target","Freeze",Color3.fromRGB(18,90,168),function() if not selPlayer then return end; frozenMap[selPlayer]=not frozenMap[selPlayer] local r=selPlayer.Character and selPlayer.Character:FindFirstChild("HumanoidRootPart"); if r then r.Anchored=frozenMap[selPlayer] end freezeBtn.Text=frozenMap[selPlayer] and "Unfreeze" or "Freeze" end) mkAct2(pgTools,y,"Kill","BreakJoints + Health=0","Kill",CR,function() killChar(selPlayer and selPlayer.Character) end) local spamBtn; spamBtn=mkAct2(pgTools,y,"Spam Kill","Kills every heartbeat","Start",CR,function() if not selPlayer then return end if spamKMap[selPlayer] then spamKMap[selPlayer]=false; if spamKConns[selPlayer] then spamKConns[selPlayer]:Disconnect(); spamKConns[selPlayer]=nil end; spamBtn.Text="Start" else spamKMap[selPlayer]=true; local p=selPlayer spamKConns[p]=RunService.Heartbeat:Connect(function() if spamKMap[p] then killChar(p.Character) end end); spamBtn.Text="Stop" end end) mkAct2(pgTools,y,"TP → Them","Teleport to target","TP",Color3.fromRGB(80,30,150),function() local tc=selPlayer and selPlayer.Character; if not tc then return end local tr=tc:FindFirstChild("HumanoidRootPart"); local mr=lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") if tr and mr then mr.CFrame=tr.CFrame+Vector3.new(3,0,0) end end) mkAct2(pgTools,y,"TP → Me","Pull target here","Pull",Color3.fromRGB(62,20,120),function() local tc=selPlayer and selPlayer.Character; if not tc then return end local tr=tc:FindFirstChild("HumanoidRootPart"); local mr=lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") if tr and mr then tr.CFrame=mr.CFrame+Vector3.new(3,0,0) end end) mkAct2(pgTools,y,"Fling","Launch into sky","Fling",Color3.fromRGB(160,90,0),function() flingChar(selPlayer and selPlayer.Character) end) mkAct2(pgTools,y,"Strip Weapons","Remove all tools","Strip",Color3.fromRGB(70,35,90),function() local tc=selPlayer and selPlayer.Character; if not tc then return end for _,t in pairs(tc:GetChildren()) do if t:IsA("Tool") then t:Destroy() end end local bp=selPlayer and selPlayer:FindFirstChildOfClass("Backpack") if bp then for _,t in pairs(bp:GetChildren()) do if t:IsA("Tool") then t:Destroy() end end end end) mkSec2(pgTools,y,"fly target") flyTargetBtn=mkAct2(pgTools,y,"Fly Target","Makes selected player float","Fly",Color3.fromRGB(20,110,68),function() if not selPlayer then return end local active=toggleFlyOther(selPlayer) flyTargetBtn.Text=active and "Stop Fly" or "Fly" flyTargetBtn.BackgroundColor3=active and Color3.fromRGB(220,60,60) or Color3.fromRGB(20,110,68) end) mkSec2(pgTools,y,"jumpscare") local jsOn=false; local jsConn; local jsBtn jsBtn=mkAct2(pgTools,y,"Jumpscare","Random TPs + sound + flash","Start",Color3.fromRGB(130,45,0),function() jsOn=not jsOn if jsOn then jsBtn.Text="Stop" local fl=Instance.new("Frame"); fl.Size=UDim2.new(1,0,1,0); fl.BackgroundColor3=CR fl.BackgroundTransparency=1; fl.ZIndex=20; fl.Parent=SG local snd=Instance.new("Sound"); snd.SoundId="rbxassetid://9120802405"; snd.Volume=5; snd.Parent=workspace local t=0 jsConn=RunService.Heartbeat:Connect(function() t=t+1; fl.BackgroundTransparency=t%5<2 and 0.35 or 1 if t%6==0 then local tc=selPlayer and selPlayer.Character; local mr=lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") if tc and mr then local tr=tc:FindFirstChild("HumanoidRootPart"); if tr then tr.CFrame=mr.CFrame+Vector3.new(math.random(-15,15),math.random(5,20),math.random(-15,15)) end end end if t%35==0 then snd:Play() end if not jsOn then fl:Destroy(); snd:Destroy(); jsConn:Disconnect() end end) else jsBtn.Text="Start" end end) finPage("tools",y) end -- ── PLAYER ────────────────────────────────────────────────── local pgPlayer=mkTabBtn("player","🧍","Player") local setFlyTog,setNcTog,setGodTog,setIJTog,setInvisTog,setSpinTog,setBhopTog,setAFKTog do local y={8} mkSec2(pgPlayer,y,"movement") setFlyTog =mkTog2(pgPlayer,y,"Fly","WASD+Space+LCtrl [F]",false,function(s) flyOn=s; if s then startFly() else stopFly() end end) setNcTog =mkTog2(pgPlayer,y,"NoClip","Pass through walls [N]",false,function(s) ncOn=s if s then ncConn=RunService.Stepped:Connect(function() local ch=lp.Character; if ch then for _,p in pairs(ch:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide=false end end end end) else if ncConn then ncConn:Disconnect(); ncConn=nil end; local ch=lp.Character; if ch then for _,p in pairs(ch:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide=true end end end end end) setBhopTog =mkTog2(pgPlayer,y,"Bunny Hop","Auto-jump on land [B]",false,function(s) bhopOn=s if s then bhopConn=RunService.Heartbeat:Connect(function() local h=lp.Character and lp.Character:FindFirstChildOfClass("Humanoid"); if h and h:GetState()==Enum.HumanoidStateType.Landed then h:ChangeState(Enum.HumanoidStateType.Jumping) end end) else if bhopConn then bhopConn:Disconnect(); bhopConn=nil end end end) setIJTog =mkTog2(pgPlayer,y,"Infinite Jump",nil,false,function(s) infJump=s end) mkSec2(pgPlayer,y,"misc") setGodTog =mkTog2(pgPlayer,y,"God Mode","SetStateEnabled(Dead,false) [=]",false,function(s) godOn=s; if s then startGod() else stopGod() end end) setInvisTog=mkTog2(pgPlayer,y,"Invisible",nil,false,function(s) invisOn=s; applyInvis(s) end) setSpinTog =mkTog2(pgPlayer,y,"Spinbot",nil,false,function(s) spinOn=s if s then spinConn=RunService.RenderStepped:Connect(function() local r=lp.Character and lp.Character:FindFirstChild("HumanoidRootPart"); if r then r.CFrame=r.CFrame*CFrame.Angles(0,math.rad(20),0) end end) else if spinConn then spinConn:Disconnect(); spinConn=nil end end end) setAFKTog =mkTog2(pgPlayer,y,"Anti-AFK",nil,false,function(s) afkOn=s if s then afkConn=RunService.Heartbeat:Connect(function() VirtualUser:Button2Down(Vector2.new(0,0),cam.CFrame); task.wait(); VirtualUser:Button2Up(Vector2.new(0,0),cam.CFrame) end) else if afkConn then afkConn:Disconnect(); afkConn=nil end end end) mkSec2(pgPlayer,y,"stats") mkSld2(pgPlayer,y,"Walk Speed", 16,250,walkSpd,0,"",function(v) walkSpd=v; local h=lp.Character and lp.Character:FindFirstChildOfClass("Humanoid"); if h then h.WalkSpeed=v end end) mkSld2(pgPlayer,y,"Jump Power", 50,500,jumpPwr,0,"",function(v) jumpPwr=v; local h=lp.Character and lp.Character:FindFirstChildOfClass("Humanoid"); if h then h.JumpPower=v end end) mkSld2(pgPlayer,y,"Fly Speed", 10,300,flySpd, 0,"",function(v) flySpd=v end) finPage("player",y) end -- ── MASS ──────────────────────────────────────────────────── local pgMass=mkTabBtn("mass","💥","Mass") do local y={8} mkSec2(pgMass,y,"freeze") mkAct2(pgMass,y,"Freeze All","Anchor every player","Do It",Color3.fromRGB(14,72,132),function() for _,p in ipairs(Players:GetPlayers()) do if p~=lp then frozenMap[p]=true; local r=p.Character and p.Character:FindFirstChild("HumanoidRootPart"); if r then r.Anchored=true end end end end) mkAct2(pgMass,y,"Unfreeze All","Release all frozen players","Do It",Color3.fromRGB(18,105,65),function() for _,p in ipairs(Players:GetPlayers()) do frozenMap[p]=false; local r=p.Character and p.Character:FindFirstChild("HumanoidRootPart"); if r then r.Anchored=false end end end) mkSec2(pgMass,y,"combat") mkAct2(pgMass,y,"Kill All",nil,"Do It",CR,function() for _,p in ipairs(Players:GetPlayers()) do if p~=lp then killChar(p.Character) end end end) mkAct2(pgMass,y,"Fling All",nil,"Do It",Color3.fromRGB(145,75,0),function() for _,p in ipairs(Players:GetPlayers()) do if p~=lp then flingChar(p.Character) end end end) mkSec2(pgMass,y,"fly all") mkTog2(pgMass,y,"Fly All Players","Float every player upward",false,function(s) flyOthersAll=s if not s then for _,p in ipairs(Players:GetPlayers()) do pcall(function() local r=p.Character and p.Character:FindFirstChild("HumanoidRootPart"); if not r then return end local bv=r:FindFirstChild("_OFBV"); if bv then bv:Destroy() end local h=p.Character:FindFirstChildOfClass("Humanoid"); if h then h.PlatformStand=false end end) end end end) mkSec2(pgMass,y,"hitbox") mkTog2(pgMass,y,"Hitbox Expander","Enlarge enemy HumanoidRootParts",false,function(s) hitboxOn=s for _,p in ipairs(Players:GetPlayers()) do if p~=lp then pcall(function() local r=p.Character and p.Character:FindFirstChild("HumanoidRootPart"); if r then r.Size=s and Vector3.new(12,12,12) or Vector3.new(2,2,1) end end) end end end) finPage("mass",y) end -- ── WORLD ─────────────────────────────────────────────────── local pgWorld=mkTabBtn("world","🌍","World") do local y={8} mkSec2(pgWorld,y,"lighting") mkTog2(pgWorld,y,"FullBright","Max ambient, no shadows",false,function(s) fbOn=s if s then Lighting.Ambient=CW; Lighting.OutdoorAmbient=CW; Lighting.Brightness=2; Lighting.GlobalShadows=false for _,v in pairs(Lighting:GetChildren()) do if v:IsA("BlurEffect") or v:IsA("SunRaysEffect") or v:IsA("ColorCorrectionEffect") then v.Enabled=false end if v:IsA("Atmosphere") then v.Density=0; v.Glare=0; v.Haze=0 end end else Lighting.Ambient=Color3.fromRGB(70,70,70); Lighting.OutdoorAmbient=Color3.fromRGB(100,100,100) Lighting.Brightness=1; Lighting.GlobalShadows=true for _,v in pairs(Lighting:GetChildren()) do if v:IsA("BlurEffect") or v:IsA("SunRaysEffect") or v:IsA("ColorCorrectionEffect") then v.Enabled=true end end end end) mkTog2(pgWorld,y,"No Fog","Remove atmospheric fog",false,function(s) fogOn=s; Lighting.FogEnd=s and 999999 or 1000; Lighting.FogStart=s and 999998 or 0 for _,v in pairs(Lighting:GetChildren()) do if v:IsA("Atmosphere") then v.Density=s and 0 or 0.395; v.Haze=s and 0 or 0 end end end) mkSec2(pgWorld,y,"movement") mkTog2(pgWorld,y,"Click-TP","Left-click to teleport [X]",false,function(s) clickTPOn=s end) finPage("world",y) end -- start on aimbot tab switchTab("aimbot") -- minimize/close local minimized=false; local menuHidden=false MinBtn.MouseButton1Click:Connect(function() minimized=not minimized; ConF.Visible=not minimized; Side.Visible=not minimized; sdiv.Visible=not minimized Main.Size=minimized and UDim2.new(0,WW,0,TH) or UDim2.new(0,WW,0,WH) end) CloseBtn.MouseButton1Click:Connect(function() SG:Destroy() end) -- ── GIVE ITEM (uses game RemoteFunction) ────────────────────────── local pgGiveItem = mkTabBtn("giveitem","📦","Give Item") do local y = {8} local selectedPlayer = nil local selectedItem = nil local giveAmount = 1 -- ── Status ────────────────────────────────────────────────── local statusLbl = Instance.new("TextLabel") statusLbl.Size = UDim2.new(1,-PP*2,0,18); statusLbl.Position = UDim2.new(0,PP,0,y[1]) statusLbl.BackgroundTransparency=1; statusLbl.Font=Enum.Font.Gotham; statusLbl.TextSize=11 statusLbl.TextColor3=CQ; statusLbl.TextXAlignment=Enum.TextXAlignment.Left statusLbl.Text="Pick a player → item → amount → Give."; statusLbl.TextWrapped=true statusLbl.Parent=pgGiveItem; y[1]=y[1]+22 local function setStatus(msg,col,dur) statusLbl.Text=msg; statusLbl.TextColor3=col or CQ if dur then task.delay(dur,function() if statusLbl.Text==msg then statusLbl.Text="Pick a player → item → amount → Give."; statusLbl.TextColor3=CQ end end) end end -- ── Selection display row ─────────────────────────────────── local dispRow = Instance.new("Frame") dispRow.Size=UDim2.new(1,-PP*2,0,30); dispRow.Position=UDim2.new(0,PP,0,y[1]) dispRow.BackgroundColor3=Color3.fromRGB(20,28,50); dispRow.BorderSizePixel=0; dispRow.Parent=pgGiveItem Instance.new("UICorner",dispRow).CornerRadius=UDim.new(0,7) Instance.new("UIStroke",dispRow).Color=Color3.fromRGB(65,115,255) local dispLbl = Instance.new("TextLabel",dispRow) dispLbl.Size=UDim2.new(1,-8,1,0); dispLbl.Position=UDim2.new(0,8,0,0) dispLbl.BackgroundTransparency=1; dispLbl.Font=Enum.Font.GothamBold; dispLbl.TextSize=11 dispLbl.TextColor3=Color3.fromRGB(160,190,255); dispLbl.TextXAlignment=Enum.TextXAlignment.Left dispLbl.Text="👤 — | 📦 — | ✕ 1"; dispLbl.Parent=dispRow y[1]=y[1]+34 local function updateDisp() local pName = selectedPlayer and selectedPlayer.Name or "—" local iName = selectedItem or "—" dispLbl.Text = "👤 "..pName.." | 📦 "..iName.." | ✕ "..giveAmount end -- ── Player list (including self) ──────────────────────────── mkSec2(pgGiveItem, y, "1. select player") local plrScroll = Instance.new("ScrollingFrame") plrScroll.Size=UDim2.new(1,-PP*2,0,90); plrScroll.Position=UDim2.new(0,PP,0,y[1]) plrScroll.BackgroundColor3=Color3.fromRGB(13,13,20); plrScroll.BorderSizePixel=0 plrScroll.ScrollBarThickness=3; plrScroll.ScrollBarImageColor3=Color3.fromRGB(65,115,255) plrScroll.CanvasSize=UDim2.new(0,0,0,0); plrScroll.Parent=pgGiveItem Instance.new("UICorner",plrScroll).CornerRadius=UDim.new(0,8) Instance.new("UIListLayout",plrScroll).Padding=UDim.new(0,2) y[1]=y[1]+94 local plrBtns={} local PLR_N=Color3.fromRGB(22,22,34); local PLR_S=Color3.fromRGB(25,70,25) local function buildPlrList() for _,b in ipairs(plrBtns) do pcall(function() b:Destroy() end) end; plrBtns={} local all=Players:GetPlayers(); plrScroll.CanvasSize=UDim2.new(0,0,0,#all*28) for idx,p in ipairs(all) do local isMe = p==lp local b=Instance.new("TextButton") b.Size=UDim2.new(1,0,0,26); b.BackgroundColor3=PLR_N; b.BorderSizePixel=0 b.Text=" "..(isMe and "⭐ " or "")..p.Name..(isMe and " (You)" or "") b.Font=isMe and Enum.Font.GothamBold or Enum.Font.Gotham; b.TextSize=12 b.TextColor3=isMe and Color3.fromRGB(255,210,80) or (p.Team and p.Team.TeamColor.Color or CW) b.TextXAlignment=Enum.TextXAlignment.Left; b.AutoButtonColor=false b.LayoutOrder=idx; b.Parent=plrScroll Instance.new("UICorner",b).CornerRadius=UDim.new(0,5) b.MouseButton1Click:Connect(function() for _,bb in ipairs(plrBtns) do bb.BackgroundColor3=PLR_N end b.BackgroundColor3=PLR_S; selectedPlayer=p; updateDisp() setStatus("Player: "..p.Name.." ✓ Now pick an item.",CA) end) table.insert(plrBtns,b) end end buildPlrList() Players.PlayerAdded:Connect(function() task.wait(0.1); buildPlrList() end) Players.PlayerRemoving:Connect(function() task.wait(0.2); buildPlrList() end) mkAct2(pgGiveItem,y,"","","↺",Color3.fromRGB(28,28,48),function() buildPlrList() end) -- ── Item list ─────────────────────────────────────────────── mkSec2(pgGiveItem, y, "2. select item") -- ⚠️ EDIT THESE to match your game's exact item names local ITEMS = { -- Weapons "Sword","Knife","Gun","Rifle","Shotgun","Pistol","Sniper", "Rocket Launcher","Grenade","Bomb","Bat","Axe","Bow", -- Tools / Gear "Pickaxe","Shovel","Drill","Hammer","Wrench","Key", -- Resources / Currency "Gold","Diamond","Coin","Gem","Iron","Wood","Stone", -- Misc "Medkit","Shield","Armor","Potion","Food","Water", } local itemScroll = Instance.new("ScrollingFrame") itemScroll.Size=UDim2.new(1,-PP*2,0,120); itemScroll.Position=UDim2.new(0,PP,0,y[1]) itemScroll.BackgroundColor3=Color3.fromRGB(13,13,20); itemScroll.BorderSizePixel=0 itemScroll.ScrollBarThickness=3; itemScroll.ScrollBarImageColor3=Color3.fromRGB(65,115,255) itemScroll.CanvasSize=UDim2.new(0,0,0,#ITEMS*28); itemScroll.Parent=pgGiveItem Instance.new("UICorner",itemScroll).CornerRadius=UDim.new(0,8) local iLayout=Instance.new("UIListLayout",itemScroll); iLayout.Padding=UDim.new(0,2) y[1]=y[1]+124 local itemBtns={} local ITEM_N=Color3.fromRGB(22,22,34); local ITEM_S=Color3.fromRGB(50,30,80) for idx,iname in ipairs(ITEMS) do local b=Instance.new("TextButton") b.Size=UDim2.new(1,0,0,26); b.BackgroundColor3=ITEM_N; b.BorderSizePixel=0 b.Text=" "..iname; b.Font=Enum.Font.Gotham; b.TextSize=12; b.TextColor3=CW b.TextXAlignment=Enum.TextXAlignment.Left; b.AutoButtonColor=false b.LayoutOrder=idx; b.Parent=itemScroll Instance.new("UICorner",b).CornerRadius=UDim.new(0,5) b.MouseButton1Click:Connect(function() for _,bb in ipairs(itemBtns) do bb.BackgroundColor3=ITEM_N; bb.TextColor3=CW end b.BackgroundColor3=ITEM_S; b.TextColor3=Color3.fromRGB(200,160,255) selectedItem=iname; updateDisp() setStatus("Item: "..iname.." ✓ Set amount and Give.",CA) end) table.insert(itemBtns,b) end -- ── Amount slider ─────────────────────────────────────────── mkSec2(pgGiveItem, y, "3. amount") mkSld2(pgGiveItem, y, "Amount", 1, 100, 1, 0, "", function(v) giveAmount = math.floor(v); updateDisp() end) -- ── Give button ───────────────────────────────────────────── local giveRow=Instance.new("Frame") giveRow.Size=UDim2.new(1,-PP*2,0,40); giveRow.Position=UDim2.new(0,PP,0,y[1]) giveRow.BackgroundTransparency=1; giveRow.Parent=pgGiveItem; y[1]=y[1]+44 local giveBtn=Instance.new("TextButton",giveRow) giveBtn.Size=UDim2.new(1,0,1,0); giveBtn.BackgroundColor3=Color3.fromRGB(48,160,80) giveBtn.BorderSizePixel=0; giveBtn.Text="🎁 Give Item"; giveBtn.Font=Enum.Font.GothamBold giveBtn.TextSize=14; giveBtn.TextColor3=CW; giveBtn.AutoButtonColor=false Instance.new("UICorner",giveBtn).CornerRadius=UDim.new(0,8) giveBtn.MouseEnter:Connect(function() TweenSvc:Create(giveBtn,TweenInfo.new(0.12),{BackgroundColor3=Color3.fromRGB(65,200,100)}):Play() end) giveBtn.MouseLeave:Connect(function() TweenSvc:Create(giveBtn,TweenInfo.new(0.12),{BackgroundColor3=Color3.fromRGB(48,160,80)}):Play() end) giveBtn.MouseButton1Click:Connect(function() if not selectedPlayer then setStatus("❌ Select a player first!", CR, 3); return end if not selectedItem then setStatus("❌ Select an item first!", CR, 3); return end giveBtn.Text="⏳ Giving..."; giveBtn.BackgroundColor3=CQ setStatus("⏳ Giving "..giveAmount.."x "..selectedItem.." to "..selectedPlayer.Name.."...", CQ) local ok, err = pcall(function() game.ReplicatedStorage.Cheats.GiveItems:Invoke( selectedPlayer, -- Player object selectedItem, -- Item name string tonumber(giveAmount) -- Amount as number ) end) if ok then setStatus("✅ Gave "..giveAmount.."x "..selectedItem.." → "..selectedPlayer.Name.."!", CG, 5) else setStatus("❌ Failed: "..tostring(err):sub(1,60), CR, 6) end giveBtn.Text="🎁 Give Item"; giveBtn.BackgroundColor3=Color3.fromRGB(48,160,80) end) finPage("giveitem", y) end -- ============================================================ -- AIMBOT + ESP DRAWING SYSTEM -- ============================================================ local fovCircle=Drawing.new("Circle"); fovCircle.Visible=false; fovCircle.Radius=aimFov fovCircle.Color=CW; fovCircle.Thickness=1.5; fovCircle.Filled=false; fovCircle.Transparency=0.5 local function scrCtr() return Vector2.new(cam.ViewportSize.X/2,cam.ViewportSize.Y/2) end local function isAimEnemy(p) if not skipTeamAim then return true end; if not lp.Team or not p.Team then return true end; return lp.Team~=p.Team end local function canSee(pos) local params=RaycastParams.new(); params.FilterDescendantsInstances={lp.Character or workspace}; params.FilterType=Enum.RaycastFilterType.Exclude local res=workspace:Raycast(cam.CFrame.Position,pos-cam.CFrame.Position,params); if not res then return true end for _,p in ipairs(Players:GetPlayers()) do if p.Character and res.Instance:IsDescendantOf(p.Character) then return true end end return false end local function predictPos(root,part) if aimPred<=0 then return part.Position end local ok,vel=pcall(function() return root.AssemblyLinearVelocity end) return part.Position+(ok and vel or Vector3.zero)*aimPred end local function isStillValid(p) if not p or not p.Character then return false end local ch=p.Character; local h=ch:FindFirstChildOfClass("Humanoid") local pt=ch:FindFirstChild(aimbotBone) or ch:FindFirstChild("HumanoidRootPart") local rt=ch:FindFirstChild("HumanoidRootPart") if not pt or not h or h.Health<=0 or not isAimEnemy(p) then return false end if rt and myRoot and (rt.Position-myRoot.Position).Magnitude>aimMaxD then return false end local sp,on=cam:WorldToScreenPoint(pt.Position) return on and (Vector2.new(sp.X,sp.Y)-scrCtr()).Magnitude0 and rt then if myRoot and (rt.Position-myRoot.Position).Magnitude>aimMaxD then continue end local sp,on=cam:WorldToScreenPoint(pt.Position) if on then local d=(Vector2.new(sp.X,sp.Y)-ctr).Magnitude if d 0.1 then any = true if sp.X < minX then minX = sp.X end if sp.X > maxX then maxX = sp.X end if sp.Y < minY then minY = sp.Y end if sp.Y > maxY then maxY = sp.Y end end end if not any then return nil end local bh = maxY - minY if bh < 8 then return nil end -- Widen box horizontally — point sampling underestimates width local cx = (minX + maxX) * 0.5 local estW = math.max(maxX - minX, bh * 0.45) minX = cx - estW / 2 maxX = cx + estW / 2 local hum = char:FindFirstChildOfClass("Humanoid") local hp = hum and hum.Health or 0 local mhp = hum and math.max(hum.MaxHealth, 1) or 1 local dist = myRoot and math.floor((myRoot.Position - root.Position).Magnitude) or 0 -- 4px padding around the sampled bounds return { x = minX - 4, y = minY - 4, w = (maxX - minX) + 8, h = bh + 8, cx = cx, dist= dist, hp = hp, mhp = mhp, hpr = hp / mhp } end -- ============================================================ -- MASTER LOOP -- ============================================================ RunService.RenderStepped:Connect(function() local mc=lp.Character; myRoot=mc and mc:FindFirstChild("HumanoidRootPart") -- FOV circle if fovCircle.Visible then fovCircle.Position=scrCtr() end -- ── AIMBOT (RMB to activate) ───────────────────────────── if aimbotOn then local rmb=UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) fovCircle.Color=CW if rmb then local tgt=getBestTarget() if tgt then fovCircle.Color=CR if aimTargetLbl then aimTargetLbl.Text="🎯 "..tgt.Name end local ch=tgt.Character; if ch then local rt=ch:FindFirstChild("HumanoidRootPart"); local pt=ch:FindFirstChild(aimbotBone) or rt if rt and pt then local aimPos=predictPos(rt,pt) local tCF=CFrame.lookAt(cam.CFrame.Position,aimPos) cam.CFrame=silentOn and tCF or cam.CFrame:Lerp(tCF,aimSmooth) end end else if aimTargetLbl then aimTargetLbl.Text="No target in FOV" end end else if aimTargetLbl then aimTargetLbl.Text="Hold RMB to aim" end end end -- ── ESP ────────────────────────────────────────────────── local rmbHeld=UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) local showESP2=espOn and (not espRMBOnly or rmbHeld) if espOn then for _,p in ipairs(Players:GetPlayers()) do if p~=lp then local enemy=not espTeam or not(lp.Team and p.Team and lp.Team==p.Team) if enemy and not espDrws[p] then mkESPDraw(p) end if not enemy and espDrws[p] then removeESPDraw(p) end end end end for p,dr in pairs(espDrws) do pcall(function() if not espOn or not showESP2 then dr.box.Visible=false; dr.nameT.Visible=false; dr.hpBg.Visible=false; dr.hpFill.Visible=false; dr.infoT.Visible=false; return end local ch=p.Character; if not ch then dr.box.Visible=false; dr.nameT.Visible=false; dr.hpBg.Visible=false; dr.hpFill.Visible=false; dr.infoT.Visible=false; return end local b=getBox(ch); if not b then dr.box.Visible=false; dr.nameT.Visible=false; dr.hpBg.Visible=false; dr.hpFill.Visible=false; dr.infoT.Visible=false; return end dr.box.Position=Vector2.new(b.x,b.y); dr.box.Size=Vector2.new(b.w,b.h); dr.box.Color=espClr; dr.box.Visible=true if espName then dr.nameT.Position=Vector2.new(b.cx,b.y-16); dr.nameT.Text=p.Name; dr.nameT.Visible=true else dr.nameT.Visible=false end if espInfo then dr.infoT.Position=Vector2.new(b.cx,b.y+b.h+3); dr.infoT.Text=b.dist.."m ❤"..math.floor(b.hp); dr.infoT.Visible=true else dr.infoT.Visible=false end if espHP then local bw2=4; local bx=b.x-bw2-3 dr.hpBg.Position=Vector2.new(bx,b.y); dr.hpBg.Size=Vector2.new(bw2,b.h); dr.hpBg.Visible=true local fillH=b.h*b.hpr; local hpCol=Color3.fromRGB(math.floor(255*(1-b.hpr)),math.floor(255*b.hpr),50) dr.hpFill.Position=Vector2.new(bx,b.y+b.h-fillH); dr.hpFill.Size=Vector2.new(bw2,fillH); dr.hpFill.Color=hpCol; dr.hpFill.Visible=true else dr.hpBg.Visible=false; dr.hpFill.Visible=false end end) end end) -- ============================================================ -- KEYBINDS -- ============================================================ UIS.InputBegan:Connect(function(i,gpe) if gpe then return end; local k=i.KeyCode if k==Enum.KeyCode.F then flyOn=not flyOn; if flyOn then startFly() else stopFly() end; setFlyTog(flyOn) elseif k==Enum.KeyCode.N then ncOn=not ncOn; setNcTog(ncOn) elseif k==Enum.KeyCode.Equals then godOn=not godOn; if godOn then startGod() else stopGod() end; setGodTog(godOn) elseif k==Enum.KeyCode.Z then aimbotOn=not aimbotOn; fovCircle.Visible=aimbotOn; setAimTog(aimbotOn) elseif k==Enum.KeyCode.B then setBhopTog(not bhopOn) elseif k==Enum.KeyCode.X then clickTPOn=not clickTPOn elseif k==Enum.KeyCode.E then espOn=not espOn; setESPTog(espOn) if not espOn then for p,_ in pairs(espDrws) do removeESPDraw(p) end end elseif k==Enum.KeyCode.G then if not selPlayer then return end; frozenMap[selPlayer]=not frozenMap[selPlayer] local r=selPlayer.Character and selPlayer.Character:FindFirstChild("HumanoidRootPart"); if r then r.Anchored=frozenMap[selPlayer] end elseif k==Enum.KeyCode.K then killChar(selPlayer and selPlayer.Character) elseif k==Enum.KeyCode.T then local tc=selPlayer and selPlayer.Character; if not tc then return end local tr=tc:FindFirstChild("HumanoidRootPart"); local mr=lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") if tr and mr then mr.CFrame=tr.CFrame+Vector3.new(3,0,0) end elseif k==Enum.KeyCode.H then menuHidden=not menuHidden; Main.Visible=not menuHidden if not menuHidden then fovCircle.Visible=aimbotOn end end end) print("[ScrollMenu v7] Loaded ✓ | H=hide Z=aimbot E=esp")