Spam Money UPDATED
Key Required

Spam Money UPDATED

Raise a PeterA2000A2000 14.8K views 505 executesUpdated Nov 2, 2025
1.0/ 5(5 votes)
1420% Positive
Lua Script•260 lines (9077 chars)
-- Draggable UI Spam Click Detector Script for Raise a Peter (Mobile-Friendly)
-- Path: workspace.Interactables.Peter.Peter.Clickable.DropMoney
-- Features: Draggable Frame + Toggle Button + Delay Slider

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer

local spamInterval = 0.1  -- Default delay (seconds)
local isSpamming = false
local clickDetector = nil
local spamCoroutine = nil
local toggleGui = nil

-- Find the ClickDetector
local function getClickDetector()
    local success, result = pcall(function()
        return workspace.Interactables.Peter.Peter.Clickable.DropMoney
    end)
    
    if success and result and result:IsA("ClickDetector") then
        return result
    else
        warn("ClickDetector not found! Path: workspace.Interactables.Peter.Peter.Clickable.DropMoney")
        return nil
    end
end

-- Start spamming (instant)
local function startSpamming()
    clickDetector = getClickDetector()
    if not clickDetector then return end
    
    isSpamming = true
    print("Started spamming at " .. spamInterval .. "s intervals!")
    
    -- Instant coroutine start
    spamCoroutine = coroutine.create(function()
        while isSpamming do
            fireclickdetector(clickDetector)
            wait(spamInterval)
        end
    end)
    coroutine.resume(spamCoroutine)
    
    -- Auto-stop after 60s
    spawn(function()
        wait(60)
        if isSpamming then
            stopSpamming()
        end
    end)
end

-- Stop spamming (instant)
local function stopSpamming()
    isSpamming = false
    if spamCoroutine then
        if coroutine.close then
            coroutine.close(spamCoroutine)
        end
        spamCoroutine = nil
    end
    print("Stopped spamming!")
end

-- Make frame draggable
local function makeDraggable(frame)
    local dragging = false
    local dragStart = nil
    local startPos = nil
    
    frame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = frame.Position
        end
    end)
    
    UserInputService.InputChanged:Connect(function(input)
        if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
            local delta = input.Position - dragStart
            frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
        end
    end)
    
    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = false
        end
    end)
end

