playXP

서브 메뉴

Page. 1 / 271 [내 메뉴에 추가]
글쓰기
작성자 아이콘 퍼스나콘
작성일 2010-10-10 16:30:16 KST 조회 461
제목
이런 방식의 트리거는 어떻게 구현 해야할까요?

제 맵의 유닛 MAKE 하는 함수 부분입니다.


-------------------------------------------------------------------------

Make Unit

    옵션: 행동

    반환 유형: (없음)

    매개 변수

        Player = 0 <정수>

        Unit = 게임 링크 없음 <게임 링크 - 유닛>

        Watt = 0 <정수>

        Counts = 0 <정수>

    문법 텍스트: Make Unit(Player,Unit,Watt,Counts)

    참고 텍스트: (없음)

    사용자 지정 스크립트 코드

    지역 변수

    행동

        플레이어 - 플레이어 Player 광물 수정: 빼기 Watt

        일반 - Player에 따라 (행동) 전환

            대소문자

                일반 - If (1)

                    행동

                       유닛 - 플레이어 Player에게 Counts개의 Unit(을)를 (P1의 중앙)에 만들기. (P1의 중앙) 방향 (옵션 없음)

                일반 - If (2)

                    행동

                       유닛 - 플레이어 Player에게 Counts개의 Unit(을)를 (P2의 중앙)에 만들기. (P2의 중앙) 방향 (옵션 없음)

                일반 - If (3)

                    행동

                       유닛 - 플레이어 Player에게 Counts개의 Unit(을)를 (P3의 중앙)에 만들기. (P3의 중앙) 방향 (옵션 없음)

                일반 - If (4)

                    행동

                       유닛 - 플레이어 Player에게 Counts개의 Unit(을)를 (P4의 중앙)에 만들기. (P4의 중앙) 방향 (옵션 없음)

                일반 - If (5)

                    행동

                       유닛 - 플레이어 Player에게 Counts개의 Unit(을)를 (P5의 중앙)에 만들기. (P5의 중앙) 방향 (옵션 없음)

                일반 - If (6)

                    행동

                       유닛 - 플레이어 Player에게 Counts개의 Unit(을)를 (P6의 중앙)에 만들기. (P6의 중앙) 방향 (옵션 없음)

                일반 - If (7)

                    행동

                       유닛 - 플레이어 Player에게 Counts개의 Unit(을)를 (P7의 중앙)에 만들기. (P7의 중앙) 방향 (옵션 없음)

                일반 - If (8)

                    행동

                       유닛 - 플레이어 Player에게 Counts개의 Unit(을)를 (P8의 중앙)에 만들기. (P8의 중앙) 방향 (옵션 없음)

            기본

----------------------------------------------------------------------------------------------


아래는 위 함수를 이용해서 유닛을 필드에 소환하는 트리거입니다

----------------------------------------------------------------------------------------------
Make C2 Units
    이벤트
        UI - 플레이어 아무 플레이어(이)가 두번째 슬롯 필드에 소환 누름
    지역 변수
    조건
        (플레이어 (트리거 발동 플레이어)(이)가 최소 250(와)과 최소 0(을)를 보유) == true
    행동
        일반 - (트리거 발동 플레이어)에 따라 (행동) 전환
            대소문자
                일반 - If (1)
                    행동
                        Make Unit(1,P1 Selected Unit[1],250,1)
                        변수 - P1 Watt Show 수정: + 250
                일반 - If (2)
                    행동
                        Make Unit(2,P2 Selected Unit[1],250,1)
                        변수 - P2 Watt Show 수정: + 250
                일반 - If (3)
                    행동
                        Make Unit(3,P3 Selected Unit[1],250,1)
                        변수 - P3 Watt Show 수정: + 250
                일반 - If (4)
                    행동
                        Make Unit(4,P4 Selected Unit[1],250,1)
                        변수 - P4 Watt Show 수정: + 250
                일반 - If (5)
                    행동
                        Make Unit(5,P5 Selected Unit[1],250,1)
                        변수 - P5 Watt Show 수정: + 250
                일반 - If (6)
                    행동
                        Make Unit(6,P6 Selected Unit[1],250,1)
                        변수 - P6 Watt Show 수정: + 250
                일반 - If (7)
                    행동
                        Make Unit(7,P7 Selected Unit[1],250,1)
                        변수 - P7 Watt Show 수정: + 250
                일반 - If (8)
                    행동
                        Make Unit(8,P8 Selected Unit[1],250,1)
                        변수 - P8 Watt Show 수정: + 250
            기본
