RU/addAccount: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(32 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Server function}}
__NOTOC__
__NOTOC__
Данная фукнция добавляет аккаунт на сервер.
{{RU/Server function}}


==Использование==
Эта функция добавляет [[RU/Account|аккаунт]] в список зарегистрированных аккаунтов, находящихся в ''[[RU/Database|internal.db]]''.
<!-- 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 -->
 
{{New feature/item|3|1.0|848|
==Синтаксис==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
account addAccount ( string name, string pass )
account addAccount( string name, string pass [, bool allowCaseVariations = false] )
</syntaxhighlight>
</syntaxhighlight>
}}
{{RU/OOP|Эта функция является статической функцией класса [[RU/Account|account]].|[[RU/Account|account]].add||}}
{{Deprecated_feature|3|1.0|
===Обязательные аргументы===
<syntaxhighlight lang="lua">
*'''name:''' Имя аккаунта, который Вы хотите добавить. Обычно это имя игрока.
bool addAccount ( string name, string pass )
*'''pass:''' Пароль от аккаунта.
</syntaxhighlight>
 
}}
===Необязательные аргументы===
{{RU/OptionalArg}}
*'''allowCaseVariations:''' Чувствительность к регистру. Если установлено значение ''true'', то имена аккаунтов ''Bob'' и ''bob'' будут относиться к разным аккаунтам, а ''false'' - к одинаковым. По умолчанию установлено значение ''false''.


