TrollGui V9 Open Source
Key Required

TrollGui V9 Open Source

Shark SurvivalVersMandexVersMandex 909 views 184 executesUpdated May 2, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•398 lines (13652 chars)
-- Clean Professional Car Spammer GUI - English + Draggable + No Emojis
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- Create ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "CarSpammerPro"
screenGui.Parent = playerGui
screenGui.ResetOnSpawn = false

-- Main Frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 400, 0, 340)
mainFrame.Position = UDim2.new(0, 20, 0, 20)
mainFrame.BackgroundColor3 = Color3.fromRGB(32, 32, 36)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui

local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 16)
mainCorner.Parent = mainFrame

-- Top Bar (Drag Handle)
local topBar = Instance.new("Frame")
topBar.Size = UDim2.new(1, 0, 0, 45)
topBar.Position = UDim2.new(0, 0, 0, 0)
topBar.BackgroundColor3 = Color3.fromRGB(24, 24, 28)
topBar.BorderSizePixel = 0
topBar.Parent = mainFrame

local topCorner = Instance.new("UICorner")
topCorner.CornerRadius = UDim.new(0, 16)
topCorner.Parent = topBar

-- Title
local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -60, 1, 0)
titleLabel.Position = UDim2.new(0, 15, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Vehicle Spammer Pro"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextScaled = true
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = topBar

-- Close Button
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -40, 0.5, -15)
closeButton.BackgroundColor3 = Color3.fromRGB(220, 53, 69)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.new(1,1,1)
closeButton.TextScaled = true
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = topBar

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 8)
closeCorner.Parent = closeButton

-- Target Input
local targetLabel = Instance.new("TextLabel")
targetLabel.Size = UDim2.new(1, 0, 0, 25)
targetLabel.Position = UDim2.new(0, 20, 0, 60)
targetLabel.BackgroundTransparency = 1
targetLabel.Text = "Target Player:"
targetLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
targetLabel.TextScaled = true
targetLabel.Font = Enum.Font.Gotham
targetLabel.TextXAlignment = Enum.TextXAlignment.Left
targetLabel.Parent = mainFrame

local targetBox = Instance.new("TextBox")
targetBox.Size = UDim2.new(1, -40, 0, 40)
targetBox.Position = UDim2.new(0, 20, 0, 85)
targetBox.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
targetBox.PlaceholderText = "Enter player name..."
targetBox.Text = ""
targetBox.TextColor3 = Color3.fromRGB(255, 255, 255)
targetBox.TextScaled = true
targetBox.Font = Enum.Font.Gotham
targetBox.ClearTextOnFocus = true
targetBox.Parent = mainFrame

local targetCorner = Instance.new("UICorner")
targetCorner.CornerRadius = UDim.new(0, 12)
targetCorner.Parent = targetBox

-- Buttons Container
local buttonsFrame = Instance.new("Frame")
buttonsFrame.Size = UDim2.new(1, -40, 0, 60)
buttonsFrame.Position = UDim2.new(0, 20, 0, 140)
buttonsFrame.BackgroundTransparency = 1
buttonsFrame.Parent = mainFrame

-- Spam Button
local spamButton = Instance.new("TextButton")
spamButton.Size = UDim2.new(0.48, -5, 1, 0)
spamButton.Position = UDim2.new(0, 0, 0, 0)
spamButton.BackgroundColor3 = Color3.fromRGB(40, 167, 69)
spamButton.Text = "Start Spam"
spamButton.TextColor3 = Color3.new(1,1,1)
spamButton.TextScaled = true
spamButton.Font = Enum.Font.GothamBold
spamButton.Parent = buttonsFrame

local spamCorner = Instance.new("UICorner")
spamCorner.CornerRadius = UDim.new(0, 12)
spamCorner.Parent = spamButton

-- Perfoma Button
local perfomaButton = Instance.new("TextButton")
perfomaButton.Size = UDim2.new(0.48, -5, 1, 0)
perfomaButton.Position = UDim2.new(0.52, 0, 0, 0)
perfomaButton.BackgroundColor3 = Color3.fromRGB(0, 123, 255)
perfomaButton.Text = "Toggle Visibility"
perfomaButton.TextColor3 = Color3.new(1,1,1)
perfomaButton.TextScaled = true
perfomaButton.Font = Enum.Font.GothamBold
perfomaButton.Parent = buttonsFrame

local perfomaCorner = Instance.new("UICorner")
perfomaCorner.CornerRadius = UDim.new(0, 12)
perfomaCorner.Parent = perfomaButton

