배우기
엔진 클래스
Players
만들 수 없음
서비스

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


요약
메서드
BanAsync(config: Dictionary):()
Chat(message: string):()
CreateHumanoidModelFromDescription(description: HumanoidDescription,rigType: Enum.HumanoidRigType,assetTypeVerification: Enum.AssetTypeVerification):Model
사용되지 않음
CreateHumanoidModelFromUserId(userId: User):Model
사용되지 않음
GetCharacterAppearanceAsync(userId: User):Model
사용되지 않음
getPlayers():{Player}
사용되지 않음
GetProfileConfigurationFromUserIdAsync(userId: User):ProfileConfiguration
playerFromCharacter(character: Model):Player
사용되지 않음
players():{Player}
사용되지 않음
TeamChat(message: string):()
상속된 멤버

API 참조
속성
BanningEnabled
스크립팅할 수 없음
병렬 읽기
기능: Players
Players.BanningEnabled:boolean

BubbleChat
읽기 전용
복제되지 않음
병렬 읽기
기능: Chat, Players
Players.BubbleChat:boolean

CharacterAutoLoads
복제되지 않음
병렬 읽기
기능: Players
Players.CharacterAutoLoads:boolean
코드 샘플
플레이어 리스폰 타이머
local Players = game:GetService("Players")
-- CharacterAutoLoads를 false로 설정
Players.CharacterAutoLoads = false
-- 죽음 시 작업 공간에서 플레이어의 캐릭터 제거
Players.PlayerAdded:Connect(function(player)
while true do
local char = player.CharacterAdded:Wait()
char.Humanoid.Died:Connect(function()
char:Destroy()
end)
end
end)
-- 10초마다 모든 죽은 플레이어 리스폰
while true do
local players = Players:GetChildren()
-- 각 플레이어가 죽었는지 확인하기 위해 캐릭터가 없는지 확인, 죽었으면 해당 플레이어의 캐릭터 로드
for _, player in pairs(players) do
if not workspace:FindFirstChild(player.Name) then
player:LoadCharacterAsync()
end
end
-- 다음 리스폰 확인까지 10초 대기
task.wait(10)
end

ClassicChat
읽기 전용
복제되지 않음
병렬 읽기
기능: Chat, Players
Players.ClassicChat:boolean

LocalPlayer
읽기 전용
복제되지 않음
병렬 읽기
기능: Players
Players.LocalPlayer:Player

localPlayer
사용되지 않음

MaxPlayers
읽기 전용
복제되지 않음
병렬 읽기
기능: Players
Players.MaxPlayers:number

NumPlayers
사용되지 않음

numPlayers
사용되지 않음

PreferredPlayers
읽기 전용
복제되지 않음
병렬 읽기
기능: Players
Players.PreferredPlayers:number

RespawnTime
병렬 읽기
기능: Players
Players.RespawnTime:number

UseStrafingAnimations
스크립팅할 수 없음
병렬 읽기
기능: Players
Players.UseStrafingAnimations:boolean

메서드
BanAsync
생성
기능: Players, Consequences
Players:BanAsync(config:Dictionary):()
매개 변수
config:Dictionary
반환
()
코드 샘플
사용자 차단
local Players = game:GetService("Players")
if shouldBeBanned(player) then
local banHistoryPages = Players:GetBanHistoryAsync(player.UserId)
local duration = 86400 -- 24시간을 초로 변환한 값입니다. 권장 사항: 사용자의 BanHistory를 기반으로 자체 로직을 사용하세요.
local config: BanConfigType = {
UserIds = { player.UserId },
Duration = duration,
DisplayReason = "커뮤니티 가이드라인 #5를 위반했습니다.",
PrivateReason = "사용자가 알지 않아야 하지만 기록에 도움이 되는 내용을 여기에 입력하세요.",
ExcludeAltAccounts = false,
ApplyToUniverse = true,
}
local success, err = pcall(function()
return Players:BanAsync(config)
end)
print(success, err)
end

