← 목록

mLua · Nemotron-CC 리프레이즈 (CPT)

총 8,200개 · 페이지 42/274
🔀 랜덤
불러오는 중…

[task] | diverse_qa [title] | CameraService [category] | Services [rephrased] | 질문: CameraService에서 `ConnectEvent` 메서드를 사용하여 이벤트를 연결할 때, `string` 타입의 매개변수 `key`는 어떤 역할을 하나요? 답변: `key`는 연결하려는 이벤트의 이름을 나타내며, 이 서비스에서 해당 이름의 이벤트가 발생하면 지정된 핸들러로 통지받습니다. 질문: `ConnectEvent(Type eventType, IScriptFunction eventHandler)` 메서드를 호출하면 어떤 일이 일어나나요? 답변: 이 서비스에서 타입이 `eventType`인 이벤트가 발생하면, `ev [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:314:1

[task] | extract_knowledge [title] | EditorService [category] | Services [rephrased] | # EditorService `EditorService`는 에디터 환경에서 모델, 타일, 엔티티 계층 구조, 시작 맵, 작업 레이어를 제어하고, 서비스 간 이벤트 통신을 처리하는 데 사용되는 서비스입니다. ## 1. 개념 설명 `EditorService`는 주로 에디터 모드에서 씬(Scene) 구조와 에디터 상태를 조작하는 API를 제공합니다. 주요 기능은 다음과 같습니다: - **선택 상태 제어**: 특정 모델이나 타일을 선택 상태로 변경합니다. - **계층 구조 제어**: 같은 부모를 가진 엔티티들의 표시 순서(Siblin [original] | - **void SetSelectedModel(string modelId)** 해당하는 modelId의 모델을 선택합니다. - **void SetSelectedTile(string tileRUID)** 지정한 RUID의 타일을 선택합니다. 타일을 지정하지 않으면 현재 레이어의 타일이 선택됩니다. - **void SetSiblingIndex(Entity entity, int32 index)** 같은 부모를 가진 엔티티들의 계층 순서를 변경합니다. - **void SetStartingMap(string mapId)** 해 [chunk_id] | Services:312:1

[task] | wikipedia [title] | CameraService [category] | Services [rephrased] | # CameraService `CameraService`는 메이플스토리 월드 스크립트 환경에서 카메라 제어 기능을 제공하는 서비스입니다. 이 서비스를 통해 개발자는 카메라의 줌 비율을 조정하거나, 다른 카메라 컴포넌트로 전환하며, 전환 시 애니메이션 효과를 설정할 수 있습니다. ## 프로퍼티 `CameraService`는 다음 세 가지 프로퍼티를 제공합니다. 첫째, `currentZoomRatio` 프로퍼티는 현재 적용된 카메라의 줌 비율을 나타내는 읽기 전용(`ReadOnly`) `float` 타입 값입니다. 개발자는 이 [original] | 카메라 관련 기능을 제공합니다. # Properties - **float currentZoomRatio [ReadOnly]** 현재 줌 비율입니다. - **float TransitionBlendTime** 카메라 전환 시 블렌드 시간이 얼마나 걸릴지를 정의합니다. - **CameraBlendType TransitionBlendType** 카메라 전환 시의 애니메이션 블랜드 타입을 정의합니다. # Methods - **CameraComponent GetCurrentCameraComponent() [ClientOnly [chunk_id] | Services:314:0

[task] | extract_knowledge [title] | CameraService [category] | Services [rephrased] | # CameraService 이벤트 처리 ## 개념 설명 `CameraService`는 카메라 관련 이벤트를 수신하고 발생시키는 서비스를 제공합니다. 이 서비스에서는 이벤트의 이름(문자열) 또는 타입(타입 객체)을 기반으로 이벤트 핸들러를 연결하고, 필요 시 연결을 해제하며, 이벤트를 직접 발생시킬 수 있습니다. ## API 사용법 ### 1. 이벤트 연결 (ConnectEvent) 이벤트 발생 시 특정 핸들러 함수를 호출하도록 연결합니다. 두 가지 오버로드가 존재합니다. * **문자열 키 기반 연결** ```lu [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:314:1

[task] | diverse_qa [title] | CameraService [category] | Services [rephrased] | 질문: `CameraService`에서 `CameraSwitchEvent`는 언제 발생하는 이벤트인가요? 답변: `CameraSwitchEvent`는 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. 질문: `CameraZoomEndEvent`의 발생 시점은 언제인가요? 답변: `CameraZoomEndEvent`는 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. 질문: 제공된 예제 코드에서 `LeftShift` 키를 누를 때 카메라는 어떤 동작을 수행하나요? 답변: `LeftShift` 키를 누르면 지정된 `Ent [original] | # Events - **CameraSwitchEvent** 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. - **CameraZoomEndEvent** 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. # Examples `LeftShift` 키를 누르고 있는 동안 카메라가 `Target Entity`를 2배 확대해 가까이에서 보이도록 만드는 예제입니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent (KeyDownEvent event) [chunk_id] | Services:314:2

[task] | extract_knowledge [title] | EntityService [category] | Services [rephrased] | # EntityService `EntityService`는 월드 내 엔티티(Entity)의 생성, 조회, 파괴 및 상태 확인 기능을 제공하는 서비스입니다. 이 서비스는 서버 로직에서 엔티티를 관리하는 데 주로 사용되며, 경로나 태그를 기반으로 엔티티를 검색하고 이벤트 연결을 지원합니다. ## 개념 설명 mLua 환경에서 엔티티는 월드에 존재하는 객체로, `Entity` 타입으로 표현됩니다. `EntityService`는 이러한 엔티티에 접근하기 위한 단일 진입점(Singleton)으로 동작하며, 전역 변수 `_EntitySer [original] | 엔티티와 관련된 여러 기능을 제공합니다. # Methods - **void Destroy(Entity entity)** 엔티티를 파괴합니다. - **void Destroy(Entity entity, float delaySeconds)** 엔티티를 delaySeconds(초) 후 파괴합니다. - **table<Entity> GetEntitiesByPath(string worldPath)** worldPath에 해당하는 경로의 엔티티를 반환합니다. - **table<Entity> GetEntitiesByTag(string [chunk_id] | Services:313:0

[task] | knowledge_list [title] | EntityService [category] | Services [rephrased] | 제시된 문서에 명시된 `EntityService` API의 핵심 사실과 제약 사항을 다음과 같이 정리합니다. **1. `void Destroy(Entity entity)`** 엔티티를 즉시 파괴하는 메서드로, 매개변수로 `Entity` 타입의 `entity`를 받으며 반환값은 없습니다. **2. `void Destroy(Entity entity, float delaySeconds)`** 엔티티를 지정된 시간 이후에 파괴하는 메서드로, 매개변수로 `Entity` 타입의 `entity`와 `float` 타입의 `delaySecond [original] | 엔티티와 관련된 여러 기능을 제공합니다. # Methods - **void Destroy(Entity entity)** 엔티티를 파괴합니다. - **void Destroy(Entity entity, float delaySeconds)** 엔티티를 delaySeconds(초) 후 파괴합니다. - **table<Entity> GetEntitiesByPath(string worldPath)** worldPath에 해당하는 경로의 엔티티를 반환합니다. - **table<Entity> GetEntitiesByTag(string [chunk_id] | Services:313:0

[task] | wikipedia [title] | TeleportService [category] | Services [rephrased] | # TeleportService `TeleportService`는 엔티티(Entity)를 특정 위치로 이동시키는 기능과 유저를 다른 월드 인스턴스로 워프시키는 기능을 제공하는 서비스입니다. ## 메서드 `ClearReservation()` 메서드는 예약된 텔레포트들을 취소합니다. 이 메서드는 서버에서 실행됩니다. 과거에는 `messageOwnerEntity` 인수를 받는 버전이 존재했으나, 해당 버전은 비추천(Deprecated) 상태이므로 사용해서는 안 됩니다. `GetWarpRecord(string userId)` 메서드 [original] | Entity를 특정 위치로 이동시키는 기능과 유저를 다른 월드 인스턴스로 워프시키는 기능을 제공합니다. # Methods - **void ClearReservation() [Server]** 예약된 텔레포트들을 취소합니다. - **void ClearReservation(Entity messageOwnerEntity = nil) [Deprecated] [Server]** 더는 사용하지 않는 함수입니다. 다른 ClearReservation() 함수를 사용하세요. - **WarpRecord GetWarpRecord(string [chunk_id] | Services:315:0

[task] | distill [title] | TeleportService [category] | Services [rephrased] | **[Services] TeleportService** 이벤트 연결, 해제 및 발생을 담당합니다. **ConnectEvent** 이벤트 발생 시 지정된 핸들러를 호출합니다. 핸들러는 `event` 매개변수를 전달받습니다. - `EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)` - `EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)` **DisconnectEvent [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:315:3

[task] | distill [title] | TeleportService [category] | Services [rephrased] | # TeleportService Entity를 특정 위치로 이동시키거나, 유저를 다른 월드 인스턴스로 워프시키는 기능을 제공합니다. ## Methods 모든 메서드는 `[Server]` 또는 `[ServerOnly]` 컨텍스트에서 실행됩니다. ### 예약 (Reservation) 예약된 텔레포트는 `TeleportReservedEntities()` 호출 시 일괄 실행됩니다. * **`void ClearReservation()`** * 예약된 텔레포트들을 취소합니다. * **`boolean ReserveT [original] | Entity를 특정 위치로 이동시키는 기능과 유저를 다른 월드 인스턴스로 워프시키는 기능을 제공합니다. # Methods - **void ClearReservation() [Server]** 예약된 텔레포트들을 취소합니다. - **void ClearReservation(Entity messageOwnerEntity = nil) [Deprecated] [Server]** 더는 사용하지 않는 함수입니다. 다른 ClearReservation() 함수를 사용하세요. - **WarpRecord GetWarpRecord(string [chunk_id] | Services:315:0

