xNVSE / NVSE

New Vegas Script Extender (NVSE)
https://git.io/JfSAo
702 stars 55 forks source link

Priority System Debugging Functions #155

Closed Demorome closed 1 year ago

Demorome commented 1 year ago

-Added IsEventHandlerFirst / IsEventHandlerLast. Syntax: (bool) IsEventHandlerFirst/Last eventName:string udfHandler:script startPriority:int {scriptsToIgnore:form pluginsToIgnore:array pluginHandlersToIgnore:array}

(Arguments inside the { } brackets are optional)

For IsEventHandlerFirst: returns true if the event handler at startPriority will run first. Returns false otherwise, so this is a cheap way to check if there is a priority conflict between handlers. Afterwards, GetHigher/LowerPriorityEventHandlers can be used to get an array with all the conflicting handlers, to easily report culprits.

startPriority must be a priority value where the udfHandler script is currently registered at. It also cannot be 0; it must be a valid priority.

scriptsToIgnore can be a script or a formlist of scripts. pluginsToIgnore/pluginHandlersToIgnore should contain the name strings of what you want to filter out.

-Changed (unreleased) Set/RemoveNativeEventHandlerWithPriority plugin API functions - now forced to provide a PluginHandle, which will help scripters debug what their handlers are being beat by.

-Fixed internal function DispatchEventRaw not pushing the event name (for GetCurrentEventName).

AVeryUncreativeUsername commented 1 year ago

Demo. Deer dear daer Demo. I want you to put this stuff into ShowOff. Think about much cash we can make! One day we might be able to buy a mansion like JIP! That's "what"