A 플러그인 은 Studio에 추가 기능이나 기능을 추가하는 확장입니다.크리에이터 상점커뮤니티 제작 플러그인을 설치할 수 있거나 생성하고 게시하여 경험 전반에 걸쳐 사용할 도구 상자에 자신만의 플러그인을 게시할 수 있습니다.
플러그인을 크리에이터 상점배포하기로 선택한 경우, 무료로 제공하거나 미국 달러 (최소 가격은 $4.99)에 판매할 수 있습니다.Roblox는 세금과 지불 처리 수수료만 공제되므로 이러한 판매에 대해 시장 선도 수익 공유를 제공합니다.플러그인 판매에 대한 자세한 정보는 크리에이터 스토어에서 판매를 참조하십시오.
새로운 플러그인 만들기
Studio에서 작업 흐름을 개선하기 위해 자체 플러그인을 만들 수 있습니다.다음 코드 샘플은 빈 스크립트를 개체의 자식 또는 ServerScriptService에 삽입하는 플러그인인 EmptyScriptAdder 입니다.다음 섹션에서는 이 플러그인을 만드는 주요 부분을 설명합니다.
시작하려면 Studio의 설정 Studio 섹션 에서 플러그인 디버깅 활성화 를 활성화해야 합니다.이렇게 하면 Studio에서 플러그인 코드에 대한 실시간 디버깅을 제공하고 플러그인을 다시 로드하고 저장하기가 더 쉬워지는 PluginDebugService가 노출됩니다.
EmptyScriptAdder 플러그인
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- 「사용자 지정 스크립트 도구」라는 제목의 새로운 도구 모음 섹션 만들기
local toolbar = plugin:CreateToolbar("Custom Script Tools")
-- 빈 스크립트 생성"이라는 제목의 도구 모음 버튼 추가
local newScriptButton = toolbar:CreateButton("Create Empty Script", "Create an empty script", "rbxassetid://14978048121")
-- 3D 뷰포트가 숨겨져 있어도 버튼을 클릭할 수 있게 하기
newScriptButton.ClickableWhenViewportHidden = true
local function onNewScriptButtonClicked()
local selectedObjects = Selection:Get()
local parent = game:GetService("ServerScriptService")
if #selectedObjects > 0 then
parent = selectedObjects[1]
end
local newScript = Instance.new("Script")
newScript.Source = ""
newScript.Parent = parent
ChangeHistoryService:SetWaypoint("Added new empty script")
end
newScriptButton.Click:Connect(onNewScriptButtonClicked)
플러그인 스크립트 저장
플러그인은 스크립트에서 시작됩니다.플러그인을 생성하려면 Script를 생성하고 탐색기를 사용하여 플러그인으로 저장하십시오.예를 들어, EmptyScriptAdder 플러그인 을 생성하려면:
새로운 Script를 내부에 삽입하고 ServerStorage에서 이름을 EmptyScriptAdder 로 변경합니다.
새 스크립트에 EmptyScriptAdder 플러그인 코드를 복사하고 붙여넣습니다.
탐색기 창에서 스크립트를 마우스 오른쪽 버튼으로 클릭하고 로컬 플러그인으로 저장을 선택합니다.
팝업 창에서 저장 을 클릭하여 Studio 설치의 로컬 플러그인 폴더에 플러그인 스크립트를 삽입합니다.
플러그인은 PluginDebugService에 나타나고 실행을 시작해야 합니다.
변경사항 다시 불러오고 저장
내부의 와 함께, 플러그인을 오른쪽 클릭하고 컨텍스트 메뉴에서 플러그인 저장 및 다시 불러오기 를 선택하여 플러그인을 쉽게 업데이트할 수 있습니다.예를 들어, 플러그인을 저장하지 않고 중단점을 사용하여 코드 섹션을 단계별로 진행하려는 경우, 대신 플러그인 재로드 를 선택할 수 있습니다.
도구 모음 버튼 추가
Studio 도구 모음의 플러그인 탭에 플러그인용 버튼을 추가하려면 Plugin:CreateToolbar() 및 PluginToolbar:CreateButton() 메서드를 사용하십시오.EmptyScriptAdder의 코드에서 5번째 줄은 도구 모음에 사용자 지정 스크립트 도구 라는 새로운 섹션을 만들고 8번째 줄은 빈 스크립트 생성 버튼을 만듭니다.

