메뉴 건너뛰기

창조도시 기록보관소

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

2008.01.12 23:32

Evangelista 조회 수:760 추천:8

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변수값 처리 직전에 처리해야 합니다.

번호 제목 글쓴이 날짜 조회 수
319 알만툴에서 윤년표현 file 엘류트 2009.04.23 901
318 커맨드입력 [4] 엘류트 2009.04.16 1109
317 잠입액션에서 적의 시야 설정하기 (예제有) [4] file rhj 2009.03.15 1363
316 자동 길찾기 기능을 만들어보자 [3] file Black-☆ 2009.02.14 1282
315 0.0초를 다룰때 조심할점 [2] A. 미스릴 2008.10.02 1153
314 주인공들의 유형. [1] [3] 히트맨 2008.07.10 1462
313 [다크의 4차원 강좌] 제목 설정의 중요성 [2] 다크아머 2008.05.18 892
312 귀차니즘 타파 알고리즘 file A. 미스릴 2008.02.19 595
311 2k에서 손쉽게 보수[걸음수] 계산하기 [6] 땡중 2008.01.15 1065
» 맵상 랜덤엔카운트 제어 이벤트 [6] Evangelista 2008.01.12 760
309 RPG만들기 실력테스트! [16] 엔젤레기온 2007.12.18 1792
308 RPG 2000/2003에서의 마우스 사용(수정) [14] file Black-☆ 2007.11.19 2132
307 (2003) 연속공격 버프 스킬로 '공격' 커맨드의 활용도를 늘려보자. [5] 땡중 2007.11.17 829
306 [덧붙임] 변수번호의 스위치 사용은 되도록이면 자제 [1] A. 미스릴 2007.10.15 503
305 RPG에 자주 있는것들 [15] ⓦildⓡose★ 2007.09.26 1514
304 [한단계 도약]변수 번호의 변수 [5] A. 미스릴 2007.09.21 643
303 한가지 경우에만 적용되는 경험치 게이지바 [7] file 베넘 2007.09.21 616
302 [한단계 도약] 변수 번호의 스위치 [6] A. 미스릴 2007.09.12 653
301 [한단계 도약] 되풀이 처리 [2] A. 미스릴 2007.09.12 449
300 RPG 2K시리즈에서도 Script의 사용이 가능합니다. [9] 타다기 2007.08.21 1103