[task] | diverse_qa [title] | TeleportService [category] | Services [rephrased] | 질문: `WarpUserToWorldAndWait` 함수는 어떤 실행 공간에서 사용되며, 수행 중 스크립트 실행이 어떻게 되나요? 답변: `WarpUserToWorldAndWait` 함수는 `[ServerOnly]` 실행 공간에서 사용되며, 수행하는 동안 스크립트 실행을 중단합니다(Yield). 질문: `WarpUserToWorldAsync` 함수는 작업이 완료되었을 때 어떻게 결과를 전달하나요? 답변: 작업이 완료되면 성공 여부와 함께 `callbackFunction`으로 전달된 함수가 호출됩니다. 질문: `warpData` [original] | 함께 callbackFunction으로 전달된 함수가 호출됩니다. userIds는 워프시킬 유저들의 Id, destinationWorldId는 목적지 월드의 Id입니다. warpData로 전달한 데이터는 GetWarpRecord 함수로 확인할 수 있습니다. - **boolean WarpUserToWorldAndWait(string userId, string destinationWorldId, string warpData) [ServerOnly] [Yield]** 유저를 다른 월드로 워프시키고 성공 여부를 반환합니다. 출시된 월드 [chunk_id] | Services:315:2

[task] | extract_knowledge [title] | CameraService [category] | Services [rephrased] | # CameraService `CameraService`는 클라이언트 측 카메라 제어 기능을 제공하는 서비스입니다. 카메라 전환, 줌 조정, 전환 애니메이션 설정을 담당하며, 대부분의 메서드는 `[Client]` 또는 `[ClientOnly]` 실행 공간에서만 동작합니다. ## 1. 개념 설명 `CameraService`는 현재 활성 카메라를 관리하고, 다른 `CameraComponent`로 전환하거나 줌 레벨을 변경하는 기능을 제공합니다. 카메라 전환 시 부드러운 이동을 위해 블렌드 시간과 타입을 설정할 수 있으며, 줌 조작 [original] | 카메라 관련 기능을 제공합니다. # Properties - **float currentZoomRatio [ReadOnly]** 현재 줌 비율입니다. - **float TransitionBlendTime** 카메라 전환 시 블렌드 시간이 얼마나 걸릴지를 정의합니다. - **CameraBlendType TransitionBlendType** 카메라 전환 시의 애니메이션 블랜드 타입을 정의합니다. # Methods - **CameraComponent GetCurrentCameraComponent() [ClientOnly [chunk_id] | Services:314:0

