RU/setAccountPassword: Difference between revisions
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 здесь] для большей информации.}} | ||
=== | ===Возвращаемые значения=== | ||
*'''[[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(" | 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(" | outputChatBox("Новый пароль должен содержать не менее 5-ти символов.", player) -- выводит сообщение в чат | ||
end | end | ||
else -- иначе | else -- иначе | ||
outputChatBox(" | 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
Эта функция устанавливает пароль указанного аккаунта.
Примечание: Не забудьте предоставить права администратора для ресурса, в котором вы используете функцию setAccountPassword, иначе она не сработает. |
Синтаксис
bool setAccountPassword(account theAccount, string password)
Синтаксис ООП Помогите! Я не понимаю, что это!
- Метод: account:setPassword(...)
- Переменная: .password
Обязательные аргументы
- theAccount: Аккаунт, пароль которого вы хотите установить.
- password: Пароль для указанного аккаунта.
Примечание: Пароль всегда будет зашифрован с помощью sha256, другие типы больше не поддерживаются. Смотри здесь для большей информации. |
Возвращаемые значения
- аккаунт не был найден;
- указаны недопустимые аргументы.
Ограничения
Применяются следующие ограничения:
- Минимальная длина пароля аккаунта - 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 - устанавливает пароль аккаунта