playXP

서브 메뉴

Page. 87 / 246 [내 메뉴에 추가]
글쓰기
작성자 판밍
작성일 2016-02-20 15:23:44 KST 조회 1,034
제목
디펜스맵 타이머 트리거 질문 1

제가 지금 만드려는 조건이

"전체 지도에서 플레이어 15의 모든 유닛이 소멸 했을때"

라고 만들고 싶은데

 

현재 이것저것 만져보면서 가장 유사하다고 생각되는 부분까지 만든 트리거입니다.

가장 마지막의 소멸 단어 앞의 숫자 1이라는 값에다가 "모든 유닛"이라고 넣을 수만 있으면 완성인데

모든 유닛이라는 값이 존재하지 않기 때문에 원하는 것을 만들 수가 없습니다.

 

 

애초에 잘못된 것인지

아니면 제가 값을 못찾는것인지 모르겠네요

 

디펜스맵을 만드는데 사용되는 타이머 트리거 입니다.

 

 

게임 시작 후 15초 뒤에 적 유닛이 생성되고

적유닛이 모두 제거 되면 다음 타이머가 발동하도록 하는 용도로 만들고 있습니다.

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
HydraKing (2016-02-20 15:32:16 KST)
0↑ ↓0
센스 이미지
이벤트 - 유닛 소멸 또는 매 1초마다
조건 - 유닛 그룹안의 유닛 수 (전체 지도안의 15플레이어 유닛) = 0
트리거 발동

전 이런 방법을 씀
판밍 (2016-02-20 15:40:46 KST)
0↑ ↓0
센스 이미지
ㄴ 이벤트에서 유닛 소멸, 또는 매 1초마다라는 것을 찾았습니다.
그런데 조건 탭에서 "유닛 그룹안의 유닛 수" 라는 것을 찾을 수 없네요
조건 탭에서는"경계 안, 그리고, 또는, 비교, 아님, 텍스트 설정됨"만 있습니다.
판밍 (2016-02-20 15:42:15 KST)
0↑ ↓0
센스 이미지
ㄴ 그리고 제가 만드는 부분에서 아무 유닛 소멸이나, 매1초마다라는 조건은 상당히 적합하지 않은 조건입니다.

차라리 플레이어 15 소유의 아무유닛 소멸이면 모르겠지만요
HydraKing (2016-02-20 15:56:09 KST)
0↑ ↓0
센스 이미지
그건 조건에
트리거 발동 유닛 소유자 = 15 해주면 되고
유닛 수를 감지하는 조건이 있음 그걸 이용하면 됨
판밍 (2016-02-20 16:00:48 KST)
0↑ ↓0
센스 이미지
정리하면
이벤트 - 유닛 소멸
조건 - 트리거 발동 유닛 소유자 == 15
행동 - 제가 원하는 행동

이렇게 하면 된다는 것인가요?
아이콘 에씨비굿투고 (2016-02-20 16:09:54 KST)
0↑ ↓0
센스 이미지
파일포켓 이미지
일단 조건을 처음에 생성하면 이런 창이 뜨실 겁니다.
초기 조건도 "유닛의 소유자"로 설정 되어있을 거고요.
여기서 조건을 다른 걸로 바꾸는 법은
사진에 빨간 네모친 파란색 괄호를 누르시면 오른쪽에 조건 유형을 고를 수 있는 또 다른 창이 나타납니다.++
혹은 "값 1: 유닛의 소유자" 이걸 더블클릭 하셔도 되고요.
여기서 "유닛 그룹에 있는 유닛의 수 라는 조건"을 찾아서
플레이어 15의 유닛이 0개일 때 라고 조건을 넣어주시면 됩니다.
에디터의 직관성이 좀 떨어져서 찾기가 어려우셨던 것 같습니다 ㅎㅎ..
판밍 (2016-02-20 16:21:19 KST)
0↑ ↓0
센스 이미지
ㄴ 유닛 그룹이 매번 설정이 안되는데 다만드니까 이렇게 나오는데