[task] | diverse_qa [title] | TeleportService [category] | Services [rephrased] | 질문: `TeleportToMapPosition(Entity targetEntity, Vector3 destinationPosition, string destinationMapName = "", Entity messageOwnerEntity = nil)` 함수의 현재 상태는 무엇이며, 어떤 함수를 대체해야 하나요? 답변: 이 함수는 Deprecated(비권장) 상태이며, `TeleportToMapPosition(Entity, Vector3, string)` 함수를 사용해야 합니다. 질문: `UnReserveTeleport(Enti [original] | tEntity, Vector3 destinationPosition, string destinationMapName = "") [Server]** 목적지 위치로 Entity를 텔레포트 시킵니다. - **void TeleportToMapPosition(Entity targetEntity, Vector3 destinationPosition, string destinationMapName = "", Entity messageOwnerEntity = nil) [Deprecated] [Server]** 더는 사용하지 않는 함수입니다. [chunk_id] | Services:315:1

[task] | diverse_qa [title] | TeleportService [category] | Services [rephrased] | 질문: TeleportService의 주요 기능은 무엇인가요? 답변: Entity를 특정 위치로 이동시키는 기능과 유저를 다른 월드 인스턴스로 워프시키는 기능을 제공합니다. 질문: `ClearReservation()` 메서드의 실행 공간은 어디이며, 어떤 역할을 하나요? 답변: 실행 공간은 [Server]이며, 예약된 텔레포트들을 취소하는 역할을 합니다. 질문: `GetWarpRecord(string userId)` 메서드를 호출하면 어떤 데이터 타입의 값이 반환되나요? 답변: `WarpRecord` 타입의 값이 반환됩니다. [original] | Entity를 특정 위치로 이동시키는 기능과 유저를 다른 월드 인스턴스로 워프시키는 기능을 제공합니다. # Methods - **void ClearReservation() [Server]** 예약된 텔레포트들을 취소합니다. - **void ClearReservation(Entity messageOwnerEntity = nil) [Deprecated] [Server]** 더는 사용하지 않는 함수입니다. 다른 ClearReservation() 함수를 사용하세요. - **WarpRecord GetWarpRecord(string [chunk_id] | Services:315:0

[task] | distill [title] | TeleportService [category] | Services [rephrased] | # TeleportService ### 핵심 텔레포트 * **`TeleportToMapPosition(Entity targetEntity, Vector3 destinationPosition, string destinationMapName = "")` [Server]** * 목적지 맵 및 위치로 엔티티를 이동시킵니다. * *주의*: `messageOwnerEntity` 파라미터가 포함된 버전은 **Deprecated** 상태이므로 제거되었습니다. * **`UnReserveTeleport(Entity t [original] | tEntity, Vector3 destinationPosition, string destinationMapName = "") [Server]** 목적지 위치로 Entity를 텔레포트 시킵니다. - **void TeleportToMapPosition(Entity targetEntity, Vector3 destinationPosition, string destinationMapName = "", Entity messageOwnerEntity = nil) [Deprecated] [Server]** 더는 사용하지 않는 함수입니다. [chunk_id] | Services:315:1

