RU/addAccount: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Reverted edits by Bonzo (talk) to last revision by Strix)
No edit summary
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{RU/Server function}}
{{RU/Server function}}
__NOTOC__
__NOTOC__
Данная функция добавляет [[аккаунт]] на сервер.
Эта функция добавляет [[RU/Account|аккаунт]] в список зарегистрированных аккаунтов, находящихся в ''internal.db''.


==Синтаксис==  
==Синтаксис==  
<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|Данная функция является статической функцией класса Account.|[[Account]].add||}}
{{RU/OOP|Эта функция является статической функцией класса [[RU/Account|account]].|[[RU/Account|Account]].add||}}
===Обязательные аргументы===  
===Обязательные аргументы===  
*'''name:''' Имя аккаунта, который вы хотите добавить, обычно это имя игрока.
*'''name:''' Имя аккаунта, который Вы хотите добавить. Обычно это имя игрока.
*'''pass:''' Пароль от аккаунта.
*'''pass:''' Пароль от аккаунта.


===Возвращает===
===Необязательные аргументы===
Возвращает [[аккаунт]] или ''false'', если аккаунт уже существует.
*'''allowCaseVariations:''' Чувствительность к регистру. Если установлено значение ''true'', то имена аккаунтов ''Bob'' и ''bob'' будут относиться к разным аккаунтам, а ''false'' - к одинаковым. По умолчанию установлено значение ''false''.
 
===Возвращаемые значения===
Возвращает [[RU/Account|аккаунт]], или ''false'', если аккаунт уже существует или произошла ошибка.


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


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


==Смотрите также==
==Смотрите также==
{{RU/Account_functions}}
{{RU/Account_functions}}


[[ar:addAcount]]
[[en:addAccount]]
[[en:addAccount]]
[[es:addAccount]]
[[es:addAcount]]
[[pl:addAccount]]
[[pl:addAccount]]

Revision as of 10:15, 30 September 2017

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

Синтаксис

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

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

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

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

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

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

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

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

Возвращает аккаунт, или false, если аккаунт уже существует или произошла ошибка.

Ограничения

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

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

Click to expand [+]
Сервер

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

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

  • 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 - устанавливает пароль аккаунта