Tutorial: String Variables 7

From GECK
Jump to: navigation, search

This is the seventh article in a tutorial series on string variables.


Concatenating String Variables, or adding them up

Easy : +

let sv_stringvar := "String1" + "String2"
printc "%z" sv_stringvar   

     --> reads: 'String1String2'

let sv_stringvar := Player.GetName + "'s chair"
rChairRef.SetName $sv_stringvar  

     --> reads 'Prudencia's chair' because that's my test char's name 

Note: names are usually defined on the base form, and setting them will set them on the base form too.

When adding strings up, you may run into some limitations of passing variables into strings with format specifiers in the context of an addition:

let sv_stringvar := "First Part:" + playerref.GetName + ":" + "%.0f" iSomeInt
let sv_stringvar := "First Part:" + "%n" rSomeForm

will make warnings pop up and not compile.

Luckily ToString($) is there, once again saving the day a lot of times:

let sv_stringvar := "First Part:" + playerref.GetName + ":" + $iSomeInt
let sv_stringvar := "First Part:" + $rSomeForm

will be fine.

And if you can't do it in one line and can't use ToString, sometimes you just gotta do it in two or involve sv_construct again:

let sv_stringvar := sv_construct " is scratching %pp balls" rSomeRef ; had to add the sv_construct there to make the %pp specifier work
let sv_stringvar := $rSomeRef + $sv_stringvar

And you can also get some traction out of the Sv_Insert function:

Sv_Insert "Some String" FormatSpecifierVars String_VarToInsertTheStringIn PositionToInsertAtInt

let sv_stringvar := " balls must itch something fierce"
sv_insert "%pp" rSomeForm sv_stringvar 0  

; or

sv_insert "%pp" rSomeform sv_stringvar
; we want to insert it at the very first character of the stringvar's string, which is position 0 (like with formlists and arrays) 
;if the position is 0 we can leave out that parameter, really


Tutorial part 8: Measuring and Searching

External Links