Chat
플러그인 보안
기능: Players
Players:Chat(message:string):()
매개 변수
message:string
반환
()
코드 샘플
Players:Chat
-- 명령어 바
game:GetService("Players"):Chat("Hello, world!") --결과: 'Hello, world!'가 플레이어 이름 아래의 채팅 로그에 나타납니다.
-- 스크립트
local Players = game:GetService("Players")
Players:Chat("Hello, world!") --오류 발생

CreateHumanoidModelFromDescription
사용되지 않음

CreateHumanoidModelFromDescriptionAsync
생성
기능: AvatarAppearance, Players
Players:CreateHumanoidModelFromDescriptionAsync(
description:HumanoidDescription, rigType:Enum.HumanoidRigType, assetTypeVerification:Enum.AssetTypeVerification
매개 변수
assetTypeVerification:Enum.AssetTypeVerification
기본값: "Default"
반환
코드 샘플
설명에서 휴머노이드 모델 만들기
game.Players:CreateHumanoidModelFromDescriptionAsync(Instance.new("HumanoidDescription"), Enum.HumanoidRigType.R15).Parent =
game.Workspace

CreateHumanoidModelFromUserId
사용되지 않음

CreateHumanoidModelFromUserIdAsync
생성
기능: Players
Players:CreateHumanoidModelFromUserIdAsync(userId:User):Model
매개 변수
userId:User
반환
코드 샘플
사용자 ID로 휴머노이드 모델 만들기
game.Players:CreateHumanoidModelFromUserIdAsync(1).Parent = game.Workspace

GetBanHistoryAsync
생성
기능: Players, Consequences
Players:GetBanHistoryAsync(userId:User):BanHistoryPages
매개 변수
userId:User

GetCharacterAppearanceAsync
사용되지 않음

GetCharacterAppearanceInfoAsync
생성
기능: Players
Players:GetCharacterAppearanceInfoAsync(userId:User):Dictionary
매개 변수
userId:User
코드 샘플
예제 반환 캐릭터 외형 사전
local result = {
playerAvatarType = "R15",
defaultPantsApplied = false,
defaultShirtApplied = false,
scales = {
bodyType = 0,
head = 1,
height = 1.05,
proportion = 0,
depth = 0.92,
width = 0.85,
},
bodyColors = {
leftArmColorId = 1030,
torsoColorId = 1001,
rightArmColorId = 1030,
headColorId = 1030,
leftLegColorId = 1001,
rightLegColorId = 1001,
},
assets = {
{
id = 1031492,
assetType = {
name = "모자",
id = 8,
},
name = "줄무늬 모자",
},
{
id = 13062491,
assetType = {
name = "얼굴 액세서리",
id = 42,
},
name = "비전 프랑세즈 ",
},
{
id = 16598440,
assetType = {
name = "목 액세서리",
id = 43,
},
name = "빨간 나비 넥타이",
},
{
id = 28999228,
assetType = {
name = "얼굴",
id = 18,
},
name = "즐거운 놀람",
},
{
id = 86896488,
assetType = {
name = "셔츠",
id = 11,
},
name = "비싼 빨간 턱시도 재킷",
},
{
id = 86896502,
assetType = {
name = "바지",
id = 12,
},
name = "비싼 빨간 턱시도 바지",
},
{
id = 376530220,
assetType = {
name = "왼쪽 팔",
id = 29,
},
name = "ROBLOX 소년 왼쪽 팔",
},
{
id = 376531012,
assetType = {
name = "오른쪽 팔",
id = 28,
},
name = "ROBLOX 소년 오른쪽 팔",
},
{
id = 376531300,
assetType = {
name = "왼쪽 다리",
id = 30,
},
name = "ROBLOX 소년 왼쪽 다리",
},
{
id = 376531703,
assetType = {
name = "오른쪽 다리",
id = 31,
},
name = "ROBLOX 소년 오른쪽 다리",
},
{
id = 376532000,
assetType = {
name = "몸통",
id = 27,
},
name = "ROBLOX 소년 몸통",
},
},
}
print(result)

GetFriendsAsync
생성
기능: Players, Social
Players:GetFriendsAsync(userId:User):FriendPages
매개 변수
userId:User
코드 샘플
로블록스 친구 출력
local Players = game:GetService("Players")
local USERNAME = "Cozecant"
local function iterPageItems(pages)
return coroutine.wrap(function()
local pagenum = 1
while true do
for _, item in ipairs(pages:GetCurrentPage()) do
coroutine.yield(item, pagenum)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
pagenum = pagenum + 1
end
end)
end
-- 먼저, 플레이어의 사용자 ID를 가져옵니다
local userId = Players:GetUserIdFromNameAsync(USERNAME)
-- 그런 다음, 그들의 친구를 위한 FriendPages 객체를 가져옵니다
local friendPages = Players:GetFriendsAsync(userId)
-- 페이지의 항목을 반복합니다. FriendPages의 경우,
-- 이는 친구에 대한 정보 테이블로, 사용자 이름을 포함합니다.
-- 각 사용자 이름을 테이블에 수집합니다
local usernames = {}
for item, _pageNo in iterPageItems(friendPages) do
table.insert(usernames, item.Username)
end
print("" .. USERNAME .. "의 연결: " .. table.concat(usernames, ", "))

GetHumanoidDescriptionFromOutfitId
사용되지 않음

GetHumanoidDescriptionFromOutfitIdAsync
생성
기능: AvatarAppearance, Players
Players:GetHumanoidDescriptionFromOutfitIdAsync(outfitId:number):HumanoidDescription
매개 변수
outfitId:number
코드 샘플
아웃핏 ID에서 HumanoidDescription 가져오기
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local function getOutfitId(bundleId)
if bundleId <= 0 then
return
end
local info = game.AssetService:GetBundleDetailsAsync(bundleId)
if not info then
return
end
for _, item in pairs(info.Items) do
if item.Type == "UserOutfit" then
return item.Id
end
end
return nil
end
local function getHumanoidDescriptionBundle(bundleId)
local itemId = getOutfitId(bundleId)
if itemId and itemId > 0 then
return Players:GetHumanoidDescriptionFromOutfitIdAsync(itemId)
end
return nil
end
local humanoidDescription = getHumanoidDescriptionBundle(799)
local humanoidModel = Players:CreateHumanoidModelFromDescriptionAsync(humanoidDescription, Enum.HumanoidRigType.R15)
humanoidModel.Parent = Workspace

GetHumanoidDescriptionFromUserId
사용되지 않음

GetHumanoidDescriptionFromUserIdAsync
생성
기능: AvatarAppearance, Players
Players:GetHumanoidDescriptionFromUserIdAsync(userId:User):HumanoidDescription
매개 변수
userId:User
코드 샘플
사용자 ID에서 HumanoidDescription 가져오기
game.Players:CreateHumanoidModelFromDescriptionAsync(
game.Players:GetHumanoidDescriptionFromUserIdAsync(1),
Enum.HumanoidRigType.R15
).Parent =
game.Workspace

GetNameFromUserIdAsync
생성
기능: Players
Players:GetNameFromUserIdAsync(userId:User):string
매개 변수
userId:User
반환
코드 샘플
사용자 ID에서 이름 가져오기
local Players = game:GetService("Players")
-- 예제 데이터:
-- 사용자 ID: 118271 이름: "RobloxRulez"
-- 사용자 ID: 131963979 이름: "docsRule"
local nameOne = Players:GetNameFromUserIdAsync(118271)
local nameTwo = Players:GetNameFromUserIdAsync(131963979)
print(nameOne, nameTwo)
-- 출력: "RobloxRulez docsRule"
사용자 ID에서 캐시를 사용하여 이름 가져오기
local Players = game:GetService("Players")
-- 'cache'라는 테이블을 생성하여 발견된 각 'Name'을 저장합니다.
-- 동일한 'UserId'를 사용하여 'Name'을 조회하면, 'Name'은
-- GetNameFromUserIdAsync() (결과 반환) 대신 캐시에서 가져옵니다.
local cache = {}
function getNameFromUserId(userId)
-- 먼저, 캐시에 'userId'가 포함되어 있는지 확인합니다.
local nameFromCache = cache[userId]
if nameFromCache then
-- 캐시에 'userId' 키로 저장된 값이 있다면, 이 'nameFromCache'가
-- 올바른 Name이며 반환할 수 있습니다.
return nameFromCache
end
-- 여기까지 오면, 'userId'가 이전에 조회되지 않았고 캐시에 존재하지 않습니다.
-- 이제 GetNameFromUserIdAsync()를 사용하여 이름을 조회해야 합니다.
local name
local success, _ = pcall(function()
name = Players:GetNameFromUserIdAsync(userId)
end)
if success then
-- 'success'가 true이면, GetNameFromUserIdAsync()가 성공적으로
-- 이름을 찾았습니다. 이 이름을 'userId'를 키로 사용하여 캐시에 저장하여
-- 앞으로 이 이름을 다시 조회할 필요가 없도록 합니다. 그런 다음 이름을 반환합니다.
cache[userId] = name
return name
end
-- 여기까지 오면, 'success'가 false였다는 의미로, GetNameFromUserIdAsync()
--가 제공된 'userId'에 대한 'name'을 찾을 수 없었습니다. 사용자에게
-- 이 일이 발생했음을 경고한 후, 아무것도 반환하지 않거나 nil을 반환합니다.
warn("UserId에 대한 Name을 찾을 수 없습니다:", userId)
return nil
end
-- 예시 데이터:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
-- UserId가 처음 사용될 때, GetNameFromUserIdAsync()가 호출됩니다.
local nameOne = getNameFromUserId(118271)
local nameTwo = getNameFromUserId(131963979)
-- 118271이 이전에 사용되었으므로, 캐시에서 이름을 가져옵니다.
local nameOneQuick = getNameFromUserId(118271)
print(nameOne, nameTwo, nameOneQuick)
-- 출력: "RobloxRulez docsRule RobloxRulez"

GetPlayerByUserId
병렬 쓰기
기능: Players
Players:GetPlayerByUserId(userId:User):Player
매개 변수
userId:User
반환
코드 샘플
Players:GetPlayerByUserId
local Players = game:GetService("Players")
local player = Players:GetPlayerByUserId(1)
if player then
print("userId 1을 가진 플레이어가 이 서버에 있습니다! 그들의 이름은: " .. player.Name)
else
print("userId 1을 가진 플레이어가 이 서버에 없습니다!")
end

GetPlayerFromCharacter
기능: Players
시뮬레이션 액세스
Players:GetPlayerFromCharacter(character:Model):Player
매개 변수
character:Model
반환
코드 샘플
Players:GetPlayerFromCharacter
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local PLAYER_NAME = "Nightriff"
local character = Workspace:FindFirstChild(PLAYER_NAME)
local player = Players:GetPlayerFromCharacter(character)
if player then
print(`플레이어 {player.Name} ({player.UserId})가 게임에 있습니다`)
else
print(`플레이어 {PLAYER_NAME}는 게임에 없습니다!`)
end

GetPlayers
병렬 쓰기
기능: Players
Players:GetPlayers():{Player}
반환
코드 샘플
모든 이에게 반짝이를 주기
local Players = game:GetService("Players")
local function onCharacterAdded(character)
-- 그들이 머리에 반짝이를 가지고 있지 않으면 주기
if not character:FindFirstChild("Sparkles") then
local sparkles = Instance.new("Sparkles")
sparkles.Parent = character:WaitForChild("Head")
end
end
local function onPlayerAdded(player)
-- 그들이 이미 소환되었는지 확인하기
if player.Character then
onCharacterAdded(player.Character)
end
-- 플레이어의 (재)소환을 수신 대기하기
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)

