RU/getAccountData: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | |||
{{RU/Server function}} | {{RU/Server function}} | ||
{{RU/ | {{RU/Important Note|Настоятельно рекомендуется использовать формат ''module.key'' в названиях ключей, как показано в примере ниже. Это помогает избегать противоречий между разными скриптами.}} | ||
Эта функция получает строку, которая была сохранена при помощи [[RU/setAccountData|setAccountData]]. Данные аккаунта сохраняются в игре, если это не аккаунт ''guest'' (гость). | Эта функция получает [[RU/String|строку]], которая была сохранена при помощи [[RU/setAccountData|setAccountData]]. Данные аккаунта сохраняются в игре, если это не аккаунт ''guest'' (гость). | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
string getAccountData(account theAccount, string key) | string getAccountData( account theAccount, string key ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{RU/OOP||[[RU/Account|account]]:getData||[[RU/setAccountData|setAccountData]]}} | {{RU/OOP||[[RU/Account|account]]:getData||[[RU/setAccountData|setAccountData]]}} | ||
===Обязательные аргументы=== | ===Обязательные аргументы=== | ||
*'''theAccount:''' [[RU/Account|Аккаунт]], данные которого Вы хотите получить. | *'''theAccount:''' [[RU/Account|Аккаунт]], данные которого Вы хотите получить. | ||
Line 14: | Line 16: | ||
===Возвращаемые значения=== | ===Возвращаемые значения=== | ||
*'''[[RU/String|строка]]''', ''содержащая данные'', если данные были сохранены под указанным ключом. | |||
*'''[[RU/Boolean|false]]''', если данные не были сохранены под указанным ключом. | |||
==Пример использования== | ==Пример использования== | ||
<section name="Сервер" class="server" show=" | <section name="Сервер" class="server" show="true"> | ||
'''Пример 1 | '''Пример 1:''' Для пиратского ролевого игрового режима сумма денег, которую имеет игрок, постоянно сохраняется, сохраняя её в своем аккаунте. Обратите внимание, что код использует ''piraterpg.money'' как ключ, а не просто ''money'', так как игрок может участвовать в других игровых режимах, которые также сохраняют его денежную сумму на его счёт. Если оба типа игровых режимов будут использовать ''money'' в качестве ключа аккаунта, они перепишут данные друг друга. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function onPlayerQuit() | function onPlayerQuit( ) | ||
local playerAccount = getPlayerAccount( source ) -- получает аккаунт игрока | |||
if (playerAccount) then -- если аккаунт получен, то | |||
local playerMoney = getPlayerMoney( source ) -- получает сумму денег игрока | |||
setAccountData( playerAccount, "piraterpg.money", playerMoney ) -- сохраняет в полученный аккаунт значение 'playerMoney' под ключом "piraterpg.money" | |||
end | |||
end | end | ||
addEventHandler("onPlayerQuit", getRootElement(), onPlayerQuit) | addEventHandler( "onPlayerQuit", getRootElement( ), onPlayerQuit ) -- прикрепляет функцию 'onPlayerQuit' к обработчику события "onPlayerQuit" | ||
function onPlayerLogin(_,account) | function onPlayerLogin( _, account ) | ||
local playerMoney = getAccountData(account, "piraterpg.money") | local playerMoney = getAccountData( account, "piraterpg.money" ) -- получает данные аккаунта сохранённые под ключом "piraterpg.money" | ||
if(playerMoney) then | if ( playerMoney ) then -- если данные получены, то | ||
setPlayerMoney(source, playerMoney) | setPlayerMoney( source, playerMoney ) -- устанавливает игроку сумму денег из полученных данных | ||
end | end | ||
end | end | ||
addEventHandler( "onPlayerLogin", getRootElement( ), onPlayerLogin ) -- прикрепляет функцию 'onPlayerLogin' к обработчику события "onPlayerLogin" | |||
addEventHandler("onPlayerLogin", getRootElement(), onPlayerLogin) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
Line 45: | Line 47: | ||
[[en:getAccountData]] | [[en:getAccountData]] | ||
[[ar:getAccountData]] | [[ar:getAccountData]] | ||
[[pl:getAccountData]] | |||
[[zh-cn:getAccountData]] |
Latest revision as of 15:15, 8 June 2022
Важное примечание: Настоятельно рекомендуется использовать формат module.key в названиях ключей, как показано в примере ниже. Это помогает избегать противоречий между разными скриптами. |
Эта функция получает строку, которая была сохранена при помощи setAccountData. Данные аккаунта сохраняются в игре, если это не аккаунт guest (гость).
Синтаксис
string getAccountData( account theAccount, string key )
Синтаксис ООП Помогите! Я не понимаю, что это!
- Метод: account:getData(...)
- Парная функция: [[RU/setAccountData|setAccountData]]
Обязательные аргументы
- theAccount: Аккаунт, данные которого Вы хотите получить.
- key: Ключ, под которым хранятся данные.
Возвращаемые значения
- строка, содержащая данные, если данные были сохранены под указанным ключом.
- false, если данные не были сохранены под указанным ключом.
Пример использования
Click to collapse [-]
СерверПример 1: Для пиратского ролевого игрового режима сумма денег, которую имеет игрок, постоянно сохраняется, сохраняя её в своем аккаунте. Обратите внимание, что код использует piraterpg.money как ключ, а не просто money, так как игрок может участвовать в других игровых режимах, которые также сохраняют его денежную сумму на его счёт. Если оба типа игровых режимов будут использовать money в качестве ключа аккаунта, они перепишут данные друг друга.
function onPlayerQuit( ) local playerAccount = getPlayerAccount( source ) -- получает аккаунт игрока if (playerAccount) then -- если аккаунт получен, то local playerMoney = getPlayerMoney( source ) -- получает сумму денег игрока setAccountData( playerAccount, "piraterpg.money", playerMoney ) -- сохраняет в полученный аккаунт значение 'playerMoney' под ключом "piraterpg.money" end end addEventHandler( "onPlayerQuit", getRootElement( ), onPlayerQuit ) -- прикрепляет функцию 'onPlayerQuit' к обработчику события "onPlayerQuit" function onPlayerLogin( _, account ) local playerMoney = getAccountData( account, "piraterpg.money" ) -- получает данные аккаунта сохранённые под ключом "piraterpg.money" if ( playerMoney ) then -- если данные получены, то setPlayerMoney( source, playerMoney ) -- устанавливает игроку сумму денег из полученных данных end end addEventHandler( "onPlayerLogin", getRootElement( ), onPlayerLogin ) -- прикрепляет функцию 'onPlayerLogin' к обработчику события "onPlayerLogin"
Смотрите также
Серверные функции
- 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 - устанавливает пароль аккаунта