Global Common Events

Help spread the word!Share on FacebookShare on TumblrTweet about this on TwitterShare on Google+Share on LinkedInShare on RedditFlattr the author

This script allows you to assign certain common events as “global” common
events. These are common events that will be run in almost any scene, as long as
the run conditions are met.

globalCommonEvents1

Download

Script: download here

You may also want to use the Scene Interpreter

Installation

Place this script below Materials and above Main

Usage

globalCommonEvents2

To set a common event as a global common event, create a comment with the following string

<global common event>

If you would like the common events to continue running even if the message
window is open, use the comment

<global common event: non-blocking>

You can set the run condition if you want to control when the common event will be updated. The trigger itself is irrelevant since a global common event does not need it.

Filtering Scenes

You may not want all global common events to run in every scene, but you may
want to run certain global common events in certain scenes, but not others.

You can control which scenes global common events run in using a set of
filters, organized into two types of filters: whitelists, and blacklists.

Whitelists determine which scenes allow global common events to update.
If the whitelist is empty, then all scenes will update events.
If the whitelist is not empty, then only those scenes will update events.

Blacklists determine which scenes disallow global common events to update.
The blacklist is used to prevent updating in certain scenes, while allowing
all other scenes to update events.

Note that by this definition, whitelists are more restrictive. For example,
if you put Scene_Map on the whitelist, then global common events will
ONLY run on the map and nowhere else. But if you put Scene_Map on the blacklist, then the events will run on any scene EXCEPT the map scene

Universal Filters

In the configuration section, there is a whitelist and a blacklist. These are universal filter lists: they apply to all global common events.

Local Filters

Each global common event can have its own whitelist and blacklist.
To specify filters, create a comment of the form

<global scene blacklist: scene_name1, scene_name2, ... >
<global scene whitelist: scene_name3, scene_name4, ... >

You must specify the exact scene name (eg: Scene_Title), each scene separated by a single comma.

Local filters only apply to the events that they are defined in and do not affect other events.

Help spread the word!Share on FacebookShare on TumblrTweet about this on TwitterShare on Google+Share on LinkedInShare on RedditFlattr the author

You may also like...

