Assigned Monster Task

Started by firevenge007, November 19, 2013, 06:48:19 pm

Previous topic - Next topic

firevenge007

November 19, 2013, 06:48:19 pm Last Edit: November 20, 2013, 02:00:36 am by KK20
So this is something I made for my game that included going to a mentor who would assign you tasks and would have you complete them in order to gain experience.

Spoiler: ShowHide


This image is the first page of the mentor. It is simple and includes basic speech. The "\N[1]" you see in front of the player's sentences is meant to display the name of the actor used from the database. I was using the first actor, so I put a 1 in the brackets. If you were to use the 3rd actor in your database, you would use "\N[3]".

Near the bottom, you can see that the player obtains a "rogue book". This book is meant to keep track of what task the player has (including the required amount of kills of the certain monster is necessary to complete the task), and how many points the player has from completing tasks.

The Rogue book will be shown shortly.


Spoiler: ShowHide


This is the mentor's second page. It is notably longer than the first.

As you can see, once you talk to the mentor again, you have three options to choose from:

-Nevermind
-New task
-Spend points

Nevermind was made first in order to prevent players from accidentally asking for a new task.

Under the choice, new task, a conditional branch, [RogueHi] can be spotted. Because my game has multiple mentors varying by the player's level, this was put into place so that if a player already has a task asigned by another mentor, there could not be a possibility of receiving another task from another master.

Under the coniditonal branch [RogueHi], a Variable is called, with a 'random' number generated from 1 to 14.

Under this, there are 14 different conditional branches for [randomtask], only 3 of which can be seen due to the length of this page. But they are pretty much the same.

When variable [randomtask] falls on a number X, the conditional branch for the variable [randomtask] X will be selected.

Under this conditional branch, a certain switch will be turned on and a variable with a certain number will be declared respectively.

These switches, when activated, allow the player to be able to kill a monster in order to progress in his/her task.
The variable underneath, shows how many kills of that certain monster is needed to be able to finish the assigned task.

Spoiler: ShowHide


Now, we are on to the rewards portion.

The spending points section is the last of the three choices given to the player.

In my game, I gave the player the ability to choose his/her points to go either towards experience or money.

With no scripting knowledge, I used conditional branches to check if a certain player in my party had learned a spell.

R stands for Rogue, which is what I called this skill in my game.
In the database, for player 'Rogue', I assigned the skill 5R to be learned at level 5, 10R to be assigned at level 10, etc.

Based on these levels, the player is granted experience or money.
(Eg: Conditional Branch: [Rogue] is [50R] learned
@>Text: [You earn 700 Experience.]
@>Change EXP: [Rogue], +700)


Spoiler: ShowHide


Now, to introduce the rogue book.

The rogue book is quite simple, and like I said previously, it can either check your assigned task, or check how many points you have amassed through tasks.

When checking tasks, it is REQUIRED for a player to have already chosen a task. This is the reason for these conditional branches.

As I mentioned earlier, when the random variable falls on a number and chooses a task, that task's switch is turned on and a variable of X amount is set for that task.

If the random number landed on Warped Treasure, shown in the picture above, it would check that the switch warped treasure would be turned on. Once it has confirmed that the switch Warped Treasure is INDEED turned on, it will go to the text below.

Like "\N[X]", "\V[X]" is a shortcut to showing certain things in your text.

"\V[X]" shows the number for the variable X, based on the number in the database. So if you have just started a new game, and your first variable is 1, you would have to write "\V[1]" for it to show the remaining monsters left.

In-game, it would simply show as, "You have X Warped Treasures remaining."

Spoiler: ShowHide


The second choice in the rogue book is to check your points.

This follow the method above for checking the remaining amount of creatures you have left to kill, but instead, it counts how many points you have.

My variable for Points was set as 90. Yours may not be the same. Do not fear, just check what variable you set your points as in your database, or set it if you haven't.

Then once you figure it out, just write your sentence to display how many points the player has, without forgetting to include "\V[X]" where X represents the variable for your rogue points!

Spoiler: ShowHide


Now onto the actual monster!

This monster is a task assigned by the mentor in-game.

This monster WILL be able to be killed even though it may not be your task, but in this case, you will not be able to tick off some tasks to earn rogue points.

The conditional branch here for the Blue Dragon is ON, but ONLY if the player has this monster as his/her task. If the switch is turned on, it will go through another conditional branch.

This branch is a little different. It will check if the player has the variable for the Blue Dragon to be greater than 0. This is so if you check your rogue book, you will not receive negative numbers for your task.

(Eg: You have -3 Blue Dragons remaining.)

Also, it will remind you if you keep killing Blue Dragons once your task is done that you have actually completed your task and that you should go back to your mentor to receive your reward!

Spoiler: ShowHide


This is not needed, but I definitely recommend it.

This is a little respawn system I made so that a player would not be able to smash their keyboard trying to automatically get into combat again with the monster they just killed.
(If you were to permanently delete the monster after combat, this whole thing wouldn't work since if you ran out of monsters to kill, it would make completing tasks impossible!)

I put this page on a parallel process, and made the movement random and put the speed on fast and frequency on highest so that the monster would be able to re-appear in a different location when spawned again. When the switch A is finally turned off after 400 frames, which is 400/20 = 20 seconds, it will finally re-appear.

Spoiler: ShowHide


This is the last picture I have to show.

This is the mentor's final page. It rewards you based on what your rogue level is and includes many, many conditional branches.

I would say this is the largest page of them all, due to all the conditional branches piled up on top of each other.

But using the prior methods shown, you can easily whip up something like this, giving the player a reward.



Thank you for reading, I hope my 'little' guide helped!

Made by Firevenge007

KK20


Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!