sm.game
Used to check the state of the game.
Server + Client
bindChatCommand
sm.game.bindChatCommand( command, params, callback, help )
Binds a chat command to a callback function. The callback function receives an array of parameters. The first parameter is the command itself.
Example:
sm.game.bindChatCommand( "/enable_client_toilet",
{ { "bool", "enabled", false } },
"onChatCommand",
"Enables or disables client toilet." )
function MyGameScript.onChatCommand( self, params )
if params[1] == "/enable_client_toilet" then
self.settings.enable_client_toilet = params[2]
end
end
Parameters:
| Name | Type | Description |
|---|---|---|
command |
string | The command. |
params |
table | An array of parameters the callback function expects in the form of { { type, name (, optional, autocomplete ) }, ... }. The first is the type name of the parameter as a string. Valid types are "bool", "int", "number" and "string". The second is the name in the help text. Defaults to automatic naming ("p1", "p2", "p3", ...). The third is a bool value where true means that this parameter is optional (Optional, defaults to false). The fourth is a list of values that can be auto-completed to by pressing tab (Optional). |
callback |
string | The name of the Lua function to bind. |
help |
string | Help text. |
exitToMenu
sm.game.exitToMenu( )
Only for testing!
exitToMenuWithEndCredits
sm.game.exitToMenuWithEndCredits( )
Exits to the main menu and requests the end-game credits sequence to play once there.
getCurrentTick
sm.game.getCurrentTick( )
Return the current game tick.
Returns:
| Type | Description |
|---|---|
| integer | The tick. |
getDifficulty
sm.game.getDifficulty( )
Return the index of the current difficulty setting.
Returns:
| Name | Type | Description |
|---|---|---|
index |
integer | The difficulty index. |
getEnableAggro
sm.game.getEnableAggro( )
Returns true if aggro is enabled and false if aggro is disabled.
Returns:
| Type | Description |
|---|---|
| boolean | The enable state. |
getEnableAmmoConsumption
sm.game.getEnableAmmoConsumption( )
Returns true if ammo consumption is enabled and false if ammo consumption is disabled.
Returns:
| Type | Description |
|---|---|
| boolean | The enable state. |
getEnableFuelConsumption
sm.game.getEnableFuelConsumption( )
Returns true if fuel consumption is enabled and false if fuel consumption is disabled.
Returns:
| Type | Description |
|---|---|
| boolean | The enable state. |
getEnableRestrictions
sm.game.getEnableRestrictions( )
Returns true if restrictions are enabled and false if restrictions are disabled.
Returns:
| Type | Description |
|---|---|
| boolean | The enable state. |
getEnableUpgrade
sm.game.getEnableUpgrade( )
Returns true if upgrading is enabled and false if upgrading is disabled.
Returns:
| Type | Description |
|---|---|
| boolean | The enable state. |
getLimitedInventory
sm.game.getLimitedInventory( )
Return limited inventory state. If true the items are limited, if false the items are unlimited.
Returns:
| Type | Description |
|---|---|
| boolean | Is limited. |
getRecipesEnabled
sm.game.getRecipesEnabled( )
Returns true if recipes is enabled and false if recipes are is disabled.
Returns:
| Type | Description |
|---|---|
| boolean | The enable state. |
getServerTick
sm.game.getServerTick( )
Return estimated game tick on the server.
Returns:
| Type | Description |
|---|---|
| integer | The tick. |
getSettingBoolean
sm.game.getSettingBoolean( name )
Get the boolean value of a named setting.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | The name of the setting |
Returns:
| Name | Type | Description |
|---|---|---|
value |
boolean | The value of the setting. |
getSettingString
sm.game.getSettingString( name )
Get the string value of a named setting.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | The name of the setting |
Returns:
| Name | Type | Description |
|---|---|---|
value |
string | The value of the setting. |
getSettingValue
sm.game.getSettingValue( name )
Get the number value of a named setting.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | The name of the setting |
Returns:
| Name | Type | Description |
|---|---|---|
value |
number | The value of the setting. |
getTimeOfDay
sm.game.getTimeOfDay( )
Return the fraction value of how far the current day has progressed.
Returns:
| Type | Description |
|---|---|
| number | The fraction of the day cycle. |
Server-only
banPlayer
sm.game.banPlayer( player )
Ban a player from the server.
Parameters:
| Name | Type | Description |
|---|---|---|
player |
Player | The player to be banned. |
kickPlayer
sm.game.kickPlayer( player )
Kick a player from the server.
Parameters:
| Name | Type | Description |
|---|---|---|
player |
Player | The player to be kicked. |
pauseSaving
sm.game.pauseSaving( waitName, ticks )
Pauses saving for the specified number of ticks. Server only.
If already paused, extends to the longer of current remaining and the requested ticks.
Parameters:
| Name | Type | Description |
|---|---|---|
waitName |
string | The name identifying this pause request. |
ticks |
integer | The number of ticks to pause saving for. |
resumeSaving
sm.game.resumeSaving( waitName )
Resumes saving by removing a named pause request. Server only.
Parameters:
| Name | Type | Description |
|---|---|---|
waitName |
string | The name identifying the pause request to remove. |
setEnableAggro
sm.game.setEnableAggro( enableAggro )
Enables and disables aggro. If true, player's will be detected as targets.
Parameters:
| Name | Type | Description |
|---|---|---|
enableAggro |
boolean | The enable state. |
setEnableAmmoConsumption
sm.game.setEnableAmmoConsumption( enableAmmoConsumption )
Enables and disables ammo consumption. If true, ammo will be required to shoot spudguns.
Parameters:
| Name | Type | Description |
|---|---|---|
enableAmmoConsumption |
boolean | The enable state. |
setEnableFuelConsumption
sm.game.setEnableFuelConsumption( enableFuelConsumption )
Enables and disables fuel consumption. If true, fuel will be consumed from engines.
Parameters:
| Name | Type | Description |
|---|---|---|
enableFuelConsumption |
boolean | The enable state. |
setEnableRecipes
sm.game.setEnableRecipes( enableRecipes )
Enables and disables recipes. If true, player's will need to unlock recipes before they become available for crafting.
Parameters:
| Name | Type | Description |
|---|---|---|
enableRecipes |
boolean | The enable state. |
setEnableRestrictions
sm.game.setEnableRestrictions( enableRestrictions )
Enables and disables the use of restrictions. If true restrictions will be applied, if false the restrictions will default to unrestricted.
Parameters:
| Name | Type | Description |
|---|---|---|
enableRestrictions |
boolean | Restrictions enable state. |
setEnableUpgrade
sm.game.setEnableUpgrade( enableUpgrade )
Enables and disables upgrade. If true, the Interactable can be upgraded with component kits.
Parameters:
| Name | Type | Description |
|---|---|---|
enableUpgrade |
boolean | The enable state. |
setLimitedInventory
sm.game.setLimitedInventory( isLimited )
Sets limited inventory. If true the items are limited, if false the items are unlimited.
Parameters:
| Name | Type | Description |
|---|---|---|
isLimited |
boolean | Is limited. |
Client-only
loadWatchedTutorials
sm.game.loadWatchedTutorials( )
Loads the users watched tutorials and returns it as a table.
Returns:
| Type | Description |
|---|---|
| table | Users watched tutorials table. |
saveWatchedTutorials
sm.game.saveWatchedTutorials( watchedTutorials )
Saves the user's watched tutorials.
Parameters:
| Name | Type | Description |
|---|---|---|
watchedTutorials |
table | The table of watched tutorials. |
setTimeOfDay
sm.game.setTimeOfDay( time )
Sets the fraction value of how far the current day has progressed.
Parameters:
| Name | Type | Description |
|---|---|---|
time |
number | The fraction of the day cycle. |