MYSTERIES OF RPGMAKER?

Posts

Pages: first prev 12345 last
I knew that the glyphs exist but somehow never used them. The other (except the \> \<) I knew for a long time. The automatic closing \^ is especially useful in cutscenes after a few \|s, and can also be a nice effect of someone being interrupted. One thing I'm still not sure about is where the escape characters work. I know everything works in messages and \V \N \C works in choices too. I remember trying \C in new game menu and it didn't work, but I recall glyphs working in other strings.
Frogge
I wanna marry ALL the boys!! And Donna is a meanc
18536
I don't know what ''End Event Processing'' does.
Ratty524
The 524 is for 524 Stone Crabs
12986
author=ExtremeDevelopment
I don't know what ''End Event Processing'' does.
It does precisely what it says. It ends running events.

It's mainly useful for parallel process events to stop them from continuously running when a certain condition is met. Otherwise, you can get away with just calling a new, blank page with self switches and still get the same effect.
It's really good for if you have a lighting effect (or something) that you want shown on-screen after teleport, but before fade-in. Just have a Parallel process run that shows the image and end with End Event Process. It automatically erases that event. When you leave the map and come back in it automatically does the same thing - it's basically great for events you want to run each time you enter a map.
@CharlieEND> If you take a peek into the script editor, you'll find that everything that uses the 'draw_text_ex' function to display text interprets the escape characters (a good example is the message window). Apparently, Window_TitleCommand uses 'draw_text' which simply displays text, ignoring any escape characters that may be present.

Random Tip: If you want to do something that you normally can't do (like teleporting the player in a move route, or swapping the positions of the player and an event), take a peek into Game_Interpreter via the Script Editor. It contains all that is needed to perform event commands via script calls (and much more, with a little creativity).

This is where I turn to when I'm not sure how to do this-and-that.
Why is it?...
You can change the system music on Events Page 3.. here is the script version:

$gameSystem.setBattleBgm(name);
or .setVictoryMe(name)
or .setDefeatMe (name)
or for vehicle:
$gameMap.vehicle(ID of vehicle).setBgm(name);

But you cannot change the system sound effect? Is there a plugin for this? Here is what you could accomplish if this was editable:

1) You could make random cursor sounds, well suited for a kusoge (bakage?) game.

2) Alternately, you could make the cursor and confirm sound effects to be the individual notes of your game's theme song (in sequence)!

3) You have a temporary scene where your character transforms into a dog. Replacing the normal static system sounds the player is used to, with dog sounds! Could you imagine the Menu Confirm sound turning into "Woof!"
I would fall off my chair!
Marrend
Guardian of the Description Thread
21781
The thought in my head is that if one really wanted to make random sound effects, one could do something like...

module Sound
  # Cursor Movement
  def self.play_cursor
    sound = rand($data_system.sounds.size)
    play_system_sound(sound)
  end

  # Decision
  def self.play_ok
    sound = rand($data_system.sounds.size)
    play_system_sound(sound)
  end

  # Cancel
  def self.play_cancel
    sound = rand($data_system.sounds.size)
    play_system_sound(sound)
  end

  # Buzzer
  def self.play_buzzer
    sound = rand($data_system.sounds.size)
    play_system_sound(sound)
  end

  # And so on.
end

...this, where it randomizes the sound effect based on what's been entered in the database.
author=psy_wombats
this topic is over two years old


That's the real mystery.
Why RPG Maker 95 never got an English release, why not finish off the whole RM family having an English release? "Source probably long gone like 2k/3"
(I know how this works, but a tip for others who encounter the issue)
Crash: "Events Call Limit Exceeded"

What does it mean?
If your game crashes with this error message, it means one thing: the "call stack" has exceeded its max size, which is like 1,000 events.

What is a call stack?
RPGMaker called-events (basically functions) work synchronously. Which means that if an event is called, then everything else freezes and only one function is executing at a time. So what happens if an event calls another event while it's in the middle of execution? 1) Execution on the caller (first event) pauses 2) the second event gets added to the call stack (the stack is now two events deep) 3) the second event's commands begin executing 4) once the second event is finished executing, it gets removed from the call stack 5) the first event picks-up where it left off and executes the rest of its commands. And what happens if the second event had called a third event? Same basic concept, except now the call stack is 3 events deep.

What happens if the very last command of event 1 involves calling event 2?
Some might assume that event 1 will disappear from the call stack just as event 2 begins firing, but this is wrong. In this situation, event 1 still remains on the call stack until event 2 is finished executing. Once event 2 finishes, event 1 can finally finish and be removed from the call stack. Extrapolating this further, if you build some sort of menu system where you have an endless round robin of event A calling event B which calls event C which calls event A; then you will eventually crash the game if you use this system for long enough.

How to program in a way that avoids this problem?
You must ensure that events finish executing and get removed from the stack. Instead of a circular control flow, event A should have a cycle, labels, or some other kind of flow control in order to avoid the need to be re-called by the same events that it calls.

Example of the wrong way to code a shop system:
Event A is the menu system. It prompts the user for input. If you hover over an item and press Enter, it calls Event B.
Event B displays various item proficiencies, item descriptions, and other setup. Then it calls Event C.
Event C handles the quantity of the item you want to purchase. Once you make the purchase or cancel, it calls Event A to take you back to the menu.
(At this point, the call stack is now 4 events deep. Event A, Event B, and Event C are basically hanging at their last line of execution, and a second instance of Event A is at the beginning of its execution. If you keep going through this flow, the call stack will continue growing unbounded.)

Example of the right way to code a shop system:
Event A contains a cycle. Inside the cycle, it prompts the user for input. When the user hovers over an item and presses Enter, it calls Event B.
Event B displays various item proficiencies, item descriptions, and other setup. Then it calls Event C.
Event C handles the quantity of the item you want to purchase. Once you make the purchase or cancel, it does not call any other events.
(At this point, Event C will finish executing and be removed from the call stack. Control will return to Event B, which will finish executing and be removed from the call stack. Control will then return to Event A, which will reach the end of its Cycle, and then return to the top of the Cycle. The call stack is currently 1 event deep. No matter how much you use this menu, the call stack will always be at most 3 events, and at least 1 event.)
author=LDanarkos
(I know how this works, but a tip for others who encounter the issue)
Crash: "Events Call Limit Exceeded"

What does it mean?
If your game crashes with this error message, it means one thing: the "call stack" has exceeded its max size, which is like 1,000 events.

What is a call stack?
RPGMaker called-events (basically functions) work synchronously. Which means that if an event is called, then everything else freezes and only one function is executing at a time. So what happens if an event calls another event while it's in the middle of execution? 1) Execution on the caller (first event) pauses 2) the second event gets added to the call stack (the stack is now two events deep) 3) the second event's commands begin executing 4) once the second event is finished executing, it gets removed from the call stack 5) the first event picks-up where it left off and executes the rest of its commands. And what happens if the second event had called a third event? Same basic concept, except now the call stack is 3 events deep.

What happens if the very last command of event 1 involves calling event 2?
Some might assume that event 1 will disappear from the call stack just as event 2 begins firing, but this is wrong. In this situation, event 1 still remains on the call stack until event 2 is finished executing. Once event 2 finishes, event 1 can finally finish and be removed from the call stack. Extrapolating this further, if you build some sort of menu system where you have an endless round robin of event A calling event B which calls event C which calls event A; then you will eventually crash the game if you use this system for long enough.

How to program in a way that avoids this problem?
You must ensure that events finish executing and get removed from the stack. Instead of a circular control flow, event A should have a cycle, labels, or some other kind of flow control in order to avoid the need to be re-called by the same events that it calls.

Example of the wrong way to code a shop system:
Event A is the menu system. It prompts the user for input. If you hover over an item and press Enter, it calls Event B.
Event B displays various item proficiencies, item descriptions, and other setup. Then it calls Event C.
Event C handles the quantity of the item you want to purchase. Once you make the purchase or cancel, it calls Event A to take you back to the menu.
(At this point, the call stack is now 4 events deep. Event A, Event B, and Event C are basically hanging at their last line of execution, and a second instance of Event A is at the beginning of its execution. If you keep going through this flow, the call stack will continue growing unbounded.)

Example of the right way to code a shop system:
Event A contains a cycle. Inside the cycle, it prompts the user for input. When the user hovers over an item and presses Enter, it calls Event B.
Event B displays various item proficiencies, item descriptions, and other setup. Then it calls Event C.
Event C handles the quantity of the item you want to purchase. Once you make the purchase or cancel, it does not call any other events.
(At this point, Event C will finish executing and be removed from the call stack. Control will return to Event B, which will finish executing and be removed from the call stack. Control will then return to Event A, which will reach the end of its Cycle, and then return to the top of the Cycle. The call stack is currently 1 event deep. No matter how much you use this menu, the call stack will always be at most 3 events, and at least 1 event.)


I literally encountered this for the first time last week. While putting together a bones of a custom battle system I accidentally called a common event within itself. This leads to a rapidly stacking, self-crashing event.

I was actually worried about what the limit might be though, if my systems were to get too complex. 1000 stavks you say? Well, no worries then!
pianotm
The TM is for Totally Magical.
32347
I am probably going to encounter this since I have started eventing a customizable card game for my waste of my life, Final Fantasy fangame I work on when I literally have nothing elsento do. Now, hopefully, I'll know how to avoid this.
The label and jump to label is actually very useful, especially if you're making a loop and then breaking the loop - I think I kinda remember I made an item for changing how the system windows looked where when you used it, it would activate a common event that causes a message with choices to appear and you could scroll through the event with a lot of system graphics that you could choose, and when you choose the one you want it will close out. That wasn't too hard to do.

And way back when I kinda remember making a game kinda like RPG Maker Story that had enemies you could run up to and smack like Zelda I think that was done with conditional branches and variables, I can't remember how I did that but I know I was looking at Legion Saga for the bosses' HP meters and RPG Maker Stories' events just to figure out how the creators were doing it. Overtime, you start to really like what conditional branches can do it's kinda like C++ IF or THEN statements, just in RPEG Maker. C++ is scary to me.
I have one. It is a damn mystery and I can't figure out why the maker, or the computer, is doing this. Like why. I can't figure this one out. In the 3rd Kirby RPG that is not finished, the sound effects will stop working entirely, while the music in the background is still playing during gameplay.
O_O
This is weird and I have no idea what RM2k3 is doing when this happens, rather even maybe the computer? This is a massive WTF is going on and if Kirby RPG 3 is ever actually finished, should be looked into.
It makes little to no sense why sound just cuts out, it seems to happen always during battles, never when you're just walking around in grassy fields, talking to waddle dee's, doo's and the alike. I haven't any idea why this happens.

To me though a 'successful RPEG game' can be really simple and work just fine, even with RTP if it's done right...or to make a more intricate game with more features, requires a lot more thought and knowing how the engine actually works and what it is capable of doing. Because it's just too easy to make a bad game, I would say about 80% of games that I find in the RPG Maker community I find myself sometimes correcting as I'm playing, even fixing to make things 'better', or I turn off because they're actually THAT BAD if I can even get through the games.

I always kinda wondered how to make a card game kinda like Cardico in Final Fantasy would work on RPG Maker, even Legion Saga 3 was supposed to have a card game. That seemed to not happen though...
Pages: first prev 12345 last