getPlayers
사용되지 않음

GetProfileConfigurationFromUserIdAsync
생성
기능: AvatarAppearance, Players
Players:GetProfileConfigurationFromUserIdAsync(userId:User):ProfileConfiguration
매개 변수
userId:User
반환
ProfileConfiguration

GetUserIdFromNameAsync
생성
기능: Players
Players:GetUserIdFromNameAsync(userName:string):number
매개 변수
userName:string
반환
코드 샘플
이름으로 UserId 가져오기
local Players = game:GetService("Players")
-- 예시 데이터:
-- UserId: 118271 이름: "RobloxRulez"
-- UserId: 131963979 이름: "docsRule"
local userIdOne = Players:GetUserIdFromNameAsync("RobloxRulez")
local userIdTwo = Players:GetUserIdFromNameAsync("docsRule")
print(userIdOne, userIdTwo)
-- 출력: "118271 131963979"
이름으로부터 UserId 가져오기 (캐시 사용)
local Players = game:GetService("Players")
-- 'UserId'를 찾을 때마다 저장할 'cache'라는 테이블을 생성합니다.
-- 동일한 'Name'을 사용하여 'UserId'를 조회하면, 'UserId'는
-- GetUserIdFromNameAsync() (yield) 대신 캐시에서 가져옵니다.
local cache = {}
function getUserIdFromName(name)
-- 먼저, 캐시에 'name'이 포함되어 있는지 확인합니다.
local userIdFromCache = cache[name]
if userIdFromCache then
-- 'name' 키에 캐시에 값이 저장되어 있다면, 이 'userIdFromCache'가
-- 올바른 UserId이며 반환할 수 있습니다.
return userIdFromCache
end
-- 여기까지 오면, 'name'이 이전에 조회되지 않았고 캐시에 존재하지 않습니다.
-- 이제 GetUserIdFromNameAsync()를 사용하여 userId를 조회해야 합니다.
local userId
local success, _ = pcall(function()
userId = Players:GetUserIdFromNameAsync(name)
end)
if success then
-- 'success'가 true이면, GetUserIdFromNameAsync()가 userId를 성공적으로 찾았습니다.
-- 이 userId를 'name'을 키로 하여 캐시에 저장하여
-- 앞으로 이 userId를 다시 조회할 필요가 없도록 합니다. 그런 다음 userId를 반환합니다.
cache[name] = userId
return userId
end
-- 여기까지 오면, 'success'가 false였다는 의미로, GetUserIdFromNameAsync()
--가 제공된 'name'에 대한 'userId'를 찾을 수 없었습니다. 이 일이 발생했음을
-- 사용자에게 경고하고 아무것도 반환하지 않거나 nil을 반환할 수 있습니다.
warn("이름에 대한 UserId를 찾을 수 없습니다:", name)
return nil
end
-- 예시 데이터:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
-- 이름이 처음 사용될 때, GetUserIdFromNameAsync()가 호출됩니다.
local userIdOne = getUserIdFromName("RobloxRulez")
local userIdTwo = getUserIdFromName("docsRule")
-- "RobloxRulez"가 이전에 사용되었으므로, 캐시에서 UserId를 가져옵니다.
local userIdOneQuick = getUserIdFromName("RobloxRulez")
print(userIdOne, userIdTwo, userIdOneQuick)
-- 출력: "118271 131963979 118271"

