Pastebin

Paste #38903: No description

< previous paste - next paste>

Pasted by Anonymous Coward

Download View as text

-- 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 = 150
getgenv().AutoLockBase = false
getgenv().AllInOneMode = false

-- STORE THE COMPLETE SCRIPT SOURCE FOR RE-EXECUTION
getgenv().ScriptSource = getgenv().ScriptSource or game:HttpGet("YOUR_SCRIPT_URL_HERE")

-- 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

-- IMPROVED SERVER HOP FUNCTION
local function serverHop()
    print("DEBUG: Starting server hop...")
    
    -- Save all necessary state
    getgenv().AllInOneEnabled = getgenv().AllInOneMode
    getgenv().SavedCollectionPos = collectionZonePosition
    getgenv().SavedSpeed = getgenv().speed
    getgenv().ShouldReExecute = true
    
    -- Add a timestamp to verify the state is fresh
    getgenv().HopTimestamp = tick()
    
    print("DEBUG: Saved state - AllInOne:", getgenv().AllInOneEnabled, "CollectionPos:", getgenv().SavedCollectionPos ~= nil)
    
    -- Safe notification
    if _G.Rayfield then
        _G.Rayfield:Notify({
            Title = "🔄 Server Hopping Now",
            Content = "State saved. Re-executing in new server...",
            Duration = 4
        })
        task.wait(2) -- Give time for notification to show
    end
    
    -- Try multiple server hop methods
    local hopSuccess = false
    
    -- Method 1: Basic teleport
    if not hopSuccess then
        local success = pcall(function()
            print("DEBUG: Attempting basic teleport...")
            TeleportService:Teleport(game.PlaceId, LocalPlayer)
        end)
        if success then
            print("DEBUG: Basic teleport initiated")
            hopSuccess = true
        end
    end
    
    -- Method 2: Alternative teleport if first fails
    if not hopSuccess then
        pcall(function()
            print("DEBUG: Attempting alternative teleport...")
            game:GetService("TeleportService"):Teleport(game.PlaceId)
            hopSuccess = true
        end)
    end
    
    -- Method 3: HTTP method for different server
    if not hopSuccess then
        pcall(function()
            print("DEBUG: Attempting HTTP server list method...")
            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 specific server:", randomServer)
                    TeleportService:TeleportToPlaceInstance(game.PlaceId, randomServer, LocalPlayer)
                    hopSuccess = true
                end
            end
        end)
    end
    
    print("DEBUG: Server hop completed, success:", hopSuccess)
end

-- ENHANCED RE-EXECUTION SYSTEM
local function reExecuteScript()
    print("DEBUG: Re-execution function called")
    
    if not getgenv().ShouldReExecute then
        print("DEBUG: No re-execution flag found")
        return
    end
    
    print("DEBUG: Re-execution flag found, proceeding...")
    
    -- Wait for game to fully load
    local loadWaitTime = 0
    while not game:IsLoaded() and loadWaitTime < 30 do
        task.wait(0.5)
        loadWaitTime = loadWaitTime + 0.5
    end
    
    task.wait(5) -- Additional wait for stability
    
    -- Restore saved settings
    if getgenv().SavedCollectionPos then
        collectionZonePosition = getgenv().SavedCollectionPos
        print("DEBUG: Restored collection position:", collectionZonePosition)
    end
    
    if getgenv().SavedSpeed then
        getgenv().speed = getgenv().SavedSpeed
        print("DEBUG: Restored speed:", getgenv().speed)
    end
    
    -- Clear the re-execution flag
    getgenv().ShouldReExecute = false
    
    print("DEBUG: Settings restored, waiting for GUI...")
    
    -- Wait for Rayfield to be available and then restore All In One mode
    if getgenv().AllInOneEnabled then
        task.spawn(function()
            local attempts = 0
            while not _G.Rayfield and attempts < 50 do
                task.wait(0.2)
                attempts = attempts + 1
            end
            
            if _G.Rayfield then
                print("DEBUG: Rayfield found, notifying re-execution...")
                _G.Rayfield:Notify({
                    Title = "✅ Script Re-Executed Successfully!",
                    Content = "Resuming All In One mode in 3 seconds...",
                    Duration = 4
                })
                
                task.wait(3)
                
                -- Restore All In One mode
                getgenv().AllInOneMode = true
                print("DEBUG: All In One mode re-enabled")
                
                -- Find and activate the toggle if it exists
                task.spawn(function()
                    task.wait(2)
                    if allInOneToggle then
                        allInOneToggle:Set(true)
                        print("DEBUG: All In One toggle activated")
                    end
                end)
            else
                print("DEBUG: Rayfield not found after waiting")
            end
        end)
    end