((((전체지도)에서 배제됨:미사일, 소멸됨, 숨김(와)과 일치하는 플레이어 15 소유 아무 유닛, 최대 아무양 개)에서 플레이어 15 소유의 유닛. 최대 아무양개)에 있는 살아 있음 상태의 유닛 수) == 0
판밍 (2016-02-20 16:22:02 KST)
0↑ ↓0
센스 이미지
유닛 그룹은 매번 없으니 눌려서 들어가서 만들고 만들고 만들고 방식을 반복하게 되는데 다른 방법은 없을까요?

트리거도 매우 지저분 해지고 나중에 이거 어떻게 구성되는지 알아보기도, 다시만들어보기도 너무 힘드네요
HydraKing (2016-02-20 16:25:04 KST)
0↑ ↓0
센스 이미지
원래 좀 어렵게 되있음
그냥 익숙해져야됨
아이콘 에씨비굿투고 (2016-02-20 16:29:08 KST)
0↑ ↓0
센스 이미지
파일포켓 이미지
파일포켓 이미지
파일포켓 이미지
1. 유닛 그룹 유형의 전역 변수를 하나 만들어주세요.
2. 변수 지정 트리거를 이용해 방금 만든 "컴퓨터 유닛" 이라는 이름의 변수를 플레이어 15의 유닛들로 지정해주세요.
3. 조건을 생성하실 때 조건 유닛그룹을 "컴퓨터 유닛" 변수로 설정해주시면 됩니다.
판밍 (2016-02-20 16:55:08 KST)
0↑ ↓0
센스 이미지
막상 적용해보니 이러한 전제조건이 별로 좋지가 않네요, 유닛이 죽든 살든 유닛이 존재하지 않는 순간이 단 0초라도 있게 되면 무조건 해당하는 전제조건이 되어버리네요;;

답변 감사합니다. 한번 연구 해봐야겠네요
HydraKing (2016-02-20 17:00:08 KST)
0↑ ↓0
센스 이미지
그러면 웨이브가 시작되는 동안만 유닛이 0명인지를 감지하게 하고
웨이브가 끝나면 그 트리거를 정지시키는등
여러 방법을 생각해보셈
아이콘 에씨비굿투고 (2016-02-20 17:04:47 KST)
0↑ ↓0
센스 이미지
파일포켓 이미지
그러면 타이머 트리거에서 저 조건을 제거하신다음에
소환 트리거를 이렇게 짜보세요.
조건 대기 행동으로 컴퓨터 유닛이 0마리가 될 때까지 대기 한 다음에 타이머 관련 트리거를 실행시키는 방법으로 해보시길..
판밍 (2016-02-20 17:07:17 KST)
0↑ ↓0
센스 이미지
ㄴ거지같이 물어봤는데 확실하게 답변해주셔서 감사합니다.

아는게 없어서 어떻게 해야할지 몰랐는데
자세히 알려주신 덕분에 어떻게 해야할지 길이 보이네요
아이콘 Ashley (2016-02-20 17:11:55 KST)
0↑ ↓0
센스 이미지
그냥 가장 간단한 방법은 15 소유 유닛들을 모두 유닛 그룹에 넣어주고 살아있는 유닛 수 체크하는게 좋으실꺼에요.
판밍 (2016-02-20 17:16:06 KST)
0↑ ↓0
센스 이미지
ㄴ 그건 또 어떻게 만드는 것인가요?
제가 만들고 싶은게 세미온 디펜스 처럼 적 유닛이 있는 동안은 타이머 안돌아가고, 적 유닛이 다 죽고나면 타이머가 돌아가는 형식입니다.
HydraKing (2016-02-20 17:37:26 KST)
0↑ ↓0
센스 이미지
Ashley 님이 말하신 방법이 그 맵에 적합할듯
유닛 그룹 변수를 만들고

