mir.pe (일반/밝은 화면)
최근 수정 시각 : 2024-11-03 17:18:44

스타크래프트/트리거/조건


파일:상위 문서 아이콘.svg   상위 문서: 스타크래프트/트리거
스타크래프트 트리거 관련 문서
<colbgcolor=#000><colcolor=#c8dce6> 트리거 조건 · 실행( 인공지능)
EUD <colbgcolor=#000><colcolor=#c8dce6> 오프셋 유닛 · 무기 · 로케이션 · 심화
EUD Editor · TrigEditPlus
기타 Unlimiter · epScript · 배우기

1. 개요2. 목록
2.1. Accumulate2.2. Always2.3. Bring2.4. Command2.5. Command the Least2.6. Command the Least At2.7. Command the Most2.8. Command the Most At2.9. Countdown Timer2.10. Deaths2.11. Elapsed Time2.12. Highest Score2.13. Kill2.14. Least Kills2.15. Least Resources2.16. Lowest Score2.17. Memory2.18. Most Kills2.19. Most Resources2.20. Never2.21. Opponents2.22. Score2.23. Switch

1. 개요

스타크래프트 트리거의 조건부(Conditions)들을 서술한 문서이다. 조건부는 총 23개가 있다.

2. 목록

2.1. Accumulate

<colbgcolor=#f5f5f5,#2d2f34> Player accumulates quantitymod quantitynum resource
N - [플레이어]이(가) [자원]을(를) []만큼 채집했을 경우.

미네랄이나 가스를 일정량 모았을 경우 실행이 발동되는 조건이다. 상점 등의 시스템이 있을 경우 필수요소이다.[1]

파일:quantitymod.png

quantitymod에는 at least, exactly, at most 이렇게 3가지가 있다. at least는 최소, exactly는 정확히 같은 값[2], at most는 최대라는 뜻이다. 예를들면 "at least 100 ore[3]"일 경우에는 미네랄이 최소 100일 때부터, 그러니까 100이나 200, 300 등일 때에 해당 트리거를 실행한다. 즉, 100 이상일 때 트리거를 실행한다는 뜻이다. 그래서 50이나 0일 경우에는 실행되지 않는다. "exactly 100 ore" 인 경우에는 미네랄이 50이나 150이라면 트리거를 실행하지 않고 정확히 100일 때 실행된다는 뜻이다.

파일:quantitymod_kor.png

세디터에서는 "몇"부분을 누르면 위와 같이 quantitymod와 quantitynum 부분을 한꺼번에 설정할 수 있는 창을 띄운다. 아무래도 한글로는 at least나 at most와 같은 표현 방식에 익숙하지 않기 때문에 더 이해하기 쉬운 이상, 이하라는 표현으로 대체되었다.

2.2. Always

<colbgcolor=#f5f5f5,#2d2f34> Always
A - 무조건

Preserved Trigger가 붙는다면 게임이 시작해서부터 끝날때까지 지정된 실행이 계속 발동되는 조건이다. 반대로 Preserved Trigger가 없으면 게임이 시작하자마자 한 번 발동되고 끝이다.[4]

주로, 다음과 같은 용도로 쓰인다.
  1. 게임 시작과 동시에 1회 발동시키고 싶을 때.
  2. Preserved Trigger와 조합하여 게임 시작부터 끝까지 유지시키고 싶을 때.
  3. 디버깅 테스트용.

첫 번째 경우는 주로 맵 시작하자마자 소개 문구 같은걸 띄울 때 쓴다. Always를 조건으로 하고 Preserved Trigger를 안주면 한번만 보여지고 만다. 반대로 Preserved Trigger를 주게 되면 계속 지속되는데, 경계 밖으로 나가지 못하게 경계에 오면 유닛을 죽인다거 하는 트리거를 짠다면 이렇게 짜면 된다. 마지막으로 테스트용은 복잡한 조건을 가진 트리거를 테스트해볼 때 조건을 간소화시키는 용으로 사용할 수 있다. 예를 들어, 100킬을 만족했을 때 사망 이펙트로 화려한 이펙트를 띄운다고 가정하면, 테스트할 때마다 100킬을 하는 것은 귀찮으니 임시로 조건을 이걸로 바꿔놓고 테스트해보면 된다.