-- Status Labels
local statusFrame = Instance.new("Frame")
statusFrame.Size = UDim2.new(1, -40, 0, 80)
statusFrame.Position = UDim2.new(0, 20, 0, 215)
statusFrame.BackgroundTransparency = 1
statusFrame.Parent = mainFrame

local vehicleCountLabel = Instance.new("TextLabel")
vehicleCountLabel.Size = UDim2.new(0.48, -5, 0.5, 0)
vehicleCountLabel.Position = UDim2.new(0, 0, 0, 0)
vehicleCountLabel.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
vehicleCountLabel.Text = "Vehicles: 0"
vehicleCountLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
vehicleCountLabel.TextScaled = true
vehicleCountLabel.Font = Enum.Font.GothamSemibold
vehicleCountLabel.Parent = statusFrame

local vehicleCorner1 = Instance.new("UICorner")
vehicleCorner1.CornerRadius = UDim.new(0, 8)
vehicleCorner1.Parent = vehicleCountLabel

local visibilityLabel = Instance.new("TextLabel")
visibilityLabel.Size = UDim2.new(0.48, -5, 0.5, 0)
visibilityLabel.Position = UDim2.new(0.52, 0, 0, 0)
visibilityLabel.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
visibilityLabel.Text = "Visibility: Visible"
visibilityLabel.TextColor3 = Color3.fromRGB(40, 167, 69)
visibilityLabel.TextScaled = true
visibilityLabel.Font = Enum.Font.GothamSemibold
visibilityLabel.Parent = statusFrame

local visibilityCorner = Instance.new("UICorner")
visibilityCorner.CornerRadius = UDim.new(0, 8)
visibilityCorner.Parent = visibilityLabel

local mainStatusLabel = Instance.new("TextLabel")
mainStatusLabel.Size = UDim2.new(1, 0, 0, 25)
mainStatusLabel.Position = UDim2.new(0, 0, 1, -25)
mainStatusLabel.BackgroundTransparency = 1
mainStatusLabel.Text = "Ready - Enter target name and click Start Spam"
mainStatusLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
mainStatusLabel.TextScaled = true
mainStatusLabel.Font = Enum.Font.Gotham
mainStatusLabel.Parent = statusFrame

-- Variables
local isSpamming = false
local targetPlayer = nil
local vehiclesSpawned = 0
local isInvisibleMode = false
local connections = {}

-- Ultra Aggressive Visibility Toggle
local function setVehicleVisibility(visible)
    local processed = 0
    
    for _, obj in pairs(workspace:GetChildren()) do
        local isVehicle = (obj.Name:lower():find("joop") or 
                          obj.Name:lower():find("car") or 
                          obj.Name:lower():find("vehicle") or
                          obj.Name:lower():find("mobil") or
                          obj:FindFirstChild("VehicleSeat") or
                          obj:FindFirstChild("Seat"))
        
        if isVehicle then
            processed = processed + 1
            
            for _, part in pairs(obj:GetDescendants()) do
                if part:IsA("BasePart") then
                    part.Transparency = visible and 0 or 1
                    part.CanCollide = visible
                    if not visible then
                        part.Anchored = true
                    end
                elseif part:IsA("Decal") or part:IsA("Texture") then
                    part.Transparency = visible and 0 or 1
                elseif part:IsA("ParticleEmitter") or part:IsA("Fire") or part:IsA("Smoke") then
                    part.Enabled = visible
                elseif part:IsA("PointLight") or part:IsA("SpotLight") then
                    part.Enabled = visible
                end
            end
        end
    end
    
    return processed
end

-- Teleport vehicles to target
local function teleportVehiclesToTarget()
    if not targetPlayer or not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
        return
    end
    
    local targetCFrame = targetPlayer.Character.HumanoidRootPart.CFrame
    local targetPos = targetCFrame.Position + targetCFrame.LookVector * 3
    
    for _, obj in pairs(workspace:GetChildren()) do
        if obj.Name:lower():find("joop") or obj.Name:lower():find("car") then
            local primary = obj.PrimaryPart or obj:FindFirstChildOfClass("BasePart")
            if primary then
                primary.CFrame = CFrame.new(targetPos + Vector3.new(math.random(-4,4), 0, math.random(-3,3)))
            end
        end
    end
end

-- Spawn vehicle
local function spawnVehicle()
    local spawnEvent = ReplicatedStorage:FindFirstChild("SpawnCar")
    if spawnEvent then
        spawnEvent:FireServer("Joop")
        vehiclesSpawned = vehiclesSpawned + 1
        vehicleCountLabel.Text = "Vehicles: " .. vehiclesSpawned
        
        task.wait(0.1)
        teleportVehiclesToTarget()
        setVehicleVisibility(not isInvisibleMode)
    end
