배우기
엔진 클래스
GroupService
만들 수 없음
서비스
복제되지 않음

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.


코드 샘플
그룹 동맹/적 확인기
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- 그룹 ID를 여기에 정의합니다
local GROUP_ID = 271454
-- 페이지를 처리하기 위한 유틸리티 함수
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
-- 동맹 및 적 목록 가져오기
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- 배열로 변환
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- 플레이어가 그룹에 있는지 확인합니다
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. "는 구성원입니다!")
else
local isAlly, isEnemy = false, false
-- 플레이어가 연합 그룹에 있는지 확인합니다
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- 플레이어가 적 그룹에 있는지 확인합니다
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 .. "는 동맹입니다!")
elseif isEnemy and not isAlly then
print(player.Name .. "는 적입니다!")
elseif isEnemy and isAlly then
print(player.Name .. "는 동맹이자 적입니다!")
else
print(player.Name .. "는 동맹도 적도 아닙니다!")
end
end
end
-- 새로운 플레이어가 추가되는 것을 듣습니다
Players.PlayerAdded:Connect(playerAdded)
-- 게임에 이미 있는 플레이어 처리
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

API 참조
메서드
GetAlliesAsync
생성
기능: Groups
GroupService:GetAlliesAsync(groupId:number):StandardPages
매개 변수
groupId:number
코드 샘플
GroupService:GetAlliesAsync
local Players = game:GetService("Players")
local GroupService = game:GetService("GroupService")
local GROUP_ID = 57
-- 주어진 그룹의 모든 동맹 목록을 생성합니다
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("플레이어는 동맹입니다!")
break
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
-- 동맹 목록이 여전히 로딩 중일 때 가입한 플레이어를 처리합니다
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
그룹 동맹/적 확인기
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- 그룹 ID를 여기에 정의합니다
local GROUP_ID = 271454
-- 페이지를 처리하기 위한 유틸리티 함수
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
-- 동맹 및 적 목록 가져오기
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- 배열로 변환
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- 플레이어가 그룹에 있는지 확인합니다
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. "는 구성원입니다!")
else
local isAlly, isEnemy = false, false
-- 플레이어가 연합 그룹에 있는지 확인합니다
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- 플레이어가 적 그룹에 있는지 확인합니다
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 .. "는 동맹입니다!")
elseif isEnemy and not isAlly then
print(player.Name .. "는 적입니다!")
elseif isEnemy and isAlly then
print(player.Name .. "는 동맹이자 적입니다!")
else
print(player.Name .. "는 동맹도 적도 아닙니다!")
end
end
end
-- 새로운 플레이어가 추가되는 것을 듣습니다
Players.PlayerAdded:Connect(playerAdded)
-- 게임에 이미 있는 플레이어 처리
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

GetEnemiesAsync
생성
기능: Groups
GroupService:GetEnemiesAsync(groupId:number):StandardPages
매개 변수
groupId:number
코드 샘플
그룹서비스: 적 비동기 가져오기
local Players = game:GetService("Players")
local GroupService = game:GetService("GroupService")
local GROUP_ID = 57
-- 주어진 그룹의 모든 적의 목록을 생성합니다.
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("플레이어가 적입니다!")
break
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
-- 적 목록이 아직 로드되는 동안 가입한 플레이어 처리
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
그룹 동맹/적 확인기
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
-- 그룹 ID를 여기에 정의합니다
local GROUP_ID = 271454
-- 페이지를 처리하기 위한 유틸리티 함수
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
-- 동맹 및 적 목록 가져오기
local alliesPages = GroupService:GetAlliesAsync(GROUP_ID)
local enemiesPages = GroupService:GetEnemiesAsync(GROUP_ID)
-- 배열로 변환
local allies = pagesToArray(alliesPages)
local enemies = pagesToArray(enemiesPages)
local function playerAdded(player)
-- 플레이어가 그룹에 있는지 확인합니다
if player:IsInGroupAsync(GROUP_ID) then
print(player.Name .. "는 구성원입니다!")
else
local isAlly, isEnemy = false, false
-- 플레이어가 연합 그룹에 있는지 확인합니다
for _, groupInfo in ipairs(allies) do
local groupId = groupInfo.Id
if player:IsInGroupAsync(groupId) then
isAlly = true
break
end
end
-- 플레이어가 적 그룹에 있는지 확인합니다
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 .. "는 동맹입니다!")
elseif isEnemy and not isAlly then
print(player.Name .. "는 적입니다!")
elseif isEnemy and isAlly then
print(player.Name .. "는 동맹이자 적입니다!")
else
print(player.Name .. "는 동맹도 적도 아닙니다!")
end
end
end
-- 새로운 플레이어가 추가되는 것을 듣습니다
Players.PlayerAdded:Connect(playerAdded)
-- 게임에 이미 있는 플레이어 처리
for _, player in ipairs(Players:GetPlayers()) do
playerAdded(player)
end

GetGroupInfoAsync
생성
기능: Groups
GroupService:GetGroupInfoAsync(groupId:number):Variant
매개 변수
groupId:number
반환
Variant
코드 샘플
GroupService:GetGroupInfoAsync
local GroupService = game:GetService("GroupService")
local GROUP_ID = 377251
local group = GroupService:GetGroupInfoAsync(GROUP_ID)
print(group.Name .. "는 다음 역할을 가지고 있습니다:")
for _, role in ipairs(group.Roles) do
print("등급 " .. role.Rank .. ": " .. role.Name)
end
그룹 엠블럼 불러오기
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
생성
기능: Groups
GroupService:GetGroupsAsync(userId:User):{any}
매개 변수
userId:User
반환
코드 샘플
사용자가 가입한 그룹 가져오기
local GroupService = game:GetService("GroupService")
local Players = game:GetService("Players")
local function playerAdded(player)
-- 플레이어가 가입한 모든 그룹에 대한 정보를 로드합니다.
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)
-- 기존 플레이어들을 처리합니다.
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
end

GetRolesInGroupAsync
생성
기능: Groups
GroupService:GetRolesInGroupAsync(
userId:User, groupId:number
):Variant
매개 변수
userId:User
groupId:number
반환
Variant

PromptJoinAsync
생성
기능: Groups
GroupService:PromptJoinAsync(groupId:number):Enum.GroupMembershipStatus
매개 변수
groupId:number
코드 샘플
플레이어에게 그룹에 참여하라는 메시지
local GroupService = game:GetService("GroupService")
local GROUP_ID = 377251
-- 이것은 클라이언트에서 실행되는 스크립트에서 수행해야 합니다
local success, result = pcall(function()
return GroupService:PromptJoinAsync(GROUP_ID)
end)
if success then
if result == Enum.GroupMembershipStatus.Joined then
print("플레이어가 그룹에 가입했습니다!")
elseif result == Enum.GroupMembershipStatus.JoinRequestPending then
print("플레이어에게 미결 가입 요청이 있습니다.")
elseif result == Enum.GroupMembershipStatus.AlreadyMember then
print("이미 회원입니다.")
else
print("가입하지 않았거나 자격이 없습니다.")
end
else
warn("프롬프트 실패:", result)
end

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.