===Необходимые параметры===  
===Возвращаемые значения===
<!-- 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:''' Имя аккаунта.
*'''[[RU/Boolean|false]]''', если:
*'''pass:''' Пароль от аккаунта.
# [[аккаунт]] уже существует;
# произошла ошибка при создании аккаунта.


===Что возвращает===
===Ограничения===
<!-- Make this descriptive. Explain what cases will return false. If you're unsure, add a tag to it so we can check -->
*'''name:'''
{{New feature|3|1.0 r848|
** Минимальная длина имени аккаунта - 1 символ.
Возвращает елемент ''account'' если он создался, ''false'' если произошла ошибка при создании.
** Имя аккаунта не может быть равно "*****".
}}
*'''pass:'''
{{Deprecated_feature|3|1.0|
** Минимальная длина пароля аккаунта - 1 символ.
Returns ''true'' if the account was created, ''false'' if the account already exists or an error occured.
** Максимальная длина пароля аккаунта - 30 символов.
}}
** Пароль от аккаунта не может быть равен "*****".


==Пример==  
==Пример использования==
<section name="Сервер" class="server" show="true">
<section name="Сервер" class="server" show="true">  
'''Пример 1:''' Этот пример показывает регистрацию на сервере командой /register <password>.
'''Пример 1:''' Этот пример создаёт новый аккаунт с текущим именем аккаунта с помощью команды /reg (пароль).
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function registerPlayer ( source, commandName, password )
function registerPlayer( thePlayer, command, password )
-- Проверим не пустой ли пароль
if (password ~= "" and password ~= nil) then
if ( password ~= "" and password ~= nil ) then
local accountAdded = addAccount( getPlayerName( thePlayer ), password )
-- Попытаемся добавить учетную запись
if (accountAdded) then -- если аккаунт удалось создать, то
local accountAdded = addAccount( getPlayerName(source), password )
outputChatBox( "Аккаунт с именем "..getPlayerName( thePlayer ).." успешно создан", thePlayer )
if ( accountAdded ) then
else -- иначе
-- Сообщим пользователю
outputChatBox( "К сожалению, произошла ошибка при создании аккаунта. Скорее всего, данный аккаунт уже существует", thePlayer )
outputChatBox ( "Спасибо, " .. getPlayerName(source) .. ", теперь вы зарегистрированы, вы можете войти используя /login", source )
else
-- Сообщим пользователю то, что он ошибся при вводе
outputChatBox ( "Ошибка в создании аккаунта, свяжитесь с администратором.", source )
end
end
else
else
-- Покажем пользователю как нужно вводить
outputChatBox( "Синтаксис: /reg (пароль)", thePlayer )
outputChatBox ( "Ошибка в создании аккаунта, правильный синтаксис: /register <пароль>", source )
end
end
end
end
addCommandHandler ( "register", registerPlayer ) -- создадим команду /register
addCommandHandler( "reg", registerPlayer ) -- прикрепляет функцию 'registerPlayer' к обработчику команды "reg"
</syntaxhighlight>
</syntaxhighlight>
'''Пример 2:''' Этот пример показывает регистрацию на сервере командой /register <password>.
'''Пример 2:''' Этот пример создаёт новый аккаунт с введённым Вами именем с помощью команды /reg (имя) (пароль).
'''Этот пример отличается от первого тем, что в нем пользователь может задать себе имя.'''
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function registerPlayer ( source, commandName, username, password )
function registerPlayer( thePlayer, command, username, password )
        if(password ~= "" and password ~= nil and username ~= "" and username ~= nil) then
if (password ~= "" and password ~= nil and username ~= "" and username ~= nil) then
                local accountAdded = addAccount(username,password)
local accountAdded = addAccount( username, password )
                if(accountAdded) then
if (accountAdded) then -- если аккаунт удалось создать, то
                        outputChatBox("Спасибо, " .. getPlayerName(source) .. ", теперь вы зарегистрированы, вы можете войти используя /login",source)
outputChatBox( "Аккаунт с именем "..username.." успешно создан", thePlayer )
                else
else -- иначе
                        outputChatBox("Ошибка в создании аккаунта, свяжитесь с администратором.",source)
outputChatBox( "К сожалению, произошла ошибка при создании аккаунта. Скорее всего, аккаунт с введённым Вами именем уже существует", thePlayer )
                end
end
        else
else
                outputChatBox("Ошибка в создании аккаунта, правильный синтаксис: /register <nick> <pass>",source)
outputChatBox( "Синтаксис: /reg (имя) (пароль)", thePlayer )
        end
end
end
end
addCommandHandler ( "register", registerPlayer ) -- создадим команду /register
addCommandHandler( "reg", registerPlayer ) -- прикрепляет функцию 'registerPlayer' к обработчику команды "reg"
</syntaxhighlight>
</syntaxhighlight>
 
'''Пример 3:''' Этот пример позволяет пользователю зарегистрироваться только один раз с помощью команды /reg (имя) (пароль).
'''Пример 3:''' Этот пример показывает регистрацию на сервере командой /register <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("Спасибо, " .. getPlayerName(source) .. ", теперь вы зарегистрированы, вы можете войти используя /login",source)
outputChatBox( "Спасибо Вам, " .. getPlayerName(source) .. ", за регистрацию аккаунта. Вы можете войти с помощью команды /login", source )
                        bRegisteredOnce = true
bRegisteredOnce[source] = true
                else
else
                        outputChatBox("Ошибка в создании аккаунта, свяжитесь с администратором.",source)
outputChatBox( "Ошибка создания аккаунта. Пожалуйста, свяжитесь с администрацией.", source )
                end
end
        else
else
                if bRegisteredOnce == true then
if bRegisteredOnce[source] == true then
                    outputChatBox("Вы уже зарегистрированы на сервере!",source)
outputChatBox( "Вы уже зарегистрированы на сервере!", source )
                else
else
                    outputChatBox("Ошибка в создании аккаунта, правильный синтаксис: /register <nick> <pass>",source)
outputChatBox( "Команда введена некорректно. Синтаксис: /reg (имя) (пароль)", source)
                end
end
        end
end
end
end
addCommandHandler ( "register", registerPlayer ) -- создадим команду /register
addCommandHandler( "reg", registerPlayer ) -- прикрепляет функцию 'registerPlayer' к обработчику команды "reg"
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>


==Смотри также==
==Смотрите также==
<!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc -->
{{RU/Account_functions}}
{{Account_functions}}
 
[[en:addAccount]]
[[es:addAcount]]
[[pl:addAccount]]
[[ZH-CN:addAccount]]
[[tr:addAccount]]

Latest revision as of 14:59, 8 June 2022

Эта функция добавляет аккаунт в список зарегистрированных аккаунтов, находящихся в internal.db.

Синтаксис

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

Синтаксис ООП Помогите! Я не понимаю, что это!

Примечание: Эта функция является статической функцией класса account.
Метод: account.add(...)

Обязательные аргументы

  • name: Имя аккаунта, который Вы хотите добавить. Обычно это имя игрока.
  • pass: Пароль от аккаунта.

Необязательные аргументы

Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.

  • allowCaseVariations: Чувствительность к регистру. Если установлено значение true, то имена аккаунтов Bob и bob будут относиться к разным аккаунтам, а false - к одинаковым. По умолчанию установлено значение false.

Возвращаемые значения

  1. аккаунт уже существует;
  2. произошла ошибка при создании аккаунта.

Ограничения

  • name:
    • Минимальная длина имени аккаунта - 1 символ.
    • Имя аккаунта не может быть равно "*****".
  • pass:
    • Минимальная длина пароля аккаунта - 1 символ.
    • Максимальная длина пароля аккаунта - 30 символов.
    • Пароль от аккаунта не может быть равен "*****".

Пример использования

Click to collapse [-]
Сервер

Пример 1: Этот пример создаёт новый аккаунт с текущим именем аккаунта с помощью команды /reg (пароль).

function registerPlayer( thePlayer, command, password )
	if (password ~= "" and password ~= nil) then
		local accountAdded = addAccount( getPlayerName( thePlayer ), password )
		if (accountAdded) then -- если аккаунт удалось создать, то
			outputChatBox( "Аккаунт с именем "..getPlayerName( thePlayer ).." успешно создан", thePlayer )
		else -- иначе
			outputChatBox( "К сожалению, произошла ошибка при создании аккаунта. Скорее всего, данный аккаунт уже существует", thePlayer )
		end
	else
		outputChatBox( "Синтаксис: /reg (пароль)", thePlayer )
	end
end
addCommandHandler( "reg", registerPlayer ) -- прикрепляет функцию 'registerPlayer' к обработчику команды "reg"

Пример 2: Этот пример создаёт новый аккаунт с введённым Вами именем с помощью команды /reg (имя) (пароль).

function registerPlayer( thePlayer, command, username, password )
	if (password ~= "" and password ~= nil and username ~= "" and username ~= nil) then
		local accountAdded = addAccount( username, password )
		if (accountAdded) then -- если аккаунт удалось создать, то
			outputChatBox( "Аккаунт с именем "..username.." успешно создан", thePlayer )
		else -- иначе
			outputChatBox( "К сожалению, произошла ошибка при создании аккаунта. Скорее всего, аккаунт с введённым Вами именем уже существует", thePlayer )
		end
	else
		outputChatBox( "Синтаксис: /reg (имя) (пароль)", thePlayer )
	end
end
addCommandHandler( "reg", registerPlayer ) -- прикрепляет функцию 'registerPlayer' к обработчику команды "reg"

Пример 3: Этот пример позволяет пользователю зарегистрироваться только один раз с помощью команды /reg (имя) (пароль).

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( "Спасибо Вам, " .. getPlayerName(source) .. ", за регистрацию аккаунта. Вы можете войти с помощью команды /login", source )
			bRegisteredOnce[source] = true
		else
			outputChatBox( "Ошибка создания аккаунта. Пожалуйста, свяжитесь с администрацией.", source )
		end
	else
		if bRegisteredOnce[source] == true then
			outputChatBox( "Вы уже зарегистрированы на сервере!", source )
		else
			outputChatBox( "Команда введена некорректно. Синтаксис: /reg (имя) (пароль)", source)
		end
	end
end
addCommandHandler( "reg", registerPlayer ) -- прикрепляет функцию 'registerPlayer' к обработчику команды "reg"

Смотрите также

Серверные функции

  • addAccount - регистрирует аккаунт
  • copyAccountData - копирует данные аккаунта в другой
  • getAccount - получает аккаунт указанного пользователя
  • getAccountByID - получает аккаунт с указанным ID
  • getAccountData - получает указанные данные аккаунта
  • getAccountID - получает ID указанного аккаунта
  • getAccountIP - получает IP указанного аккаунта
  • getAccountName - получает имя аккаунта
  • getAccountPlayer - получает активного пользователя аккаунта
  • getAccountSerial - получает серийный номер аккаунта
  • getAccounts - получает все зарегистрированные аккаунты
  • getAccountsByData - получает аккаунты с указанными сохранёнными данными
  • getAccountsByIP - получает аккаунт с указанным IP
  • getAccountsBySerial - получает все аккаунты с указанным серийным номером
  • getAllAccountData - получает все данные аккаунта
  • getPlayerAccount - получает аккаунт указанного игрока
  • isGuestAccount - проверяет, является ли аккаунт гостевым
  • logIn - авторизует игрока под указанный аккаунт
  • logOut - выходит из аккаунта указанного игрока
  • removeAccount - удаляет аккаунт
  • setAccountData - сохраняет данные в аккаунте
  • setAccountName - устанавливает имя аккаунту
  • setAccountPassword - устанавливает пароль аккаунта