Global Common Events
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.
Download
Script: download here
You may also want to use the Scene Interpreter
Installation
Place this script below Materials and above Main
Usage
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.
Ok, so, this seems kind of stupid and I’m really frustrated right now.
Your download link for this is not working.
And you’re not giving the exact name of the plugin in the plugin description- So Idk how in the world I can get this to work.
Trial and error is not helping me in the simple process of trying to name this plugin so it works correctly.
….. Oh. These are scripts for.. yeah. Not MV Plugins..
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.
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?
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.
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?
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.
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.
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.
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
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.
Ohhh okay, sorry bout that, but thanks for the help.
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.
Are the save files created during an event? Or regularly through the save menu?
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.
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?
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).
Are these specifically for those conditions? What if you simply show a new message or something?
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.
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.
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 ?
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.
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.
What do you mean by “work for windows”? A window displays information. A scene controls logic.
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.
That’s strange. What is your common event supposed to do while the key item window is open?
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?
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.
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.
I have updated the script to address the save issue.
Details can be found here: https://github.com/Hime-Works/Requests/issues/273
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.
Hi, grab a new copy of the script and see if that will address issue.
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.
Nice script, however… I’m gonna quote a dude from a closed thread:
I know messages in RMAce are a pain to deal with. But is there a way to fix it as of now?
Ty.
Wow, I love your scripts. Such life savers. I’ve been going mad trying to get this exact effect!
Nvm, I just figured it out 😛 sorry!
Stupid question: Scene = Map name right?
As you may have already figured out, it is the scene name.
Which you can look up in the scripts.
Hey, I keep getting an Error (404) when trying to download the script. Is it hosted any where else? Thanks!
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.
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!
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.
I am not sure how it’s supposed to work. Consider creating an issue on the issue tracker linked in the Requests tab.
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.
The timer is separate from common events. You’ll have to figure out how to get timers to run even when you’re not on the map.
Thats what I did.
I think I know what’s going on, is this RGSS3? I’m not using VX Ace. Is there a way to set this script up for RGSS2, cause I need this for my game.
You will have to find someone that will port this to VX as I don’t have a copy of VX.
I put this script into my game, but it crashes the minuet I start the game.
Try it in a new project and if it doesn’t happen in a new project then there are script compatibility issues.
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
Place this script below Materials in the script editor.