GetUserThumbnailAsync
생성
기능: Players
Players:GetUserThumbnailAsync(
userId:User, thumbnailType:Enum.ThumbnailType, thumbnailSize:Enum.ThumbnailSize
매개 변수
userId:User
thumbnailType:Enum.ThumbnailType
thumbnailSize:Enum.ThumbnailSize
반환
코드 샘플
플레이어 썸네일 표시
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local PLACEHOLDER_IMAGE = "rbxassetid://0" -- 플레이스홀더 이미지로 교체
-- 썸네일 가져오기
local userId = player.UserId
local thumbType = Enum.ThumbnailType.HeadShot
local thumbSize = Enum.ThumbnailSize.Size420x420
local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize)
-- ImageLabel의 내용을 사용자 썸네일로 설정
local imageLabel = script.Parent
imageLabel.Image = (isReady and content) or PLACEHOLDER_IMAGE
imageLabel.Size = UDim2.new(0, 420, 0, 420)

playerFromCharacter
사용되지 않음

players
사용되지 않음

SetChatStyle
플러그인 보안
기능: Players
Players:SetChatStyle(style:Enum.ChatStyle):()
매개 변수
기본값: "Classic"
반환
()
코드 샘플
플레이어의 채팅 스타일 설정
-- 명령어 바
game.Players:SetChatStyle(Enum.ChatStyle.Classic) -- 채팅 스타일을 클래식으로 설정
-- LocalScript
local Players = game:GetService("Players")
Players:SetChatStyle(Enum.ChatStyle.Classic) -- 오류 발생

