@weppy/roblox-mcp 2.5.1 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.github/workflows/install-test.yml +55 -4
- package/CHANGELOG.md +27 -0
- package/README.md +29 -46
- package/SUPPORT.md +4 -6
- package/install.ps1 +7 -5
- package/install.sh +4 -2
- package/llms-full.txt +8 -688
- package/llms.txt +3 -13
- package/package.json +1 -1
- package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogDetailPage-kwE4pHZd.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-BFfSWE_s.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ConfirmModal-DfdyAPrJ.js → ConfirmModal-CeEegyOx.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-D_mEFudd.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-XuHLuNwR.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/GameChangeDetail-BFTVWFJO.js +6 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{PropertyDiff-Cbx8P1zh.css → GameChangeDetail-Be32PRgR.css} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{InfoLabel-DrK7vhO-.js → InfoLabel-MCIgnb3Z.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/OverviewPage-BrWw_dSf.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{PlaytestPage-CgkzRAqQ.js → PlaytestPage-CxeJXqJZ.js} +2 -2
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-Qd2a2pgi.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{StatusBadge-hJyzgRAl.js → StatusBadge-Dk0M7zQF.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-BmMeN4N9.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-Wu2tD8Lb.js +4 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierComparison-DsesL0R1.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-C7ld3BhY.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TooltipText-CjH5N6RH.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/WhatsNewPage-BwWOghgp.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-FDX6EnZH.js +355 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-XEVy0XAx.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{useLiveUptime-BeRNzFBh.js → useLiveUptime-DExWULj9.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/index.html +2 -2
- package/plugins/weppy-roblox-mcp/dist/index.js +77 -77
- package/plugins/weppy-roblox-mcp/roblox-plugin/WeppyRobloxMCP.rbxm +0 -0
- package/docs/compatibility.md +0 -44
- package/docs/en/dashboard/changelog.md +0 -114
- package/docs/en/dashboard/connection.md +0 -77
- package/docs/en/dashboard/overview.md +0 -95
- package/docs/en/dashboard/playtest.md +0 -61
- package/docs/en/dashboard/settings.md +0 -60
- package/docs/en/dashboard/sync.md +0 -68
- package/docs/en/dashboard/tools.md +0 -69
- package/docs/en/explorer/overview.md +0 -104
- package/docs/en/installation/README.md +0 -95
- package/docs/en/installation/ai-apps/antigravity.md +0 -89
- package/docs/en/installation/ai-apps/claude-app.md +0 -78
- package/docs/en/installation/ai-apps/claude-code.md +0 -104
- package/docs/en/installation/ai-apps/codex-app.md +0 -56
- package/docs/en/installation/ai-apps/codex-cli.md +0 -67
- package/docs/en/installation/ai-apps/cursor.md +0 -77
- package/docs/en/installation/ai-apps/gemini-cli.md +0 -120
- package/docs/en/installation/roblox-explorer.md +0 -68
- package/docs/en/installation/roblox-plugin.md +0 -96
- package/docs/en/pro-upgrade.md +0 -96
- package/docs/en/sync/luau-lsp.md +0 -41
- package/docs/en/sync/overview.md +0 -153
- package/docs/en/tools/assets-and-effects.md +0 -104
- package/docs/en/tools/instances-and-properties.md +0 -104
- package/docs/en/tools/overview.md +0 -277
- package/docs/en/tools/playtest.md +0 -140
- package/docs/en/tools/scripting.md +0 -66
- package/docs/en/tools/system-and-debugging.md +0 -93
- package/docs/en/tools/world-and-environment.md +0 -102
- package/docs/es/README.md +0 -209
- package/docs/es/dashboard/changelog.md +0 -114
- package/docs/es/dashboard/connection.md +0 -77
- package/docs/es/dashboard/overview.md +0 -95
- package/docs/es/dashboard/playtest.md +0 -61
- package/docs/es/dashboard/settings.md +0 -60
- package/docs/es/dashboard/sync.md +0 -68
- package/docs/es/dashboard/tools.md +0 -69
- package/docs/es/explorer/overview.md +0 -104
- package/docs/es/installation/README.md +0 -87
- package/docs/es/installation/ai-apps/antigravity.md +0 -89
- package/docs/es/installation/ai-apps/claude-app.md +0 -78
- package/docs/es/installation/ai-apps/claude-code.md +0 -104
- package/docs/es/installation/ai-apps/codex-app.md +0 -56
- package/docs/es/installation/ai-apps/codex-cli.md +0 -67
- package/docs/es/installation/ai-apps/cursor.md +0 -77
- package/docs/es/installation/ai-apps/gemini-cli.md +0 -120
- package/docs/es/installation/roblox-explorer.md +0 -58
- package/docs/es/installation/roblox-plugin.md +0 -85
- package/docs/es/pro-upgrade.md +0 -96
- package/docs/es/sync/luau-lsp.md +0 -41
- package/docs/es/sync/overview.md +0 -153
- package/docs/es/tools/assets-and-effects.md +0 -104
- package/docs/es/tools/instances-and-properties.md +0 -104
- package/docs/es/tools/overview.md +0 -277
- package/docs/es/tools/playtest.md +0 -140
- package/docs/es/tools/scripting.md +0 -66
- package/docs/es/tools/system-and-debugging.md +0 -93
- package/docs/es/tools/world-and-environment.md +0 -102
- package/docs/id/README.md +0 -209
- package/docs/id/dashboard/changelog.md +0 -114
- package/docs/id/dashboard/connection.md +0 -77
- package/docs/id/dashboard/overview.md +0 -95
- package/docs/id/dashboard/playtest.md +0 -61
- package/docs/id/dashboard/settings.md +0 -60
- package/docs/id/dashboard/sync.md +0 -68
- package/docs/id/dashboard/tools.md +0 -69
- package/docs/id/explorer/overview.md +0 -104
- package/docs/id/installation/README.md +0 -93
- package/docs/id/installation/ai-apps/antigravity.md +0 -89
- package/docs/id/installation/ai-apps/claude-app.md +0 -78
- package/docs/id/installation/ai-apps/claude-code.md +0 -104
- package/docs/id/installation/ai-apps/codex-app.md +0 -56
- package/docs/id/installation/ai-apps/codex-cli.md +0 -67
- package/docs/id/installation/ai-apps/cursor.md +0 -77
- package/docs/id/installation/ai-apps/gemini-cli.md +0 -120
- package/docs/id/installation/roblox-explorer.md +0 -58
- package/docs/id/installation/roblox-plugin.md +0 -85
- package/docs/id/pro-upgrade.md +0 -96
- package/docs/id/sync/luau-lsp.md +0 -41
- package/docs/id/sync/overview.md +0 -153
- package/docs/id/tools/assets-and-effects.md +0 -104
- package/docs/id/tools/instances-and-properties.md +0 -104
- package/docs/id/tools/overview.md +0 -277
- package/docs/id/tools/playtest.md +0 -140
- package/docs/id/tools/scripting.md +0 -66
- package/docs/id/tools/system-and-debugging.md +0 -93
- package/docs/id/tools/world-and-environment.md +0 -102
- package/docs/installer/assets/index-Bz0amd7x.js +0 -63
- package/docs/installer/assets/index-ei4lRUa6.css +0 -1
- package/docs/installer/index.html +0 -14
- package/docs/installer/manifest.webmanifest +0 -15
- package/docs/installer/sw.js +0 -7
- package/docs/installer/weppy-icon.png +0 -0
- package/docs/ja/README.md +0 -207
- package/docs/ja/dashboard/changelog.md +0 -114
- package/docs/ja/dashboard/connection.md +0 -77
- package/docs/ja/dashboard/overview.md +0 -95
- package/docs/ja/dashboard/playtest.md +0 -61
- package/docs/ja/dashboard/settings.md +0 -60
- package/docs/ja/dashboard/sync.md +0 -68
- package/docs/ja/dashboard/tools.md +0 -69
- package/docs/ja/explorer/overview.md +0 -104
- package/docs/ja/installation/README.md +0 -93
- package/docs/ja/installation/ai-apps/antigravity.md +0 -89
- package/docs/ja/installation/ai-apps/claude-app.md +0 -78
- package/docs/ja/installation/ai-apps/claude-code.md +0 -104
- package/docs/ja/installation/ai-apps/codex-app.md +0 -56
- package/docs/ja/installation/ai-apps/codex-cli.md +0 -67
- package/docs/ja/installation/ai-apps/cursor.md +0 -77
- package/docs/ja/installation/ai-apps/gemini-cli.md +0 -120
- package/docs/ja/installation/roblox-explorer.md +0 -58
- package/docs/ja/installation/roblox-plugin.md +0 -85
- package/docs/ja/pro-upgrade.md +0 -96
- package/docs/ja/sync/luau-lsp.md +0 -41
- package/docs/ja/sync/overview.md +0 -153
- package/docs/ja/tools/assets-and-effects.md +0 -104
- package/docs/ja/tools/instances-and-properties.md +0 -104
- package/docs/ja/tools/overview.md +0 -277
- package/docs/ja/tools/playtest.md +0 -140
- package/docs/ja/tools/scripting.md +0 -66
- package/docs/ja/tools/system-and-debugging.md +0 -93
- package/docs/ja/tools/world-and-environment.md +0 -102
- package/docs/ko/README.md +0 -207
- package/docs/ko/dashboard/changelog.md +0 -114
- package/docs/ko/dashboard/connection.md +0 -77
- package/docs/ko/dashboard/overview.md +0 -95
- package/docs/ko/dashboard/playtest.md +0 -61
- package/docs/ko/dashboard/settings.md +0 -60
- package/docs/ko/dashboard/sync.md +0 -68
- package/docs/ko/dashboard/tools.md +0 -69
- package/docs/ko/explorer/overview.md +0 -104
- package/docs/ko/installation/README.md +0 -95
- package/docs/ko/installation/ai-apps/antigravity.md +0 -88
- package/docs/ko/installation/ai-apps/claude-app.md +0 -78
- package/docs/ko/installation/ai-apps/claude-code.md +0 -104
- package/docs/ko/installation/ai-apps/codex-app.md +0 -56
- package/docs/ko/installation/ai-apps/codex-cli.md +0 -67
- package/docs/ko/installation/ai-apps/cursor.md +0 -77
- package/docs/ko/installation/ai-apps/gemini-cli.md +0 -120
- package/docs/ko/installation/roblox-explorer.md +0 -68
- package/docs/ko/installation/roblox-plugin.md +0 -96
- package/docs/ko/pro-upgrade.md +0 -96
- package/docs/ko/sync/luau-lsp.md +0 -41
- package/docs/ko/sync/overview.md +0 -153
- package/docs/ko/tools/assets-and-effects.md +0 -104
- package/docs/ko/tools/instances-and-properties.md +0 -104
- package/docs/ko/tools/overview.md +0 -277
- package/docs/ko/tools/playtest.md +0 -134
- package/docs/ko/tools/scripting.md +0 -66
- package/docs/ko/tools/system-and-debugging.md +0 -93
- package/docs/ko/tools/world-and-environment.md +0 -102
- package/docs/pt-br/README.md +0 -209
- package/docs/pt-br/dashboard/changelog.md +0 -114
- package/docs/pt-br/dashboard/connection.md +0 -77
- package/docs/pt-br/dashboard/overview.md +0 -95
- package/docs/pt-br/dashboard/playtest.md +0 -61
- package/docs/pt-br/dashboard/settings.md +0 -60
- package/docs/pt-br/dashboard/sync.md +0 -68
- package/docs/pt-br/dashboard/tools.md +0 -69
- package/docs/pt-br/explorer/overview.md +0 -104
- package/docs/pt-br/installation/README.md +0 -93
- package/docs/pt-br/installation/ai-apps/antigravity.md +0 -89
- package/docs/pt-br/installation/ai-apps/claude-app.md +0 -78
- package/docs/pt-br/installation/ai-apps/claude-code.md +0 -104
- package/docs/pt-br/installation/ai-apps/codex-app.md +0 -56
- package/docs/pt-br/installation/ai-apps/codex-cli.md +0 -67
- package/docs/pt-br/installation/ai-apps/cursor.md +0 -77
- package/docs/pt-br/installation/ai-apps/gemini-cli.md +0 -120
- package/docs/pt-br/installation/roblox-explorer.md +0 -58
- package/docs/pt-br/installation/roblox-plugin.md +0 -85
- package/docs/pt-br/pro-upgrade.md +0 -96
- package/docs/pt-br/sync/luau-lsp.md +0 -41
- package/docs/pt-br/sync/overview.md +0 -153
- package/docs/pt-br/tools/assets-and-effects.md +0 -104
- package/docs/pt-br/tools/instances-and-properties.md +0 -104
- package/docs/pt-br/tools/overview.md +0 -277
- package/docs/pt-br/tools/playtest.md +0 -140
- package/docs/pt-br/tools/scripting.md +0 -66
- package/docs/pt-br/tools/system-and-debugging.md +0 -93
- package/docs/pt-br/tools/world-and-environment.md +0 -102
- package/docs/troubleshooting.md +0 -47
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogDetailPage-DRfFUIvC.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-Dgl8dBt6.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-9bG71eB1.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-LSvSX1_u.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/OverviewPage-CXsGuoPu.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PropertyDiff-Dy3MffNh.js +0 -6
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-D2ZBQ2KF.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-CLt9jxd8.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-eX2Rh-Ct.js +0 -4
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierComparison-BwKqP_4s.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierPromo-D5n9OoEm.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierPromo.module-CAoUYgIx.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierPromoProgress-CLAr1gQq.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-CqzfCxxH.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/WhatsNewPage-23o8LmsR.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-BfvSPSNj.js +0 -207
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-YfUJSF5s.css +0 -1
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# WEPPY Roblox Explorer (VSCode · Antigravity 확장)
|
|
2
|
-
|
|
3
|
-
> **선택 사항** — Explorer는 필수가 아닙니다. MCP와 플러그인만으로도 모든 핵심 기능을 사용할 수 있습니다. 프로젝트 구조를 에디터에서 탐색하고 싶을 때 설치하세요.
|
|
4
|
-
|
|
5
|
-
Roblox Studio의 Explorer와 동일한 인스턴스 트리를 에디터에서 볼 수 있는 확장입니다. 동기화된 인스턴스를 탐색하고, 스크립트를 바로 열고, Sync 상태를 에디터 안에서 확인할 수 있습니다.
|
|
6
|
-
이 확장은 WEPPY용 companion 확장이며, 단독 Roblox 연동 도구는 아닙니다.
|
|
7
|
-
|
|
8
|
-

|
|
9
|
-
|
|
10
|
-
## 요구 사항
|
|
11
|
-
|
|
12
|
-
- VSCode 1.85+ 또는 Antigravity
|
|
13
|
-
- [Roblox MCP](../../../README.md) 설치 및 Sync 활성화 (Basic 또는 Pro)
|
|
14
|
-
- 프로젝트 루트 아래에 Sync가 생성한 `weppy-project-sync/place_*/.sync-meta.json` 존재
|
|
15
|
-
|
|
16
|
-
## 설치 방법
|
|
17
|
-
|
|
18
|
-
### VSCode
|
|
19
|
-
|
|
20
|
-
VSCode Extensions 사이드바(`Ctrl+Shift+X` / `Cmd+Shift+X`)에서 **WEPPY Roblox Explorer**를 검색하고 **Install**을 클릭합니다.
|
|
21
|
-
|
|
22
|
-
또는 아래 마켓플레이스에서 바로 설치할 수 있습니다.
|
|
23
|
-
|
|
24
|
-
- [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=weppy.weppy-roblox-explorer)
|
|
25
|
-
- [Open VSX](https://open-vsx.org/extension/weppy/weppy-roblox-explorer)
|
|
26
|
-
|
|
27
|
-
### Antigravity
|
|
28
|
-
|
|
29
|
-
Antigravity는 VSCode 기반이므로 동일한 확장을 사용합니다. Antigravity의 Extensions 탭에서 **WEPPY Roblox Explorer**를 검색하고 **Install**을 클릭합니다.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
기본 트리 탐색은 디스크에 있는 sync 파일만으로 동작합니다. 로컬 MCP 서버에 연결되면 실시간 sync 상태, direction 표시, Explorer 텔레메트리 전달 기능을 함께 사용할 수 있습니다.
|
|
34
|
-
|
|
35
|
-
## 기능
|
|
36
|
-
|
|
37
|
-
- **인스턴스 트리**: Roblox Studio와 동일한 서비스/인스턴스 계층 구조
|
|
38
|
-
- **Roblox 클래스 아이콘**: 200개 이상의 클래스 아이콘 (다크/라이트 테마 지원)
|
|
39
|
-
- **멀티 Place**: 동기화된 Place별로 트리 루트 분리
|
|
40
|
-
- **클릭으로 파일 열기**: `.server.luau`, `.client.luau`, `.module.luau`, `.props.json` 등 바로 열기
|
|
41
|
-
- **인스턴스 검색**: 모든 서비스에 걸쳐 QuickPick 검색
|
|
42
|
-
- **Sync 상태 배지**: `modified`, `studio`, `conflict` 상태를 한눈에 확인
|
|
43
|
-
- **자동 새로고침**: Sync 파일 변경 시 트리 자동 갱신 (500ms 디바운스)
|
|
44
|
-
- **인스턴스 경로 복사**: 우클릭으로 `game.Workspace.Part` 형식의 경로 복사
|
|
45
|
-
|
|
46
|
-
## 설정
|
|
47
|
-
|
|
48
|
-
| 설정 | 기본값 | 설명 |
|
|
49
|
-
|------|--------|------|
|
|
50
|
-
| `robloxExplorer.syncRoot` | `""` | `weppy-project-sync` 루트 절대 경로. 비워두면 자동 탐색합니다. WEPPY는 `{projectRoot}/weppy-project-sync` 를 사용합니다. |
|
|
51
|
-
| `robloxExplorer.hidePropsFiles` | `false` | 기본 VSCode 탐색기에서 동기화 파일(`.props.json`, `_tree.json`, `.value.json`)을 숨깁니다. |
|
|
52
|
-
| `robloxExplorer.autoRefresh` | `true` | Sync 파일 변경 시 트리를 자동으로 새로고침합니다. |
|
|
53
|
-
| `robloxExplorer.showSyncStatus` | `true` | 트리 항목에 Sync 상태 장식을 표시합니다. |
|
|
54
|
-
|
|
55
|
-
## 명령어
|
|
56
|
-
|
|
57
|
-
| 명령어 | 설명 |
|
|
58
|
-
|--------|------|
|
|
59
|
-
| `WEPPY Explorer: Refresh` | 인스턴스 트리 수동 새로고침 |
|
|
60
|
-
| `WEPPY Explorer: Search Instances` | 모든 서비스에서 인스턴스 검색 |
|
|
61
|
-
| `WEPPY Explorer: Open Backing File` | 선택한 인스턴스의 파일 열기 |
|
|
62
|
-
| `WEPPY Explorer: Copy Instance Path` | 전체 인스턴스 경로 복사 (예: `game.Workspace.Part`) |
|
|
63
|
-
| `WEPPY Explorer: Reveal in Explorer` | 기본 VSCode 탐색기에서 파일 표시 |
|
|
64
|
-
|
|
65
|
-
## 관련 문서
|
|
66
|
-
|
|
67
|
-
- [Sync 기능 상세 가이드](../sync/overview.md)
|
|
68
|
-
- [설치 가이드](README.md)
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
# Roblox 플러그인 설치
|
|
2
|
-
|
|
3
|
-
Roblox Studio에서 AI 에이전트와 연결하기 위한 플러그인 설치 방법입니다.
|
|
4
|
-
|
|
5
|
-
## 자동 설치 (권장)
|
|
6
|
-
|
|
7
|
-
MCP 서버 설치가 완료되었다면 플러그인은 **자동으로 설치**됩니다. 별도 다운로드나 파일 복사가 필요 없습니다.
|
|
8
|
-
|
|
9
|
-
### 동작 방식
|
|
10
|
-
|
|
11
|
-
1. MCP 서버가 처음 실행될 때 플러그인 파일(`WeppyRobloxMCP.rbxm`)을 Roblox Studio의 Plugins 폴더에 자동 배치합니다.
|
|
12
|
-
2. Roblox Studio를 시작하면 Plugins 탭에 **WEPPY** 버튼이 나타납니다.
|
|
13
|
-
|
|
14
|
-
### 연결하기
|
|
15
|
-
|
|
16
|
-
1. **Roblox Studio**에서 아무 프로젝트를 엽니다
|
|
17
|
-
2. 상단 **Plugins** 탭 → **WEPPY** 클릭
|
|
18
|
-
|
|
19
|
-

|
|
20
|
-
|
|
21
|
-
3. 플러그인 창에서 **Connect** 버튼 클릭
|
|
22
|
-
4. **"Connected"** 상태가 표시되면 연결 완료
|
|
23
|
-
|
|
24
|
-

|
|
25
|
-
|
|
26
|
-
> 자동 설치가 동작하지 않는 경우 아래 수동 설치를 진행하세요.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 수동 설치
|
|
31
|
-
|
|
32
|
-
자동 설치가 동작하지 않거나, 특정 버전을 직접 설치해야 하는 경우에 사용합니다.
|
|
33
|
-
|
|
34
|
-
### 1. 플러그인 다운로드
|
|
35
|
-
|
|
36
|
-
1. [GitHub Releases](https://github.com/hope1026/weppy-roblox-mcp/releases/latest) 열기
|
|
37
|
-
2. `weppy-roblox-mcp-v{버전}.zip` 다운로드
|
|
38
|
-
3. ZIP 압축 해제 — `roblox-plugin/WeppyRobloxMCP.rbxm` 파일 포함
|
|
39
|
-
|
|
40
|
-
### 2. 플러그인 설치
|
|
41
|
-
|
|
42
|
-
1. **Roblox Studio** 실행
|
|
43
|
-
2. 상단 메뉴 **Plugins** 탭 클릭
|
|
44
|
-
3. **Plugins Folder** 버튼 클릭
|
|
45
|
-
|
|
46
|
-

|
|
47
|
-
|
|
48
|
-
4. 압축 해제한 폴더에서 `WeppyRobloxMCP.rbxm` 파일을 열린 Plugins 폴더에 **복사**
|
|
49
|
-
5. **Roblox Studio 재시작**
|
|
50
|
-
|
|
51
|
-
### 3. 설치 확인
|
|
52
|
-
|
|
53
|
-
재시작 후 Plugins 탭에 **WEPPY** 버튼이 나타납니다.
|
|
54
|
-
|
|
55
|
-

|
|
56
|
-
|
|
57
|
-
### 4. 연결하기
|
|
58
|
-
|
|
59
|
-
위의 "연결하기" 섹션과 동일하게 Connect 버튼을 클릭하면 됩니다.
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## 설정 (선택사항)
|
|
64
|
-
|
|
65
|
-
플러그인 우측 상단의 설정 버튼을 클릭하면 다양한 옵션을 변경할 수 있습니다.
|
|
66
|
-
|
|
67
|
-

|
|
68
|
-
|
|
69
|
-
- **자동 연결**: Studio 시작 시 자동으로 MCP 서버에 연결
|
|
70
|
-
- **자동 재연결**: 연결이 끊어지면 자동으로 재연결 시도
|
|
71
|
-
- **자동 카메라 포커스**: 생성된 오브젝트로 카메라 자동 이동
|
|
72
|
-
- **언어**: 플러그인 UI 언어 변경
|
|
73
|
-
|
|
74
|
-
## 티어 안내
|
|
75
|
-
|
|
76
|
-
- Basic은 동일한 플러그인 패키지를 설치하고 Basic 정책(Studio → Local 단방향 Sync)으로 동작합니다.
|
|
77
|
-
- Pro 구독 라이선스 활성화 시 양방향 Sync와 더 넓은 고급 Tool 기능을 사용할 수 있습니다.
|
|
78
|
-
|
|
79
|
-
## 문제 해결
|
|
80
|
-
|
|
81
|
-
### 플러그인이 안 보여요
|
|
82
|
-
|
|
83
|
-
- Roblox Studio를 완전히 종료 후 재시작
|
|
84
|
-
- Plugins Folder에 파일이 제대로 복사되었는지 확인
|
|
85
|
-
- `.rbxm` 파일이 손상되지 않았는지 확인
|
|
86
|
-
|
|
87
|
-
### 연결이 안 돼요
|
|
88
|
-
|
|
89
|
-
- AI 앱에서 MCP 서버가 실행 중인지 확인
|
|
90
|
-
- 플러그인에서 **Connect** 버튼을 다시 클릭
|
|
91
|
-
- 포트 3002가 다른 프로그램에 사용 중인지 확인
|
|
92
|
-
|
|
93
|
-
### 연결이 자주 끊어져요
|
|
94
|
-
|
|
95
|
-
- 설정에서 **자동 재연결** 옵션 활성화
|
|
96
|
-
- AI 앱을 재시작
|
package/docs/ko/pro-upgrade.md
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
# Pro 업그레이드 가이드
|
|
2
|
-
|
|
3
|
-
## 왜 Pro인가?
|
|
4
|
-
|
|
5
|
-
### 실제 개발 워크플로우를 위한 양방향 Sync
|
|
6
|
-
|
|
7
|
-
Pro Sync는 단방향 내보내기를 넘어섭니다. 로컬에서 스크립트를 편집하고 Studio에 반영하세요. Studio에서 변경하고 로컬로 가져오세요. Pro는 양쪽을 항상 동기화합니다.
|
|
8
|
-
|
|
9
|
-
- **양방향 Sync** — Studio와 로컬 파일 간 양방향으로 변경사항이 흐릅니다.
|
|
10
|
-
- **타입별 Direction** — Scripts, Values, Containers, Data, Services를 각각 독립적으로 방향 설정.
|
|
11
|
-
- **타입별 Apply Mode** — 타입별로 Auto 또는 Manual을 선택하여 속도와 제어를 균형있게.
|
|
12
|
-
- **Full Sync / Resync** — 대규모 변경이나 재연결 후 즉시 깨끗한 프로젝트 상태를 재구축.
|
|
13
|
-
- **변경 기록** — 적용 전에 무엇이, 언제, 어느 방향으로 변경됐는지 추적.
|
|
14
|
-
- **멀티 Place Sync** — 최대 3개의 Roblox Place를 동시에 Sync하며, 각 Place마다 독립된 저장소와 변경 기록을 유지합니다.
|
|
15
|
-
|
|
16
|
-
### 고효율 워크플로우로 AI 토큰 절약
|
|
17
|
-
|
|
18
|
-
대량 및 고급 작업으로 반복 호출을 줄여 프롬프트 한 번에 더 많은 작업을 처리합니다.
|
|
19
|
-
|
|
20
|
-
### AI가 플레이테스트를 직접 제어
|
|
21
|
-
|
|
22
|
-
Studio 플레이테스트를 AI가 실행하고 검증합니다. F5(Play)/F8(Run) 시작/정지는 물론, 테스트 스크립트를 주입하고 로그를 수집해 리포트까지 자동 생성합니다.
|
|
23
|
-
|
|
24
|
-
- "Run 모드로 플레이테스트 시작하고, NPC가 목표 지점까지 이동하는지 확인해줘."
|
|
25
|
-
- "SpawnLocation이 지면 위에 있는지 테스트 스크립트를 작성해서 자동 실행해줘."
|
|
26
|
-
- "방금 수정한 스크립트가 에러 없이 동작하는지 플레이테스트로 검증해줘."
|
|
27
|
-
|
|
28
|
-
### 더 많은 Pro 전용 기능
|
|
29
|
-
|
|
30
|
-
Pro는 핵심 워크플로를 넘어 더 많은 기능을 사용할 수 있습니다.
|
|
31
|
-
|
|
32
|
-
- **대량 작업** — 한 번의 요청으로 여러 인스턴스를 생성·수정·삭제
|
|
33
|
-
- **터레인 생성** — 블록, 볼, 실린더, 웨지 채우기 및 재질 교체
|
|
34
|
-
- **에셋 검색/삽입** — Roblox 마켓에서 에셋을 검색하고 바로 삽입
|
|
35
|
-
- **공간 분석** — 레이캐스트, 지면 찾기, 평지 탐색, 충돌 검사
|
|
36
|
-
- **환경 제어** — 라이팅, 대기, 스카이, 시간대 설정
|
|
37
|
-
- **오디오/애니메이션** — 사운드 재생 및 애니메이션 로드/재생
|
|
38
|
-
|
|
39
|
-
## 구매 후 활성화
|
|
40
|
-
|
|
41
|
-
### 1단계: Gumroad에서 Pro 구독 라이선스 구매
|
|
42
|
-
|
|
43
|
-
1. [Gumroad - Weppy Roblox Plugin](https://gumroad.com/l/faccjs?utm_source=github&utm_medium=repo&utm_campaign=pro_upgrade_md) 접속
|
|
44
|
-
2. Pro 구독 라이선스 구매 완료
|
|
45
|
-
3. 결제 완료 후 받은 라이선스 키를 복사
|
|
46
|
-
|
|
47
|
-
라이선스는 **플러그인 또는 대시보드 중 한 곳에서만 한 번 활성화하면 충분합니다.** 두 화면은 같은 MCP 로컬 라이선스 상태를 공유하므로, 한쪽에서 활성화하면 다른 쪽에도 같은 상태가 반영됩니다.
|
|
48
|
-
|
|
49
|
-
### 플러그인에서 활성화
|
|
50
|
-
|
|
51
|
-
1. Roblox Studio에서 **WEPPY** 플러그인을 열고 MCP 서버에 연결합니다.
|
|
52
|
-
2. 플러그인의 **Settings > License** 섹션을 엽니다.
|
|
53
|
-
3. `License key` 입력창에 구매한 키를 붙여넣습니다.
|
|
54
|
-
4. **Activate** 버튼을 눌러 라이선스를 활성화합니다.
|
|
55
|
-
5. 상태가 바로 갱신되지 않으면 **Refresh** 버튼으로 다시 확인합니다.
|
|
56
|
-
6. 활성화가 완료되면 Basic 대신 Pro 상태로 표시되고 Pro 기능을 사용할 수 있습니다.
|
|
57
|
-
|
|
58
|
-

|
|
59
|
-
|
|
60
|
-
### 대시보드에서 활성화
|
|
61
|
-
|
|
62
|
-
1. MCP 서버를 실행한 뒤 대시보드의 **Settings > License** 섹션을 엽니다.
|
|
63
|
-
2. Provider가 `gumroad`로 선택되어 있는지 확인합니다.
|
|
64
|
-
3. `License Key` 입력창에 구매한 키를 붙여넣습니다.
|
|
65
|
-
4. **Activate License** 버튼을 눌러 라이선스를 활성화합니다.
|
|
66
|
-
5. 필요하면 **Refresh License**로 최신 상태를 다시 조회합니다.
|
|
67
|
-
|
|
68
|
-

|
|
69
|
-
|
|
70
|
-
### 활성화 후 확인
|
|
71
|
-
|
|
72
|
-
- 라이선스 상태가 `active` 또는 `grace`로 표시되면 Pro 기능을 사용할 수 있습니다.
|
|
73
|
-
- 플러그인과 대시보드는 같은 라이선스 상태를 공유하므로, 한쪽에서 활성화한 뒤 다른 쪽에서도 동일한 상태를 확인할 수 있습니다.
|
|
74
|
-
- 라이선스를 다시 확인해야 할 때는 `Refresh` 또는 `Refresh License`를 사용하세요.
|
|
75
|
-
|
|
76
|
-
## 기능 비교
|
|
77
|
-
|
|
78
|
-
| 기능 | Basic | Pro |
|
|
79
|
-
|-----|:-----:|:---:|
|
|
80
|
-
| 스크립트 생성/편집 | ✅ | ✅ |
|
|
81
|
-
| 인스턴스 생성/삭제/이동 | ✅ | ✅ + 대량 작업 |
|
|
82
|
-
| 속성 읽기/변경 | ✅ | ✅ + 대량 변경 |
|
|
83
|
-
| 선택, 태그, 검색 | ✅ | ✅ |
|
|
84
|
-
| 카메라 제어 | ✅ | ✅ |
|
|
85
|
-
| 로그 모니터링 | ✅ | ✅ |
|
|
86
|
-
| Luau 코드 실행 | ✅ | ✅ |
|
|
87
|
-
| 프로젝트 동기화 | Studio → Local 단방향 | 양방향 + 타입별 방향/모드 설정 |
|
|
88
|
-
| 멀티 Place Sync | — | 최대 3개 Place 동시 Sync |
|
|
89
|
-
| 변경 기록 | — | 적용 전 변경 내용 추적 |
|
|
90
|
-
| 플레이테스트 제어 | — | 실행 / 정지 / 일시정지 / 재개 + 자동 테스트 |
|
|
91
|
-
| 터레인 생성/편집 | — | 블록, 볼, 실린더, 웨지, 재질 교체 |
|
|
92
|
-
| 에셋 검색/삽입 | — | Roblox 마켓에서 검색 후 바로 삽입 |
|
|
93
|
-
| 공간 분석 | — | 레이캐스트, 지면 찾기, 충돌 검사 |
|
|
94
|
-
| 환경 제어 | — | 라이팅, 대기, 스카이, 시간대 |
|
|
95
|
-
| 오디오 / 애니메이션 | — | 사운드 재생, 애니메이션 로드/재생 |
|
|
96
|
-
| AI 토큰 효율 | 건별 작업 | 대량 action으로 호출 횟수 절감 |
|
package/docs/ko/sync/luau-lsp.md
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# WEPPY Sync에서 `luau-lsp` 사용하기
|
|
2
|
-
|
|
3
|
-
WEPPY Sync는 `luau-lsp`가 필요한 sourcemap 파일을 자동으로 생성할 수 있으므로, 별도의 Rojo 프로젝트를 따로 구성하지 않아도 Roblox 인식 편집기 기능을 사용할 수 있습니다.
|
|
4
|
-
|
|
5
|
-
## WEPPY가 생성하는 파일
|
|
6
|
-
|
|
7
|
-
Full Sync가 끝나면 WEPPY는 다음 파일을 생성합니다.
|
|
8
|
-
|
|
9
|
-
- Place sourcemap: `weppy-project-sync/place_<id>/sourcemap.json`
|
|
10
|
-
- 루트 대표 파일: `weppy-project-sync/sourcemap.json`
|
|
11
|
-
|
|
12
|
-
대부분의 사용자에게 권장되는 경로는 `weppy-project-sync/sourcemap.json`입니다.
|
|
13
|
-
|
|
14
|
-
## 어떤 점이 좋아지나
|
|
15
|
-
|
|
16
|
-
`luau-lsp`가 WEPPY sourcemap을 읽으면 다음이 개선됩니다.
|
|
17
|
-
|
|
18
|
-
- `game.*` 자동완성
|
|
19
|
-
- 동기화된 스크립트 기준 탐색
|
|
20
|
-
- 동기화된 스크립트 사이의 `require` 해석
|
|
21
|
-
|
|
22
|
-
## 권장 설정 방법
|
|
23
|
-
|
|
24
|
-
1. WEPPY가 `weppy-project-sync/sourcemap.json`을 만들도록 Full Sync를 한 번 실행합니다.
|
|
25
|
-
2. 에디터의 `luau-lsp` sourcemap 설정이 `weppy-project-sync/sourcemap.json`을 가리키게 합니다.
|
|
26
|
-
3. 사용하는 클라이언트에서 자동 Rojo 생성을 끌 수 있다면 `luau-lsp.sourcemap.autogenerate`를 `false`로 설정합니다.
|
|
27
|
-
|
|
28
|
-
VSCode 설정 예시:
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"luau-lsp.sourcemap.enabled": true,
|
|
33
|
-
"luau-lsp.sourcemap.autogenerate": false,
|
|
34
|
-
"luau-lsp.sourcemap.sourcemapFile": "weppy-project-sync/sourcemap.json"
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Multi-place 참고
|
|
39
|
-
|
|
40
|
-
`weppy-project-sync/sourcemap.json`은 프로젝트의 현재 대표 place를 따라갑니다.
|
|
41
|
-
특정 place를 고정해서 쓰고 싶다면 `luau-lsp`가 해당 place의 `weppy-project-sync/place_<id>/sourcemap.json`을 직접 보도록 설정하면 됩니다.
|
package/docs/ko/sync/overview.md
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
# Roblox MCP Sync 상세 가이드
|
|
2
|
-
|
|
3
|
-
Sync는 Roblox Studio 상태와 로컬 파일을 연결해, AI가 프로젝트 전체 문맥을 안정적으로 읽고 수정할 수 있게 만드는 기능입니다.
|
|
4
|
-
|
|
5
|
-
## 왜 Sync가 중요한가
|
|
6
|
-
|
|
7
|
-
Sync가 없으면 AI는 대화에 붙여 넣은 코드 일부만 보고 판단하게 됩니다. Sync를 켜면 프로젝트 전체를 기준으로 작업하므로 다음이 쉬워집니다.
|
|
8
|
-
|
|
9
|
-
- 여러 스크립트에 걸친 리팩터링을 일관되게 적용
|
|
10
|
-
- 변경 이력을 기반으로 위험한 수정만 빠르게 검토
|
|
11
|
-
- Studio와 로컬 중 어느 쪽이 기준인지 방향을 명확히 유지
|
|
12
|
-
|
|
13
|
-
## 기본 동작 방식
|
|
14
|
-
|
|
15
|
-

|
|
16
|
-
|
|
17
|
-
1. Full Sync: Studio 트리와 인스턴스를 로컬 미러로 초기 동기화
|
|
18
|
-
2. Incremental Sync: 변경 감시로 이후 변경분만 반영
|
|
19
|
-
3. History/Status 추적: 어떤 변경이 언제 어떤 방향으로 반영됐는지 확인
|
|
20
|
-
|
|
21
|
-
Sync 데이터는 `{projectRoot}/weppy-project-sync/place_{placeId}/explorer` 아래에 생성됩니다.
|
|
22
|
-
WEPPY는 여기에 더해 place별 sourcemap을 `{projectRoot}/weppy-project-sync/place_{placeId}/sourcemap.json`에 기록하고, 권장 루트 대표 파일을 `{projectRoot}/weppy-project-sync/sourcemap.json`에 유지합니다.
|
|
23
|
-
`luau-lsp` 같은 에디터 연동에는 루트 경로 사용을 권장합니다. 설정 방법은 [WEPPY Sync에서 `luau-lsp` 사용하기](./luau-lsp.md)에서 확인할 수 있습니다.
|
|
24
|
-
|
|
25
|
-
### VSCode에서 Sync 데이터 탐색
|
|
26
|
-
|
|
27
|
-
[WEPPY Roblox Explorer](../explorer/overview.md) 확장을 설치하면, 동기화된 인스턴스 트리를 Roblox Studio와 동일한 형태로 VSCode에서 탐색할 수 있습니다.
|
|
28
|
-
Explorer는 여기서 생성된 sync 파일을 읽고, 로컬 MCP 서버가 실행 중이면 추가로 실시간 sync 상태와 direction 정보를 표시할 수 있습니다.
|
|
29
|
-
|
|
30
|
-

|
|
31
|
-
|
|
32
|
-
- 서비스/인스턴스 트리를 Roblox 클래스 아이콘과 함께 표시
|
|
33
|
-
- 스크립트 파일을 클릭하면 바로 편집 가능
|
|
34
|
-
- Sync 상태 배지로 변경/충돌 확인
|
|
35
|
-
|
|
36
|
-
## Basic vs Pro
|
|
37
|
-
|
|
38
|
-
| 항목 | Basic | Pro |
|
|
39
|
-
|------|------|-----|
|
|
40
|
-
| 동기화 방향 | Studio -> Local | 양방향 |
|
|
41
|
-
| 타입별 Direction | 미지원 | 지원 (Scripts / Values / Containers / Data / Services) |
|
|
42
|
-
| 타입별 Apply Mode | 미지원 | 지원 (Auto / Manual) |
|
|
43
|
-
| 상태/기록 조회 API | 미지원 | 지원 (`status_current_place`, `history`, `progress`) |
|
|
44
|
-
| `manage_sync` 도구 사용 | 미지원 | 지원 |
|
|
45
|
-
| 멀티 Place Sync | 미지원 | 지원 (최대 3개 Place) |
|
|
46
|
-
|
|
47
|
-
## 동기화 대상과 기본 제외 규칙
|
|
48
|
-
|
|
49
|
-
기본 동기화 대상 서비스:
|
|
50
|
-
|
|
51
|
-
- `Workspace`
|
|
52
|
-
- `Lighting`
|
|
53
|
-
- `ReplicatedStorage`
|
|
54
|
-
- `ServerStorage`
|
|
55
|
-
- `ServerScriptService`
|
|
56
|
-
- `StarterGui`
|
|
57
|
-
- `StarterPlayer`
|
|
58
|
-
- `StarterPack`
|
|
59
|
-
- `ReplicatedFirst`
|
|
60
|
-
- `SoundService`
|
|
61
|
-
- `Chat`
|
|
62
|
-
- `LocalizationService`
|
|
63
|
-
|
|
64
|
-
기본 제외 항목:
|
|
65
|
-
|
|
66
|
-
- 클래스: `Terrain`, `Camera`
|
|
67
|
-
- 보안상 금지 경로: `CoreGui`, `CorePackages`, `RobloxScript`, `RobloxScriptSecurity`
|
|
68
|
-
|
|
69
|
-
## Direction과 Apply Mode
|
|
70
|
-
|
|
71
|
-
### Direction (타입별 동기화 방향)
|
|
72
|
-
|
|
73
|
-
- `forward`: Studio -> Local
|
|
74
|
-
- `reverse`: Local -> Studio
|
|
75
|
-
- `bidirectional`: 양방향
|
|
76
|
-
|
|
77
|
-
타입은 `scripts`, `values`, `containers`, `data`, `services`로 분리되어 관리됩니다.
|
|
78
|
-
|
|
79
|
-
### Apply Mode (reverse 변경 적용 방식)
|
|
80
|
-
|
|
81
|
-
- `manual`: Studio 반영 전 사용자가 확인 후 적용
|
|
82
|
-
- `auto`: 감지된 변경을 자동 적용
|
|
83
|
-
|
|
84
|
-
Pro에서는 타입별로 Direction/Apply Mode를 다르게 설정해 워크플로우를 세밀하게 제어할 수 있습니다.
|
|
85
|
-
|
|
86
|
-
## `manage_sync` 액션 가이드 (Pro)
|
|
87
|
-
|
|
88
|
-
| 액션 | 설명 | 주요 인자 |
|
|
89
|
-
|------|------|-----------|
|
|
90
|
-
| `status_current_place` | 현재 연결된 Place의 동기화 상태 확인 | `-` |
|
|
91
|
-
| `history` | 변경 기록 조회 | `placeId`, `query.limit`, `query.offset` |
|
|
92
|
-
| `directions` | 타입별 Direction 조회 | `placeId` |
|
|
93
|
-
| `read_file` | 동기화된 파일 읽기 | `placeId`, `instancePath` |
|
|
94
|
-
| `write_file` | 동기화된 파일 쓰기 | `placeId`, `instancePath`, `content` |
|
|
95
|
-
| `progress` | 실시간 진행률/처리량 확인 | `placeId` |
|
|
96
|
-
|
|
97
|
-
## 추천 워크플로우
|
|
98
|
-
|
|
99
|
-
### 1) 안전하게 시작하기
|
|
100
|
-
|
|
101
|
-
- 먼저 Full Sync를 완료해 현재 상태를 기준점으로 만듭니다.
|
|
102
|
-
- 초반에는 `manual` 적용으로 운영해 변경 위험을 줄입니다.
|
|
103
|
-
|
|
104
|
-
### 2) AI와 함께 변경하기
|
|
105
|
-
|
|
106
|
-
- "Sync 상태 확인하고, 최근 변경 기록 기준으로 위험한 변경만 요약해줘"
|
|
107
|
-
- "`ServerScriptService` 쪽 스크립트만 우선 리팩터링하고, 변경 이력까지 남겨줘"
|
|
108
|
-
|
|
109
|
-
### 3) 충돌 발생 시 해결하기
|
|
110
|
-
|
|
111
|
-
양방향 동기화 중 Studio와 로컬 양쪽에서 변경이 감지되면, 아래와 같은 충돌 해결 화면이 나타납니다.
|
|
112
|
-
|
|
113
|
-

|
|
114
|
-
|
|
115
|
-
- **Studio Priority**: Studio 쪽 상태를 기준으로 덮어쓰기
|
|
116
|
-
- **Local Priority**: 로컬 파일을 기준으로 Studio에 반영
|
|
117
|
-
- **Per-File**: 파일별로 어느 쪽을 우선할지 개별 선택
|
|
118
|
-
|
|
119
|
-
### 4) 문제 발생 시 복구하기
|
|
120
|
-
|
|
121
|
-
- `history`로 최근 변경을 추적
|
|
122
|
-
- 필요한 파일을 `read_file`로 확인
|
|
123
|
-
- 복구할 내용을 `write_file`로 반영 후 Studio 상태 재확인
|
|
124
|
-
|
|
125
|
-
## 파일 포맷 (v2 nested directory)
|
|
126
|
-
|
|
127
|
-
각 Roblox 인스턴스는 자체 디렉토리로 저장되며, 해당 디렉토리 안에 메타 파일이 위치합니다:
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
explorer/
|
|
131
|
-
├── Workspace/
|
|
132
|
-
│ ├── _tree.json
|
|
133
|
-
│ ├── Part/
|
|
134
|
-
│ │ └── Part.props.json
|
|
135
|
-
│ ├── MyScript/
|
|
136
|
-
│ │ └── MyScript.server.luau
|
|
137
|
-
│ └── Coins/
|
|
138
|
-
│ └── Coins.value.json
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
파일 명명 규칙:
|
|
142
|
-
- 속성: `{Name}/{Name}.props.json`
|
|
143
|
-
- 스크립트: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
|
|
144
|
-
- 값: `{Name}/{Name}.value.json`
|
|
145
|
-
|
|
146
|
-
동일 이름 인스턴스는 디렉토리에 `~N` 접미사를 붙여 구분합니다 (예: `Part~2/Part.props.json`).
|
|
147
|
-
이름에 `~`가 포함되면 `~~`로 이스케이프됩니다 (예: `Part~2` → `Part~~2/`). Odd-Count Tilde 규칙: 끝의 `~+N`에서 tilde 개수가 홀수일 때만 collision suffix로 해석됩니다.
|
|
148
|
-
|
|
149
|
-
## 함께 보면 좋은 문서
|
|
150
|
-
|
|
151
|
-
- [WEPPY Sync에서 `luau-lsp` 사용하기](./luau-lsp.md)
|
|
152
|
-
- [Tool 지원 범위 (Tools Overview)](../tools/overview.md)
|
|
153
|
-
- [Pro 업그레이드 가이드](https://weppyai.com/ko/plans)
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# 에셋 & 오브젝트 연출
|
|
2
|
-
|
|
3
|
-
> 에셋 삽입, 트윈 애니메이션, 오디오, 파티클 이펙트, 물리 충돌 그룹을 관리합니다.
|
|
4
|
-
|
|
5
|
-
## 포함된 도구
|
|
6
|
-
|
|
7
|
-
| 도구 | 티어 | 설명 |
|
|
8
|
-
|------|:----:|------|
|
|
9
|
-
| `manage_assets` | Pro | Creator Store 검색, 모델/패키지 삽입, 에셋 정보 |
|
|
10
|
-
| `manage_tween` | Pro | 트윈 생성, 재생, 일시정지, 취소 |
|
|
11
|
-
| `manage_animation` | Pro | 애니메이션 로드, 재생, 정지, 트랙 조회 |
|
|
12
|
-
| `manage_audio` | Pro | 사운드 재생/정지/일시정지, 오디오 리스너 설정 |
|
|
13
|
-
| `manage_effects` | Pro | 파티클 방출, 초기화, 토글 |
|
|
14
|
-
| `manage_physics` | Pro | 충돌 그룹 등록, 충돌 여부 설정 |
|
|
15
|
-
|
|
16
|
-
## 주요 워크플로우
|
|
17
|
-
|
|
18
|
-
### 에셋으로 씬 구성
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
"Creator Store에서 '나무' 모델을 검색해서 Workspace에 3개 배치해줘"
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
`manage_assets`의 `search_insert`로 검색과 삽입을 한 번에 처리합니다.
|
|
25
|
-
|
|
26
|
-
### 인터랙티브 연출
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
"문을 클릭하면 3초에 걸쳐 열리는 트윈을 만들어줘"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
`manage_tween`의 `create`로 트윈을 정의하고 `play`로 재생합니다. 동시에 `manage_audio`의 `play`로 문 여는 효과음을 추가합니다.
|
|
33
|
-
|
|
34
|
-
### 파티클 + 사운드 조합
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
"보스 등장 시 폭발 파티클과 함께 효과음을 재생해줘"
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
`manage_effects`의 `emit`으로 파티클을 방출하고, `manage_audio`의 `play`로 사운드를 동시에 재생합니다.
|
|
41
|
-
|
|
42
|
-
## 액션 레퍼런스
|
|
43
|
-
|
|
44
|
-
### Manage Assets (Pro)
|
|
45
|
-
|
|
46
|
-
| 액션 | 설명 | 티어 |
|
|
47
|
-
|------|------|------|
|
|
48
|
-
| `insert` | 에셋 ID로 모델 삽입 | Pro |
|
|
49
|
-
| `info` | 에셋 메타데이터 가져오기 | Pro |
|
|
50
|
-
| `search` | Creator Store 검색 | Pro |
|
|
51
|
-
| `search_insert` | 검색하여 첫 번째 일치 항목 삽입 | Pro |
|
|
52
|
-
| `insert_free` | 무료 모델 삽입 | Pro |
|
|
53
|
-
| `insert_package` | 패키지 삽입 | Pro |
|
|
54
|
-
| `export` | 현재 선택 내보내기 | Pro |
|
|
55
|
-
|
|
56
|
-
### Manage Tween (Pro)
|
|
57
|
-
|
|
58
|
-
| 액션 | 설명 | 티어 |
|
|
59
|
-
|------|------|------|
|
|
60
|
-
| `create` | 대상 속성을 가진 트윈 생성 | Pro |
|
|
61
|
-
| `play` | 생성된 트윈 재생 | Pro |
|
|
62
|
-
| `pause` | 실행 중인 트윈 일시정지 | Pro |
|
|
63
|
-
| `cancel` | 트윈 취소 | Pro |
|
|
64
|
-
|
|
65
|
-
### Manage Animation (Pro)
|
|
66
|
-
|
|
67
|
-
| 액션 | 설명 | 티어 |
|
|
68
|
-
|------|------|------|
|
|
69
|
-
| `load` | Humanoid/AnimationController에 애니메이션 로드 | Pro |
|
|
70
|
-
| `play` | 로드된 애니메이션 트랙 재생 | Pro |
|
|
71
|
-
| `stop` | 재생 중인 애니메이션 정지 | Pro |
|
|
72
|
-
| `get_tracks` | 로드된 모든 애니메이션 트랙 나열 | Pro |
|
|
73
|
-
|
|
74
|
-
### Manage Audio (Pro)
|
|
75
|
-
|
|
76
|
-
| 액션 | 설명 | 티어 |
|
|
77
|
-
|------|------|------|
|
|
78
|
-
| `play` | 사운드 재생 (필요시 Sound 생성) | Pro |
|
|
79
|
-
| `stop` | 재생 중인 사운드 정지 | Pro |
|
|
80
|
-
| `pause` | 재생 중인 사운드 일시정지 | Pro |
|
|
81
|
-
| `resume` | 일시정지된 사운드 재개 | Pro |
|
|
82
|
-
| `set_listener` | 오디오 리스너 타입/대상 설정 | Pro |
|
|
83
|
-
|
|
84
|
-
### Manage Effects (Pro)
|
|
85
|
-
|
|
86
|
-
| 액션 | 설명 | 티어 |
|
|
87
|
-
|------|------|------|
|
|
88
|
-
| `emit` | ParticleEmitter에서 파티클 방출 | Pro |
|
|
89
|
-
| `clear` | 모든 파티클 초기화 | Pro |
|
|
90
|
-
| `toggle` | 효과 활성화 또는 비활성화 | Pro |
|
|
91
|
-
|
|
92
|
-
### Manage Physics (Pro)
|
|
93
|
-
|
|
94
|
-
| 액션 | 설명 | 티어 |
|
|
95
|
-
|------|------|------|
|
|
96
|
-
| `register_group` | 충돌 그룹 등록 | Pro |
|
|
97
|
-
| `set_collidable` | 두 그룹이 충돌할 수 있는지 설정 | Pro |
|
|
98
|
-
| `get_groups` | 등록된 모든 충돌 그룹 나열 | Pro |
|
|
99
|
-
|
|
100
|
-
## 관련 문서
|
|
101
|
-
|
|
102
|
-
- [인스턴스 & 속성](instances-and-properties.md) — 오브젝트 생성 및 배치
|
|
103
|
-
- [월드 환경](world-and-environment.md) — 조명, 지형, 카메라
|
|
104
|
-
- [도구 전체 목록](overview.md)
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# 인스턴스 & 속성
|
|
2
|
-
|
|
3
|
-
> Roblox Studio의 인스턴스를 검색, 생성, 수정하고 속성/어트리뷰트/태그를 관리합니다.
|
|
4
|
-
|
|
5
|
-
## 포함된 도구
|
|
6
|
-
|
|
7
|
-
| 도구 | 티어 | 설명 |
|
|
8
|
-
|------|:----:|------|
|
|
9
|
-
| `query_instances` | 혼합 | 인스턴스 검색, 계층 탐색, 클래스 정보 조회 |
|
|
10
|
-
| `mutate_instances` | 혼합 | 인스턴스 생성, 삭제, 복제, 이동 |
|
|
11
|
-
| `manage_properties` | 혼합 | 속성 읽기/쓰기, 어트리뷰트, 태그 관리 |
|
|
12
|
-
|
|
13
|
-
## 주요 워크플로우
|
|
14
|
-
|
|
15
|
-
### 씬 구조 파악
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
"Workspace 아래 모든 Part를 검색해서 위치와 크기를 알려줘"
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
`query_instances`의 `search_class`로 Part를 찾고, `manage_properties`의 `mass_get`으로 Position/Size를 일괄 조회합니다.
|
|
22
|
-
|
|
23
|
-
### 오브젝트 배치
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
"맵 중앙에 SpawnLocation 4개를 정사각형으로 배치하고 TeamColor를 각각 다르게 설정해줘"
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
`mutate_instances`의 `mass_create`로 한 번에 생성한 뒤, `manage_properties`의 `mass_set`으로 속성을 일괄 설정합니다.
|
|
30
|
-
|
|
31
|
-
### 태그 기반 관리
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
"'Collectible' 태그가 붙은 모든 오브젝트를 찾아서 Anchored를 true로 바꿔줘"
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
`manage_properties`의 `get_tagged`로 태그 인스턴스를 조회하고, `mass_set`으로 속성을 변경합니다.
|
|
38
|
-
|
|
39
|
-
## 액션 레퍼런스
|
|
40
|
-
|
|
41
|
-
### Query Instances (혼합)
|
|
42
|
-
|
|
43
|
-
| 액션 | 설명 | 티어 |
|
|
44
|
-
|------|------|------|
|
|
45
|
-
| `get` | 경로로 인스턴스 속성 가져오기 | Basic |
|
|
46
|
-
| `children` | 직계 자식 또는 모든 자손 가져오기 | Basic |
|
|
47
|
-
| `find_child` | 이름과 선택적 클래스 필터로 첫 번째 자식 찾기 | Basic |
|
|
48
|
-
| `find_descendant` | 이름으로 첫 번째 자손 찾기 | Basic |
|
|
49
|
-
| `wait_for_child` | 자식이 나타날 때까지 대기 (타임아웃 포함) | Basic |
|
|
50
|
-
| `class_info` | 클래스 정보 및 유효한 속성 가져오기 | Basic |
|
|
51
|
-
| `search_name` | 이름 패턴으로 인스턴스 검색 (와일드카드 지원) | Basic |
|
|
52
|
-
| `search_class` | 클래스 이름으로 인스턴스 검색 | Basic |
|
|
53
|
-
| `file_tree` | 루트에서 파일 트리 구조 가져오기 | Pro |
|
|
54
|
-
| `project_structure` | 전체 프로젝트 구조 가져오기 | Pro |
|
|
55
|
-
| `descendants` | 인스턴스의 모든 자손 가져오기 | Pro |
|
|
56
|
-
| `ancestors` | 인스턴스의 모든 조상 가져오기 | Pro |
|
|
57
|
-
| `search_property` | 속성 값으로 인스턴스 검색 | Pro |
|
|
58
|
-
| `search_tag` | 태그로 인스턴스 검색 | Pro |
|
|
59
|
-
|
|
60
|
-
### Mutate Instances (혼합)
|
|
61
|
-
|
|
62
|
-
| 액션 | 설명 | 티어 |
|
|
63
|
-
|------|------|------|
|
|
64
|
-
| `create` | 새 인스턴스 생성 | Basic |
|
|
65
|
-
| `create_with_props` | 초기 속성을 가진 인스턴스 생성 | Basic |
|
|
66
|
-
| `delete` | 인스턴스 삭제 | Basic |
|
|
67
|
-
| `clone` | 인스턴스 복제 | Basic |
|
|
68
|
-
| `move` | 인스턴스를 새 부모로 이동 | Basic |
|
|
69
|
-
| `rename` | 인스턴스 이름 변경 | Basic |
|
|
70
|
-
| `pivot` | 피벗 위치 또는 CFrame 설정 | Basic |
|
|
71
|
-
| `create_tree` | 계층적 인스턴스 트리 생성 | Pro |
|
|
72
|
-
| `mass_create` | 여러 인스턴스 한 번에 생성 | Pro |
|
|
73
|
-
| `mass_delete` | 여러 인스턴스 삭제 | Pro |
|
|
74
|
-
| `mass_duplicate` | 여러 인스턴스 복제 | Pro |
|
|
75
|
-
| `smart_duplicate` | 간격과 개수를 지정하여 복제 | Pro |
|
|
76
|
-
|
|
77
|
-
### Manage Properties (혼합)
|
|
78
|
-
|
|
79
|
-
| 액션 | 설명 | 티어 |
|
|
80
|
-
|------|------|------|
|
|
81
|
-
| `get` | 단일 속성 값 가져오기 | Basic |
|
|
82
|
-
| `set` | 단일 속성 값 설정 | Basic |
|
|
83
|
-
| `get_all` | 인스턴스의 모든 속성 가져오기 | Basic |
|
|
84
|
-
| `set_multiple` | 여러 속성 한 번에 설정 | Basic |
|
|
85
|
-
| `get_attr` | 어트리뷰트 값 가져오기 | Basic |
|
|
86
|
-
| `set_attr` | 어트리뷰트 값 설정 | Basic |
|
|
87
|
-
| `get_all_attrs` | 모든 어트리뷰트 가져오기 | Basic |
|
|
88
|
-
| `delete_attr` | 어트리뷰트 삭제 | Basic |
|
|
89
|
-
| `add_tag` | 인스턴스에 태그 추가 | Basic |
|
|
90
|
-
| `remove_tag` | 인스턴스에서 태그 제거 | Basic |
|
|
91
|
-
| `check_tag` | 인스턴스가 태그를 가지고 있는지 확인 | Basic |
|
|
92
|
-
| `get_tags` | 인스턴스의 모든 태그 가져오기 | Basic |
|
|
93
|
-
| `get_tagged` | 특정 태그를 가진 모든 인스턴스 가져오기 | Basic |
|
|
94
|
-
| `set_calculated` | 수식을 사용하여 속성 설정 | Pro |
|
|
95
|
-
| `set_relative` | 현재 값을 기준으로 상대적으로 속성 설정 | Pro |
|
|
96
|
-
| `mass_set` | 여러 인스턴스에 속성 설정 | Pro |
|
|
97
|
-
| `mass_get` | 여러 인스턴스에서 속성 가져오기 | Pro |
|
|
98
|
-
| `modify_children` | 부모의 모든 자식 수정 | Pro |
|
|
99
|
-
|
|
100
|
-
## 관련 문서
|
|
101
|
-
|
|
102
|
-
- [스크립트 & 코드 실행](scripting.md) — 인스턴스에 스크립트 추가/수정
|
|
103
|
-
- [에셋 & 오브젝트 연출](assets-and-effects.md) — 모델 삽입, 트윈, 이펙트
|
|
104
|
-
- [도구 전체 목록](overview.md)
|