Auto Generate Infinity Cashes [WORK|KEYLESS]
Key Required

Auto Generate Infinity Cashes [WORK|KEYLESS]

Fix And Defend Thingzobbymasteroftimeobbymasteroftime 1.2K views 24 executesUpdated Jan 1, 2026
2.5/ 5(2 votes)
1150% Positive
Lua Script•872 lines (34491 chars)
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local GuiService = game:GetService("GuiService")

local player = Players.LocalPlayer
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player:WaitForChild("PlayerGui")
screenGui.Name = "CashInserterUI"
screenGui.IgnoreGuiInset = true
screenGui.ResetOnSpawn = false

local function createFrame(parent, name, size, position, anchorPoint, backgroundColor, transparency, visible)
    local frame = Instance.new("Frame")
    frame.Name = name
    frame.Size = size or UDim2.new(0, 100, 0, 100)
    frame.Position = position or UDim2.new(0.5, 0, 0.5, 0)
    frame.AnchorPoint = anchorPoint or Vector2.new(0.5, 0.5)
    frame.BackgroundColor3 = backgroundColor or Color3.fromRGB(30, 30, 30)
    frame.BackgroundTransparency = transparency or 0
    frame.Visible = visible or true
    frame.Parent = parent
    return frame
end

local function createUICorner(parent, radius)
    local uiCorner = Instance.new("UICorner")
    uiCorner.CornerRadius = UDim.new(0, radius or 8)
    uiCorner.Parent = parent
    return uiCorner
end

local function createUIStroke(parent, color, transparency, thickness, applyToDescendants)
    local uiStroke = Instance.new("UIStroke")
    uiStroke.Color = color or Color3.fromRGB(255, 255, 255)
    uiStroke.Transparency = transparency or 0.5
    uiStroke.Thickness = thickness or 1
    uiStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
    if applyToDescendants then
        uiStroke.Parent = parent
        for _, child in ipairs(parent:GetChildren()) do
            if child:IsA("GuiObject") then
                createUIStroke(child, color, transparency, thickness)
            end
        end
    else
        uiStroke.Parent = parent
    end
    return uiStroke
end

local function createUIGradient(parent, colorSequence, rotation, transparency)
    local uiGradient = Instance.new("UIGradient")
    uiGradient.Color = colorSequence or ColorSequence.new(Color3.fromRGB(0, 0, 0), Color3.fromRGB(255, 255, 255))
    uiGradient.Rotation = rotation or 0
    uiGradient.Transparency = NumberSequence.new(transparency or 0)
    uiGradient.Parent = parent
    return uiGradient
end

local function createTextLabel(parent, name, text, size, position, textColor, font, textSize, transparency, visible)
    local label = Instance.new("TextLabel")
    label.Name = name
    label.Text = text or "Label"
    label.Size = size or UDim2.new(1, 0, 0, 30)
    label.Position = position or UDim2.new(0, 0, 0, 0)
    label.TextColor3 = textColor or Color3.fromRGB(255, 255, 255)
    label.Font = font or Enum.Font.SourceSansBold
    label.TextSize = textSize or 18
    label.BackgroundTransparency = 1
    label.TextTransparency = transparency or 0
    label.Visible = visible or true
    label.Parent = parent
    return label
end

local function createTextButton(parent, name, text, size, position, backgroundColor, textColor, font, textSize)
    local button = Instance.new("TextButton")
    button.Name = name
    button.Text = text or "Button"
    button.Size = size or UDim2.new(0, 150, 0, 50)
    button.Position = position or UDim2.new(0.5, 0, 0.5, 0)
    button.AnchorPoint = Vector2.new(0.5, 0.5)
    button.BackgroundColor3 = backgroundColor or Color3.fromRGB(50, 50, 50)
    button.TextColor3 = textColor or Color3.fromRGB(255, 255, 255)
    button.Font = font or Enum.Font.SourceSansBold
    button.TextSize = textSize or 20
    button.AutoButtonColor = false
    button.Parent = parent
    createUICorner(button, 12)
    createUIStroke(button, Color3.fromRGB(100, 100, 100), 0.3, 2)
    createUIGradient(button, ColorSequence.new(Color3.fromRGB(60, 60, 60), Color3.fromRGB(30, 30, 30)), 90)
    return button
end

local function createTextBox(parent, name, placeholder, size, position, textColor, backgroundColor, font, textSize)
    local textBox = Instance.new("TextBox")
    textBox.Name = name
    textBox.PlaceholderText = placeholder or "Enter value"
    textBox.Size = size or UDim2.new(0, 100, 0, 30)
    textBox.Position = position or UDim2.new(0, 0, 0, 0)
    textBox.TextColor3 = textColor or Color3.fromRGB(255, 255, 255)
    textBox.BackgroundColor3 = backgroundColor or Color3.fromRGB(40, 40, 40)
    textBox.Font = font or Enum.Font.SourceSans
    textBox.TextSize = textSize or 16
    textBox.Parent = parent
    createUICorner(textBox, 6)
    createUIStroke(textBox, Color3.fromRGB(80, 80, 80), 0.4, 1)
    return textBox
