Apprendre
Classe de moteur
GroupService
Création impossible
Service
Non répliqué

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.


Résumé
Membres hérités
Échantillons de code
Vérificateur d'alliés/enemis de groupe
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- Définir l'ID du groupe ici
local GROUP_ID = 271454
-- Fonction utilitaire pour gérer les pages
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
-- Obtenir les listes d'alliés et d'ennemis
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- Convertir en tableau
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- Vérifier si le joueur est dans le groupe
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. " est un membre !")
else
local isAlly, isEnemy = false, false
-- Vérifier si le joueur est dans des groupes alliés
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- Vérifier si le joueur est dans des groupes ennemis
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 .. " est un allié !")
elseif isEnemy and not isAlly then
print(player.Name .. " est un ennemi !")
elseif isEnemy and isAlly then
print(player.Name .. " est à la fois un allié et un ennemi !")
else
print(player.Name .. " n'est ni un allié ni un ennemi !")
end
end
end
-- Écouter l'ajout de nouveaux joueurs
Players.PlayerAdded:Connect(playerAdded)
-- Gérer les joueurs déjà en jeu
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

Référence API
Méthodes
GetAlliesAsync
Rendement
Capacités : Groups
GroupService:GetAlliesAsync(groupId:number):StandardPages
Paramètres
groupId:number
Échantillons de code
GroupService:GetAlliesAsync
local Players = game:GetService("Players")
local GroupService = game:GetService("GroupService")
local GROUP_ID = 57
-- crée une table de tous les alliés d'un groupe donné
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("Le joueur est un allié !")
break
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
-- gérer les joueurs qui ont rejoint pendant que la liste des alliés était encore en cours de chargement
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
Vérificateur d'alliés/enemis de groupe
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- Définir l'ID du groupe ici
local GROUP_ID = 271454
-- Fonction utilitaire pour gérer les pages
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
-- Obtenir les listes d'alliés et d'ennemis
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- Convertir en tableau
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- Vérifier si le joueur est dans le groupe
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. " est un membre !")
else
local isAlly, isEnemy = false, false
-- Vérifier si le joueur est dans des groupes alliés
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- Vérifier si le joueur est dans des groupes ennemis
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 .. " est un allié !")
elseif isEnemy and not isAlly then
print(player.Name .. " est un ennemi !")
elseif isEnemy and isAlly then
print(player.Name .. " est à la fois un allié et un ennemi !")
else
print(player.Name .. " n'est ni un allié ni un ennemi !")
end
end
end
-- Écouter l'ajout de nouveaux joueurs
Players.PlayerAdded:Connect(playerAdded)
-- Gérer les joueurs déjà en jeu
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

GetEnemiesAsync
Rendement
Capacités : Groups
GroupService:GetEnemiesAsync(groupId:number):StandardPages
Paramètres
groupId:number
Échantillons de code
GroupeService:GetEnemiesAsync
local Players = game:GetService("Players")
local GroupService = game:GetService("GroupService")
local GROUP_ID = 57
-- crée une liste de tous les ennemis d'un groupe donné
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("Le joueur est un ennemi !")
break
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
-- gérer les joueurs qui ont rejoint pendant que la liste des ennemis était encore en cours de chargement
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
Vérificateur d'alliés/enemis de groupe
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- Définir l'ID du groupe ici
local GROUP_ID = 271454
-- Fonction utilitaire pour gérer les pages
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
-- Obtenir les listes d'alliés et d'ennemis
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- Convertir en tableau
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- Vérifier si le joueur est dans le groupe
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. " est un membre !")
else
local isAlly, isEnemy = false, false
-- Vérifier si le joueur est dans des groupes alliés
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- Vérifier si le joueur est dans des groupes ennemis
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 .. " est un allié !")
elseif isEnemy and not isAlly then
print(player.Name .. " est un ennemi !")
elseif isEnemy and isAlly then
print(player.Name .. " est à la fois un allié et un ennemi !")
else
print(player.Name .. " n'est ni un allié ni un ennemi !")
end
end
end
-- Écouter l'ajout de nouveaux joueurs
Players.PlayerAdded:Connect(playerAdded)
-- Gérer les joueurs déjà en jeu
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

GetGroupInfoAsync
Rendement
Capacités : Groups
GroupService:GetGroupInfoAsync(groupId:number):Variant
Paramètres
groupId:number
Retours
Variant
Échantillons de code
GroupeService:GetInformationsDuGroupeAsync
local GroupService = game:GetService("GroupService")
local GROUP_ID = 377251
local group = GroupService:GetGroupInfoAsync(GROUP_ID)
print(group.Name .. " a les rôles suivants :")
for _, role in ipairs(group.Roles) do
print("Rang " .. role.Rank .. ": " .. role.Name)
end
Charger l'emblème du groupe
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
Rendement
Capacités : Groups
GroupService:GetGroupsAsync(userId:User):{any}
Paramètres
userId:User
Retours
Échantillons de code
Obtenir les groupes auxquels un utilisateur appartient
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
local function playerAdded(player)
-- charger une liste d'informations sur tous les groupes dont le joueur est membre
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)
-- parcourir les joueurs existants
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
end

GetRolesInGroupAsync
Rendement
Capacités : Groups
GroupService:GetRolesInGroupAsync(
userId:User, groupId:number
):Variant
Paramètres
userId:User
groupId:number
Retours
Variant

PromptJoinAsync
Rendement
Capacités : Groups
GroupService:PromptJoinAsync(groupId:number):Enum.GroupMembershipStatus
Paramètres
groupId:number
Échantillons de code
Inviter un joueur à rejoindre un groupe
local GroupService = game:GetService("GroupService")
local GROUP_ID = 377251
-- Cela doit être fait dans un script exécuté sur le client
local success, result = pcall(function()
return GroupService:PromptJoinAsync(GROUP_ID)
end)
if success then
if result == Enum.GroupMembershipStatus.Joined then
print("Le joueur a rejoint le groupe !")
elseif result == Enum.GroupMembershipStatus.JoinRequestPending then
print("Le joueur a une demande d'adhésion en attente")
elseif result == Enum.GroupMembershipStatus.AlreadyMember then
print("Déjà membre")
else
print("N'a pas rejoint ou non éligible")
end
else
warn("L'invite a échoué:", result)
end

©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.