RPG Maker
2008.01.12 23:36

맵상 랜덤엔카운트 제어 이벤트

조회 수 1978 추천 수 8 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

2K, XP 범용으로 사용가능합니다.


아마 VX에서도 사용할 수 있을 겁니다.


 


이하의 구문을 사용하시면 랜덤엔카운트를 맵DB로 설정하지 않고도 사용할 수 있습니다.


...근데 200x에 보수 변수 사용 가능하죠? 기억이 안나네...


하여간 이 테크닉의 장점은 스위치에 따라 맵에 등장하는 적을 다르게 할 수 있다는 것입니다.


 


이벤트 = 병렬처리


변수의 조작 : [000x : 변수A] = 보수


커먼 이벤트 : 이동판정할 커먼이벤트


조건분기 : 변수 [000y : 변수 B] < 변수 [000x : 변수A]


  변수의 조작 : [000z : 변수 C] = 난수 (확률값)


  조건분기 : 변수 [000z : 변수 C] == v(n1)


    조건분기 : 변수 [000w : 변수 D] == 1


      전투의 처리 : 랜덤 에너미 트루프


      변수의 조작 : [000y : 변수 B] = 보수


      변수의 조작 : [000y : 변수 B] += 임의의 숫자


    분기 종료


  분기 종료


  조건분기 : 변수 [000z : 변수 C] == v(n2)


이하는 해당 맵에 등장시킬 에너미 트루프 숫자만큼 추가


  분기종료


  대기 : 5프레임


그 외의 경우


  대기 : 5프레임


분기종료


 


사용법


변수 A : (마지막 엔카운트의 보수 + 엔카운트를 몇 보 후에 할 것인가)와 비교하여 엔카운트 확률 계산 가부를 판정하는 변수


변수 B : 마지막 엔카운트 보수 + 엔카운트를 몇 보 후에 할 것인가


변수 C : 보수 조건을 충족했을 때 엔카운트의 확률을 실시간으로 계산


변수 D : 이동판정플래그. 아래에서 설명


난수(확률값) : 엔카운트 확률계산. 확률은 (등장 에너미 트루프 숫자 / 확률값)


랜덤 에너미 트루프 : 변수C에 조건을 충족하였을 때 각각 등장할 에너미 그룹


변수B에 들어가는 임의의 숫자 : 몇 보 후부터 엔카운트 확률계산을 시작할 것인가


이후 붉은 부분을 해당 맵에 등장할 에너미 트루프 수만큼 추가.


당연히 v(n1)의 숫자는 서로 다르게 해야 계산이 가능. v(n1)은 난수값 범위 내에서 하여야 계산됨.


 


커먼이벤트로 이동플래그 제어


커먼이벤트 (시작조건 없음)


조건분기 : 버튼 아래가 눌려져 있다


  변수의 조작 : [000w : 변수D] == 1


  그 외의 경우


    조건분기 : 버튼 왼쪽이 눌려져 있다


    변수의 조작 : [000w : 변수D] == 1


    그 외의 경우


      조건분기 : 버튼 오른쪽이 눌려져 있다


      변수의 조작 : [000w : 변수D] == 1


      그 외의 경우


        조건분기 : 버튼 위가 눌려져 있다


        변수의 조작 : [000w : 변수D] == 1


        그 외의 경우


          변수의 조작 : [000w : 변수D] == 0


      분기 종료


    분기 종료


  분기 종료


분기 종료


 


알고리즘


이동시에는 변수D값에 1을, 이동시가 아닐 때에는 변수D값에 0을 넣습니다.


맵상 랜덤엔카운트를 실행할 때에만 호출하므로 병렬처리하지 않습니다.


 


 


 


전체알고리즘


현재 이동중일 때 상기한 이벤트를 병렬처리시켜 보수와 확률을 계산하여 지정한 에너미 트루프와 랜덤엔카운트하게 합니다. 이동하지 않을 때에는 엔카운트하지 않습니다.


 


 


 


기본이벤트 (병렬처리)



 


커먼이벤트 : 실행조건없음(호출로만 실행)



 


 


2K라서 보수를 계산할 수 없는 경우













변수값을 E,F,G세 개 만든 후 현재 X좌표와 Y좌표를 각각 하나씩에 대입한 후


E, F변수에 병렬처리로 계속 X, Y를 집어넣습니다.


변수값 H, I를 만든 후 배틀 직후에만 계산되도록 H와, I값에 배틀 직후 X좌표, Y좌표를 집어넣습니다.


E변수와 H변수를 비교


F변수와 I변수를 비교.


조건분기로,


변수E가 1개 변동했을 때 남은 변수값 G에 +1


변수F가 1개 변동했을 때 남은 변수값 G에 +1


 


변동했다는 것은 +1이건 -1이건 하여간 변했다는 뜻입니다.


논리값 '이외'를 사용하면 될 겁니다. 아마도...


 


이런 식으로 사용하변 됩니다.


그럼 랜덤엔카운트 제어에 사용했던 보수 대입 변수값을 변수 G로 사용할 수 있습니다.


여기엔 E와 F는 병렬처리로 돌려주고


H와 I는 본 이벤트의 G변수값 처리 직전에 처리해야 합니다.

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
1004 언어/기타 목에 좋은것들.... 1 켄타 2005.05.17 2070
1003 RPG Maker 좌표대입(ARPG) 사고실험.[이론편] 늑대소년 2005.05.18 1509
1002 언어/기타 스킬데미지를 10000이상 뜨게해보자.(턴알,액알 둘다) Dship 2005.05.18 1888
1001 언어/기타 Fruity Loops에서 FX탭 사용방법 (1) Mr^Lee 2005.05.18 1709
1000 RPG Maker RPG XP 배워보기 <변수를 마스터하자 상편> 1 덩키동크 2005.05.18 2206
999 언어/기타 100%고수강의!(변수이론) 늑대소년 2005.05.18 2470
998 언어/기타 나름대로 - 변수강좌 켈리시 2005.05.18 1624
997 언어/기타 변수(變數)의 기초 바람을 가르는 자 2005.05.19 1270
996 언어/기타 이번에는 오프닝을! 장아찌 2005.05.20 2635
995 RPG Maker 액션RPG 속성무기를 만들어보자!! 천룡수 2005.05.20 1538
994 RPG Maker 아르바이트를 만들자 . - 1 Norid 2005.05.20 1739
993 언어/기타 플레이어가 자기의 이름을 정한다 . [영어] file Norid 2005.05.21 1780
992 언어/기타 레벨업을 하라 . 그리하면 살것이니.. 1 file Norid 2005.05.22 1574
991 [RPG2000] 가이드북 -7- 창조도시 2005.05.22 11106
990 언어/기타 나라의 PHP 초보탈출 - 1편 나라 2005.05.22 1732
989 RPG Maker 경영 RPG만들기[콤플리트판] 늑대소년 2005.05.24 2039
988 [RPG2000] 가이드북 -1- (표지내용무) 창조도시 2005.05.25 14508
987 언어/기타 [c++] 생성자,파괴자 챔피온 2005.05.26 1668
986 언어/기타 《완벽하게 현실적인 게임을 만들려면 해야되는 조작 몇 가지》-[上편] 자이크로 2005.05.27 1852
985 언어/기타 [R2000] 초간단 단거리액알 2 비밀소년 2005.05.27 2521
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)