end

local function createSlider(parent, name, size, position, minValue, maxValue, defaultValue)
    local sliderFrame = createFrame(parent, name, size or UDim2.new(1, 0, 0, 20), position)
    sliderFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
    createUICorner(sliderFrame, 10)
    
    local fill = createFrame(sliderFrame, "Fill", UDim2.new(0, 0, 1, 0), UDim2.new(0, 0, 0, 0))
    fill.BackgroundColor3 = Color3.fromRGB(100, 200, 100)
    createUICorner(fill, 10)
    
    local knob = createFrame(sliderFrame, "Knob", UDim2.new(0, 20, 0, 20), UDim2.new(0, 0, 0.5, 0))
    knob.AnchorPoint = Vector2.new(0, 0.5)
    knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    createUICorner(knob, 10)
    createUIStroke(knob, Color3.fromRGB(0, 0, 0), 0.2, 1)
    
    local value = defaultValue or minValue
    local function updateKnob(pos)
        local relative = math.clamp((pos.X - sliderFrame.AbsolutePosition.X) / sliderFrame.AbsoluteSize.X, 0, 1)
        value = minValue + (maxValue - minValue) * relative
        knob.Position = UDim2.new(relative, -10, 0.5, 0)
        fill.Size = UDim2.new(relative, 0, 1, 0)
        return value
    end
    
    knob.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            local connection
            connection = UserInputService.InputChanged:Connect(function(inputChanged)
                if inputChanged.UserInputType == Enum.UserInputType.MouseMovement or inputChanged.UserInputType == Enum.UserInputType.Touch then
                    updateKnob(inputChanged.Position)
                end
            end)
            input.InputEnded:Connect(function()
                if connection then connection:Disconnect() end
            end)
        end
    end)
    
    sliderFrame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            updateKnob(input.Position)
            local connection
            connection = UserInputService.InputChanged:Connect(function(inputChanged)
                if inputChanged.UserInputType == Enum.UserInputType.MouseMovement or inputChanged.UserInputType == Enum.UserInputType.Touch then
                    updateKnob(inputChanged.Position)
                end
            end)
            input.InputEnded:Connect(function()
                if connection then connection:Disconnect() end
            end)
        end
    end)
    
    updateKnob(Vector2.new(sliderFrame.AbsolutePosition.X + (defaultValue - minValue) / (maxValue - minValue) * sliderFrame.AbsoluteSize.X, 0))
    
    return sliderFrame, function() return value end
end

local function tweenObject(object, properties, tweenInfo)
    local tween = TweenService:Create(object, tweenInfo or TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), properties)
    tween:Play()
    return tween
end

local function tweenGradient(gradient, properties, tweenInfo)
    local tween = TweenService:Create(gradient, tweenInfo or TweenInfo.new(0.5, Enum.EasingStyle.Sine), properties)
    tween:Play()
    return tween
end

local function tweenStroke(stroke, properties, tweenInfo)
    local tween = TweenService:Create(stroke, tweenInfo or TweenInfo.new(0.4, Enum.EasingStyle.Quad), properties)
    tween:Play()
    return tween
end

local function setupButtonEffects(button, hoverColor, clickColor, normalColor, hoverScale, clickScale)
    local originalSize = button.Size
    local originalColor = button.BackgroundColor3
    local gradient = button:FindFirstChildOfClass("UIGradient")
    local stroke = button:FindFirstChildOfClass("UIStroke")
    
    button.MouseEnter:Connect(function()
        tweenObject(button, {BackgroundColor3 = hoverColor or Color3.fromRGB(70, 70, 70), Size = originalSize * (hoverScale or 1.05)})
        if gradient then
            tweenGradient(gradient, {Rotation = gradient.Rotation + 45})
        end
        if stroke then
            tweenStroke(stroke, {Transparency = 0.2})
        end
    end)
    
    button.MouseLeave:Connect(function()
        tweenObject(button, {BackgroundColor3 = normalColor or originalColor, Size = originalSize})
        if gradient then
            tweenGradient(gradient, {Rotation = gradient.Rotation - 45})
        end
        if stroke then
            tweenStroke(stroke, {Transparency = 0.5})
        end
    end)
    
    button.MouseButton1Down:Connect(function()
        tweenObject(button, {BackgroundColor3 = clickColor or Color3.fromRGB(40, 40, 40), Size = originalSize * (clickScale or 0.95)})
        if stroke then
            tweenStroke(stroke, {Color = Color3.fromRGB(255, 0, 0), Transparency = 0})
        end
    end)
    
    button.MouseButton1Up:Connect(function()
        tweenObject(button, {BackgroundColor3 = hoverColor or Color3.fromRGB(70, 70, 70), Size = originalSize * (hoverScale or 1.05)})
        if stroke then
            tweenStroke(stroke, {Color = Color3.fromRGB(100, 100, 100), Transparency = 0.2})
        end
    end)
