AddAccount: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
m (Edited language change)
 
(82 intermediate revisions by 37 users not shown)
Line 4: Line 4:


==Syntax==  
==Syntax==  
<!-- NOTE: don't use 'special' names for variable names, e.g. you shouldn't be writing things like 'player player, vehicle vehicle', instead write something like 'player thePlayer, vehicle vehicleToGetInto'. This is less confusing and prevents the syntax highlighting being odd -->
<syntaxhighlight lang="lua">account addAccount ( string name, string pass [, bool allowCaseVariations = false ] )
<syntaxhighlight lang="lua">
</syntaxhighlight>
bool addAccount ( string name, string pass )
{{OOP|This function is a static function underneath the Account class.|[[Account]].add ||}}
</syntaxhighlight>  
 
===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===
<!-- Make this descriptive. Explain what cases will return false. If you're unsure, add a tag to it so we can check -->
Returns an [[account]] or ''false'' if the account already exists or an error occured.
Returns ''true'' if the account was created, ''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==  
<!-- Explain what the example is in a single sentance -->
'''Example 1:''' This enables players to register on your server by using /register <password> in the chat window.
In this example, it enables players to register on your server by using /register <password> in the chat window.
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized -->
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function registerPlayer ( source, commandName, password )
function registerPlayer ( source, commandName, password )
Line 27: Line 34:
if ( password ~= "" and password ~= nil ) then
if ( password ~= "" and password ~= nil ) then
--Attempt to add the account, and save its value in a var
--Attempt to add the account, and save its value in a var
local accountAdded = addAccount( getClientName(source), password )
local accountAdded = addAccount( getPlayerName(source), password )
if ( accountAdded ) then
if ( accountAdded ) then
--  Tell the user all is done
--  Tell the user all is done
outputChatBox ( "Thank you " .. getClientName(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 )
else
else
-- There was an error making the account, tell the user
-- There was an error making the account, tell the user
Line 41: Line 48:
end
end
addCommandHandler ( "register", registerPlayer ) -- add the command handler
addCommandHandler ( "register", registerPlayer ) -- add the command handler
</syntaxhighlight>
'''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.
<syntaxhighlight lang="lua">
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
</syntaxhighlight>
'''Example 3:''' This code differs again so the user can only register once /register <username> <password>.
<syntaxhighlight lang="lua">
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
</syntaxhighlight>
</syntaxhighlight>


Line 46: Line 95:
<!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc -->
<!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc -->
{{Account_functions}}
{{Account_functions}}
[[ru:addAccount]]
[[es:addAcount]]
[[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