Scmdraft 2의 경우 트리거 옆에 있는 ☒를 클릭하여 □로 만들면 (disabled), 즉 트리거를 삭제하지 않은 상태로 해제를 할 수 있는데 조건 트리거에 있는 모든 트리거를 disable 상태로 변경하면 아예 실행되지 않는 것이 아니라 해당 트리거로 간주한다. 아예 실행되지 않게 하려면 Never 조건을 사용한다.

2.3. Bring

<colbgcolor=#f5f5f5,#2d2f34> Player brings quantitymod quantitynum unit.to 'location'.
C - 로케이션[위치]에서 [플레이어]이(가) [유닛]을(를) []만큼 보유했을 경우.

어떠한 유닛을 어떤 장소에 얼마만큼 갖다두면 실행이 발동되는 조건이다. 상점 시스템은 물론 순간이동이나 스위치등 거의 웬만한 유즈맵에서 필수적으로 볼 수 있다고 해도 과언이 아닌 조건이다.

unit 중에서 [buildings]은 건물, [men]은 건물이 아닌 모든 유닛, [factories]는 유닛 생산 기능이 있는 건물[5], [any units]는 건물, 유닛을 모조리 포함한 것들을 말한다.

location 중에서 anywhere은 로케이션과 관계없이 어디에 있든지 진행된다는 뜻이다. 주로 어떤 유닛을 뽑았다거나 하는 조건을 쓰고 싶을 때 anywhere로 지정한다.

조건을 at most 0 [building] 이라고 하면 건설 중인 건물까지 포함되지만, exactly 0 [building] 이라고 하면 건설중인 건물은 포함되지 않는다. 때문에 정확하게 엘리 조건을 구현하고 싶다면 at most 0을 사용해야 한다. 이는 Command 조건에서도 마찬가지. 에피소드 6의 '불의 통치'에서 드론과 건물 모두 없을 시 패배하는 트리거에 exactly 0으로 해놓아서 이후에 얻은 드론 2마리를 모두 건물로 변이시키면 그대로 패배로 직행한다.[6]

참고로 수송선 안에 탄 유닛에게도 적용된다. 즉, 지정한 유닛을 수송선에 넣고 설정한 위치에 간다면 실행된다. 단, 수송선 안에 탄 지상 유닛은 이 조건에서는 공중 유닛으로 취급하기 때문에 대상 로케이션을 지상만 유효하게 해 두었다면 해당 로케이션에 들어갔다고 해도 수송선에 탄 상태로는 실행이 안 되고 수송선에서 내려야 실행된다.

2.4. Command

<colbgcolor=#f5f5f5,#2d2f34> Player commands quantitymod quantitynum unit.
C - [플레이어]이(가) [유닛]을(를) []만큼 보유했을 경우.

어떠한 유닛을 얼마나 가지고 있으면 발동되는 조건이다.

사실상 Bring 조건에서 location을 anywhere로 못박아둔, Bring의 하위호환 조건이라 잘 쓰이지 않는다. 다만 Bring이 무거운 조건이라 좀 많이 사용하면 프레임 드랍이 심하기에 Command로 대체 가능한 조건이면 최적화를 위해 사용한다.

단, 통신 위성 중계소가 생성하는 스캐너 스윕을 인식할 때는 사용해야 한다. Bring으로는 스캐너 스윕을 인식할 수 없다.

캠페인에서는 특정한 영웅의 생존 조건으로 많이 쓰이는 트리거.

