RU/setAccountPassword

From Multi Theft Auto: Wiki
Jump to navigation Jump to search

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

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