end

local function setupTextBoxEffects(textBox, focusColor, unfocusColor)
    local originalColor = textBox.BackgroundColor3
    local stroke = textBox:FindFirstChildOfClass("UIStroke")
    
    textBox.Focused:Connect(function()
        tweenObject(textBox, {BackgroundColor3 = focusColor or Color3.fromRGB(60, 60, 60)})
        if stroke then
            tweenStroke(stroke, {Transparency = 0, Color = Color3.fromRGB(0, 255, 0)})
        end
    end)
    
    textBox.FocusLost:Connect(function()
        tweenObject(textBox, {BackgroundColor3 = unfocusColor or originalColor})
        if stroke then
            tweenStroke(stroke, {Transparency = 0.4, Color = Color3.fromRGB(80, 80, 80)})
        end
    end)
end

local function setupLabelEffects(label, changeColor)
    local originalColor = label.TextColor3
    
    label:GetPropertyChangedSignal("Text"):Connect(function()
        tweenObject(label, {TextColor3 = changeColor or Color3.fromRGB(255, 200, 0)})
        wait(0.5)
        tweenObject(label, {TextColor3 = originalColor})
    end)
end

local function createToggleButton(parent, name, textShow, textHide, size, position, callbackShow, callbackHide)
    local button = createTextButton(parent, name, textShow, size, position)
    local isShown = false
    setupButtonEffects(button)
    
    button.MouseButton1Click:Connect(function()
        isShown = not isShown
        if isShown then
            button.Text = textHide
            tweenObject(button, {BackgroundColor3 = Color3.fromRGB(200, 50, 50)})
            if callbackShow then callbackShow() end
        else
            button.Text = textShow
            tweenObject(button, {BackgroundColor3 = Color3.fromRGB(50, 50, 50)})
            if callbackHide then callbackHide() end
        end
    end)
    return button
end

local mainFrame = createFrame(screenGui, "MainFrame", UDim2.new(0.8, 0, 0.8, 0), UDim2.new(0.5, 0, 1.2, 0), Vector2.new(0.5, 0.5), Color3.fromRGB(25, 25, 25), 0, false)
createUICorner(mainFrame, 15)
createUIStroke(mainFrame, Color3.fromRGB(50, 50, 50), 0.2, 3, true)
createUIGradient(mainFrame, ColorSequence.new(Color3.fromRGB(40, 40, 40), Color3.fromRGB(10, 10, 10)), 45)

local titleLabel = createTextLabel(mainFrame, "Title", "Insert Cash Tester", UDim2.new(1, 0, 0, 50), UDim2.new(0, 0, 0, 10), Color3.fromRGB(255, 255, 255), Enum.Font.GothamBold, 28)
setupLabelEffects(titleLabel)

local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Parent = mainFrame
uiListLayout.Padding = UDim.new(0, 10)
uiListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
uiListLayout.SortOrder = Enum.SortOrder.LayoutOrder

local toggleButton = createToggleButton(screenGui, "ToggleUI", "Show", "Hide", UDim2.new(0, 100, 0, 40), UDim2.new(1, -20, 0, 20), Vector2.new(1, 0))
toggleButton.AnchorPoint = Vector2.new(1, 0)
setupButtonEffects(toggleButton, Color3.fromRGB(80, 80, 80), Color3.fromRGB(30, 30, 30), nil, 1.1, 0.9)

local function showMainFrame()
    tweenObject(mainFrame, {Position = UDim2.new(0.5, 0, 0.5, 0), BackgroundTransparency = 0})
    for _, child in ipairs(mainFrame:GetChildren()) do
        if child:IsA("GuiObject") then
            tweenObject(child, {Transparency = 0})
        end
    end
    mainFrame.Visible = true
end

local function hideMainFrame()
    tweenObject(mainFrame, {Position = UDim2.new(0.5, 0, 1.2, 0), BackgroundTransparency = 1})
    for _, child in ipairs(mainFrame:GetChildren()) do
        if child:IsA("GuiObject") then
            tweenObject(child, {Transparency = 1})
        end
    end
    task.delay(0.5, function() mainFrame.Visible = false end)
end

toggleButton.MouseButton1Click:Connect(function()
    if toggleButton.Text == "Hide" then
        showMainFrame()
    else
        hideMainFrame()
    end
end)

local isCashing = false
local cashDelay = 0.1
local cashPerFire = 10  -- Estimated, as per user
local attackersRemote = ReplicatedStorage:WaitForChild("Attackers")

local function fireCashEvent()
    attackersRemote:FireServer("Stalker", "Default", "Devolute")
end

local cashLoop
cashLoop = RunService.Heartbeat:Connect(function()
    if isCashing then
        fireCashEvent()
        task.wait(cashDelay)
    end
end)

