Script for
Key Required

Script for

Cali Shootout 💥charlieallen1389charlieallen1389 7.7K views 2.3K executesUpdated Sep 4, 2025
3.3/ 5(3 votes)
2167% Positive
Lua Script•226 lines (7081 chars)
local player = game.Players.LocalPlayer
local uis = game:GetService("UserInputService")
local runService = game:GetService("RunService")
local autoFarmEnabled = false
local correctKey = "admin123"

-- Teleport positions
local firstLocation = Vector3.new(-1409.6813, 4.515, 31.7327)
local secondLocation = Vector3.new(-1384.8696, 3.4075, 23.1454)

-- Key System GUI
local keyGui = Instance.new("ScreenGui")
keyGui.Parent = player:WaitForChild("PlayerGui")

local keyFrame = Instance.new("Frame")
keyFrame.Size = UDim2.new(0, 300, 0, 150)
keyFrame.Position = UDim2.new(0.5, -150, 0.5, -75)
keyFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
keyFrame.AnchorPoint = Vector2.new(0.5, 0.5)
keyFrame.Parent = keyGui
keyFrame.BorderSizePixel = 3 -- thicker border
keyFrame.ClipsDescendants = true

local function makeDraggable(frame)
    local dragging = false
    local dragInput, startPos, startPosFrame

    local function update(input)
        local delta = input.Position - startPos
        frame.Position = UDim2.new(startPosFrame.X.Scale, startPosFrame.X.Offset + delta.X,
                                   startPosFrame.Y.Scale, startPosFrame.Y.Offset + delta.Y)
    end

    frame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            startPos = input.Position
            startPosFrame = frame.Position
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                end
            end)
        end
    end)

    frame.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
            dragInput = input
        end
    end)

    uis.InputChanged:Connect(function(input)
        if input == dragInput and dragging then
            update(input)
        end
    end)
end

makeDraggable(keyFrame)

local keyLabel = Instance.new("TextLabel")
keyLabel.Size = UDim2.new(0, 280, 0, 50)
keyLabel.Position = UDim2.new(0, 10, 0, 10)
keyLabel.Text = "Enter Key:"
keyLabel.BackgroundTransparency = 1
keyLabel.TextColor3 = Color3.fromRGB(255,255,255)
keyLabel.Font = Enum.Font.SourceSansBold
keyLabel.TextSize = 24
keyLabel.Parent = keyFrame

local keyBox = Instance.new("TextBox")
keyBox.Size = UDim2.new(0, 280, 0, 40)
keyBox.Position = UDim2.new(0, 10, 0, 60)
keyBox.PlaceholderText = "Key..."
keyBox.Text = ""
keyBox.ClearTextOnFocus = false
keyBox.Font = Enum.Font.SourceSans
keyBox.TextSize = 20
keyBox.TextColor3 = Color3.fromRGB(255,255,255)
keyBox.BackgroundColor3 = Color3.fromRGB(60,60,60)
keyBox.Parent = keyFrame

local keyButton = Instance.new("TextButton")
keyButton.Size = UDim2.new(0, 280, 0, 30)
keyButton.Position = UDim2.new(0, 10, 0, 110)
keyButton.Text = "Submit"
keyButton.BackgroundColor3 = Color3.fromRGB(100,100,255)
keyButton.TextColor3 = Color3.fromRGB(255,255,255)
keyButton.Font = Enum.Font.SourceSansBold
keyButton.TextSize = 20
keyButton.Parent = keyFrame

-- Main GUI
local mainGui = Instance.new("ScreenGui")
mainGui.Parent = player:WaitForChild("PlayerGui")
mainGui.Enabled = false

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 240, 0, 140)
mainFrame.Position = UDim2.new(0.5, -120, 0.5, -70)
mainFrame.BackgroundColor3 = Color3.fromRGB(45,45,45)
mainFrame.BorderSizePixel = 4 -- thicker border
mainFrame.Parent = mainGui
makeDraggable(mainFrame)

-- Rainbow text label
local rainbowLabel = Instance.new("TextLabel")
rainbowLabel.Size = UDim2.new(1, 0, 0, 30)
rainbowLabel.Position = UDim2.new(0, 0, 0, 0)
rainbowLabel.Text = "Made by Charlie"
rainbowLabel.Font = Enum.Font.SourceSansBold
rainbowLabel.TextSize = 22
rainbowLabel.BackgroundTransparency = 1
rainbowLabel.TextColor3 = Color3.fromRGB(255,0,0)
rainbowLabel.Parent = mainFrame

