AddAccount: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (fix oop syntax)
m (Edited language change)
 
(27 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{{Server function}}
{{Server function}}
__NOTOC__
__NOTOC__
This function adds an [[account]] to the list of registered accounts of the current server.
This function adds an account to the list of registered accounts of the current server.


==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">account addAccount ( string name, string pass [, bool allowCaseVariations = false ] )
account addAccount ( string name, string pass )
</syntaxhighlight>
</syntaxhighlight>
{{OOP|This function is a static function underneath the Account class.|[[Account]].add ||}}
{{OOP|This function is a static function underneath the Account class.|[[Account]].add ||}}
===Required Arguments===  
===Required Arguments===  
<!-- List each argument one per line. This should be the argument's name as in the argument list above, NOT the argument's data type -->
*'''name:''' The name of the account you wish to make, this normally is the player's name.
*'''name:''' The name of the account you wish to make, this normally is the player's name.
*'''pass:''' The password to set for this account for future logins.
*'''pass:''' The password to set for this account for future logins.
===Optional Arguments===
*'''allowCaseVariations:''' Whether the username is case sensitive (if this is set to true, usernames "Bob" and "bob" will refer to different accounts)


===Returns===
===Returns===
Line 19: Line 20:
*'''name:'''
*'''name:'''
** Minimal account name length is 1 character.
** Minimal account name length is 1 character.
** Account names are case-sensitive.
** Account names are case-sensitive if allowCaseVariations is ''true''.
** Account name can not be equal to "*****"
** Account name can not be equal to "*****"
*'''pass:'''
*'''pass:'''
** Minimal account password length is 1 character.
** Minimal account password length is 1 character.
** Maximum account password length is 30 characters.
** Maximum account password length '''was''' 30 characters until version 1.5.4-11138. Currently there is no upper limit.
** Account password can not be equal to "*****"
** Account password can not be equal to "*****"


Line 70: Line 71:
'''Example 3:''' This code differs again so the user can only register once /register <username> <password>.
'''Example 3:''' This code differs again so the user can only register once /register <username> <password>.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local bRegisteredOnce = false
bRegisteredOnce = {}


function registerPlayer ( source, commandName, username, password )
function registerPlayer ( source, commandName, username, password )
         if(password ~= "" and password ~= nil and username ~= "" and username ~= nil and bRegisteredOnce == false) then
         if(password ~= "" and password ~= nil and username ~= "" and username ~= nil and not bRegisteredOnce[source]) then
                 local accountAdded = addAccount(username,password)
                 local accountAdded = addAccount(username,password)
                 if(accountAdded) then
                 if(accountAdded) then
                         outputChatBox("Thank you " .. getPlayerName(source) .. ", you're now registed, you can login with /login",source)
                         outputChatBox("Thank you " .. getPlayerName(source) .. ", you're now registed, you can login with /login",source)
                         bRegisteredOnce = true
                         bRegisteredOnce[source] = true
                 else
                 else
                         outputChatBox("Error creating account, contact the server admin.",source)
                         outputChatBox("Error creating account, contact the server admin.",source)
                 end
                 end
         else
         else
                 if bRegisteredOnce == true then
                 if bRegisteredOnce[source] == true then
                     outputChatBox("You already registered on this server!",source)
                     outputChatBox("You already registered on this server!",source)
                 else
                 else
Line 89: Line 90:
         end
         end
end
end
addCommandHandler ( "register", registerPlayer ) -- add the command handler
</syntaxhighlight>
</syntaxhighlight>


Line 96: Line 96:
{{Account_functions}}
{{Account_functions}}


[[ar:addAcount]]
[[ru:addAccount]]
[[es:addAcount]]
[[es:addAcount]]
[[ru:addAccount]]
[[pl:addAccount]]
[[ZH-CN:addAccount]]
[[tr:addAccount]]

Latest revision as of 14:40, 8 June 2022

This function adds an account to the list of registered accounts of the current server.

Syntax

account addAccount ( string name, string pass [, bool allowCaseVariations = false ] )

OOP Syntax Help! I don't understand this!

Note: This function is a static function underneath the Account class.
Method: Account.add (...)


Required Arguments

  • name: The name of the account you wish to make, this normally is the player's name.
  • pass: The password to set for this account for future logins.

Optional Arguments

  • allowCaseVariations: Whether the username is case sensitive (if this is set to true, usernames "Bob" and "bob" will refer to different accounts)

Returns

Returns an account or false if the account already exists or an error occured.

Limits

  • name:
    • Minimal account name length is 1 character.
    • Account names are case-sensitive if allowCaseVariations is true.
    • Account name can not be equal to "*****"
  • pass:
    • Minimal account password length is 1 character.
    • Maximum account password length was 30 characters until version 1.5.4-11138. Currently there is no upper limit.
    • Account password can not be equal to "*****"

Example

Example 1: This enables players to register on your server by using /register <password> in the chat window.

function registerPlayer ( source, commandName, password )
	-- Check if the password field is blank or not (only blank if they didnt enter one)
	if ( password ~= "" and password ~= nil ) then
		--Attempt to add the account, and save its value in a var
		local accountAdded = addAccount( getPlayerName(source), password )
		if ( accountAdded ) then
			--  Tell the user all is done
			outputChatBox ( "Thank you " .. getPlayerName(source) .. ", you're now registed, you can login with /login", source )
		else
			-- There was an error making the account, tell the user
			outputChatBox ( "Error creating account, contact the server admin", source )
		end
	else
		-- There was an error in the syntax, tell the user the correct syntax.
		outputChatBox ( "Error creating account, correct syntax: /register <password>", source )
	end
end
addCommandHandler ( "register", registerPlayer ) -- add the command handler

This code differs by allowing the user to change their username that they wish to use.

Example 2: This enables players to register on your server by using /register <username> <password> in the chat window.

function registerPlayer ( source, commandName, username, password )
        if(password ~= "" and password ~= nil and username ~= "" and username ~= nil) then
                local accountAdded = addAccount(username,password)
                if(accountAdded) then
                        outputChatBox("Thank you " .. getPlayerName(source) .. ", you're now registed, you can login with /login",source)
                else
                        outputChatBox("Error creating account, contact the server admin.",source)
                end
        else
                outputChatBox("Error creating account, correct syntax: /register <nick> <pass>",source)
        end
end
addCommandHandler ( "register", registerPlayer ) -- add the command handler

Example 3: This code differs again so the user can only register once /register <username> <password>.

bRegisteredOnce = {}

function registerPlayer ( source, commandName, username, password )
        if(password ~= "" and password ~= nil and username ~= "" and username ~= nil and not bRegisteredOnce[source]) then
                local accountAdded = addAccount(username,password)
                if(accountAdded) then
                        outputChatBox("Thank you " .. getPlayerName(source) .. ", you're now registed, you can login with /login",source)
                        bRegisteredOnce[source] = true
                else
                        outputChatBox("Error creating account, contact the server admin.",source)
                end
        else
                if bRegisteredOnce[source] == true then
                    outputChatBox("You already registered on this server!",source)
                else
                    outputChatBox("Error creating account, correct syntax: /register <nick> <pass>",source)
                end
        end
end

See Also