Difference between revisions of "Cross Script Variables"

Jump to navigation Jump to search
2,016 bytes added ,  22:31, 22 December 2010
no edit summary
imported>Bruneauinfo
imported>Bruneauinfo
Line 50: Line 50:
====Notes====
====Notes====


*You should NOT assign starting values to your variables. If you need to do this, do it using some other method. Setting values within this script essentially locks the value in. There may be a workaround for doing this, but more testing will be required.
*You should NOT assign starting values to your variables. If you need to do this, do it using some other method. Setting values within this script essentially locks the value in. There may be a workaround for doing this, but more testing will be required.
 
*The variable names listed in the script can be named whatever you like - preferably something meaningful to their purpose.


The next part of this step is to create a quest. You can read up on the steps for creating a quest on the wiki. Just keep in mind that the only setting needed for creating this functionality is the "Script" setting under the ''Quest Data'' tab. Once you create and name your quest select your quest script from above under the ''script setting'' for the quest. (''For these examples the quest is named '''MyQuest'''''.)
The next part of this step is to create a quest. You can read up on the steps for creating a quest on the wiki. Just keep in mind that the only setting needed for creating this functionality is the "Script" setting under the ''Quest Data'' tab. Once you create and name your quest select your quest script from above under the ''script setting'' for the quest. (''For these examples the quest is named '''MyQuest'''''.)
Line 71: Line 73:
  begin onActivate
  begin onActivate
   
   
set "00RTKVarStorage".RemoteKey to "00ROTKWeiGuardKey"; CHANGE FOR EACH TERRITORY
  set "MyQuest".refVar to "ObjectReference" ; or some reference variable
 
  set "MyQuest".floatVar to 1234567890 ; or some float variable
 
  set "MyQuest".ShortVar to 2012 ; or some integer variable


end
</pre>
That's it! Now associate this script with some object that can be "activated". When the player or an actor activates the object the values listed above will be assigned to the script variables in the quest script.
It's very important to notice where quotes were used in the example script. These are '''required'''. If the quotes are not used the script will fail to work properly. Yes, the script will compile, but the values will not be written to the quest script. References as well as the reference for the quest require these quotation marks. However, in the case of a reference variable quotes are only required when setting the value of the reference variable.
set "MyQuest".refVar to ThisReferenceVar
=== Reading a Value ===
Now that you know how to write values to your quest script database you just need to know how to read them.
The script :
<pre>
Scriptname MyReadingScript
ref refVar ; reference value as stored
ref refVarRetrieved ; reference value as retrieved
float floatVar ; float value as stored
float floatVarRetrieved ; float value as retrieved
short ShortVar ; integer value as stored
short ShortVarRetrieved ; integer value as retrieved
begin OnActivate
set refVarRetrieved to "MyQuest".refVar
set floatVarRetrieved to "MyQuest".floatVar
set ShortVarRetrieved to "MyQuest".ShortVar
MessageBoxEx "See my reference: %n See my float: %g See my integer: %.0f", refVarRetrieved, floatVarRetrieved, ShortVarRetrieved
end
end


</pre>
</pre>
Again the quotes around the name of your quest are critical for this to work. Also, if you use this script exactly as written the message box will show the name of your reference rather than the reference. See [[MessageBoxEx]] for more. But the reference value is there and ready for use.




Anonymous user

Navigation menu