Ghi chú phát hành
Học
Lớp công cụ
Team

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.


Tóm Tắt
Thuộc Tính
AutoColorCharacters:boolean
Đã Lỗi Thời
Score:number
Đã Lỗi Thời
Phương Pháp
Thành viên kế thừa
Mẫu mã
Cân bằng Đội Đơn Giản
local Teams = game:GetService("Teams")
-- tạo hai đội
local redTeam = Instance.new("Team")
redTeam.TeamColor = BrickColor.new("Đỏ sáng")
redTeam.AutoAssignable = true
redTeam.Name = "Đội Đỏ"
redTeam.Parent = Teams
local blueTeam = Instance.new("Team")
blueTeam.TeamColor = BrickColor.new("Xanh sáng")
blueTeam.AutoAssignable = true
blueTeam.Name = "Đội Xanh"
blueTeam.Parent = Teams
-- bắt đầu đếm số lượng người chơi trong mỗi đội
local numberRed, numberBlue = 0, 0
local function playerAdded(team)
-- tăng số lượng của đội lên 1
if team == redTeam then
numberRed = numberRed + 1
elseif team == blueTeam then
numberBlue = numberBlue + 1
end
end
local function playerRemoved(team)
-- giảm số lượng của đội xuống 1
if team == redTeam then
numberRed = numberRed - 1
elseif team == blueTeam then
numberBlue = numberBlue - 1
end
-- kiểm tra xem các đội có mất cân bằng không
local bigTeam, smallTeam = nil, nil
if (numberRed - numberBlue) > 2 then
bigTeam = redTeam
smallTeam = blueTeam
elseif (numberBlue - numberRed) > 2 then
bigTeam = blueTeam
smallTeam = redTeam
end
if bigTeam then
-- chọn một người chơi ngẫu nhiên
local playerList = bigTeam:GetPlayers()
local player = playerList[math.random(1, #playerList)]
-- kiểm tra người chơi có tồn tại không
if player then
-- đổi đội cho người chơi
player.TeamColor = smallTeam.TeamColor
-- tái sinh người chơi
player:LoadCharacterAsync()
end
end
end
-- lắng nghe người chơi được thêm / xóa
blueTeam.PlayerAdded:Connect(function(_player)
playerAdded(blueTeam)
end)
blueTeam.PlayerRemoved:Connect(function(_player)
playerRemoved(blueTeam)
end)
redTeam.PlayerAdded:Connect(function(_player)
playerAdded(redTeam)
end)
redTeam.PlayerRemoved:Connect(function(_player)
playerRemoved(redTeam)
end)
Kiểm Tra Giết Đồng Đội
local Players = game:GetService("Players")
function checkTeamKill(playerAttack, playerVictim)
if playerAttack.Team ~= playerVictim.Team or playerAttack.Neutral or playerVictim.Neutral then
return false
end
return true
end
local players = Players:GetPlayers()
checkTeamKill(players[1], players[2])
Cửa chỉ dành cho đội
local Players = game:GetService("Players")
local door = Instance.new("Part")
door.Anchored = true
door.Size = Vector3.new(7, 10, 1)
door.Position = Vector3.new(0, 5, 0)
door.Parent = workspace
local debounce = false
door.Touched:Connect(function(hit)
if not debounce then
debounce = true
if hit then
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player and player.TeamColor == BrickColor.new("Bright red") then
door.Transparency = 0.5
door.CanCollide = false
task.wait(3)
door.Transparency = 0
door.CanCollide = true
end
end
task.wait(0.5)
debounce = false
end
end)
Nhóm Cân Bằng với Tính Năng Tạo Nhóm
local Teams = game:GetService("Teams")
local Players = game:GetService("Players")
local SocialService = game:GetService("SocialService")
local redTeam = Instance.new("Team")
redTeam.Name = "Đội Đỏ"
redTeam.TeamColor = BrickColor.Red()
redTeam.AutoAssignable = false
redTeam.Parent = Teams
local blueTeam = Instance.new("Team")
blueTeam.Name = "Đội Xanh"
blueTeam.TeamColor = BrickColor.Blue()
blueTeam.AutoAssignable = false
blueTeam.Parent = Teams
local function assignPlayerToTeam(player)
local partyId = player.PartyId
if partyId == "" then
assignBalancedTeam(player)
return
end
local teams = { redTeam, blueTeam }
local matchingTeam = nil
local partyPlayers = SocialService:GetPlayersByPartyId(partyId)
for _, partyPlayer in partyPlayers do
if partyPlayer ~= player and table.find(teams, partyPlayer.Team) then
matchingTeam = partyPlayer.Team
break
end
end
if matchingTeam then
player.Team = matchingTeam
player.TeamColor = matchingTeam.TeamColor
else
assignBalancedTeam(player)
end
end
function assignBalancedTeam(player)
local redCount = #redTeam:GetPlayers()
local blueCount = #blueTeam:GetPlayers()
local chosenTeam = redCount <= blueCount and redTeam or blueTeam
player.Team = chosenTeam
player.TeamColor = chosenTeam.TeamColor
end
local function groupPlayersByParty()
local seenPartyIds = {}
local groupedPlayers = {}
for _, player in Players:GetPlayers() do
if player.PartyId == "" then
table.insert(groupedPlayers, { player })
elseif not table.find(seenPartyIds, player.PartyId) then
table.insert(seenPartyIds, player.PartyId)
local partyPlayers = SocialService:GetPlayersByPartyId(player.PartyId)
table.insert(groupedPlayers, partyPlayers)
end
end
return groupedPlayers
end
-- Gọi hàm này để cân bằng lại đội
local function rebalanceTeams()
local groups = groupPlayersByParty()
table.sort(groups, function(a, b)
return #a > #b
end)
for _, player in Players:GetPlayers() do
player.Team = nil
end
for _, group in groups do
local redCount = #redTeam:GetPlayers()
local blueCount = #blueTeam:GetPlayers()
local bestTeam
if redCount <= blueCount then
bestTeam = redTeam
else
bestTeam = blueTeam
end
for _, player in group do
player.Team = bestTeam
player.TeamColor = bestTeam.TeamColor
end
end
for _, player in Players:GetPlayers() do
player:LoadCharacterAsync()
end
end
Players.PlayerAdded:Connect(function(player)
assignPlayerToTeam(player)
player:LoadCharacterAsync()
player:GetPropertyChangedSignal("PartyId"):Connect(function()
if player.PartyId ~= "" then
assignPlayerToTeam(player)
end
end)
end)

Tài Liệu Tham Khảo API
Thuộc Tính
AutoAssignable
Đọc Song Song
Các khả năng: Players
Team.AutoAssignable:boolean
Mẫu mã
Cân bằng Đội Đơn Giản
local Teams = game:GetService("Teams")
-- tạo hai đội
local redTeam = Instance.new("Team")
redTeam.TeamColor = BrickColor.new("Đỏ sáng")
redTeam.AutoAssignable = true
redTeam.Name = "Đội Đỏ"
redTeam.Parent = Teams
local blueTeam = Instance.new("Team")
blueTeam.TeamColor = BrickColor.new("Xanh sáng")
blueTeam.AutoAssignable = true
blueTeam.Name = "Đội Xanh"
blueTeam.Parent = Teams
-- bắt đầu đếm số lượng người chơi trong mỗi đội
local numberRed, numberBlue = 0, 0
local function playerAdded(team)
-- tăng số lượng của đội lên 1
if team == redTeam then
numberRed = numberRed + 1
elseif team == blueTeam then
numberBlue = numberBlue + 1
end
end
local function playerRemoved(team)
-- giảm số lượng của đội xuống 1
if team == redTeam then
numberRed = numberRed - 1
elseif team == blueTeam then
numberBlue = numberBlue - 1
end
-- kiểm tra xem các đội có mất cân bằng không
local bigTeam, smallTeam = nil, nil
if (numberRed - numberBlue) > 2 then
bigTeam = redTeam
smallTeam = blueTeam
elseif (numberBlue - numberRed) > 2 then
bigTeam = blueTeam
smallTeam = redTeam
end
if bigTeam then
-- chọn một người chơi ngẫu nhiên
local playerList = bigTeam:GetPlayers()
local player = playerList[math.random(1, #playerList)]
-- kiểm tra người chơi có tồn tại không
if player then
-- đổi đội cho người chơi
player.TeamColor = smallTeam.TeamColor
-- tái sinh người chơi
player:LoadCharacterAsync()
end
end
end
-- lắng nghe người chơi được thêm / xóa
blueTeam.PlayerAdded:Connect(function(_player)
playerAdded(blueTeam)
end)
blueTeam.PlayerRemoved:Connect(function(_player)
playerRemoved(blueTeam)
end)
redTeam.PlayerAdded:Connect(function(_player)
playerAdded(redTeam)
end)
redTeam.PlayerRemoved:Connect(function(_player)
playerRemoved(redTeam)
end)

AutoColorCharacters
Đã Lỗi Thời

Score
Đã Lỗi Thời

TeamColor
Đọc Song Song
Các khả năng: Players
Team.TeamColor:BrickColor
Mẫu mã
Cửa chỉ dành cho đội
local Players = game:GetService("Players")
local door = Instance.new("Part")
door.Anchored = true
door.Size = Vector3.new(7, 10, 1)
door.Position = Vector3.new(0, 5, 0)
door.Parent = workspace
local debounce = false
door.Touched:Connect(function(hit)
if not debounce then
debounce = true
if hit then
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player and player.TeamColor == BrickColor.new("Bright red") then
door.Transparency = 0.5
door.CanCollide = false
task.wait(3)
door.Transparency = 0
door.CanCollide = true
end
end
task.wait(0.5)
debounce = false
end
end)

Phương Pháp
GetPlayers
Ghi Song Song
Các khả năng: Players
Team:GetPlayers():{Player}
Lợi Nhuận
Mẫu mã
Đội GetTeams
local Teams = game:GetService("Teams")
local teams = Teams:GetTeams()
for _, team in pairs(teams) do
local players = team:GetPlayers()
print("Đội", team.Name, "có", #players, "người chơi")
end

Sự Kiện
PlayerAdded
Các khả năng: Players
Team.PlayerAdded(player:Player):RBXScriptSignal
Tham Số
player:Player
Mẫu mã
Cân bằng Đội Đơn Giản
local Teams = game:GetService("Teams")
-- tạo hai đội
local redTeam = Instance.new("Team")
redTeam.TeamColor = BrickColor.new("Đỏ sáng")
redTeam.AutoAssignable = true
redTeam.Name = "Đội Đỏ"
redTeam.Parent = Teams
local blueTeam = Instance.new("Team")
blueTeam.TeamColor = BrickColor.new("Xanh sáng")
blueTeam.AutoAssignable = true
blueTeam.Name = "Đội Xanh"
blueTeam.Parent = Teams
-- bắt đầu đếm số lượng người chơi trong mỗi đội
local numberRed, numberBlue = 0, 0
local function playerAdded(team)
-- tăng số lượng của đội lên 1
if team == redTeam then
numberRed = numberRed + 1
elseif team == blueTeam then
numberBlue = numberBlue + 1
end
end
local function playerRemoved(team)
-- giảm số lượng của đội xuống 1
if team == redTeam then
numberRed = numberRed - 1
elseif team == blueTeam then
numberBlue = numberBlue - 1
end
-- kiểm tra xem các đội có mất cân bằng không
local bigTeam, smallTeam = nil, nil
if (numberRed - numberBlue) > 2 then
bigTeam = redTeam
smallTeam = blueTeam
elseif (numberBlue - numberRed) > 2 then
bigTeam = blueTeam
smallTeam = redTeam
end
if bigTeam then
-- chọn một người chơi ngẫu nhiên
local playerList = bigTeam:GetPlayers()
local player = playerList[math.random(1, #playerList)]
-- kiểm tra người chơi có tồn tại không
if player then
-- đổi đội cho người chơi
player.TeamColor = smallTeam.TeamColor
-- tái sinh người chơi
player:LoadCharacterAsync()
end
end
end
-- lắng nghe người chơi được thêm / xóa
blueTeam.PlayerAdded:Connect(function(_player)
playerAdded(blueTeam)
end)
blueTeam.PlayerRemoved:Connect(function(_player)
playerRemoved(blueTeam)
end)
redTeam.PlayerAdded:Connect(function(_player)
playerAdded(redTeam)
end)
redTeam.PlayerRemoved:Connect(function(_player)
playerRemoved(redTeam)
end)

PlayerRemoved
Các khả năng: Players
Team.PlayerRemoved(player:Player):RBXScriptSignal
Tham Số
player:Player
Mẫu mã
Cân bằng Đội Đơn Giản
local Teams = game:GetService("Teams")
-- tạo hai đội
local redTeam = Instance.new("Team")
redTeam.TeamColor = BrickColor.new("Đỏ sáng")
redTeam.AutoAssignable = true
redTeam.Name = "Đội Đỏ"
redTeam.Parent = Teams
local blueTeam = Instance.new("Team")
blueTeam.TeamColor = BrickColor.new("Xanh sáng")
blueTeam.AutoAssignable = true
blueTeam.Name = "Đội Xanh"
blueTeam.Parent = Teams
-- bắt đầu đếm số lượng người chơi trong mỗi đội
local numberRed, numberBlue = 0, 0
local function playerAdded(team)
-- tăng số lượng của đội lên 1
if team == redTeam then
numberRed = numberRed + 1
elseif team == blueTeam then
numberBlue = numberBlue + 1
end
end
local function playerRemoved(team)
-- giảm số lượng của đội xuống 1
if team == redTeam then
numberRed = numberRed - 1
elseif team == blueTeam then
numberBlue = numberBlue - 1
end
-- kiểm tra xem các đội có mất cân bằng không
local bigTeam, smallTeam = nil, nil
if (numberRed - numberBlue) > 2 then
bigTeam = redTeam
smallTeam = blueTeam
elseif (numberBlue - numberRed) > 2 then
bigTeam = blueTeam
smallTeam = redTeam
end
if bigTeam then
-- chọn một người chơi ngẫu nhiên
local playerList = bigTeam:GetPlayers()
local player = playerList[math.random(1, #playerList)]
-- kiểm tra người chơi có tồn tại không
if player then
-- đổi đội cho người chơi
player.TeamColor = smallTeam.TeamColor
-- tái sinh người chơi
player:LoadCharacterAsync()
end
end
end
-- lắng nghe người chơi được thêm / xóa
blueTeam.PlayerAdded:Connect(function(_player)
playerAdded(blueTeam)
end)
blueTeam.PlayerRemoved:Connect(function(_player)
playerRemoved(blueTeam)
end)
redTeam.PlayerAdded:Connect(function(_player)
playerAdded(redTeam)
end)
redTeam.PlayerRemoved:Connect(function(_player)
playerRemoved(redTeam)
end)

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.