


Roblx studio как сделать систему раундов и чтобы когда наступал раунд случайный игрок выбирался рандомно без gpt пж
поделюсь с вами как это вижу я
1.игрок А и Б заходят на сервер они находятся в зоне отдыха 15 секунд,по окончанию
раунд начинается и они телепортируются в место активной игры (рандом выбрал игрока А он становится убийцей/охотником . Игрок Б (невиновен/очевидец/жертва)выживает от игрока А)
Игрок или не успевает убить/сьесть игрока Б. Или игрок А убивает игрока Б ,Игрок Б умирает/погибает В любом случае случается один из двух вариантов ,по окончанию раунда А и Б телепортируются в зону отдыха
В зоне отдыха проходит около 15 секунд
После отдыха начинается раунд и Игрок А и Б телепортируются телепортируются в место игры и рандом выбирает случайного игрока
цикл продолжается:
кто будет писать не по теме тому дизлайк ,лучший ответ дам только челу кто по делу скрипт скинет
Посмотрите в интернете
Отлично описал механику! Давай я помогу тебе реализовать базовую систему раундов в Roblox Studio на Lua.
---
1. Структура игры
2 зоны:
LobbySpawn — зона отдыха
GameSpawn — игровая зона
2 роли:
Убийца / охотник (Hunter)
Жертва / очевидец (Survivor)
---
2. Скрипт для системы раундов
Создай Script в ServerScriptService, назови его RoundManager:
local Players = game:GetService("Players")
local TeleportTime = 15
local GameTime = 30
local LobbySpawn = workspace:WaitForChild("LobbySpawn")
local GameSpawn = workspace:WaitForChild("GameSpawn")
function teleportAllTo(position)
for _, player in pairs(Players:GetPlayers()) do
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
player.Character.HumanoidRootPart.CFrame = position.CFrame + Vector3.new(0, 3, 0)
end
end
end
function assignRoles()
local allPlayers = Players:GetPlayers()
if #allPlayers < 2 then return end
local hunterIndex = math.random(1, #allPlayers)
local hunter = allPlayers[hunterIndex]
for i, player in pairs(allPlayers) do
if player:FindFirstChild("Role") == nil then
local role = Instance.new("StringValue")
role.Name = "Role"
role.Parent = player
end
if player == hunter then
player.Role.Value = "Hunter"
else
player.Role.Value = "Survivor"
end
end
end
function clearRoles()
for _, player in pairs(Players:GetPlayers()) do
if player:FindFirstChild("Role") then
player.Role:Destroy()
end
end
end
while true do
-- Отдых
print("Отдых. Телепортация в лобби.")
teleportAllTo(LobbySpawn)
clearRoles()
wait(TeleportTime)
-- Назначение ролей и старт
assignRoles()
print("Начало раунда. Телепортация в игру.")
teleportAllTo(GameSpawn)
-- Ждём окончания раунда
wait(GameTime)
end
---
3. Подготовка карты
Убедись, что у тебя в Workspace есть две Part:
LobbySpawn — место для отдыха
GameSpawn — место активной игры
Они должны быть Anchored, CanCollide = true, и находиться на высоте, чтобы игроки не застревали.
---
4. Проверка победы и поражения (дополнительно)
Это можно сделать, например, через скрипты урона или событие, когда игрок погибает. Если хочешь, могу помочь добавить это отдельно.
---
Хочешь добавить интерфейс с таймером и ролями? Или сделать, чтобы охотник мог использовать особое оружие?