← 목록

mLua · MSW 문서 원문 (API+가이드)

총 873개 · 페이지 27/30
🔀 랜덤
불러오는 중…

[category] | Guides [section] | 기본 제작 가이드 > 보안 및 최적화 [title] | 예시로 알아보는 서버 검증 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1084 [text] | # 학습 과정 소개 플레이어 엔티티에서 서버 함수를 호출할 경우 '패킷'을 통해 데이터를 전송합니다. 중요한 데이터를 패킷에 담아 보낼 경우, 서버는 받은 패킷을 바로 반영하지 않고 한 번 더 검증해 보안을 강화해야 합니다. 이번 가이드에서는 서버 검증 스크립트를 작성하고, 안정적인 서버를 구성하는 방법을 알아봅니다. ##### 참고 가이드 * [패킷 변조 대비](/docs/?postId=1102) * [WorldConfig](/docs/?postId=1101) # 검증 시 유의 사항 클라이언트 변조 및 패킷 변조 예방을 위해

[category] | Guides [section] | 응용 제작 가이드 > 광부 시뮬레이터 리메이크 [title] | UI Components/Logics [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1085 [text] | # ItemToastMessage Logic **아이템 ?개 획득**과 같은 토스트 메시지를 띄우는 로직입니다. UI 엔티티를 배치한 상태로 사용하기 위해 SyncTable을 활용해 관리합니다. `{MessageTable, RUIDTable, TimeTable}`이 한 쌍이며, 새로운 메시지를 추가할 때 반드시 3개를 한 쌍으로 추가해야 합니다. 또한 새로운 메시지는 반드시 테이블 맨 앞에 추가해야 합니다. #### Property | 실행제어 | 타입 | 이름 | 설명 | | --- | --- | --- | --- | | Non

[category] | Guides [section] | 응용 제작 가이드 > 광부 시뮬레이터 리메이크 [title] | Components [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1086 [text] | # Localization_NPC NPC의 NameTag, ChatBalloon을 번역하기 위한 컴포넌트입니다. 번역이 필요한 NPC에게 붙이면 `OnBeginPlay( )`에서 자동으로 번역합니다. 아래 프로퍼티들에 번역을 위한 key값을 넣어 두어야 합니다. * **NameTagComponent.Name** * **ChatBalloonComponent.Message** * **자식 엔티티의 NameTagComponent.Name** # ToolObject **밧줄, 트램펄린**의 NameTag를 번역하기 위한 컴포넌트입니다.

[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 메이커 사용 [title] | 프로퍼티 에디터 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1087 [text] | # 학습 과정 소개 프로퍼티 에디터 창을 이용해 컴포넌트의 프로퍼티를 확인하고, 수정할 수 있습니다. #### 참고 가이드 * [Entity, Component, Property](/docs/?postId=54) * [Workspace](/docs/?postId=121) * [Hierarchy](/docs/?postId=453) * [모델의 활용](/docs?/postId=461) * [컴포넌트 추가와 삭제](/docs/?postId=58) # 프로퍼티 에디터 소개 Property 패널은 엔티티, 모델에 포함된 컴포넌트의 프로

[category] | Guides [section] | 응용 제작 가이드 > 광부 시뮬레이터 리메이크 > Components [title] | DefaultPlayerComponents [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1088 [text] | # ExtendPlayerControllerComponent PlayerControllerComponent를 확장해 만든 컴포넌트로 플레이어의 조작을 구현합니다. #### Property | 동기화 | 타입 | 이름| 설명 | | --- | --- | --- | --- | | - | boolean | IsDashCooltime |대시 쿨타임 상태인지를 확인합니다. true면 대쉬가 불가능합니다.| #### Function | 실행제어 | 타입 | 이름| 설명 | | --- | --- | --- | --- | | - | voi

[category] | Guides [section] | 응용 제작 가이드 > 광부 시뮬레이터 리메이크 [title] | Models [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1089 [text] | # Guide_Key 플레이어가 상호 작용이 가능한 엔티티에 다가가면 활성화되는 가이드UI 모델입니다. NPC, 광맥, 탐험도구 상자 등 상호 작용이 필요한 모델에 가이드 UI가 포함되어 있습니다. ![GuideKey](https://mod-file.dn.nexoncdn.co.kr/bbs/16941518548902bee49148d3c449aa1eb5d18e7dc980a.png{"width":"340px"} "GuideKey") # Guide_Portal_TownToMine 마을에서 광산으로 연결되는 포탈 가까이 다가가면 활성화되는

[category] | Guides [section] | 응용 제작 가이드 > 광부 시뮬레이터 리메이크 > Components [title] | InteractionObjectsComponents [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1096 [text] | # GuideKeyComponent 플레이어가 이 컴포넌트를 가진 엔티티의 범위 내에 들어가면 가이드 UI를 활성화합니다. #### Property | 실행제어 | 타입 | 이름 | 설명 | | ---- | --- | --- | --- | | None | string | GuideText | 가이드 UI에 표기할 텍스트의 **Key** 값입니다. 엔티티에 달려있는 프로퍼티를 변경해야 합니다. 이 프로퍼티는 자동으로 번역되므로 Key 값으로 작성해야 합니다. 필요한 경우 **LocalizationTable**에 key와 데이터 값

[category] | Guides [section] | 응용 제작 가이드 > 광부 시뮬레이터 리메이크 [title] | 스크립트 없이 리메이크 월드 확장하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1097 [text] | # 포탈 만들기 #### 마을에서 마을로 이동 포탈 `Portal_TownToTown` 모델을 배치하고, 프로퍼티 값을 변경해 마을에서 마을로 이동할 수 있게 만들어 봅시다. 1. 마을로 이동할 수 있는 포탈 모델을 **Workspace - MyDesk - Models - Portal - Portal_TownToTown**을 Scene에 배치합니다. ![PortalTownToTown](https://mod-file.dn.nexoncdn.co.kr/bbs/169407345576958fcb84b535b476a9deaedaa9ea14e

[category] | Guides [section] | 응용 제작 가이드 > 광부 시뮬레이터 리메이크 [title] | 스크립트로 리메이크 월드 확장하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1098 [text] | 광부 시뮬레이터의 기존 컴포넌트 내용을 수정하거나, 새로운 엔티티, 컴포넌트를 추가해 나만의 색다른 재미를 만들어봅시다. # 포션 효과 변경하기 광산에서 포션을 얻어 사용하면 HP 대신 MP를 회복하도록 만들어 봅시다. **Workspace - MyDesk - Components - DefaultPlayerComponents - PlayerMineData** 컴포넌트의 `UsePotion()`함수를 수정합니다. ![mp](https://mod-file.dn.nexoncdn.co.kr/bbs/169441955335422b6

[category] | Guides [section] | 응용 제작 가이드 [title] | 슈피겔만 게임 리메이크 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1099 [text] | [내가 직접 만드는 슈피겔만 게임](https://maplestoryworlds.nexon.com/ko/play/8e73281d15c34efa98baa2771d776434/) 월드를 리메이크해 나만의 슈피겔만 게임을 만들어 봅시다. 리메이크 월드에서 제공하는 Component, Logic, DataSet, UI 정보를 확인하고, [슈피겔만 게임](/resource/?postId=1091) 강의를 학습할 때 보조 교재로 활용할 수 있습니다. $$childList $$

[category] | Guides [section] | 응용 제작 가이드 [title] | 플래피 피쉬 리메이크 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1100 [text] | FlappyFish 월드를 리메이크해 나만의 FlappyFish를 만들 수 있습니다. FlappyFish 강의 학습 시 가이드를 보조 교재로 활용할 수 있습니다. 리메이크 월드는 완성본이므로, 해당 월드를 리메이크한 뒤 엔트리를 삭제 후 활용하시길 바랍니다. $$childList $$ # 기본 설정 플래피 피쉬는 게임으로 다른 클라이언트와의 동기화가 필요하지 않습니다. DefaultPlayer가 가진 컴포넌트 서버와 동기화하는 컴포넌트들을 비활성화해 기본 설정 변경해봅시다. 1. 서버와 위치를 자동으로 동기화하는 **Rigi

[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 메이커 사용 [title] | WorldConfig [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1101 [text] | # 학습 과정 소개 메이플스토리 월드는 WorldConfig에서 다양한 월드 설정 기능을 제공합니다. WorldConfig의 기능은 제작 중인 월드에 전반적인 영향을 끼칩니다. ##### 참고 가이드 * [실행 제어](/docs/?postId=210) * [Effective MSW 2](/docs/?postId=560) * [패킷 변조 대비하기](/docs?postId=1102) * [예시로 알아보는 서버 검증](/docs?postId=1084) # WorldConfig 소개 WorldConfig는 크리에이터가 제작하는 월드의 다양

[category] | Guides [section] | 기본 제작 가이드 > 보안 및 최적화 [title] | 패킷 변조 대비하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1102 [text] | # 학습 과정 소개 서버와 클라이언트가 패킷을 주고 받을 때 데이터 변조가 발생해 크리에이터의 월드에 불편을 초래할 수 있습니다. 패킷 변조를 예방해 쾌적한 월드를 만들기 위해 패킷의 개념과 예방 방법을 알아봅시다. ##### 참고 가이드 * [WorldConfig](/docs/?postId=1101) * [예시로 알아보는 서버 검증](/docs?postId=1084) # 패킷 알아보기 **패킷**은 서버와 클라이언트가 주고받는 데이터의 단위를 말합니다. 메이플스토리 월드에서는 함수의 실행 공간에 따라 클라이언트와 서버가 통신해

[category] | Guides [section] | 응용 제작 가이드 > 슈피겔만 게임 리메이크 [title] | 월드 확장해보기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1103 [text] | # 매칭 인원 변경하기 데이터 셋과 프로퍼티 값을 변경해 매칭 인원을 변경할 수 있습니다. 1. **Workspace - MyDesk - 02_InstanceRoom - GameSetting - matchTeamData**를 선택합니다. 2. 새로운 행을 추가하고, 데이터를 추가합니다. | PlayerNum | TeamA | TeamB | CloseTargetNum | EnableTargetNum | PlayTime | | --- | --- | --- | --- | --- | --- | | 9 | 3 | 6

[category] | Guides [section] | 응용 제작 가이드 [title] | 상점과 인벤토리 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1104 [text] | 인벤토리 프리셋을 활용해 상점과 인벤토리 UI를 만들어 봅시다. 상점에서 아이템을 구매하고, 인벤토리에 보유한 아이템을 다시 팔 수 있도록 만들어봅시다. 아래의 과정을 차례대로 진행할 수 있습니다. $$childList $$ ![Example](https://mod-file.dn.nexoncdn.co.kr/bbs/1698649264483cb61352540774f1d9d13be81f033cc8a.gif "Example")

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 5. 인벤토리 스크립트 작성 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1105 [text] | 메소와 아이템 데이터가 변경될 때 인벤토리 UI도 변경될 수 있도록 만들어 봅시다. 이번 과정에서는 `UIInventory` 컴포넌트만 수정합니다. # 인벤토리 변경값 UI에 반영하기 인벤토리 메소와 아이템 값 변경에 맞춰 UI가 갱신될 수 있도록 만들어봅시다. `UIInventory` 컴포넌트는 인벤토리 프리셋 추가 시 함께 자동으로 추가되는 컴포넌트입니다. >**Tip.** >이 컴포넌트의 기존 **Event Handler를 모두 삭제**한 뒤 아래 과정을 따라 만들어 봅시다. 1. 기존 프로퍼티를 유지한 채, 새로운 *

[category] | Guides [section] | 응용 제작 가이드 > 슈피겔만 게임 리메이크 [title] | UI Group [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1106 [text] | # 000_BroadCastGroup 작은 사이즈의 시스템 메시지 패널입니다. ![BroadcastPannel](https://mod-file.dn.nexoncdn.co.kr/bbs/1701683683489e40c2853ec124a39866d513272e9e80d.png "BroadcastPannel") # 000_LoadingGroup 맵을 이동할 때 사용하는 로딩 화면 UI입니다. ![LoadingGroup](https://mod-file.dn.nexoncdn.co.kr/bbs/1701684186994778565c639f14

[category] | Guides [section] | 응용 제작 가이드 > 슈피겔만 게임 리메이크 > 00_ Player [title] | 01_Player_Component [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1107 [text] | 폴더 아래의 모델, 컴포넌트, 로직입니다. # PlayerInGameStatus #### Property | 동기화 | Type | 이름 | 설명 | | --- | --- | --- | --- | | None | number | teamNumber | 플레이어의 팀 숫자를 나타냅니다. 1은 술래인 A팀, 2는 도망자인 B팀입니다.| | None | number | hp | 플레이어의 체력을 나타냅니다. | | None | boolean | alive | 플레이어의 생존 여부를 나타냅니다. | | None | SyncTable<s

[category] | Guides [section] | 응용 제작 가이드 > 슈피겔만 게임 리메이크 [title] | 01_StaticRoom [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1108 [text] | 로비 맵과 관련된 컴포넌트/로직 등을 모아둔 곳입니다. $$childList $$

[category] | Guides [section] | 응용 제작 가이드 > 슈피겔만 게임 리메이크 > 02_InstanceRoom [title] | 002_Intro [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1109 [text] | # IntroManager 인트로 맵의 시스템을 관리하는 컴포넌트입니다. #### Property | 동기화 | Type | 이름 | 설명 | | --- | --- | --- | --- | | None | Component | ingameInfo | common의 InGameInfo 컴포넌트를 가진 변수입니다. | | None | SyncTable<string, string> | playerIntroReadyState | 인트로 맵에서 플레이어의 준비 상태를 확인합니다. key는 플레이어Id, value는 플레이어의 상태를 Read

[category] | Guides [section] | 응용 제작 가이드 > 슈피겔만 게임 리메이크 > 02_InstanceRoom [title] | 003_InGame [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1110 [text] | # InGameManager 인게임의 전반적인 시스템을 관리하는 컴포넌트입니다. #### Property | 동기화 | 타입 | 이름 | 설명 | | --- | --- | --- | --- | | None | Component | ingameInfo | common이 가진 InGameInfo 컴포넌트를 가진 변수입니다. | | None | string | inGameState | 인게임의 진행 상태를 가지고 있는 변수입니다. "Ready", "Play", "End" 등의 상태를 가지고 있습니다. | | None| number | i

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 1. 인벤토리 UI 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1111 [text] | # 인벤토리 추가 인벤토리 프리셋을 활용해 간단하게 인벤토리 UI를 만들 수 있습니다. 프리셋을 사용하면 UIInventory, UIItemSlot 컴포넌트가 자동으로 MyDesk에 추가됩니다. 이번 가이드에서는 두 컴포넌트를 수정해 활용합니다. 1. **Preset List - UI - 인벤토리**를 눌러 **ui - DefaultGroup**에 배치합니다. ![1](https://mod-file.dn.nexoncdn.co.kr/bbs/169811073881557986fbbbf224f6485962f4c08921a30.png{"w

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 2. 아이템 데이터 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1112 [text] | # ItemTableDataSet 만들기 1. **Workspace - MyDesk - Create DataSet**을 선택해 새로운 **ItemTableDataSet** 데이터 셋을 생성합니다. 2. **id, Name, IconRUID, MaxStackCount, Price** 열을 생성하고 행을 추가해 데이터를 입력합니다. | Id | Name | IconRUID | MaxStackCount | Price | | --- | --- | --- | --- | --- | | potion_red | 빨간 포션 | 323920d28

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 3. 인벤토리 데이터 저장 및 불러오기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1113 [text] | DataStorage에서 불러온 데이터로 인벤토리를 초기화할 수 있도록 컴포넌트를 만들어 봅시다. SimpleInventory 컴포넌트, SimpleInventoryInitializedEvent, ItemStack을 활용해 인벤토리 데이터를 저장하고, 불러올 수 있도록 만들어봅시다. # ItemStack 만들기 1. **Workspace - MyDesk - Create Scripts - Create StructType**을 눌러 **ItemStack**을 생성합니다. ![ItemStack](https://mod-file.dn.ne

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 4. 아이템을 인벤토리에 추가하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1114 [text] | 상점에서 상품을 구매하면, 인벤토리에 담길 수 있게 만들어 봅시다. 인벤토리 슬롯 하나에는 최대 10개의 아이템을 담을 수 있습니다. 최대 수량이 찬 뒤에 다음 슬롯에 아이템을 저장하게 됩니다. 예를 들어 빨간포션을 인벤토리에 이미 5개 가지고 있을 때, 10개를 추가로 구매하면 5개가 있던 슬롯에 먼저 5개를 저장하고, 나머지 5개를 새로운 슬롯에 저장합니다. # SimpleInventoryItemAddedEvent 만들기 1. **Workspace - MyDesk - Create Scripts - Create EventType

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 8. 상점 로직 만들기Ⅰ [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1115 [text] | # 상점 로직 작성 1. **Workspace - MyDesk - Create Scripts - Create Logic**을 선택해 새로운 `Shop` 로직을 생성합니다. 2. `Buy()`함수를 생성해 itemId에 해당하는 상품을 itemCount만큼 구매하고, 메소를 차감하도록 작성합니다. ```lua Method: [server] void Buy (string itemId, integer itemCount) { -- itemId에 해당하는 상품을 itemCount만큼 구매하

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 7. 상점 UI 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1116 [text] | # 상점 UI 만들기 인벤토리 프리셋을 활용해 상점 UI를 만들어 봅시다. ![ShopUI](https://mod-file.dn.nexoncdn.co.kr/bbs/169820059140328cb3fa93170433e835c486be9c66998.png "ShopUI") 1. **Preset List - UI - 인벤토리**를 선택해 DefaultGroup에 추가해 배치합니다. 2. 자동으로 inventory_1 UI엔티티에 추가된 UIInventory 컴포넌트를 **제거**합니다. ![RemoveUIInventory](https

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 9. 상점 로직 만들기Ⅱ [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1117 [text] | # UIShop 1. 새로운 `UIShop` 컴포넌트를 생성합니다. **ui - DefaultGroup - Shop**에 컴포넌트를 추가합니다. ![UIShop](https://mod-file.dn.nexoncdn.co.kr/bbs/16986412576855dfd79bc352a407f9341732f6bdfd735.png "UIShop") 1. 새로운 **itemUI, scrollView, ShopBtnPath, SyncTable** 프로퍼티를 추가합니다. ```lua Property: [None] E

[category] | Guides [section] | 응용 제작 가이드 > 상점과 인벤토리 [title] | 6. UIInventoryItemSlot 수정 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1118 [text] | UIInventoryItemSlot 컴포넌트 내용을 변경해 UI 인벤토리에서 아이템 섬네일과 개수를 표시할 수 있도록 아래와 같이 작성합니다. 중간 확인을 위해 인벤토리에서 아이템을 누르면 삭제되도록 만들어봅시다. # UIInventoryItemSlot 수정 1. **UIItemSlot** 컴포넌트의 이름을 `UIInventoryItemSlot` 로 변경합니다. >**Tip.** > **ui - DefaultGroup - Inventory - InventoryPanel - Inventory_ScrollView

[category] | Guides [section] | 기본 제작 가이드 > 보안 및 최적화 [title] | TargetUserSync와 프로퍼티 동기화 최적화 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1119 [text] | # 학습 과정 소개 프로퍼티 동기화 방식 중 하나인 TargetUserSync에 대해 알아봅니다. ##### 참고 가이드 * [프로퍼티](/docs/?postId=205) * [프로퍼티 동기화](/docs/?postId=208) * [서버와 클라이언트](/docs/?postId=207) # TargetUserSync 알아보기 TargetUserSync는 Sync 프로퍼티 동기화를 좀 더 특정해 최적화하는 방식입니다. TargetUserSync는 플레이어가 스스로 조작하는 PlayerEntity에 포함된 컴포넌트의 프로퍼티만을 대

← → 방향키로 페이지 이동 · 숫자 입력 후 Enter로 점프