안녕하세요, MiroLight 또는 ⓐngel_ⓛight 입니다.
이 글을 퍼가실 분은,
퍼 가시되, 아래의 공식 배포처를 포함한 배너를 반드시 포함한채로 가져가 주시길 바라며, 지금 보시는 이 내용까지
같이 가져가 주세요. (배포 후 재배포시에 이 문구가 안보이면 안되겠죠?)
내용의 수정은 양심적으로 하지 않으시길 바랍니다.
위의 두 사항을 어길시에는 신고가 들어갑니닷. >_<
ⓐL - 천사강좌 S 2 // 제 11강. 〃 ' 똑딱, 스위치 '
'ㅅ')/
엔라입니다. 오늘은 시간에 쫓기는 감이 많이 있네요. 어제는 맵제작에 바쁘다가 오늘은 6시 00분에 일어났습니다.
X-Tra
이 강좌는 X-Tra 에디터의
와 함께합니다.
시작!... 전에,
지금까지 조건부
ACCUMULATE (자원인식)
ALWAYS (조건無)
BRING (지역유닛 인식)
COMMAND (전체유닛 인식)
└세트 +4 (전체유닛 인식)
COUNTDOWN TIMER (타이머 인식)
DEATHS (죽은수 인식)
ELAPSED TIME (시간 인식)
KILL (킬수인식)
LEAST KILL (킬수 순위 인식)
LEAST RESOURCES (자원 순위 인식)
MOST KILL (킬수 순위 인식)
MOST RESOURCES (자원 순위 인식)
NEVER (조건 만족 불가능)
OPPONENTS (플레이어수 인식)
행동부
SET COUNTDOWN TIMER (타이머 설정)
SET DEATHS (죽은수 설정)
PRISERVE TRIGGER (트리거 반복)
17 / 3개를 했습니다.
이번에는 그 유명한 SWITCH를 배웁니다.
SWITCH (★★★★)
조건부,
중요한 트리거입니다. 별이 다섯개가 아닌것은, ON/OFF 밖에 없다ㅡ 즉, 0/1 밖에 없다ㅡ 라는 것 때문입니다.
일단 개념에 대해 말하면 어떤 행동을 했는지 하지 않았는지를 저장해놓는 것. 이라고 보시면 됩니다.
항목은 Switch is set
한가지 뿐입니다.
Switch Name : 스위치 이름입니다.
Rename... : 스위치 이름을 정의합니다.
Set : 스위치가 열려있을 경우
Cleared : 스위치가 닫혀있을 경우
모든 스위치는 별개의 설정이 없으면 처음에 Cleared 상태입니다.
이번에는 '행동부'의 스위치입니다.
이 SET SWITCH는 스위치의 상태를 설정하는 트리거 입니다.
항목은 Switch is set
한가지 뿐입니다.
Switch Name : 스위치 이름입니다.
Rename... : 스위치 이름을 정의합니다.
Set : 스위치를 엽니다.
Clear : 스위치를 닫습니다.
Toggle : 스위치를 반대로 돌립니다.
Random : 스위치를 랜덤으로 돌립니다.
스위치는 보통 OR조건으로 많이 사용합니다.
전에 브링을 하며 이런 트리거를 보셨을겁니다.
OR ( 두가지 조건 중 한가지 이상 -> 결과 출력 )
이런 트리거가 있었는데, 기억나시나요?
위의 경우, 한가지의 조건만 만족시키면 플레이어가 승리하게 됩니다. 고로, 다른 하나의 트리거는 규제하지 않아도 됩니다. (즉, 태사다를 둠으로서 승리하면 2질럿은 상관없다, 인거죠)
하지만 트리거의 행동부는 빅토리만 있는것은 결코 아닙니다.
예제를 들어서 설명드립니다.
태사다와 제라툴이 있습니다.
이 두사람이 마라톤을 하여 Location 0에 도착하면, '먼저 도착한' 1人에게만 1등상금 500미네랄을 줍니다.
자, 만약 위의 빅토리 or 조건을 사용하면 어떻게 될까요? 일단 아래의 트리거를 봐주세요.
CP의 태사다가 1이상 L0에 있으면,
미네랄을 500 더한다.
CP의 제라툴이 1이상 L0에 있으면,
미네랄을 500 더한다.
만약 이상태에서 게임을 실행하면,
누가 1등을 하던간에 들어온 플레이어의 태사다/제라툴에게 500미네랄을 제공하게 됩니다. 이걸 방지하기 위해서는 조건부와 행동부에 무언가를 하나씩 추가해 주어야만 합니다. 그러기 위한 방법중 하나가 스위치를 이용하는 것입니다. (사실 이 or겹침 방지 트리거는 여러가지 트리거로 대체 가능합니다.)
바로 예제 트리거를 보여드리죠.
CP의 태사다가 1이상, 스위치가 닫혀있는 상태일때
미네랄 +500 ,스위치 1 연다.
CP의 제라툴이 1이상, 스위치가 닫혀있는 상태일때
미네랄 +500 ,스위치 1 연다.
이렇게 설정되어 있다면 어떻게 될까요?
먼저 제라툴이 L0에 들어왔다고 칩시다.
그럼 스위치는 닫혀있고(설정을 별개로 하지 않으면 처음에는 클리어상태입니다.) 제라툴이 1이상 있으므로 스위치 1이 켜지고, 500미네랄이 더해집니다.
그 후, 태사다가 L0에 들어올경우에는 스위치 1이 열려있는 상태가 되어 있으므로 조건 한가지를 만족시키지 못하여 행동부가 실행되지 않습니다. 이는 스위치 활용의 예제 입니다.
사실 '표시로서의' 스위치는 다른 트리거에 형편없이 밀립니다. (특히 DEATHS 한테요...) 이는 트리거 개념강의가 끝나면 다루도록 하겠습니다.
랜덤스위치
스위치의 가정 큰 별점요인입니다. 바로 '랜덤'입니다.
자, 스위치 액션에 보시면 Random 이라고 하는것이 있습니다. 이 Random을 사용하면 스위치를 ON/OFF중 하나를 아무거나 설정합니다.
여기에, 프리저브 트리거 (반복 트리거)를 첨부한다면 설정한 스위치는 조건이 만족하는한 계속해서 ON/OFF를 반복하게 됩니다.
이 ON/OFF의 반복으로 확률트리거를 만드는 것입니다.
예를들어서, 50%의 확률로 마린/저글링중 하나를 생성하는 트리거를 만든다면, 아래와같은 3개의 트리거를 만들어 주면 됩니다.
처음에 스위치 1을 랜덤으로 돌립니다.
이 스위치 1은 온오프를 반복합니다.
그렇기때문에, ON/OFF 두가지의 트리거로 이를 사용할 수 있습니다.
ON=저글링
OFF=마린
이런식으로요.
이 경우, 스위치 한개로는 50%의 확률이 생성됩니다.
확률론 (?)
다들 엄청나게 착각하고 계시는것이, '10% , 70%' 이런식의 확률이 가능하다. 라는것인데요,
에... 사실상 불가능합니다. 왜냐하면 스타맵에서의 확률은 '열닫'으로 결정되기 때문입니다.
동전의 앞 뒷면을 떠올리시면 됩니다.
만약 스위치가 1개다.
스1 열
스1 닫
두개의 확률, 즉 50%입니다.
스위치 2개 (4) - 25%
스1 열 스2 열
스1 열 스2 닫
스1 닫 스2 열
스1 닫 스2 닫
스위치 3개 (8) - 12.5%
스1 열 스2 열 스3 열
스1 열 스2 열 스3 닫
스1 열 스2 닫 스3 열
스1 열 스2 닫 스3 닫
스1 닫 스2 열 스3 열
스1 닫 스2 열 스3 닫
스1 닫 스2 닫 스3 열
스1 닫 스2 닫 스3 닫
스위치 4개 (16) - 6.25%
(생략)
2의 x제곱 (x는 스위치 수) 의 경우의 수가 생깁니다.
이상입니다. 질문사항 있으시면 댓글 혹은 쪽지주세요- (※ EUD는 저도 모릅니다 [...])
※ 천사강좌 S 2 [공식] 배포처 리스트
스타크래프트 Forever™ (http://cafe.daum.net/SCForever)
스타크래프트 팩토리!!™ (http://cafe.daum.net/comgard)
■■■■▶스타크자료실◀■■■■ (http://cafe.daum.net/starcraft100down)
FPS커뮤니티 (http://cafe.daum.net/FPSC)
첫댓글 스위치에 대해 궁금했는데 조금이라도 더 알고가게 되서 감사하네요
많은 좋은자료 보고갑니다 ! ㅎㅎ
스위치가 이거구나 ,, 맵 수정할때마다 스위치 지워버리고 싶었는데 ㅋㅋ 안돼겠네여
70%는 스위치 4개를 사용해서 7종류는 성공 3종류는 실패 6종류는 다시 돌리면 되지 않나요?
호오, 그런방법이 있었네요. 감사합니다.
그러나 그 경우 트리거가 한바퀴 도는시간이 더 만들어지므로 버그가 걸릴 우려가 있는데요, 차라리 2진법 확률로 쓰는편이 편할듯하네요.
랜덤맵같은거 만들때 전부 닫히면 기본상태랑 똑같아져서 기본상태로 스위치 255를 언제나 열어놓는 ㅇㅂㅇ