StarEdit에서 맵을 만들면 기본으로 생성되는 3개의 트리거[7] 중 2개가 이 조건을 가지고 있다. 다음과 같다.
자신이 소유한 건물(Installation 지형에서는 일반 유닛)이 0개 이하(하나도 없음)일 경우 패배, 동맹 승리 관계가 아닌 플레어들의 건물(Installation 지형에서는 일반 유닛)이 0개 이하일 경우 승리한다.

2.5. Command the Least

<colbgcolor=#f5f5f5,#2d2f34> Current Player commands the least unit.
L - 해당 플레이어가 [유닛]을(를) 가장 적게 가지고 있을 경우

Player 탭에서 선택된 플레이어가 어떠한 유닛을 가장 적게 가지고 있으면 발동되는 조건이다.

정말정말 쓰이는 곳이 드문 조건이다. 플레이어간 비교가 자동으로 되기 때문에 경쟁형 유즈맵에서 쓰일 여지는 있으나 그나마도 개별적인 유닛 보유수를 따지는것 보단 Lowest Score를 이용하는게 더 낫기에 굉장히 보기 힘들다.

게다가 Command the Least At에서 location이 Anywhere로 고정된, 하위호환 조건이다.

2.6. Command the Least At

<colbgcolor=#f5f5f5,#2d2f34> Current Player commands the least unit at location.
L - 로케이션[위치]에서 해당 플레이어가 [유닛]을(를) 가장 적게 가지고 있을 경우.

Player 탭에서 선택된 플레이어가 어떠한 유닛을 어느 공간에서 가장 적게 가지고 있으면 발동되는 조건이다.

Command the Least에서 location을 지정이 가능한 버젼이다. 그러나 잘 안쓰이는 조건인건 매한가지다.

2.7. Command the Most

<colbgcolor=#f5f5f5,#2d2f34> Current Player commands the most unit.
M - 해당 플레이어가 [유닛]을(를) 가장 많이 가지고 있을 경우

Player 탭에서 선택된 플레이어가 어떠한 유닛을 가장 많이 가지고 있으면 발동되는 조건이다.

딱 봐도 Command the Least의 반대 버젼. 그런데 이쪽도 경쟁류 유즈맵에선 Highest Score을 사용하는게 보통이기 때문에 보기 힘든건 똑같다.

2.8. Command the Most At

<colbgcolor=#f5f5f5,#2d2f34> Current Player commands the most unit at location.
M - 로케이션[위치]에서 해당 플레이어가 [유닛]을(를) 가장 많이 가지고 있을 경우.

Player 탭에서 선택된 플레이어가 어떠한 유닛을 어느 공간에 가장 많이 가지고 있으면 발동되는 조건이다.

location이 anywhere로 고정된거나 다름없는 Command the Most에서 location 선택권을 준 버젼. 그러나 잘 쓰일일이 없는건 매한가지다.

2.9. Countdown Timer

<colbgcolor=#f5f5f5,#2d2f34> Countdown Timer is quantitymod quantitynum game seconds.
T - 카운트 다운 타이머가 [시간]만큼 남아있을 경우

게임화면의 위쪽에 위치한 타이머가 일정 초[9]가 남아있으면 발동되는 조건이다.

일정 시간이 지나면이 아니라 남아있으면이다. 필연적으로 Set Countdown Time이 선행 트리거로 필요하다. 보통 카운트 다운 타이머가 0이 됐을 때 특정 이벤트가 발생하거나 발생하기 전 예고, 시간 제한 미션에서 승리 or 패배 혹은 시간 제한 몇 분전 등의 용도로 많이 쓰인다.

참고로 Elapsed Time 조건으로도 이 기능이 어느정도 대체가 가능하나 만약 카운트 다운이 일정시간후에 발동되게 되면 추가로 계산해야 하고 시간외 특정 조건을 만족하거나 시간을 포함한 특정 조건을 만족해야 발동 될 시에는 대체가 불가능하다.

2.10. Deaths

<colbgcolor=#f5f5f5,#2d2f34> Player has suffered quantitymod quantitynum deaths of unit.
N - [플레이어]이(가) [몇개]의 [유닛]을(를) 파괴 당한 경우.