end

-- CHECK FOR RE-EXECUTION ON SCRIPT START
print("DEBUG: Checking for re-execution flag...")
print("DEBUG: ShouldReExecute =", getgenv().ShouldReExecute)
print("DEBUG: AllInOneEnabled =", getgenv().AllInOneEnabled)
print("DEBUG: HopTimestamp =", getgenv().HopTimestamp)

if getgenv().ShouldReExecute then
    print("DEBUG: Re-execution detected, setting up restoration...")
    task.spawn(reExecuteScript)
end

-- RAYFIELD GUI
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
_G.Rayfield = Rayfield -- Store globally for server hop access

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 = getgenv().AllInOneMode or false, -- Restore state if re-executed
    Callback = function(value)
        getgenv().AllInOneMode = value
        allInOneActive = value
        
        if value then
            print("DEBUG: All In One mode enabled")
            
            -- Step 1: Auto-save collection zone at CURRENT position when toggle is activated
            if RootPart then
                if not collectionZonePosition then
                    collectionZonePosition = RootPart.Position
                end
                getgenv().SavedCollectionPos = collectionZonePosition
                Rayfield:Notify({
                    Title = "✅ Step 1: Position Saved",
                    Content = "Collection zone saved at: " .. 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)
                    
                    if collectionZonePosition then
                        local foxy = findFoxyByNameKeyword("radioactive")
                        print("DEBUG: Found foxy:", foxy ~= nil)
                        
                        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")
                                
                                Rayfield:Notify({
                                    Title = "🔄 No Radioactive Foxy Found",
                                    Content = "Server hopping and re-executing script...",
                                    Duration = 4
                                })
                                
                                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
            print("DEBUG: All In One mode disabled")
            Rayfield:Notify({
                Title = "âšī¸ All In One Disabled",
                Content = "All automated functions stopped",
                Duration = 2
            })
        end
    end
})

-- Enhanced character respawn handling
LocalPlayer.CharacterAdded:Connect(function(newCharacter)
    print("DEBUG: Character respawned")
    task.wait(3) -- Wait for character to fully load
    
    -- Re-setup character
    setupCharacter(newCharacter)
    
    -- If we're in the middle of re-execution, teleport back to collection zone
    if getgenv().ShouldReExecute and getgenv().SavedCollectionPos then
        print("DEBUG: Teleporting to saved collection zone after respawn")
        local newRootPart = newCharacter:WaitForChild("HumanoidRootPart")
        
        task.spawn(function()
            task.wait(2)
            if newRootPart and getgenv().SavedCollectionPos then
                tweenTeleport(CFrame.new(getgenv().SavedCollectionPos + Vector3.new(0, 10, 0)), getgenv().speed)
            end
        end)
    end
end)

-- ADDITIONAL RE-EXECUTION CHECK (Multiple methods)
task.spawn(function()
    task.wait(8) -- Wait longer for everything to initialize
    
    print("DEBUG: Secondary re-execution check...")
    print("DEBUG: ShouldReExecute =", getgenv().ShouldReExecute)
    print("DEBUG: AllInOneEnabled =", getgenv().AllInOneEnabled)
    
    if getgenv().ShouldReExecute or getgenv().AllInOneEnabled then
        print("DEBUG: Triggering delayed re-execution...")
        reExecuteScript()
    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

                        while getgenv().AutoLockBase 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

                        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
            getgenv().SavedCollectionPos = collectionZonePosition
            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
})

-- Manual Server Hop Button
MainTab:CreateSection("Server Management")

MainTab:CreateButton({
    Name = "Server Hop & Re-Execute",
    Callback = function()
        Rayfield:Notify({
            Title = "🔄 Manual Server Hop",
            Content = "Hopping and re-executing script...",
            Duration = 3
        })
        
        task.wait(2)
        serverHop()
    end
})

-- Final initialization check for re-execution
task.spawn(function()
    task.wait(10) -- Final check after everything is loaded
    
    if getgenv().AllInOneEnabled and not getgenv().AllInOneMode then
        print("DEBUG: Final check - enabling All In One mode")
        if allInOneToggle then
            allInOneToggle:Set(true)
        else
            getgenv().AllInOneMode = true
        end
    end
end)

-- Loaded notification
Rayfield:Notify({
    Title = "Made By @OriginalTragic",
    Content = "Thanks To @aggot For Teleport Source",
    Duration = 4
})

New Paste


Do not write anything in this field if you're a human.

Go to most recent paste.