How to create a Car Spawner GUI

Опубликовано: 31 Май 2026
на канале: Afkqiz
178
12

How to create a Car Spawner GUI Roblox Studio

CarSpawner

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")

-- Wait for events and model to be available
local spawnCarEvent = ReplicatedStorage:WaitForChild("SpawnCarEvent")
local deleteCarEvent = ReplicatedStorage:WaitForChild("DeleteCarEvent")
local carModel = ReplicatedStorage:WaitForChild("Car")

-- Table to keep track of each player's car
local playerCars = {}

-- Function to delete a player's car
local function deleteCar(player)
if playerCars[player] then
playerCars[player]:Destroy()
playerCars[player] = nil
end
end

-- Function to spawn a car for a player
local function spawnCar(player)
-- First, delete any existing car for this player
deleteCar(player)

local character = player.Character
if not character then return end

local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then return end

-- Clone the car model
local newCar = carModel:Clone()
newCar.Name = player.Name .. "'s Car"

-- Position the new car in front of the player
-- The car will spawn 10 studs in front of the player and 3 studs up
local spawnOffset = CFrame.new(0, 3, -10)
local spawnCFrame = humanoidRootPart.CFrame * spawnOffset
newCar:PivotTo(spawnCFrame)

newCar.Parent = Workspace

-- Keep track of the new car
playerCars[player] = newCar
end

-- Connect the functions to the remote events
spawnCarEvent.OnServerEvent:Connect(spawnCar)
deleteCarEvent.OnServerEvent:Connect(deleteCar)

-- Clean up car when a player leaves
Players.PlayerRemoving:Connect(deleteCar)


CarSpawnerGUI


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

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

-- Get the remote events
local spawnCarEvent = ReplicatedStorage:WaitForChild("SpawnCarEvent")
local deleteCarEvent = ReplicatedStorage:WaitForChild("DeleteCarEvent")

-- Create the ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "CarSpawnerGui"
screenGui.Parent = PlayerGui

-- Create the spawn button
local spawnButton = Instance.new("TextButton")
spawnButton.Name = "SpawnCarButton"
spawnButton.Text = "Spawn Car"
spawnButton.Size = UDim2.new(0, 150, 0, 50)
spawnButton.Position = UDim2.new(0.5, -75, 0.8, 0) -- Positioned at the bottom center
spawnButton.BackgroundColor3 = Color3.new(0, 0.6, 0.2)
spawnButton.TextColor3 = Color3.new(1, 1, 1)
spawnButton.Font = Enum.Font.SourceSansBold
spawnButton.TextSize = 20
spawnButton.Parent = screenGui

-- Create the delete button
local deleteButton = Instance.new("TextButton")
deleteButton.Name = "DeleteCarButton"
deleteButton.Text = "Delete Car"
deleteButton.Size = UDim2.new(0, 150, 0, 50)
deleteButton.Position = UDim2.new(0.5, -75, 0.9, 0) -- Positioned below the spawn button
deleteButton.BackgroundColor3 = Color3.new(0.8, 0.2, 0)
deleteButton.TextColor3 = Color3.new(1, 1, 1)
deleteButton.Font = Enum.Font.SourceSansBold
deleteButton.TextSize = 20
deleteButton.Parent = screenGui

-- Event listener for the spawn button
spawnButton.MouseButton1Click:Connect(function()
spawnCarEvent:FireServer()
end)

-- Event listener for the delete button
deleteButton.MouseButton1Click:Connect(function()
deleteCarEvent:FireServer()
end)