[task] | extract_knowledge [title] | CameraService [category] | Services [rephrased] | # CameraService `CameraService`는 게임 내 카메라의 전환과 줌(확대/축소)을 제어하기 위한 서비스입니다. 이 서비스를 통해 특정 엔티티에 연결된 카메라로 전환하거나, 줌 레벨을 변경 및 초기화할 수 있습니다. ## 개념 설명 카메라 제어는 주로 두 가지 동작으로 나뉩니다. 1. **카메라 전환 (Switch Camera)**: 현재 시점의 카메라를 다른 엔티티가 가진 `CameraComponent`로 변경하는 것입니다. 2. **카메라 줌 (Zoom)**: 카메라의 시야 범위나 확대 배율을 조절하는 것 [original] | # Events - **CameraSwitchEvent** 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. - **CameraZoomEndEvent** 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. # Examples `LeftShift` 키를 누르고 있는 동안 카메라가 `Target Entity`를 2배 확대해 가까이에서 보이도록 만드는 예제입니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent (KeyDownEvent event) [chunk_id] | Services:314:2

[task] | diverse_qa [title] | TeleportService [category] | Services [rephrased] | 질문: TeleportService에서 `ConnectEvent(string key, IScriptFunction eventHandler)` 메서드의 주요 기능은 무엇인가요? 답변: 타입의 이름이 key인 이벤트가 발생했을 때, 해당 이벤트에 대해 지정된 eventHandler로 통지받을 수 있도록 연결하는 것입니다. 질문: `ConnectEvent` 메서드의 두 번째 오버로드에서 `Type eventType` 매개 변수는 어떤 역할을 하나요? 답변: 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 해당 이벤트가 발생 [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:315:3

[task] | wikipedia [title] | TeleportService [category] | Services [rephrased] | 다음은 `TeleportService`에 대한 사용 예제입니다. 이 예시는 주변 몬스터를 한곳으로 몰아넣어 공격하는 스킬을 구현하는 방법입니다. `LeftShift` 키가 입력되면, 미리 설정된 Tag를 사용하여 몬스터를 검색합니다. 검색된 몬스터들은 모두 내 캐릭터의 현재 위치로 텔레포트됩니다. 이후 내 캐릭터는 몬스터들보다 높은 위치로 이동하여 몬스터들을 덮치는 효과를 생성합니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent (KeyDownEvent ev [original] | # Examples 주변 몬스터를 한 곳에 몰아넣어 공격하는 스킬을 만드는 예시입니다. `LeftShift` 키를 입력하면 미리 설정해 둔 Tag를 이용해 몬스터를 찾고, 찾은 몬스터들을 내 캐릭터가 있는 위치로 모읍니다. 그리고 내 캐릭터는 그보다 높은 위치로 올라가 몬스터를 덮칩니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent (KeyDownEvent event) { -- Parameters local key = event.key ----- [chunk_id] | Services:315:4

[task] | wikipedia [title] | TeleportService [category] | Services [rephrased] | # TeleportService **TeleportService**는 텔레포트 관련 이벤트를 관리하는 서비스입니다. 이 서비스는 특정 이벤트의 발생을 감지하고 연결(Subscribe)하거나, 연결을 해제(Unsubscribe)하며, 이벤트를 직접 발생시키는 기능을 제공합니다. ## 이벤트 연결 이벤트를 연결하기 위해 `ConnectEvent` 메서드를 사용합니다. 이 메서드는 두 가지重载(overload) 형태로 제공되며, 각각 이벤트 식별 방식이 다릅니다. 1. **문자열 키 기반 연결**: `EventHandlerBase [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:315:3

[task] | wikipedia [title] | TeleportService [category] | Services [rephrased] | # TeleportService `TeleportService`는 유저를 다른 월드 또는 월드 인스턴스로 이동시키는 기능을 제공하는 서비스입니다. 이 서비스의 메서드를 통해 전달된 `warpData`는 `GetWarpRecord` 함수를 사용하여 확인할 수 있습니다. ## 유저를 다른 월드로 이동 유저를 다른 월드로 이동시키는 기능은 출시된 월드 중 공개된 월드로만 이동이 가능합니다. 동기 방식과 비동기 방식 두 가지로 제공되며, 서버에서만 실행할 수 있습니다. ### WarpUserToWorldAndWait `boolea [original] | 함께 callbackFunction으로 전달된 함수가 호출됩니다. userIds는 워프시킬 유저들의 Id, destinationWorldId는 목적지 월드의 Id입니다. warpData로 전달한 데이터는 GetWarpRecord 함수로 확인할 수 있습니다. - **boolean WarpUserToWorldAndWait(string userId, string destinationWorldId, string warpData) [ServerOnly] [Yield]** 유저를 다른 월드로 워프시키고 성공 여부를 반환합니다. 출시된 월드 [chunk_id] | Services:315:2

[task] | knowledge_list [title] | TeleportService [category] | Services [rephrased] | 다음은 제공된 문서에 포함된 TeleportService의 핵심 사실들을 추출하여 정리한 목록입니다. * `TeleportService`의 `WarpUserToWorldAndWait` 메서드는 `[ServerOnly]` 및 `[Yield]` 제약이 있으며, 매개변수로 `string userId`, `string destinationWorldId`, `string warpData`를 받아 `boolean` 타입으로 성공 여부를 반환합니다. * `WarpUserToWorldAndWait`는 출시된 월드 중 공개된 월드로만 이동 [original] | 함께 callbackFunction으로 전달된 함수가 호출됩니다. userIds는 워프시킬 유저들의 Id, destinationWorldId는 목적지 월드의 Id입니다. warpData로 전달한 데이터는 GetWarpRecord 함수로 확인할 수 있습니다. - **boolean WarpUserToWorldAndWait(string userId, string destinationWorldId, string warpData) [ServerOnly] [Yield]** 유저를 다른 월드로 워프시키고 성공 여부를 반환합니다. 출시된 월드 [chunk_id] | Services:315:2

[task] | knowledge_list [title] | TeleportService [category] | Services [rephrased] | 1. `ConnectEvent(string key, IScriptFunction eventHandler)` 메서드는 문자열 형태의 `key`와 이벤트 핸들러 함수 `eventHandler`를 매개변수로 받아, 해당 `key` 이름의 이벤트가 발생하도록 핸들러를 등록하며, 등록 성공 시 `EventHandlerBase` 객체를 반환하고 이벤트 발생 시 핸들러에 `event` 매개변수를 전달합니다. 2. `ConnectEvent(Type eventType, IScriptFunction eventHandler)` 메서드는 타입 형태의 ` [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:315:3

[task] | distill [title] | TeleportService [category] | Services [rephrased] | # [Services] TeleportService 유저를 다른 월드로 워프하는 서비스입니다. 모든 함수는 **ServerOnly**이며, **출시된 월드 중 공개된 월드**로만 이동 가능합니다. `warpData`로 전달한 데이터는 `GetWarpRecord` 함수로 확인 가능합니다. ## API ### WarpUserToWorldAndWait ```lua boolean WarpUserToWorldAndWait(string userId, string destinationWorldId, string warpData) [Serv [original] | 함께 callbackFunction으로 전달된 함수가 호출됩니다. userIds는 워프시킬 유저들의 Id, destinationWorldId는 목적지 월드의 Id입니다. warpData로 전달한 데이터는 GetWarpRecord 함수로 확인할 수 있습니다. - **boolean WarpUserToWorldAndWait(string userId, string destinationWorldId, string warpData) [ServerOnly] [Yield]** 유저를 다른 월드로 워프시키고 성공 여부를 반환합니다. 출시된 월드 [chunk_id] | Services:315:2

[task] | extract_knowledge [title] | EditorService [category] | Services [rephrased] | # EditorService `EditorService`는 메이플스토리 월드 에디터 환경에서 맵 관리, 엔티티 조작, 카메라 제어, 및 에디터 UI 관련 기능을 수행하는 서비스입니다. 이 서비스는 주로 에디터 스크립트에서 사용되며, 런타임 게임 로직보다는 개발/편집 단계의 작업을 제어하는 데 목적을 둡니다. ## 개념 설명 `EditorService`는 다음과 같은 영역의 기능을 제공합니다. 1. **맵 관리**: 맵의 생성, 삭제, 로드, 저장, 및 현재/전체 맵 정보 조회. 2. **엔티티 조작**: 선택된 엔티티의 [original] | 에디터 스크립트 관련 기능을 제공합니다. # Methods - **void CloneSelectedEntity()** 선택된 엔티티를 복제합니다. - **void CreateMap(func<string> callback)** 맵을 생성합니다. callback으로 생성된 맵의 Id를 전달받습니다. - **void CreateSelectedModel(Vector2 position, boolean select = true)** 선택된 모델을 position에 생성합니다. - **void CreateSelectedModel( [chunk_id] | Services:312:0

[task] | knowledge_list [title] | TeleportService [category] | Services [rephrased] | ```lua -- 문서 검토: [Services] TeleportService 핵심 사실 정리 ``` 1. `TeleportToMapPosition(Entity targetEntity, Vector3 destinationPosition, string destinationMapName = "")` 함수는 서버에서만 실행되며, 주어진 Entity를 목적지 맵과 위치로 텔레포트 시키는 역할을 합니다. 2. `TeleportToMapPosition(Entity targetEntity, Vector3 destinationPosition, [original] | tEntity, Vector3 destinationPosition, string destinationMapName = "") [Server]** 목적지 위치로 Entity를 텔레포트 시킵니다. - **void TeleportToMapPosition(Entity targetEntity, Vector3 destinationPosition, string destinationMapName = "", Entity messageOwnerEntity = nil) [Deprecated] [Server]** 더는 사용하지 않는 함수입니다. [chunk_id] | Services:315:1

[task] | distill [title] | TeleportService [category] | Services [rephrased] | # TeleportService 예시 주변 몬스터를 한곳에 모은 뒤, 플레이어를 위로 띄워 덮치는 스킬 구현 예시입니다. `LeftShift` 키 입력 시 Tag `"Monster"` 를 가진 엔티티를 탐색하여 현재 플레이어 위치로 텔레포트하고, 플레이어는 Y축 +2 위치로 이동합니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent (KeyDownEvent event) { local key = event.key if key == KeyboardKey.Lef [original] | # Examples 주변 몬스터를 한 곳에 몰아넣어 공격하는 스킬을 만드는 예시입니다. `LeftShift` 키를 입력하면 미리 설정해 둔 Tag를 이용해 몬스터를 찾고, 찾은 몬스터들을 내 캐릭터가 있는 위치로 모읍니다. 그리고 내 캐릭터는 그보다 높은 위치로 올라가 몬스터를 덮칩니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent (KeyDownEvent event) { -- Parameters local key = event.key ----- [chunk_id] | Services:315:4

[task] | knowledge_list [title] | TeleportService [category] | Services [rephrased] | 제공된 문서의 내용을 바탕으로 TeleportService의 핵심 사실을 정리한 목록입니다. * **ClearReservation()** 은 [Server] 실행 공간에서 동작하며, 반환 타입이 void인 메서드로, 현재 예약되어 있는 모든 텔레포트 작업을 취소하는 기능을 수행합니다. * **GetWarpRecord(string userId)** 은 [ServerOnly] 실행 공간에서 동작하며, 매개변수 string userId를 받아 해당 유저의 워프 기록을 나타내는 WarpRecord 타입을 반환합니다. * **R [original] | Entity를 특정 위치로 이동시키는 기능과 유저를 다른 월드 인스턴스로 워프시키는 기능을 제공합니다. # Methods - **void ClearReservation() [Server]** 예약된 텔레포트들을 취소합니다. - **void ClearReservation(Entity messageOwnerEntity = nil) [Deprecated] [Server]** 더는 사용하지 않는 함수입니다. 다른 ClearReservation() 함수를 사용하세요. - **WarpRecord GetWarpRecord(string [chunk_id] | Services:315:0

[task] | distill [title] | SoundService [category] | Services [rephrased] | # [Services] SoundService ### 이벤트 연결/해제 - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** `key` 이름의 이벤트 발생 시 `eventHandler`에 `event` 매개변수를 전달합니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** `eventType` 타입의 이벤트 발생 시 `eventHandler` [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:316:2

[task] | knowledge_list [title] | SoundService [category] | Services [rephrased] | 1. `SoundService`의 `ConnectEvent` 메서드는 `string` 타입의 `key`와 `IScriptFunction` 타입의 `eventHandler`를 매개변수로 받아, 해당 이름의 이벤트가 발생 시 핸들러로 `event`를 전달하고 `EventHandlerBase` 타입을 반환합니다. 2. `SoundService`의 `ConnectEvent` 메서드는 `Type` 타입의 `eventType`와 `IScriptFunction` 타입의 `eventHandler`를 매개변수로 받아, 해당 타입의 이벤트가 발생 시 [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:316:2

[task] | extract_knowledge [title] | TeleportService [category] | Services [rephrased] | # TeleportService 이벤트 관리 ## 개념 설명 `TeleportService`는 텔레포트 관련 이벤트를 처리하는 서비스입니다. 이 서비스는 클라이언트와 서버 간 텔레포트 요청 및 완료 상태 등을 전달하기 위해 이벤트 기반 통신을 지원합니다. ## API 사용법 ### 이벤트 연결 특정 이벤트가 발생했을 때 실행될 핸들러 함수를 등록합니다. 1. **`ConnectEvent(string key, IScriptFunction eventHandler)`** - **인수**: - `key` (string [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:315:3

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