Qsprintf: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Missing digit
One (talk | contribs)
No edit summary
Line 1: Line 1:
qsprintf <quote1> <quote2> <gamevar> <gamevar> ...
'''qsprintf''' <quote1> <quote2> <gamevar> <gamevar> ...


Copies the text of <quote2> to <quote1>, replacing all variable placeholders %ld with their gamevar values in relative order.
Copies the text of <quote2> to <quote1>, replacing all variable placeholders %ld with their gamevar values in relative order.
Line 5: Line 5:
You can use a single quote for both placeholders. Also, you can use a single quote to display many different texts at the same time, since using qsprintf in a quote doesn't alter the text displayed by a [[gametext]] command used before with that quote.
You can use a single quote for both placeholders. Also, you can use a single quote to display many different texts at the same time, since using qsprintf in a quote doesn't alter the text displayed by a [[gametext]] command used before with that quote.


An example:
<pre>
gamevar TEMP 0 1
definequote 254 PLACEHOLDER


onevent EVENT_DISPLAYREST
gamevar TEMP 0 1
getplayer[THISACTOR].actors_killed TEMP // Get the number of kills the player has
definequote 254 PLACEHOLDER
onevent EVENT_DISPLAYREST
getplayer[THISACTOR].actors_killed TEMP // Get the number of kills the player has
redefinequote 254 ALIENS KILLED: %ld    // Redefine a placeholder quote
'''qsprintf''' 254 254 TEMP                  // Place our variable into the %ld string
gametext STARTALPHANUM 10 10 254 0 0 0 ZERO ZERO xdim ydim // And print to the upper left!
endevent


redefinequote 254 ALIENS KILLED: %ld    // Redefine a placeholder quote
qsprintf 254 254 TEMP                  // Place our variable into the %ld string
gametext STARTALPHANUM 10 10 254 0 0 0 ZERO ZERO xdim ydim // And print to the upper left!
endevent
</pre>


[[Category:EDuke32 specific commands]]
[[Category:EDuke32 specific commands]]
[[Category:String manipulation]]
[[Category:String manipulation]]

Revision as of 13:18, 4 May 2009

qsprintf <quote1> <quote2> <gamevar> <gamevar> ...

Copies the text of <quote2> to <quote1>, replacing all variable placeholders %ld with their gamevar values in relative order.

You can use a single quote for both placeholders. Also, you can use a single quote to display many different texts at the same time, since using qsprintf in a quote doesn't alter the text displayed by a gametext command used before with that quote.


gamevar TEMP 0 1
definequote 254 PLACEHOLDER

onevent EVENT_DISPLAYREST
getplayer[THISACTOR].actors_killed TEMP // Get the number of kills the player has

redefinequote 254 ALIENS KILLED: %ld    // Redefine a placeholder quote
qsprintf 254 254 TEMP                   // Place our variable into the %ld string
gametext STARTALPHANUM 10 10 254 0 0 0 ZERO ZERO xdim ydim // And print to the upper left!
endevent