Pastebin

Paste #38899: 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 LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local RootPart = Character:WaitForChild("HumanoidRootPart")

getgenv().speed = 200
getgenv().AutoLockBase = false

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

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

MainTab:CreateSection("Radioactive Foxy Steal")
local collectionZonePosition = nil

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

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

local 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
})

-- Automatically enable Auto Lock Base toggle on script start
autoLockToggle:Set(true) -- This sets toggle to ON and triggers the callback

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

New Paste


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

Go to most recent paste.