playXP

서브 메뉴

Page. 1 / 246 [내 메뉴에 추가]
글쓰기
작성자 크르륵캬캬
작성일 2014-08-04 18:56:18 KST 조회 782
제목
트리거로 생성된 유닛의 상태를 변경

안녕하십니까 (__) 꾸벅. 인사드립니다.


프로토스 레더 하다가 역장 연습할만한 맵이 없다는 사실을 알고 직접 만들기로 마음먹은

크르륵캬캬 입니다.


단계 1

    이벤트

        게임 - 지도 초기화

    지역 변수

        파수기 설정 = ((전체 지도) 내 (마지막으로 만든 유닛들)에 있는 유닛. 최대 아무 양개) <유닛 그룹>

    조건

        단계 진입 == 0 // 전역변수입니다.

    행동

        변수 - 단계 진입 = 1 설정

        유닛 - 플레이어 1에게 10개의 추적자(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)

        유닛 - 플레이어 1에게 5개의 광전사(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)

        유닛 - 플레이어 1에게 3개의 파수기(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)

        일반 - 게임 시간 1.0초 대기

        유닛 - (파수기 설정에서 가져온 무작위 살아 있음 상태의 유닛) 에너지(을)를 100.0(으)로 설정

        유닛 - 플레이어 2에게 10개의 바퀴(을)를 지점 002에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)

        유닛 - 플레이어 2에게 20개의 저글링(을)를 지점 002에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)


이 트리거는 단계1일 때 각 위치에 유닛을 만들고 그 유닛중 파수기만 에너지를 100으로 만드는 트리거 입니다.
파수기만 정확하게 반환하여 에너지를 100으로 만들고 싶습니다. 여러가지 시도를 거치고, Q&A를 뒤져봐도 유닛 상태 변경 방법을 알 수 없어서 질문드립니다. 만약 제가 유닛상태변경 할 수 있는 게시글을 발견하지 못한 거라면, 게시글 주소라도 알려주시면 감사하겠습니다.

모쪼록 고수님들의 한말씀 듣고 싶습니다.

-------------------- 이하 답글에 대한 답변내용을 혹시라도 배우자 하는 분들을 위해 적어두었습니다.
크더기님께서 답변하여 주셨습니다.

안녕하십니까?

프로토스 레더 하다가 역장 연습할만한 맵이 없다는 사실을 알고 직접 만들기로 마음먹은
크르륵캬캬 입니다.

크더기님의 말씀대로 해보았습니다.

단계 1
    이벤트
        타이머 - 게임 시간(으)로 매 2.0초
    지역 변수
    조건
        단계 진입 == 0
    행동
// 변수설정 '행동'
        변수 - 단계 진입 = 1 설정
// 특정각도를 향하는 유닛 만들기 '행동' (이하 2개 행동 동일함)
        유닛 - 플레이어 1에게 10개의 추적자(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
        유닛 - 플레이어 1에게 5개의 광전사(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
        유닛 - 플레이어 1에게 3개의 파수기(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
// 플레이어 그룹의 각 유닛 선정 '행동'
        유닛 그룹 - (마지막으로 만든 유닛들)의 각 유닛을 선정하여 (행동) 실행
            행동
//유닛 속성 설정 '행동'
                유닛 - (선정된 유닛) 에너지(을)를 100.0(으)로 설정
        유닛 - 플레이어 2에게 10개의 바퀴(을)를 지점 002에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
        유닛 - 플레이어 2에게 20개의 저글링(을)를 지점 002에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)

으로 완벽하게 완성되었습니다. 크더기님께서 가르쳐 주신대로, 파수기가 생성되었고, 에너지 또한 100으로 설정되어 게임상에 나타났습니다.

반드시 변수를 통해서 유닛그룹을 반환해야 할줄 알았는데 '마지막으로 만든 유닛들' 이란 무지막지한 요소가 숨어 있었음을 알았습니다. 가장 기본적인 유닛 문제의 거진 부분을 해결한 듯 싶습니다.

감사합니다. (__)꾸벅.

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

발도장 찍기
아이콘 크더기 (2014-08-04 19:58:27 KST)
0↑ ↓0
센스 이미지
파수기 설정 이라는 변수의 초기값이 잘못되었네요.

보통 트리거는 "1)이벤트 - 2)지역 변수 생성, 초기화 - 3)조건 판별 - 4)행동 실행" 순으로 진행됩니다.

1) 지도가 실행되면
2) 파수기 설정 변수를 만들고 이를 "전체 지도 내 마지막으로 만든 유닛들에 있는 유닛들 아무 개 = 마지막으로 만든 유닛들 자체"로 초기화
3)0단계면 실행 (이벤트가 지도 초기화니까 당연히 단계는 0이 아닐지...)
4)유닛들을 만들고 "파수기 설정" 내 유닛들의 에너지를 100으로 설정 등등