TeamChat
플러그인 보안
기능: Players
Players:TeamChat(message:string):()
매개 변수
message:string
반환
()
코드 샘플
팀 채팅 전송
-- 명령어 바
game.Players:TeamChat("Hello World") -- 로컬 플레이어의 팀에 "Hello World" 메시지를 전송합니다.
-- LocalScript
local Players = game:GetService("Players")
Players:TeamChat("Hello World") -- 오류 발생

UnbanAsync
생성
기능: Players, Consequences
Players:UnbanAsync(config:Dictionary):()
매개 변수
config:Dictionary
반환
()
코드 샘플
사용자 차단 해제
local Players = game:GetService("Players")
if shouldBeUnbanned(player) then
local config: UnbanConfigType = {
UserIds = { player.UserId, 789 },
ApplyToUniverse = false,
}
local success, err = pcall(function()
return Players:UnbanAsync(config)
end)
print(success, err)
end

이벤트
PlayerAdded
기능: Players
Players.PlayerAdded(player:Player):RBXScriptSignal
매개 변수
player:Player
코드 샘플
Players.PlayerAdded
local Players = game:GetService("Players")
local function onPlayerAdded(player)
print("플레이어가 들어왔습니다: " .. player.Name)
end
Players.PlayerAdded:Connect(onPlayerAdded)

