Set: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
m (fixed revision)
 
(9 intermediate revisions by 4 users not shown)
Line 3: Line 3:
This function is used to save arbitrary data under a certain name on the [[settings system|settings registry]].
This function is used to save arbitrary data under a certain name on the [[settings system|settings registry]].


It's important to note that set ''always'' writes to the settings.xml file, even if [[get]] read the value from a resource's meta.xml. This means that the admin can specify settings in the settings.xml that override the resource's defaults, but that the defaults can still be retrieved if need be. As a general principle, resources should not be designed so that the admin is required to modify them, they should be 'black boxes'.
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 10: Line 11:
===Required Arguments===  
===Required Arguments===  
*'''settingName:''' The name of the setting you want to set. See [[settings system#Setting names|setting names]] for information on settings names.
*'''settingName:''' The name of the setting you want to set. See [[settings system#Setting names|setting names]] for information on settings names.
*'''value:''' The value to set the setting to. This can be any Lua data type, except for functions, most userdata (only [[resource]]s can be stored) and threads.
*'''value:''' The value to set the setting to. This can be any Lua data type, except for functions, most userdata (only [[resource]]s can't be stored) and threads.


===Returns===
===Returns===
Line 16: Line 17:


==Example==
==Example==
This example sets a setting called ''respawnTime'' with a value of 1000. This is a ''local'' setting belonging to the resource that the code is run in.
This example sets a specified setting with a Value. This is a ''local'' setting belonging to the resource that the code is run in.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
set ( "respawnTime", 1000 )
function setAclRights(playerElement, commandName, acl, value, type)
  if not acl or not value then
      return outputChatBox("Syntax: /setacl <acl> <value>")
  end
  if set ( acl, value ) then
      outputChatBox("Acl "..acl.." value set to "..value)
      print(getPlayerName(playerElement).." has changed "..acl.." to "..value)
  else
      outputChatBox("Error happened while changing the Acl "..acl.." value to "..value)
      print(getPlayerName(playerElement).." tried to change "..acl.." to "..value)
  end
end
addCommandHandler("setacl", setAclRights)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
{{Settings registry functions}}
{{Settings registry functions}}

Latest revision as of 18:42, 12 October 2020

This function is used to save arbitrary data under a certain name on the settings registry.

It's important to note that set always writes to the settings.xml file, even if get read the value from a resource's meta.xml. This means that the admin can specify settings in the settings.xml that override the resource's defaults, but that the defaults can still be retrieved if need be. As a general principle, resources should not be designed so that the admin is required to modify them, they should be 'black boxes'.

Syntax

bool set ( string settingName, var value )

Required Arguments

  • settingName: The name of the setting you want to set. See setting names for information on settings names.
  • value: The value to set the setting to. This can be any Lua data type, except for functions, most userdata (only resources can't be stored) and threads.

Returns

Returns true if the setting has been set, false if you do not have access to the setting or invalid arguments were passed.

Example

This example sets a specified setting with a Value. This is a local setting belonging to the resource that the code is run in.

function setAclRights(playerElement, commandName, acl, value, type)
   if not acl or not value then
      return outputChatBox("Syntax: /setacl <acl> <value>")
   end
   if set ( acl, value ) then
      outputChatBox("Acl "..acl.." value set to "..value)
      print(getPlayerName(playerElement).." has changed "..acl.." to "..value)
   else
      outputChatBox("Error happened while changing the Acl "..acl.." value to "..value)
      print(getPlayerName(playerElement).." tried to change "..acl.." to "..value)
   end
end
addCommandHandler("setacl", setAclRights)

See Also