2)번에서 "마지막으로 만든 유닛들" 을 값으로 삼았는데, 단계 상 지역 변수 생성&초기화 전에 생성한 유닛이 없잖아요? 그렇기 때문에 저 변수의 값은 "비어 있는 유닛 그룹"입니다. 따라서 "파수기 설정 내 유닛의 에너지를 100으로 설정"한다고 해도 비어 있는 유닛 그룹엔 유닛이 없으니 결과적으로 에너지도 채울 수 없겠죠.

저라면 이렇게 할 게요.
{
~~~기존 행동들
유닛 - 플레이어 1에게 3개의 파수기(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
일반 - 게임 시간 1.0초 대기
유닛 그룹 - (마지막으로 만든 유닛들)의 각 유닛을 선정하여 (행동) 실행 // "플레이어 그룹의 각 유닛 선정" 행동
유닛 - (선정된 유닛) 에너지(을)를 100.0(으)로 설정
~~~나머지 행동들
}
"마지막으로 만든 유닛들" 함수는 그야말로 마지막에 만든 유닛들 (여기선 3개의 파수기)을 반환합니다. 이 그룹의 각 유닛을 선정해서 에너지를 100으로 만들어버리면 해결되는 문제죠.

지나가다가 대충 난잡하게 답변해봅니다.
이해가 안되시면 댓글 남겨주세요.
크르륵캬캬 (2014-08-05 13:21:11 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
안녕하십니까?

프로토스 레더 하다가 역장 연습할만한 맵이 없다는 사실을 알고 직접 만들기로 마음먹은
크르륵캬캬 입니다.

크더기님의 말씀대로 해보았습니다.

단계 1
이벤트
타이머 - 게임 시간(으)로 매 2.0초
지역 변수
조건
단계 진입 == 0
행동
변수 - 단계 진입 = 1 설정
유닛 - 플레이어 1에게 10개의 추적자(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
유닛 - 플레이어 1에게 5개의 광전사(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
유닛 - 플레이어 1에게 3개의 파수기(을)를 지점 001에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
유닛 그룹 - (마지막으로 만든 유닛들)의 각 유닛을 선정하여 (행동) 실행
행동
유닛 - (선정된 유닛) 에너지(을)를 100.0(으)로 설정
유닛 - 플레이어 2에게 10개의 바퀴(을)를 지점 002에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)
유닛 - 플레이어 2에게 20개의 저글링(을)를 지점 002에 만들기. (0(와)과 359 사이의 무작위 정수) 방향 (배치 무시)

으로 완벽하게 완성되었습니다. 크더기님께서 가르쳐 주신대로, 파수기가 생성되었고, 에너지 또한 100으로 설정되어 게임상에 나타났습니다.

반드시 변수를 통해서 유닛그룹을 반환해야 할줄 알았는데 '마지막으로 만든 유닛들' 이란 무지막지한 요소가 숨어 있었음을 알았습니다. 가장 기본적인 유닛 문제의 거진 부분을 해결한 듯 싶습니다.

감사합니다. (__)꾸벅.
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.