Throw Food For Animals Script | ShrakBlox (Perfect Throw, Open Source) 209 124 No Key

Throw Food For Animals Script | ShrakBlox (Perfect Throw, Open Source)

Throw Food For Animals · Roblox
Play
No key Mobile friendly Working · Nov 4
Report

Description

ShrakBlox Perfect Throw is a Throw Food For Animals script you can run in Delta on Android, iOS or PC. It includes perfect throw and more. It is open source and shows a Discord invite popup when it loads. Created by ShrakBlox. No key.

Key Features

  • Perfect Throw: locks the throw meter on every throw
  • Run it again to turn it off

Distance is the whole game in Throw Food For Animals. The further your food lands, the rarer the animals it pulls in. The ShrakBlox Throw Food For Animals script does exactly one job: it makes the throw meter land in the perfect spot on every throw.

What actually changes

The script wraps the game’s ThrowMeter controller. Each time the meter runs, it gets locked and auto-tapped at the sweet spot, then the original value is restored. You still pick the food, aim and throw. The timing just stops being your problem.

Turning it on and off

  1. Copy the whole code box. It isn’t a one-line loader but the full open-source script.
  2. Run it once your character has spawned. Delta is the main pick, and the listing also names Arceus X, Codex, Fluxus and computer executors.
  3. A card with ShrakBlox’s Discord invite slides in. Copy the link or close it.
  4. To stop perfect throws, run the same script again. The second run restores the original meter.

Things worth knowing

  • No key. The chip and the code agree.
  • On PC, the script also pings the Discord desktop app on your machine (127.0.0.1:6463) to pop up the invite.
  • It loads ScriptBlox’s analytics module. That reports a hashed user ID, your executor name and version, platform and place ID, then sends a heartbeat every five minutes. If that bothers you, delete the line containing scriptblox.com/ingest before running. Perfect Throw doesn’t need it.

Questions players ask

Does it farm or sell for me? No. It’s only the throw. For auto farm and auto buy, the game page has five other hubs (Symbiote, Mystrix, CM Hub, Tora Isme and Ouroboros).

Does it make my throws longer? It makes them perfect. Raw distance still comes from your food and your Throw Power.

Distance tip: perfect timing makes Throw Power the only limit left, so put your sessions into the pull-up stands. Each training gain now turns straight into distance, and the stronger, rarer animals of the next area come into reach.

Tested With
DeltaCodexArceus XFluxusPC executors
Script CodeShrakBlox Perfect Throw (ShrakBlox)
local environment = getgenv()
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local HttpService = game:GetService("HttpService")
local player = Players.LocalPlayer
local inviteCode = "hEbP6rWKy2"
local invite = "https://discord.gg/" .. inviteCode

task.spawn(function()
    pcall(function()
        local sendRequest = type(request) == "function" and request
            or type(http_request) == "function" and http_request
            or type(syn) == "table" and type(syn.request) == "function" and syn.request
            or type(http) == "table" and type(http.request) == "function" and http.request
        if not sendRequest then
            return
        end
        sendRequest({
            Url = "http://127.0.0.1:6463/rpc?v=1",
            Method = "POST",
            Headers = {
                ["Content-Type"] = "application/json",
                Origin = "https://discord.com",
            },
            Body = HttpService:JSONEncode({
                cmd = "INVITE_BROWSER",
                nonce = HttpService:GenerateGUID(false),
                args = {code = inviteCode},
            }),
        })
    end)
end)

