RU/getAccountData: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
 
		
	
m (Добавление языков)  | 
				No edit summary  | 
				||
| (4 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/Boolean|false]]''', если данные не были сохранены под указанным ключом.  | |||
==Пример использования==  | ==Пример использования==  | ||
<section name="Сервер" class="server" show="true">    | <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) -- прикрепляет функцию '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 43: | Line 46: | ||
[[en:getAccountData]]  | [[en:getAccountData]]  | ||
[[ar:getAccountData]]  | [[ar:getAccountData]]  | ||
[[pl:getAccountData]]  | [[pl:getAccountData]]  | ||
[[zh-cn: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 - устанавливает пароль аккаунта