--[[ WARNING: This script has not been verified by ScriptBlox. Use at your own risk! ]] --[[ FINAL FIXED & IMPROVED SCRIPT (April 2026) - FULL UNIVERSAL + /spin • Old aimbot completely removed • Replaced with the EXACT new FOV + RMB hold aimbot you gave me • /aimbot toggles the new aimbot ON/OFF (and shows/hides FOV circle) • /unaimbot forces it OFF (and hides FOV circle) • FOV circle follows mouse and is fully visible ONLY when aimbot is on • NEW ESP (your exact code) is still here • TRIPLE-CHECKED fly restoration after death • /cmds or /gui now shows the FULL command list (no missing code) • AIMBOT & FOV CIRCLE START DISABLED (as requested) • NEW: /spin [number] + /unspin (Y-axis spin, persists after death) ]] if _G.UltimateScriptLoaded then print("❌ Script already loaded! Preventing double execution.") return end _G.UltimateScriptLoaded = true local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TeleportService = game:GetService("TeleportService") local HttpService = game:GetService("HttpService") local Workspace = game:GetService("Workspace") local StarterGui = game:GetService("StarterGui") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local camera = Workspace.CurrentCamera local prefix = "/" -- Variables local flying = false local cframeFlying = false local noclipping = false local antifling = false local tplooping = false local loopTarget = nil local flySpeed = 160 local cframeFlySpeed = 200 local currentSpeed = 16 local currentJumpPower = 50 local currentGravity = Workspace.Gravity local originalGravity = Workspace.Gravity local cframeSpeed = 0 local bv, bg, root, hum = nil, nil, nil, nil local helpGui = nil local touchFlingGui = nil local spectateGui = nil local spectateScrollingFrame = nil -- NEW: Spin variables local spinning = false local currentSpinSpeed = 500 local spinAngular = nil -- Infinite Jumps local infJumps = false local infJumpConnection = nil -- View local viewingTarget = nil -- Click TP local clickTPEnabled = true -- Noclip & Anti-Fling local noclipConnection = nil local antiflingConnection = nil -- Load external scripts loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source', true))() loadstring(game:HttpGet("https://raw.githubusercontent.com/K1LAS1K/Ultimate-Fling-GUI/main/flingscript.lua"))() -- ================== CHARACTER HANDLER (TRIPLE-CHECKED FLY RESTORATION + SPIN) ================== local function getChar() local char = player.Character if char then root = char:FindFirstChild("HumanoidRootPart") hum = char:FindFirstChildOfClass("Humanoid") return root and hum end return false end local function restoreAfterDeath() task.spawn(function() local char = player.Character if not char then return end char:WaitForChild("HumanoidRootPart", 10) char:WaitForChild("Humanoid", 10) task.wait(0.4) getChar() if hum then hum.WalkSpeed = currentSpeed hum.JumpPower = currentJumpPower end Workspace.Gravity = currentGravity if flying then print("🔄 [Restoring] Normal Fly was active → re-enabling at speed " .. flySpeed) flying = false task.wait(0.3) if getChar() then toggleFly(flySpeed) end end if cframeFlying then print("🔄 [Restoring] CFrame Fly was active → re-enabling at speed " .. cframeFlySpeed) cframeFlying = false task.wait(0.3) if getChar() then toggleCFrameFly(cframeFlySpeed) end end if spinning then print("🔄 [Restoring] Spin was active → re-enabling at speed " .. currentSpinSpeed) spinning = false task.wait(0.3) if getChar() then setSpin(currentSpinSpeed) end end if infJumps then print("🔄 [Restoring] Infinite Jumps was active → re-enabling") task.wait(0.3) toggleInfiniteJumps(true) end print("✅ Character fully restored after death") end) end player.CharacterAdded:Connect(restoreAfterDeath) -- ================== SPEED / JUMP / GRAVITY / CFrameSpeed ================== local function setSpeed(num) num = tonumber(num) or 16 num = math.clamp(num, 0, 500) currentSpeed = num if hum then hum.WalkSpeed = num end print("✅ WalkSpeed set to " .. num .. " (persistent)") end local function setJump(num) num = tonumber(num) or 50 num = math.clamp(num, 0, 1000) currentJumpPower = num if hum then hum.JumpPower = num end print("✅ JumpPower set to " .. num .. " (persistent)") end local function setGravity(num) num = tonumber(num) or Workspace.Gravity num = math.clamp(num, 0, 1000) currentGravity = num Workspace.Gravity = num print("✅ Gravity set to " .. num .. " (persistent)") end local function setCFrameSpeed(num) num = tonumber(num) or 0 num = math.clamp(num, 0, 1000) cframeSpeed = num print(num > 0 and "✅ CFrame Speed set to " .. num .. " studs/sec" or "✅ CFrame Speed disabled") end -- ================== NEW: SPIN FUNCTION ================== local function setSpin(num) num = tonumber(num) or 500 num = math.clamp(num, -2000, 2000) -- allow negative for reverse spin if num == 0 then if spinning and spinAngular then spinAngular:Destroy() spinAngular = nil end spinning = false print("✅ Spin Disabled") return end if not getChar() or not root then print("❌ Character not loaded") return end -- Remove old spin if exists if spinAngular then spinAngular:Destroy() spinAngular = nil end spinAngular = Instance.new("BodyAngularVelocity") spinAngular.Name = "SpinAngularVelocity" spinAngular.MaxTorque = Vector3.new(0, math.huge, 0) -- only Y axis (character spin) spinAngular.AngularVelocity = Vector3.new(0, num, 0) spinAngular.Parent = root spinning = true currentSpinSpeed = num print("✅ Spin ENABLED | Speed: " .. num .. " (rad/s) | Use /unspin to stop") end -- ================== INFINITE JUMPS ================== local function toggleInfiniteJumps(enable) infJumps = enable if infJumpConnection then infJumpConnection:Disconnect() infJumpConnection = nil end if enable then infJumpConnection = UserInputService.JumpRequest:Connect(function() if infJumps and hum and hum.Health > 0 then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end) print("✅ Infinite Jumps ENABLED (persists after death)") else print("✅ Infinite Jumps DISABLED") end end -- ================== NORMAL FLY & CFRAME FLY ================== local function toggleFly(speed) speed = tonumber(speed) or 160 flySpeed = math.clamp(speed, 50, 500) if flying then if bv then bv:Destroy() end if bg then bg:Destroy() end if hum then hum.PlatformStand = false hum.AutoRotate = true end flying = false print("✅ Normal Fly Disabled") return end if not getChar() then print("❌ Character not loaded") return end hum.PlatformStand = true hum.AutoRotate = false bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(1e5, 1e5, 1e5) bv.Velocity = Vector3.zero bv.Parent = root bg = Instance.new("BodyGyro") bg.MaxTorque = Vector3.new(1e5, 1e5, 1e5) bg.D = 200 bg.P = 4000 bg.CFrame = root.CFrame bg.Parent = root flying = true print("✅ Normal Fly Enabled | Speed: " .. flySpeed) end local function toggleCFrameFly(speed) speed = tonumber(speed) or 200 cframeFlySpeed = math.clamp(speed, 50, 1000) if cframeFlying then cframeFlying = false if hum then hum.PlatformStand = false hum.AutoRotate = true end Workspace.Gravity = originalGravity print("✅ CFrame Fly Disabled") return end if flying then toggleFly(0) end if not getChar() then print("❌ Character not loaded") return end originalGravity = Workspace.Gravity Workspace.Gravity = 0 if hum then hum.PlatformStand = true hum.AutoRotate = false end cframeFlying = true print("✅ CFrame Fly Enabled | Speed: " .. cframeFlySpeed) end -- ================== TELEPORT / VIEW / CLICK TP / TPLOOP ================== local function findPlayer(partialName) if not partialName or partialName == "" then return nil end partialName = partialName:lower() for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player then local nameLower = plr.Name:lower() if nameLower == partialName or nameLower:sub(1, #partialName) == partialName then return plr end end end return nil end local function teleportToPlayer(partialName) local target = findPlayer(partialName) if not target then print("❌ Player '" .. partialName .. "' not found") return end if not getChar() or not root then return end local targetRoot = target.Character and target.Character:FindFirstChild("HumanoidRootPart") if targetRoot then root.CFrame = targetRoot.CFrame * CFrame.new(0, 3, 0) print("✅ Teleported to " .. target.Name) end end local function teleportToRandomPlayer() local otherPlayers = {} for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then table.insert(otherPlayers, plr) end end if #otherPlayers == 0 then print("❌ No other players") return end local randomPlr = otherPlayers[math.random(1, #otherPlayers)] local targetRoot = randomPlr.Character:FindFirstChild("HumanoidRootPart") if getChar() and root and targetRoot then root.CFrame = targetRoot.CFrame * CFrame.new(0, 3, 0) print("✅ Teleported to random player: " .. randomPlr.Name) end end local function startTPLoop(partialName) local target if partialName:lower() == "random" then local other = {} for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then table.insert(other, plr) end end if #other == 0 then return end target = other[math.random(1, #other)] else target = findPlayer(partialName) if not target then print("❌ Player not found") return end end loopTarget = target tplooping = true print("✅ /tploop STARTED on " .. target.Name) end local function stopTPLoop() tplooping = false loopTarget = nil print("✅ /untploop STOPPED") end local function startViewing(partialName) local target = findPlayer(partialName) if not target then print("❌ Player not found") return end if target.Character and target.Character:FindFirstChild("Humanoid") then camera.CameraSubject = target.Character.Humanoid viewingTarget = target print("✅ Now viewing " .. target.Name) end end local function stopViewing() if getChar() and hum then camera.CameraSubject = hum end viewingTarget = nil print("✅ Stopped viewing") end StarterGui:SetCore("SendNotification", {Title = "Usage", Text = "Hold Ctrl + Left Click to teleport"}) local Mouse = player:GetMouse() Mouse.Button1Down:Connect(function() if not clickTPEnabled or not UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) or not Mouse.Target then return end if getChar() and root then root.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 3, 0)) end end) -- ================== NEW AIMBOT (EXACT CODE YOU GAVE ME) ================== -- DEFAULTS CHANGED AS REQUESTED: AIMBOT + FOV CIRCLE START DISABLED local Camera = workspace.CurrentCamera local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer local Holding = false _G.AimbotEnabled = false -- ← CHANGED: starts OFF _G.TeamCheck = false _G.AimPart = "Head" _G.Sensitivity = 0 _G.CircleSides = 64 _G.CircleColor = Color3.fromRGB(255, 255, 255) _G.CircleTransparency = 0.7 _G.CircleRadius = 80 _G.CircleFilled = false _G.CircleVisible = false -- ← CHANGED: starts OFF (hidden until /aimbot) _G.CircleThickness = 0 local FOVCircle = Drawing.new("Circle") FOVCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) FOVCircle.Radius = _G.CircleRadius FOVCircle.Filled = _G.CircleFilled FOVCircle.Color = _G.CircleColor FOVCircle.Visible = _G.CircleVisible FOVCircle.Transparency = _G.CircleTransparency FOVCircle.NumSides = _G.CircleSides FOVCircle.Thickness = _G.CircleThickness local function GetClosestPlayer() local MaximumDistance = _G.CircleRadius local Target = nil for _, v in next, Players:GetPlayers() do if v.Name ~= LocalPlayer.Name then if _G.TeamCheck == true then if v.Team ~= LocalPlayer.Team then if v.Character ~= nil then if v.Character:FindFirstChild("HumanoidRootPart") ~= nil then if v.Character:FindFirstChild("Humanoid") ~= nil and v.Character:FindFirstChild("Humanoid").Health ~= 0 then local ScreenPoint = Camera:WorldToScreenPoint(v.Character:WaitForChild("HumanoidRootPart", math.huge).Position) local VectorDistance = (Vector2.new(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2.new(ScreenPoint.X, ScreenPoint.Y)).Magnitude if VectorDistance < MaximumDistance then Target = v end end end end end else if v.Character ~= nil then if v.Character:FindFirstChild("HumanoidRootPart") ~= nil then if v.Character:FindFirstChild("Humanoid") ~= nil and v.Character:FindFirstChild("Humanoid").Health ~= 0 then local ScreenPoint = Camera:WorldToScreenPoint(v.Character:WaitForChild("HumanoidRootPart", math.huge).Position) local VectorDistance = (Vector2.new(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2.new(ScreenPoint.X, ScreenPoint.Y)).Magnitude if VectorDistance < MaximumDistance then Target = v end end end end end end end return Target end UserInputService.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton2 then Holding = true end end) UserInputService.InputEnded:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton2 then Holding = false end end) RunService.RenderStepped:Connect(function() FOVCircle.Position = Vector2.new(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) FOVCircle.Radius = _G.CircleRadius FOVCircle.Filled = _G.CircleFilled FOVCircle.Color = _G.CircleColor FOVCircle.Visible = _G.CircleVisible FOVCircle.Transparency = _G.CircleTransparency FOVCircle.NumSides = _G.CircleSides FOVCircle.Thickness = _G.CircleThickness if Holding == true and _G.AimbotEnabled == true then local closest = GetClosestPlayer() if closest and closest.Character and closest.Character:FindFirstChild(_G.AimPart) then TweenService:Create(Camera, TweenInfo.new(_G.Sensitivity, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), { CFrame = CFrame.new(Camera.CFrame.Position, closest.Character[_G.AimPart].Position) }):Play() end end end) -- ================== OPTIMIZED SINGLE HEARTBEAT ================== RunService.Heartbeat:Connect(function(dt) if not getChar() or not root then return end if cframeSpeed > 0 and not cframeFlying and not flying then local dir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += camera.CFrame.RightVector end if dir.Magnitude > 0 then dir = dir.Unit root.CFrame = root.CFrame + (dir * cframeSpeed * dt) end end if cframeFlying then root.AssemblyLinearVelocity = Vector3.zero root.AssemblyAngularVelocity = Vector3.zero local lookDir = camera.CFrame.LookVector root.CFrame = CFrame.lookAt(root.Position, root.Position + lookDir) local dir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += lookDir end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= lookDir end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.new(0,1,0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir -= Vector3.new(0,1,0) end if dir.Magnitude > 0 then dir = dir.Unit root.CFrame += dir * cframeFlySpeed * dt end end if flying and not cframeFlying and bv and bg then bg.CFrame = CFrame.new(root.Position, root.Position + camera.CFrame.LookVector) local dir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.new(0,1,0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir -= Vector3.new(0,1,0) end bv.Velocity = dir.Magnitude > 0 and dir.Unit * flySpeed or Vector3.zero end if tplooping and loopTarget then local targetChar = loopTarget.Character if targetChar and targetChar:FindFirstChild("HumanoidRootPart") then root.CFrame = targetChar.HumanoidRootPart.CFrame end end end) -- ================== NEW ESP (EXACT CODE YOU GAVE ME) ================== local espEnabled = false local espConnections = {} local function createESPForPlayer(plr) if plr == player then return end local function onCharacterAdded(character) if not espEnabled then return end local humanoid = character:WaitForChild("Humanoid", 10) local head = character:WaitForChild("Head", 10) if not humanoid or not head then return end local highlight = Instance.new("Highlight") highlight.Name = "ESPHighlight" highlight.FillColor = Color3.fromRGB(0, 255, 0) highlight.FillTransparency = 0.5 highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = character if head:FindFirstChild("ESPBillboard") then head.ESPBillboard:Destroy() end local billboard = Instance.new("BillboardGui") billboard.Name = "ESPBillboard" billboard.Size = UDim2.new(0, 200, 0, 50) billboard.StudsOffset = Vector3.new(0, 3, 0) billboard.AlwaysOnTop = true billboard.Parent = head local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(255, 255, 255) label.TextStrokeTransparency = 0 label.TextScaled = true label.Font = Enum.Font.SourceSansBold label.Parent = billboard local function updateText() local hp = math.floor(humanoid.Health) local maxHp = math.floor(humanoid.MaxHealth) label.Text = string.format("%s\nHP: %d/%d", plr.Name, hp, maxHp) if hp <= 25 then label.TextColor3 = Color3.fromRGB(255, 50, 50) elseif hp <= 50 then label.TextColor3 = Color3.fromRGB(255, 255, 0) else label.TextColor3 = Color3.fromRGB(0, 255, 0) end end humanoid.HealthChanged:Connect(updateText) updateText() end local conn = plr.CharacterAdded:Connect(onCharacterAdded) table.insert(espConnections, conn) if plr.Character then onCharacterAdded(plr.Character) end end local function enableESP() if espEnabled then return end espEnabled = true espConnections = {} for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player then createESPForPlayer(plr) end end print("✅ New ESP Enabled") end local function disableESP() if not espEnabled then return end espEnabled = false for _, plr in ipairs(Players:GetPlayers()) do if plr.Character then local hl = plr.Character:FindFirstChild("ESPHighlight") if hl then hl:Destroy() end local head = plr.Character:FindFirstChild("Head") if head and head:FindFirstChild("ESPBillboard") then head.ESPBillboard:Destroy() end end end for _, conn in ipairs(espConnections) do if conn then conn:Disconnect() end end espConnections = {} print("✅ ESP Disabled") end Players.PlayerAdded:Connect(function(plr) if espEnabled and plr ~= player then createESPForPlayer(plr) end end) -- ================== SPECTATE GUI ================== local function updateSpectateList() if not spectateScrollingFrame then return end for _, child in ipairs(spectateScrollingFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end local yOffset = 0 for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player then local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -10, 0, 35) btn.Position = UDim2.new(0, 5, 0, yOffset) btn.BackgroundColor3 = Color3.fromRGB(45, 45, 55) btn.BorderSizePixel = 0 btn.Text = plr.DisplayName .. " (" .. plr.Name .. ")" btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.SourceSansBold btn.TextSize = 16 btn.TextXAlignment = Enum.TextXAlignment.Left btn.Parent = spectateScrollingFrame btn.MouseButton1Click:Connect(function() startViewing(plr.Name) end) yOffset = yOffset + 40 end end spectateScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, yOffset + 10) end local function createSpectateGUI() if spectateGui then spectateGui.Enabled = true updateSpectateList() return end spectateGui = Instance.new("ScreenGui") spectateGui.ResetOnSpawn = false spectateGui.Parent = player:WaitForChild("PlayerGui") local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 320, 0, 420) mainFrame.Position = UDim2.new(0.5, -160, 0.5, -210) mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 35) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = spectateGui local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 50) title.BackgroundColor3 = Color3.fromRGB(0, 120, 255) title.Text = "👁️ Spectate Players" title.TextColor3 = Color3.new(1, 1, 1) title.Font = Enum.Font.SourceSansBold title.TextSize = 24 title.Parent = mainFrame local scroll = Instance.new("ScrollingFrame") scroll.Size = UDim2.new(1, -20, 1, -110) scroll.Position = UDim2.new(0, 10, 0, 60) scroll.BackgroundTransparency = 1 scroll.ScrollBarThickness = 6 scroll.ScrollBarImageColor3 = Color3.fromRGB(0, 170, 255) scroll.Parent = mainFrame spectateScrollingFrame = scroll local stopBtn = Instance.new("TextButton") stopBtn.Size = UDim2.new(0.48, 0, 0, 45) stopBtn.Position = UDim2.new(0.02, 0, 1, -55) stopBtn.BackgroundColor3 = Color3.fromRGB(170, 0, 0) stopBtn.Text = "Stop Spectating" stopBtn.TextColor3 = Color3.new(1, 1, 1) stopBtn.Font = Enum.Font.SourceSansBold stopBtn.TextSize = 18 stopBtn.Parent = mainFrame stopBtn.MouseButton1Click:Connect(stopViewing) local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0.48, 0, 0, 45) closeBtn.Position = UDim2.new(0.5, 0, 1, -55) closeBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0) closeBtn.Text = "Close" closeBtn.TextColor3 = Color3.new(1, 1, 1) closeBtn.Font = Enum.Font.SourceSansBold closeBtn.TextSize = 18 closeBtn.Parent = mainFrame closeBtn.MouseButton1Click:Connect(function() spectateGui.Enabled = false end) updateSpectateList() print("✅ Spectate GUI opened") end Players.PlayerAdded:Connect(function() if spectateGui and spectateGui.Enabled then updateSpectateList() end end) Players.PlayerRemoving:Connect(function() if spectateGui and spectateGui.Enabled then updateSpectateList() end end) -- ================== SERVERHOP / TOUCH FLING GUI / COMMAND GUI ================== local PlaceID = game.PlaceId local AllIDs = {} local foundAnything = "" local actualHour = os.date("!*t").hour local File = pcall(function() AllIDs = game:GetService('HttpService'):JSONDecode(readfile("NotSameServers.json")) end) if not File then table.insert(AllIDs, actualHour) writefile("NotSameServers.json", game:GetService('HttpService'):JSONEncode(AllIDs)) end local function TPReturner() local Site if foundAnything == "" then Site = game.HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Asc&limit=100')) else Site = game.HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Asc&limit=100&cursor=' .. foundAnything)) end local ID = "" if Site.nextPageCursor and Site.nextPageCursor ~= "null" and Site.nextPageCursor ~= nil then foundAnything = Site.nextPageCursor end local num = 0 for i,v in pairs(Site.data) do local Possible = true ID = tostring(v.id) if tonumber(v.maxPlayers) > tonumber(v.playing) then for _,Existing in pairs(AllIDs) do if num ~= 0 then if ID == tostring(Existing) then Possible = false end else if tonumber(actualHour) ~= tonumber(Existing) then pcall(function() delfile("NotSameServers.json") AllIDs = {} table.insert(AllIDs, actualHour) end) end end num = num + 1 end if Possible then table.insert(AllIDs, ID) wait() pcall(function() writefile("NotSameServers.json", game:GetService('HttpService'):JSONEncode(AllIDs)) wait() game:GetService("TeleportService"):TeleportToPlaceInstance(PlaceID, ID, game.Players.LocalPlayer) end) wait(4) end end end end local function Teleport() while wait() do pcall(function() TPReturner() if foundAnything ~= "" then TPReturner() end end) end end local function serverHop() print("🔄 Starting YOUR reliable server hop...") Teleport() end local function showTouchFlingGUI() if touchFlingGui then touchFlingGui.Enabled = true print("✅ Touch Fling GUI already open") return end local ScreenGui = Instance.new("ScreenGui") local Frame = Instance.new("Frame") local TextButton = Instance.new("TextButton") local TextLabel = Instance.new("TextLabel") ScreenGui.Parent = player:WaitForChild("PlayerGui") ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.ResetOnSpawn = false touchFlingGui = ScreenGui Frame.Parent = ScreenGui Frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Frame.BorderColor3 = Color3.fromRGB(255, 255, 255) Frame.BorderSizePixel = 2 Frame.Position = UDim2.new(0.341826946, 0, 0.367763907, 0) Frame.Size = UDim2.new(0, 148, 0, 106) TextButton.Parent = Frame TextButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0) TextButton.BorderColor3 = Color3.fromRGB(255, 255, 255) TextButton.BorderSizePixel = 2 TextButton.Position = UDim2.new(0.0835492909, 0, 0.552504063, 0) TextButton.Size = UDim2.new(0, 124, 0, 37) TextButton.Font = Enum.Font.SourceSans TextButton.Text = "OFF" TextButton.TextColor3 = Color3.fromRGB(255, 255, 255) TextButton.TextSize = 41 TextLabel.Parent = Frame TextLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel.BackgroundTransparency = 1 TextLabel.BorderColor3 = Color3.fromRGB(0, 0, 0) TextLabel.BorderSizePixel = 0 TextLabel.Position = UDim2.new(0.0649713054, 0, 0.0727680102, 0) TextLabel.Size = UDim2.new(0, 128, 0, 39) TextLabel.Font = Enum.Font.SourceSans TextLabel.Text = "Touch Fling" TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel.TextSize = 34 local function CTIKC_fake_script() local script = Instance.new('LocalScript', TextButton) local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local Players = game:GetService("Players") local toggleButton = script.Parent local hiddenfling = false if not ReplicatedStorage:FindFirstChild("juisdfj0i32i0eidsuf0iok") then local detection = Instance.new("Decal") detection.Name = "juisdfj0i32i0eidsuf0iok" detection.Parent = ReplicatedStorage end local function fling() local hrp, c, vel, movel = nil, nil, nil, 0.1 local lp = Players.LocalPlayer while true do RunService.Heartbeat:Wait() if hiddenfling then while hiddenfling and not (c and c.Parent and hrp and hrp.Parent) do RunService.Heartbeat:Wait() c = lp.Character hrp = c and c:FindFirstChild("HumanoidRootPart") end if hiddenfling then vel = hrp.Velocity hrp.Velocity = vel * 10000 + Vector3.new(0, 10000, 0) RunService.RenderStepped:Wait() if c and c.Parent and hrp and hrp.Parent then hrp.Velocity = vel end RunService.Stepped:Wait() if c and c.Parent and hrp and hrp.Parent then hrp.Velocity = vel + Vector3.new(0, movel, 0) movel = movel * -1 end end end end end toggleButton.MouseButton1Click:Connect(function() hiddenfling = not hiddenfling toggleButton.Text = hiddenfling and "ON" or "OFF" end) fling() end coroutine.wrap(CTIKC_fake_script)() local function FFJFK_fake_script() local script = Instance.new('LocalScript', Frame) script.Parent.Active = true script.Parent.Draggable = true end coroutine.wrap(FFJFK_fake_script)() print("✅ Skiddos Touch Fling GUI opened") end -- ================== FULL COMMAND LIST GUI (NOW INCLUDES /spin) ================== local function createCommandList() if helpGui then helpGui:Destroy() end helpGui = Instance.new("ScreenGui") helpGui.ResetOnSpawn = false helpGui.Parent = game:GetService("CoreGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 480, 0, 670) frame.Position = UDim2.new(0.5, -240, 0.5, -335) frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true frame.Parent = helpGui local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 50) title.BackgroundColor3 = Color3.fromRGB(0, 120, 255) title.Text = "📋 Command List" title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.SourceSansBold title.TextSize = 24 title.Parent = frame local list = Instance.new("TextLabel") list.Size = UDim2.new(1, -20, 1, -180) list.Position = UDim2.new(0, 10, 0, 60) list.BackgroundTransparency = 1 list.TextColor3 = Color3.new(1,1,1) list.TextXAlignment = Enum.TextXAlignment.Left list.TextYAlignment = Enum.TextYAlignment.Top list.Font = Enum.Font.SourceSans list.TextSize = 17 list.TextWrapped = true list.Text = [[ /fly [num] or /f [num] → Normal Fly (persists after death) /cframefly [num] or /cff [num] → CFrame Fly (persists after death) /uncframefly or /ucff → Disable CFrame fly /unfly or /uf → Disable normal fly /speed [num] → Set walkspeed (persists after death) /jump [num] → Set jumppower /gravity [num] → Set gravity /cframespeed [num] or /cfs [num] → CFrame speed /spin [num] → Spin character (Y-axis, persists after death) /unspin → Stop spinning /tp [partial] → Teleport to player /tp random → Teleport to random player /tploop [partial or random] → START instant loop teleport /untploop → STOP loop teleport /tp (alone) → Toggle Click Teleport /view [partial] → View player /unview → Stop viewing /esp or /espall → Enable NEW ESP /unesp or /unespall → Disable NEW ESP /touchfling or /tfling → Open Touch Fling GUI /antifling or /af → Toggle anti-fling /aimbot → Toggle NEW Aimbot (hold RMB + FOV circle) /unaimbot → Disable NEW Aimbot /spectate or /spec → Open Spectate GUI /noclip or /nc → Enable noclip /clip or /c → Disable noclip /invisible or /invis → Become invisible /kill → Kill yourself /rejoin or /rj → Rejoin /serverhop or /sh → Server hop /infjumps or /inf jumps → Enable Infinite Jumps /uninfjumps or /uninf jumps → Disable Infinite Jumps /cmds or /gui → Toggle this menu ]] list.Parent = frame local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0.45, 0, 0, 45) closeBtn.Position = UDim2.new(0.05, 0, 1, -65) closeBtn.BackgroundColor3 = Color3.fromRGB(170, 0, 0) closeBtn.Text = "Close" closeBtn.TextColor3 = Color3.new(1,1,1) closeBtn.Font = Enum.Font.SourceSansBold closeBtn.TextSize = 18 closeBtn.Parent = frame closeBtn.MouseButton1Click:Connect(function() helpGui:Destroy() helpGui = nil end) local reopenBtn = Instance.new("TextButton") reopenBtn.Size = UDim2.new(0.45, 0, 0, 45) reopenBtn.Position = UDim2.new(0.5, 0, 1, -65) reopenBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0) reopenBtn.Text = "Open Again" reopenBtn.TextColor3 = Color3.new(1,1,1) reopenBtn.Font = Enum.Font.SourceSansBold reopenBtn.TextSize = 18 reopenBtn.Parent = frame reopenBtn.MouseButton1Click:Connect(createCommandList) end -- ================== CHAT COMMANDS (NOW WITH /spin) ================== player.Chatted:Connect(function(msg) local args = msg:lower():split(" ") local cmd = args[1] if cmd == prefix.."fly" or cmd == prefix.."f" then toggleFly(args[2]) elseif cmd == prefix.."unfly" or cmd == prefix.."uf" then toggleFly(0) elseif cmd == prefix.."cframefly" or cmd == prefix.."cff" then toggleCFrameFly(args[2]) elseif cmd == prefix.."uncframefly" or cmd == prefix.."ucff" then if cframeFlying then toggleCFrameFly(0) end elseif cmd == prefix.."speed" then setSpeed(args[2]) elseif cmd == prefix.."jump" then setJump(args[2]) elseif cmd == prefix.."gravity" then setGravity(args[2]) elseif cmd == prefix.."cframespeed" or cmd == prefix.."cfs" then setCFrameSpeed(args[2]) elseif cmd == prefix.."spin" then setSpin(args[2]) elseif cmd == prefix.."unspin" then setSpin(0) elseif cmd == prefix.."tp" then if args[2] and args[2] ~= "" then if args[2] == "random" then teleportToRandomPlayer() else teleportToPlayer(args[2]) end else clickTPEnabled = not clickTPEnabled print("✅ Click Teleport " .. (clickTPEnabled and "ENABLED" or "DISABLED")) end elseif cmd == prefix.."tploop" then if args[2] and args[2] ~= "" then startTPLoop(args[2]) else print("❌ Usage: /tploop [partial name or random]") end elseif cmd == prefix.."untploop" then stopTPLoop() elseif cmd == prefix.."view" then startViewing(args[2]) elseif cmd == prefix.."unview" then stopViewing() elseif cmd == prefix.."esp" or cmd == prefix.."espall" then enableESP() elseif cmd == prefix.."unesp" or cmd == prefix.."unespall" then disableESP() elseif cmd == prefix.."touchfling" or cmd == prefix.."tfling" then showTouchFlingGUI() elseif cmd == prefix.."antifling" or cmd == prefix.."af" then antifling = not antifling if antifling then print("✅ Anti-Fling: ON (other players only)") if not antiflingConnection then antiflingConnection = RunService.Stepped:Connect(function() for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character then for _, part in ipairs(plr.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end end) end else print("✅ Anti-Fling: OFF") if antiflingConnection then antiflingConnection:Disconnect() antiflingConnection = nil end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character then for _, part in ipairs(plr.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end end end elseif cmd == prefix.."aimbot" then _G.AimbotEnabled = not _G.AimbotEnabled _G.CircleVisible = _G.AimbotEnabled -- ← SYNCED: FOV circle turns on/off with aimbot print("✅ NEW Aimbot " .. (_G.AimbotEnabled and "ENABLED (hold Right Mouse Button + FOV circle visible)" or "DISABLED")) elseif cmd == prefix.."unaimbot" then _G.AimbotEnabled = false _G.CircleVisible = false -- ← FORCED OFF (FOV hidden) print("✅ NEW Aimbot DISABLED (FOV circle hidden)") elseif cmd == prefix.."infjumps" or cmd == prefix.."inf jumps" or cmd == prefix.."infjump" then toggleInfiniteJumps(true) elseif cmd == prefix.."uninfjumps" or cmd == prefix.."uninf jumps" or cmd == prefix.."uninfjump" then toggleInfiniteJumps(false) elseif cmd == prefix.."spectate" or cmd == prefix.."spec" then createSpectateGUI() elseif cmd == prefix.."noclip" or cmd == prefix.."nc" then noclipping = true print("✅ Noclip Enabled (self)") if not noclipConnection then noclipConnection = RunService.Stepped:Connect(function() local char = player.Character if not char then return end for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end) end elseif cmd == prefix.."clip" or cmd == prefix.."c" then noclipping = false print("✅ Noclip Disabled") if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end if player.Character then for _, part in ipairs(player.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end elseif cmd == prefix.."invisible" or cmd == prefix.."invis" then loadstring(game:HttpGet('https://pastebin.com/raw/3Rnd9rHf'))() elseif cmd == prefix.."kill" then if hum then hum.Health = 0 end elseif cmd == prefix.."rejoin" or cmd == prefix.."rj" then TeleportService:Teleport(game.PlaceId, player) elseif cmd == prefix.."serverhop" or cmd == prefix.."sh" then serverHop() elseif cmd == prefix.."cmds" or cmd == prefix.."gui" then if helpGui then helpGui:Destroy() helpGui = nil else createCommandList() end end end) task.delay(1.5, createCommandList) print("✅ FULL SCRIPT LOADED SUCCESSFULLY!") print("🚀 NEW AIMBOT + NEW ESP + TRIPLE-CHECKED FLY RESTORATION + SPIN") print("📋 Type /cmds or /gui to open the FULL command list (now 100% complete)") print("🎯 Aimbot + FOV circle are DISABLED by default") print("Type /aimbot to toggle ON (FOV appears) | /unaimbot to turn both OFF") print("🌀 New: /spin 500 (or any number) | /unspin")