어떤 플레이어가 어떠한 유닛이 얼마만큼 죽거나 파괴당하면 발동되는 조건이다. 죽이는 대상은 자기 소유의 유닛/건물만 아니면 누가 됐건 아무 상관 없으며 트리거로 죽는 것은 포함되지 않는다.[10] 보통 미션맵이나 삼국지 등 역사맵에서 특정 인물, 버티기류 맵에서 지켜야 할 것이 죽을 때 게임에 패배하는 조건으로 많이 쓰인다.

아래 실행부 쪽의 Set Deaths 부분을 보면 알 수 있지만 실제 그 유닛이 죽었는지 여부와는 관계없이 유닛마다 Deaths 수를 자유롭게 조작이 가능해서, 맵에 사용되지 않거나 파괴될 리 없는 유닛들의 Deaths 수를 변수로 이용하기 딱 좋다. 프로그래밍을 공부해보면 알 수 있겠지만, 실행 과정에서 어떤 값들을 기억해야하는 경우가 굉장히 많은데, 스타1 맵 트리거에는 이러한 기능을 제공하지 않기 때문에[11] 데스 카운트로 대신하는 것. 예를 들어, 유즈맵에서 게임 도중 딱 10번만 방문할 수 있는 특수 상점이 있다고 가정했을 때 한번 방문할 때마다 A유닛의 데스 카운트를 하나 올리는 식으로 해놓으면 데스 카운트가 10이면 그곳으로 방문하지 못하도록 해놓는 식으로 쓰인다. 이는 예시 중 하나일 뿐이고 실제 활용 방법은 무궁 무진하다.

꼬임 현상이 있는 Wait 트리거의 대체로도 많이 쓰인다. 0초 Wait를 도배해서 트리거의 실행 딜레이를 줄이는 이른바 '터보 트리거' 기법을 사용하면 Wait 트리거가 제대로 작동하지 않는다. 예를 들어, 터보 트리거를 적용한 상태에서 10초간 대기하도록 Wait 트리거를 넣으면 10초 뒤에 발동되지 않고 트리거가 꼬여버리는데, Wait 트리거 대신 데스 카운트를 이용하면 된다. 터보 트리거 발동시 데스 카운트는 1초에 15개 올라가기 때문에 15개의 데스 카운트를 환산해서 적용하는 방식이다. 위 예시의 경우 데스 카운트 150개가 쌓였을 때로 해놓으면 10초의 지연시간을 트리거 꼬임없이 적용 가능하다.

데스 카운트로 주로 쓰이는 유닛들은 게임 도중에 파괴될 일이 없는 유닛들이 애용된다. 각종 크리스탈이나 가스통, 케이다린 크리스탈, 깃발, 신호기 등이 그 예시. 이런 유닛들은 게임 도중에 플레이어가 공격해서 파괴하는 것이 불가능한데, 데스 카운트는 올리거나 내릴 수 있어서 가능한 기법. 위에서 언급했듯이 이러한 유닛들이 트리거로 죽는 것은 데스 카운트를 올리지 않기 때문에 트리거로는 얼마든지 죽여도 무방하다.

그리고 조건부 EUD의 근간이 되는 트리거이다. 키 입력 인식, 마우스 클릭 등 사용자의 입력에 대해서는 이 트리거로 처리할 수 있다. 해보고 싶다면 EUD/배우기 문서 참조.

2.11. Elapsed Time

<colbgcolor=#f5f5f5,#2d2f34> Elapsed scenario time is quantitymod quantitynum game seconds.
T - 게임이 시작한지 [](초)의 시간이 흘렀을 경우.

게임 시작시간 기준으로 일정 시간이 지났을 때 발동되는 조건이다.

이쪽은 일정 시간이 지나면 발동되는 것이기 때문에 일정 시간 버티면 보상을 준다던가 적을 강화시킨다던가 등의 조건으로 많이 쓰인다. 카운트 다운 타이머와 마찬가지로 보통 플레이되는 Fastest가 1.6배로 진행됨을 감안하고 계산해야 한다.