end

-- Start spam
local function startSpamming()
    local targetName = targetBox.Text
    targetPlayer = nil
    
    for _, p in pairs(Players:GetPlayers()) do
        if p.Name:lower():find(targetName:lower()) then
            targetPlayer = p
            break
        end
    end
    
    if not targetPlayer then
        mainStatusLabel.Text = "Error: Player '" .. targetName .. "' not found"
        mainStatusLabel.TextColor3 = Color3.fromRGB(220, 53, 69)
        return
    end
    
    isSpamming = true
    spamButton.Text = "Stop Spam"
    spamButton.BackgroundColor3 = Color3.fromRGB(220, 53, 69)
    mainStatusLabel.Text = "Spamming vehicles to " .. targetPlayer.Name
    mainStatusLabel.TextColor3 = Color3.fromRGB(40, 167, 69)
    
    connections.spawn = RunService.Heartbeat:Connect(function()
        if isSpamming then
            spawnVehicle()
            task.wait(0.2)
        end
    end)
end

-- Stop spam
local function stopSpamming()
    isSpamming = false
    if connections.spawn then connections.spawn:Disconnect() end
    
    spamButton.Text = "Start Spam"
    spamButton.BackgroundColor3 = Color3.fromRGB(40, 167, 69)
    mainStatusLabel.Text = "Stopped - Total vehicles: " .. vehiclesSpawned
    mainStatusLabel.TextColor3 = Color3.fromRGB(255, 193, 7)
end

-- Toggle visibility
local function toggleVisibility()
    isInvisibleMode = not isInvisibleMode
    local processed = setVehicleVisibility(not isInvisibleMode)
    
    if isInvisibleMode then
        perfomaButton.Text = "Make Visible"
        perfomaButton.BackgroundColor3 = Color3.fromRGB(40, 167, 69)
        visibilityLabel.Text = "Visibility: Invisible (" .. processed .. ")"
        visibilityLabel.TextColor3 = Color3.fromRGB(255, 193, 7)
    else
        perfomaButton.Text = "Toggle Visibility"
        perfomaButton.BackgroundColor3 = Color3.fromRGB(0, 123, 255)
        visibilityLabel.Text = "Visibility: Visible (" .. processed .. ")"
        visibilityLabel.TextColor3 = Color3.fromRGB(40, 167, 69)
    end
end

-- Button Events
spamButton.MouseButton1Click:Connect(function()
    if isSpamming then stopSpamming() else startSpamming() end
end)

perfomaButton.MouseButton1Click:Connect(toggleVisibility)

closeButton.MouseButton1Click:Connect(function()
    screenGui:Destroy()
end)

-- Hover Effects
local function addHoverEffect(button, normalColor, hoverColor)
    button.MouseEnter:Connect(function()
        TweenService:Create(button, TweenInfo.new(0.2), {BackgroundColor3 = hoverColor}):Play()
    end)
    button.MouseLeave:Connect(function()
        TweenService:Create(button, TweenInfo.new(0.2), {BackgroundColor3 = normalColor}):Play()
    end)
end

addHoverEffect(spamButton, Color3.fromRGB(40, 167, 69), Color3.fromRGB(50, 180, 80))
addHoverEffect(perfomaButton, Color3.fromRGB(0, 123, 255), Color3.fromRGB(20, 140, 270))
addHoverEffect(closeButton, Color3.fromRGB(220, 53, 69), Color3.fromRGB(240, 70, 90))

-- Drag Functionality
local dragging = false
local dragInput = nil
local dragStart = nil
local startPosition = nil

local function updateInput(input)
    local delta = input.Position - dragStart
    mainFrame.Position = UDim2.new(startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y)
end

topBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPosition = mainFrame.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

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

UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging then
        updateInput(input)
    end
end)

-- Keybinds
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    
    if input.KeyCode == Enum.KeyCode.F then
        if isSpamming then stopSpamming() else startSpamming() end
    elseif input.KeyCode == Enum.KeyCode.G then
        toggleVisibility()
    end
end)

-- Continuous visibility enforcement
spawn(function()
    while screenGui.Parent do
        if isInvisibleMode then
            setVehicleVisibility(false)
        end
        task.wait(0.3)
    end
end)

print("Vehicle Spammer Pro loaded!")
print("F = Toggle Spam | G = Toggle Visibility | Drag top bar")

Features & Information

Our need username but u got lag too
#Op#Sharo

Community Comments (2)

Stupid_DEVStupid_DEVMay 2, 2026

calm luh ai src

Replying to @Stupid_DEV
VersMandexVersMandexMay 3, 2026

@Stupid_DEV are serious this ai