-- Create UI Frame with Button + Slider
local function createUI()
    local screenGui = Instance.new("ScreenGui")
    screenGui.Name = "SpamUI"
    screenGui.Parent = game.CoreGui
    screenGui.IgnoreGuiInset = true
    
    local mainFrame = Instance.new("Frame")
    mainFrame.Name = "MainFrame"
    mainFrame.Size = UDim2.new(0, 200, 0, 120)
    mainFrame.Position = UDim2.new(1, -210, 0, 10)  -- Top-right default (away from jump)
    mainFrame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1)
    mainFrame.BackgroundTransparency = 0.2
    mainFrame.BorderSizePixel = 0
    mainFrame.Parent = screenGui
    
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 10)
    corner.Parent = mainFrame
    
    -- Make it draggable (ignores child inputs like button/slider)
    makeDraggable(mainFrame)
    
    -- Title
    local title = Instance.new("TextLabel")
    title.Size = UDim2.new(1, 0, 0, 30)
    title.Position = UDim2.new(0, 0, 0, 0)
    title.BackgroundTransparency = 1
    title.Text = "Peter Money Spammer"
    title.TextColor3 = Color3.new(1, 1, 1)
    title.TextScaled = true
    title.Font = Enum.Font.SourceSansBold
    title.Parent = mainFrame
    
    -- Toggle Button
    local toggleButton = Instance.new("TextButton")
    toggleButton.Name = "ToggleButton"
    toggleButton.Size = UDim2.new(1, -20, 0, 30)
    toggleButton.Position = UDim2.new(0, 10, 0, 35)
    toggleButton.BackgroundColor3 = Color3.new(1, 0, 0)
    toggleButton.BorderSizePixel = 0
    toggleButton.Text = "Start Spam"
    toggleButton.TextColor3 = Color3.new(1, 1, 1)
    toggleButton.TextScaled = true
    toggleButton.Font = Enum.Font.SourceSans
    toggleButton.Parent = mainFrame
    
    local buttonCorner = Instance.new("UICorner")
    buttonCorner.CornerRadius = UDim.new(0, 6)
    buttonCorner.Parent = toggleButton
    
    -- Toggle Logic (instant)
    toggleButton.Activated:Connect(function()
        if isSpamming then
            stopSpamming()
            toggleButton.BackgroundColor3 = Color3.new(1, 0, 0)
            toggleButton.Text = "Start Spam"
        else
            startSpamming()
            toggleButton.BackgroundColor3 = Color3.new(0, 1, 0)
            toggleButton.Text = "Stop Spam"
        end
    end)
    
    -- Slider for Delay
    local sliderLabel = Instance.new("TextLabel")
    sliderLabel.Size = UDim2.new(1, -20, 0, 20)
    sliderLabel.Position = UDim2.new(0, 10, 0, 70)
    sliderLabel.BackgroundTransparency = 1
    sliderLabel.Text = "Delay: 0.1s"
    sliderLabel.TextColor3 = Color3.new(1, 1, 1)
    sliderLabel.TextScaled = true
    sliderLabel.Font = Enum.Font.SourceSans
    sliderLabel.Parent = mainFrame
    
    local sliderFrame = Instance.new("Frame")
    sliderFrame.Name = "SliderFrame"
    sliderFrame.Size = UDim2.new(1, -20, 0, 20)
    sliderFrame.Position = UDim2.new(0, 10, 0, 90)
    sliderFrame.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
    sliderFrame.BorderSizePixel = 0
    sliderFrame.Parent = mainFrame
    
    local sliderCorner = Instance.new("UICorner")
    sliderCorner.CornerRadius = UDim.new(0, 10)
    sliderCorner.Parent = sliderFrame
    
    local sliderKnob = Instance.new("Frame")
    sliderKnob.Name = "SliderKnob"
    sliderKnob.Size = UDim2.new(0, 20, 1, 0)
    sliderKnob.Position = UDim2.new(0.5, -10, 0, 0)  -- Middle start (0.1s)
    sliderKnob.BackgroundColor3 = Color3.new(1, 1, 1)
    sliderKnob.BorderSizePixel = 0
    sliderKnob.Parent = sliderFrame
    
    local knobCorner = Instance.new("UICorner")
    knobCorner.CornerRadius = UDim.new(0, 10)
    knobCorner.Parent = sliderKnob
    
    -- Slider Drag Logic (min 0.05, max 2.0)
    local sliderDragging = false
    local sliderDragStart = nil
    local sliderStartPos = nil
    local minDelay, maxDelay = 0.05, 2.0
    
    sliderKnob.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            sliderDragging = true
            sliderDragStart = input.Position
            sliderStartPos = sliderKnob.Position
        end
    end)
    
    UserInputService.InputChanged:Connect(function(input)
        if sliderDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
            local delta = input.Position.X - sliderDragStart.X
            local currentPos = sliderStartPos.X.Scale
            local newScale = math.clamp(currentPos + (delta / sliderFrame.AbsoluteSize.X), 0, 1)
            sliderKnob.Position = UDim2.new(newScale, -10, 0, 0)
            
            -- Map to delay
            spamInterval = minDelay + (newScale * (maxDelay - minDelay))
            sliderLabel.Text = "Delay: " .. string.format("%.2f", spamInterval) .. "s"
            
            -- Restart if spamming
            if isSpamming then
                stopSpamming()
                startSpamming()
            end
        end
    end)
    
    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            sliderDragging = false
        end
    end)
    
    toggleGui = screenGui
end

-- 'Q' Key Fallback
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.Q then
        if isSpamming then
            stopSpamming()
            if toggleGui and toggleGui.MainFrame.ToggleButton then
                toggleGui.MainFrame.ToggleButton.BackgroundColor3 = Color3.new(1, 0, 0)
                toggleGui.MainFrame.ToggleButton.Text = "Start Spam"
            end
        else
            startSpamming()
            if toggleGui and toggleGui.MainFrame.ToggleButton then
                toggleGui.MainFrame.ToggleButton.BackgroundColor3 = Color3.new(0, 1, 0)
                toggleGui.MainFrame.ToggleButton.Text = "Stop Spam"
            end
        end
    end
end)

-- Load UI
createUI()
print("Draggable UI Spam script loaded! Drag frame to reposition (top-right default).")

Features & Information

Spam button Get infinte money! NEW FEATURES New Interface! (UI) Money Click Delay (Slide) Draggable UI! (interface) New UI Spawn position! Big Update

Community Comments (0)

No comments yet for this script.

More Scripts for Raise a Peter