2.12. Highest Score

<colbgcolor=#f5f5f5,#2d2f34> Current player has highest score points.
M - 해당 플레이어의 [점수]가 가장 높을 경우.

Player 탭에서 선택된 플레이어가 가장 점수가 높을 경우 발동되는 조건이다.

1등 플레이어에게 우대 및 보상을 주는 용도로 잘 쓰이긴 하지만 그 이외엔 사실상 쓸데가 없다.

points 중 buildings는 건물을 건설한 점수, custom은 사용자 지정 점수, kills는 유닛을 처치한 점수, kills and razings는 유닛을 처치한 점수와 건물을 파괴한 점수를 합산한 점수, razings는 건물을 파괴한 점수, units는 유닛을 생산한 점수[12], units and buildings는 유닛을 생산한 점수와 건물을 건설한 점수를 합산한 점수이다.

저 중에서 Kill score(사살 점수)는 밑의 Kill 조건부가 가진 심각한 문제점을 보완할 수 있는 대체재로 쓰일 수 있다. 자세한 것은 Score 조건부를 참고.

2.13. Kill

<colbgcolor=#f5f5f5,#2d2f34> Player kills quantitymod quantitynum unit.
K - [플레이어]이(가) [유닛]을(를) []만큼 파괴했을 경우.

어떤 플레이어가 어떠한 유닛을 얼마만큼 죽이면 발동되는 조건이다.

특정, 혹은 모든 유닛/건물을 처치했을때 보상을 주거나 임무가 완료되는 조건으로 주로 쓰인다. 반대로 아군으로만 쓰이는 유닛을 지정해서 팀킬한 플레이어에게 페널티를 주거나 패배할 수 있는 조건으로 사용하기도 하다.

다만 해당되는 유닛의 플레이어는 정할 수 없다는 사실에 유의해야한다. 이 때문에 적이나 중립은 물론 동맹의 유닛을 파괴해도 적용이 된다.[13] 또한, 이 조건은 킬 순간을 잡아내는 조건이 아니고 게임 도중 죽였냐를 찾아내는 조건이라는 점을 명심해야 한다. 유닛을 잡을 때마다 미네랄을 준다든가 하는 킬에 대한 보상 시스템 같은 것들에는 이 조건을 쓰면 큰일난다. 예를 들어, '아무 유닛을 1기 잡았을 때, 미네랄 1을 준다.' 라는 트리거를 작성한다면, 유닛 1기를 잡기만 해도 게임 끝날 때까지 미네랄 1이 계속 오른다. 플레이어가 유닛을 1기 죽였다는 조건을 만족한 상태이기 때문이다. 유닛을 잡을 때마다 미네랄을 준다는 본래의 목적을 달성하기 위해선 킬스코어나 모스트킬을 이용해야 한다.

이 조건은 승리 조건이나 패배 조건으로 활용하기 위해서 만들어진 조건으로, 캠페인 같은 데서는 저런 메커니즘이 활용도가 더 높아서 잘 쓰이지만, 대부분의 유즈맵에서 잡는다는 행위는 그 행위가 발생한 순간만을 원하는 경우가 많기 때문에 메커니즘 상의 문제로 활용도가 그다지 높지 않다. 죽이는 대상 유닛의 플레이어를 정하는 기능만 있었더라도 유용하게 쓰였을 안타까운 조건 중 하나다.

2.14. Least Kills

<colbgcolor=#f5f5f5,#2d2f34> Current Player has least kills of unit.
L - 해당 플레이어가 [유닛]을(를) 가장 적게 파괴했을 경우.

2.15. Least Resources

<colbgcolor=#f5f5f5,#2d2f34> Current Player has least resource.
L - 해당 플레이어의 [자원]이(가) 가장 적은 경우.

2.16. Lowest Score