51 Responses

  1. Maro says:

    Whenever used for battle scenes, once text shows up and goes away, the entire battle softlocks (Aka the HUD goes away) and you can’t do anything. Please fix this when possible. Thanks in advance.

  2. Vert says:

    This is a great script! I am currently using this, the scene interpreter, scene event animation along with the Pre-Skill Effects which makes menus and battles much more better than before. Sorry for requesting but are you making MV plugins for these features?

  3. Kuren says:

    So I just tried this out but I couldn’t get it to work. I am trying to run a global common event which shows a actor full bustshot picture (with conditional branches) on the main menu screen when the player enters the menu, but the event simply doesn’t trigger even if I leave the whitelist blank. My common event in question updates the bustshot realtime (via Parallel), such as updating whenever player removes equipment etc, but the event doesn’t even seem to trigger no matter what I do.

    What I did was simply put “” on the common event in question and still nothing happened.

    • Kuren says:

      Sorry for double posting. But after some more testing I found out that while the script helps trigger common events, it seems to not have refreshing function. If I use Scene_Menu as the whitelist the picture will show AFTER I closed the menu, but not while its opened. So does that mean this script wouldn’t work in executing display picture inside menu screens?

      • Hime says:

        Pictures by default do not appear outside of the map or the battle.
        So why you can show a picture from the menu, it wouldn’t actually show until you go to a scene that supports it.

        • Kuren says:

          I have been using this with the scene interpreter as well as adding the scene event animation addon script as of which (if my interpretation of it is correct) is supposed to enable displaying of pictures/animations in the current menu scene assuming the conditions are met. (which for my case is the act of entering the menu itself, or entering the equip screen) Other actions that are not part of the “display picture” in the common event do work, the only thing is that the picture doesn’t display/update until I leave the whole menu, so I’m not sure what I missed out here.

          Appreciate it if you can clarify if displaying and updating/refreshing of pictures triggered by common event in the menu it was specified was not achievable with these scripts alone, I would need to look for an alternative.

          • Hime says:

            Yes, scene interpreter allows you to run events in the menu, and the add-on allows you to display pictures and other animations.
            Try it in a new project and see if it works. I don’t know if global common events might be the one causing problems.

  4. Trackyise Mako says:

    Hello,
    I’ve been having an issue with this and an common event I’m using

    http://sta.sh/0ilofzhohzb

    I’m not sure what’s causing it, as when I tested with it, the error occurred when it was the only script installed, and when none others were.

    http://sta.sh/01n9il27lt9r

    And while what triggers it is unsure, here’s the events that is being used that ends up causing it.

    http://sta.sh/01oamk9i0dqz

    http://sta.sh/02gioggerug

    http://sta.sh/0ytb46hh2vt

    And while I’m sure some of the scripts I have installed in my main project are triggering it, in the error map I can still get it to trigger without the scripts being present through use of this event

    http://sta.sh/01k3y7dd307p

    • Hime says:

      Event 3 is the problem. It is assigning a string to variable 28, but in event 1 you are comparing the string with a number, which is not possible.

      You need to convert the string to a number first before performing the comparison.

  5. dadgai says:

    Hi. I’ve got a problem. When I update a global common event, or create a new one, then use a save file used before I’ve made those changes, the save file still uses the old global common events. Meaning the updates are not seen by the game, and the new ones never start. However, if I start a new game, everything works just fine. I’ve tried turning the switch off and on again or using another switch, it doesn’t help.

    • Hime says:

      Are the save files created during an event? Or regularly through the save menu?

      • dadgai says:

        Using the save menu. Though there are some times where I used the “open save menu” option in an event (if that’s what you are asking), and maybe I’ve picked up from there and continued the game normally. However, it was during regular events, not through global ones.

        • Hime says:

          How are these global common events set up? When do they run? Maybe they’re being picked up in the save file and then just continuing from where they left off? What happens after you switch maps after you load the game?

          • dadgai says:

            The global common event are constantly checking for an actor death (with the death state). When it sees it, the actor says a few last words, then is removed from the party (either leading to a game over, or a switch saying he is now dead and won’t appear later). I turn the switch on at the beginning of the game, then turn it off and on again at battles where the player is supposed to lose.

            The event is set up as such : condition(is actor 1 dead ? If yes, last words, remove, turn switch saying he’s dead, heal and remove death state to avoid infinite loop) then condition(is actor 2 dead ? …) etc.

            The thing is : the actors I have set at the beginning are correctly removed from the party, but any additionnal condition I add (for new actors coming later in the game) does not apply (they die and stay in the party, the dialog doesn’t appear). Yes, I have switched maps, since it took me some time to see the bug (I didn’t bother checking immediatly for the new actors since it worked well for the first ones).

          • Hime says:

            Are these specifically for those conditions? What if you simply show a new message or something?

          • dadgai says:

            Okay, I just tried to add a new global common event :

            Trigger : parallel process / condition : a new switch

            comment : global common event

            text

            wait + turn switch off + wait (to avoid loop).

            I load my save file. If I turn the switch on, nothing happens. If I remove the comment, the text appears just fine. If I start a new game and keep the comment, the text also appears just fine.

          • Hime says:

            Which is expected, since global common events are saved into the save file, which means even if you changed them, they are still like before…
            I suppose the reason for this is because if you have a common event running while you save the game, the common event should proceed as normal…

            I’d imagine this is the same behavior if you save while a normal event is running.
            Not sure how this might be addressed. If you change the common event in such a way that it would actually break the save file…that wouldn’t be good either.

          • dadgai says:

            Okay. So, I cannot modify a global common event because of the way they are implemented, but why do the ones I create after the save file not work either ?

          • Hime says:

            Looking at the script, this is because global common events are created at the beginning of the game, and doesn’t check for any new global common events created after.

  6. orathan says:

    Is there a way for this to work with windows? I saw the Scene_Base but not the Window_Base in the script which obviously means it is only for scenes. I would like to use this script but if there is no way to make it work for windows then I’ll probably have to drop that idea.

    • Hime says:

      What do you mean by “work for windows”? A window displays information. A scene controls logic.

      • orathan says:

        I’m using the command in the event which calls the item list (4th in 1st group, 1st page) which I think is not a scene since the common event isn’t running while the item list window is open even when the comment and switch are properly set up. The common event runs when I close the window via keyboard input.

        • Hime says:

          That’s strange. What is your common event supposed to do while the key item window is open?

          • orathan says:

            I tried to test this again in a fresh project. The event makes the player move a few steps then open the key item processing window then move again but the player stops moving after the window is opened. I am definitely sure that I wrote the comment correctly. I even tried using the different types of comments on other common events and they worked fine. Only the key item processing window is the problem. Would you mind trying it out just to make sure if it’s my fault or it just won’t work out like it should?

          • Hime says:

            Does it work with a normal event? I’m not sure if the player is allowed to move if the window is open and active.

          • Anonymous says:

            Unfortunately, eventing it by normal means was my first choice. I tried using your script as a workaround but it seems I’ll have to find another way to achieve what I need. That aside, it’s still an amazing script. Maybe I’ll use it for other purposes.

  7. Hime says:

    I have updated the script to address the save issue.
    Details can be found here: https://github.com/Hime-Works/Requests/issues/273

  8. Spearnear says:

    Glad to hear I’m not the only one experiencing this script stops working after loading a saved game. I was losing my marbles trying to figure out why it was happening, thought it was something I did.

  9. RaythalosM says:

    I too, am having problems with the global common event: non-blocking parallel process common events not working properly after loading from a saved game. It will run properly when a New Game is played, but once you load a game, the events will not run while a message box is up.

  10. Kyuukon says:

    Nice script, however… I’m gonna quote a dude from a closed thread:

    I noticed non-blocking global events will not work properly after
    loading, however. I have a parallel process non-blocking global event
    that works fine with the switch ON. It ends, switch goes off. Save,
    load, turn switch ON – and text makes it stop.

    Is there any way to fix this?

    I know messages in RMAce are a pain to deal with. But is there a way to fix it as of now?

    Ty.

  11. Spearnear says:

    Wow, I love your scripts. Such life savers. I’ve been going mad trying to get this exact effect!

  12. Kyuukon says:

    Nvm, I just figured it out 😛 sorry!

  13. Kyuukon says:

    Stupid question: Scene = Map name right?

    • Hime says:

      As you may have already figured out, it is the scene name.

      Scene_Map
      Scene_Title
      

      Which you can look up in the scripts.

  14. CJF says:

    Hey, I keep getting an Error (404) when trying to download the script. Is it hosted any where else? Thanks!

    • Hime says:

      I've updated the link. Dropbox disabled all my links so I went and replaced most of them but some of them got missed it seems.

      • CJF says:

        Thank you. You're as awesome as your script which has made my menu/computer interface in my game update correctly and run smoothly. Thank you!

  15. Zack says:

    Is there a way to get this to run during battler action execution? IE, combined with code to trigger a common event via a key press you could do some amazing things very simply like say, the paper Mario battle system pressing a button to change how an attack works via the common event adding a state or the like. If there’s a way for that to work Global Common Events could enable all sorts of Real-Time battle elements that are otherwise much more difficult to script. I was toying with the below code I found, placing it in Scene_Battle:

    module Com_Ev_Input
    SWITCH_TURN_OFF = 1
    COMMON_EV_ID = 150
    BUTTON_TO_USE = Input::Z
    end

    class Scene_Battle < Scene_Base

    alias call_com_ev_updt update unless $@
    def update
    call_com_ev_updt
    if Input.trigger?(Com_Ev_Input::BUTTON_TO_USE)
    $game_temp.common_event_id(150)
    end
    end
    end

    With Event 150 just triggering a sound effect for the time being as a place holder I can detect.

    It opens up some great possibilities with this script for Real-Time RPG elements, but I think the issue is that the global commands grab all of the scenes from Scene_Base which doesn't include action execution.

  16. Lucia says:

    Thanks for this script! It seems like just what I’m looking for.

    Does it work with timers? I have a common event that users timers. I put the comment at the top of it. However, the timer stops running when the menu is open. It also seems to pause when a message is open.

    Thanks for your time.

  17. Tommy says:

    Thats what I did.

  18. Tommy says:

    I put this script into my game, but it crashes the minuet I start the game.

    • Tsukihime says:

      Try it in a new project and if it doesn’t happen in a new project then there are script compatibility issues.

      • Tommy says:

        I tried it, but the same problem comes up even in a brand new project. Here’s what comes up.
        Script ‘Global’ line 181:NameError occurred
        undefined method ‘create_game_objects’ for class ‘Module’

        Sorry I really know nothing about using RGSS

  1. May 6, 2014

    […] if you know how bubbles work, they don’t show WHILE messages are processing, but you can use Global Common Events by Tsukihime of HimeWorks to circumvent that limitation. I highly recommend […]

Leave a Reply

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax