<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RabrSaic</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RabrSaic"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/RabrSaic"/>
	<updated>2026-04-08T12:00:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/setAccountData&amp;diff=65257</id>
		<title>RU/setAccountData</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/setAccountData&amp;diff=65257"/>
		<updated>2020-02-24T21:33:53Z</updated>

		<summary type="html">&lt;p&gt;RabrSaic: /* Пример использования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RU/Server function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{RU/Note_box|Настоятельно рекомендуется использовать формат ''module.key'' в названиях ключей, как показано в примере ниже. Это помогает избегать противоречий между разными скриптами.}}&lt;br /&gt;
Эта функция сохраняет строку, которая будет храниться в аккаунте. Данные, хранящиеся как данные аккаунта, сохраняются в игре, если это не аккаунт ''guest'' (гость). Даже если войти в аккаунт ''guest'' (гость), данные аккаунта могут быть полезны как способ хранения ссылки на вашу собственную систему аккаунта, хотя сохранение эквивалентно использованию [[RU/setElementData|setElementData]] в элементе [[RU/Element/Player|player]].&lt;br /&gt;
&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setAccountData(account theAccount, string key, string value)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{RU/OOP||[[RU/Account|account]]:setData||[[RU/getAccountData|getAccountData]]}}&lt;br /&gt;
===Обязательные аргументы=== &lt;br /&gt;
*'''theAccount:''' [[RU/Account|Аккаунт]], в который Вы хотите записать данные&lt;br /&gt;
*'''key:''' Ключ, под которым Вы хотите сохранить данные&lt;br /&gt;
*'''value:''' Значение, которое Вы хотите установить. Установите значение ''false'', чтобы удалить данные. Вы не можете сохранять таблицы, но вы можете использовать строки [[toJSON]].&lt;br /&gt;
&lt;br /&gt;
===Возвращаемые значения===&lt;br /&gt;
Возвращает ''true'', если данные для аккаунта были установлены, или ''false'', если указан недопустимый аргумент.&lt;br /&gt;
&lt;br /&gt;
==Пример использования== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Сервер&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
'''Пример 1.''' Для пиратского ролевого игрового режима сумма денег, которую имеет игрок, постоянно сохраняется, сохраняя её в своем аккаунте. Обратите внимание, что код использует ''piraterpg.money'' как ключ, а не просто ''money'', так как игрок может участвовать в других игровых режимах, которые также сохраняют его денежную сумму на его счёт. Если оба типа игровых режимов будут использовать ''money'' в качестве ключа аккаунта, они перепишут данные друг друга.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onPlayerQuit()&lt;br /&gt;
      // заносим в переменную playeraccount текущий аккаунт который вызвал событие&lt;br /&gt;
      local playeraccount = getPlayerAccount(source)&lt;br /&gt;
      // проверяем существует ли аккаунт if(playeraccount) и не является аккант гостевым and not isGuestAccount(playeraccount) then &lt;br /&gt;
      if(playeraccount) and not isGuestAccount(playeraccount) then&lt;br /&gt;
            // заносим в переменную playermoney текущее кол-во денег игрока&lt;br /&gt;
            local playermoney = getPlayerMoney(source)&lt;br /&gt;
            // теперь меняем ключ &amp;quot;piraterpg.money&amp;quot; аккаунта playeraccount и устанавливаем последнее нам известное кол-во денег этой переменной playermoney&lt;br /&gt;
            setAccountData(playeraccount, &amp;quot;piraterpg.money&amp;quot;, playermoney)&lt;br /&gt;
      end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function onPlayerLogin(_, playeraccount)&lt;br /&gt;
      if(playeraccount) then&lt;br /&gt;
            local playermoney = getAccountData(playeraccount, &amp;quot;piraterpg.money&amp;quot;)&lt;br /&gt;
            if(playermoney) then&lt;br /&gt;
                  setPlayerMoney(source, playermoney)&lt;br /&gt;
            end&lt;br /&gt;
      end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
addEventHandler(&amp;quot;onPlayerQuit&amp;quot;, getRootElement(), onPlayerQuit)&lt;br /&gt;
addEventHandler (&amp;quot;onPlayerLogin&amp;quot;, getRootElement(), onPlayerLogin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Проблемы==&lt;br /&gt;
{{RU/Issues|&lt;br /&gt;
{{RU/Issue|7757|[Исправлено в 1.3.4-7757] setAccountData зажимает цифры после десятичной точки}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Обход проблемы 7757&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
Преобразуйте число с плавающей точкой в ​​строку.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
setAccountData(account, &amp;quot;myKey&amp;quot;, tostring(0.123))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/Account_functions}}&lt;br /&gt;
&lt;br /&gt;
[[ar:setAccountData]]&lt;br /&gt;
[[en:setAccountData]]&lt;br /&gt;
[[es:setAccountData]]&lt;/div&gt;</summary>
		<author><name>RabrSaic</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/setAccountData&amp;diff=65256</id>
		<title>RU/setAccountData</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/setAccountData&amp;diff=65256"/>
		<updated>2020-02-24T21:32:56Z</updated>

		<summary type="html">&lt;p&gt;RabrSaic: /* Пример использования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RU/Server function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{RU/Note_box|Настоятельно рекомендуется использовать формат ''module.key'' в названиях ключей, как показано в примере ниже. Это помогает избегать противоречий между разными скриптами.}}&lt;br /&gt;
Эта функция сохраняет строку, которая будет храниться в аккаунте. Данные, хранящиеся как данные аккаунта, сохраняются в игре, если это не аккаунт ''guest'' (гость). Даже если войти в аккаунт ''guest'' (гость), данные аккаунта могут быть полезны как способ хранения ссылки на вашу собственную систему аккаунта, хотя сохранение эквивалентно использованию [[RU/setElementData|setElementData]] в элементе [[RU/Element/Player|player]].&lt;br /&gt;
&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setAccountData(account theAccount, string key, string value)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{RU/OOP||[[RU/Account|account]]:setData||[[RU/getAccountData|getAccountData]]}}&lt;br /&gt;
===Обязательные аргументы=== &lt;br /&gt;
*'''theAccount:''' [[RU/Account|Аккаунт]], в который Вы хотите записать данные&lt;br /&gt;
*'''key:''' Ключ, под которым Вы хотите сохранить данные&lt;br /&gt;
*'''value:''' Значение, которое Вы хотите установить. Установите значение ''false'', чтобы удалить данные. Вы не можете сохранять таблицы, но вы можете использовать строки [[toJSON]].&lt;br /&gt;
&lt;br /&gt;
===Возвращаемые значения===&lt;br /&gt;
Возвращает ''true'', если данные для аккаунта были установлены, или ''false'', если указан недопустимый аргумент.&lt;br /&gt;
&lt;br /&gt;
==Пример использования== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Сервер&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
'''Пример 1.''' Для пиратского ролевого игрового режима сумма денег, которую имеет игрок, постоянно сохраняется, сохраняя её в своем аккаунте. Обратите внимание, что код использует ''piraterpg.money'' как ключ, а не просто ''money'', так как игрок может участвовать в других игровых режимах, которые также сохраняют его денежную сумму на его счёт. Если оба типа игровых режимов будут использовать ''money'' в качестве ключа аккаунта, они перепишут данные друг друга.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onPlayerQuit()&lt;br /&gt;
      // заносим в переменную playeraccount текущий аккаунт который вызвал событие&lt;br /&gt;
      local playeraccount = getPlayerAccount(source)&lt;br /&gt;
      // проверяем существует ли аккаунт if(playeraccount) и не является аккант гостевым and not isGuestAccount(playeraccount) then &lt;br /&gt;
      if(playeraccount) and not isGuestAccount(playeraccount) then&lt;br /&gt;
            // заносим в переменную playermoney текущее кол-во денег игрока&lt;br /&gt;
            local playermoney = getPlayerMoney(source)&lt;br /&gt;
            // теперь меняем ключ &amp;quot;piraterpg.money&amp;quot; аккаунта playeraccount и устанавливаем последнее нам известное кол-во денег&lt;br /&gt;
            setAccountData(playeraccount, &amp;quot;piraterpg.money&amp;quot;, playermoney)&lt;br /&gt;
      end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function onPlayerLogin(_, playeraccount)&lt;br /&gt;
      if(playeraccount) then&lt;br /&gt;
            local playermoney = getAccountData(playeraccount, &amp;quot;piraterpg.money&amp;quot;)&lt;br /&gt;
            if(playermoney) then&lt;br /&gt;
                  setPlayerMoney(source, playermoney)&lt;br /&gt;
            end&lt;br /&gt;
      end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
addEventHandler(&amp;quot;onPlayerQuit&amp;quot;, getRootElement(), onPlayerQuit)&lt;br /&gt;
addEventHandler (&amp;quot;onPlayerLogin&amp;quot;, getRootElement(), onPlayerLogin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Проблемы==&lt;br /&gt;
{{RU/Issues|&lt;br /&gt;
{{RU/Issue|7757|[Исправлено в 1.3.4-7757] setAccountData зажимает цифры после десятичной точки}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Обход проблемы 7757&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
Преобразуйте число с плавающей точкой в ​​строку.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
setAccountData(account, &amp;quot;myKey&amp;quot;, tostring(0.123))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/Account_functions}}&lt;br /&gt;
&lt;br /&gt;
[[ar:setAccountData]]&lt;br /&gt;
[[en:setAccountData]]&lt;br /&gt;
[[es:setAccountData]]&lt;/div&gt;</summary>
		<author><name>RabrSaic</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/setAccountData&amp;diff=65255</id>
		<title>RU/setAccountData</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/setAccountData&amp;diff=65255"/>
		<updated>2020-02-24T21:29:05Z</updated>

		<summary type="html">&lt;p&gt;RabrSaic: /* Пример использования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RU/Server function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{RU/Note_box|Настоятельно рекомендуется использовать формат ''module.key'' в названиях ключей, как показано в примере ниже. Это помогает избегать противоречий между разными скриптами.}}&lt;br /&gt;
Эта функция сохраняет строку, которая будет храниться в аккаунте. Данные, хранящиеся как данные аккаунта, сохраняются в игре, если это не аккаунт ''guest'' (гость). Даже если войти в аккаунт ''guest'' (гость), данные аккаунта могут быть полезны как способ хранения ссылки на вашу собственную систему аккаунта, хотя сохранение эквивалентно использованию [[RU/setElementData|setElementData]] в элементе [[RU/Element/Player|player]].&lt;br /&gt;
&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setAccountData(account theAccount, string key, string value)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{RU/OOP||[[RU/Account|account]]:setData||[[RU/getAccountData|getAccountData]]}}&lt;br /&gt;
===Обязательные аргументы=== &lt;br /&gt;
*'''theAccount:''' [[RU/Account|Аккаунт]], в который Вы хотите записать данные&lt;br /&gt;
*'''key:''' Ключ, под которым Вы хотите сохранить данные&lt;br /&gt;
*'''value:''' Значение, которое Вы хотите установить. Установите значение ''false'', чтобы удалить данные. Вы не можете сохранять таблицы, но вы можете использовать строки [[toJSON]].&lt;br /&gt;
&lt;br /&gt;
===Возвращаемые значения===&lt;br /&gt;
Возвращает ''true'', если данные для аккаунта были установлены, или ''false'', если указан недопустимый аргумент.&lt;br /&gt;
&lt;br /&gt;
==Пример использования== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Сервер&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
'''Пример 1.''' Для пиратского ролевого игрового режима сумма денег, которую имеет игрок, постоянно сохраняется, сохраняя её в своем аккаунте. Обратите внимание, что код использует ''piraterpg.money'' как ключ, а не просто ''money'', так как игрок может участвовать в других игровых режимах, которые также сохраняют его денежную сумму на его счёт. Если оба типа игровых режимов будут использовать ''money'' в качестве ключа аккаунта, они перепишут данные друг друга.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onPlayerQuit()&lt;br /&gt;
      // заносим в переменную playeraccount текущий аккаунт который вызвал событие&lt;br /&gt;
      local playeraccount = getPlayerAccount(source)&lt;br /&gt;
      // проверяем if(playeraccount) существует ли аккаунт and not isGuestAccount(playeraccount) then и не является аккант гостевым&lt;br /&gt;
      if(playeraccount) and not isGuestAccount(playeraccount) then&lt;br /&gt;
            // заносим в переменную playermoney текущее кол-во денег игрока&lt;br /&gt;
            local playermoney = getPlayerMoney(source)&lt;br /&gt;
            // теперь меняем ключ &amp;quot;piraterpg.money&amp;quot; аккаунта playeraccount и устанавливаем последнее нам известное кол-во денег&lt;br /&gt;
            setAccountData(playeraccount, &amp;quot;piraterpg.money&amp;quot;, playermoney)&lt;br /&gt;
      end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function onPlayerLogin(_, playeraccount)&lt;br /&gt;
      if(playeraccount) then&lt;br /&gt;
            local playermoney = getAccountData(playeraccount, &amp;quot;piraterpg.money&amp;quot;)&lt;br /&gt;
            if(playermoney) then&lt;br /&gt;
                  setPlayerMoney(source, playermoney)&lt;br /&gt;
            end&lt;br /&gt;
      end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
addEventHandler(&amp;quot;onPlayerQuit&amp;quot;, getRootElement(), onPlayerQuit)&lt;br /&gt;
addEventHandler (&amp;quot;onPlayerLogin&amp;quot;, getRootElement(), onPlayerLogin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Проблемы==&lt;br /&gt;
{{RU/Issues|&lt;br /&gt;
{{RU/Issue|7757|[Исправлено в 1.3.4-7757] setAccountData зажимает цифры после десятичной точки}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Обход проблемы 7757&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
Преобразуйте число с плавающей точкой в ​​строку.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
setAccountData(account, &amp;quot;myKey&amp;quot;, tostring(0.123))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/Account_functions}}&lt;br /&gt;
&lt;br /&gt;
[[ar:setAccountData]]&lt;br /&gt;
[[en:setAccountData]]&lt;br /&gt;
[[es:setAccountData]]&lt;/div&gt;</summary>
		<author><name>RabrSaic</name></author>
	</entry>
</feed>