유닛 생성시 - '유닛 그룹에 유닛 그룹 추가'를 이용한 후

유닛 소멸 - 조건:유닛 그룹안의 유닛 수 = 0 -> 트리거 실행
판밍 (2016-02-20 17:58:58 KST)
0↑ ↓0
센스 이미지
ㄴ 아까부터 계속 쓰던 방식인데 이렇게 하게 되니까

발동조건이 그룹안의 유닛수가 0이다 라고 하면

유닛이 모두 제거 되었을때,
그리고 아직 유닛이 생성되지 않은 상태 모두 해당이 되어버리게 됩니다.
판밍 (2016-02-20 18:04:34 KST)
0↑ ↓0
센스 이미지
뭔가 다른 조건을 추가하거나, 조건을 감지하는데 지연시간 단 0.000000000000001초라도 있으면 트리거가 원하는 데로 돌아 갈텐데 말이죠
HydraKing (2016-02-20 18:19:58 KST)
0↑ ↓0
센스 이미지
세미온 디펜스인지 안해봐서 그런데 그 맵에
1라운드 유닛을 다 못죽여도 2라운드 유닛이 나오고 그러나요 아니면
1라운드 유닛을 다 죽여야지만 2라운드 유닛이 나오나요?
판밍 (2016-02-20 18:27:24 KST)
0↑ ↓0
센스 이미지
ㄴ 1라운드 유닛을 모두 다 죽여야지 다음 라운드를 진입 할 수 있습니다
HydraKing (2016-02-20 18:46:35 KST)
0↑ ↓0
센스 이미지
제가 사용하는 방법으로는

부울 변수를 만들어서 (참/거짓 이렇게 나와야함)
라운드가 시작될때 유닛을 생성 그 다음에 부울 변수를 참으로 설정
라운드가 끝날때 부울을 거짓으로 설정

유닛이 죽은걸 검사하는 트리거에는 부울 변수가 '참'일때 라는 조건을 추가로 넣어주면
라운드가 끝날때나 시작하기 전에는 부울이 '거짓'이니까 작동하지 않음

일단 트리거 찾으실때 검색창같은거 이용도 해보시고
뭐가 필요한지 미리 생각을 해두고 만드시는게 좋을거같음
그리고 그 게임이 2인 이상 게임이라면 좀더 알려줄게 많을듯...
판밍 (2016-02-20 18:48:31 KST)
0↑ ↓0
센스 이미지
ㄴ 뭐가 필요한지는 알아도 트리거가 어떤게 있는지 다 모르니까 구현을 못하는게 너무나도 많은거 같네요, 지금 말한 "부울"역시 뭔지 모르겠네요
판밍 (2016-02-20 18:49:50 KST)
0↑ ↓0
센스 이미지
스1 같으면 "Preserve Trigger"를 해줘야 반복트리거가 되기 때문에 참 쉬웠는데
스2는 무조건 반복트리거가 기본이니 더욱 맞춰 만들기가 힘든거 같습니다.
판밍 (2016-02-20 18:52:49 KST)
0↑ ↓0
센스 이미지
제가 스1에서 이런 타이머를 만들었던 방식을 본다면

조건
- 적 플레이어의 미네랄이 1일때
- 카운트 타이머가 만료되었을때
행동
- 적유닛 생성
- 대기 0.001초
- 적유닛 진격
- 적 플레이어에게 미네랄 1 지급
- 카운트 타이머 30초 set

이렇게해서 트리거를 복사한다음
다음 조건을 미네랄 2로 바꾸고, 행동에서 생성되는 유닛을 2레벨 유닛으로 바꿔서 때웠는데

여기서는 우선 1. 플레이어가 미네랄을 보유하고 있을때라는 이벤트를 찾을 수가 없다. 떄문에 다른걸 찾고 있는데 너무 힘드네요
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.