<colbgcolor=#f5f5f5,#2d2f34> Current player has lowest score points.
L - 해당 플레이어의 [점수]가 가장 적은 경우.

2.17. Memory

<colbgcolor=#f5f5f5,#2d2f34> Memory at Death Table +-1 is quantitymod quantitynum

Scmdraft 2의 비공식 2.0.8.1 이상에서만 제공하는 기능으로, EUP(EUD)조건부를 입력하게 해 주는 트리거다. 사실 이 기능이 없어도 death 조건부에 UNITID:00 라고 입력하면 EUD 조건부 제작이 가능하지만, EUP가 EUD에 비해 관리하기 편하다는 장점이 있어 따로 만들어 준 트리거이다.

버전마다 작동 방식이 다른데 비공식 패치 버전 중 한 버전은 메모리 트리거가 따로 존재하지 않고 특정 death 조건부를 memory로 자동 변환 시켰었다. 그 흔적 때문인지 Current Player, Terran Marine 으로 트리거를 만들면 자동으로 +13의 Memory 트리거로 변하고는 하는데, 실제론 정상적으로 Current Player, Terran Marine의 데스값을 인식하므로 자동으로 메모리로 바뀐다고 해서 걱정 할 필요 없다.

2.18. Most Kills

<colbgcolor=#f5f5f5,#2d2f34> Current Player has most kills of unit.
M - 해당 플레이어가 [유닛]을(를) 가장 많이 파괴했을 경우.

거의 사용되지 않아 존재조차 모르는 사람이 많으나, '모스트킬' 이라고 불리는 테크닉으로 종종 사용된다.

스타크래프트 트리거에는 죽인 횟수를 인식하는 Kills 조건부가 있지만, 이 조건부는 죽인 순간을 감지하는게 아니라 게임 중에 그 유닛을 잡았는지를 인식하는 조건부이기 때문에 대다수 유즈맵에서 원하는 '킬을 하면 보상을 준다'와 같은 행위를 구현할 수 없다는 문제점이 있다. Score와 Set Score를 이용한 인식을 하면 킬을 하는 순간 자체는 인식할 수 있지만 유닛마다 고유의 스펙을 부여한 맵에서는 차별화된 보상을 지급할 수 없고, 대량 학살을 감지하지 못하는 문제점이 있다.

하지만 Most Kills 조건부를 이용하면 연산이 조금 느리고 몇몇 포기해야 할 요소가 있지만, 아주 정확한 인식이 가능하기 때문에 가끔 기용된다.

2.19. Most Resources

<colbgcolor=#f5f5f5,#2d2f34> Current Player has most resource.
M - 해당 플레이어가 [자원]을(를) 가장 많이 채집했을 경우.

보통 이 트리거를 보면 자원을 많이 모으는 유즈맵을 만들어서 경쟁하는가 싶지만 주로 제한 시간 내에 순위표 대신에 킬 수등으로 얻는 자원량을 설정하여 많은 점수를 얻은 플레이어가 이기는 방식으로 사용되기도 한다. 그러나 비슷한 트리거에 비하면 차라리 그 트리거를 쓰는 것이 더 효율이 좋기도 하기 때문에 웬만해선 잘 쓰이는 트리거가 아니다.

2.20. Never

<colbgcolor=#f5f5f5,#2d2f34> Never
A - 실행 하지 않는다.

무슨 일이 있어도 액션을 발동 시키지 않는 조건이다.

