메뉴 건너뛰기

창조도시 기록보관소

RPG2K 각종 변수를 이용한 쓸만한 것들

2006.12.18 22:31

放觀者眼君 조회 수:507 추천:5

1. 플레이 타임 변수


 


변수는 기본적으로 3개가 필요합니다.(분까지만 넣어도 별 상관은 없지만서도요...ㅡ.ㅡ;;)


 




시간


 


 


 


커먼이벤트에서 다른 제한 없이 정기적 병렬처리로 1초마다 한번씩 초 변수를 1씩 오르게 해줍니다.


 


예:


 


대기 1.0초


변수 '초[0001]'에 1증가


 


그리고 60초가 되었을때, 발동하는 조건분기를 넣어줍니다.


 


 


예:


 


대기 1.0초


변수 '초[0001]'에 1증가


조건분기 변수 '초[0001]'이 60이상


 변수 '분[0002]'에 1증가


 변수 '초[0001]'에 0대입


 


 


여기다가 분이 60분이 되었을때 1시간을 추가해주는 시스템을 넣어주는거죠.


 


 


대기 1.0초


변수 '초[0001]'에 1증가


조건분기 변수 '초[0001]'이 60이상


 변수 '분[0002]'에 1증가


 변수 '초[0001]'에 0대입


 조건분기 변수 '분[0002]'이 60이상


   변수 '시[0003]'에 1증가


   변수 '분[0002]'에 0대입


 


 


뭐, 이렇게 하고나면 매우 간단한 겁니다.


 


이것을 응용해서, 플레이를 끝내고 난 뒤에 죽고 로드해서 다시 시작한 시간을 제외한 순수 플레이 타임을 띄워주는 겁니다.


더욱 응용해서 플레이 타임이 짧으면 짧을수록 높은 랭크를 주는 시스템도 좋죠.


 


※랭크시스템 : 게임을 클리어시 플레이어의 플레이 등급을 표시해주는 것으로, S등급을 맞기위해 전력으로 불태우는 유저를 만들 수 있죠.


 


랭크시스템또한 변수를 이용해야 합니다.


 


 


예를 들면,


 


게임을 시작하는 순간에 딱 한번, 랭크라는 변수에 점수 1000점을 부여합니다.


 


그리고 플레이 타임이 길어지면 길어질수록 이 점수가 점점 차감되는거죠.


 


예 :


 


랭크점수 1000점 -초 -2분 -10시


 


라고 하여,


 


 


8시간 46분 17초가 순수 플레이 타임이라면,


 


1000 - 189점이라고 하여


 


랭크에 받는 점수는 총 811점이 되는 거죠.


 


랭크 등급은


 


300점 F


400점 E


500점 D


600점 C


700점 B


800점 A


900점 S


1000점 SS


1100점 SSS


 


라는 식으로 설정하면 되겠군요.(1000점이 어째서 넘어가냐면 다음 글에서 설명하겠습니다.)


 


 


 



자, 이제 플레이타임과 랭크시스템이 갖춰졌으니, 본격적으로 랭크를 메길 시스템이 필요하겠죠?


 


일단, 턴제알피지의 경우에는 랭크시스템이 별다른 유용성이 없으니, ARPG시스템을 고려해 변수를 적용해보도록 하겠습니다.


 



칼질횟수 카운트 변수 : 말그대로 칼질 횟수를 카운트합니다. 많이 하면 많이 할 수록 점수가 떨어지는 시스템이죠.


칼질 한대당 1포인트씩 변수에 쌓이고, 이것이 나중에 랭크포인트에 어떤 영향을 줍니다.


 


 


몬스터 킬수 카운트 변수 : 소, 중, 대형으로 나뉘어야 겠죠? 졸개등급의 몬스터에게는 살해시 +4포인트의 가산점을(한방에 죽지 않는 다는 전제를 가져야 하기때문에 이렇게 높은 점수를 주는 겁니다.)주게 되고, 중급보스급의 몬스터의 경우 +20포인트를, 대형 보스의 경우에는 +40포인트를 변수에 쌓이게 하는 겁니다.


 


 



