[RM2K3] LEVEL UP MUSIC?

Posts

Pages: 1
How do you make it so that whenever a character grow a level, a little chime play? You know like Golden Sun or Pokemon. Is it possible?
I did something like this for Ara Fell for the level up system. Here's the simplified version of it.

You need two variables, both set to the character's level. Then have a parallel process that continually sets one of those two variables to the character's level. The other one remains unchanged.

Have a conditional check if those variables are unequal. When they are, it means you've levelled up. Then, set the two variables both to the player's level.

If you're not comfortable with the basic idea here, this might be a little overly simplified. I can explain more if needed.

To save system resources, it'd be better if you only checked the player's level at times when you gain experience, like after a battle or completing a sidequest. But as long as you have a wait 0.0 in the level check common event, it shouldn't lag, so I wouldn't bother.
author=BadLuck
I did something like this for Ara Fell for the level up system. Here's the simplified version of it.

You need two variables, both set to the character's level. Then have a parallel process that continually sets one of those two variables to the character's level. The other one remains unchanged.

Have a conditional check if those variables are unequal. When they are, it means you've levelled up. Then, set the two variables both to the player's level.

If you're not comfortable with the basic idea here, this might be a little overly simplified. I can explain more if needed.

To save system resources, it'd be better if you only checked the player's level at times when you gain experience, like after a battle or completing a sidequest. But as long as you have a wait 0.0 in the level check common event, it shouldn't lag, so I wouldn't bother.


I'm sorry, but can you walkthrough me again, but in step-by-step? I'm still learning.
No problem. Don't worry too much about why this works yet. The following is a system that will detect the level up of a single character.

Step 1) Create two variables. Name them "Current Level" and "Check Level"

Step 2) Create a parallel process as a common event.

Step 3) Set Check Level = Hero Level

Step 4) Create a Loop beneath that.

Step 5) In the Loop, set Current Level = Hero Level (and a wait 0.0 to reduce lag)

Step 6) Create a conditional that checks if Check Level is NOT EQUAL to Current Level.

Step 7) In the conditional, Break Loop.

Step 8) Outside of the loop, do whatever you want to happen. Sound effect, graphics, music, whatever.

Explanation: So, say your hero is level 1. Check Level is set to equal the hero's level, so Check Level = 1. When you create your loop, this won't get changed again, right? Because the loop will just keep looping until it's broken. Inside the loop, you're constantly setting Current Level = hero level, which will also be 1 at first.

When you level up, Current Level will equal 2, right? Because that's constantly being set to the hero level, it'll change the moment your character levels up.

The condition says "If Check Level is the same as the Current Level, do nothing. If they're different, break the loop." When the loop is broken, anything after that will be processed.

Now you've got something that will fire whenever the hero's level changes in any way, then after, will start from the top. This will reset "Check Level" to the hero's current level (now 2) and "Current Level (also 2). Since they're now the same, the stuff after the loop won't fire again until you hit level 3, etc.

If the explanation is confusing to you, ignore it for now. Just try to set up the events exactly as described above and see if you can understand why this works. If you're still stuck, I'll post a screenshot of the code.
author=BadLuck
No problem. Don't worry too much about why this works yet. The following is a system that will detect the level up of a single character.

Step 1) Create two variables. Name them "Current Level" and "Check Level"

Step 2) Create a parallel process as a common event.

Step 3) Set Check Level = Hero Level

Step 4) Create a Loop beneath that.

Step 5) In the Loop, set Current Level = Hero Level (and a wait 0.0 to reduce lag)

Step 6) Create a conditional that checks if Check Level is NOT EQUAL to Current Level.

Step 7) In the conditional, Break Loop.

Step 8) Outside of the loop, do whatever you want to happen. Sound effect, graphics, music, whatever.

Explanation: So, say your hero is level 1. Check Level is set to equal the hero's level, so Check Level = 1. When you create your loop, this won't get changed again, right? Because the loop will just keep looping until it's broken. Inside the loop, you're constantly setting Current Level = hero level, which will also be 1 at first.

When you level up, Current Level will equal 2, right? Because that's constantly being set to the hero level, it'll change the moment your character levels up.

The condition says "If Check Level is the same as the Current Level, do nothing. If they're different, break the loop." When the loop is broken, anything after that will be processed.

Now you've got something that will fire whenever the hero's level changes in any way, then after, will start from the top. This will reset "Check Level" to the hero's current level (now 2) and "Current Level (also 2). Since they're now the same, the stuff after the loop won't fire again until you hit level 3, etc.

If the explanation is confusing to you, ignore it for now. Just try to set up the events exactly as described above and see if you can understand why this works. If you're still stuck, I'll post a screenshot of the code.


I followed every steps, but nothing happened, except for slightly lag.
I’m wondering: are you trying to do this with using 2k3’s default battle system? If so, there’s really nothing you can do to achieve this sort of thing other than maybe something you can manually put in with using DynRPG or maybe one of its many plugins for it (if you’re using the pirated version, that is, and not the official licenced version).

What Badluck used for Ara Fell was something in align with a common event outside of the default battle system where he has two variables with one that’s set to a character’s current level and another one that checks to see if the first variable, the character’s current level, has changed or is higher than before. If it’s higher, he has a custom menu setup with using events and pictures that portrays that the character has now gained a level. All of this was done outside of the default battle system instead.

If you’re a beginner and you're just getting into 2k3, I wouldn’t worry too much about this, as the default level-up message is more than enough fine for your first time projects. As you begin to learn and study about the uses of events and stuff, you’ll probably be able to do something like this akin to what Badluck has in his own game. And with enough patience and practice, you’ll soon be able to make your own custom battle systems and design your own level-up screens at will with all its glorious chimes and stuff.
I'm fairly certain I didn't say anything incorrectly above, but regardless, the screenshot of the following code will work. Be sure to notice every detail. Like, if you accidentally set the conditional to EQUAL rather than NOT EQUAL or something.

author=BadLuck
I'm fairly certain I didn't say anything incorrectly above, but regardless, the screenshot of the following code will work. Be sure to notice every detail. Like, if you accidentally set the conditional to EQUAL rather than NOT EQUAL or something.


It still don't work. I tried everything, but still nothing.

Edit: I'm not gonna waste my time on it, don't worry about it.
I don't suppose you kept what you had? If you could take a screenshot of it, I'm curious what you've got, even if you've decided to abandon that idea.
author=BadLuck
I don't suppose you kept what you had? If you could take a screenshot of it, I'm curious what you've got, even if you've decided to abandon that idea.


Oh right. Here it is:
http://imgur.com/GGY77hF
Huh. That looks right. The code I pasted above definitely worked for me. I wonder if the version of rm2k3 you have causes that to fail somehow.

Well anyway, thanks for posting.
author=BadLuck
Huh. That looks right. The code I pasted above definitely worked for me. I wonder if the version of rm2k3 you have causes that to fail somehow.


Yeah. I think I'm using older version. That must explain why it didn't work.
Pages: 1