local startButton = createTextButton(mainFrame, "StartButton", "Start", UDim2.new(0.6, 0, 0, 60), UDim2.new(0.5, 0, 0.3, 0))
setupButtonEffects(startButton, Color3.fromRGB(100, 255, 100), Color3.fromRGB(50, 150, 50), Color3.fromRGB(50, 200, 50), 1.05, 0.95)

startButton.MouseButton1Click:Connect(function()
    isCashing = not isCashing
    if isCashing then
        startButton.Text = "Stop"
        tweenObject(startButton, {BackgroundColor3 = Color3.fromRGB(255, 50, 50)})
    else
        startButton.Text = "Start"
        tweenObject(startButton, {BackgroundColor3 = Color3.fromRGB(50, 200, 50)})
    end
end)

local speedFrame = createFrame(mainFrame, "SpeedFrame", UDim2.new(0.8, 0, 0, 100))
local speedLabel = createTextLabel(speedFrame, "SpeedLabel", "Speed: 0.1s", UDim2.new(1, 0, 0.3, 0), UDim2.new(0, 0, 0, 0))
setupLabelEffects(speedLabel)

local slider, getSliderValue = createSlider(speedFrame, "SpeedSlider", UDim2.new(1, 0, 0.2, 0), UDim2.new(0, 0, 0.3, 0), 0.002, 1, cashDelay)
local speedBox = createTextBox(speedFrame, "SpeedBox", tostring(cashDelay), UDim2.new(0.3, 0, 0.3, 0), UDim2.new(0.7, 0, 0.7, 0))
setupTextBoxEffects(speedBox)

local cashRateLabel = createTextLabel(speedFrame, "CashRate", "Cash/sec: " .. tostring(math.round(cashPerFire / cashDelay)), UDim2.new(1, 0, 0.3, 0), UDim2.new(0, 0, 0.7, 0))
setupLabelEffects(cashRateLabel, Color3.fromRGB(0, 255, 0))

local function updateSpeed(newDelay)
    cashDelay = newDelay
    speedLabel.Text = "Speed: " .. string.format("%.3f", cashDelay) .. "s"
    cashRateLabel.Text = "Cash/sec: " .. math.round(cashPerFire / cashDelay)
    speedBox.Text = string.format("%.3f", cashDelay)
end

RunService.Heartbeat:Connect(function()
    local val = getSliderValue()
    if val ~= cashDelay then
        updateSpeed(val)
    end
end)

speedBox.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        local num = tonumber(speedBox.Text)
        if num and num >= 0.002 and num <= 1 then
            updateSpeed(num)
            -- Update slider position
            local relative = (num - 0.002) / (1 - 0.002)
            slider.Knob.Position = UDim2.new(relative, -10, 0.5, 0)
            slider.Fill.Size = UDim2.new(relative, 0, 1, 0)
        else
            speedBox.Text = string.format("%.3f", cashDelay)
        end
    end
end)

local settingsFrame = createFrame(mainFrame, "SettingsFrame", UDim2.new(0.8, 0, 0.5, 0), nil, nil, nil, 1, false)
settingsFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
local settingsButton = createTextButton(mainFrame, "SettingsButton", "Settings", UDim2.new(0.6, 0, 0, 50))
setupButtonEffects(settingsButton)

local function showSettings()
    tweenObject(settingsFrame, {BackgroundTransparency = 0, Position = UDim2.new(0.1, 0, 0.1, 0)})
    settingsFrame.Visible = true
end

local function hideSettings()
    tweenObject(settingsFrame, {BackgroundTransparency = 1, Position = UDim2.new(0.5, 0, 0.5, 0)})
    task.delay(0.3, function() settingsFrame.Visible = false end)
end

settingsButton.MouseButton1Click:Connect(function()
    if settingsFrame.Visible then
        hideSettings()
    else
        showSettings()
    end
end)

local animSpeedLabel = createTextLabel(settingsFrame, "AnimSpeedLabel", "Animation Speed:", UDim2.new(1, 0, 0.1, 0))
local animSpeedBox = createTextBox(settingsFrame, "AnimSpeedBox", "0.3", UDim2.new(0.5, 0, 0.1, 0), UDim2.new(0.5, 0, 0, 0))
setupTextBoxEffects(animSpeedBox)

-- Add more settings like theme color, etc.
local themeColorLabel = createTextLabel(settingsFrame, "ThemeColorLabel", "Theme Color (R,G,B):", UDim2.new(1, 0, 0.1, 0), UDim2.new(0, 0, 0.1, 0))
local themeColorBox = createTextBox(settingsFrame, "ThemeColorBox", "50,50,50", UDim2.new(0.5, 0, 0.1, 0), UDim2.new(0.5, 0, 0.1, 0))
setupTextBoxEffects(themeColorBox)

local function applyTheme(r, g, b)
    local color = Color3.fromRGB(r, g, b)
    mainFrame.BackgroundColor3 = color
    for _, btn in ipairs(mainFrame:GetDescendants()) do
        if btn:IsA("TextButton") then
            btn.BackgroundColor3 = color
        end
    end
