Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Roblx studio как сделать систему раундов и чтобы когда наступал раунд случайный игрок выбирался рандомно без gpt пж

поделюсь с вами как это вижу я
1.игрок А и Б заходят на сервер они находятся в зоне отдыха 15 секунд,по окончанию
раунд начинается и они телепортируются в место активной игры (рандом выбрал игрока А он становится убийцей/охотником . Игрок Б (невиновен/очевидец/жертва)выживает от игрока А)

  1. Игрок или не успевает убить/сьесть игрока Б. Или игрок А убивает игрока Б ,Игрок Б умирает/погибает В любом случае случается один из двух вариантов ,по окончанию раунда А и Б телепортируются в зону отдыха

  2. В зоне отдыха проходит около 15 секунд

  3. После отдыха начинается раунд и Игрок А и Б телепортируются телепортируются в место игры и рандом выбирает случайного игрока

  4. цикл продолжается:


кто будет писать не по теме тому дизлайк ,лучший ответ дам только челу кто по делу скрипт скинет

По дате
По рейтингу
Аватар пользователя
Мудрец
2мес

Посмотрите в интернете

Аватар пользователя
Ученик
3мес

Отлично описал механику! Давай я помогу тебе реализовать базовую систему раундов в 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. Проверка победы и поражения (дополнительно)

Это можно сделать, например, через скрипты урона или событие, когда игрок погибает. Если хочешь, могу помочь добавить это отдельно.


---

Хочешь добавить интерфейс с таймером и ролями? Или сделать, чтобы охотник мог использовать особое оружие?