Difference between revisions of "StrExpr"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Tibixe
imported>Tibixe
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
Three type of blocks can appear in expressions:
Three type of blocks can appear in expressions:


'''String variable block:'''
===String variable block===
Syntax: ''${stringID_variable}''
Syntax: ''${stringID_variable}''
Replaced with the string associated with ''stringID''
Replaced with the string associated with ''stringID''


'''Variable value block:'''
===Variable value block===
Syntax: ''?{number_variable}''
Syntax: ''?{number_variable}''
Replaced with the value of the variable ( in decimal form ).
Replaced with the value of the variable ( in decimal form ).


'''Variable sequence block:'''
===Variable sequence block===
Syntax: ''@{first_variable}''
Syntax: ''@{first_variable}''
Replaced with the string produced by interpreting the variables as characters, starting from ''first_variable'', until a zero value is found. See [[StrLoad]] and [[StrSave]]
Replaced with the string produced by interpreting the variables as characters, starting from ''first_variable'', until a zero value is found. See [[StrLoad]] and [[StrSave]]



Latest revision as of 12:04, 26 January 2008

Function:

 StrExpr stringToSet:stringID expression:string

Example

 StrExpr myString "${npcname} has ?{count} ${objectname}s"

Interprets an expression an writes the result to the string associated with the stringID given.

Expression syntax[edit | edit source]

A block is a part of an expression in the form of (sigil character)(opening brace)(variable name)(closing brace), such as ?{count}.

Three type of blocks can appear in expressions:

String variable block[edit | edit source]

Syntax: ${stringID_variable}

Replaced with the string associated with stringID

Variable value block[edit | edit source]

Syntax: ?{number_variable}

Replaced with the value of the variable ( in decimal form ).

Variable sequence block[edit | edit source]

Syntax: @{first_variable}

Replaced with the string produced by interpreting the variables as characters, starting from first_variable, until a zero value is found. See StrLoad and StrSave

Usage example[edit | edit source]

short playername
short itemname

begin ScriptEffectStart

set itemname to StrGetName
set playername to player.StrGetName
StrExpr itemname "${playername}'s ${itemname}"
StrSetName itemname

StrDel playername
StrDel itemnamename

end