This may look like a big mess until I start putting some organization into it, so bear with me
*The following tutorial assumes all fields are filled with exception to gold*
TABLE OF CONTENTS
Introduction.....................................................{0001}
Dealing With Currency Using Random Encounters.....{0002}
--2A. Setting Monster Gold
Dealing With Currency Using Event Battles.............{0003}
Introduction------------------------------------------------------------------{0001}
Perhaps one of the hardest things to do other then designing a smooth, balanced battle system is creating a smooth, balanced currency system that smoothly flows with game play, the fine line between making an item too easy to obtain and too hard to obtain is very slim, and could take a lot of play testing to get just right, this tutorial, hopefully, will offer some suggestions and insight on to how to make your RPG a little more balanced.
Dealing With Currency Using Random Encounters--------------------------------{0002}
2A. Setting Monster Gold
--I'm sure not everyone wants to have the same prices of items every game made that uses this tutorial, so the first thing to do is figure out what your "Formula Multiplier" is going to be, so think of a number 10-50, any number at all, and write it down as your "Formula Multiplier", smaller numbers will decrease the currency range, while higher numbers will increase the currency range, this multiplier will apply to every formula, so essentially picking a higher number over a lower number just increases the difficulty of purchase by a small amount and give you a more precise monetary system.
--The next thing will be coming up with a gold value for the enemy's you encounter, this is the key to a good currency system, so pick a number, 1-5, write this number down as your "Range Multiplier", this number, along with your formula multiplier, will determine your money range, except with this, the lower the number, the broader the currency range will be. So after you figure that out, divide the enemy's STR(12 in this example) with your RM# and multiply the answer by your FM#, we use strength because it it doesn't have as broad of a range as HP, and you earn gold based on monster difficulty, not how much life he has.
EXAMPLE:
High Range --- Enemy Gold(600) = (12 / 1) * 50
Low Range --- Enemy Gold(20) = (12 / 5) * 10
So when you figure it out apply it to the gold for your first monster. Do this with every monster you have.
NOTE:If you increase a monsters level in a monster party, be aware that the gold will increment to reflect his level, so you may have to decrease it depending on the situation.
Dealing With Currency Using Event Battles--------------------------------------{0003}
***This entire section donated by WaveLength***
First Method
The crux is that you need to get rid of all your random battles and, generally, all your default shops, because in general RPGM3 can't turn the gold you earn in random battles into a variable, nor can it subtract from that variable when you buy something at a shop (both can be gotten around in method two, however). It's worth noting that you can't run from event battles, so this will make it impossible to run from any battle.
Make all of your battles take place through events (Control => Battles OR Control => Character Battles). If you don't want to see the player to see the battle in advance, use the "Invisible" event model. Placing two invisible events next to each other in a thin hallway guarantees the player has to do a battle there--just have one event transition to the other, and remember to turn both off at the end.
Remember that variable you chose to represent your gold? Here's where it gets the chance to shine. Let's suppose you used Shared Variable 60 to represent your gold. And let's say you want your Monster Party to drop 45 gold upon being defeated. Now, you'd still set up the Monster Party to drop what the Game considers to be Gold, so your player can see how much she has. But, you'd also add 45 to shared Variable 60.
"Monster Mash" : Invisible Event => Activate On Touch
**Battles: Scary Monster Party
**Increase Shared Variable 60 by 45
**Display Off: "Monster Mash"
Your player will see 45 Gold added to her total after the battle, but the important thing is that Shared Variable 60 is being increased by 45, and that's what's really tracking how much Gold the player has.
That final line of code turns the event off. Your player will never battle at this event again, unless you turn it back on using the Display On command (which you can do with an event at your dungeon's entrance, after the boss, etc.). Or, you can omit this line of code, but EVERY time the player touches this location, she's gotta do the battle.
We're not done yet. We've also got to make custom shops. This should really be pretty easy, but it's time consuming, and such. Use this piece of code as an example of how to make a really simple custom shop. The Health Potion, for example, costs 20 Gold.
"Custom Shop 1": Character Event => Activate on Button
**Message: "Welcome to my Custom Shop! What would you like?
**Decision Branch:
****Choice: Health Potion (20G)
******Value-Conditional Branch:
********If Shared Var. 60 >= 20...
**********Add Item: Health Potion
**********Decrease Shared Var. 60 by 20
**********Decrease Gold by 20 (note: this is just so the player can see how much he has remaining. It has no actual effect.)
**********Message: "Thanks for buying Health Potion!"
********If Shared Var. 60 < 20...
**********Message: "Sorry, you don't have enough Gold!"
****Choice: Mana Potion (40G)
******Value-Conditional Branch:
********If Shared Var. 60 >= 40...
**********Add Item: Mana Potion
**********Decrease Shared Var. 60 by 40
**********Decrease Gold by 40
**********Message: "Thanks for buying Mana Potion!"
********If Shared Var. 60 < 40...
**********Message: "Sorry, you don't have enough Gold!"
****Choice: Gauntlets (100G)
******Value-Conditional Branch:
********If Shared Var. 60 >= 100...
**********Add Item: Gauntlets
**********Decrease Shared Var. 60 by 100
**********Decrease Gold by 100
**********Message: "Thanks for buying Gauntlets!"
********If Shared Var. 60 < 100...
**********Message: "Sorry, you don't have enough Gold!"
****Choice: Never Mind
******Message: "Please come again."
It looks ugly on paper, but it takes a surprisingly short amount of time to code.
You can use VERY similar form to this custom shop in order to run your donation system now.
Second Method
I've never done this, personally, so there may be slight inaccuracies, but I know there are people here who can correct me if I slip...
This method allows you to keep random battles, but you still need to use default shops, as shown above. There are a few drawbacks, however... firstly, it can quickly eat into your event limit, and secondly, it's a little clumsy for the player interface.
In this method, DO NOT have Monsters drop any gold per se. Instead, have each Monster PARTY drop a Treasure Item--presumably, you'd want to set the drop to "Always." If you want two different parties to give the player the same amount of "Gold," you can have them drop the same Treasure Item. I THINK you can get away with having two monster parties drop the same Treasure even if you earn different amounts of gold for wiping them out, IF they never appear in the same area--however, I recommend avoiding this if possible.
Set up an Auto Event on EVERY floor of EVERY dungeon/field that has Random Encounters for EVERY amount of Gold that can possibly be dropped. (You can do the same for a town, but there, battles can only be in events, so you might as well use the easier, more efficient First Method for those ones.) (Also note that you MIGHT be able to use different modes of the same event rather than several different events--can anyone confirm or deny this?) Each event should have a potential dropped Treasure as its Event Condition.
Let's say that in "Generic Cave" you have four different Monster Parties that can appear as Random Battles: "Weak Party," "Peon Party," "Intermediate Party," and "Kick Your Ass Party." And let's say you want "Weak Party" and "Peon Party" to each give the player 30 Gold, "Intermediate Party" to give the player 70 Gold, and "Kick Your Ass Party" to give the player 200 Gold if she can somehow manage to trump it.
Have both "Weak Party" and "Peon Party" always drop a "Blue Jewel" Treasure. Have "Intermediate Party" always drop a "Yellow Jewel" treasure. Have "Kick Your Ass Party" always drop a "Diamond" treasure. Set up THREE Auto Events as such:
"Give Player 30 Event" : Auto Event, REQUIRES BLUE JEWEL
**Increase Gold by 30 (again, this is just for show, so the player knows how much she has)
**Increase Shared Var. 60 by 30 (this is what is actually tracking your Gold)
**Remove Treasure: Blue Jewel
"Give Player 70 Event" : Auto Event, REQUIRES YELLOW JEWEL
**Increase Gold by 70
**Increase Shared Var. 60 by 70
**Remove Treasure: Yellow Jewel
"Give Player 200 Event": Auto Event, REQUIRES DiAMOND
**Increase Gold by 200
**Increase Shared Var. 60 by 200
**Remove Treasure: Diamond
What will happen is, after the battle, the Auto Event will see that your player has the treasure, raise Shared Variable 60, give them the gold on the screen so they can see how much they have, and then remove the treasure so the event doesn't repeat itself ad infinitum.
Again, I'm 99% sure you'll need to put these events on EVERY floor of a dungeon that the player might have a random encounter on. Otherwise, things can get ugly.
So, there you go. Two very complicated ways, but they get around one of RPGM3's biggest limitations. Took over an hour to type up. I hope I've helped a bit, and not made your eyes glaze over too much. The coding itself is really very simple once you get the hang of it. VERY simple. But it's also time consuming, and using a lot of it can start to eat sizable chunks out of your alloted memory. So it's a trade off, but if you've got a lot of stuff similar to your "donations," you're definitely better off using one of these methods.
---------------------------------------------------------------------------------------------
If anyone has any suggestions on what to incorporate into this thread let me know so I can work out the formulas, I'll be playing RPGM3 tonight and working on it and should have some stuff up by the end of the night

*The following tutorial assumes all fields are filled with exception to gold*
TABLE OF CONTENTS
Introduction.....................................................{0001}
Dealing With Currency Using Random Encounters.....{0002}
--2A. Setting Monster Gold
Dealing With Currency Using Event Battles.............{0003}
Introduction------------------------------------------------------------------{0001}
Perhaps one of the hardest things to do other then designing a smooth, balanced battle system is creating a smooth, balanced currency system that smoothly flows with game play, the fine line between making an item too easy to obtain and too hard to obtain is very slim, and could take a lot of play testing to get just right, this tutorial, hopefully, will offer some suggestions and insight on to how to make your RPG a little more balanced.
Dealing With Currency Using Random Encounters--------------------------------{0002}
2A. Setting Monster Gold
--I'm sure not everyone wants to have the same prices of items every game made that uses this tutorial, so the first thing to do is figure out what your "Formula Multiplier" is going to be, so think of a number 10-50, any number at all, and write it down as your "Formula Multiplier", smaller numbers will decrease the currency range, while higher numbers will increase the currency range, this multiplier will apply to every formula, so essentially picking a higher number over a lower number just increases the difficulty of purchase by a small amount and give you a more precise monetary system.
--The next thing will be coming up with a gold value for the enemy's you encounter, this is the key to a good currency system, so pick a number, 1-5, write this number down as your "Range Multiplier", this number, along with your formula multiplier, will determine your money range, except with this, the lower the number, the broader the currency range will be. So after you figure that out, divide the enemy's STR(12 in this example) with your RM# and multiply the answer by your FM#, we use strength because it it doesn't have as broad of a range as HP, and you earn gold based on monster difficulty, not how much life he has.
EXAMPLE:
High Range --- Enemy Gold(600) = (12 / 1) * 50
Low Range --- Enemy Gold(20) = (12 / 5) * 10
So when you figure it out apply it to the gold for your first monster. Do this with every monster you have.
NOTE:If you increase a monsters level in a monster party, be aware that the gold will increment to reflect his level, so you may have to decrease it depending on the situation.
Dealing With Currency Using Event Battles--------------------------------------{0003}
***This entire section donated by WaveLength***
First Method
The crux is that you need to get rid of all your random battles and, generally, all your default shops, because in general RPGM3 can't turn the gold you earn in random battles into a variable, nor can it subtract from that variable when you buy something at a shop (both can be gotten around in method two, however). It's worth noting that you can't run from event battles, so this will make it impossible to run from any battle.
Make all of your battles take place through events (Control => Battles OR Control => Character Battles). If you don't want to see the player to see the battle in advance, use the "Invisible" event model. Placing two invisible events next to each other in a thin hallway guarantees the player has to do a battle there--just have one event transition to the other, and remember to turn both off at the end.
Remember that variable you chose to represent your gold? Here's where it gets the chance to shine. Let's suppose you used Shared Variable 60 to represent your gold. And let's say you want your Monster Party to drop 45 gold upon being defeated. Now, you'd still set up the Monster Party to drop what the Game considers to be Gold, so your player can see how much she has. But, you'd also add 45 to shared Variable 60.
"Monster Mash" : Invisible Event => Activate On Touch
**Battles: Scary Monster Party
**Increase Shared Variable 60 by 45
**Display Off: "Monster Mash"
Your player will see 45 Gold added to her total after the battle, but the important thing is that Shared Variable 60 is being increased by 45, and that's what's really tracking how much Gold the player has.
That final line of code turns the event off. Your player will never battle at this event again, unless you turn it back on using the Display On command (which you can do with an event at your dungeon's entrance, after the boss, etc.). Or, you can omit this line of code, but EVERY time the player touches this location, she's gotta do the battle.
We're not done yet. We've also got to make custom shops. This should really be pretty easy, but it's time consuming, and such. Use this piece of code as an example of how to make a really simple custom shop. The Health Potion, for example, costs 20 Gold.
"Custom Shop 1": Character Event => Activate on Button
**Message: "Welcome to my Custom Shop! What would you like?
**Decision Branch:
****Choice: Health Potion (20G)
******Value-Conditional Branch:
********If Shared Var. 60 >= 20...
**********Add Item: Health Potion
**********Decrease Shared Var. 60 by 20
**********Decrease Gold by 20 (note: this is just so the player can see how much he has remaining. It has no actual effect.)
**********Message: "Thanks for buying Health Potion!"
********If Shared Var. 60 < 20...
**********Message: "Sorry, you don't have enough Gold!"
****Choice: Mana Potion (40G)
******Value-Conditional Branch:
********If Shared Var. 60 >= 40...
**********Add Item: Mana Potion
**********Decrease Shared Var. 60 by 40
**********Decrease Gold by 40
**********Message: "Thanks for buying Mana Potion!"
********If Shared Var. 60 < 40...
**********Message: "Sorry, you don't have enough Gold!"
****Choice: Gauntlets (100G)
******Value-Conditional Branch:
********If Shared Var. 60 >= 100...
**********Add Item: Gauntlets
**********Decrease Shared Var. 60 by 100
**********Decrease Gold by 100
**********Message: "Thanks for buying Gauntlets!"
********If Shared Var. 60 < 100...
**********Message: "Sorry, you don't have enough Gold!"
****Choice: Never Mind
******Message: "Please come again."
It looks ugly on paper, but it takes a surprisingly short amount of time to code.
You can use VERY similar form to this custom shop in order to run your donation system now.
Second Method
I've never done this, personally, so there may be slight inaccuracies, but I know there are people here who can correct me if I slip...
This method allows you to keep random battles, but you still need to use default shops, as shown above. There are a few drawbacks, however... firstly, it can quickly eat into your event limit, and secondly, it's a little clumsy for the player interface.
In this method, DO NOT have Monsters drop any gold per se. Instead, have each Monster PARTY drop a Treasure Item--presumably, you'd want to set the drop to "Always." If you want two different parties to give the player the same amount of "Gold," you can have them drop the same Treasure Item. I THINK you can get away with having two monster parties drop the same Treasure even if you earn different amounts of gold for wiping them out, IF they never appear in the same area--however, I recommend avoiding this if possible.
Set up an Auto Event on EVERY floor of EVERY dungeon/field that has Random Encounters for EVERY amount of Gold that can possibly be dropped. (You can do the same for a town, but there, battles can only be in events, so you might as well use the easier, more efficient First Method for those ones.) (Also note that you MIGHT be able to use different modes of the same event rather than several different events--can anyone confirm or deny this?) Each event should have a potential dropped Treasure as its Event Condition.
Let's say that in "Generic Cave" you have four different Monster Parties that can appear as Random Battles: "Weak Party," "Peon Party," "Intermediate Party," and "Kick Your Ass Party." And let's say you want "Weak Party" and "Peon Party" to each give the player 30 Gold, "Intermediate Party" to give the player 70 Gold, and "Kick Your Ass Party" to give the player 200 Gold if she can somehow manage to trump it.
Have both "Weak Party" and "Peon Party" always drop a "Blue Jewel" Treasure. Have "Intermediate Party" always drop a "Yellow Jewel" treasure. Have "Kick Your Ass Party" always drop a "Diamond" treasure. Set up THREE Auto Events as such:
"Give Player 30 Event" : Auto Event, REQUIRES BLUE JEWEL
**Increase Gold by 30 (again, this is just for show, so the player knows how much she has)
**Increase Shared Var. 60 by 30 (this is what is actually tracking your Gold)
**Remove Treasure: Blue Jewel
"Give Player 70 Event" : Auto Event, REQUIRES YELLOW JEWEL
**Increase Gold by 70
**Increase Shared Var. 60 by 70
**Remove Treasure: Yellow Jewel
"Give Player 200 Event": Auto Event, REQUIRES DiAMOND
**Increase Gold by 200
**Increase Shared Var. 60 by 200
**Remove Treasure: Diamond
What will happen is, after the battle, the Auto Event will see that your player has the treasure, raise Shared Variable 60, give them the gold on the screen so they can see how much they have, and then remove the treasure so the event doesn't repeat itself ad infinitum.
Again, I'm 99% sure you'll need to put these events on EVERY floor of a dungeon that the player might have a random encounter on. Otherwise, things can get ugly.
So, there you go. Two very complicated ways, but they get around one of RPGM3's biggest limitations. Took over an hour to type up. I hope I've helped a bit, and not made your eyes glaze over too much. The coding itself is really very simple once you get the hang of it. VERY simple. But it's also time consuming, and using a lot of it can start to eat sizable chunks out of your alloted memory. So it's a trade off, but if you've got a lot of stuff similar to your "donations," you're definitely better off using one of these methods.
---------------------------------------------------------------------------------------------
If anyone has any suggestions on what to incorporate into this thread let me know so I can work out the formulas, I'll be playing RPGM3 tonight and working on it and should have some stuff up by the end of the night





Comment