Event Handling

Jump to: navigation, search

Event handling is added by NVSE 4.6, and was ported from OBSE.

Events include block types found in object scripts, such as OnHit, OnDeath, and so on, as well as other events involving loading, saving, and exiting the game.

An event handler allows response to game events, without having to attach scripts directly to objects. Instead, the scripter uses SetEventHandler to register a User Defined Function as a handler for a specific event. When an event occurs during gameplay, NVSE will invoke any handlers that correspond to it, passing information about the event to their function through its arguments.

Each event expects its handlers to accept a specific set of arguments. The in built events, including any required arguments (listed in the order in which they should appear in the function definition) are listed in the table below. In addition, User Defined Events are possible.

Event First Second
OnActivate Activator/Activated ActionRef
OnActorEquip Equipper Equipped
OnActorUnequip Unequipped Unequipped
OnAdd AddedItem AddedTo
OnClose Closed Closer
OnCombatEnd Target Ender
OnDeath Killed Killer
OnDrop Dropper Dropped
OnHit Target Attacker
OnHitWith Target Weapon
OnLoad Loaded Loaded
OnMagicEffectHit Target BaseEffect
OnMurder Murdered Murderer
OnOpen Opened Opener
OnPackageStart Actor Package
OnPackageChange Actor Package
OnPackageDone Actor Package
OnReset WhatsReset WhatsReset (duplicate of first parameter)
OnSell SoldInvItem Seller (Player only?)
OnStartCombat Target Starter
OnTrigger Trigger ActionRef
OnTriggerEnter Trigger ActionRef
OnTriggerLeave Trigger ActionRef
SayToDone Speaker Info
- - -
Corresponding to Plugin API
LoadGame sSaveFileName iSaveFileNameLength
SaveGame sSaveFileName iSaveFileNameLength
PostLoadGame bSuccessfullyLoaded
RuntimeScriptError sErrorMessage iSomeInt
DeleteGame sSaveFileName iSaveFileNameLength
RenameGame sSaveFileOriginalFullName iSaveFileNameLength
RenameNewGame sSaveFileNewFullName iSaveFileNameLength
DeleteGameName sSaveFileRelativeName iSaveFileNameLength
RenameGameName sSaveFileRelativeOriginalName iSaveFileNameLength
RenameNewGameName sSaveFileRelativeNewName iSaveFileNameLength

Event Functions

External Links

Note on OnAdd

OnAdd seems to fire only in GameMode when picking up an object, but not in MenuMode when moving stuff in containers.

This article is a stub, you can help the community by expanding it.