실험용 블로그

취미로 이것저것 하는 블로그

이 블로그 검색

arrow_upward

실험용 블로그

취미로 이것저것 하는 블로그
TITLE
개조용#스타1 유즈맵

4. 유즈맵 트리거 기본


update 2023/12/6
유즈맵의 핵심은 트리거로 만드는 다양한 이벤트다
SCMdraft2 클래식 트리거와 EUDeditor3의 epScript를 살펴보자

클래식 트리거 개요
SCMdraft2의 클래식 트리거 에디터를 사용하자 '메뉴 → Scenario → Classic Mission Triggers'선택하면 트리거 편집창이 열린다 아래는 기본 밀리맵 방식의 트리거를 적용한 모습이다 트리거는 플레이어 - 조건 - 액션 으로 구성된다 기본적으로 한번만 실행되고 사라진다 해당 플레이어가 존재해야 트리거가 작동한다 플레이어에 트리거가 적용되는게 아니다 여러 플레이어가 체크된 트리거는 각 플레이어마다 트리거를 하나씩 만든 것과 동일하다 플레이어1, 2, 3, 4... 순서로 트리거가 실행된다 조건이나 액션에 인수를 변경해서 만든다 조건이 여러개면 모든 조건을 만족해야 트리거가 작동한다 트리거와 각 트리거의 조건이나 액션은 위에서 아래로 순차적으로 실행된다 아래는 트리거의 주요 함수와 인수다 - Preserve Trigger() 트리거를 매 프래임 마다 반복하게 하는 액션이다 없으면 트리거는 1회만 실행되고 사라진다 터보 트리거라는 기법으로 반복 주기를 대폭줄이는 방법도 있다 - Wait() 밀리세컨드 만큼 대기 하고 다음 액션을 실행하는 단순한 액션이다 그러나 여러개의 Wait이 발생하면 순서가 꼬인다 유즈맵에 사용 안하는걸 추천하지만 사용한다면 주의가 필요하다 - Current Player 현재 트리거를 실행한 플레이어를 의미하는 인수다 사용하면 현재 플레이어에게 조건이나 액션을 적용한다 - Location 트리거 발생 또는 조건에 관련된 구역이다 SCMdraft2에서 배치가능하다 공중, 지상등 적용범위 지정도 가능하다 - Switch On, Off중 하나의 값을 가지는 인수다 스위치 값을 랜덤하게 설정 가능하다 각 스위치 이름 설정도 가능하다 클래식 트리거의 조건이나 액션 목록은 아래링크를 참고하자 나무위키-트리거(스타크래프트)
클래식 트리거는 이해를 돕기위한 참고사항으로 살펴봤다 다양한 트리거 작성법이 있지만 필자는 epScript를 사용하는 편이다 이후부터는 epScript 트리거로 진행한다
EUDEditor3와 epScript 개요
EUDEditor3에서 epScript를 사용하려면 약간의 초기 설정이 필요하다 일단 메뉴바에서 트리거 에디터를 열고 왼쪽에 탐색기를 펼쳐놓자 트리거 에디터 설정과 main.eps 파일이 보인다 'main.eps'는 아무 내용이 없는 클래식 트리거 파일로 삭제해도 무방하다 epScript 파일을 새로 생성하자 탐색기에서 'TestMap_EUD.e3s 왼쪽 클릭, 추가선택, epScript 파일' 선택하자 아래와 같이 '새epScript파일'이 생성된다 파일이름은 원하는대로 변경하면 된다 프로젝트에 적용할 트리거 파일을 설정해야 된다 트리거 에디터 탐색기에서 설정을 선택하자 시작파일에 기본적으로 'main.eps'로 선택되어 있는데 '새epScript파일'로 변경하자 초기설정은 여기까지다 이제'새epScript파일'에 간단한 스크립트를 작성해보자 아래는 "Hello World!" 출력하는 단순한 내용이다 전역 변수 선언을 제외한 모든 epScript 코드 트리거는 아래 세함수 안에 작성한다 - function onPluginStart() 함수 안의 내용을 처음 맵 실행시 한 번만 실행 - function beforeTriggerExec() - function afterTriggerExec() 클래식 트리거 작동 전/후 실행하고 프레임 마다 반복한다 클래식 트리거의 Preserve Trigger 적용상태라 보면된다 프로젝트 빌드로 유즈맵을 생성하자 실제 게임에서 트리거가 잘 작동하는지 확인하자
트리거 작성도 스타에디터아카데미를 참고하자 스크립트 예시, 각종 주소값, 함수 등등 제작에 많은 도움이 된다 이후로는 유즈맵 예시 위주로 다룰 예정이다

COMMENT(0)