* 커먼 이벤트
리본메뉴, database → common events
이벤트의 이름을 정하고 여러번 사용되는 이벤트를 생성할 수 있다.
이걸 적용하고 싶은 이벤트에 넣으면
event commands - flow control - common event
한 줄로 끝.
다만, 영향을 줄 이벤트와 아닐 이벤트를 잘 구분하고 함수를 만들어야 한다.
* 랜덤 변수
나무를 베거나 광석을 캐면 각각 목재, 흙, 광석을 얻는다.
그런데 매번 일정하게 1개씩 얻는 것이 아니고, 랜덤하게 얻고 싶다면?
일단, 아이템부터 만들어보자.
리본 메뉴, database → item.
change maximum을 바꾸면 더 많은 아이템을 만들 수 있으니 참고하고, 위의 다섯 가지 아이템을 만든다.
그리고 새로운 맵.
목재를 채집하는 숲과
광석 혹은 흙을 채굴하는 채석장을 제작.
이제 우리는 숲에 있는 보물상자를 통해
톱과 곡괭이를 얻을 것이다.
그리고 톱으로 나무를 자르면 목재가
곡괭이로 돌무더기을 캐면 광석 혹은 흙이 나올 것이다.
그리고 랜덤 변수를 배우는 만큼 만큼 랜덤한 결과를 내도록 제작해보자.
먼저 조건문으로 톱을 가지고 있을 때만 나무를 베도록 만든다.
그리고 중요한 점, 랜덤한 변수를 주기.
event commands → game progression → control variables
함수 이름을 만들고 operation을 set으로 설정한 후, 1에서 3 사이의 숫자를 랜덤하게 얻도록 만든다.
주의!
랜덤하게 '얻는 거'니까 add하면 되겠지^^?
하지만 우리가 실행할 나무의 수는 여러개이다. 복사-붙여넣기해서 여러개를 만들고나면 각각 1~3개가 아니라 (1~3)+(1~3)+(1~3)+... 개를 얻게 된다. 그렇다고 함수를 여러개 만드는 것은 또 귀찮고 복잡하다.
어쩐지, 목재를 얻는데 1~3개를 얻어야 하는데 자꾸 그 이상 얻더라고...
그래서
랜덤한 값을 얻은 후에, 그 값만큼 아이템을 추가로 얻도록 한다.
함수를 넣을 수도 있어서 쉽고 간단하다!
참고로 베인 나무가 사라지는 스위치를 셀프 스위치로 처리하지 않은 이유는
이벤트로 만들어진 Tileset-이미지는 한 칸만 만들어지기 때문에, 두 칸 이상의 타일을 차지하는 이미지에 대해선 각각 이벤트를 넣어줘야 한다. 아래를 눌러도 위쪽의 타일도 같이 사라지게 만드려면 스위치로 제작해야 함!
+ 이걸 여러개의 나무를 복사해서 붙였더니 하나를 작동시킬 때 모든 나무가 사라지더라. 그래서 나무 사라지는 함수를 여러개 만들어서 각각 붙여놨다... 이 방법이 맞을까?
rpg메이커는 완전히 랜덤하게 꾸리는 것은 매우 어렵다.
이제 돌을 캐려고 하는데 앞선 방식과는 조금 다르다.
광석을 때려서 얻을 수 있는 아이템은 흙과 광석 두 가지이다.
각각 70퍼센트, 30퍼센트의 확률로 1~5개를 얻을 수 있게 만들고 싶다면 어떻게 해야할까?
일단 곡괭이를 갖고 있어야만 채광되는 점이나 효과음 넣는 것은 넘어가고...
이번엔 1부터 100까지의 숫자 중 랜덤하게 만들어보자.
숫자는 퍼센트를 의미한다.
그리고 event commands → flow control → conditional branch
흙의 조건인, 변수가 30이상이라면.
혹은 광석의 조건인, 변수가 30이하라면.
둘 중 어느 것을 해도 상관 없다.
중요한 것은 조건에 따라 If와 else의 조건문을 잘 구분해서 써야한다는 점!
이건 한 칸짜리 이미지라 맘 편하게 셀프 스위치하고 복사 붙여넣기 하면 끝!
와! 어렵다!
이후 NPC를 만들어 일정 개수 이상 모아오면 아이템과 교환해주는 조건을 만들 수도 있지만 거기까진 하지 않겠다....
Q. 일정 개수를 모으려면 이벤트가 여러번 생성돼야 하는데 아이템 재생성은 어떻게 하나?
A. 맵을 나갔다 들어올 때 무작위로 생성되도록 만들 순 있다.
control variable 에서 x좌표 랜덤, y좌표 랜덤으로 범위를 설정하고 여차저차.... 아무튼 노가다. 사람의 노동과 시간이 있다면 못할 것은 없다.
여담, Github에 올려서 다른 사람들과 게임을 공유해보자.
내 컴퓨터 → 문서 → RMMZ → 장수미폴더
통째로 소스트리 폴더에 올려서 커밋!
'메타버스기반게임콘텐츠기획 > 그날의 강의' 카테고리의 다른 글
(8-2) 시스템 기획 (0) | 2021.12.14 |
---|---|
(6-5) RPG메이커 프로젝트 진행중 (0) | 2021.12.03 |
(6-2) RPG메이커 툴을 이용한 프로젝트 만들기-연습편2 (0) | 2021.11.30 |
(6-1) RPG메이커 툴을 이용한 프로젝트 만들기-연습편 (0) | 2021.11.29 |
5-5 VCS: 버전 관리 시스템 / Github / 소스트리 / 발제 / 폴더관리 (0) | 2021.11.26 |