Always와 반대되는 조건이다. 즉, 이 조건이 들어가 있으면 액션 탭에 어떤 트리거가 있든, 혹은 다른 조건에 무엇이 들어있든 실행되지 않는다. 언뜻 보면 전혀 쓸 데 없는 것처럼 보이지만 가끔 사용된다. 바로 디버그용. 어떤 다수의 복합적인 트리거를 구성했는데 제대로 연계가 되지 않고 한 부분에서 버그가 발생한다면 의심 가는 세트에 이 Never를 걸고 해당 부분을 건너 뛰는 형식으로 테스트를 해 볼 수 있다. 만약 거르고 넘어갔는데 버그가 발생하지 않았다면 바로 그 세트에서 버그가 일어나는 것. 쉽게 말해 코딩에서 주석 처리를 대체하는 조건이다. 이러한 특성 때문에 완성맵에서는 보기 힘들고 제작중에만 간간히 쓰인다. 그나마도 조건 목록에서 ☒를 클릭하여 □로 바꿔주면 될 일이므로 일일이 눌러주기 번거로울 정도로 조건이 많을 때가 아니면 볼 일이 없다.

스타크래프트 캠페인 미션 맵에서는 드물지 않게 볼 수 있는데, 영웅을 넣으려다 만 미션에 영웅이 죽으면 게임을 패배로 만드는 트리거의 조건 탭에서 볼 수 있다.[14]

2.21. Opponents

<colbgcolor=#f5f5f5,#2d2f34> Player has quantitymod quantitynum opponents remaining in the game.
N - [플레이어]을(를) 적대시 하는 플레이어가 []만큼 존재할 경우.

주로 유닛이 계속 생성되는 맵에서 쓰인다. 일정 컴퓨터 유닛 수가 넘어가면 패배하는 트리거로 잘 쓰이는 트리거.

2.22. Score

<colbgcolor=#f5f5f5,#2d2f34> Player points score is quantitynum.
N - [플레이어]가 [점수]를 []만큼 얻었을 경우

플레이어의 스코어를 다룰 수 있는 조건부. 보통 kill score(사살 점수)를 이용하여, 위의 Kill 조건부가 가지는 문제점을 대체하기 위해 사용한다.

모든 유닛과 건물들은 생산 또는 사살시 점수가 오른다. 유닛이나 건물의 점수는 일반 에디터로는 수정이 불가능하며 EUD 에디터로 유닛의 구조 오프셋을 수정해야만 한다. 기본적으로 유닛 비용 기준 '(미네랄×2)+(가스×4)'로 점수가 설정되어있다. 예를 들어 저글링을 1기 잡았으면 25×2=50점이 오르고, 뮤탈리스크를 1기 잡았으면 (100×2)+(100×4)=600점이 오르는 식이다. 점수는 스타크래프트/포인트 문서에서 참고할 수 있다. 생산 점수의 경우 트리거로 생성된 것도 점수로 쳐준다. 정확히 말하자면 기본적으로 직접 생산이 가능한 일반 유닛과 일반 건물의 경우는 트리거로 생성된 것 뿐 만 아니라 그냥 맵에 유닛이나 건물을 깔아두기만 해도 점수에 죄다 포함된다. 다만 기본적으로 직접 생산이 불가능한 영웅 유닛[15], 특수 건물, 브루들링, 스파이더 마인, 인페스티드 커맨드 센터 등 이러한 경우는 트리거로 생성할 시 점수에 포함되지 않는다. 즉, 영웅 유닛은 백날 뽑아도 빵점이라는 얘기다.

이 점수를 활용하면, 스타 1에서도 유닛을 잡을 때마다 보상을 주는 시스템을 짤 수 있다. 예를 들어 '사살 점수가 100 이상이면, 미네랄을 10 주고 사살 점수를 100 깎는다.'라는 트리거를 짜놓으면 100마다 미네랄 10이 들어오게 된다. 따라서 저글링은 2마리 잡으면 10 미네랄이 들어오고 뮤탈리스크는 60 미네랄이 들어오는 식이다.

언뜻 보기에는 상관이 없어보이지만, 이 시스템에는 치명적인 문제점이 있다. 바로 유닛의 능력치를 수정을 하지 않았거나 기초 밸런스는 유지할 정도로 수정한 경우에는 상관이 없지만, 그렇지 않으면 일괄적이지 않다는 점이다. 쉽게 말해, 유즈맵이니까 저글링을 매우 강력한 유닛으로 설정하고 반대로 뮤탈리스크는 훨씬 약하게 설정했다고 해보자. 이럼에도 유닛의 사살 점수는 변하지 않기 때문에 여기에 사살 점수에 기반한 보상 시스템을 넣으면 쫄몹이 더 큰 보상을 주는 문제점이 생기게 된다.