end

themeColorBox.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        local parts = string.split(themeColorBox.Text, ",")
        if #parts == 3 then
            local r, g, b = tonumber(parts[1]), tonumber(parts[2]), tonumber(parts[3])
            if r and g and b then
                applyTheme(r, g, b)
            end
        end
    end
end)

-- Current cash display
local leaderstats = player:WaitForChild("leaderstats")
local cashValue = leaderstats:WaitForChild("Cash")
local currentCashLabel = createTextLabel(mainFrame, "CurrentCash", "Current Cash: " .. cashValue.Value, UDim2.new(1, 0, 0.1, 0), UDim2.new(0, 0, 0.9, 0))
setupLabelEffects(currentCashLabel)

cashValue:GetPropertyChangedSignal("Value"):Connect(function()
    currentCashLabel.Text = "Current Cash: " .. cashValue.Value
end)

-- Add log frame for fires
local logFrame = createFrame(mainFrame, "LogFrame", UDim2.new(0.8, 0, 0.3, 0), UDim2.new(0.5, 0, 0.7, 0), nil, Color3.fromRGB(15, 15, 15), 0.5)
createUICorner(logFrame, 10)
local logList = Instance.new("ScrollingFrame")
logList.Parent = logFrame
logList.Size = UDim2.new(1, 0, 1, 0)
logList.BackgroundTransparency = 1
logList.ScrollBarThickness = 5

local logLayout = Instance.new("UIListLayout")
logLayout.Parent = logList
logLayout.Padding = UDim.new(0, 5)

local function addLog(message)
    local logEntry = createTextLabel(logList, "LogEntry", message, UDim2.new(1, 0, 0, 20))
    logEntry.TextSize = 14
    logEntry.TextTransparency = 0.2
    tweenObject(logEntry, {TextTransparency = 0})
    logList.CanvasSize = UDim2.new(0, 0, 0, logLayout.AbsoluteContentSize.Y)
end

-- Hook into fire
local oldFire = fireCashEvent
fireCashEvent = function()
    oldFire()
    addLog("Fired event at " .. os.date("%H:%M:%S"))
end

-- Auto save settings (mock, since no datastores in client)
local settings = {
    delay = cashDelay,
    animSpeed = 0.3,
    theme = "50,50,50"
}

-- Load settings (mock)
updateSpeed(settings.delay)
animSpeedBox.Text = tostring(settings.animSpeed)
themeColorBox.Text = settings.theme

-- Add more buttons, like reset
local resetButton = createTextButton(settingsFrame, "ResetButton", "Reset Settings", UDim2.new(0.4, 0, 0.1, 0), UDim2.new(0, 0, 0.3, 0))
setupButtonEffects(resetButton)

resetButton.MouseButton1Click:Connect(function()
    updateSpeed(0.1)
    animSpeedBox.Text = "0.3"
    themeColorBox.Text = "50,50,50"
    applyTheme(50, 50, 50)
end)

-- Add hover info tips
local function createTooltip(parent, text)
    local tooltip = createTextLabel(screenGui, "Tooltip", text, UDim2.new(0, 200, 0, 30), UDim2.new(0, 0, 0, 0), Color3.fromRGB(255, 255, 0), Enum.Font.SourceSans, 14, 1)
    tooltip.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    tooltip.BackgroundTransparency = 0.3
    createUICorner(tooltip, 5)
    
    parent.MouseEnter:Connect(function()
        tooltip.Position = UDim2.new(0, UserInputService:GetMouseLocation().X + 10, 0, UserInputService:GetMouseLocation().Y + 10)
        tweenObject(tooltip, {TextTransparency = 0, BackgroundTransparency = 0.3})
    end)
    
    parent.MouseLeave:Connect(function()
        tweenObject(tooltip, {TextTransparency = 1, BackgroundTransparency = 1})
    end)
    
    RunService.RenderStepped:Connect(function()
        if tooltip.TextTransparency < 1 then
            tooltip.Position = UDim2.new(0, UserInputService:GetMouseLocation().X + 10, 0, UserInputService:GetMouseLocation().Y + 10)
        end
    end)
    
    return tooltip
end

createTooltip(startButton, "Toggle cash insertion")
createTooltip(settingsButton, "Open settings panel")
createTooltip(speedBox, "Set delay in seconds (0.002-1)")
createTooltip(resetButton, "Reset to default settings")

-- Device friendly: Scale for mobile
if GuiService:IsTenFootInterface() or UserInputService.TouchEnabled then
    -- Increase sizes for mobile
    mainFrame.Size = UDim2.new(0.9, 0, 0.9, 0)
    startButton.Size = UDim2.new(0.7, 0, 0, 70)
    settingsButton.Size = UDim2.new(0.7, 0, 0, 60)
    speedBox.Size = UDim2.new(0.4, 0, 0.4, 0)
    -- etc.
end

