ExecuteSQLUpdate: Difference between revisions
Jump to navigation
Jump to search
m (SetRegistryValue moved to SetRegistryQuery) |
No edit summary |
||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
This function sets one or more rows in the registry. Since the registry is powered by a SQLite database, this function automatically executes an ''UPDATE'' query with the appropriate parameters. | |||
The registry is stored globally and can be read from and written to by all scripts in sessions. This is useful if you want to store data for your script. | |||
The actual SQL query that is executed will be the following: | |||
<syntaxhighlight lang="lua"> | |||
UPDATE <table> SET <set> WHERE <where> | |||
</syntaxhighlight> | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
string | bool setRegistryQuery ( string table, string set, [ string where ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Required Arguments=== | ===Required Arguments=== | ||
*''' | *'''table:''' The table you want to modify. | ||
*'''set:''' The query you want to execute on that table. | |||
===Optional Arguments=== | ===Optional Arguments=== | ||
*''' | *'''where:''' The conditions that need to be met before a specific row is changed. | ||
===Returns=== | ===Returns=== | ||
The function returns a ''boolean'' which is ''true'' on success, and ''false'' on failure. | |||
==Example== | ==Example== | ||
Line 23: | Line 30: | ||
addEventHandler ( "onPlayerJoin", getRootElement(), "maxPlayerCounter" ) | addEventHandler ( "onPlayerJoin", getRootElement(), "maxPlayerCounter" ) | ||
function maxPlayerCounter ( ) | function maxPlayerCounter ( ) | ||
getRegistryValue ( res, "myscript_stats", "mostplayers", "", 1 ) -- get the mostPlayers result from our global stats row | |||
getRegistryRow ( res, 0 ) -- get the actual mostPlayers value from the result-object | |||
playerCount = getPlayerCount() -- get the number of players now | playerCount = getPlayerCount() -- get the number of players now | ||
if ( mostPlayers == false or playerCount > mostPlayers ) -- see if there was a previous record and if there was, see if we've broken it | if ( mostPlayers == false or playerCount > mostPlayers ) -- see if there was a previous record and if there was, see if we've broken it | ||
outputChatBox ( "New player count record: " .. playerCount .. " players!" ) -- display a message in the chat box | outputChatBox ( "New player count record: " .. playerCount .. " players!" ) -- display a message in the chat box | ||
setRegistryValue ( " | setRegistryValue ( "myscript_stats", "mostplayers = " .. playerCount ) -- store our new record | ||
end | end | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 17:28, 22 September 2006
This function sets one or more rows in the registry. Since the registry is powered by a SQLite database, this function automatically executes an UPDATE query with the appropriate parameters.
The registry is stored globally and can be read from and written to by all scripts in sessions. This is useful if you want to store data for your script.
The actual SQL query that is executed will be the following:
UPDATE <table> SET <set> WHERE <where>
Syntax
bool setRegistryQuery ( string table, string set, [ string where ] )
Required Arguments
- table: The table you want to modify.
- set: The query you want to execute on that table.
Optional Arguments
- where: The conditions that need to be met before a specific row is changed.
Returns
The function returns a boolean which is true on success, and false on failure.
Example
This example keeps track of the largest number of players playing at once on the server and announces each time the record has been broken.
-- Trigger our function every time a player joins addEventHandler ( "onPlayerJoin", getRootElement(), "maxPlayerCounter" ) function maxPlayerCounter ( ) getRegistryValue ( res, "myscript_stats", "mostplayers", "", 1 ) -- get the mostPlayers result from our global stats row getRegistryRow ( res, 0 ) -- get the actual mostPlayers value from the result-object playerCount = getPlayerCount() -- get the number of players now if ( mostPlayers == false or playerCount > mostPlayers ) -- see if there was a previous record and if there was, see if we've broken it outputChatBox ( "New player count record: " .. playerCount .. " players!" ) -- display a message in the chat box setRegistryValue ( "myscript_stats", "mostplayers = " .. playerCount ) -- store our new record end end
See Also