----------------------------------------------------------------------------------------------


P(n) Watt Show 라는 변수정수의 변수이고

유닛을 소환할때마다 250씩 증가합니다. (위에는 두번째 선택 유닛이라서..)

아직 조건은 안넣었지만

유닛을 필드에 소환할때마다 250씩 올라가는 저 정수가 8000이 넘으면 유닛을 더 이상 필드에 소환할 수 없구요

(플레이어마다 트리거를 따로 둬서 각 변수가 8000 이하일 경우로 조건 넣어야 합니다만 아직 작업안했어요)



어쨌건 유닛을 뽑을때 마다 정수가 올라가는건 구현했는데

유닛이 파괴될때마다 다시 저 정수가 감소해야합니다.

제 맵의 
첫번째 선택 유닛을 필드에 소환하면 광물이 100들고 P(n) Watt Show란 변수에 + 100 이 되고
두번째 선택 유닛을 필드에 소환하면 광물이 250들고 P(n) Watt Show란 변수에 + 250 이 되고
세번째 선택 유닛을 필드에 소환하면 광물이 500들고 P(n) Watt Show란 변수에 + 500 이 되고
네번째 선택 유닛을 필드에 소환하면 광물이 750들고 P(n) Watt Show란 변수에 + 700 이 되고

물론 첫번째 선택 유닛, 두번째 선택 유닛, 세번째 선택 유닛, 네번째 선택 유닛은 각각 한정되어있습니다.
(각각 약 7~10개씩)


P(n) Watt Show란 변수가 8000이 넘을 경우 유닛을 더 이상 필드에 소환할 수 없고
유닛이 죽을경우 저 P(n) Watt Show란 변수가 다시 올라간 정수만큼 떨어져야합니다.
일일이 노가다 할 수야 있겠는데..

이벤트중에 [~ 유닛이 파괴될 경]우 에는 플레이어를 지정할 수 없더군요 (있나요?)


뭐 노가다한다해도 플레이어만 바꾸면 되니까 큰 노가다는 아닙니다만...


간단하게 할 방법은 없을까요?







간단히 정리하자면

필드에 유닛을 소환할때마다 P(n) Watt Show란 변수에 일정 수치만큼 올라간다.
P(n) Watt Show란 변수가 8000을 넘을 경우 더 이상 필드에 유닛을 소환할 수 없다. (여기까지는 제가 구현했습니다)
그리고 필드에 뽑은 유닛이 소멸할때마다 P(n) Watt Show란 변수올라간 수치만큼 다시 내려간다. (이게 문제인거죠.. )

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

발도장 찍기
아이콘 LlIiEe (2010-10-10 17:11:06 KST)
0↑ ↓0
센스 이미지
트리거 발동 플레이어 자체가 플레이어 숫자를 뜻하는 정수로 되어있으니..
P1 selected unit을.. 2차원 배열로 첫번째 인덱스를 플레이어로 하시고..
분기문을 싹 없앤다음에

Make Unit((트리거발동플레이어),Selected Unit[(트리거발동플레이어)][1],250,1)
변수 - Watt Show[(트리거발동플레이어)) 수정: + 250

요렇게 하면 두줄로 되지 않을까..싶은
아이콘 Guetelperr (2010-10-10 17:11:31 KST)
0↑ ↓0
센스 이미지
유닛소멸이벤트와 트리거발동유닛의 유닛유형을 가져오는게 유효하겠네요.
게임이 끝나고 스토어보드에 나오는 그 점수를 트리거로 받아올 수 있었던것 같은데 그걸 사용하면 간단하게 해결될듯합니다.
아이콘 LlIiEe (2010-10-10 17:12:02 KST)
0↑ ↓0
센스 이미지
그리고 유닛 소멸 이벤트가 발생할때, 트리거발동플레이어가 해당 소멸 유닛의 소유자입니다..
아이콘 LlIiEe (2010-10-10 17:13:52 KST)
0↑ ↓0
센스 이미지
질문 드린 부분은 변수를 배열로 만든다음에 유닛 소멸 이벤트에서
변수 - Watt Show[(트리거발동플레이어)] 수정: -250
이렇게 하면 될듯..
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.