-- Add gradient animation loop
local function animateGradient(gradient)
    local rot = gradient.Rotation
    tweenGradient(gradient, {Rotation = rot + 360}, TweenInfo.new(10, Enum.EasingStyle.Linear))
    task.delay(10, function() animateGradient(gradient) end)
end

animateGradient(mainFrame.UIGradient)

-- Add shadow effect
local function createShadow(parent)
    local shadow = Instance.new("ImageLabel")
    shadow.Image = "rbxassetid://1316045217" -- Roblox shadow asset
    shadow.ImageTransparency = 0.7
    shadow.BackgroundTransparency = 1
    shadow.Size = UDim2.new(1, 20, 1, 20)
    shadow.Position = UDim2.new(0, -10, 0, -10)
    shadow.Parent = parent
    shadow.ZIndex = parent.ZIndex - 1
    return shadow
end

createShadow(mainFrame)
createShadow(toggleButton)

-- Add click sound
local clickSound = Instance.new("Sound")
clickSound.SoundId = "rbxassetid://394059828"
clickSound.Volume = 0.5
clickSound.Parent = screenGui

local function playClick(button)
    button.MouseButton1Click:Connect(function()
        clickSound:Play()
    end)
end

playClick(startButton)
playClick(settingsButton)
playClick(resetButton)
playClick(toggleButton)

-- Add more features: Theme switcher buttons
local darkThemeButton = createTextButton(settingsFrame, "DarkTheme", "Dark Theme", UDim2.new(0.3, 0, 0.1, 0), UDim2.new(0, 0, 0.4, 0))
setupButtonEffects(darkThemeButton)
darkThemeButton.MouseButton1Click:Connect(function()
    applyTheme(25, 25, 25)
    themeColorBox.Text = "25,25,25"
end)

local lightThemeButton = createTextButton(settingsFrame, "LightTheme", "Light Theme", UDim2.new(0.3, 0, 0.1, 0), UDim2.new(0.35, 0, 0.4, 0))
setupButtonEffects(lightThemeButton)
lightThemeButton.MouseButton1Click:Connect(function()
    applyTheme(200, 200, 200)
    themeColorBox.Text = "200,200,200"
end)

local customThemeButton = createTextButton(settingsFrame, "CustomTheme", "Apply Custom", UDim2.new(0.3, 0, 0.1, 0), UDim2.new(0.7, 0, 0.4, 0))
setupButtonEffects(customThemeButton)
customThemeButton.MouseButton1Click:Connect(function()
    local parts = string.split(themeColorBox.Text, ",")
    if #parts == 3 then
        local r, g, b = tonumber(parts[1]), tonumber(parts[2]), tonumber(parts[3])
        if r and g and b then
            applyTheme(r, g, b)
        end
    end
end)

-- Add animation speed apply
local applyAnimSpeedButton = createTextButton(settingsFrame, "ApplyAnimSpeed", "Apply Anim Speed", UDim2.new(0.5, 0, 0.1, 0), UDim2.new(0.5, 0, 0.2, 0))
setupButtonEffects(applyAnimSpeedButton)
applyAnimSpeedButton.MouseButton1Click:Connect(function()
    local speed = tonumber(animSpeedBox.Text)
    if speed then
        -- Would affect all tweens, but for demo, print
        print("Animation speed set to", speed)
    end
end)

-- Extend log with clear button
local clearLogButton = createTextButton(logFrame, "ClearLog", "Clear Log", UDim2.new(0.2, 0, 0.1, 0), UDim2.new(0.8, 0, -0.1, 0))
setupButtonEffects(clearLogButton)
clearLogButton.AnchorPoint = Vector2.new(1, 0)
clearLogButton.MouseButton1Click:Connect(function()
    for _, entry in ipairs(logList:GetChildren()) do
        if entry:IsA("TextLabel") then
            entry:Destroy()
        end
    end
    logList.CanvasSize = UDim2.new(0, 0, 0, 0)
end)

-- Add export log feature (mock to console)
local exportLogButton = createTextButton(logFrame, "ExportLog", "Export Log", UDim2.new(0.2, 0, 0.1, 0), UDim2.new(0.6, 0, -0.1, 0))
setupButtonEffects(exportLogButton)
exportLogButton.AnchorPoint = Vector2.new(1, 0)
exportLogButton.MouseButton1Click:Connect(function()
    print("Exporting log:")
    for _, entry in ipairs(logList:GetChildren()) do
        if entry:IsA("TextLabel") then
            print(entry.Text)
        end
    end
end)

-- Add auto start toggle
local autoStartToggle = createToggleButton(settingsFrame, "AutoStart", "Auto Start Off", "Auto Start On", UDim2.new(0.4, 0, 0.1, 0), UDim2.new(0, 0, 0.5, 0))
local autoStart = false
autoStartToggle.MouseButton1Click:Connect(function()
    autoStart = toggleButton.Text == "Auto Start On"
end)

if autoStart then
    isCashing = true
    startButton.Text = "Stop"
    tweenObject(startButton, {BackgroundColor3 = Color3.fromRGB(255, 50, 50)})
