Begin
From GECK
All script commands, except for variable declarations, must be inside a begin-end block. Each time the script runs, each block will be evaluated to see if it is valid. If not, the script inside the block will not be run.
Example:
begin GameMode
| Blocktype | Parameters | Description |
|---|---|---|
| GameMode | This will be run every frame while the game is in non-menu mode. Most scripts will use this block type exclusively. | |
| MenuMode | MenuType (optional) | Run every frame while the game is in menu mode. |
| OnActivate | Run once when object is activated. | |
| OnActorEquip | ObjectID | Run once when the scripted actor equips the specified object. |
| OnActorUnequip | ObjectID | Run once when the scripted actor unequips the specified object. |
| OnAdd | ContainerRefID (optional) | Run once when object is added to Container's inventory. |
| OnCombatEnd | Run once when actor drops out of combat. | |
| OnDeath | ActorID (optional) | Run once when actor is killed by ActorID |
| OnDestructionStageChange | ||
| OnDrop | ContainerRefID (optional) | Run once when object is dropped from Container. |
| OnEquip | ActorID (optional) | Run once when object is equipped by ActorID. |
| OnHit | ActorID (optional) | Run once when actor is hit by ActorID |
| OnHitWith | ObjectID (optional) | Run once when actor is hit by weapon ObjectID |
| OnLoad | Run once when object's 3D is loaded | |
| OnMagicEffectHit | EffectID (optional) | Run once when the actor is hit by the specified magic effect |
| OnMurder | ActorID (optional) | Run once when actor is murdered by ActorID |
| OnPackageChange | PackageID | Run once when actor changes from specified package |
| OnPackageDone | PackageID | Run once when actor completes specified package |
| OnPackageStart | PackageID | Run once when actor starts specified package |
| OnGrab | Run once when the scripted object is grabbed by the player | |
| OnRelease | Run once when the scripted object is released from player grab | |
| OnReset | Run once when scripted object's cell is reset | |
| OnSell | SellerRefID (optional) | Run once when object is sold by specified seller |
| OnStartCombat | TargetActorID (optional) | Run once when actor enters combat with TargetActorID |
| OnTrigger | Run each frame something is triggering the object | |
| OnTriggerEnter | TriggeringRefID (optional) | Run once when reference enters the trigger object |
| OnTriggerLeave | TriggeringRefID (optional) | Run once when reference leaves the trigger object |
| OnUnequip | ContainerRefID (optional) | Run once when object is unequipped by ActorID. |
| OnOpen | Run once when the scripted container is opened. | |
| OnClose | Run once when the scripted container is closed. | |
| SayToDone | TopicID (optional) | Run once when actor finishes saying a line of dialogue. |
| ScriptEffectStart | Special block type used only by Magic Effect scripts | |
| ScriptEffectFinish | Special block type used only by Magic Effect scripts | |
| ScriptEffectUpdate | Special block type used only by Magic Effect scripts |
Note that for parameterized blocks, you can have several of the same block type using different parameters. For example, this script is valid:
begin OnAdd ; some script ; this will run every time this object is added to someone's inventory end begin OnAdd player ; some script ; this will run every time this object is added to the player's inventory. ; Note that the unparameterized OnAdd block will ALSO be run in this case. end begin OnAdd MysteriousChest ; some script ; this will run every time this object is added to the MysteriousChest's inventory. ; Note that the unparameterized OnAdd block will ALSO be run in this case. end