명중율 카운트 시스템(있어도 되고 없어도 됩니다. 변수가 너무 많으면 골치아프니까요-.-;;)


 


총 칼질횟수와, 몬스터 명중 변수, 그리고 명중율을 카운트할 변수가 필요로 합니다.


 


몬스터가 유저의 칼질에 맞을 경우 몬스터 명중변수에 +1을 가산하고, 그렇지 않을 경우에는 총 칼질횟수만 오르는 거죠.


 


그렇게 한 뒤에, 실시간으로(실시간으로 확인하고 싶을때만) 몬스터의 명중 변수를 명중율 카운트에 그대로 곱한 뒤에, 명중율 카운트 변수에 100을 곱하고, 거기에 총 칼질횟수를 나누면!!!


 


완성입니다.



물론 랭크시스템에 이 명중율포인트를 적용하려면 약간의 계산이 필요합니다.



조건분기를 사용해서 명중율이 50이상일 경우, 명중율 -50한 값을 랭크 최종포인트에 가산해줍니다.


 


하지만 50미만일 경우, 랭크 차감용 변수를 하나 만들어, 50을 대입한뒤, 거기다가 명중율포인트를 빼내고 남은 포인트로 랭크 최종 포인트에서 차감해줍니다. (예 : 50 - 37(명중) = 13 → 1000포인트 명중율 -13)



이렇게 완성한 세가지 시스템을 랭크시스템에 도입해봅시다.


 


 


 


 


(랭크 기본 포인트)-(계산 완료된 플래이타임) - {(몬스터 킬수) - (칼질횟수 카운트)} + or - (컨트롤로 인한 명중율)


 


= 당신의 플레이 랭크!!!!


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


참 쉽죠?

번호 제목 글쓴이 날짜 조회 수
349 [C++] 객체 지향 프로그래밍 (OOP) -3- [1] Zeprod 2007.01.02 295
348 이번에도 잡담입니다만-_-;; [6] 아란 2006.12.30 350
347 [자료구조] Binary Search Tree [4] Zeprod 2006.12.29 283
346 원형 거리 측정 [2] Zeprod 2006.12.28 495
345 어드벤쳐 만들기(무료판) [3] StartCraft 2006.12.28 1095
344 001 Action / RPG Maker [6] StartCraft 2006.12.28 739
343 [C++] 객체 지향 프로그래밍 (OOP) -2- [1] Zeprod 2006.12.27 275
342 그저 비주얼 베이직에 낚인 것에 대한 잡담 [2] 아란 2006.12.26 369
341 나름대로 게임제작1 - 시나리오 작성법 [4] 켈리시 2006.12.26 702
» 각종 변수를 이용한 쓸만한 것들 [5] 放觀者眼君 2006.12.18 507
339 방사형 마법범위 좌표구하기 [5] BAYONET 2006.12.16 658
338 맵배치 이런식으로 하면 되려나요..?'';; [9] file 땅콩아줌마 2006.12.15 672
337 [이벤트 ID이용의 예]슈팅 게임 [4] file masa 2006.12.14 500
336 골프게임은? [2] Nadoo 2006.12.14 362
335 이벤트를 이용, 장애물을 포함한 적과의 거리계산[중급이상추천] [10] file masa 2006.12.13 545
334 [C++] 객체 지향 프로그래밍 (OOP) -1- [4] Zeprod 2006.12.11 403
333 [서론] 콘솔창으로 작업하는 것이 허무하신가요? [6] Zeprod 2006.12.10 360
332 축구게임 시스템 [9] 헤지혹 2006.12.10 594
331 범위를 구할때 쓸 수 있는 식 둘 [6] 메카_탁 2006.12.08 483
330 외딴 집이랄까..? .. [9] file 도야 2006.12.05 560