상세 컨텐츠

본문 제목

플레이어 접촉, 이벤트 접촉이 결정 버튼에 반응하지 않도록 만들기

제작 이야기/제작 기록

by 안말이 2019. 11. 11. 15:02

본문

※ 제작 기록은 개인 기록 용도로 쓰이기 때문에 반말로 적고 있습니다. (__) 

 여지껏 '플레이어 접촉(Player Touch)'이나 '이벤트 접촉(Event Touch)'은 방향키로 이벤트에 접촉할 때만 작동 처리를 한다고 생각했으나, 이번 전투 시스템을 만들며 이 부분이 틀렸다는 걸 뒤늦게 알았다.

 

 

Player Touch임에도 결정 버튼에 반응하는 이벤트

 우선도가 플레이어보다 아래(Below characters)일 때는 티가 안 나니까 상관 없지만, 제작 중인 게임 특징상 이벤트가 플레이어와 같은 선상에 있는 오브젝트인데 방향키로 밀어 접근할 때만 반응하도록 만들고자 했으니 결정 버튼이 눌린다는 사실에 다소 혼란을 겪게 된다.

 

 물론 이 사진처럼 조건 분기를 넣어 결정 버튼이 눌리지 않으면 이벤트가 발동하지 않게 하는 방법도 있지만, 이렇게 처리하면 이벤트의 방향 고정(Direction Fix) 체크를 하지 않는 한 아래 사진과 같은 문제를 겪는다.

 

조건 분기 이벤트가 있어서 열심히 돌아본다.

 

 

 처음에는 추가한 스크립트의 문제라고 생각했으나 일본 웹에서 자료를 찾던 중 실은 RPG XP와 같은 시스템을 가졌다는 걸 알게 됐고 Game_Event를 수정할 생각으로 스크립트 창을 켰지만, 실제 접촉 판정을 처리하는 것은 이벤트 탭이 아닌 플레이어 탭에 있었다.

 

범인은 Game_Player 409번 line에 있는 'check_event_trigger_there'

 

 다행히 이 커맨드에서 괄호 안에 있는 [0,1,2]를 수정해주는 것으로 결정 버튼으로 이벤트가 시작되는 것을 간단하게 막을 수 있었다.

 

각 숫자는 트리거의 액션에 대응하고 있다.

 

 즉 [0,1,2]에서 1을 제외하고 [0,2]로 만든다면 플레이어 접촉(Player Touch)에는 결정 버튼을 눌러도 반응하지 않는다. [0,1]로 만든다면 이벤트 접촉(Event Touch)에는 결정 버튼을 눌러도 반응하지 않게 되고, [0]으로 작성하면 플레이어 접촉과 이벤트 접촉에는 결정 버튼을 통해 이벤트가 발동되지 않게 된다.

 

 0을 지우면 Action Button 커맨드의 의미가 없어지니 그런 짓은 하지 말자.

 

 

 

 이렇게 또 게임 내 치명적인 버그가 될 뻔한 알만툴의 이상하고 새로운 점을 알게 됐다.

 

 

 

관련글 더보기