루아 Lua 메이플스토리 월드 자주 사용하는 코드 예시 작성

반응형

1. 캐릭터 이동

-- 특정 조건에서 이벤트 트리거
function onEventTrigger(event, player)
    if event == "enterRegion" then
        player:say("지역에 진입했습니다!")
    elseif event == "killMonster" then
        player:say("몬스터를 처치했습니다!")
    end
end

-- 이벤트 등록
local eventSystem = ... -- 이벤트 시스템 객체를 여기에 할당
eventSystem:on("enterRegion", function(player) onEventTrigger("enterRegion", player) end)
eventSystem:on("killMonster", function(player) onEventTrigger("killMonster", player) end)

 

2. NPC와 상호 작용

-- 캐릭터를 특정 위치로 이동시키는 함수
function moveCharacter(character, x, y)
    character:setPosition(x, y)
end

-- 캐릭터를 특정 좌표로 이동
local character = ... -- 특정 캐릭터 객체를 여기에 할당
moveCharacter(character, 100, 200)

 

3. 아이템 드롭

-- NPC와의 대화 이벤트
function onNPCInteraction(npc, player)
    npc:say("안녕하세요! 무엇을 도와드릴까요?")
end

-- 특정 NPC 객체에 상호작용 이벤트 등록
local npc = ... -- 특정 NPC 객체를 여기에 할당
npc:on("interaction", onNPCInteraction)

 

4. 퀘스트 진행

-- 아이템을 특정 위치에 드롭
function dropItem(itemID, x, y)
    local item = createItem(itemID)
    item:setPosition(x, y)
end

-- 특정 위치에 아이템 드롭
dropItem(4000000, 150, 300) -- 예: 아이템 ID 4000000을 (150, 300) 위치에 드롭

 

5. 이벤트 트리거

-- 퀘스트 시작 이벤트
function startQuest(player, questID)
    player:startQuest(questID)
    player:say("퀘스트가 시작되었습니다!")
end

-- 퀘스트 완료 이벤트
function completeQuest(player, questID)
    player:completeQuest(questID)
    player:say("퀘스트를 완료했습니다!")
end

-- 특정 퀘스트 시작 및 완료
local player = ... -- 특정 플레이어 객체를 여기에 할당
startQuest(player, 1001) -- 예: 퀘스트 ID 1001 시작
completeQuest(player, 1001) -- 예: 퀘스트 ID 1001 완료
반응형