Difference between revisions of "String Variable"

472 bytes added ,  13:30, 7 May 2017
no edit summary
imported>Odessa
(mistake, missed $)
imported>Pintocat
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Template:Community_Wiki}}
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 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]] and 'if [[Eval|eval]]' instead of simply 'if'. To appreciate the full range of possibilites available, a [[Tutorial: String Variables|tutorial]] is available.
String variables are very simple to use, provided you also use [[Let]] instead of <b>set .. to ..</b> and '[[Eval|if eval]]' instead of simply <b>if</b>. To appreciate the full range of possibilites available, a [[Tutorial: String Variables|tutorial]] is available.


==Simple Example==
==Simple Example==
Line 9: Line 13:
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>


if eval my_string == "this is another string"
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:
  ; do something. Obviously this is false in this case.
<pre>
endif
Print my_string ; * new NVSE function
 
MessageEx $my_string ; * An old NVSE function
</pre>
</pre>


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 23: Line 33:


let MyInt := 5
let MyInt := 5
let my_string := "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]]
*[[String Formatting]]
*[[Let]]
*[[Let]]
*[[Eval]]
*[[Eval]]
*[[ToString]]
*[[ToString]]
*[[Sv_Construct]]
*[[Print]]
[[Category:String Variables]]
[[Category:String Variables]]
[[Category:NVSE]]
[[Category:NVSE]]
Anonymous user