Цель урока
Научиться создавать команды и назначать игрока на сервере.
Подготовка
Teams → два Team: Blue и Red, у обоих AutoAssignable=false. Workspace → два Part: BlueZone и RedZone (Anchored=true). ServerScriptService → Script TeamZones.
Пошаговая работа
- Создай две команды и две площадки.
- Добавь Script и запусти тест с двумя игроками.
- Наступи на площадку: проверь значение Team в свойствах игрока.
Код Luau
В примерах с двумя скриптами помести части кода в указанные разные объекты.
local Teams = game:GetService("Teams")
local Players = game:GetService("Players")
local zones = {
BlueZone = Teams:WaitForChild("Blue"),
RedZone = Teams:WaitForChild("Red"),
}
local cooldown = {}
for zoneName, team in pairs(zones) do
local zone = workspace:WaitForChild(zoneName)
zone.Touched:Connect(function(hit)
local character = hit:FindFirstAncestorOfClass("Model")
local player = character and Players:GetPlayerFromCharacter(character)
if not player or cooldown[player] then return end
cooldown[player] = true
player.Team = team
player.Neutral = false
task.delay(1, function() cooldown[player] = nil end)
end)
end
Players.PlayerRemoving:Connect(function(player) cooldown[player] = nil end)Проверяем результат
Команда меняется только при касании соответствующей зоны; состояние видно на сервере.
Типичная ошибка
Названия BlueZone, RedZone, Blue и Red должны совпадать с Explorer.
Дополнительное задание
Добавь командный цвет в GUI и проверь, что выбор одного игрока не влияет на другого.
Перед публикацией: протестируй код в Roblox Studio с двумя игроками и добавь собственные скриншоты редактора.
