RU/getAccountData: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Форматирование)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{RU/Server function}}
{{RU/Server function}}
{{RU/Important Note|Настоятельно рекомендуется использовать формат ''module.key'' в названиях ключей, как показано в примере ниже. Это помогает избегать противоречий между разными скриптами.}}
{{RU/Important Note|Настоятельно рекомендуется использовать формат ''module.key'' в названиях ключей, как показано в примере ниже. Это помогает избегать противоречий между разными скриптами.}}
Эта функция получает [[RU/String|строку]], которая была сохранена при помощи [[RU/setAccountData|setAccountData]]. Данные аккаунта сохраняются в игре, если это не аккаунт ''guest'' (гость).
Эта функция получает [[RU/String|строку]], которая была сохранена при помощи [[RU/setAccountData|setAccountData]]. Данные аккаунта сохраняются в игре, если это не аккаунт ''guest'' (гость).
Line 6: Line 7:
==Синтаксис==  
==Синтаксис==  
<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/String|строка]]''', ''содержащая данные'', если данные были сохранены под указанным ключом.
*'''[[RU/Boolean|false]]''', если данные не были сохранены под указанным ключом.
*'''[[RU/Boolean|false]]''', если данные не были сохранены под указанным ключом.


==Пример использования==
==Пример использования==
<section name="Сервер" class="server" show="true">  
<section name="Сервер" class="server" show="true">  
'''Пример 1.''' Для пиратского ролевого игрового режима сумма денег, которую имеет игрок, постоянно сохраняется, сохраняя её в своем аккаунте. Обратите внимание, что код использует ''piraterpg.money'' как ключ, а не просто ''money'', так как игрок может участвовать в других игровых режимах, которые также сохраняют его денежную сумму на его счёт. Если оба типа игровых режимов будут использовать ''money'' в качестве ключа аккаунта, они перепишут данные друг друга.
'''Пример 1:''' Для пиратского ролевого игрового режима сумма денег, которую имеет игрок, постоянно сохраняется, сохраняя её в своем аккаунте. Обратите внимание, что код использует ''piraterpg.money'' как ключ, а не просто ''money'', так как игрок может участвовать в других игровых режимах, которые также сохраняют его денежную сумму на его счёт. Если оба типа игровых режимов будут использовать ''money'' в качестве ключа аккаунта, они перепишут данные друг друга.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function onPlayerQuit()
function onPlayerQuit( )
      local playerAccount = getPlayerAccount(source) -- получает аккаунт игрока
local playerAccount = getPlayerAccount( source ) -- получает аккаунт игрока
      if(playerAccount) then -- если аккаунт получен, то
if (playerAccount) then -- если аккаунт получен, то
            local playerMoney = getPlayerMoney(source) -- получает сумму денег игрока
local playerMoney = getPlayerMoney( source ) -- получает сумму денег игрока
            setAccountData(playerAccount, "piraterpg.money", playerMoney) -- сохраняет в полученный аккаунт значение 'playerMoney' под ключом "piraterpg.money"  
setAccountData( playerAccount, "piraterpg.money", playerMoney ) -- сохраняет в полученный аккаунт значение 'playerMoney' под ключом "piraterpg.money"  
      end
end
end
end
addEventHandler("onPlayerQuit", getRootElement(), onPlayerQuit) -- прикрепляет функцию 'onPlayerQuit' к обработчику события "onPlayerQuit"
addEventHandler( "onPlayerQuit", getRootElement( ), onPlayerQuit ) -- прикрепляет функцию 'onPlayerQuit' к обработчику события "onPlayerQuit"


function onPlayerLogin(_, account)
function onPlayerLogin( _, account )
     local playerMoney = getAccountData(account, "piraterpg.money") -- получает данные аккаунта сохранённые под ключом "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 ) -- прикрепляет функцию 'onPlayerLogin' к обработчику события "onPlayerLogin"
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
Line 44: Line 46:


[[en:getAccountData]]
[[en:getAccountData]]
[[ru:getAccountData]]
[[ar:getAccountData]]
[[ar:getAccountData]]
[[pl:getAccountData]]
[[pl:getAccountData]]
[[zh-cn:getAccountData]]
[[zh-cn:getAccountData]]

Latest revision as of 15:15, 8 June 2022


[[{{{image}}}|link=|]] Важное примечание: Настоятельно рекомендуется использовать формат 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 - устанавливает пароль аккаунта