end

-- Add delay presets
local presetFast = createTextButton(settingsFrame, "PresetFast", "Fast (0.002)", UDim2.new(0.3, 0, 0.1, 0), UDim2.new(0, 0, 0.6, 0))
setupButtonEffects(presetFast)
presetFast.MouseButton1Click:Connect(function()
    updateSpeed(0.002)
    slider.Knob.Position = UDim2.new(0, -10, 0.5, 0)
    slider.Fill.Size = UDim2.new(0, 0, 1, 0)
end)

local presetMedium = createTextButton(settingsFrame, "PresetMedium", "Medium (0.1)", UDim2.new(0.3, 0, 0.1, 0), UDim2.new(0.35, 0, 0.6, 0))
setupButtonEffects(presetMedium)
presetMedium.MouseButton1Click:Connect(function()
    updateSpeed(0.1)
    local relative = (0.1 - 0.002) / (1 - 0.002)
    slider.Knob.Position = UDim2.new(relative, -10, 0.5, 0)
    slider.Fill.Size = UDim2.new(relative, 0, 1, 0)
end)

local presetSlow = createTextButton(settingsFrame, "PresetSlow", "Slow (1)", UDim2.new(0.3, 0, 0.1, 0), UDim2.new(0.7, 0, 0.6, 0))
setupButtonEffects(presetSlow)
presetSlow.MouseButton1Click:Connect(function()
    updateSpeed(1)
    slider.Knob.Position = UDim2.new(1, -10, 0.5, 0)
    slider.Fill.Size = UDim2.new(1, 0, 1, 0)
end)

-- Add more UI elements for aesthetics
local decorFrame1 = createFrame(mainFrame, "Decor1", UDim2.new(0.2, 0, 0.05, 0), UDim2.new(0.1, 0, 0.05, 0), nil, Color3.fromRGB(100, 100, 255), 0.5)
createUICorner(decorFrame1, 20)
createUIGradient(decorFrame1, ColorSequence.new(Color3.fromRGB(0, 0, 255), Color3.fromRGB(255, 0, 0)), 0)

local decorFrame2 = createFrame(mainFrame, "Decor2", UDim2.new(0.2, 0, 0.05, 0), UDim2.new(0.7, 0, 0.05, 0), nil, Color3.fromRGB(255, 100, 100), 0.5)
createUICorner(decorFrame2, 20)
createUIGradient(decorFrame2, ColorSequence.new(Color3.fromRGB(255, 0, 0), Color3.fromRGB(0, 255, 0)), 180)

-- Animate decors
local function animateDecor(frame)
    tweenObject(frame, {Rotation = 360}, TweenInfo.new(5, Enum.EasingStyle.Linear))
    task.delay(5, function() frame.Rotation = 0 animateDecor(frame) end)
end

animateDecor(decorFrame1)
animateDecor(decorFrame2)

-- Add version label
local versionLabel = createTextLabel(screenGui, "Version", "v1.0 - Tester Tool", UDim2.new(0, 150, 0, 20), UDim2.new(0, 10, 1, -30), Color3.fromRGB(150, 150, 150), Enum.Font.SourceSansItalic, 12)
versionLabel.AnchorPoint = Vector2.new(0, 1)

-- Optimize: Disconnect on destroy
screenGui.Destroying:Connect(function()
    cashLoop:Disconnect()
end)

-- Make draggable
local function makeDraggable(gui)
    local dragging
    local dragInput
    local dragStart
    local startPos

    gui.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = gui.Position

            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                end
            end)
        end
    end)

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

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

makeDraggable(mainFrame)
makeDraggable(toggleButton)

-- Add fade in on load
tweenObject(screenGui, {Enabled = true}) -- Assume starts disabled, but it's enabled
toggleButton.Visible = true

-- More features: Cash goal setter
local goalFrame = createFrame(settingsFrame, "GoalFrame", UDim2.new(1, 0, 0.1, 0), UDim2.new(0, 0, 0.7, 0))
local goalLabel = createTextLabel(goalFrame, "GoalLabel", "Cash Goal:", UDim2.new(0.5, 0, 1, 0))
local goalBox = createTextBox(goalFrame, "GoalBox", "10000", UDim2.new(0.5, 0, 1, 0), UDim2.new(0.5, 0, 0, 0))
setupTextBoxEffects(goalBox)

local cashGoal = 10000
goalBox.FocusLost:Connect(function()
    cashGoal = tonumber(goalBox.Text) or 10000
end)

RunService.Heartbeat:Connect(function()
    if isCashing and cashValue.Value >= cashGoal then
        isCashing = false
        startButton.Text = "Start"
        tweenObject(startButton, {BackgroundColor3 = Color3.fromRGB(50, 200, 50)})
        addLog("Cash goal reached: " .. cashGoal)
    end
end)

