본문 바로가기

스타크래프트2 에디터/ㄴ 고급 강의

[트리거] RPG 관련 옵션



RPG에 쓰이는 여러가지 설정들을 트리거로 만들어보겠습니다.


일단 WASD 이동 방식이야 아래에서 설명해서 넘어가겠구요....

이번 강의에서 설명할 것은

 

1. 타겟팅 시스템(대상 클릭하고 단축키 누르면 행동)

2. 우두머리 표시줄 - 체력/마나 등 표시

3. 시점 이동(오른쪽 클릭으로 시점 변형)


먼저 대상으로 할 유닛 변수를 하나 만들어 줍니다.

알기 쉽게 이름은 대상 혹은 target으로 해주는 게 좋겠죠??

그리고 플레이어 캐릭터를 위한 유닛 변수를 하나 더 만들어 줍니다.

 

그리고 대화상자, 대화상자 아이템 변수도 각각 만들어 줍니다.

※여기서 대화상자 아이템 변수에서 배열 값에 만들어 줄 버튼 갯수만큼을 입력하셔야 합니다.



<플레이어 캐릭터의 체력,보호막,마나 표시창 생성>


그리곤 트리거 하나 생성하시고

이벤트는 지도 초기화로 해주시고

RPG식으로 해야 하니 우선 게임 UI는 무조건 숨겨야 겠구요,

다음엔

 

[UI]

  -우두머리 표시줄 표시
       플레이어: 모든 플레이어
       우두머리 표시줄 ID: 1
       제목: "체력"
       초상화: (그림 파일)

       최대: (유닛의 최대 체력)

  -우두머리 표시줄 현재 값 설정
       우두머리 표시줄 ID: 1
       현재: (유닛의 최대 체력)
       새로 고침: 수행

  -우두머리 표시줄 이동
       우두머리 표시줄 ID: 1
       고정점: (원하는 위치)
       오프셋 X: (원하는 위치)
       오프셋 Y: (원하는 위치)


이렇게 하시면 플레이어 캐릭터의 체력 표시가 나오고요.

우두머리 표시줄 ID만 바꿔서 보호막, 마나 등을 설정해 주실 수 있습니다.

 

그러면 이렇게 나옵니다.

 


<유닛 명령창 생성>


다음엔

 

[대화 상자]

  -대화 상자 만들기
       고정점: 아래
       오프셋 X: (원하는 위치)
       오프셋 Y: (원하는 위치)
       너비: (원하는 크기)
       높이: (원하는 크기)
       모달: 모달

 

[변수]

  -변수 설정
       변수: (만들어 놓은 대화상자 변수)
       값: 마지막으로 만든 대화 상자

 

[대화 상자]

  -대화 상자 아이템 만들기 (버튼)
       대화 상자: 마지막으로 만든 대화 상자
       너비: (원하는 크기)
       높이: (원하는 크기)
       고정점:  (원하는 위치)
       오프셋 X: (원하는 위치)
       오프셋 Y: (원하는 위치)
       툴팁: "(명령 이름)"
       버튼 텍스트: " "
       부양 이미지: ""

  -대화 상자 아이템 만들기 (이미지)
       대화 상자: 마지막으로 만든 대화 상자
       고정점: 왼쪽 위
       너비: (원하는 크기)
       높이: (원하는 크기)
       툴팁: ""
       오프셋 X: (원하는 위치)
       오프셋 Y: (원하는 위치)
       이미지 유형: 보통
       이미지: (그림 파일)

       타일 덮임: false
       색조 색상: 흰색
       혼합 모드: 보통

[변수]

  -변수 설정
       변수: 능력 대화상자 아이템
           인덱스 1: 1
       값: 마지막으로 만든 대화 상자 아이템


이렇게 하시면 명령 한 개가 만들어 집니다.

연두색의 행동은 한 번만 만들어 주시면 되고요, 파란색의 행동은 만들고 싶은 만큼 반복해주셔야 합니다.

 

그리고 마지막으로

 

  -대화 상자 표시/숨기기
       플레이어: 모든 플레이어
       대화 상자: 마지막으로 만든 대화 상자
       볼 수 있음: 표시


이걸 추가해 주시면 됩니다.

 

그러면

이런 식으로 만들 수 있습니다.



추천 눌러주세요 ^^



<타겟팅>


그럼 이제 타겟팅을 해봅니다.

먼저 대상 선택했을 때 대상 체력 뜨게 하는 것입니다.

그림에서 처럼 플레이어 캐릭터 상태 표시법과 동일합니다.

 

그리고 유닛이 죽었을 때는 체력바가 뜨지 않아야겠죠??

여기서 If 문에 있는 조건의 좌변은 변수입니다.


다음엔 능력을 사용하는 법입니다.

첫번째 명령을 선택했을 때 사용되는 것입니다.

 

If문에는 (대상 변수) != 유닛 없음   (!= 이것은 같지 않다는 뜻입니다.)

 

행동에는

[유닛]

  -지시 전달
       유닛: (플레이어 캐릭터 변수)
       지시: 대상 지정한 유닛에 지시
           유닛: (대상 변수)
           능력 명령:  (첫번째 능력 명령)
       대기열: 기존 지시 바꾸기

해줍니다.

그런데 행동이 실행되기 위한 이벤트가 없죠?

 

두가지로 해주어야 하기 때문입니다.

버튼을 직접 클릭 해 주었을 때와 단축키를 눌렀을 때 따로 해주어야 합니다.


단축키를 눌렀을 때


직접 눌렀을 때

이렇게 하면 타겟팅 시스템이 완성됩니다.



<유닛 상태 업데이트>

 

위에서 우두머리 표시줄을 썼는데요, 문제는 체력이 변하기 때문에 계속 업데이트를 해주어야 한다는 것입니다.


[UI]

  -우두머리 표시줄 현재 값 설정
       우두머리 표시줄 ID: 1
       현재: 실수를 정수로 변환
           값: 유닛 속성
               유닛: (플레이어 캐릭터 변수)

               속성: 체력
               현재: 현재
       새로 고침: 수행

이걸 또 여러 개 만드시면 됩니다.



<시점 변형>

 

난 이 시점이 맘에 안 드는데 맵에는 시점 하나만 만들어 놓으니 짜증나셨죠?


2012/10/03 - [스타크래프트2 에디터/에디터 강의] - 28. [트리거] 카메라

아래쪽에 보시면 오른쪽 마우스 버튼을 누르면 시점을 변형할수 있는 법이 설명되어 있습니다.


이것들과 제가 아래에 썼던 WASD이동 등을 결합하시면 RPG의 기본 적인 것은 만드실 수 있을 겁니다.