글 작성자: Doublsb



보통 우리가 타일단위 RPG에서 아이템을 주울 때 어떻게 하는가? 그 아이템 위에 올라가서 줍는 키를 누른다.

그렇다면 반대로 버릴 때는 어떻게 하는가? 인벤토리에서 꺼내면 있던 자리에 떨어지는게 보통이다.


그것을 한번 RMVXA에서도 구현해보자.



하세요 룻

제목이 이런 이유는 신경쓰지 말자





1. 아무 맵이나 불러온다.







2. 데이터베이스에서 아무 아이템이나 막 만들어보자.


나는 라플레시아를 만들었지만, 여러분은 이거 말고 다른 아무거나 만들어도 좋다.

다만 Occasion(사용가능한 경우)에서 Only from the menu(메뉴에서만 사용가능)으로 설정해주는 게 좋다.

어쨌든 우리가 만드려는 건, 메뉴에서 사용하면 내려놓는 시스템을 만드려는 거니까.


일단은 기본적인 아이템 정보만 만들어두고, 먼저 줍는 기능부터 만들러 가자.





3. 줍게 될 아이템 이벤트를 새로 하나 생성해준다.







4. 이벤트 내용을 작성한다.


그 이벤트의 내용은 다음과 같다.

" 아이템 '라플레시아'를 인벤토리에 추가하고, 스위치 '0101 : 라플레시아를 얻었따' 를 킨다. "

어쨌든 우리는 아이템을 주워야 하는 이벤트를 만들어야 하기 때문이다.

라플레시아를 주우면 당연히 라플레시아 하나가 추가되어야 하고, 주운 라플레시아는 사라져야 할 테니까.



주운 라플레시아를 사라지게 만들기 위해서는 당연히 새로운 이벤트 페이지가 필요하다. 

New Event Page를 눌러 추가해주자.

그리고 'Switch 0101 : 라플레시아를 얻었다'가 켜졌을 때를 전제조건으로 설정해준다.


이러면 지정해 둔 스위치가 켜졌을 때, 이벤트는 그 자리에 그대로 남아있겠지만 라플레시아는 사라진 것 처럼 보일 것이다.






5. 데이터베이스로 가서 커먼 이벤트를 추가하자


커먼 이벤트가 무엇인지 알고 있는가? 

커먼 이벤트란, 맵에 관계없이 불러오면 어디서든지 사용할 수 있는 이벤트이다.

이 커먼 이벤트를 이용해서, 우리는 꽃이 그 자리에 내려놓아질 수 있도록 하는 이벤트를 만들 것이다.




커먼이벤트를 새로 작성한다. 내용은 다음과 같다.


Control Variables : [0041 : PlayerX] = Player's Map X

변수 0041인 PlayerX에 플레이어의 맵 X좌표를 대입한다.


Control Variables : [0042 : PlayerY] = Player's Map Y

변수 0042인 PlayerY에 플레이어의 맵 Y좌표를 대입한다.

Set Event Location : [라플레시아], Variable [0041][00042]

라플레시아의 이벤트 위치를 플레이어의 좌표에 놓는다.


Control Switches : [0101 : 라플레시아를 얻었따] = OFF

라플레시아를 내려놓았으니, 얻었다고 해 둔 스위치를 꺼서 다시 라플레시아가 화면에 보이게끔 한다.


Change Items : [라플레시아], - 1

인벤토리에서 라플레시아 갯수를 하나 감소시킨다


정리하면, 플레이어의 위치에 라플레시아를 놓고 다시 나타나게 한다는 내용이다.







위치는 각각 여기에 있다. 스위치는 워낙 많이 쓰는 부분인지라 스위치 위치는 안 올려 뒀다.






6. 아이템에 커먼이벤트를 추가해주자


Effects 부분에 커먼이벤트를 추가하면 끝.





적용 예시




반응형