local function showInvitePopup()
    local previous = environment.ThrowFoodDiscordPopup
    if type(previous) == "table" and type(previous.Destroy) == "function" then
        previous.Destroy()
    end

    local popup = {Active = true, Closing = false}
    local connections = {}
    local tweens = {}
    local theme = {
        Panel = Color3.fromRGB(24, 24, 24),
        Field = Color3.fromRGB(17, 17, 17),
        Border = Color3.fromRGB(44, 44, 44),
        Text = Color3.fromRGB(242, 242, 242),
        Muted = Color3.fromRGB(174, 174, 174),
        Copy = Color3.fromRGB(230, 230, 230),
        CopyHover = Color3.fromRGB(250, 250, 250),
        Close = Color3.fromRGB(36, 36, 36),
    }
    local font = Font.new("rbxasset://fonts/families/BuilderSans.json")
    local medium = Font.new(font.Family, Enum.FontWeight.Medium)

    local function create(className, properties, children)
        local instance = Instance.new(className)
        for key, value in pairs(properties) do
            instance[key] = value
        end
        for _, child in ipairs(children or {}) do
            child.Parent = instance
        end
        return instance
    end

    local function corner(radius)
        return create("UICorner", {CornerRadius = UDim.new(0, radius)})
    end

    local function stroke()
        return create("UIStroke", {Color = theme.Border, Thickness = 1,
            LineJoinMode = Enum.LineJoinMode.Round, ApplyStrokeMode = Enum.ApplyStrokeMode.Border})
    end

    local function connect(signal, callback)
        table.insert(connections, signal:Connect(callback))
    end

    local function animate(instance, properties, duration, channel)
        if not popup.Active then
            return
        end
        channel = channel or "interaction"
        local channels = tweens[instance] or {}
        tweens[instance] = channels
        if channels[channel] then
            channels[channel]:Cancel()
        end
        local tween = TweenService:Create(instance, TweenInfo.new(duration,
            Enum.EasingStyle.Quart, Enum.EasingDirection.Out), properties)
        channels[channel] = tween
        tween:Play()
    end

    local function cancelTweens()
        for _, channels in pairs(tweens) do
            for _, tween in pairs(channels) do
                tween:Cancel()
            end
        end
        table.clear(tweens)
    end

    local playerGui = player:WaitForChild("PlayerGui")
    local orphan = playerGui:FindFirstChild("ThrowFoodDiscordInvite")
    if orphan then
        orphan:Destroy()
    end

    local gui = create("ScreenGui", {Name = "ThrowFoodDiscordInvite", ResetOnSpawn = false,
        IgnoreGuiInset = true, DisplayOrder = 1800, ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
        Parent = playerGui})
    local backdrop = create("TextButton", {Name = "Backdrop", Text = "", AutoButtonColor = false,
        Modal = true, Size = UDim2.fromScale(1, 1), BackgroundColor3 = Color3.new(),
        BackgroundTransparency = 1, BorderSizePixel = 0, ZIndex = 1, Parent = gui})
    local root = create("Frame", {Name = "Popup", AnchorPoint = Vector2.new(0.5, 0.5),
        Size = UDim2.fromOffset(428, 148), BackgroundTransparency = 1, ZIndex = 2, Parent = gui})
    local responsiveScale = create("UIScale", {Parent = root})
    local shadow = create("Frame", {Name = "Shadow", BackgroundColor3 = Color3.new(),
        BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.fromOffset(4, 7),
        Size = UDim2.fromOffset(420, 140), ZIndex = 2, Parent = root}, {corner(12)})
    local cardBorder = stroke()
    local card = create("Frame", {Name = "Invite", BackgroundColor3 = theme.Panel, BorderSizePixel = 0,
        Position = UDim2.fromOffset(4, 4), Size = UDim2.fromOffset(420, 140), ZIndex = 3,
        Parent = root}, {corner(12), cardBorder})
    local title = create("TextLabel", {Name = "Title", BackgroundTransparency = 1, Text = "Join discord?",
        FontFace = medium, TextSize = 20, TextColor3 = theme.Text,
        TextXAlignment = Enum.TextXAlignment.Left, Position = UDim2.fromOffset(24, 22),
        Size = UDim2.new(1, -80, 0, 24), ZIndex = 4, Parent = card})
    local close = create("TextButton", {Name = "Close", Text = "", AutoButtonColor = false,
        BackgroundColor3 = theme.Panel, BorderSizePixel = 0,
        Position = UDim2.new(1, -42, 0, 20), Size = UDim2.fromOffset(24, 24), ZIndex = 5,
        Parent = card}, {corner(6)})
    local closeLines = {}
    for _, rotation in ipairs({45, -45}) do
        table.insert(closeLines, create("Frame", {AnchorPoint = Vector2.new(0.5, 0.5),
            Position = UDim2.fromScale(0.5, 0.5), Size = UDim2.fromOffset(12, 1),
            BackgroundColor3 = theme.Muted, BorderSizePixel = 0, Rotation = rotation,
            ZIndex = 6, Parent = close}))
    end
    local fieldBorder = stroke()
    local field = create("Frame", {Name = "LinkField", BackgroundColor3 = theme.Field,
        BorderSizePixel = 0, Position = UDim2.fromOffset(24, 66), Size = UDim2.new(1, -48, 0, 46),
        ZIndex = 4, Parent = card}, {corner(8), fieldBorder})
    local link = create("TextBox", {Name = "InviteLink", Text = invite, ClearTextOnFocus = false,
        TextEditable = false, BackgroundTransparency = 1, FontFace = font, TextSize = 14,
        TextXAlignment = Enum.TextXAlignment.Left, TextColor3 = theme.Muted,
        Position = UDim2.fromOffset(14, 0), Size = UDim2.new(1, -112, 1, 0), ZIndex = 5, Parent = field})
    local copy = create("TextButton", {Name = "CopyInvite", Text = "Copy", FontFace = medium,
        TextSize = 14, TextColor3 = theme.Panel, AutoButtonColor = false, BackgroundColor3 = theme.Copy,
        BorderSizePixel = 0, Position = UDim2.new(1, -84, 0, 6), Size = UDim2.fromOffset(78, 34),
        ZIndex = 5, Parent = field}, {corner(7)})
    local fadeTargets = {
        [card] = {BackgroundTransparency = 0},
        [shadow] = {BackgroundTransparency = 0.65},
        [cardBorder] = {Transparency = 0},
        [title] = {TextTransparency = 0},
        [field] = {BackgroundTransparency = 0},
        [fieldBorder] = {Transparency = 0},
        [link] = {TextTransparency = 0},
        [copy] = {BackgroundTransparency = 0, TextTransparency = 0},
        [close] = {BackgroundTransparency = 0},
    }
    for _, line in ipairs(closeLines) do
        fadeTargets[line] = {BackgroundTransparency = 0}
    end
    for instance, properties in pairs(fadeTargets) do
        for property in pairs(properties) do
            instance[property] = 1
        end
    end

    local function fade(hidden, duration)
        for instance, properties in pairs(fadeTargets) do
            local target = {}
            for property, value in pairs(properties) do
                target[property] = hidden and 1 or value
            end
            animate(instance, target, duration, "visibility")
        end
    end

    local function center(offset)
        local viewport = gui.AbsoluteSize
        return UDim2.fromOffset(math.floor(viewport.X / 2), math.floor(viewport.Y / 2) + offset)
    end

    local function resize()
        local viewport = gui.AbsoluteSize
        responsiveScale.Scale = math.clamp(math.min((viewport.X - 32) / 428, (viewport.Y - 32) / 148), 0.3, 1)
        if not popup.Closing then
            animate(root, {Position = center(0)}, 0.18, "motion")
        end
    end

    function popup.Destroy()
        if not popup.Active then
            return
        end
        popup.Active = false
        popup.Destroyed = true
        for _, connection in ipairs(connections) do
            connection:Disconnect()
        end
        cancelTweens()
        table.clear(connections)
        gui:Destroy()
        if environment.ThrowFoodDiscordPopup == popup then
            environment.ThrowFoodDiscordPopup = nil
        end
    end

    function popup.Close()
        if not popup.Active or popup.Closing then
            return
        end
        popup.Closing = true
        cancelTweens()
        fade(true, 0.16)
        animate(root, {Position = center(6)}, 0.16, "motion")
        animate(backdrop, {BackgroundTransparency = 1}, 0.16, "visibility")
        task.delay(0.17, popup.Destroy)
    end

    local copyVersion = 0
    local copyHovered = false
    connect(copy.Activated, function()
        if popup.Closing then
            return
        end
        local clipboard = type(setclipboard) == "function" and setclipboard or type(toclipboard) == "function" and toclipboard
        local ok = clipboard and pcall(clipboard, invite)
        copyVersion += 1
        local version = copyVersion
        if ok then
            copy.Text = "Copied"
            animate(copy, {BackgroundColor3 = Color3.fromRGB(195, 195, 195)}, 0.08)
        else
            link:CaptureFocus()
            link.SelectionStart = 1
            link.CursorPosition = #invite + 1
        end
        task.delay(0.12, function()
            if popup.Active and not popup.Closing and copyVersion == version then
                animate(copy, {BackgroundColor3 = copyHovered and theme.CopyHover or theme.Copy}, 0.18)
            end
        end)
        task.delay(1.5, function()
            if popup.Active and not popup.Closing and copyVersion == version then
                copy.Text = "Copy"
            end
        end)
    end)
    connect(close.Activated, popup.Close)
    connect(copy.MouseEnter, function()
        copyHovered = true
        if not popup.Closing then
            animate(copy, {BackgroundColor3 = theme.CopyHover}, 0.12)
        end
    end)
    connect(copy.MouseLeave, function()
        copyHovered = false
        if not popup.Closing then
            animate(copy, {BackgroundColor3 = theme.Copy}, 0.12)
        end
    end)
    connect(close.MouseEnter, function()
        if popup.Closing then return end
        animate(close, {BackgroundColor3 = theme.Close}, 0.12)
        for _, line in ipairs(closeLines) do
            animate(line, {BackgroundColor3 = theme.Text}, 0.12)
        end
    end)
    connect(close.MouseLeave, function()
        if popup.Closing then return end
        animate(close, {BackgroundColor3 = theme.Panel}, 0.12)
        for _, line in ipairs(closeLines) do
            animate(line, {BackgroundColor3 = theme.Muted}, 0.12)
        end
    end)
    connect(gui:GetPropertyChangedSignal("AbsoluteSize"), resize)
    connect(gui:GetPropertyChangedSignal("Enabled"), function()
        if popup.Active and not gui.Enabled then
            gui.Enabled = true
        end
    end)
    connect(gui.Destroying, popup.Destroy)

    environment.ThrowFoodDiscordPopup = popup
    popup.UI = {Screen = gui, Card = card, Copy = copy, Close = close, Invite = link, Title = title, Root = root}
    local viewport = gui.AbsoluteSize
    responsiveScale.Scale = math.clamp(math.min((viewport.X - 32) / 428, (viewport.Y - 32) / 148), 0.3, 1)
    root.Position = center(8)
    fade(false, 0.24)
    animate(root, {Position = center(0)}, 0.32, "motion")
    animate(backdrop, {BackgroundTransparency = 0.6}, 0.24, "visibility")
    return popup
