-- SERVICES local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TeleportService = game:GetService("TeleportService") local LocalPlayer = Players.LocalPlayer local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local RootPart = Character:WaitForChild("HumanoidRootPart") getgenv().speed = 200 getgenv().AutoLockBase = false getgenv().AllInOneMode = false -- VARIABLES local collectionZonePosition = nil -- GODMODE & NOCLIP local godModeConnection local function setupCharacter(character) Character = character RootPart = character:WaitForChild("HumanoidRootPart") local humanoid = character:WaitForChild("Humanoid") -- Noclip all parts for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end -- Godmode health max humanoid.MaxHealth = math.huge humanoid.Health = humanoid.MaxHealth if godModeConnection then godModeConnection:Disconnect() end godModeConnection = humanoid.HealthChanged:Connect(function() if humanoid.Health < humanoid.MaxHealth then humanoid.Health = humanoid.MaxHealth end end) end setupCharacter(Character) LocalPlayer.CharacterAdded:Connect(setupCharacter) -- TELEPORT FUNCTION local function tweenTeleport(toCFrame, speed) if not RootPart then return end local distance = (toCFrame.Position - RootPart.Position).Magnitude local tween = TweenService:Create(RootPart, TweenInfo.new(distance / speed, Enum.EasingStyle.Linear), { CFrame = toCFrame }) tween:Play() tween.Completed:Wait() end -- Helper: Get player's plot local function getPlayerPlot() if not workspace:FindFirstChild("Plots") then return nil end for _, plot in pairs(workspace.Plots:GetChildren()) do local config = plot:FindFirstChild("Config") if config and config:FindFirstChild("Owner") and config.Owner.Value == LocalPlayer then return plot end end return nil end -- Helper: Check if pos is inside BasePart bounds local function isPositionInsidePart(pos, part) local size = part.Size local cf = part.CFrame local relativePos = cf:PointToObjectSpace(pos) return math.abs(relativePos.X) <= size.X/2 and math.abs(relativePos.Y) <= size.Y/2 and math.abs(relativePos.Z) <= size.Z/2 end -- Helper: Check if pos is inside your entire plot (any part) local function isPositionInsidePlot(pos, plot) for _, part in ipairs(plot:GetDescendants()) do if part:IsA("BasePart") then if isPositionInsidePart(pos, part) then return true end end end return false end -- Fire proximity prompts in obj local function firePromptsIn(obj) local success = false for _, prompt in ipairs(obj:GetDescendants()) do if prompt:IsA("ProximityPrompt") then fireproximityprompt(prompt) task.wait(0.1) success = true end end return success end -- Find Foxy outside your base by name keyword (case-insensitive) local function findFoxyByNameKeyword(keyword) local playerPlot = getPlayerPlot() keyword = keyword:lower() for _, obj in ipairs(workspace:GetDescendants()) do local name = obj.Name:lower() if name:find(keyword) then local foxyPos = nil if obj:FindFirstChild("HumanoidRootPart") then foxyPos = obj.HumanoidRootPart.Position elseif obj:IsA("BasePart") then foxyPos = obj.Position end if foxyPos and playerPlot and isPositionInsidePlot(foxyPos, playerPlot) then -- Foxy inside your base: skip it continue end return obj end end return nil end -- Steal Foxy by keyword (used for Radioactive and other animatronics) local function stealFoxyByKeyword(keyword) if not collectionZonePosition then return false, "Please save Collection Zone first!" end local foxy = findFoxyByNameKeyword(keyword) if not foxy then return false, "No animatronic with name '"..keyword.."' found outside your base." end local foxyPos = nil if foxy:FindFirstChild("HumanoidRootPart") then foxyPos = foxy.HumanoidRootPart.Position elseif foxy:IsA("BasePart") then foxyPos = foxy.Position end if not foxyPos then return false, "Cannot find animatronic position." end tweenTeleport(CFrame.new(foxyPos + Vector3.new(0, 5, 0)), getgenv().speed) task.wait(0.3) local interacted = firePromptsIn(foxy) if not interacted then for _, obj in ipairs(workspace:GetPartBoundsInBox(CFrame.new(foxyPos), Vector3.new(20, 20, 20))) do if firePromptsIn(obj) then interacted = true break end end end task.wait(0.8) -- Tween up to 200 studs above animatronic tweenTeleport(CFrame.new(foxyPos + Vector3.new(0, 200, 0)), getgenv().speed) -- Stay in air for 5 seconds task.wait(5) tweenTeleport(CFrame.new(collectionZonePosition + Vector3.new(0, 10, 0)), getgenv().speed) return true, "Animatronic ("..keyword..") stolen!" end -- SERVER HOP FUNCTION local function serverHop() print("DEBUG: Starting server hop...") -- Safe notification (check if Rayfield exists) if Rayfield then Rayfield:Notify({ Title = "🔄 Server Hopping Now", Content = "Attempting to find new server...", Duration = 2 }) end local success = false -- Method 1: Simple teleport (most reliable) pcall(function() print("DEBUG: Trying Method 1 - Simple teleport") TeleportService:Teleport(game.PlaceId, LocalPlayer) success = true print("DEBUG: Method 1 success") end) -- Method 2: Try HTTP request for specific server if not success then pcall(function() print("DEBUG: Trying Method 2 - HTTP server list") local HttpService = game:GetService("HttpService") local response = game:HttpGet("https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100") local data = HttpService:JSONDecode(response) if data and data.data then local servers = {} for _, server in pairs(data.data) do if server.playing < server.maxPlayers and server.id ~= game.JobId then table.insert(servers, server.id) end end if #servers > 0 then local randomServer = servers[math.random(1, #servers)] print("DEBUG: Teleporting to server:", randomServer) TeleportService:TeleportToPlaceInstance(game.PlaceId, randomServer, LocalPlayer) success = true print("DEBUG: Method 2 success") end end end) end -- Method 3: Alternative teleport method if not success then pcall(function() print("DEBUG: Trying Method 3 - Alternative teleport") game:GetService("TeleportService"):Teleport(game.PlaceId) success = true print("DEBUG: Method 3 success") end) end -- Method 4: Queue for teleport (some executors) if not success then pcall(function() print("DEBUG: Trying Method 4 - Queue teleport") TeleportService:TeleportToPlaceInstance(game.PlaceId, "", LocalPlayer) print("DEBUG: Method 4 attempted") end) end print("DEBUG: Server hop function completed, success:", success) end -- RE-EXECUTE SCRIPT AFTER SERVER HOP local function reExecuteScript() print("DEBUG: Re-execute function called") -- Mark that we want to continue All In One mode after server hop getgenv().AllInOneEnabled = true getgenv().SavedCollectionPos = collectionZonePosition print("DEBUG: Saved settings for re-execution") -- Don't try to re-execute here, just let the user manually re-run -- The auto-continue logic will handle re-enabling All In One mode end -- RAYFIELD GUI local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Steal A Freddy | KEYLESS + FREE", LoadingTitle = "Loading...", LoadingSubtitle = "By @OriginalTragic", ConfigurationSaving = { Enabled = true, FolderName = "RadioactiveFoxyScript", FileName = "config" } }) local MainTab = Window:CreateTab("Main", 4483362458) -- ALL IN ONE SECTION MainTab:CreateSection("All In One (OP)") local allInOneActive = false local lastRadioactiveFound = tick() local autoLockToggle -- Forward declaration local allInOneToggle -- Forward declaration allInOneToggle = MainTab:CreateToggle({ Name = "All In One (OP) Mode", CurrentValue = false, Callback = function(value) getgenv().AllInOneMode = value allInOneActive = value if value then -- Step 1: Auto-save collection zone at CURRENT position when toggle is activated if RootPart then collectionZonePosition = RootPart.Position getgenv().SavedCollectionPos = collectionZonePosition Rayfield:Notify({ Title = "✅ Step 1: Position Saved", Content = "Collection zone saved at your current position: " .. math.floor(collectionZonePosition.X) .. ", " .. math.floor(collectionZonePosition.Y) .. ", " .. math.floor(collectionZonePosition.Z), Duration = 3 }) else Rayfield:Notify({ Title = "❌ Error", Content = "Could not save position - RootPart not found", Duration = 3 }) return end -- Step 2: Enable auto-lock base getgenv().AutoLockBase = true lastRadioactiveFound = tick() Rayfield:Notify({ Title = "✅ Step 2: Auto-Lock Enabled", Content = "Base auto-lock is now active", Duration = 2 }) task.wait(1) Rayfield:Notify({ Title = "🔍 Step 3: Searching for Radioactive Foxy", Content = "Looking for Radioactive Foxy to steal...", Duration = 3 }) -- Step 3: Start looking for Radioactive Foxy task.spawn(function() local searchAttempts = 0 while allInOneActive and getgenv().AllInOneMode do searchAttempts = searchAttempts + 1 print("DEBUG: Search attempt #" .. searchAttempts) -- Debug print("DEBUG: Collection zone exists:", collectionZonePosition ~= nil) -- Debug if collectionZonePosition then local foxy = findFoxyByNameKeyword("radioactive") print("DEBUG: Found foxy:", foxy ~= nil) -- Debug if foxy then -- Found Radioactive Foxy - steal it! lastRadioactiveFound = tick() Rayfield:Notify({ Title = "đŸŽ¯ Found Radioactive Foxy!", Content = "Attempting to steal " .. foxy.Name .. "...", Duration = 2 }) local success, message = stealFoxyByKeyword("radioactive") Rayfield:Notify({ Title = success and "✅ Successfully Stolen!" or "❌ Steal Failed", Content = success and "Radioactive Foxy stolen and delivered!" or message, Duration = 3 }) -- Reset search attempts after successful steal searchAttempts = 0 else -- No Radioactive Foxy found local timeSinceFound = tick() - lastRadioactiveFound -- Show search progress every 10 attempts (20 seconds) if searchAttempts % 10 == 0 then local remaining = math.max(0, 30 - math.floor(timeSinceFound)) Rayfield:Notify({ Title = "🔍 Still Searching... (Attempt " .. searchAttempts .. ")", Content = "No Radioactive Foxy found. Server hop in " .. remaining .. "s", Duration = 2 }) end -- If no Radioactive Foxy found for 30 seconds, server hop if timeSinceFound > 30 then print("DEBUG: 30 seconds passed, initiating server hop") if Rayfield then Rayfield:Notify({ Title = "🔄 No Radioactive Foxy Found", Content = "Server hopping now...", Duration = 4 }) end -- Mark that we should continue after server hop getgenv().AllInOneEnabled = true getgenv().SavedCollectionPos = collectionZonePosition print("DEBUG: Calling server hop in 2 seconds...") task.wait(2) serverHop() break end end else Rayfield:Notify({ Title = "❌ Error", Content = "Collection zone not set!", Duration = 2 }) break end -- Wait 2 seconds before next search attempt for i = 1, 20 do if not allInOneActive or not getgenv().AllInOneMode then break end task.wait(0.1) end end end) -- Auto-lock base loop (runs simultaneously) task.spawn(function() while allInOneActive and getgenv().AllInOneMode do local playerPlot, lockTimeValue if workspace:FindFirstChild("Plots") then for _, plot in pairs(workspace.Plots:GetChildren()) do local config = plot:FindFirstChild("Config") if config and config:FindFirstChild("Owner") and config.Owner.Value == LocalPlayer then playerPlot = plot lockTimeValue = config:FindFirstChild("LockTime") break end end end if lockTimeValue and playerPlot then local spammedBeforeZero = false local spammedAtZero = false while (allInOneActive and getgenv().AllInOneMode) and (not spammedBeforeZero or not spammedAtZero) do local currentLockTime = lockTimeValue.Value if currentLockTime <= 0.1 and not spammedBeforeZero then for _, part in ipairs(playerPlot:GetDescendants()) do if part:IsA("TouchTransmitter") and part.Parent and part.Parent:IsA("BasePart") then local basePart = part.Parent firetouchinterest(RootPart, basePart, 0) task.wait(0.01) firetouchinterest(RootPart, basePart, 1) end end spammedBeforeZero = true elseif currentLockTime <= 0 and not spammedAtZero then for _, part in ipairs(playerPlot:GetDescendants()) do if part:IsA("TouchTransmitter") and part.Parent and part.Parent:IsA("BasePart") then local basePart = part.Parent firetouchinterest(RootPart, basePart, 0) task.wait(0.01) firetouchinterest(RootPart, basePart, 1) end end spammedAtZero = true end task.wait(0.1) end end task.wait(0.3) end end) else -- Disable everything when All In One is turned off getgenv().AutoLockBase = false getgenv().AllInOneEnabled = false Rayfield:Notify({ Title = "âšī¸ All In One Disabled", Content = "All automated functions stopped", Duration = 2 }) end end }) -- Auto-continue All In One mode after server hop task.spawn(function() task.wait(3) -- Wait for everything to load after server hop if getgenv().AllInOneEnabled then -- Restore saved position if getgenv().SavedCollectionPos then collectionZonePosition = getgenv().SavedCollectionPos end -- Wait for GUI to load, then re-enable All In One task.wait(2) -- Re-enable All In One mode automatically getgenv().AllInOneMode = true allInOneActive = true getgenv().AutoLockBase = true lastRadioactiveFound = tick() Rayfield:Notify({ Title = "✅ All In One Resumed", Content = "Continuing after server hop!", Duration = 3 }) -- Restart the stealing loop task.spawn(function() while allInOneActive and getgenv().AllInOneMode do if collectionZonePosition then local foxy = findFoxyByNameKeyword("radioactive") if foxy then lastRadioactiveFound = tick() local success, message = stealFoxyByKeyword("radioactive") Rayfield:Notify({ Title = success and "✅ All In One Success" or "❌ All In One Error", Content = success and "Radioactive Foxy stolen!" or message, Duration = 2 }) else local timeSinceFound = tick() - lastRadioactiveFound if timeSinceFound > 30 then Rayfield:Notify({ Title = "🔄 Server Hopping Again", Content = "Still no Radioactive Foxy, switching servers...", Duration = 3 }) task.wait(2) serverHop() task.wait(3) reExecuteScript() break end end end for i = 1, 20 do if not allInOneActive or not getgenv().AllInOneMode then break end task.wait(0.1) end end end) end end) MainTab:CreateSection("Radioactive Foxy Steal") -- Radioactive Foxy Controls MainTab:CreateButton({ Name = "Steal Radioactive Foxy", Callback = function() local success, message = stealFoxyByKeyword("radioactive") Rayfield:Notify({ Title = success and "✅ Success" or "❌ Error", Content = message, Duration = 3, Image = 4483362458 }) end }) local autoStealRadioactive = false MainTab:CreateToggle({ Name = "Auto Steal Radioactive (0.5s)", CurrentValue = false, Callback = function(value) autoStealRadioactive = value if value then task.spawn(function() while autoStealRadioactive do local success, message = stealFoxyByKeyword("radioactive") Rayfield:Notify({ Title = success and "✅ Auto Success" or "❌ Auto Error", Content = message, Duration = 2 }) for i = 1, 5 do if not autoStealRadioactive then break end task.wait(0.1) end end end) end end }) -- Other Animatronic Steal (Text Input) MainTab:CreateSection("Other Animatronic Steal") local animatronicName = "Pizzeria God" -- default value local inputBox = MainTab:CreateInput({ Name = "Enter Animatronic Name", PlaceholderText = "Type animatronic name here", RemoveTextAfterFocusLost = false, Callback = function(text) animatronicName = text end }) MainTab:CreateButton({ Name = "Steal Entered Animatronic", Callback = function() if not animatronicName or animatronicName == "" then Rayfield:Notify({ Title = "Error", Content = "Please enter an animatronic name!", Duration = 2 }) return end local success, message = stealFoxyByKeyword(animatronicName) Rayfield:Notify({ Title = success and "✅ Success" or "❌ Error", Content = message, Duration = 3, Image = 4483362458 }) end }) local autoStealAnimatronic = false MainTab:CreateToggle({ Name = "Auto Steal Entered Animatronic (0.5s)", CurrentValue = false, Callback = function(value) autoStealAnimatronic = value if value then task.spawn(function() while autoStealAnimatronic do if animatronicName and animatronicName ~= "" then local success, message = stealFoxyByKeyword(animatronicName) Rayfield:Notify({ Title = success and "✅ Auto Success" or "❌ Auto Error", Content = message, Duration = 2 }) else Rayfield:Notify({ Title = "Error", Content = "Please enter an animatronic name!", Duration = 2 }) end for i = 1, 5 do if not autoStealAnimatronic then break end task.wait(0.1) end end end) end end }) -- Auto Lock Base toggle with improved lock spam timing MainTab:CreateSection("Auto Lock Base") autoLockToggle = MainTab:CreateToggle({ Name = "Auto Lock Base", CurrentValue = false, Callback = function(value) getgenv().AutoLockBase = value if value then task.spawn(function() while getgenv().AutoLockBase do local playerPlot, lockTimeValue if workspace:FindFirstChild("Plots") then for _, plot in pairs(workspace.Plots:GetChildren()) do local config = plot:FindFirstChild("Config") if config and config:FindFirstChild("Owner") and config.Owner.Value == LocalPlayer then playerPlot = plot lockTimeValue = config:FindFirstChild("LockTime") break end end end if lockTimeValue and playerPlot then local spammedBeforeZero = false local spammedAtZero = false -- Loop checking lock time until both spams done or AutoLockBase disabled while getgenv().AutoLockBase and (not spammedBeforeZero or not spammedAtZero) do local currentLockTime = lockTimeValue.Value if currentLockTime <= 0.1 and not spammedBeforeZero then -- Spam lock once at ~0.1 seconds before zero for _, part in ipairs(playerPlot:GetDescendants()) do if part:IsA("TouchTransmitter") and part.Parent and part.Parent:IsA("BasePart") then local basePart = part.Parent firetouchinterest(RootPart, basePart, 0) task.wait(0.01) firetouchinterest(RootPart, basePart, 1) end end spammedBeforeZero = true elseif currentLockTime <= 0 and not spammedAtZero then -- Spam lock once at zero for _, part in ipairs(playerPlot:GetDescendants()) do if part:IsA("TouchTransmitter") and part.Parent and part.Parent:IsA("BasePart") then local basePart = part.Parent firetouchinterest(RootPart, basePart, 0) task.wait(0.01) firetouchinterest(RootPart, basePart, 1) end end spammedAtZero = true end task.wait(0.1) end Rayfield:Notify({ Title = "✅ Auto Lock Completed", Content = "Base locked successfully!", Duration = 3 }) end task.wait(0.3) end end) end end }) -- Collection Zone Buttons and speed slider MainTab:CreateButton({ Name = "Save Collection Zone", Callback = function() if RootPart then collectionZonePosition = RootPart.Position Rayfield:Notify({ Title = "Saved", Content = "Collection Zone Saved", Duration = 3 }) else Rayfield:Notify({ Title = "Error", Content = "RootPart not found", Duration = 3 }) end end }) MainTab:CreateButton({ Name = "Teleport to Collection Zone", Callback = function() if collectionZonePosition then tweenTeleport(CFrame.new(collectionZonePosition + Vector3.new(0, 10, 0)), getgenv().speed) else Rayfield:Notify({ Title = "Error", Content = "No Zone Saved", Duration = 3 }) end end }) MainTab:CreateSlider({ Name = "Teleport Speed", Range = {10, 200}, Increment = 5, CurrentValue = getgenv().speed, Callback = function(v) getgenv().speed = v end }) -- Loaded notification Rayfield:Notify({ Title = "Made By @OriginalTragic", Content = "Thanks To @aggot For Teleport Source", Duration = 4 })