-- Auto Farm Button
local autoFarmButton = Instance.new("TextButton")
autoFarmButton.Size = UDim2.new(0, 200, 0, 50)
autoFarmButton.Position = UDim2.new(0, 20, 0, 40)
autoFarmButton.Text = "Auto Farm: OFF"
autoFarmButton.BackgroundColor3 = Color3.fromRGB(100,100,255)
autoFarmButton.TextColor3 = Color3.fromRGB(255,255,255)
autoFarmButton.Font = Enum.Font.SourceSansBold
autoFarmButton.TextSize = 20
autoFarmButton.Parent = mainFrame

-- TP to Job Button
local tpJobButton = Instance.new("TextButton")
tpJobButton.Size = UDim2.new(0, 200, 0, 50)
tpJobButton.Position = UDim2.new(0, 20, 0, 95)
tpJobButton.Text = "TP to Job"
tpJobButton.BackgroundColor3 = Color3.fromRGB(100,255,100)
tpJobButton.TextColor3 = Color3.fromRGB(255,255,255)
tpJobButton.Font = Enum.Font.SourceSansBold
tpJobButton.TextSize = 20
tpJobButton.Parent = mainFrame

-- Key system submit
keyButton.MouseButton1Click:Connect(function()
    if keyBox.Text == correctKey then
        keyGui:Destroy()
        mainGui.Enabled = true
    else
        keyBox.Text = ""
        keyBox.PlaceholderText = "Wrong Key!"
    end
end)

-- Functions
local function findGarbage()
    for _, tool in ipairs(player.Backpack:GetChildren()) do
        if tool:IsA("Tool") and tool.Name == "Garbage" then
            return tool
        end
    end
    if player.Character then
        for _, tool in ipairs(player.Character:GetChildren()) do
            if tool:IsA("Tool") and tool.Name == "Garbage" then
                return tool
            end
        end
    end
    return nil
end

local function equipGarbage(tool)
    if player.Character and not player.Character:FindFirstChild(tool.Name) then
        tool.Parent = player.Character
    end
end

local function teleportTo(pos)
    if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
        player.Character.HumanoidRootPart.CFrame = CFrame.new(pos)
    end
end

local function handlePrompt()
    local prompt = workspace:WaitForChild("Job System"):WaitForChild("GarbageJob"):WaitForChild("BOX1"):WaitForChild("ProximityPrompt")
    prompt.HoldDuration = 0.1
    while not prompt.Enabled do
        wait(0.1)
    end
    wait(5)
    fireproximityprompt(prompt)
end

-- Rainbow text effect
spawn(function()
    local colorIndex = 0
    while mainGui.Enabled do
        local hue = (tick() * 0.5) % 1
        rainbowLabel.TextColor3 = Color3.fromHSV(hue, 1, 1)
        wait(0.03)
    end
end)

-- Auto Farm toggle
autoFarmButton.MouseButton1Click:Connect(function()
    autoFarmEnabled = not autoFarmEnabled
    autoFarmButton.Text = autoFarmEnabled and "Auto Farm: ON" or "Auto Farm: OFF"
end)

-- TP to Job button
tpJobButton.MouseButton1Click:Connect(function()
    teleportTo(secondLocation)
end)

-- Auto Farm loop
spawn(function()
    while true do
        if autoFarmEnabled then
            local garbage = findGarbage()
            if garbage then
                equipGarbage(garbage)
                teleportTo(firstLocation)
                wait(1)
                handlePrompt()
                teleportTo(secondLocation)
            end
        end
        wait(0.5)
    end
end)

Features & Information

Box job auto farm, kinda buggy still good. Made by me key=admin123
#Imf money#Auto farm

Community Comments (6)

Mi*ikuCreamMi*ikuCreamSep 4, 2025

Could u add a auto firebutton to the garbage

Replying to @Mi*ikuCream
charlieallen1389charlieallen1389Sep 5, 2025

@MiikuCream wdym

mimaremmimaremSep 5, 2025

please stop ai pasting simple things.. this could've been so much simpler without a million functions, both of those could've been dumbed down to a few lines of code.

Replying to @mimarem
charlieallen1389charlieallen1389Sep 5, 2025

@mimarem idk how to code i used simple spy to get them and ai to code

JDUBJDUBSep 15, 2025

wats the key where do i get it

clancyw098clancyw098Oct 25, 2025

can smb teach me how to use scripts

More Scripts for Cali Shootout 💥