클릭 시 코드 실행
사용자가 도구 모음 버튼을 클릭할 때 플러그인이 코드를 실행하도록 하려면 버튼의 PluginToolbarButton.Click 이벤트에 함수를 연결하십시오.EmptyScriptAdder의 코드에서 연결 기능은 입니다.
사용자 선택 확인
사용자가 선택한 것에 따라 플러그인의 동작을 수정하려면 Selection 서비스를 사용하십시오.onNewScriptButtonClicked() 함수는 사용자가 선택한 항목이 있는지 확인하고 새 스크립트를 ServerScriptService 대신 자식으로 만듭니다.사용자가 선택한 항목이 없으면 ServerScriptService에서 새 스크립트를 생성합니다.

실행 취소 및 다시 실행 지원
을 사용하여 사용자가 경험 내에서 플러그인에 의해 만들어진 변경을 취소하고 다시 수행할 수 있도록 합니다.스크립트에서 플러그인을 호출하도록 설정하고 API 호출에 할당된 식별자를 변경하기 전에 저장하십시오.In your script, set the plugin to call ChangeHistoryService:TryBeginRecording() and store the identifier assigned to the API call before making changes.그런 다음 변경 사항을 적용한 후 ChangeHistoryService:FinishRecording() 호출하도록 플러그인을 설정하여 레코딩 세션 중에 이루어진 모든 변경 사항을 취소하고 다시 수행할 수 있습니다.
다음 코드 샘플은 선택한 부품에 네온 재료를 적용할 수 있는 예시 플러그인을 만듭니다.플러그인에 의해 수행된 변경 사항을 기록하고 관리하기 위해 ChangeHistoryService를 사용합니다:
실행 취소 및 다시 실행하기를 위한 기록이 있는 예시 재료 플러그인
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- 예제 플러그인 만들기
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- 함수를 클릭 이벤트에 연결하기
button.Click:Connect(function()
local parts = {}
for _, part in Selection:Get() do
if part:IsA("BasePart") then
parts[#parts + 1] = part
end
end
if #parts < 1 then
-- 할 일은 없습니다.
return
end
-- 특정 식별자로 레코딩을 시작하려고 하십시오
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- 녹화가 성공적으로 시작되었는지 확인
if not recording then
-- 여기서 오류를 처리합니다. 이것은 플러그인이 이전에 시작되었음을 나타냅니다.
-- 기록하고 결코 완료하지 않았습니다. 기록은 하나만 가능합니다
-- 한 번에 활성화된 플러그인 당.
return
end
-- 선택한 부품을 반복하여 검사
for _, part in parts do
part.Material = Enum.Material.Neon -- 부품의 재료를 네온으로 설정
end
-- 녹음 완료, 기록에 변경 사항 커밋
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)
플러그인 업로드, 배포 및 수익 창출
모델, 메쉬, 이미지, 및 애니메이션과 마찬가지로, 플러그인을 Roblox에 배포하여 도구 상자에서 쉽게 재사용할 수 있도록 할 수 있습니다.크리에이터 스토어에서 모든 다른 크리에이터에게 공개적으로 사용할 수 있도록 하거나, 자신의 사용을 위해 비공개로 배포할 수 있습니다.플러그인을 공개적으로 배포하기로 선택한 경우 다른 크리에이터에게 판매할 가격을 설정할 수 있습니다.
플러그인 배포:
탐색기 창에서 플러그인 스크립트를 마우스 오른쪽 버튼으로 클릭한 다음 컨텍스트 메뉴에서 플러그인으로 게시를 선택하십시오.
(옵션) 자산 구성 창의 왼쪽 상단 모서리에서 이미지를 클릭하여 512×512 이미지를 업로드합니다.
다음 필드를 채우세요:
- 이름 : 플러그인의 제목.
- 설명 : 잠재 사용자가 플러그인이 수행해야 하는 것을 기대하는 설명
- 크리에이터 : 플러그인의 크리에이터로 기재하고 싶은 크리에이터.
클릭하십시오 제출 버튼.이제 플러그인이 인벤토리 및 창작 탭의 도구 상자에서 사용 가능합니다.
크리에이터 대시보드 링크를 클릭하여 배포 구성을 합니다.