또한 이 시스템은 유닛의 가치에 비례해서는 정확히 줄 수 있지만 킬 수에 따라서는 정확히 줄 수 없다는 단점이 있다. 킬할 때마다 미네랄 1을 주는 시스템을 짜려면 사살 점수가 1이라도 있으면 미네랄 1을 주고 사살 점수를 0으로 만들어버리는 식으로 짜야하는데 이 경우 한번에 여러 킬을 올린게 전혀 반영이 안된다는 문제점이 있다. 만약 플레이어가 잡을 수 있는 몹이 한정되어 있다면 그 단위로 짤라서 주면 되긴 하지만 그렇지 않을 경우에는 분간이 안된다. 단적으로 플레이어의 킬스코어가 800점일 경우, 이것만 봐서는 플레이어가 퀸 1마리를 잡은 것인지 핵을 떨궈서 오버로드 4마리를 동시에 잡은 것인지를 알 수가 없다.

2.23. Switch

<colbgcolor=#f5f5f5,#2d2f34> 'switchname' is switchstatus.
S - [스위치 상태]


[1] 상점 시스템이 있을 경우 Bring과 같이 쓰인다. [2] 1.04 패치부터 새로 추가되었다. [3] 미네랄이란 뜻이다. Mineral은 너무 글자가 길었는지 트리거 작성할 때에는 동의어인 Ore로 나온다. [4] 즉, 언제나 발동되기 때문에 조건창에 다른 조건들과 같이있으면 의미가 없다. [5] 저그의 해처리, 레어, 하이브도 포함된다. [6] 에피소드 2의 첫 번째 임무에서 다고스가 "마지막 남은 드론도 건물로 변이시키면 안 된다."라고 충고했는데, 일곱 번째 임무인 '도태'에서 드론을 모두 소비해도 패배하지 않는다. 이를 볼 때 블라자드의 실수라라는 것. [7] 일반적인 밀리 모드로 플레이 할 때 쓰이는 트리거이다. [8] 단, Installation 지형인 경우 buildings 대신 men으로 설정된다. Non Allied Victory Players commands at most 0 buildings도 마찬가지. [9] 몇시 몇분 몇초 할때 그 초(秒)이다. 주의할 점은 Countdown Timer는 게임 속도 Normal기준으로 1초가 측정되기 때문에 보통 플레이하는 Fastest는 1.6배속으로 진행됨을 고려하고 설정해야 한다. [10] 참고로 죽이는 대상과 죽는 대상 양쪽 다 같은 플레이어라도 트리거는 적용된다. [11] Switch가 있기는 하지만 0과 1, 즉 프로그래밍 변수로 따지면 boolean 변수로 밖에 활용될 수 없다. [12] 예외로 시즈 모드는 점수가 오히려 내려간다. 정확히는 내려가는 것이 아니라 탱크를 생산했을 때 받은 점수만큼 반납하는 식이다. 실제로 모드 전환을 해보면 탱크일 때는 점수가 올라갔다가 시즈일 때는 내려가는 것을 확인할 수가 있다. 물론 시즈일 때 죽어버리면 반납한 점수는 되돌려 받지 못 한다. 어찌 보면 스타 내에서 유일하게 마이너스 점수를 줄 수 있는 유닛. [13] 자기 소유의 유닛은 적용되지 않는다. [14] 예를 들어, 종족전쟁 저그의 마지막 미션인 오메가에서 케리건이 죽으면 패배로 끝나는 트리거에서 찾을 수 있다. [15] 다크 히어로, 시빌리언 포함

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r352
, 2.2번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r352 ( 이전 역사)
문서의 r ( 이전 역사)