[source] | guide_examples [title] | 실행 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=210 [code] | Method: [server only] void OnUpdate(number delta) { local users = _UserService.UserEntities local message = "Out of bounds" -- 모든 플레이어를 체크하며 플레이어가 특정 좌표 밖으로 나갔을 때 메시지 출력 for id, user in pairs(users) do local posX = user.TransformComponent.Position.x if posX > 100 then
[source] | guide_examples [title] | 원하는 이펙트 찾기 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=538 [code] | _EffectService:PlayEffect("f396262ddb6e4d5581360496bb4e9f86",self.Entity,Vector3(x,y,0), 0, Vector3(1,1,1))
[source] | guide_examples [title] | 원하는 이펙트 찾기 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=538 [code] | Event Handler: [self] HandleSpriteAnimPlayerChangeFrameEvent(SpriteAnimPlayerChangeFrameEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: ClimbableSpriteRendererComponent -- Space: Client ---------------------------------------------------------
[source] | guide_examples [title] | 영상 재생시키기 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=539 [code] | [client only] void Jump(int timeInSeconds, string targetUserId) { void OnBeginPlay() self.Entity.YoutubePlayerWorldComponent:Jump(20.0) }
[source] | guide_examples [title] | 영상 재생시키기 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=539 [code] | [client only] void Pause(string targetUserId) { void Pause() self.Entity.YoutubePlayerWorldComponent:Pause() }
[source] | guide_examples [title] | 영상 재생시키기 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=539 [code] | [client only] void PlayFromStart() { self.Entity.YoutubePlayerWorldComponent:Play() self.Entity.YoutubePlayerWorldComponent:Jump(0) }
[source] | guide_examples [title] | 영상 재생시키기 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=539 [code] | [client only] void PlayPause(string targetUserId) { self.Entity.YoutubePlayerCommonComponent:PlayPause() }
[source] | guide_examples [title] | 영상 재생시키기 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=539 [code] | [Service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: InputService -- Space: Client --------------------------------------------------------- -- Parameters -- local key = event.key -----
[source] | guide_examples [title] | 아바타의 외형 변경과 활용 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=543 [code] | Function: override void OnEnterTriggerBody(TriggerEnterEvent enterEvent) { __base:OnEnterTriggerBody(enterEvent) -- 오브젝트와 충돌한 대상(플레이어)을 받아옵니다. local player = enterEvent.TriggerBodyEntity -- 오브젝트와 충돌한 대상에게 AvatarRendererComponent가 없다면 색은 변하지 않습니다. local avatarRenderer
[source] | guide_examples [title] | 아바타의 외형 변경과 활용 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=543 [code] | { override void OnEnterTriggerBody(TriggerEnterEvent enterEvent) __base:OnEnterTriggerBody(enterEvent) -- 오브젝트와 충돌한 대상(플레이어)을 받아옵니다. local player = enterEvent.TriggerBodyEntity -- 오브젝트와 충돌한 대상에게 AvatarRendererComponent가 없다면 복장은 바뀌지 않습니다. local costumeManager = pla
[source] | guide_examples [title] | 아바타 표정 바꾸기 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=544 [code] | Method: [server] void Emote (number key, string userId) { local avatar = _UserService:GetUserEntityByUserId(userId).AvatarRendererComponent if key == 1 then avatar:PlayEmotion(EmotionalType.Angry, 5) -- 화난 표정을 5초 동안 재생 elseif key == 2 then avatar:PlayEmotion(EmotionalTyp
[source] | guide_examples [title] | MovementComponent를 활용한 엔티티의 이동 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=546 [code] | [server only] void OnUpdate(number delta) { local isClimbPaused = self.Entity.MovementComponent.IsClimbPaused log(isClimbPaused) }
[source] | guide_examples [title] | MovementComponent를 활용한 엔티티의 이동 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=546 [code] | [serive: InputService] HandleKeyUpEvnet(KeyUpEvent event) { -- Parameters local key = event.key -------------------------------------------------------- --좌우 키를 입력할 때마다 플레이어가 좌측을 향하고 있으면 콘솔 창에 true를 출력합니다. if key == KeyboardKey.LeftArrow or key == KeyboardKey.RightArrow then log(self.Entity.M
[source] | guide_examples [title] | MovementComponent를 활용한 엔티티의 이동 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=546 [code] | [server only] void OnUpdate(number delta) { -- 플레이어 엔티티인 경우 실행 제어 공간을 client 또는 client only로 변경합니다. if self._T.accTime == nil then self._T.accTime = 0 end self._T.accTime = self._T.accTime + delta --3초마다 엔티티를 점프시킵니다. if self._T.accTime >= 3 then self.Entity.MovementComponent:Jump(
[source] | guide_examples [title] | MovementComponent를 활용한 엔티티의 이동 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=546 [code] | [server only] void OnUpdate(number delta) { -- 플레이어 엔티티인 경우 실행 제어 공간을 client 또는 client only로 변경합니다. if self._T.accTime == nil then self._T.accTime = 0 end self._T.accTime = self._T.accTime + delta --3초마다 엔티티를 다운 점프시킵니다. if self._T.accTime >= 3 then self.Entity.MovementComponent:D
[source] | guide_examples [title] | MovementComponent를 활용한 엔티티의 이동 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=546 [code] | [server only] void OnUpdate(number delta) { local deltaX = 1 local pos = self.Entity.TransformComponent.Position pos.x = pos.x + deltaX * delta local deltaPos = Vector2(pos.x, pos.y) self.Entity.MovementComponent:SetPosition(deltaPos) }
[source] | guide_examples [title] | 플레이어 설정과 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=547 [code] | Method: [server only] void OnBeginPlay() { _TimerService:SetTimerOnce(function() for userId, userEntity in pairs(_UserService.UserEntities) do userEntity.PlayerComponent:MoveToMapPosition('map02',Vector2(2,2)) end end, 10) }
[source] | guide_examples [title] | 플레이어 설정과 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=547 [code] | Method: [client only] void OnBeginPlay() { self.Entity:ConnectEvent(DeadEvent, function() self.Entity.PlayerComponent.RespawnPosition = self.Entity.TransformComponent.Position end) }
[source] | guide_examples [title] | 플레이어 설정과 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=547 [code] | Method: [server only] void OnBeginPlay() { local MagicStone = _EntityService:GetEntityByPath('/maps/map01/MagicStone') -- 플레이어와 부딪힐 엔티티의 경로를 입력합니다. MagicStone:ConnectEvent(TriggerEnterEvent, function(event) if event.TriggerBodyEntity.PlayerComponent then event.TriggerB
[source] | guide_examples [title] | 플레이어 설정과 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=547 [code] | Method: [client only] void OnBeginPlay() { local playerController = self.Entity.PlayerControllerComponent playerController:AddCondition("Jump", function() if self.Entity.PlayerComponent.Hp < 10 then log("Stop Jumping") return false end return t
[source] | guide_examples [title] | 플레이어 설정과 제어 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=547 [code] | Method: [client only] void OnBeginPlay() { local playerController = self.Entity.PlayerControllerComponent playerController:RemoveActionKey(KeyboardKey.LeftControl) playerController:SetActionKey(KeyboardKey.F, "Attack") }
[source] | guide_examples [title] | Effective MSW 1 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=559 [code] | local targetEntity = _EntityService:GetEntity("a22396e1-6365-42d4-9cef-5924c223f7fa") if targetEntity ~= nil then -- Do Something end
[source] | guide_examples [title] | Effective MSW 1 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=559 [code] | local targetEntity = _EntityService:GetEntity("a22396e1-6365-42d4-9cef-5924c223f7fa") if isvalid(targetEntity) then -- Do Something end
[source] | guide_examples [title] | Effective MSW 1 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=559 [code] | _UIToast:ShowMessage("Show Message") wait(1) _UIToast:ShowMessage("Show Delay Message")
[source] | guide_examples [title] | Effective MSW 1 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=559 [code] | local targetEntity = _EntityService:GetEntity("a22396e1-6365-42d4-9cef-5924c223f7fa") targetEntity.TestComponent:ShowMessage() function delayMessage() local targetEntity2 = _EntityService:GetEntity("a22396e1-6365-42d4-9cef-5924c223f7fa") targetEntity2.TestComponent:ShowMessage() end _TimerServ
[source] | guide_examples [title] | Effective MSW 1 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=559 [code] | log("Do A") wait(1) log("Do B") log("Do C") function DoD() log("Do D") end _TimerService:SetTimerOnce(DoD, 1) log("Do E")
[source] | guide_examples [title] | Effective MSW 1 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=559 [code] | log("TEST") -- No.1 wait(1) log("TEST2") -- No.2
[source] | guide_examples [title] | Effective MSW 1 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=559 [code] | [Server] void RequestBuyItem(integer shopID, integer itemID) { local itemCost = _ShopLogic:GetItemCost(shopID, itemID) if itemCost < self.money then self.money = self.money - itemCost self:BuyItem(itemID) self:ResponseBuyItem(itemID, self.Entity.PlayerComponent.UserId
[source] | guide_examples [title] | Effective MSW 1 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=559 [code] | [Server] void RequestBuyItem(integer shopID,integer itemID) { local itemCost = _ShopLogic:GetItemCost(shopID, itemID) if itemCost < self.money then self.money = self.money - itemCost self:BuyItem(itemID) self:ResponseBuyItem(itemID, self.Entity.PlayerComponent.UserId)
[source] | guide_examples [title] | Effective MSW 2 [page] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=560 [code] | Method: [Client Only] void OnBeginPlay() { self:NotifyClientOnBegin() } [server] void NotifyClientOnBegin() { -- Send Data To Client }