PlayerMembershipChanged
기능: Players
Players.PlayerMembershipChanged(player:Player):RBXScriptSignal
매개 변수
player:Player
코드 샘플
프리미엄 멤버십 변경 처리
local Players = game:GetService("Players")
local function grantPremiumBenefits(player)
-- 플레이어에게 프리미엄 전용 지역, 아이템 또는 상상할 수 있는 모든 것에 대한 접근을 부여합니다!
print("Giving", player, "premium benefits!")
end
local function playerAdded(player)
if player.MembershipType == Enum.MembershipType.Premium then
grantPremiumBenefits(player)
end
end
local function playerMembershipChanged(player)
print("Received event PlayerMembershipChanged. New membership = " .. tostring(player.MembershipType))
if player.MembershipType == Enum.MembershipType.Premium then
grantPremiumBenefits(player)
end
end
Players.PlayerAdded:Connect(playerAdded)
Players.PlayerMembershipChanged:Connect(playerMembershipChanged)

PlayerRemoving
기능: Players
Players.PlayerRemoving(
매개 변수
player:Player
코드 샘플
Players.PlayerRemoving
local Players = game:GetService("Players")
local function onPlayerRemoving(player)
print("플레이어가 나갔습니다: " .. player.Name)
end
Players.PlayerRemoving:Connect(onPlayerRemoving)

UserSubscriptionStatusChanged
기능: Players, Monetization
Players.UserSubscriptionStatusChanged(
user:Player, subscriptionId:string
매개 변수
user:Player
subscriptionId:string

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