-- Add progress bar for goal
local progressBar = createFrame(settingsFrame, "ProgressBar", UDim2.new(1, 0, 0.05, 0), UDim2.new(0, 0, 0.8, 0), nil, Color3.fromRGB(20, 20, 20))
createUICorner(progressBar, 5)
local progressFill = createFrame(progressBar, "Fill", UDim2.new(0, 0, 1, 0), nil, nil, Color3.fromRGB(255, 215, 0))
createUICorner(progressFill, 5)

cashValue:GetPropertyChangedSignal("Value"):Connect(function()
    local progress = math.clamp(cashValue.Value / cashGoal, 0, 1)
    tweenObject(progressFill, {Size = UDim2.new(progress, 0, 1, 0)})
end)

-- Add notification system
local function notify(message, duration)
    local notif = createTextLabel(screenGui, "Notification", message, UDim2.new(0.3, 0, 0, 50), UDim2.new(0.5, 0, -0.1, 0), Color3.fromRGB(255, 255, 255), Enum.Font.Gotham, 20, 1)
    notif.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    notif.BackgroundTransparency = 0.4
    createUICorner(notif, 10)
    tweenObject(notif, {Position = UDim2.new(0.5, 0, 0.1, 0), TextTransparency = 0, BackgroundTransparency = 0.4})
    task.delay(duration or 3, function()
        tweenObject(notif, {Position = UDim2.new(0.5, 0, -0.1, 0), TextTransparency = 1, BackgroundTransparency = 1})
        task.delay(0.5, function() notif:Destroy() end)
    end)
end

-- Example notify on start
startButton.MouseButton1Click:Connect(function()
    if isCashing then
        notify("Cash insertion started!")
    else
        notify("Cash insertion stopped.", 2)
    end
end)

-- Add hotkey support
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed then
        if input.KeyCode == Enum.KeyCode.F1 then
            toggleButton.MouseButton1Click:Invoke()
        elseif input.KeyCode == Enum.KeyCode.F2 then
            startButton.MouseButton1Click:Invoke()
        end
    end
end)

-- Add more hotkeys info
local hotkeysLabel = createTextLabel(settingsFrame, "Hotkeys", "Hotkeys: F1 - Toggle UI, F2 - Start/Stop", UDim2.new(1, 0, 0.1, 0), UDim2.new(0, 0, 0.9, 0), Color3.fromRGB(200, 200, 200), Enum.Font.SourceSans, 16)

-- Extend with anti-afk (mock)
local antiAfkToggle = createToggleButton(settingsFrame, "AntiAfk", "Anti-AFK Off", "Anti-AFK On", UDim2.new(0.4, 0, 0.1, 0), UDim2.new(0.6, 0, 0.5, 0))
local antiAfk = false
antiAfkToggle.MouseButton1Click:Connect(function()
    antiAfk = antiAfkToggle.Text == "Anti-AFK On"
end)

RunService.Heartbeat:Connect(function()
    if antiAfk then
        -- Simulate movement or something, but mock
        print("Anti-AFK active")
    end
end)

-- Final tweaks for length and features
local extraFeatureButton = createTextButton(mainFrame, "Extra", "Extra Feature", UDim2.new(0.6, 0, 0, 50), UDim2.new(0.5, 0, 0.5, 0))
setupButtonEffects(extraFeatureButton)
extraFeatureButton.MouseButton1Click:Connect(function()
    notify("Extra feature activated! (Placeholder)")
end)

-- Add particle effect on buttons (mock with frames)
local function addParticles(button)
    for i = 1, 5 do
        local particle = createFrame(button, "Particle" .. i, UDim2.new(0, 5, 0, 5), UDim2.new(math.random(), 0, math.random(), 0), nil, Color3.fromRGB(255, 255, math.random(0, 255)), 0.5)
        createUICorner(particle, 5)
        local function animateParticle()
            tweenObject(particle, {Position = UDim2.new(math.random(), 0, math.random(), 0), Transparency = 1}, TweenInfo.new(2))
            task.delay(2, function()
                particle.Position = UDim2.new(math.random(), 0, math.random(), 0)
                particle.Transparency = 0.5
                animateParticle()
            end)
        end
        animateParticle()
    end
end

addParticles(startButton)
addParticles(settingsButton)

Features & Information

Feature: Inf Cash, Set Cash, and Auto Cash Generation Every Second, with Adjustable Cash Generation Speeds. This includes a comprehensive settings menu, a stop button, and the option to hide the user interface. You can choose between themes like Dark or Light, and there are various modes available that provide information on speed settings (slower speeds are less detectable by anti-cheat systems). You can set cash using Roblox Fadt Admin backdoor bugs. To use this feature, simply run the script. Click on "show" and then hit "start" to initiate the auto admin backdoor cash setting. Make sure to click "Stop" when admins are nearby in the server, monitoring, or when you have accumulated enough cash.
#fix and defend thing#thing#inf cashes auto generator#inf cash#set cash

Community Comments (0)

No comments yet for this script.

More Scripts for Fix And Defend Thingz