G'day Folks,
I was looking at Pheelon's event override guide on the wiki (http://social.biowar.../Event_override) and was wondering if overrides overwrite one another or is some type of event chaining in effect?
I mod A overrides EVENT_TYPE_INVENTORY_ADDED and then calls HandelEvent() and mod B overrides the same event, does mod B override fire then hand off to mod A or is it last module loaded wins?
Event override versus event chaining
Débuté par
sillyrobot
, nov. 25 2009 05:38
#1
Posté 25 novembre 2009 - 05:38
#2
Posté 25 novembre 2009 - 05:58
afaik the module with the highest priority (see module settings) wins in this case.
seeing as we aren't overriding any specific event-handler but the global event - aka the "jump-point" - all objects that have that event will will fire there first and then go on to their spezific event handler (unless told other wise - aka by us overriding it via the events M2DA and not passing the event alogn to its default handler via HandleEvent)
that said - i am in the progress of mixing up something to cover this issue (manual event override queing via M2DA) - will keep you posted.
seeing as we aren't overriding any specific event-handler but the global event - aka the "jump-point" - all objects that have that event will will fire there first and then go on to their spezific event handler (unless told other wise - aka by us overriding it via the events M2DA and not passing the event alogn to its default handler via HandleEvent)
that said - i am in the progress of mixing up something to cover this issue (manual event override queing via M2DA) - will keep you posted.
#3
Posté 25 novembre 2009 - 06:29
I'm also quite interested in that since wrong habits in that domain can really mess things up (and not always in an obvious manner) so I'll probably run some tests myself. I'll let you know.
#4
Posté 28 novembre 2009 - 12:23
I'm trying to override the EVENT_TYPE_AREALOAD_POSTLOADEXIT event, I read the page at the wiki, used a dummy script that just displays a floaty "in custom event handler", created the engineevents_inno.gda file and added:
38 EVENT_TYPE_AREALOAD_PRELOADEXIT inno_teleport_events
so using the same ID right? cause we're overriding... my script also passes all events to the default one for now.
Anyway, loaded up my game, did some area loading , but no floaty's...
Any of you know what i'm doing wrong here?
38 EVENT_TYPE_AREALOAD_PRELOADEXIT inno_teleport_events
so using the same ID right? cause we're overriding... my script also passes all events to the default one for now.
Anyway, loaded up my game, did some area loading , but no floaty's...
Any of you know what i'm doing wrong here?
#5
Posté 28 novembre 2009 - 04:27
Are you sure it isn't just being hidden by the Loading? AFAIK, PRELOADEXIT indicates the area is not even finished loading - The PC might not be placed, it might not last long enough, etc. For an event such as this, I'd imagine a Show Popup, or some such would be better, since it'd stick around for a bit.
#6
Posté 28 novembre 2009 - 07:56
Have you tried adding ECLog.ini to bin_ship and using PrintString?
The text of the file should be
[LogTypes]
Script=1
The text of the file should be
[LogTypes]
Script=1
#7
Posté 28 novembre 2009 - 10:25
As far as I know PRELOADEXIT and DisplayFloatingMessage() aren't great friends. You may want to try what's adviced just above and use a popup or something.
Neat. Some logging is actually possible !Craig Graff wrote...
Have you tried adding ECLog.ini to bin_ship and using PrintString?
Modifié par Phaenan, 28 novembre 2009 - 10:26 .
#8
Posté 28 novembre 2009 - 11:05
Oh great, I hadn't found out how to enable logging yet :-) Can I then also use the
#if DEBUG
#endif
constructs???
Well the point is that I actually also use the same floaty stuff to debug some things in my OWN area, and there the floaties ARE showing. Secondly the docs state that this event is to do things the player must see when entering the area...
But in any case i'll try something else. You talk about a popup, how do you display one? just create a string in the talktable and use ShowPopup ? or is there an easier way?
thanks!
#if DEBUG
#endif
constructs???
Well the point is that I actually also use the same floaty stuff to debug some things in my OWN area, and there the floaties ARE showing. Secondly the docs state that this event is to do things the player must see when entering the area...
But in any case i'll try something else. You talk about a popup, how do you display one? just create a string in the talktable and use ShowPopup ? or is there an easier way?
thanks!
#9
Posté 28 novembre 2009 - 11:09
DisplayFloatyMessage
I notice you mention two different events above: EVENT_TYPE_AREALOAD_POSTLOADEXIT and EVENT_TYPE_AREALOAD_PRELOADEXIT. Are you certain you are using them consistently?
I notice you mention two different events above: EVENT_TYPE_AREALOAD_POSTLOADEXIT and EVENT_TYPE_AREALOAD_PRELOADEXIT. Are you certain you are using them consistently?
#10
Posté 28 novembre 2009 - 02:39
yes, actually I need the preloadexit one, but for testing I added BOTH events to the 2da
#11
Posté 28 novembre 2009 - 02:52
Anyway, I just added th ECLog.ini, I added:
[LogTypes]
Script=1
However, the only log I find in \\Documents\\BioWare\\Dragon Age\\Logs is DragonAge_1.log
This is the only contents (I load up Otagar, travelled to another area and travelled back...
Sat Nov 28 15:46:06 2009
================================================================================
LEVEL MESSAGE
Platform Multi-core system detected. Using multi-threaded renderer.
Platform 2 core(s) detected, 1 worker thread(s) created.
General Initialize - Verify Platform capabilities
General Initialize - Resource Manager
General Initialize - World Database
General Initialize - Physics
General Initialize - Facial Animation
General Initialize - Graphics
Graphics Adapter is 'NVIDIA GeForce 9800M GT'
Graphics Detected 1 Nvidia GPU(s) present.
General Initialize - Input
General Initialize - Console
General Initialize - GUI
General Initialize - Game
General Initialize - ClientApp Start Services
General Initialize - Per Frame AI
General Initialize - Game Rules
General Initialize - Main AI
OnlineFeatures Enabled AddIn: inno_pp.
OnlineFeatures Disabled AddIn: mod_stmna_potion.
OnlineFeatures Disabled AddIn: bf_auto_highlight.
OnlineFeatures Disabled AddIn: jwv_no_fol_level.
OnlineFeatures Disabled AddIn: bf_magic_locks.
OnlineFeatures Disabled AddIn: DAO_PRC_CP_2.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_LKS.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_EMB.
OnlineFeatures Disabled AddIn: DAO_PRC_PROMO_C2.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_WKD.
OnlineFeatures Disabled AddIn: DAO_PRC_PROMO_1.
OnlineFeatures Disabled AddIn: DAO_PRC_NRX_1.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_ME.
General Initialize - Scripting Engine
General Initialize - Module RIM Manager
General Initialize - Pathfinding
General Initialize - Game Mode Controller
General Initialize - Sound
Audio Speaker mode: Stereo
General Initialize - GUISounds
General Initialize - Online Features
OnlineFeatures Enabled AddIn: DAO_PRC_CP_2.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_LKS.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_EMB.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_C2.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_WKD.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_1.
OnlineFeatures Enabled AddIn: DAO_PRC_NRX_1.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_ME.
DA Download Manager (DADM) Service was started!
General Initialize - Initialization Complete
DA Download Manager (DADM) Attempting to connect to DADM Control Server!
DA Download Manager (DADM) Service start pending...
DA Download Manager (DADM) Connected to DADM Control Server!
DA Download Manager (DADM) Service started successfully.
DA Download Manager (DADM) Successfully configured DADM!
General Loading - Start
General Loading - End
Script TrackSendGameId: Game ID is 100843445 FromStart: 0
Script GetPlot [wrdpt_talked_to] [OXLEY_TALKED_TO] = [1]
Script GetPlot [mem000pt_state] [MEM_PLAYER_RECEIVED_BAND] = [1]
Script GetPlot [prm000pt_state_embri] [PRM_PLAYER_RECEIVED_EMBRI] = [1]
Script GetPlot [prm000pt_state_wicked] [PRM_PLAYER_RECEIVED_WICKED_OATH] = [1]
Script GetPlot [prm000pt_state_lucky] [PRM_PLAYER_RECEIVED_LUCKY_STONE] = [1]
Script GetPlot [prm000pt_state_collect2] [PRM_PLAYER_RECEIVED_GRIMOIRE] = [1]
Script GetPlot [prm000pt_state_massfx] [PRM_PLAYER_RECEIVED_BLOOD_DRAGON] = [1]
Script GetPlot [2F247F5F5B1C41F7845E3D09F20D5144] [] = [0]
Script GetPlot [2F247F5F5B1C41F7845E3D09F20D5144] [] = [0]
Script GetPlot [mnp000pt_main_lothering] [MAIN_LOTHERING_PC_CROSSED_LOTHERING] = [0]
Script GetPlot [shl000pt_main] [SHL_OPEN_HONNLEATH] = [0]
Script GetPlot [shlpt_main] [SHALE_READY_TO_VISIT_CADASH] = [0]
Script GetPlot [prcpt_postgame] [POST_GAME_ENABLED] = [0]
Script SetPlot [shl000pt_main] [SHL_INSTALLED] -> [1]
Script GetPlot [mnp000pt_main_lothering] [MAIN_LOTHERING_PC_CROSSED_LOTHERING] = [0]
Script GetPlot [shl000pt_main] [SHL_INSTALLED] = [1]
Script GetPlot [pre100pt_light_beacon] [PRE_BEACON_CAILAN_CHARGE_CUTSCENE] = [0]
[LogTypes]
Script=1
However, the only log I find in \\Documents\\BioWare\\Dragon Age\\Logs is DragonAge_1.log
This is the only contents (I load up Otagar, travelled to another area and travelled back...
Sat Nov 28 15:46:06 2009
================================================================================
LEVEL MESSAGE
Platform Multi-core system detected. Using multi-threaded renderer.
Platform 2 core(s) detected, 1 worker thread(s) created.
General Initialize - Verify Platform capabilities
General Initialize - Resource Manager
General Initialize - World Database
General Initialize - Physics
General Initialize - Facial Animation
General Initialize - Graphics
Graphics Adapter is 'NVIDIA GeForce 9800M GT'
Graphics Detected 1 Nvidia GPU(s) present.
General Initialize - Input
General Initialize - Console
General Initialize - GUI
General Initialize - Game
General Initialize - ClientApp Start Services
General Initialize - Per Frame AI
General Initialize - Game Rules
General Initialize - Main AI
OnlineFeatures Enabled AddIn: inno_pp.
OnlineFeatures Disabled AddIn: mod_stmna_potion.
OnlineFeatures Disabled AddIn: bf_auto_highlight.
OnlineFeatures Disabled AddIn: jwv_no_fol_level.
OnlineFeatures Disabled AddIn: bf_magic_locks.
OnlineFeatures Disabled AddIn: DAO_PRC_CP_2.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_LKS.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_EMB.
OnlineFeatures Disabled AddIn: DAO_PRC_PROMO_C2.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_WKD.
OnlineFeatures Disabled AddIn: DAO_PRC_PROMO_1.
OnlineFeatures Disabled AddIn: DAO_PRC_NRX_1.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_ME.
General Initialize - Scripting Engine
General Initialize - Module RIM Manager
General Initialize - Pathfinding
General Initialize - Game Mode Controller
General Initialize - Sound
Audio Speaker mode: Stereo
General Initialize - GUISounds
General Initialize - Online Features
OnlineFeatures Enabled AddIn: DAO_PRC_CP_2.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_LKS.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_EMB.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_C2.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_WKD.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_1.
OnlineFeatures Enabled AddIn: DAO_PRC_NRX_1.
OnlineFeatures Enabled AddIn: DAO_PRC_PROMO_ME.
DA Download Manager (DADM) Service was started!
General Initialize - Initialization Complete
DA Download Manager (DADM) Attempting to connect to DADM Control Server!
DA Download Manager (DADM) Service start pending...
DA Download Manager (DADM) Connected to DADM Control Server!
DA Download Manager (DADM) Service started successfully.
DA Download Manager (DADM) Successfully configured DADM!
General Loading - Start
General Loading - End
Script TrackSendGameId: Game ID is 100843445 FromStart: 0
Script GetPlot [wrdpt_talked_to] [OXLEY_TALKED_TO] = [1]
Script GetPlot [mem000pt_state] [MEM_PLAYER_RECEIVED_BAND] = [1]
Script GetPlot [prm000pt_state_embri] [PRM_PLAYER_RECEIVED_EMBRI] = [1]
Script GetPlot [prm000pt_state_wicked] [PRM_PLAYER_RECEIVED_WICKED_OATH] = [1]
Script GetPlot [prm000pt_state_lucky] [PRM_PLAYER_RECEIVED_LUCKY_STONE] = [1]
Script GetPlot [prm000pt_state_collect2] [PRM_PLAYER_RECEIVED_GRIMOIRE] = [1]
Script GetPlot [prm000pt_state_massfx] [PRM_PLAYER_RECEIVED_BLOOD_DRAGON] = [1]
Script GetPlot [2F247F5F5B1C41F7845E3D09F20D5144] [] = [0]
Script GetPlot [2F247F5F5B1C41F7845E3D09F20D5144] [] = [0]
Script GetPlot [mnp000pt_main_lothering] [MAIN_LOTHERING_PC_CROSSED_LOTHERING] = [0]
Script GetPlot [shl000pt_main] [SHL_OPEN_HONNLEATH] = [0]
Script GetPlot [shlpt_main] [SHALE_READY_TO_VISIT_CADASH] = [0]
Script GetPlot [prcpt_postgame] [POST_GAME_ENABLED] = [0]
Script SetPlot [shl000pt_main] [SHL_INSTALLED] -> [1]
Script GetPlot [mnp000pt_main_lothering] [MAIN_LOTHERING_PC_CROSSED_LOTHERING] = [0]
Script GetPlot [shl000pt_main] [SHL_INSTALLED] = [1]
Script GetPlot [pre100pt_light_beacon] [PRE_BEACON_CAILAN_CHARGE_CUTSCENE] = [0]
#12
Posté 28 novembre 2009 - 02:53
which makes me wonder: It only detects one GPU but I have SLI with 2 GPU's :/
#13
Posté 28 novembre 2009 - 03:00
OK, I finally figured it out :-) See also this thread: http://social.biowar.../index/319658/1
Basically, it seems you need to use PrintToLog(string s) instead of PrintString(string s)
And indeed, for some reason floaty message in the POSTLOAD_EXIT event DO show up in my own module area but NOT in area's of the single player module... weird. The log messages are now being printed so that's perfect.
Thanks for your help guys!
Basically, it seems you need to use PrintToLog(string s) instead of PrintString(string s)
And indeed, for some reason floaty message in the POSTLOAD_EXIT event DO show up in my own module area but NOT in area's of the single player module... weird. The log messages are now being printed so that's perfect.
Thanks for your help guys!
#14
Posté 28 novembre 2009 - 04:31
Well, not the end of this it seems. After some more testing I found out that for example the EVENT_TYPE_ENTER is getting into my script but the EVENT_TYPE_AREA_PRELOADEXIT or EVENT_TYPE_AREA_POSTLOADEXIT events are NOT getting into my script (I forgot I also added the ENTER event in my engineevents M2DA for testing)
So do ALL events actually work in the engineevents override or are some restricted?
So do ALL events actually work in the engineevents override or are some restricted?
Modifié par Innodil Ath Nathosh, 28 novembre 2009 - 04:59 .
#15
Posté 12 décembre 2009 - 07:05
14 days later, but here's a bump. I am trying to override MODULE_LOAD, which seems like something a lot of modders are doing right now.
But somehow the override just won't kick in? I have my script set up and if I export module_core and use HandleEvent to load the specific script at the end of the MODULE_LOAD event in module_core, it works perfectly.
However, when using the engineevents_* m2da technique, it just won't fire the script... This is my line in the m2da:
ID Label Visualizer Script
int string comment string
20 EVENT_TYPE_MODULE_LOAD jra_core
It should work, the script works as proven above, but it just won't fire...? Is this related to the fact that some events can't/won't be fired when using event overrides?
But somehow the override just won't kick in? I have my script set up and if I export module_core and use HandleEvent to load the specific script at the end of the MODULE_LOAD event in module_core, it works perfectly.
However, when using the engineevents_* m2da technique, it just won't fire the script... This is my line in the m2da:
ID Label Visualizer Script
int string comment string
20 EVENT_TYPE_MODULE_LOAD jra_core
It should work, the script works as proven above, but it just won't fire...? Is this related to the fact that some events can't/won't be fired when using event overrides?
#16
Posté 14 décembre 2009 - 08:29
They would identify as one.
Innodil Ath Nathosh wrote...
which makes me wonder: It only detects one GPU but I have SLI with 2 GPU's :/
#17
Posté 18 juin 2010 - 05:53
Someone knows if i can override all events listed in engineevents.GDA?





Retour en haut






