Bring Giftboxs
Key Required

Bring Giftboxs

FNAF TPRR [🎄CHRISTMAS🎁] Masked0sMasked0s 2.3K views 972 executesUpdated Dec 27, 2025
5.0/ 5(5 votes)
50100% Positive
Lua Script•220 lines (6920 chars)
local TARGET_GAME_ID = 114031157005341
local CIRCLE_RADIUS = 5

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")
local StarterGui = game:GetService("StarterGui")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local TeleportService = game:GetService("TeleportService")

local currentPlaceId = game.PlaceId
local player = Players.LocalPlayer

if TARGET_GAME_ID ~= 0 and currentPlaceId ~= TARGET_GAME_ID then
    StarterGui:SetCore("SendNotification", {
        Title = "Teleporting",
        Text = "Joining correct game...",
        Duration = 5
    })
    TeleportService:Teleport(TARGET_GAME_ID, player)
    return
end

if CoreGui:FindFirstChild("GiftBoxGui") then
    CoreGui.GiftBoxGui:Destroy()
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "GiftBoxGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = CoreGui

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 220, 0, 130)
mainFrame.Position = UDim2.new(0.5, -110, 0.5, -65)
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 8)
frameCorner.Parent = mainFrame

local frameStroke = Instance.new("UIStroke")
frameStroke.Color = Color3.fromRGB(45, 45, 55)
frameStroke.Thickness = 1
frameStroke.Parent = mainFrame

local titleBar = Instance.new("Frame")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 30)
titleBar.BackgroundTransparency = 1
titleBar.Parent = mainFrame

local titleLabel = Instance.new("TextLabel")
titleLabel.Name = "Title"
titleLabel.Size = UDim2.new(1, -20, 1, 0)
titleLabel.Position = UDim2.new(0, 10, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "GiftBox Collector"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Font = Enum.Font.GothamMedium
titleLabel.TextSize = 13
titleLabel.Parent = titleBar

local divider = Instance.new("Frame")
divider.Name = "Divider"
divider.Size = UDim2.new(1, 0, 0, 1)
divider.Position = UDim2.new(0, 0, 1, 0)
divider.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
divider.BorderSizePixel = 0
divider.Parent = titleBar

local statusLabel = Instance.new("TextLabel")
statusLabel.Name = "Status"
statusLabel.Size = UDim2.new(1, -20, 0, 20)
statusLabel.Position = UDim2.new(0, 10, 0, 45)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "Status: Idle"
statusLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
statusLabel.TextXAlignment = Enum.TextXAlignment.Left
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 12
statusLabel.Parent = mainFrame

local collectButton = Instance.new("TextButton")
collectButton.Name = "ExecuteButton"
collectButton.Size = UDim2.new(1, -20, 0, 34)
collectButton.Position = UDim2.new(0, 10, 0, 78)
collectButton.BackgroundColor3 = Color3.fromRGB(75, 110, 220)
collectButton.AutoButtonColor = false
collectButton.BorderSizePixel = 0
collectButton.Text = "Collect"
collectButton.TextColor3 = Color3.fromRGB(255, 255, 255)
collectButton.Font = Enum.Font.GothamMedium
collectButton.TextSize = 13
collectButton.Parent = mainFrame

local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 6)
buttonCorner.Parent = collectButton

local dragging = false
local dragStart
local startPos

titleBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPos = mainFrame.Position
    end
end)

titleBar.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = false
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
        local delta = input.Position - dragStart
        mainFrame.Position = UDim2.new(
            startPos.X.Scale,
            startPos.X.Offset + delta.X,
            startPos.Y.Scale,
            startPos.Y.Offset + delta.Y
        )
    end
end)

local function tweenColor(obj, color)
    TweenService:Create(obj, TweenInfo.new(0.2), {BackgroundColor3 = color}):Play()
end

local function updateStatus(text, color)
    statusLabel.Text = "Status: " .. text
    statusLabel.TextColor3 = color or Color3.fromRGB(150, 150, 150)
end

local function collectGiftBoxes()
    collectButton.Text = "Working..."
    tweenColor(collectButton, Color3.fromRGB(45, 45, 55))

    updateStatus("Setting prompts...", Color3.fromRGB(220, 180, 80))

    for _, thing in ipairs(Workspace:GetDescendants()) do
        if thing.ClassName == "ProximityPrompt" then
            thing.HoldDuration = 0
        end
    end

    task.wait(0.5)

    local character = player.Character or player.CharacterAdded:Wait()
    local root = character:WaitForChild("HumanoidRootPart")
    local playerPos = root.Position

    updateStatus("Finding boxes...", Color3.fromRGB(80, 180, 220))

    local giftBoxes = {}
    for _, obj in ipairs(Workspace:GetDescendants()) do
        if obj:IsA("Model") and obj.Name == "GiftBox" then
            table.insert(giftBoxes, obj)
        end
    end

    if #giftBoxes == 0 then
        updateStatus("No boxes found", Color3.fromRGB(220, 80, 80))
        collectButton.Text = "Collect"
        tweenColor(collectButton, Color3.fromRGB(75, 110, 220))
        return
    end

    updateStatus("Moving " .. #giftBoxes .. " boxes...", Color3.fromRGB(80, 220, 80))

    for i, box in ipairs(giftBoxes) do
        local angle = (i - 1) * (2 * math.pi / #giftBoxes)
        local offset = Vector3.new(
            math.cos(angle) * CIRCLE_RADIUS,
            0,
            math.sin(angle) * CIRCLE_RADIUS
        )

        local targetCFrame = CFrame.new(playerPos + offset)

        if box.PrimaryPart then
            box:SetPrimaryPartCFrame(targetCFrame)
        else
            for _, part in ipairs(box:GetChildren()) do
                if part:IsA("BasePart") then
                    part.CFrame = targetCFrame
                    break
                end
            end
        end
    end

    updateStatus("Done (" .. #giftBoxes .. " boxes)", Color3.fromRGB(80, 220, 80))
    collectButton.Text = "Collect"
    tweenColor(collectButton, Color3.fromRGB(75, 110, 220))
end

collectButton.MouseButton1Click:Connect(collectGiftBoxes)

collectButton.MouseEnter:Connect(function()
    if collectButton.Text ~= "Working..." then
        tweenColor(collectButton, Color3.fromRGB(85, 125, 240))
    end
end)

collectButton.MouseLeave:Connect(function()
    if collectButton.Text ~= "Working..." then
        tweenColor(collectButton, Color3.fromRGB(75, 110, 220))
    end
end)

Features & Information

Still Works: 6/25/26 Kind of an Improved Version of BinaryZero's Script Original: DELETED
#FNAF TPRR#FNAF TPRR KEYLESS#FAST#OP

Community Comments (5)

SCRIPTER_67676900SCRIPTER_67676900Dec 27, 2025

Good script and it works well, but it would be even better if it had a simple GUI and a map ID check to avoid running in the wrong place

Replying to @SCRIPTER_67676900
Masked0sMasked0sDec 27, 2025

@SCRIPTER_67676900 Alr

BukashhhBukashhhDec 29, 2025

Not working dude,It says "Wrong game dude,little fish

Replying to @Bukashhh
Masked0sMasked0sDec 29, 2025

@Bukashhh Did you go into Fnaf SOTM?

The ui changed its not on left side screen its on middle now