Impara
Classe motore
GroupService
Non costruibile
Assistenza
Non Replicato

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.


Sommario
Membri ereditati
Campioni di codice
Controllore Alleati/Nemici di Gruppo
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- Definisci qui l'ID del gruppo
local GROUP_ID = 271454
-- Funzione di utilità per gestire le pagine
local function pagesToArray(pages)
local array = {}
while true do
for _, v in ipairs(pages:GetCurrentPage()) do
table.insert(array, v)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
end
return array
end
-- Ottieni elenchi di alleati e nemici
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- Converti in array
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- Controlla se il giocatore è nel gruppo
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. " è un membro!")
else
local isAlly, isEnemy = false, false
-- Controlla se il giocatore è in uno dei gruppi alleati
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- Controlla se il giocatore è in uno dei gruppi nemici
for _, groupInfo in ipairs(enemies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isEnemy = true
break
end
end
if isAlly and not isEnemy then
print(player.Name .. " è un alleato!")
elseif isEnemy and not isAlly then
print(player.Name .. " è un nemico!")
elseif isEnemy and isAlly then
print(player.Name .. " è sia un alleato che un nemico!")
else
print(player.Name .. " non è né un alleato né un nemico!")
end
end
end
-- Ascolta per nuovi giocatori che vengono aggiunti
Players.PlayerAdded:Connect(playerAdded)
-- Gestisci i giocatori già nel gioco
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

Riferimento API
Metodi
GetAlliesAsync
Resa
Capacità: Groups
GroupService:GetAlliesAsync(groupId:number):StandardPages
Parametri
groupId:number
Restituzioni
Campioni di codice
GroupService:GetAlliesAsync
local Players = game:GetService("Players")
local GroupService = game:GetService("GroupService")
local GROUP_ID = 57
-- crea una tabella di tutti gli alleati di un dato gruppo
local allies = {}
local pages = GroupService:GetAlliesAsync(GROUP_ID)
while true do
for _, group in pairs(pages:GetCurrentPage()) do
table.insert(allies, group)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
end
function onPlayerAdded(player)
for _, group in pairs(allies) do
if player:IsInGroupAsync(group.Id) then
print("Il giocatore è un alleato!")
break
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
-- gestisci i giocatori che si sono uniti mentre la lista degli alleati era ancora in caricamento
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
Controllore Alleati/Nemici di Gruppo
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- Definisci qui l'ID del gruppo
local GROUP_ID = 271454
-- Funzione di utilità per gestire le pagine
local function pagesToArray(pages)
local array = {}
while true do
for _, v in ipairs(pages:GetCurrentPage()) do
table.insert(array, v)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
end
return array
end
-- Ottieni elenchi di alleati e nemici
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- Converti in array
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- Controlla se il giocatore è nel gruppo
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. " è un membro!")
else
local isAlly, isEnemy = false, false
-- Controlla se il giocatore è in uno dei gruppi alleati
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- Controlla se il giocatore è in uno dei gruppi nemici
for _, groupInfo in ipairs(enemies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isEnemy = true
break
end
end
if isAlly and not isEnemy then
print(player.Name .. " è un alleato!")
elseif isEnemy and not isAlly then
print(player.Name .. " è un nemico!")
elseif isEnemy and isAlly then
print(player.Name .. " è sia un alleato che un nemico!")
else
print(player.Name .. " non è né un alleato né un nemico!")
end
end
end
-- Ascolta per nuovi giocatori che vengono aggiunti
Players.PlayerAdded:Connect(playerAdded)
-- Gestisci i giocatori già nel gioco
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

GetEnemiesAsync
Resa
Capacità: Groups
GroupService:GetEnemiesAsync(groupId:number):StandardPages
Parametri
groupId:number
Restituzioni
Campioni di codice
GroupService:GetEnemiesAsync
local Players = game:GetService("Players")
local GroupService = game:GetService("GroupService")
local GROUP_ID = 57
-- crea un elenco di tutti i nemici di un dato gruppo
local enemies = {}
local pages = GroupService:GetEnemiesAsync(GROUP_ID)
while true do
for _, group in pairs(pages:GetCurrentPage()) do
table.insert(enemies, group)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
end
function onPlayerAdded(player)
for _, enemyGroup in pairs(enemies) do
if player:IsInGroupAsync(enemyGroup.Id) then
print("Il giocatore è un nemico!")
break
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
-- gestisci i giocatori che si sono uniti mentre l'elenco dei nemici era ancora in caricamento
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
Controllore Alleati/Nemici di Gruppo
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- Definisci qui l'ID del gruppo
local GROUP_ID = 271454
-- Funzione di utilità per gestire le pagine
local function pagesToArray(pages)
local array = {}
while true do
for _, v in ipairs(pages:GetCurrentPage()) do
table.insert(array, v)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
end
return array
end
-- Ottieni elenchi di alleati e nemici
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- Converti in array
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- Controlla se il giocatore è nel gruppo
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. " è un membro!")
else
local isAlly, isEnemy = false, false
-- Controlla se il giocatore è in uno dei gruppi alleati
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- Controlla se il giocatore è in uno dei gruppi nemici
for _, groupInfo in ipairs(enemies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isEnemy = true
break
end
end
if isAlly and not isEnemy then
print(player.Name .. " è un alleato!")
elseif isEnemy and not isAlly then
print(player.Name .. " è un nemico!")
elseif isEnemy and isAlly then
print(player.Name .. " è sia un alleato che un nemico!")
else
print(player.Name .. " non è né un alleato né un nemico!")
end
end
end
-- Ascolta per nuovi giocatori che vengono aggiunti
Players.PlayerAdded:Connect(playerAdded)
-- Gestisci i giocatori già nel gioco
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

GetGroupInfoAsync
Resa
Capacità: Groups
GroupService:GetGroupInfoAsync(groupId:number):Variant
Parametri
groupId:number
Restituzioni
Variant
Campioni di codice
GroupService:GetGroupInfoAsync
local GroupService = game:GetService("GroupService")
local GROUP_ID = 377251
local group = GroupService:GetGroupInfoAsync(GROUP_ID)
print(group.Name .. " ha i seguenti ruoli:")
for _, role in ipairs(group.Roles) do
print("Grado " .. role.Rank .. ": " .. role.Name)
end
Carica Emblema di Gruppo
local GroupService = game:GetService("GroupService")
local function getEmblemAsync(groupId)
local groupInfo = GroupService:GetGroupInfoAsync(groupId)
return groupInfo.EmblemUrl
end
local part = Instance.new("Part")
part.Anchored = true
part.CanCollide = false
part.Size = Vector3.new(5, 5, 1)
part.Position = Vector3.new(0, 5, 0)
local decal = Instance.new("Decal")
decal.Parent = part
part.Parent = workspace
decal.ColorMapContent = Content.fromUri(getEmblemAsync(377251))

GetGroupsAsync
Resa
Capacità: Groups
GroupService:GetGroupsAsync(userId:User):{any}
Parametri
userId:User
Restituzioni
Campioni di codice
Ottenere i Gruppi di cui un Utente è Membro
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
local function playerAdded(player)
-- carica un elenco di informazioni su tutti i gruppi di cui il giocatore è membro
local groups = GroupService:GetGroupsAsync(player.UserId)
for _, groupInfo in pairs(groups) do
for key, value in pairs(groupInfo) do
print(key .. ": " .. tostring(value))
end
print("--")
end
end
Players.PlayerAdded:Connect(playerAdded)
-- attraversa i giocatori esistenti
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
end

GetRolesInGroupAsync
Resa
Capacità: Groups
GroupService:GetRolesInGroupAsync(
userId:User, groupId:number
):Variant
Parametri
userId:User
groupId:number
Restituzioni
Variant

PromptJoinAsync
Resa
Capacità: Groups
GroupService:PromptJoinAsync(groupId:number):Enum.GroupMembershipStatus
Parametri
groupId:number
Campioni di codice
Richiesta a un giocatore di unirsi a un gruppo
local GroupService = game:GetService("GroupService")
local GROUP_ID = 377251
-- Questo deve essere fatto in uno script in esecuzione sul client
local success, result = pcall(function()
return GroupService:PromptJoinAsync(GROUP_ID)
end)
if success then
if result == Enum.GroupMembershipStatus.Joined then
print("Giocatore unito al gruppo!")
elseif result == Enum.GroupMembershipStatus.JoinRequestPending then
print("Il giocatore ha una richiesta di unione in sospeso")
elseif result == Enum.GroupMembershipStatus.AlreadyMember then
print("Già membro")
else
print("Non unito o non idoneo")
end
else
warn("Invito fallito:", result)
end

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.