ExecuteSQLSelect: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
This function retrieves one | This function retrieves one or more rows from the registry. Since the registry is powered by a SQLite database, this function automatically executes a ''SELECT'' query and returns the result as an object that can only be read by the [[GetRegistryRow]] function. | ||
The registry is stored globally and can be read and written to by all scripts in sessions. This is useful if you want to store data for your script. | 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"> | |||
SELECT <fields> FROM <tables> WHERE <conditions> LIMIT <limit> | |||
</syntaxhighlight> | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
int getRegistryValue ( object r, string tables, string fields, string conditions, int limit ) | int getRegistryValue ( object r, string tables, string fields, [ string conditions ], [ int limit ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 32: | Line 37: | ||
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 ( "myscript_stats", "mostplayers = " .. playerCount | setRegistryValue ( "myscript_stats", "mostplayers = " .. playerCount ) -- store our new record | ||
end | end | ||
end | end |
Revision as of 17:28, 22 September 2006
This function retrieves one or more rows from the registry. Since the registry is powered by a SQLite database, this function automatically executes a SELECT query and returns the result as an object that can only be read by the GetRegistryRow function.
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:
SELECT <fields> FROM <tables> WHERE <conditions> LIMIT <limit>
Syntax
int getRegistryValue ( object r, string tables, string fields, [ string conditions ], [ int limit ] )
Required Arguments
- r: The result-object where the results are stored in.
- tables: The tables you want to query. No spaces allowed. Multiple tables should be separated by a comma (,).
- fields: The fields you want to query. No spaced allowed. Wildcard (*) allowed to query all fields in the table. Multiple fields should be separated by a comma (,).
Optional Arguments
- conditions: The conditions for the query. Multiple conditions should be separated by logical operators (AND, OR).
- limit: Maximum amount of rows to return.
Returns
Returns the amount of retrieved rows.
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