To be more clear about the syntax, you can name the variables for events whatever you like. For example, the example in the wiki for OnHit:
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
You could just as easily use:
Event OnHit(ObjectReference WhoHitMe, Form WhatHitMe, Projectile RangedAttackItem, bool IGotHitHard, bool DamnSneakyBastards, bool IFeelWoozy, bool LOLNoob)
Just make sure that the code that you write inside uses the new variable names. Basically, when it gets hit it knows to expect:
- ObjectReference for whoever did the attack
- Form for what the object reference used for the attack
- Projectile used in the attack, if any
- Bool determining whether or not it was a power attack
- Bool determining whether or not it was a sneak attack
- Bool determining whether or not it was a bash attack
- Bool determining whether or not it was a blocked attack
Then the script will automatically assign the data to the variables that you named.
Variable names do matter when you call a function though. For example, this works:
MoveTo(Game.GetPlayer(), afZOffset = 100.0)
and this doesn't:
MoveTo(Game.GetPlayer(), ZUnitsFromTarget = 100.0)