This is (obviously) a tutorial on how to turn any household action into an experience gaining adventure![/poor cheesy opening] You'll need a firm grasp of how variables work, and a bit of patience if you're hoping to make your experience system fairly extensive. My example will be with fishing (markchapman's idea), but you can extend it across just about anything. Without further ado, here it is.
Creating Your SkillThe first thing you'll need to do is create a variable for every skill you want in your game (fishing, mining, woodcutting, think RuneScape, even make up your own. People watching, anyone?). Call them "Fishing Level" (Or whatever the skill is), and set them to 1. Now that each skill is set up, you're ready to start training! I'll start talking in fishing terms, but the concept holds firm for any and every skill.
Training Said SkillNext up, make yourself a cute little map with some water (In my fishing case, I'm using an 8 second world map tileset for demonstration, but you might want to spend more time on yours). Now that you're done with that, it's time to create a new variable. In my case, I'm going to call it "Fishing Experience," and leave it at 0. Make an event in the water of you fishing that loosely resembles this:
Make the experience value whatever you want (be sure it's constant with the variable, and also make sure it's set to 'add,' not 'set equal'), and add a fish if you find it necessary. Just like that, you have yourself a lovely experience variable working for you!
The Skill can Level Up Too! But how, is the question...
Hopefully, you now have a working fishing experience system. Maybe, though, you come across a fish in the water that you must be more skilled in order to catch! What do you do? Level up, of course! (That's what I do in real life. If ever I need something, I just level up a couple times. No big.)
Seeing that each fish gives me 4 experience, I'll have level 2 come at 16 exp. Now, set up a new event in a corner of your map, and make it a Parallel Process. The trigger should be set to if your Fishing Level is equal to 1 (So as to not confuse the system later). Put in a conditional branch seeing if Fishing Experience is Greater than or Equal to 16; below which you put your happy little "Congratulations! You are now level 2!" message, as well as a variable operation adding 1 to your 'Fishing Level' variable, as such:
Bam. There's level two. Feel the power.
Great, I'm Level Two. Now What?Now, you're gonna want to make a level 3, and a level 4, and so on. Create a new page on your Parallel Process, and add on to what you did on the previous page. Raise the condition variable up to 2, increase the experience condition, and change your congratulatory message to "Congrats! You're level 3! (Something to that effect)." It shouldn't look a little something like this; it should look EXACTLY like this (Well, only if you're following me to the letter):
Before you ask, yes, you have to do this for Every. Single. Level. You. Want. To. Have... For. Every. Skill. Hence why I said you need "a bit of patience" earlier. You'll also have to copy that Parallel Process into every map you're able to fish in.
Cool, That Works! But Now All I'm Left With is a Bunch of Stupid, Useless Numbers! You Little Piece Of-Not so fast. That "Fishing Level" variable can work wonders for you. Like I was saying, maybe you come across a fish that you need to be a higher level to catch. Set up that event like the first one we've been using so much ("Make an event in the water of you fishing" <--- That one), but give it a good ol' level requirement of 3. The first page should loosely resemble this:
And the second (your actual fishing event), should look like this:
Voila, a level requirement!
Wow, You Did It Again! Now How Can I See What Level I Am?There are a couple ways. For the master eventers, you can set up a custom menu displaying you prowess in all of your skills, but for the sake of demonstration, I'll use an RTP dude. We talked it out, and he agreed to stalk you and know exactly how much experience you have, and exactly what level you are at all times. His message in the event itself looks like this:
When put into the game, though, it says
Magic! I know! Utilize those \v[XXXX] commands in whatever creative ways you can come up with.
Groovy! What Else Can I Do?I guess this counts as the end of my tutorial (for now. I'll edit it if I-or someone else- deem something unworthy). Using another practical example, you could have a cooking skill build off of fishing. Say you have a couple fish in your inventory, and you're standing next to a campfire. Examine the campfire, and it gives you the option to cook some fish, giving you cooking experience (and possibly burning the fish, use the random number function for that). This tutorial is just a description of HOW to do it, now you have to be the creative one and use it however you want.