playXP

서브 메뉴

Page. 235 / 271 [내 메뉴에 추가]
글쓰기
작성자 아이콘 루빈씨
작성일 2010-08-25 16:18:46 KST 조회 793
제목
으...누가 변수 공유 안된다더니 변수 공유되네요 ㅡㅡ

변수는 따로 나눠지는 거라고 해서 한개만 만들었드만 ㅋ

변수+1되면 모든 플레이어가 +1되네요 -_-;

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

발도장 찍기
멜로군 (2010-08-25 16:28:16 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
루빈씨님께서 어떻게 제작하셨는지 저는 잘 모르지만 ㅠ 전역변수였다면 서로 다른 트리거 내에서도 공유가 될 듯 싶고 지역변수면 공유가 안 될듯 싶고 ㅠ
아이콘 루빈씨 (2010-08-25 16:39:34 KST)
0↑ ↓0
센스 이미지
트리거 내 공유는 문제가 아니구요
플레이어가 변수를 공유하는게 문제내요 변수마다 배열6개씩 만들어야됨 ㄷㄷ
아이콘 루빈씨 (2010-08-25 17:03:43 KST)
0↑ ↓0
센스 이미지
처음 만들기 시작할 때 변수 공유 문제가 긴가민가해서 물어 보고 공유 안된데서 만든건데
이런 결과가 ㅋ
스크립트 쥐꼬리 만큼도 몰라서 save(EventPlayer(),"a",a) 이걸 어찌 쓰는건지 모르겠네요 ㄷ
파란곰 (2010-08-25 17:19:31 KST) - 118.217.xxx.72
0↑ ↓0
센스 이미지를 등록해 주세요
save(EventPlayer(),"a",a) 뭔가 굉장히 도움될듯한 스크립트인데 사용법을 모르는군뇨 ㅠㅠ
아이콘 루빈씨 (2010-08-25 17:28:31 KST)
0↑ ↓0
센스 이미지
일반 - If (조건) then (행동) else (행동)
If
((처치하는 유닛)의 소유자) == 1
Then
변수 - <<사용자 번호>> = 1 설정

변수 - <<과제 토큰>>[<<사용자 번호>>] 수정: + 1

암만 머리 굴려봐도 이거 말곤 생각이 안남 =ㅅ=;;
아이콘 LlIiEe (2010-08-25 17:52:14 KST)
0↑ ↓0
센스 이미지
그냥 조건문 없이
변수 - <<과제 토큰>>[(처치하는 플래이어)] 수정: +1 하면 되지 않나요?
플래이어가 정수형태라서 인덱스에도 호환된던데..
아이콘 스크립트연구원 (2010-08-25 17:59:46 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
save(EventPlayer(),"a",a)는 그냥 제가 임의로 만들어서 쓰고있는 함수일 뿐이구요.
GUI로 만들면 루빈님처럼 배열값에 플레이어번호를 대입하는 방법을 써야합니다.

타이머등의 이벤트를 제외하고는 대부분 " 트리거를 작동시킨 플레이어 " 가 존재하는데요.
EventPlayer() <- 이게 트리거를 작동시킨 플레이어구요.

"a" 는 <변수이름>, a는 정수 입니다.

___save___ (EventPlayer() ___,"a" ___,a )
△함수이름 △플레이어번호 △변수명 △정수 이렇게 되죠.

사용할때는 save(EventPlayer(),"a",a)
불러올때는 a = load(EventPlayer(),"a")

이렇게하면 싱글맵 만들듯이 만들수 있습니다.
물론 그전에 함수등록을 해놔야겠지만요.
아이콘 스크립트연구원 (2010-08-25 18:10:13 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
GUI로 만드나 스크립트로 만드나 별 차이는 없어요.
그냥 여러번 마우스클릭하기 귀찮고 멀티용으로 만드는게 신경쓰이면 스크립트 쓰는거고요.
스크립트도 어차피 반복문 들어가고 GUI랑 구조는 같습니다.
아이콘 루빈씨 (2010-08-25 18:36:37 KST)
0↑ ↓0
센스 이미지
딱 저거만 보셨네요.. 처치하는 플레이어로 할 수 있으면 얼마나 좋겠습니까 ㅠㅠ

일반 - If (조건) then (행동) else (행동)
If
<<사용자 번호>> == 1
Then
변수 - <<과제 토큰>>[1] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
<<사용자 번호>> == 2
Then
변수 - <<과제 토큰>>[11] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
<<사용자 번호>> == 3
Then
변수 - <<과제 토큰>>[21] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
<<사용자 번호>> == 4
Then
변수 - <<과제 토큰>>[31] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
<<사용자 번호>> == 5
Then
변수 - <<과제 토큰>>[41] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
<<사용자 번호>> == 6
Then
변수 - <<과제 토큰>>[51] 수정: + 1
Else

배열이 총 60개 입니다...쿨럭 ㅋ
스크립트 쪽은 일단 강좌를 찾아봐야겠네요 ㄷㄷ
아이콘 루빈씨 (2010-08-25 18:43:16 KST)
0↑ ↓0
센스 이미지
기본 토큰이 10개고 플레이어가 6명...
만든지 오래되서 잘 기억은 안나지만 토큰 변수1개로 했더니, 비정상적인 작동을 해서
배열 10개 만든건데, 변수가 공유되니 배열 60개 =ㅅ=....
KK (2010-08-25 18:58:47 KST) - 221.160.xxx.103
0↑ ↓0
센스 이미지를 등록해 주세요
변수(플레이어)==트리거 발동 플레이어
변수[변수(플레이어)]==수정
아이콘 루빈씨 (2010-08-25 19:23:54 KST)
0↑ ↓0
센스 이미지
일반 - If (조건) then (행동) else (행동)
If
(처치하는 플레이어) == 1
Then
변수 - <<과제 토큰>>[1] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
(처치하는 플레이어) == 2
Then
변수 - <<과제 토큰>>[11] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
(처치하는 플레이어) == 3
Then
변수 - <<과제 토큰>>[21] 수정: + 1
Else


이거요? 뭐...어짜피 60개 만드는건 똑강므
KK (2010-08-25 20:06:16 KST) - 221.160.xxx.103
0↑ ↓0
센스 이미지를 등록해 주세요
그게 아닌데영 -_-;;;

트리거 작동 플레이어를 변수로 반환하고

배열안의 수치를 변수를 넣음으로써

변수(플레이어)==트리거 발동 플레이어
변수[변수(플레이어)]==수정

이 2줄만으로도 플레이어 수만큼 변수 조작하는거에영....
플레이어 따지기 위해 if-then 쓰지 마시고,,,,,,,,



일반 - If (조건) then (행동) else (행동)
If
(처치하는 플레이어) == 1
Then
변수 - <<과제 토큰>>[1] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
(처치하는 플레이어) == 2
Then
변수 - <<과제 토큰>>[11] 수정: + 1
Else
일반 - If (조건) then (행동) else (행동)
If
(처치하는 플레이어) == 3
Then
변수 - <<과제 토큰>>[21] 수정: + 1
Else

이걸 아래 2줄로 됩니다........... 변수(플레이어)==트리거 발동 플레이어
변수[변수(플레이어)]==수정
아이콘 루빈씨 (2010-08-25 20:14:47 KST)
0↑ ↓0
센스 이미지
먼말인지 이해가 안가네요;
변수 배열이 60개고 플레이어는 6명인데 어떻게 2줄로 된다는 건지..

KK님 방식으로 만들면

(플레이어 변수) == 트리거 발동 플레이어 (1~6까지 들어가고)
<<과제 토큰>>[(플레이어 변수 1~6까지)]== 수정+1 이라는 뜻인데
그럼 나머지 7~60까지 배열은 어떻게 지정하나요
아이콘 LlIiEe (2010-08-25 20:31:28 KST)
1↑ ↓0
센스 이미지
변수 <<과제 토큰>>[(10*((처치하는 플래이어)-1))+1] 수정: +1

이렇게 하면 1플래이어라면 (10*(1-1))+1 이니까 1
2플래이어는 (10*(2-1))+1 이니까 11...

맨 뒤에 +1을 +2로 하면 각 플래이어의 2번째 토큰..
+3으로 하면 각 플애이어의 3번째 토큰이 되겠죠..
아이콘 LlIiEe (2010-08-25 20:32:52 KST)
0↑ ↓0
센스 이미지
아니면 2차원 배열을 만드셔서
변수 <<과제 토큰>>[처치하는 플래이어][토큰 인덱스] 수정: +1 로 하셔도 되겠네요..
아이콘 루빈씨 (2010-08-25 20:36:46 KST)
1↑ ↓0
센스 이미지
저거 상세 설명하자면
과제 토큰 5당, 대화 상자 아이템2개중 1개를 선택 가능하구요
총 대화상자 아이템은 20개입니다.
아이템은 총 10단계로 2개씩/2/2/2/2/... 이렇게 있습니다.
근대 KK님 방식으로 하면
과제 토큰을 5개 모우고, 1단계 아이템을 1번 구매하고 나서
또 과제아이템이 5가되면, 1단계 아이템을 또 구매할수 있게 됩니다.

이를 해결하기 위해선 트리거 발동 플레이어에게 대화 상자 아이템 숨기기를 해야되는데
그럴수가 없는게 대화상자 아이템을 사용하기 위해선 대화상자 열기 버튼을 눌러야되는데
이 버튼을 누르면 숨겼던 아이템이 다시 표시가 됩니다.

그 문제를 해결하려면 조건문에 아이템 사용횟수 넣어줘야되고 -_-...
그런 조건문 또 몇십개 만들어야되고..

물론 파괴시켜면 모든 플레이어의 대화상자 아이템이 파괴되니까 안되구요.

아...복잡해;
아이콘 루빈씨 (2010-08-25 20:40:42 KST)
0↑ ↓0
센스 이미지
변수 <<과제 토큰>>[(10*((처치하는 플래이어)-1))+1] 수정: +1

이렇게하면 함수가 좀 줄어 들겠네요 답변 감사합니다 'ㅁ'
아이콘 Plorenia (2010-08-25 22:56:03 KST)
0↑ ↓0
센스 이미지
ㄴ ......
극악의 난이도다
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.