end

pcall(function() loadstring(game:HttpGet("https://scriptblox.com/ingest/clientv2.lua"))("proj_c44378984b4d", "1.0.0", false) end)

local popup = showInvitePopup()
environment.ThrowFoodFeatures = environment.ThrowFoodFeatures or {}
local features = environment.ThrowFoodFeatures
if features.PerfectThrow then
    features.PerfectThrow:Stop()
    return popup
end

local controllers = player:WaitForChild("PlayerScripts"):WaitForChild("Client"):WaitForChild("Controllers")
local meter = require(controllers:WaitForChild("ThrowMeter"))
local original = meter.Run
local feature = {Enabled = true, Status = "Enabled"}
local wrapper

function feature:Stop()
    if not self.Enabled then
        return
    end
    self.Enabled = false
    self.Status = "Stopped"
    if meter.Run == wrapper then
        meter.Run = original
    end
    if features.PerfectThrow == self then
        features.PerfectThrow = nil
    end
end

wrapper = function(instance, ...)
    if not feature.Enabled then
        return original(instance, ...)
    end
    local previousTap = meter.TestAutoTap
    meter.TestAutoTap = 0.6
    instance:SetLocked(true)
    local result = table.pack(pcall(original, instance, ...))
    if meter.TestAutoTap == 0.6 then
        meter.TestAutoTap = previousTap
    end
    if not result[1] then
        error(result[2], 0)
    end
    return table.unpack(result, 2, result.n)
end

meter.Run = wrapper
features.PerfectThrow = feature
return feature
Game pageThrow Food For Animals · 6 scripts on this siteRoblox ›

More Throw Food For Animals scripts

See all
Get Delta Script first on GoogleAdd us as a preferred source to see our new scripts in your Google results.
Add Delta Script on Google

Leave a Reply

Your email address will not be published. Required fields are marked *