Difference between revisions of "String Variable"

From the Fallout3 GECK Wiki
Jump to navigation Jump to search
imported>Odessa
(link to string formatting)
imported>Odessa
Line 9: Line 9:
let my_string := "this is my string"
let my_string := "this is my string"


MessageEx $my_string
let my_string += " and this is Sunny's name: " + $SunnyREF


; * note: the MessageEx function requires you to include '$' (short for 'ToString') before the variable name
if eval my_string == "this is my string and this is Sunny's name: Sunny Smiles"
  ; this will evaluate true
endif
</pre>
 
The [[ToString|ToString (shorthand: '$')]] function converts anything to a string. Vanilla and some old NVSE functions also require this to use a string_var instead of a string literal:
<pre>
Print my_string ; * new NVSE function


if eval my_string == "this is another string"
MessageEx $my_string ; * An old NVSE function
  ; do something. Obviously this is false in this case.
endif
</pre>
</pre>


To use [[String Formatting]], you need to use [[Sv_Construct]]:
If you want to use [[String Formatting]] rather than concatanation, you need to use [[Sv_Construct]]:
<pre>
<pre>
string_var my_string
string_var my_string
Line 26: Line 31:
let my_string := Sv_Construct "the value of MyInt is %g", MyInt
let my_string := Sv_Construct "the value of MyInt is %g", MyInt
</pre>
</pre>
==See Also==
==See Also==
*[[Tutorial: String Variables]]
*[[Tutorial: String Variables]]

Revision as of 08:50, 21 July 2014

String variables are added by NVSE 4. A string is simply some combination of text characters and exists widely in the vanilla game. A string variable allows you to store a string in a similar way to any other variable, and a wide range of functions allow powerful capabilities for them.

String variables are very simple to use, provided you also use Let instead of set .. to .. and 'if eval' instead of simply if. To appreciate the full range of possibilites available, a tutorial is available.

Simple Example

string_var my_string

let my_string := "this is my string"

let my_string += " and this is Sunny's name: " + $SunnyREF

if eval my_string == "this is my string and this is Sunny's name: Sunny Smiles"
   ; this will evaluate true
endif

The ToString (shorthand: '$') function converts anything to a string. Vanilla and some old NVSE functions also require this to use a string_var instead of a string literal:

Print my_string ; * new NVSE function

MessageEx $my_string ; * An old NVSE function

If you want to use String Formatting rather than concatanation, you need to use Sv_Construct:

string_var my_string
int MyInt

let MyInt := 5
let my_string := Sv_Construct "the value of MyInt is %g", MyInt

See Also