RU/setAccountPassword: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Форматирование)
(Форматирование)
 
Line 6: Line 6:
==Синтаксис==  
==Синтаксис==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool setAccountPassword ( account theAccount, string password )
bool setAccountPassword(account theAccount, string password)
</syntaxhighlight>  
</syntaxhighlight>  
{{RU/OOP||[[account]]:setPassword|password|}}
{{RU/OOP||[[RU/Account|account]]:setPassword|password|}}
 
===Обязательные аргументы===  
===Обязательные аргументы===  
*'''theAccount:''' учётная запись, пароль которой вы хотите установить
*'''theAccount:''' [[Аккаунт]], пароль которого вы хотите установить.
*'''password:''' пароль
*'''password:''' Пароль для указанного аккаунта.
{{Примечание| Пароль всегда будет зашифрован с помощью '''sha256''', другие типы больше не поддерживаются. Смотри [https://github.com/multitheftauto/mtasa-blue/wiki/CAccountPassword здесь] для большей информации.}}
{{Примечание| Пароль всегда будет зашифрован с помощью '''[[RU/sha256|sha256]]''', другие типы больше не поддерживаются. Смотри [https://github.com/multitheftauto/mtasa-blue/wiki/CAccountPassword здесь] для большей информации.}}


===Возвращает===
===Возвращаемые значения===
Возвращает ''true'', если пароль установлен успешно, иначе ''false''.
*'''[[RU/Boolean|true]]''', если пароль установлен успешно.
*'''[[RU/Boolean|false]]''', если пароль не удалось установить:
# [[аккаунт]] не был найден;
# указаны недопустимые аргументы.


===Ограничения===
===Ограничения===
Line 23: Line 27:
* Пароль аккаунта не может быть равным "*****".
* Пароль аккаунта не может быть равным "*****".


==Пример==  
==Пример использования==  
Этот пример позволяет пользователю изменить свой пароль с помощью команды.
<section name="Сервер" class="server" show="true">
'''Пример 1.''' Этот пример позволяет пользователю изменить свой пароль с помощью команды /changepass [старый пароль] [новый пароль].
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function ChangePlayerPassword(player, command, oldpass, newpass) -- вместе с названием команды игрок должен ввести два аргумента: старый и новый пароли
function ChangePlayerPassword(player, command, oldpass, newpass)
local account = getPlayerAccount(player) -- получает аккаунт игрока
local account = getPlayerAccount(player) -- получает аккаунт игрока
if (account) then -- если аккаунт получен, то
if (account) then -- если аккаунт получен, то
if (isGuestAccount(account)) then -- если аккаунт является гостевым, то
if (isGuestAccount(account)) then -- если полученный аккаунт является гостевым, то
outputChatBox("You must be logged into an account to change your password.", player) -- сообщает игроку, что он должен войти в учётную запись, для изменения пароля
outputChatBox("Вы должны войти в свой аккаунт, прежде чем изменить пароль.", player) -- выводит сообщение в чат
return -- выход из функции
return -- возвращает 'false' и выходит из функции
end
end
local password_check = getAccount(getAccountName(account), oldpass) -- проверка правильности старого пароля
local password_check = getAccount(getAccountName(account), oldpass) -- получает аккаунт с введённым паролем
if (password_check) then -- если старый пароль введён верно, то
if (password_check) then -- если удалось получить аккаунт с введённым действующим паролем, то
if (string.len(newpass)>=5) then -- если длина нового пароля больше или равна 5 символам, то
if (string.len(newpass)>=5) then -- если длина нового пароля больше или равна 5 символам, то
setAccountPassword(account,newpass) -- устанавливает новый пароль учётной записи игрока
setAccountPassword(account,newpass) -- устанавливает новый пароль учётной записи игрока
else -- иначе
else -- иначе
outputChatBox("Your new password must be at least 5 characters long.", player) -- сообщает игроку, что новый пароль должен содержать не менее 5 символов
outputChatBox("Новый пароль должен содержать не менее 5-ти символов.", player) -- выводит сообщение в чат
end
end
else -- иначе
else -- иначе
outputChatBox("Old password invalid.", player) -- сообщает игроку, что старый пароль введён неверно
outputChatBox("Действующий пароль введён неверно.", player) -- выводит сообщение в чат
end
end
end
end
Line 47: Line 52:
addCommandHandler("changepass", ChangePlayerPassword) -- прикрепляет функцию 'ChangePlayerPassword' к обработчику команды "changepass"
addCommandHandler("changepass", ChangePlayerPassword) -- прикрепляет функцию 'ChangePlayerPassword' к обработчику команды "changepass"
</syntaxhighlight>
</syntaxhighlight>
</section>


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

Latest revision as of 15:59, 12 April 2021

Эта функция устанавливает пароль указанного аккаунта.

[[{{{image}}}|link=|]] Примечание: Не забудьте предоставить права администратора для ресурса, в котором вы используете функцию setAccountPassword, иначе она не сработает.

Синтаксис

bool setAccountPassword(account theAccount, string password)

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

Метод: account:setPassword(...)
Переменная: .password

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

  • theAccount: Аккаунт, пароль которого вы хотите установить.
  • password: Пароль для указанного аккаунта.
[[{{{image}}}|link=|]] Примечание: Пароль всегда будет зашифрован с помощью sha256, другие типы больше не поддерживаются. Смотри здесь для большей информации.

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

  • true, если пароль установлен успешно.
  • false, если пароль не удалось установить:
  1. аккаунт не был найден;
  2. указаны недопустимые аргументы.

Ограничения

Применяются следующие ограничения:

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

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

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

Пример 1. Этот пример позволяет пользователю изменить свой пароль с помощью команды /changepass [старый пароль] [новый пароль].

function ChangePlayerPassword(player, command, oldpass, newpass)
	local account = getPlayerAccount(player) -- получает аккаунт игрока
	if (account) then -- если аккаунт получен, то
		if (isGuestAccount(account)) then -- если полученный аккаунт является гостевым, то
			outputChatBox("Вы должны войти в свой аккаунт, прежде чем изменить пароль.", player) -- выводит сообщение в чат
			return -- возвращает 'false' и выходит из функции
		end		
		local password_check = getAccount(getAccountName(account), oldpass) -- получает аккаунт с введённым паролем
		if (password_check) then -- если удалось получить аккаунт с введённым действующим паролем, то
			if (string.len(newpass)>=5) then -- если длина нового пароля больше или равна 5 символам, то
				setAccountPassword(account,newpass) -- устанавливает новый пароль учётной записи игрока
			else -- иначе
				outputChatBox("Новый пароль должен содержать не менее 5-ти символов.", player) -- выводит сообщение в чат
			end
		else -- иначе
			outputChatBox("Действующий пароль введён неверно.", player) -- выводит сообщение в чат
		end
	end
end
addCommandHandler("changepass", ChangePlayerPassword) -- прикрепляет функцию 'ChangePlayerPassword' к обработчику команды "changepass"

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

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

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