Скрипт :
-- Конфигурация
local button = script.Parent -- TextButton
local vehicleModel = game.ReplicatedStorage.CarModel -- Путь к модели машины в ReplicatedStorage
local spawnOffset = Vector3.new(0, 3, 0) -- Смещение от точки спавна
local cooldown = 3 -- Время перезарядки в секундах
-- Переменные
local canSpawn = true
local debounce = false
-- Функция спавна машины
local function spawnVehicle(player)
if not canSpawn or debounce then return end
debounce = true
-- Получаем позицию спавна
local character = player.Character
if not character then return end
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then return end
-- Создаем новую машину
local newVehicle = vehicleModel:Clone()
local spawnPosition = humanoidRootPart.Position + humanoidRootPart.CFrame.LookVector * 10 + spawnOffset
-- Устанавливаем позицию и поворот
newVehicle:SetPrimaryPartCFrame(CFrame.new(spawnPosition, spawnPosition + humanoidRootPart.CFrame.LookVector))
newVehicle.Parent = workspace
-- Добавляем владельца машины (опционально)
local ownerValue = Instance.new("StringValue")
ownerValue.Name = "Owner"
ownerValue.Value = player.Name
ownerValue.Parent = newVehicle
-- Cooldown
canSpawn = false
wait(cooldown)
canSpawn = true
debounce = false
end
-- Обработчик нажатия кнопки
button.MouseButton1Click:Connect(function()
local player = game.Players.LocalPlayer
spawnVehicle(player)
end)
Чтобы использовать скрипт:
1. Поместите модель машины в ReplicatedStorage
2. Убедитесь, что у машины установлен PrimaryPart
3. Измените путь `game.ReplicatedStorage.CarModel` на актуальный путь к вашей модели
4. Прикрепите скрипт к TextButton
При необходимости вы можете настроить:
- `spawnOffset` - расстояние появления машины
- `cooldown` - время между спавнами
- Добавить эффекты появления
- Изменить логику определения точки спавна