playXP

서브 메뉴

Page. 1 / 246 [내 메뉴에 추가]
글쓰기
작성자 프리슨어필
작성일 2013-02-20 01:17:13 KST 조회 1,394
첨부
  • 11.JPG (75 KB) - 다운로드: 2
  • 13.JPG (72 KB) - 다운로드: 4
  • 14.JPG (64 KB) - 다운로드: 2
제목
대화 상자 (여러개쓸때)질문입니다..
파일포켓 이미지
파일포켓 이미지
파일포켓 이미지

일단 미리 질문하자면, 배틀넷에서 1p~6p의 전플레이에게 보여주는 하나의 대화상자는 따로 (트리거 발동 플레이어)의 대화상자 숨기기나 파괴 이런식으로 설정 안 하고 2번째 스샷처럼 그냥 파괴라고 해놓으면

예를 들어 먼저 1p가 제일 먼저 조건을 충족해서 대화상자를 파괴하면 2~6p는 그 대화상자를 사용할 수 없게 되는건가요?.. 1p가 하던 말던 2~6p는 상관 없는 건가요?. 

여기서 트리거 전제는 1p가 파괴시 나머지 플레이어는 그 대화 상자 아이템 자체를 사용할 수 없으므로 대화 상자 파괴 대신,

플레이어에게 대화상자 아이템 숨기기를 사용한다는 것입니다.


트리거 내용을 설명하자면

1. 지도초기화시 새로운 대화상자와 버튼이 나옵니다. 테란/저그/프로토스로 이렇게요,

그리고 아무버튼 클릭시(=대화상자 아이템 사용시) 기존의 창은 지워지던가 숨기던가 상관없고, 보이지만 않으면 됩니다.


2. 그다음 새로운 대화상자가 다시 나옵니다. 여기서 새로운 대화상자의 버튼을 클릭시 변수가 +1됩니다.

여기서 대화상자 조건은 미리정해놓은 전역변수=0이라는 조건이므로 클릭시 변수+1되면 이 상자는 더 이상 발동을 안하게됩니다


3. 세번째 스샷과 첫번째스샷을 비교하시면 1번설명에서 안 했지만 첫번째 스샷에서 타이머 15초를 설정한 것을 알 수 있습니다. 2번에서 변수+1로 설정해서 3번 조건 충족합니다. 그래서 2번에서 클릭한 순간 새롭게 클릭이 되면서 대화상자는 사라지고 텍스트 메세지를 전달하는 겁니다..



여기서 문제점..

3번에서 이렇게 한 경우 2번을 생략하고 바로 텍스트 메시지가 뜹니다.         


(대화 상자 - 플레이어 아무 플레이어(이)가 아무 대화 상자 아이템 사용함. 이벤트 유형 클릭됨)


제 짐작으로는 ,요 조건에서 대화 상자 아이템 사용함이 지속되는 거 같습니다,

즉 앞에서 아무거나 a라는 이름의 상자를 사용하고 계속 대화상자 아이템 사용함이라는 이벤트를 충족시키고 있따는 거죠. 그래서 그 이후로 아무리 조건을 새롭게 달아줘도 테란/프로토스/저그가 나오는 맨 처음 상자를 클릭한 순간 3번과 2번 조건을 동시에 충족시켜 2번 행동이 나오기전에 3번 행동이 대화상자 트리거 지우기로 2번 행동의 대화상자를 지워서 볼 수 없다는 가설입니다.


이게 원인이 맞나요?..


그리고 .각 플레이어마다 대화상자 아이템 표시/숨기기를 사용할시 .플레이어부분 함수나 미리 설정 부분에서 '트리거 발동 플레이어'가 없어서 따로 플레이어를 플레이어 그룹으로 전환하는 걸 쓰면 맞나요?





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

