Difference between revisions of "User:Niaht/Notes"

753 bytes added ,  04:41, 27 December 2007
m
no edit summary
imported>Niaht
m
imported>Niaht
m
Line 9: Line 9:


===[[:Category:Variables|Variables]]===
===[[:Category:Variables|Variables]]===
Variables can be declared outside and inside the scope of a Block (or event handler) (Begin [BlockName]). They can only be assigned a value (Set) inside a block.
====[[Declaring_variables|Declaring Variables]]====
===== Script Global Variables =====
Variables can be set outside any block causing them to be Script Global. This means that once set to a value, they will remain set unless otherwise changed, until Oblivion is shut down.


What happens to them after that? If the block is run again, the variables will be re-set (not reset)?. If you wrap your Set in a conditional, do the variables retain their values after being set once? What happens when the game is restarted?
What about when you save your game? What happens then?
 
===== Temporary Variables =====
Declaring a variable inside a block could be called 'declaring a temporary variable', since the variable will only exist during the scope of the current invocation. This is similar to how variable scope works in traditional programming languages.
 
==== Variable Initialization ====
Variables are initialized using the [[Set]] function.
 
If don't want your variable to be reinitialized on each script invocation, wrap your assignment statements in a conditional.
short init
short myShort
Begin ''BlockName''
If ( init == 0 )
  Set myShort to 1
  Set init to 1
EndIf
 
====Variable Types====
=====[[Reference_Variables|Reference Variables]]=====
Reference variable can not be set to just any function that returns a value.
ref refValue
Set refValue to GetButtonPress
This will not work.


== Quest ==
== Quest ==
Anonymous user