발도장 찍기
프리슨어필 (2013-02-20 01:30:44 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
문제 없이 세번째와 두번째 트리거를 실행시키려면 세번째 트리거 이벤트 조건을 그냥
주기적인 타이머라던가 다른 이벤트로 하면 됩니다만은,. 그러면 문제점이 있습니다.
이 글에서 생각하는, 세번째 트리거에서 파괴로 대신할 플레이어에게 대화상자 숨기기 트리거의
대상 플레이어를 트리거 발동 플레이어로 할 수 없다는 거죠.
프리슨어필 (2013-02-20 01:32:26 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
주기적 타이머로 할려고 그랬는데, 이벤트를 이걸로 하면 행동에서 트리거 발동 플레이어에게 대화상자 숨기기를 하면 새롭게 설정할 플레이어그룹(트리거발동 플레이어)와 조건이 안 맞습니다.
타이머라서,,
그러면 음의 배열등의 문제가 뜨겠져..
프리슨어필 (2013-02-20 01:34:09 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
그냥 플레이어 지정 없이 파괴를 쓰면 편한데,, 먼저 한 플레이어가 파괴시켜도
다음 플레이어들이 지장 없이 쓸 수 있느냐가 문제,,

대화상자를 모든 플레이어에게 보여준다는게
1개의 대화상자를 공용으로 모두에게 보여준다는 건지,
아니면 대화상자를 6명이면, 6명에게 각각 배분해서 보여준다는 건지
직접 배넷서 하지 않으면 알 수가 없음,
프리슨어필 (2013-02-20 09:17:59 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
그냥, 클릭 시마다 변수를 +1하게 만들고(변수 수정), 플레이어 그룹 만들고
타이머 미완료시 대사 트리거(세번째 스샷)의 이벤트를 그대로 하고 조건을
변수=3으로 하는 것으로 해결보았습니다만은,,

수정으로 +1하는 건
1번째 상자 클릭시 +1되고,(0에서 1로)
2번째 상자 클릭시 +1(1에서 2로).
여기서 2번째 스샷의 행동에 붙은 변수+1을 지워줌,

타이머 미완료시 조건을 변수=2로 하면 되는군요,,
프리슨어필 (2013-02-20 09:18:48 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
수정으로 +1하는 건 해결보는데 설정으로 =1.=2.는 안 되는 게 참 이해가 ,,, 아무튼
조건을 이리저리 바꿔보니 해결보았음
프리슨어필 (2013-02-20 10:00:30 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
일단. 최소한 예를 들어 먼저 1p가 제일 먼저 조건을 충족해서 대화상자를 파괴하면 2~6p는 그 대화상자를 사용할 수 없게 되는건가요?.. 1p가 하던 말던 2~6p는 상관 없는 건가요?.

만이라도 알려주실 분이 없으려나
아이콘 고자왈애자왈 (2013-02-20 20:07:32 KST)
0↑ ↓0
센스 이미지
반은 맞고 반은 틀립니다.

대화 상자는 모든 플레이어가 서로 공유하는 자원이기 때문에, 이게 사라지면 다른 플레이어도 해당 대화상자를 사용할 수 없게 됩니다.

또한 [프로게이머고르기]와 [타이머 미 완료시 대사]는 같은 이벤트를 통해 실행되는 것을 확인하실 수 있습니다. 그리고 [프로게이머고르기]에서는 [타이머 미 완료시 대사] 트리거의 조건을 충족시키는 행동을 하고 있고요. 따라서 두 트리거가 연쇄적으로 호출된다고 예상할 수 있습니다.

일단 순서는 이렇게 될 것 같습니다.

[프로게이머고르기] 함수 실행 -> 제목 없는 변수 001[Player] = 1; 대화 상자 아이템(가정) 파괴; 새로운 대화 상자 아이템(가정) 생성; -> [타이머 미 완료시 대사] 함수 실행 -> 대화 상자 파괴; 텍스트 출력;

즉 만들어 놓은 것을 파괴하기 때문에 못 보는 것일수도 있습니다.
아이콘 고자왈애자왈 (2013-02-20 20:10:54 KST)
0↑ ↓0
센스 이미지
스2에서의 트리거 작동방식이 이벤트 메세지를 받으면 함수를 순서대로 돌면서 이벤트와 조건이 일치하는 함수를 실행시킨다고 가정한 뒤 썼기 때문에, 이 내부 알고리즘이 틀리다면 제 답도 틀릴 수 있다는거 명심해주세요.
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.