<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.appsalutecreator.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vlegkun</id>
	<title>wiki.appsalutecreator.com - Вклад участника [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.appsalutecreator.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vlegkun"/>
	<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Vlegkun"/>
	<updated>2026-10-17T02:12:26Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.15</generator>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Timer&amp;diff=9979</id>
		<title>Timer</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Timer&amp;diff=9979"/>
		<updated>2020-10-15T10:08:33Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Основные параметры и свойства таймера */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
== Общие сведения ==&lt;br /&gt;
&lt;br /&gt;
Данный [[Object|объект]] предназначен для различных действий в игре связанных со временем. Например: длительность игры на каком-то из уровней, время между ходами и т.д. Он может использоваться в качестве таймера (время отнимается) и секундомера (время наращивается).&lt;br /&gt;
&lt;br /&gt;
Таймер может управляться такими игровыми объектами как [[HiddenList]], а также другими игровыми объектами которые смогут передавать ему различные состояния.&lt;br /&gt;
&lt;br /&gt;
== Основные параметры и свойства таймера ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Timer 01.jpg|right]]&lt;br /&gt;
* '''тип''' - тип объекта&lt;br /&gt;
* '''имя''' - имя объекта&lt;br /&gt;
* '''синхронизация''' - синхронизация между лейаутами&lt;br /&gt;
&lt;br /&gt;
* '''положение'''&lt;br /&gt;
** '''x''' - положение объекта по оси х&lt;br /&gt;
** '''y''' - положение объекта по оси y&lt;br /&gt;
&lt;br /&gt;
* '''размер'''&lt;br /&gt;
** '''w''' - ширина объекта в пикслях&lt;br /&gt;
** '''h''' - высота объекта в пикселях&lt;br /&gt;
&lt;br /&gt;
* '''модификаторы'''&lt;br /&gt;
** '''alpha''' - прозрачность объекта от 0 (прозрачен) до 1 (не прозрачен)&lt;br /&gt;
** '''blending''' - Alpha смешивание&lt;br /&gt;
** '''angle''' - угол поворота в градусах. 0 - не повернут. Отсчитывается от оси х вниз. Вверх идут отрицательные углы.&lt;br /&gt;
** '''scale x''' - масштаб по оси х: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.&lt;br /&gt;
** '''scale y''' - масштаб по оси y: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.&lt;br /&gt;
&lt;br /&gt;
* '''z''' - параметр порядка рисования объекта. Сначала рисуются объекты с большим z, а под ними с меньшим&lt;br /&gt;
* '''память''' - если 1 - не обновляет свои параметры при последующем открытии экрана, 0 - обновляет . '''Если таймер подвязан к опциям''' и включена память, то таймер не будет перевычитывать значение из опций после получения состояний '''init''', '''run'''&lt;br /&gt;
&lt;br /&gt;
* '''cостояние''' - начальное состояние таймера:&lt;br /&gt;
** '''beg''' - начальное состояние (таймер не идет)&lt;br /&gt;
** '''run''' - запуск таймера &lt;br /&gt;
** '''fast''' - таймер работает с ускорением( кооф. ускорения задаем в &amp;quot;ускорение&amp;quot; )&lt;br /&gt;
** '''pause''' - таймер перходит в состояние паузы. (снять с паузы состоянием - run, fast)&lt;br /&gt;
** '''add''' - добавление времени к таймеру&lt;br /&gt;
** '''del''' - отнимание времен из таймера&lt;br /&gt;
** '''end''' - конечное состояние таймера&lt;br /&gt;
** '''stop''' - останавливает таймер, если потом он будет запущен снова, то пойдет с нуля&lt;br /&gt;
** '''save''' - записывает текущее значение в опции под именем, указанным в ключе (игра, уровень)&lt;br /&gt;
&lt;br /&gt;
* '''отладка''' - отображать в окне состояний текущий объект&lt;br /&gt;
* '''значение''' - начальное значение таймера в ms&lt;br /&gt;
* '''дельта''' - используется в состояниях add и del, количество времени которое будет добавлено или удалено из таймера (время в секундах)&lt;br /&gt;
* '''остановка без кликов''' - если &amp;gt; 0, то таймер остановится, если кликов не было более заданного числа секунд&lt;br /&gt;
* '''обратный ход''' - если &amp;quot;0&amp;quot; объект &amp;quot;таймер&amp;quot; работает, как секундомер (время увеличивается), если &amp;quot;1&amp;quot;, то работает как таймер (время отнимается)&lt;br /&gt;
* '''отображать дни''' - параметр days (количество дней), необходим для настройки отображения таймера. Настраивается во &amp;quot;внешний вид&amp;quot;.&lt;br /&gt;
* '''настройки при автозаполнении''' - перегружать - экономика меняет настройки отображения HH:MM:SS(обратная совместимость); сохранять - настройки задаются в лейауте.&lt;br /&gt;
* '''прогресс''' - прогрессбар, отображающий то же, что и таймер&lt;br /&gt;
* '''выравнивание''' - Выравнивание отображаемого времени 0 - центр, 1 - лево, 2 - право&lt;br /&gt;
&lt;br /&gt;
* '''графика'''&lt;br /&gt;
** '''res''' - основной графический ресурс для таймера, в качестве графического ресурса подгружается анимация из 10 фреймов, на которых изображены числа от 0 до 9&lt;br /&gt;
** '''цифры нормальные''' - поле куда добавляется анимация цифр в нормальном виде (не обязательно заполнять, если таймер будет использоваться в одном режиме)&lt;br /&gt;
** '''цифры окончания''' - анимация цифр, которая будут показываться в том случае, когда время таймера будет истекать&lt;br /&gt;
** '''цифры при добавлении''' - анимация цифр, которая будет показываться в том случае, когда к таймеру было добавлено время&lt;br /&gt;
** '''цифры при удалении''' - анимация цифр, которая будет показываться в том случае, когда от таймера было отнято время&lt;br /&gt;
** '''двоеточие нормальное''' - графика двоеточия, которое разделяет секунды, минуты, подгражается обычный графический ресурс двоеточия&lt;br /&gt;
** '''двоеточие окончания''' - графика двоеточия, которое показывается в случае, когда у таймера истекает время&lt;br /&gt;
** '''двоеточие при добавлении''' - графика двоеточия, будет использовать при прибавлении время к таймеру&lt;br /&gt;
** '''двоеточие при удалении''' - графика двоеточия, будет использовать при удалении время от таймера&lt;br /&gt;
&lt;br /&gt;
* '''шрифт'''&lt;br /&gt;
** '''имя''' - номер шрифта - целое число, начиная с 0 (порядковый номер шрифта), а если -1 то рисовать каунтер клипами&lt;br /&gt;
** '''размер''' - размер шрифта в пикселях&lt;br /&gt;
** '''цвет 1''' - цвет текста&lt;br /&gt;
&lt;br /&gt;
* '''внешний вид'''&lt;br /&gt;
** '''дни''' - 0 - прятать, 1 - отображать, 2 - отображать всегда два разряда, 3 - отображать, когда дней больше, чем в days, 4 - отображать только дни, когда дней больше, чем в days, 5 - отображать две макс. единицы времени (если применить 5, сколько бы ни было времени, будут показываться максимальные два разряда, к примеру dd:hh, если 3д 04ч). &lt;br /&gt;
** '''часы''' - 0 - прятать, 1 - отображать, 2 - отображать, если время больше одного часа &lt;br /&gt;
** '''минуты''' - 0 - прятать, 1 - отображать&lt;br /&gt;
** '''секунды''' - 0 - прятать, 1 - отображать, 2 - отображать, если время меньше одного часа&lt;br /&gt;
** '''dx''' - сдвинуть все относительно подложки вдоль х &lt;br /&gt;
** '''dy''' - сдвинуть все относительно подложки вдоль y&lt;br /&gt;
** '''dx между цифрами''' - расстояние между цифрами внутри разряда, между hh или mm&lt;br /&gt;
** '''dx от &amp;quot;:&amp;quot;''' - расстояние между разрядами и клипом двоеточия (справа и слева от него)&lt;br /&gt;
** '''разделитель после дней''' - символ, который отображается после разряда дней. Если указан, двоеточие после разряда дней не отображается. Перетаскивается из текстового редактора&lt;br /&gt;
** '''разделитель после часов''' - символ, который отображается после разряда часов. Если указан, двоеточие после разряда часов не отображается. Перетаскивается из текстового редактора&lt;br /&gt;
** '''разделитель после минут''' - символ, который отображается после разряда минут. Если указан, двоеточие после разряда минут не отображается. Перетаскивается из текстового редактора&lt;br /&gt;
** '''разделитель после секунд''' - символ, который отображается после разряда секунд. Если указан, двоеточие после разряда секунд не отображается. Перетаскивается из текстового редактора&lt;br /&gt;
&lt;br /&gt;
* '''часы''' - Число разрядов для отображения часов&lt;br /&gt;
* '''ускорение''' - коэффициент ускорения, когда таймер находится в состоянии fast&lt;br /&gt;
* '''сохранять в профиль''' - если &amp;quot;0&amp;quot; - то не сохраняет значение в профиль, а значит значение будет глобальным&lt;br /&gt;
* '''сохранять при потере фокуса''' - Если ==1, то таймер будет сохранять себя при потере фокуса&lt;br /&gt;
* '''игра''' - ключ (параметр), совместно с параметром '''уровень''' образует переменную, с помощью которой можно управлять таймерому&lt;br /&gt;
* '''уровень''' - совместно с параметром '''игра''' образует переменную, с помощью которой можно управлять таймером (Строит заметить, что при переходе объекта в состояние init - он автоматически считывает значение, записанное по адресу игра.уровень в [[Options|Options]]. При этом таймер не имеет состояния read, как [[Counter|Counter]])&lt;br /&gt;
* '''Время истекло: изменить состояние объекта''' - если достигнет нуля, то есть используется, как таймер, он изменит состояние какого-то объекта&lt;br /&gt;
* '''Время истекло: изменить параметр (свойство) объекта''' - если достигнет нуля, то есть используется, как таймер, он изменит параметр какого-то объекта&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Время на исходе: изменить состояние объекта''' - по истечению времени перевести объект в новое состояние:&lt;br /&gt;
* значение - значение, при котором сработает обработчик;&lt;br /&gt;
* объект - по истечению времени перевести объект в состояние из следующего поля;&lt;br /&gt;
* состояние - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Время истекло: изменить состояние объекта''' - по истечению времени перевести объект в новое состояние. Если достигнет нуля, то есть используется, как таймер, он изменит состояние какого-то объекта:&lt;br /&gt;
* объект - по истечению времени перевести объект в состояние из следующего поля;&lt;br /&gt;
* состояние - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Время истекло: изменить параметр (свойство) объекта''' - по истечению времени перевести объект в новое состояние. Если достигнет нуля, то есть используется, как таймер, он изменит параметр какого-то объекта:&lt;br /&gt;
* объект - по истечению времени перевести объект в состояние из следующего поля;&lt;br /&gt;
* свойство - параметр, который мы изменяем;&lt;br /&gt;
* значение - новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
== Основные состояние ==&lt;br /&gt;
&lt;br /&gt;
Следует помнить следующие основные состояния:  '''run''', '''beg''', '''pause''', '''save''', '''stop''', '''fast''','''add''','''del'''. Эти состояния используется чаще всего.&amp;lt;br&amp;gt;&lt;br /&gt;
Состояния таймеру мы можем передавать с помощью любого игрового объекта который может менять состояние другому объекту.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''run''' - состояние которое передаем таймеру для его запуска(если таймер был на паузе то снимет с нее) ( таймер подвязанный к опциям схватит время из опций, если не стоит память)&amp;lt;br&amp;gt;&lt;br /&gt;
*'''start''' - состояние которое передаем таймеру для его запуска(если таймер был на паузе то сбросит его и запустит заново)&amp;lt;br&amp;gt;&lt;br /&gt;
*'''pause''','''stop''' - состояние которое передаем таймеру для его остановки&amp;lt;br&amp;gt;&lt;br /&gt;
*'''save''' - если заполнены поля &amp;quot;игра и уровень&amp;quot; то таймер запишет свое значение в [[Options]]&amp;lt;br&amp;gt;&lt;br /&gt;
*'''fast''' - состояние ускоренного хода таймера, ускорение определяется параметром ускорение в настройках таймера, или можно передавать параметром(fast) с помощью другого объекта. &amp;lt;br&amp;gt;&lt;br /&gt;
*'''add''' - состояние добавления времени к таймеру, добавляемое время определяется параметром дельта в настройках таймера, или можно передать параметром(delta) с помощью другого объекта. &amp;lt;br&amp;gt; &lt;br /&gt;
*'''del''' - состояние вычитания времени из таймера, вычитаемое время определяется параметром дельта в настройках таймера, или можно передать параметром(delta) с помощью другого объекта.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''value''' - состояние при котором таймер в своё поле &amp;quot;value&amp;quot; запишет текущее значение в мсек. (Если вызвать до инита объекта, может записать &amp;quot;левое число&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Примеры применений ==&lt;br /&gt;
Благодаря разнообразию состояний таймера есть возможность гибкой их настройки под различные проекты.&amp;lt;br&amp;gt;&lt;br /&gt;
Например, можно считать время проведенное на уровне, время между двумя ходами, время затраченное на один ход, также если есть время, то можно высчитать и скорость и расстояние при наличии необходимых данных. Можно привязать игровое время в [[Flurry]] и отправлять количество минут проведенных в той или другой локации и т.д.&amp;lt;br&amp;gt;&lt;br /&gt;
Предположим, есть необходимость запустить таймер, для этого, с помощью какого-то объекта необходимо задать таймеру состояние '''run'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Предварительно нужно настроить его в зависимости от того, в каком режиме нужно использовать его. &amp;lt;br&amp;gt;&lt;br /&gt;
Если нам необходимо поставить игру на паузу и нужно, чтобы таймер тоже стал на паузу, то нужно указать таймеру состояние '''pause'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Чтобы продолжить игру нужно опять же указать ему состояние '''run'''.&amp;lt;br&amp;gt; &lt;br /&gt;
Если указать таймеру состояние '''beg''' или '''init''', то таймер сбросится в свое первоначальное значение.&amp;lt;br&amp;gt;&lt;br /&gt;
Чтобы оперировать значением таймера, необходимо сохранить его значение. Для этого ему нужно указать ключи: игра, уровень. А в нужный момент, когда нужно, чтобы таймер сохранил свое значение необходимо последовательно ему задать два состояния: сперва нужно поставить на паузу с помощью состояния '''pause''', а потом указать состояние '''save'''. В этом случае, таймер сохранит свое текущее значение в параметр, который образует ключ игра/уровень.&amp;lt;br&amp;gt;&lt;br /&gt;
Если указать таймеру состояние '''fast''', то он должен начать идти быстрее с коэффициентом ускорения указанным в соответствующем поле. (это бывает необходимо в тех случаях, когда игрок делает подряд необдуманные ходы и нужно показать ему, что нельзя наугад делать ходы, наказать игрока)&amp;lt;br&amp;gt;&lt;br /&gt;
Состояниями '''add''' либо '''del''' можно поощрять игрока за хорошую игру прибавлением времени к таймеру, или наказывать - вычитанием при беспорядочных кликах и т.д.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Timer11.jpg|1000px]]&lt;br /&gt;
&lt;br /&gt;
Результат вьювера: &lt;br /&gt;
&lt;br /&gt;
[[Файл:Timer21.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
'''Проект с таймером и демонстрацией его состояний можно посмотреть: s:\!MOBILE\!!!EditorGames\Wiki_sample\'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=App.icf&amp;diff=9966</id>
		<title>App.icf</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=App.icf&amp;diff=9966"/>
		<updated>2020-10-02T09:31:30Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* [Game] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[S3E]==&lt;br /&gt;
&lt;br /&gt;
'''WinWidth'''=960 - Ширина окна&lt;br /&gt;
&lt;br /&gt;
'''WinHeight'''=640 - Высота окна&lt;br /&gt;
&lt;br /&gt;
'''DispFixRot'''=&amp;quot;Landscape&amp;quot; - ориентация приложения (Free/Landscape/Portrait/FixedLandscape/FixedPortrait)&lt;br /&gt;
&lt;br /&gt;
'''MemSize'''=32000000 - Размер &amp;quot;кучи&amp;quot; для основного приложения в байтах. По-умолчанию 3Mб. '''MemSize''' должен быть больше чем  '''MB_GRAFICS'''&lt;br /&gt;
&lt;br /&gt;
'''MemSize1'''=15000000 - Размер &amp;quot;кучи&amp;quot; для звуков приложения в байтах. По-умолчанию 0Mб.&lt;br /&gt;
&lt;br /&gt;
'''SysStackSize'''=65536&lt;br /&gt;
&lt;br /&gt;
'''MemSizeDebug'''=200000000&lt;br /&gt;
&lt;br /&gt;
'''WindowAllowResize'''=1 - Разрешить изменение размера окна&lt;br /&gt;
&lt;br /&gt;
'''WinResizable'''=1  - 0 или 1. На устройствах с оконным менеджером даёт возможность изменять размеры окна.&lt;br /&gt;
&lt;br /&gt;
'''SoundOutputFreq'''=44100 - Частота звука&lt;br /&gt;
&lt;br /&gt;
''Параметры для вьювера из-под редактора:''&lt;br /&gt;
&lt;br /&gt;
'''WinTitle'''=&amp;quot;Viewer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''SysAppVersion'''=0.0.1&lt;br /&gt;
&lt;br /&gt;
'''SysAppCaption'''=&amp;quot;viewer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GxFont]==&lt;br /&gt;
&lt;br /&gt;
'''CacheTextureMaxSize=1024''' - кэш для текстовой текстуры&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Default]==&lt;br /&gt;
&lt;br /&gt;
'''save'''=&amp;quot;0&amp;quot; - сохранять экран на котором были перед выходом из приложения. необходимо для книжек(1), для пазлов и прочего отключить(0). Может быть вынесено в viewer.xml&lt;br /&gt;
&lt;br /&gt;
'''cut'''=&amp;quot;0&amp;quot; - обрезать изображение по размеру layout-а. В случае если предполагается что отмасштабированое изображение будет мало по отношению к окну(окно больше, а картинка меньше) ставим &amp;quot;0&amp;quot; и изображение не будет обрезано а будет выходить за рамки окна. Может быть вынесено в viewer.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Fonts]==&lt;br /&gt;
&lt;br /&gt;
'''font_1'''=&amp;quot;1_arial_16&amp;quot; - шрифт и его номер который используется&lt;br /&gt;
&lt;br /&gt;
'''size_1=16''' - размер шрифта для формирования текстуры (чем больше значение, тем меньше знаков поместятся на текстуре. Необходимо будет увеличивать значение CacheTextureMaxSize=1024 что приведет к излишнему использованию памяти)&lt;br /&gt;
&lt;br /&gt;
'''chars_1=256''' - Число знаков помещенных в кеш для отрисовки в единицу времени на экране. Иначе говоря - максимальное количество разных знаков, которое может отображаться на отдельных экранах.&lt;br /&gt;
&lt;br /&gt;
'''koef_6=1''' - масштаб шрифта&lt;br /&gt;
&lt;br /&gt;
'''koef_6_de=1.3''' - масштаб шрифта для определённого языка&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Game]==&lt;br /&gt;
&lt;br /&gt;
'''Market'''=&amp;quot;amazon&amp;quot; - задаёт какие будут использованы инапы, если они есть, и ссылки в текстовой базе. возможны варианты: samsung, amazon, ios, wildtangent, android, blackberry, fortumo,  google, mac, windows, phone8&lt;br /&gt;
&lt;br /&gt;
'''debug=&amp;quot;Absolutist-2253&amp;quot;''' - режим отладки, если ненужен, или для выгрузки в магазин - удалить.&lt;br /&gt;
&lt;br /&gt;
'''show_build_date=1''' - показывать дату билда вьювера&lt;br /&gt;
&lt;br /&gt;
'''mouseOver''' - 1 send mouse over events to viewer (for PC projects) 0 - don't send (for Mobile projects)&lt;br /&gt;
&lt;br /&gt;
'''DispFixRot'''='''&amp;quot;Landscape&amp;quot;''' програмная ориентация приложения. Не путать с параметром в [S3E]&lt;br /&gt;
&lt;br /&gt;
'''alignType'''=1 позиционирование объектов, если указано в объекте. 1 - по логическому экрану, 0 - по физическому. 1 - по умолчанию.&lt;br /&gt;
&lt;br /&gt;
'''allow_background'''=1 - не ставить вьювер на паузу при потере фокуса.&lt;br /&gt;
&lt;br /&gt;
'''purchaseEverything'''=1 - совершать эмуляцию покупки (для тестирования покупок из-под редактора).&lt;br /&gt;
&lt;br /&gt;
'''fps'''=1 - показывать fps в верхнем левом углу.&lt;br /&gt;
&lt;br /&gt;
'''dt'''=17 - таймер с мс (17 по умолчанию, для замедления уменьшать).&lt;br /&gt;
&lt;br /&gt;
==[GameTrace]==&lt;br /&gt;
&lt;br /&gt;
'''flurry=1''' - заносить в логи активность flurry&lt;br /&gt;
&lt;br /&gt;
'''memorymanager=1''' - заносить в логи количество памяти затраченной приложением&lt;br /&gt;
&lt;br /&gt;
'''Level'''=&amp;quot;Verbose&amp;quot; - уровень записи в лог. Verbose - самый детальный, используется по умолчанию (Verbose/Info/Warnings/Errors). Info - в лог попадает только информация (Info,Warnings,Errors). Warnings - в лог пишутся только предупреждения и ошибки (Warnings,Errors). Errors - в лог пишутся только ошибки (Errors).&lt;br /&gt;
&lt;br /&gt;
'''All'''=0 - 0-выключены все логи от объектов кроме тех, у которых стоит параметр 1 (см. ниже). 1 - логи от объектов включены, кроме тех у которых параметр 0 (см. ниже)&lt;br /&gt;
&lt;br /&gt;
'''GMachine'''=1 - 1 логи от объекта включены, 0 - выключены &lt;br /&gt;
&lt;br /&gt;
'''GESocial'''=0 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GameMemory]==&lt;br /&gt;
&lt;br /&gt;
'''MB_GRAFICS=18000000''' - размер буфера для загрузки изображений. Сначала изображение помещается в этот буфер, потом из него в видеопамять. По умолчанию - 9 мб. Память для буфера входит в '''MemSize''' - тоесть для объектов выделяется объём памяти равный '''MemSize''' - '''MB_GRAFICS'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[s3eAndroidAppirater]==&lt;br /&gt;
&lt;br /&gt;
'''title=&amp;quot;App name&amp;quot;''' - название приложения&lt;br /&gt;
&lt;br /&gt;
'''app_name=&amp;quot;market://id?=com.your_company.application&amp;quot;''' - package id приложения&lt;br /&gt;
&lt;br /&gt;
'''days=0'''&lt;br /&gt;
&lt;br /&gt;
'''launches=0'''&lt;br /&gt;
&lt;br /&gt;
'''events=0'''&lt;br /&gt;
&lt;br /&gt;
'''need_email_button=1''' - нужна ли кнопка &amp;quot;отправить письмо&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''email_addr=&amp;quot;user@yourcompany.com&amp;quot;''' - email на который будет отправлено письмо&lt;br /&gt;
&lt;br /&gt;
'''email_subj=&amp;quot;Subject of email&amp;quot;''' - тема письма&lt;br /&gt;
&lt;br /&gt;
'''email_text=&amp;quot;Hello!&amp;quot;''' - текст письма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Parameters]==&lt;br /&gt;
Добавляет в options параметр и значение при запуске приложения. Параметры этой секции будут установлены в опции; нумерация должна быть последовательной от 1 до бесконечности&lt;br /&gt;
&lt;br /&gt;
'''param1_name=&amp;quot;param1.param&amp;quot;''' - имя параметра&lt;br /&gt;
&lt;br /&gt;
'''param1_value=&amp;quot;12&amp;quot;''' - значение параметра&lt;br /&gt;
&lt;br /&gt;
'''param1_overwrite=&amp;quot;0&amp;quot;''' - перезаписывать параметр, если был ранее 1 - по умолчанию. 1 - перезаписывать, 0 - неперезаписывать&lt;br /&gt;
&lt;br /&gt;
'''param2_name=&amp;quot;param2&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''param2_value=&amp;quot;13&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GHiddenList]==&lt;br /&gt;
&lt;br /&gt;
'''HitTest''' - мода автотеста; (0- выкл.; 1 - разовая логика, пишется в файл раз в сессию для одного хидден листа ; 2 - при каждом init любого хидн листа дописывается статистика в файл);&lt;br /&gt;
&lt;br /&gt;
'''HitTestDx''' = 5 - шаг с которым проходит автокликер по X;&lt;br /&gt;
&lt;br /&gt;
'''HitTestDy''' = 5 - шаг с которым проходит автокликер по Y.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Splash]==&lt;br /&gt;
&lt;br /&gt;
'''inscribe''' - вписывать видео сплэшскрина в текущий экран; (1 - вписывать);&lt;br /&gt;
&lt;br /&gt;
Видео должно называться Splash.ogv и находиться рядом с вьювером&lt;br /&gt;
&lt;br /&gt;
==[Advertisement]==&lt;br /&gt;
'''OfflineMode''' - включить оффлайн режим, при котором конфиг рекламы не будет качаться с сервера (будет браться из кеша); Если в кеше нет конфига - реклама работать не будет.&lt;br /&gt;
&lt;br /&gt;
'''DebugMode''' - включить отладочный режим при котором загружается дебажный конфиг с серврера независимо от того с какого адреса идет запрос&lt;br /&gt;
&lt;br /&gt;
'''ReleaseMode''' - включить релизный режим при котором загружается релизный конфиг с серврера независимо от того с какого адреса идет запрос&lt;br /&gt;
&lt;br /&gt;
(если установлены оба последних параметра, выбирается отладочный режим)&lt;br /&gt;
&lt;br /&gt;
==[DynamicConfig]==&lt;br /&gt;
'''offline''' -  включить оффлайн режим использования динамического конфига (конфиг при помощи которого можно патчить приложение - пока используется только в H365 и HiddenBattle); при включённом режиме конфиг будет браться локально (из кеша), если имеется в наличии. &lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9950</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9950"/>
		<updated>2020-09-25T11:35:29Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Упражнение № 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 добавляем новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Screenshot 1.png]] &lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
=== Упражнение № 6 ===&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Count 0.png]] ‎[[Файл:Count 1.png]] [[Файл:Count 2.png]] [[Файл:Count 3.png]] ‎[[Файл:Count 4.png]] [[Файл:Count 5.png]] ‎[[Файл:Count 6.png]] ‎[[Файл:Count 7.png]] ‎‎[[Файл:Count 8.png]] ‎[[Файл:Count 9.png]] ‎[[‎Файл:Coun (5).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL Time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС И ОКНО ВЫВОДА==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая необходимые действия в игре, например комбо. &lt;br /&gt;
Настройки для '''прогресса''' : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для '''hiddenList''':&lt;br /&gt;
&lt;br /&gt;
 [[Файл:HOL Final.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения.&lt;br /&gt;
&lt;br /&gt;
Добавим правой кнопкой мыши функцию &amp;quot;разбор: изменить состояние объекта&amp;quot; и укажем там машину ''win_lose'' состояние win. Состояние lose укажем в таймере timer_H также через добавление функции правой копкой мыши &amp;quot;время истекло: изменить состояние объекта&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену '''w''' и создаем в ней объект c типом machine ''win'', на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle &amp;quot;black&amp;quot; и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!), устанавливаем параметр фон и alpha на свое усмотрение.&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект: после того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — '''star1''' &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — '''star2''' &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — '''star3''' &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — '''win'''&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина '''win''' считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку ''close'' (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9925</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9925"/>
		<updated>2020-07-30T11:05:36Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' ''(facebook)'' - Ссылка на объект типа ''[[Facebook]]'', с которым будет работать объект.&lt;br /&gt;
*'''economics''' ''(economics)'' - Ссылка на объект типа ''[[Economics]]'', с которым будет работать объект.&lt;br /&gt;
*'''esocialfrienditem''' ''(esocialfrienditem)'' - Ссылка на объект типа ''[[esocialfrienditem]]'', с которым будет работать объект.&lt;br /&gt;
*'''таблица друзей''' ''(friends)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends&lt;br /&gt;
*'''таблица приглашаемых друзей''' ''(friendsnotinst)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst&lt;br /&gt;
*'''шаблон вверху таблтицы''' ''(invtemplate)'' - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан&lt;br /&gt;
*'''индикатор активности''' ''(activity)'' - Объект - индикатор активности. Будем менять ему визибл&lt;br /&gt;
*'''опции для facebook''' ''(fbopt)'' - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.&lt;br /&gt;
*'''социальная сеть''' ''(socialnet)'' - социальная сеть: фейсбук=0,гугл=1,обе=2.&lt;br /&gt;
*'''дублировать очки в parse''' ''(parse)'' - дублировать очки в parse: нет=0,да=1.&lt;br /&gt;
*'''лидерборд parse''' ''(parselb)'' - Имя главной таблицы в parse.&lt;br /&gt;
*'''перемешивать приглашаемых''' ''(shuffleinv)'' - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.&lt;br /&gt;
*'''добавлять из лидербордов''' ''(addinv)'' - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).&lt;br /&gt;
*'''прятать приглашенных''' ''(hideinv)'' - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.&lt;br /&gt;
*'''размер аватарки''' ''(picsize)'' - размер автарки (value=&amp;quot;128&amp;quot; min=&amp;quot;32&amp;quot;).&lt;br /&gt;
*'''проверять группу''' ''(checkgroup)'' - Проверять вхождение в группу с id.&lt;br /&gt;
*'''вступать в сообщество''' ''(joincommunity)'' - вступать в сообщество (пока только вконтакте).&lt;br /&gt;
*'''дарение коллекционных''' ''(gift_type)'' - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.&lt;br /&gt;
*'''подарки через parse''' ''(gift_parse)'' - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' ''(gift_en_id)'' - подарок энергия id;&lt;br /&gt;
**'''подарок энергия количество''' ''(gift_en_amount)'' - подарок энергия количество;&lt;br /&gt;
**'''учитывать максимум энергии''' ''(gift_en_max)'' - 0 - не учитывать, 1 - учитывать; нет=0,да=1; &lt;br /&gt;
**'''подарок монеты id''' ''(gift_res1_id)'' - подарок монеты id;&lt;br /&gt;
**'''подарок монеты количество''' ''(gift_res1_amount)'' - подарок монеты количество;&lt;br /&gt;
**'''принимать подарки не чаще (сек)''' ''(gift_delay)'' - Принимать подарки с ресурсами не чаще заданного количества секунд. Работает только для энергии/res1 и только для парсовых подарков.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''текст''' ''(wishtxt)'' - Общий текст запроса подарка;&lt;br /&gt;
**'''завершающий текст''' ''(wishtxt2)'' - Текст, который будет добавлен после списка предметов;&lt;br /&gt;
**'''таблица''' ''(wishtbl)'' - Таблица, куда сложим множественный запрос подарков;&lt;br /&gt;
**'''ссылка''' ''(href)'' - Ссылка для публикации вишлиста на стене гугл.&lt;br /&gt;
&lt;br /&gt;
*'''отправка подарка'''&lt;br /&gt;
**'''заголовок''' ''(gift_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(gift_m)'' - текст инвайта;&lt;br /&gt;
**'''ограничение''' ''(gift_max)'' - ограничение на число подарков в день;&lt;br /&gt;
**'''счетчик''' ''(gift_cnt)'' - счетчик текущих подарков;&lt;br /&gt;
**'''заголовок уведомления''' ''(gift_not_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение уведомления''' ''(gift_not_m)'' - сообщение уведомления;&lt;br /&gt;
**'''viber url''' ''(gift_viber_url)'' - viber url инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''заголовок''' ''(ask_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(ask_m)'' - текст инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' ''(wndcolgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icocolgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtcolgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dsccolgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialfrienditem''' ''(itemcolgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(tblcolgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения с двумя списками'''&lt;br /&gt;
**'''скроллить таблицы''' ''(scroll_gifts)'' - Скроллть таблицы; &lt;br /&gt;
**'''esocialfrienditem''' ''(fritwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(frtblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''esocialgiftitem''' ''(giitwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка''' ''(icowndgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtwndgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dscwndgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialgiftitem инв.''' ''(giitwndgift_i)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков инв.''' ''(gitblwndgift_i)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из лидербордов'''&lt;br /&gt;
**'''иконка друга''' ''(icofrwndgift)'' - Иконка друга;&lt;br /&gt;
**'''имя друга''' ''(txtfrwndgift)'' - Имя друга;&lt;br /&gt;
**'''таблица вишлиста''' ''(wishtblwndgift)'' - Таблица вишлиста друга;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift2)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка выбранного подарка''' ''(icofrgiwndgift)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка''' ''(cntfrgiwndgift)'' - Цена выбранного подарка;&lt;br /&gt;
**'''иконка выбранного подарка 2''' ''(icofrgiwndgift2)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка 2''' ''(cntfrgiwndgift2)'' - Цена выбранного подарка.&lt;br /&gt;
&lt;br /&gt;
*'''окно приема подарка'''&lt;br /&gt;
**'''окно''' ''(wndgetgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icogetgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtgetgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''имя''' ''(namegetgift)'' - Тектовый объект куда будет занесено имя друга;&lt;br /&gt;
**'''аватарка''' ''(avagetgift)'' - Аватарка друга;&lt;br /&gt;
**'''giftreceiveitem''' ''(giftreceiveitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftreceivetable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
*'''окно входящих запросов подарков'''&lt;br /&gt;
**'''giftreceiveitem''' ''(giftaskitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftasktable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''инвайт'''&lt;br /&gt;
**'''заголовок''' ''(invite_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(invite_m)'' - текст инвайта;&lt;br /&gt;
**'''viber url''' ''(invite_viber_url)'' - viber url инвайта;&lt;br /&gt;
**'''время повтора''' ''(invite_tm)'' - время в секундах, когда можно повторно пригласить того же игрочка.&lt;br /&gt;
&lt;br /&gt;
*'''успешный инвайт'''&lt;br /&gt;
**'''окно''' ''(invsuc_w)'' - само окошко успешного инвайта, должно иметь состояние show, на закрытие вызывать next_inv есошиалу;&lt;br /&gt;
**'''портрет''' ''(invite_i)'' - портрет игрока;&lt;br /&gt;
**'''имя''' ''(invite_n)'' - имя игрока;&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Остальное==&lt;br /&gt;
&lt;br /&gt;
*'''случайные друзья'''&lt;br /&gt;
**'''таблица случайных друзей''' ''(friendrandom)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_random;&lt;br /&gt;
**'''количество''' ''(frrandomnum)'' - Количество случайных друзей в таблицу.&lt;br /&gt;
&lt;br /&gt;
*'''уведомление другу'''&lt;br /&gt;
**'''заголовок''' ''(notif_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение''' ''(notif_m)'' - текст уведомления.&lt;br /&gt;
&lt;br /&gt;
*'''facebook story'''&lt;br /&gt;
**'''имя действия - первый me''' ''(fbstoryactionme)'' - Имя действия при первом успешном me;&lt;br /&gt;
**'''имя объекта - первый me''' ''(fbstoryobjectme)'' - Имя объекта при первом успешном me;&lt;br /&gt;
**'''урл - первый me''' ''(fbstoryurlme)'' - Шаблон урла при первом успешном me;&lt;br /&gt;
**'''урл картинки - первый me''' ''(fbstoryurlpicme)'' - Шаблон урла картинки при первом успешном me;&lt;br /&gt;
**'''имя действия - кастомное''' ''(fbstoryactioncustom)'' - Имя действия при первом успешном me;&lt;br /&gt;
**'''имя объекта - кастомное''' ''(fbstoryobjectcustom)'' - Имя объекта при первом успешном me;&lt;br /&gt;
**'''урл - кастомное''' ''(fbstoryurlcustom)'' - Шаблон урла при первом успешном me;&lt;br /&gt;
**'''урл картинки - кастомное''' ''(fbstoryurlpiccustom)'' - Шаблон урла картинки при первом успешном me;&lt;br /&gt;
**'''forced login - кастомное''' ''(fbstoryforcedcustom)'' - Принудительный логин при вызове состояния. ДЕЙСТВУЕТ ТОЛЬКО НА ОДИН ВЫЗОВ, потом сбрасывается в 0; нет=0,да=1.&lt;br /&gt;
&lt;br /&gt;
*'''adjust'''&lt;br /&gt;
**'''включить adjust''' ''(adjust_on)'' - нет=0, да=1; &lt;br /&gt;
**'''инвайт для iOS''' ''(adjinvite_ios)'';&lt;br /&gt;
**'''инвайт для Ansroid''' ''(adjinvite_andrd)''.&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - инвайт принят''' ''(nst_invite)'' - изменить состояние объекта при принятии инвайта.&lt;br /&gt;
*'''изменить состояние объекта - успех задачи''' ''(nst_compl_task)'' - изменить состояние объекта при успешном выполнении задачи&lt;br /&gt;
*'''изменить состояние объекта - ошибка задачи - Facebook''' ''(nst_err_task)'' - изменить состояние объекта при ошибке выполнения задачи - Facebook&lt;br /&gt;
*'''изменить состояние объекта - ошибка задачи - Google''' ''(nst_err_task_google)'' - изменить состояние объекта при ошибке выполнения задачи - Google&lt;br /&gt;
*'''изменить состояние объекта - превышено число подарков в день''' ''(nst_many_gifts)'' - изменить состояние объекта при ошибке выполнения задачи&lt;br /&gt;
*'''изменить состояние объекта - превышено число подарков одному другу''' ''(nst_many_gifts_fr)'' - изменить состояние объекта при ошибке выполнения задачи&lt;br /&gt;
*'''изменить состояние объекта - заход в приложение через соц. сеть''' ''(nst_from_social_net)'' - изменить состояние объекта - заход в приложение через соц. сеть&lt;br /&gt;
*'''изменить состояние объекта - получен в подарок объект из вишлиста''' ''(nst_wishlist_got)'' - изменить состояние объекта - получен в подарок объект из вишлиста&lt;br /&gt;
*'''изменить состояние объекта - заполнена таблица с подарками''' ''(nst_gifts_table)'' - изменить состояние объекта - заполнена таблица с подарками&lt;br /&gt;
*'''изменить состояние объекта - клик по пустому вишлисту''' ''(nst_empty_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
*'''изменить состояние объекта - клик по непустому вишлисту''' ''(nst_norm_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
*'''изменить состояние объекта - клик по вип''' ''(nst_vip_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
*'''изменить состояние объекта - fb post story''' ''(nst_fbpoststory)'' - изменить состояние объекта - fb post story&lt;br /&gt;
*'''изменить состояние объекта - инвайт отослан''' ''(nst_invite_sent)'' - изменить состояние объекта - инвайт отослан&lt;br /&gt;
*'''изменить состояние объекта - гифт отослан''' ''(nst_gift_sent)'' - изменить состояние объекта - гифт отослан&lt;br /&gt;
*'''изменить состояние объекта - внешний лайк - успех''' ''(nst_externallike_yes)'' - изменить состояние объекта - внешний лайк - успех&lt;br /&gt;
*'''изменить состояние объекта - внешний лайк - отмена''' ''(nst_externallike_no)'' - изменить состояние объекта - внешний лайк - отмена&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' ''(nst_energy_above_max)'' - изменить состояние объекта - дарим энергию выше max&lt;br /&gt;
*'''изменить состояние объекта - состоялось вступление в сообщество''' ''(nst_join_community)'' - изменить состояние объекта - состоялось вступление в сообщество&lt;br /&gt;
*'''изменить состояние объекта - попросили подарок''' ''(nst_ask_gift)'' - изменить состояние объекта - попросили подарок&lt;br /&gt;
*'''изменить состояние объекта - слишком много запросов подарков''' ''(nst_ask_fail)'' - изменить состояние объекта - попросили подарок&lt;br /&gt;
*'''изменить состояние объекта - заполнена таблица с запросами подарков''' ''(nst_asks_table)'' - изменить состояние объекта - заполнена таблица с запросами подарков&lt;br /&gt;
*'''изменить состояние объекта - логин через эппл (успех)''' ''(nst_apple_success)'' - изменить состояние объекта - огин через эппл (успех)&lt;br /&gt;
*'''изменить состояние объекта - логин через эппл (ошибка)''' ''(nst_apple_fail)'' - изменить состояние объекта - огин через эппл (ошибка)&lt;br /&gt;
*'''еще одна табличка для вишлиста''' ''(one_more_wishlist)'' - еще одна табличка для вишлиста&lt;br /&gt;
*'''еще одна экономика''' ''(one_more_economics)'' - еще одна экономика&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9924</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9924"/>
		<updated>2020-07-30T11:04:12Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Обработчики */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' ''(facebook)'' - Ссылка на объект типа ''[[Facebook]]'', с которым будет работать объект.&lt;br /&gt;
*'''economics''' ''(economics)'' - Ссылка на объект типа ''[[Economics]]'', с которым будет работать объект.&lt;br /&gt;
*'''esocialfrienditem''' ''(esocialfrienditem)'' - Ссылка на объект типа ''[[esocialfrienditem]]'', с которым будет работать объект.&lt;br /&gt;
*'''таблица друзей''' ''(friends)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends&lt;br /&gt;
*'''таблица приглашаемых друзей''' ''(friendsnotinst)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst&lt;br /&gt;
*'''шаблон вверху таблтицы''' ''(invtemplate)'' - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан&lt;br /&gt;
*'''индикатор активности''' ''(activity)'' - Объект - индикатор активности. Будем менять ему визибл&lt;br /&gt;
*'''опции для facebook''' ''(fbopt)'' - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.&lt;br /&gt;
*'''социальная сеть''' ''(socialnet)'' - социальная сеть: фейсбук=0,гугл=1,обе=2.&lt;br /&gt;
*'''дублировать очки в parse''' ''(parse)'' - дублировать очки в parse: нет=0,да=1.&lt;br /&gt;
*'''лидерборд parse''' ''(parselb)'' - Имя главной таблицы в parse.&lt;br /&gt;
*'''перемешивать приглашаемых''' ''(shuffleinv)'' - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.&lt;br /&gt;
*'''добавлять из лидербордов''' ''(addinv)'' - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).&lt;br /&gt;
*'''прятать приглашенных''' ''(hideinv)'' - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.&lt;br /&gt;
*'''размер аватарки''' ''(picsize)'' - размер автарки (value=&amp;quot;128&amp;quot; min=&amp;quot;32&amp;quot;).&lt;br /&gt;
*'''проверять группу''' ''(checkgroup)'' - Проверять вхождение в группу с id.&lt;br /&gt;
*'''вступать в сообщество''' ''(joincommunity)'' - вступать в сообщество (пока только вконтакте).&lt;br /&gt;
*'''дарение коллекционных''' ''(gift_type)'' - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.&lt;br /&gt;
*'''подарки через parse''' ''(gift_parse)'' - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' ''(gift_en_id)'' - подарок энергия id;&lt;br /&gt;
**'''подарок энергия количество''' ''(gift_en_amount)'' - подарок энергия количество;&lt;br /&gt;
**'''учитывать максимум энергии''' ''(gift_en_max)'' - 0 - не учитывать, 1 - учитывать; нет=0,да=1; &lt;br /&gt;
**'''подарок монеты id''' ''(gift_res1_id)'' - подарок монеты id;&lt;br /&gt;
**'''подарок монеты количество''' ''(gift_res1_amount)'' - подарок монеты количество;&lt;br /&gt;
**'''принимать подарки не чаще (сек)''' ''(gift_delay)'' - Принимать подарки с ресурсами не чаще заданного количества секунд. Работает только для энергии/res1 и только для парсовых подарков.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''текст''' ''(wishtxt)'' - Общий текст запроса подарка;&lt;br /&gt;
**'''завершающий текст''' ''(wishtxt2)'' - Текст, который будет добавлен после списка предметов;&lt;br /&gt;
**'''таблица''' ''(wishtbl)'' - Таблица, куда сложим множественный запрос подарков;&lt;br /&gt;
**'''ссылка''' ''(href)'' - Ссылка для публикации вишлиста на стене гугл.&lt;br /&gt;
&lt;br /&gt;
*'''отправка подарка'''&lt;br /&gt;
**'''заголовок''' ''(gift_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(gift_m)'' - текст инвайта;&lt;br /&gt;
**'''ограничение''' ''(gift_max)'' - ограничение на число подарков в день;&lt;br /&gt;
**'''счетчик''' ''(gift_cnt)'' - счетчик текущих подарков;&lt;br /&gt;
**'''заголовок уведомления''' ''(gift_not_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение уведомления''' ''(gift_not_m)'' - сообщение уведомления;&lt;br /&gt;
**'''viber url''' ''(gift_viber_url)'' - viber url инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''заголовок''' ''(ask_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(ask_m)'' - текст инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' ''(wndcolgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icocolgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtcolgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dsccolgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialfrienditem''' ''(itemcolgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(tblcolgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения с двумя списками'''&lt;br /&gt;
**'''скроллить таблицы''' ''(scroll_gifts)'' - Скроллть таблицы; &lt;br /&gt;
**'''esocialfrienditem''' ''(fritwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(frtblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''esocialgiftitem''' ''(giitwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка''' ''(icowndgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtwndgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dscwndgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialgiftitem инв.''' ''(giitwndgift_i)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков инв.''' ''(gitblwndgift_i)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из лидербордов'''&lt;br /&gt;
**'''иконка друга''' ''(icofrwndgift)'' - Иконка друга;&lt;br /&gt;
**'''имя друга''' ''(txtfrwndgift)'' - Имя друга;&lt;br /&gt;
**'''таблица вишлиста''' ''(wishtblwndgift)'' - Таблица вишлиста друга;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift2)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка выбранного подарка''' ''(icofrgiwndgift)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка''' ''(cntfrgiwndgift)'' - Цена выбранного подарка;&lt;br /&gt;
**'''иконка выбранного подарка 2''' ''(icofrgiwndgift2)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка 2''' ''(cntfrgiwndgift2)'' - Цена выбранного подарка.&lt;br /&gt;
&lt;br /&gt;
*'''окно приема подарка'''&lt;br /&gt;
**'''окно''' ''(wndgetgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icogetgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtgetgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''имя''' ''(namegetgift)'' - Тектовый объект куда будет занесено имя друга;&lt;br /&gt;
**'''аватарка''' ''(avagetgift)'' - Аватарка друга;&lt;br /&gt;
**'''giftreceiveitem''' ''(giftreceiveitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftreceivetable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
*'''окно входящих запросов подарков'''&lt;br /&gt;
**'''giftreceiveitem''' ''(giftaskitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftasktable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''инвайт'''&lt;br /&gt;
**'''заголовок''' ''(invite_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(invite_m)'' - текст инвайта;&lt;br /&gt;
**'''viber url''' ''(invite_viber_url)'' - viber url инвайта;&lt;br /&gt;
**'''время повтора''' ''(invite_tm)'' - время в секундах, когда можно повторно пригласить того же игрочка.&lt;br /&gt;
&lt;br /&gt;
*'''успешный инвайт'''&lt;br /&gt;
**'''окно''' ''(invsuc_w)'' - само окошко успешного инвайта, должно иметь состояние show, на закрытие вызывать next_inv есошиалу;&lt;br /&gt;
**'''портрет''' ''(invite_i)'' - портрет игрока;&lt;br /&gt;
**'''имя''' ''(invite_n)'' - имя игрока;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Остальное==&lt;br /&gt;
&lt;br /&gt;
*'''случайные друзья'''&lt;br /&gt;
**'''таблица случайных друзей''' ''(friendrandom)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_random;&lt;br /&gt;
**'''количество''' ''(frrandomnum)'' - Количество случайных друзей в таблицу.&lt;br /&gt;
&lt;br /&gt;
*'''уведомление другу'''&lt;br /&gt;
**'''заголовок''' ''(notif_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение''' ''(notif_m)'' - текст уведомления.&lt;br /&gt;
&lt;br /&gt;
*'''facebook story'''&lt;br /&gt;
**'''имя действия - первый me''' ''(fbstoryactionme)'' - Имя действия при первом успешном me;&lt;br /&gt;
**'''имя объекта - первый me''' ''(fbstoryobjectme)'' - Имя объекта при первом успешном me;&lt;br /&gt;
**'''урл - первый me''' ''(fbstoryurlme)'' - Шаблон урла при первом успешном me;&lt;br /&gt;
**'''урл картинки - первый me''' ''(fbstoryurlpicme)'' - Шаблон урла картинки при первом успешном me;&lt;br /&gt;
**'''имя действия - кастомное''' ''(fbstoryactioncustom)'' - Имя действия при первом успешном me;&lt;br /&gt;
**'''имя объекта - кастомное''' ''(fbstoryobjectcustom)'' - Имя объекта при первом успешном me;&lt;br /&gt;
**'''урл - кастомное''' ''(fbstoryurlcustom)'' - Шаблон урла при первом успешном me;&lt;br /&gt;
**'''урл картинки - кастомное''' ''(fbstoryurlpiccustom)'' - Шаблон урла картинки при первом успешном me;&lt;br /&gt;
**'''forced login - кастомное''' ''(fbstoryforcedcustom)'' - Принудительный логин при вызове состояния. ДЕЙСТВУЕТ ТОЛЬКО НА ОДИН ВЫЗОВ, потом сбрасывается в 0; нет=0,да=1.&lt;br /&gt;
&lt;br /&gt;
*'''adjust'''&lt;br /&gt;
**'''включить adjust''' ''(adjust_on)'' - нет=0, да=1; &lt;br /&gt;
**'''инвайт для iOS''' ''(adjinvite_ios)'';&lt;br /&gt;
**'''инвайт для Ansroid''' ''(adjinvite_andrd)''.&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - инвайт принят''' ''(nst_invite)'' - изменить состояние объекта при принятии инвайта.&lt;br /&gt;
*'''изменить состояние объекта - успех задачи''' ''(nst_compl_task)'' - изменить состояние объекта при успешном выполнении задачи&lt;br /&gt;
*'''изменить состояние объекта - ошибка задачи - Facebook''' ''(nst_err_task)'' - изменить состояние объекта при ошибке выполнения задачи - Facebook&lt;br /&gt;
*'''изменить состояние объекта - ошибка задачи - Google''' ''(nst_err_task_google)'' - изменить состояние объекта при ошибке выполнения задачи - Google&lt;br /&gt;
*'''изменить состояние объекта - превышено число подарков в день''' ''(nst_many_gifts)'' - изменить состояние объекта при ошибке выполнения задачи&lt;br /&gt;
*'''изменить состояние объекта - превышено число подарков одному другу''' ''(nst_many_gifts_fr)'' - изменить состояние объекта при ошибке выполнения задачи&lt;br /&gt;
*'''изменить состояние объекта - заход в приложение через соц. сеть''' ''(nst_from_social_net)'' - изменить состояние объекта - заход в приложение через соц. сеть&lt;br /&gt;
*'''изменить состояние объекта - получен в подарок объект из вишлиста''' ''(nst_wishlist_got)'' - изменить состояние объекта - получен в подарок объект из вишлиста&lt;br /&gt;
*'''изменить состояние объекта - заполнена таблица с подарками''' ''(nst_gifts_table)'' - изменить состояние объекта - заполнена таблица с подарками&lt;br /&gt;
*'''изменить состояние объекта - клик по пустому вишлисту''' ''(nst_empty_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
*'''изменить состояние объекта - клик по непустому вишлисту''' ''(nst_norm_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
*'''изменить состояние объекта - клик по вип''' ''(nst_vip_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
*'''изменить состояние объекта - fb post story''' ''(nst_fbpoststory)'' - изменить состояние объекта - fb post story&lt;br /&gt;
*'''изменить состояние объекта - инвайт отослан''' ''(nst_invite_sent)'' - изменить состояние объекта - инвайт отослан&lt;br /&gt;
*'''изменить состояние объекта - гифт отослан''' ''(nst_gift_sent)'' - изменить состояние объекта - гифт отослан&lt;br /&gt;
*'''изменить состояние объекта - внешний лайк - успех''' ''(nst_externallike_yes)'' - изменить состояние объекта - внешний лайк - успех&lt;br /&gt;
*'''изменить состояние объекта - внешний лайк - отмена''' ''(nst_externallike_no)'' - изменить состояние объекта - внешний лайк - отмена&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' ''(nst_energy_above_max)'' - изменить состояние объекта - дарим энергию выше max&lt;br /&gt;
*'''изменить состояние объекта - состоялось вступление в сообщество''' ''(nst_join_community)'' - изменить состояние объекта - состоялось вступление в сообщество&lt;br /&gt;
*'''изменить состояние объекта - попросили подарок''' ''(nst_ask_gift)'' - изменить состояние объекта - попросили подарок&lt;br /&gt;
*'''изменить состояние объекта - слишком много запросов подарков''' ''(nst_ask_fail)'' - изменить состояние объекта - попросили подарок&lt;br /&gt;
*'''изменить состояние объекта - заполнена таблица с запросами подарков''' ''(nst_asks_table)'' - изменить состояние объекта - заполнена таблица с запросами подарков&lt;br /&gt;
*'''изменить состояние объекта - логин через эппл (успех)''' ''(nst_apple_success)'' - изменить состояние объекта - огин через эппл (успех)&lt;br /&gt;
*'''изменить состояние объекта - логин через эппл (ошибка)''' ''(nst_apple_fail)'' - изменить состояние объекта - огин через эппл (ошибка)&lt;br /&gt;
*'''еще одна табличка для вишлиста''' ''(one_more_wishlist)'' - еще одна табличка для вишлиста&lt;br /&gt;
*'''еще одна экономика''' ''(one_more_economics)'' - еще одна экономика&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9923</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9923"/>
		<updated>2020-07-30T11:01:48Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Обработчики */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' ''(facebook)'' - Ссылка на объект типа ''[[Facebook]]'', с которым будет работать объект.&lt;br /&gt;
*'''economics''' ''(economics)'' - Ссылка на объект типа ''[[Economics]]'', с которым будет работать объект.&lt;br /&gt;
*'''esocialfrienditem''' ''(esocialfrienditem)'' - Ссылка на объект типа ''[[esocialfrienditem]]'', с которым будет работать объект.&lt;br /&gt;
*'''таблица друзей''' ''(friends)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends&lt;br /&gt;
*'''таблица приглашаемых друзей''' ''(friendsnotinst)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst&lt;br /&gt;
*'''шаблон вверху таблтицы''' ''(invtemplate)'' - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан&lt;br /&gt;
*'''индикатор активности''' ''(activity)'' - Объект - индикатор активности. Будем менять ему визибл&lt;br /&gt;
*'''опции для facebook''' ''(fbopt)'' - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.&lt;br /&gt;
*'''социальная сеть''' ''(socialnet)'' - социальная сеть: фейсбук=0,гугл=1,обе=2.&lt;br /&gt;
*'''дублировать очки в parse''' ''(parse)'' - дублировать очки в parse: нет=0,да=1.&lt;br /&gt;
*'''лидерборд parse''' ''(parselb)'' - Имя главной таблицы в parse.&lt;br /&gt;
*'''перемешивать приглашаемых''' ''(shuffleinv)'' - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.&lt;br /&gt;
*'''добавлять из лидербордов''' ''(addinv)'' - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).&lt;br /&gt;
*'''прятать приглашенных''' ''(hideinv)'' - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.&lt;br /&gt;
*'''размер аватарки''' ''(picsize)'' - размер автарки (value=&amp;quot;128&amp;quot; min=&amp;quot;32&amp;quot;).&lt;br /&gt;
*'''проверять группу''' ''(checkgroup)'' - Проверять вхождение в группу с id.&lt;br /&gt;
*'''вступать в сообщество''' ''(joincommunity)'' - вступать в сообщество (пока только вконтакте).&lt;br /&gt;
*'''дарение коллекционных''' ''(gift_type)'' - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.&lt;br /&gt;
*'''подарки через parse''' ''(gift_parse)'' - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' ''(gift_en_id)'' - подарок энергия id;&lt;br /&gt;
**'''подарок энергия количество''' ''(gift_en_amount)'' - подарок энергия количество;&lt;br /&gt;
**'''учитывать максимум энергии''' ''(gift_en_max)'' - 0 - не учитывать, 1 - учитывать; нет=0,да=1; &lt;br /&gt;
**'''подарок монеты id''' ''(gift_res1_id)'' - подарок монеты id;&lt;br /&gt;
**'''подарок монеты количество''' ''(gift_res1_amount)'' - подарок монеты количество;&lt;br /&gt;
**'''принимать подарки не чаще (сек)''' ''(gift_delay)'' - Принимать подарки с ресурсами не чаще заданного количества секунд. Работает только для энергии/res1 и только для парсовых подарков.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''текст''' ''(wishtxt)'' - Общий текст запроса подарка;&lt;br /&gt;
**'''завершающий текст''' ''(wishtxt2)'' - Текст, который будет добавлен после списка предметов;&lt;br /&gt;
**'''таблица''' ''(wishtbl)'' - Таблица, куда сложим множественный запрос подарков;&lt;br /&gt;
**'''ссылка''' ''(href)'' - Ссылка для публикации вишлиста на стене гугл.&lt;br /&gt;
&lt;br /&gt;
*'''отправка подарка'''&lt;br /&gt;
**'''заголовок''' ''(gift_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(gift_m)'' - текст инвайта;&lt;br /&gt;
**'''ограничение''' ''(gift_max)'' - ограничение на число подарков в день;&lt;br /&gt;
**'''счетчик''' ''(gift_cnt)'' - счетчик текущих подарков;&lt;br /&gt;
**'''заголовок уведомления''' ''(gift_not_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение уведомления''' ''(gift_not_m)'' - сообщение уведомления;&lt;br /&gt;
**'''viber url''' ''(gift_viber_url)'' - viber url инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''заголовок''' ''(ask_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(ask_m)'' - текст инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' ''(wndcolgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icocolgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtcolgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dsccolgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialfrienditem''' ''(itemcolgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(tblcolgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения с двумя списками'''&lt;br /&gt;
**'''скроллить таблицы''' ''(scroll_gifts)'' - Скроллть таблицы; &lt;br /&gt;
**'''esocialfrienditem''' ''(fritwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(frtblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''esocialgiftitem''' ''(giitwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка''' ''(icowndgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtwndgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dscwndgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialgiftitem инв.''' ''(giitwndgift_i)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков инв.''' ''(gitblwndgift_i)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из лидербордов'''&lt;br /&gt;
**'''иконка друга''' ''(icofrwndgift)'' - Иконка друга;&lt;br /&gt;
**'''имя друга''' ''(txtfrwndgift)'' - Имя друга;&lt;br /&gt;
**'''таблица вишлиста''' ''(wishtblwndgift)'' - Таблица вишлиста друга;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift2)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка выбранного подарка''' ''(icofrgiwndgift)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка''' ''(cntfrgiwndgift)'' - Цена выбранного подарка;&lt;br /&gt;
**'''иконка выбранного подарка 2''' ''(icofrgiwndgift2)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка 2''' ''(cntfrgiwndgift2)'' - Цена выбранного подарка.&lt;br /&gt;
&lt;br /&gt;
*'''окно приема подарка'''&lt;br /&gt;
**'''окно''' ''(wndgetgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icogetgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtgetgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''имя''' ''(namegetgift)'' - Тектовый объект куда будет занесено имя друга;&lt;br /&gt;
**'''аватарка''' ''(avagetgift)'' - Аватарка друга;&lt;br /&gt;
**'''giftreceiveitem''' ''(giftreceiveitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftreceivetable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
*'''окно входящих запросов подарков'''&lt;br /&gt;
**'''giftreceiveitem''' ''(giftaskitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftasktable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''инвайт'''&lt;br /&gt;
**'''заголовок''' ''(invite_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(invite_m)'' - текст инвайта;&lt;br /&gt;
**'''viber url''' ''(invite_viber_url)'' - viber url инвайта;&lt;br /&gt;
**'''время повтора''' ''(invite_tm)'' - время в секундах, когда можно повторно пригласить того же игрочка.&lt;br /&gt;
&lt;br /&gt;
*'''успешный инвайт'''&lt;br /&gt;
**'''окно''' ''(invsuc_w)'' - само окошко успешного инвайта, должно иметь состояние show, на закрытие вызывать next_inv есошиалу;&lt;br /&gt;
**'''портрет''' ''(invite_i)'' - портрет игрока;&lt;br /&gt;
**'''имя''' ''(invite_n)'' - имя игрока;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Остальное==&lt;br /&gt;
&lt;br /&gt;
*'''случайные друзья'''&lt;br /&gt;
**'''таблица случайных друзей''' ''(friendrandom)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_random;&lt;br /&gt;
**'''количество''' ''(frrandomnum)'' - Количество случайных друзей в таблицу.&lt;br /&gt;
&lt;br /&gt;
*'''уведомление другу'''&lt;br /&gt;
**'''заголовок''' ''(notif_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение''' ''(notif_m)'' - текст уведомления.&lt;br /&gt;
&lt;br /&gt;
*'''facebook story'''&lt;br /&gt;
**'''имя действия - первый me''' ''(fbstoryactionme)'' - Имя действия при первом успешном me;&lt;br /&gt;
**'''имя объекта - первый me''' ''(fbstoryobjectme)'' - Имя объекта при первом успешном me;&lt;br /&gt;
**'''урл - первый me''' ''(fbstoryurlme)'' - Шаблон урла при первом успешном me;&lt;br /&gt;
**'''урл картинки - первый me''' ''(fbstoryurlpicme)'' - Шаблон урла картинки при первом успешном me;&lt;br /&gt;
**'''имя действия - кастомное''' ''(fbstoryactioncustom)'' - Имя действия при первом успешном me;&lt;br /&gt;
**'''имя объекта - кастомное''' ''(fbstoryobjectcustom)'' - Имя объекта при первом успешном me;&lt;br /&gt;
**'''урл - кастомное''' ''(fbstoryurlcustom)'' - Шаблон урла при первом успешном me;&lt;br /&gt;
**'''урл картинки - кастомное''' ''(fbstoryurlpiccustom)'' - Шаблон урла картинки при первом успешном me;&lt;br /&gt;
**'''forced login - кастомное''' ''(fbstoryforcedcustom)'' - Принудительный логин при вызове состояния. ДЕЙСТВУЕТ ТОЛЬКО НА ОДИН ВЫЗОВ, потом сбрасывается в 0; нет=0,да=1.&lt;br /&gt;
&lt;br /&gt;
*'''adjust'''&lt;br /&gt;
**'''включить adjust''' ''(adjust_on)'' - нет=0, да=1; &lt;br /&gt;
**'''инвайт для iOS''' ''(adjinvite_ios)'';&lt;br /&gt;
**'''инвайт для Ansroid''' ''(adjinvite_andrd)''.&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - инвайт принят''' ''(nst_invite)'' - изменить состояние объекта при принятии инвайта.&lt;br /&gt;
**'''объект''' ''(obj)'' - После принятия инвайта изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - успех задачи''' ''(nst_compl_task)'' - изменить состояние объекта при успешном выполнении задачи&lt;br /&gt;
**'''объект''' ''(obj)'' - После успешного выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - ошибка задачи - Facebook''' ''(nst_err_task)'' - изменить состояние объекта при ошибке выполнения задачи - Facebook&lt;br /&gt;
**'''объект''' ''(obj)'' - После ошибки выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - ошибка задачи - Google''' ''(nst_err_task_google)'' - изменить состояние объекта при ошибке выполнения задачи - Google&lt;br /&gt;
**'''объект''' ''(obj)'' - После ошибки выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - превышено число подарков в день''' ''(nst_many_gifts)'' - изменить состояние объекта при ошибке выполнения задачи&lt;br /&gt;
**'''объект''' ''(obj)'' - После ошибки выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - превышено число подарков одному другу''' ''(nst_many_gifts_fr)'' - изменить состояние объекта при ошибке выполнения задачи&lt;br /&gt;
**'''объект''' ''(obj)'' - После ошибки выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - заход в приложение через соц. сеть''' ''(nst_from_social_net)'' - изменить состояние объекта - заход в приложение через соц. сеть&lt;br /&gt;
**'''объект''' ''(obj)'' - После ошибки выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - получен в подарок объект из вишлиста''' ''(nst_wishlist_got)'' - изменить состояние объекта - получен в подарок объект из вишлиста&lt;br /&gt;
**'''объект''' ''(obj)'' - После ошибки выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - заполнена таблица с подарками''' ''(nst_gifts_table)'' - изменить состояние объекта - заполнена таблица с подарками&lt;br /&gt;
**'''объект''' ''(obj)'' - После ошибки выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - клик по пустому вишлисту''' ''(nst_empty_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - клик по пустому вишлисту.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - клик по непустому вишлисту''' ''(nst_norm_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - клик по пустому вишлисту.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - клик по вип''' ''(nst_vip_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - клик по пустому вишлисту.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - fb post story''' ''(nst_fbpoststory)'' - изменить состояние объекта - fb post story&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - fb post story.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - инвайт отослан''' ''(nst_invite_sent)'' - изменить состояние объекта - инвайт отослан&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - инвайт отослан.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - гифт отослан''' ''(nst_gift_sent)'' - изменить состояние объекта - гифт отослан&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - инвайт отослан.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - внешний лайк - успех''' ''(nst_externallike_yes)'' - изменить состояние объекта - внешний лайк - успех&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - внешний лайк - успех.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - внешний лайк - отмена''' ''(nst_externallike_no)'' - изменить состояние объекта - внешний лайк - отмена&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - внешний лайк - отмена.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' ''(nst_energy_above_max)'' - изменить состояние объекта - дарим энергию выше max&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - внешний лайк - отмена.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - состоялось вступление в сообщество''' ''(nst_join_community)'' - изменить состояние объекта - состоялось вступление в сообщество&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - внешний лайк - отмена.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - попросили подарок''' ''(nst_ask_gift)'' - изменить состояние объекта - попросили подарок&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - попросили подарок.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - слишком много запросов подарков''' ''(nst_ask_fail)'' - изменить состояние объекта - попросили подарок&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта - попросили подарок.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - заполнена таблица с запросами подарков''' ''(nst_asks_table)'' - изменить состояние объекта - заполнена таблица с запросами подарков&lt;br /&gt;
**'''объект''' ''(obj)'' - После ошибки выполнения задачи изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - логин через эппл (успех)''' ''(nst_apple_success)'' - изменить состояние объекта - огин через эппл (успех)&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''изменить состояние объекта - логин через эппл (ошибка)''' ''(nst_apple_fail)'' - изменить состояние объекта - огин через эппл (ошибка)&lt;br /&gt;
**'''объект''' ''(obj)'' - изменить состояние объекта.&lt;br /&gt;
**'''состояние''' ''(st)'' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''еще одна табличка для вишлиста''' ''(one_more_wishlist)'' - еще одна табличка для вишлиста&lt;br /&gt;
**'''объект''' ''(obj&amp;quot; hint=&amp;quot;Объект типа таблица.&lt;br /&gt;
&lt;br /&gt;
*'''еще одна экономика''' ''(one_more_economics)'' - еще одна экономика&lt;br /&gt;
**'''объект''' ''(obj&amp;quot; hint=&amp;quot;Объект типа экономика.&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9922</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9922"/>
		<updated>2020-07-30T10:52:52Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' ''(facebook)'' - Ссылка на объект типа ''[[Facebook]]'', с которым будет работать объект.&lt;br /&gt;
*'''economics''' ''(economics)'' - Ссылка на объект типа ''[[Economics]]'', с которым будет работать объект.&lt;br /&gt;
*'''esocialfrienditem''' ''(esocialfrienditem)'' - Ссылка на объект типа ''[[esocialfrienditem]]'', с которым будет работать объект.&lt;br /&gt;
*'''таблица друзей''' ''(friends)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends&lt;br /&gt;
*'''таблица приглашаемых друзей''' ''(friendsnotinst)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst&lt;br /&gt;
*'''шаблон вверху таблтицы''' ''(invtemplate)'' - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан&lt;br /&gt;
*'''индикатор активности''' ''(activity)'' - Объект - индикатор активности. Будем менять ему визибл&lt;br /&gt;
*'''опции для facebook''' ''(fbopt)'' - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.&lt;br /&gt;
*'''социальная сеть''' ''(socialnet)'' - социальная сеть: фейсбук=0,гугл=1,обе=2.&lt;br /&gt;
*'''дублировать очки в parse''' ''(parse)'' - дублировать очки в parse: нет=0,да=1.&lt;br /&gt;
*'''лидерборд parse''' ''(parselb)'' - Имя главной таблицы в parse.&lt;br /&gt;
*'''перемешивать приглашаемых''' ''(shuffleinv)'' - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.&lt;br /&gt;
*'''добавлять из лидербордов''' ''(addinv)'' - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).&lt;br /&gt;
*'''прятать приглашенных''' ''(hideinv)'' - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.&lt;br /&gt;
*'''размер аватарки''' ''(picsize)'' - размер автарки (value=&amp;quot;128&amp;quot; min=&amp;quot;32&amp;quot;).&lt;br /&gt;
*'''проверять группу''' ''(checkgroup)'' - Проверять вхождение в группу с id.&lt;br /&gt;
*'''вступать в сообщество''' ''(joincommunity)'' - вступать в сообщество (пока только вконтакте).&lt;br /&gt;
*'''дарение коллекционных''' ''(gift_type)'' - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.&lt;br /&gt;
*'''подарки через parse''' ''(gift_parse)'' - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' ''(gift_en_id)'' - подарок энергия id;&lt;br /&gt;
**'''подарок энергия количество''' ''(gift_en_amount)'' - подарок энергия количество;&lt;br /&gt;
**'''учитывать максимум энергии''' ''(gift_en_max)'' - 0 - не учитывать, 1 - учитывать; нет=0,да=1; &lt;br /&gt;
**'''подарок монеты id''' ''(gift_res1_id)'' - подарок монеты id;&lt;br /&gt;
**'''подарок монеты количество''' ''(gift_res1_amount)'' - подарок монеты количество;&lt;br /&gt;
**'''принимать подарки не чаще (сек)''' ''(gift_delay)'' - Принимать подарки с ресурсами не чаще заданного количества секунд. Работает только для энергии/res1 и только для парсовых подарков.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''текст''' ''(wishtxt)'' - Общий текст запроса подарка;&lt;br /&gt;
**'''завершающий текст''' ''(wishtxt2)'' - Текст, который будет добавлен после списка предметов;&lt;br /&gt;
**'''таблица''' ''(wishtbl)'' - Таблица, куда сложим множественный запрос подарков;&lt;br /&gt;
**'''ссылка''' ''(href)'' - Ссылка для публикации вишлиста на стене гугл.&lt;br /&gt;
&lt;br /&gt;
*'''отправка подарка'''&lt;br /&gt;
**'''заголовок''' ''(gift_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(gift_m)'' - текст инвайта;&lt;br /&gt;
**'''ограничение''' ''(gift_max)'' - ограничение на число подарков в день;&lt;br /&gt;
**'''счетчик''' ''(gift_cnt)'' - счетчик текущих подарков;&lt;br /&gt;
**'''заголовок уведомления''' ''(gift_not_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение уведомления''' ''(gift_not_m)'' - сообщение уведомления;&lt;br /&gt;
**'''viber url''' ''(gift_viber_url)'' - viber url инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''заголовок''' ''(ask_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(ask_m)'' - текст инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' ''(wndcolgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icocolgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtcolgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dsccolgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialfrienditem''' ''(itemcolgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(tblcolgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения с двумя списками'''&lt;br /&gt;
**'''скроллить таблицы''' ''(scroll_gifts)'' - Скроллть таблицы; &lt;br /&gt;
**'''esocialfrienditem''' ''(fritwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(frtblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''esocialgiftitem''' ''(giitwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка''' ''(icowndgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtwndgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dscwndgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialgiftitem инв.''' ''(giitwndgift_i)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков инв.''' ''(gitblwndgift_i)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из лидербордов'''&lt;br /&gt;
**'''иконка друга''' ''(icofrwndgift)'' - Иконка друга;&lt;br /&gt;
**'''имя друга''' ''(txtfrwndgift)'' - Имя друга;&lt;br /&gt;
**'''таблица вишлиста''' ''(wishtblwndgift)'' - Таблица вишлиста друга;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift2)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка выбранного подарка''' ''(icofrgiwndgift)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка''' ''(cntfrgiwndgift)'' - Цена выбранного подарка;&lt;br /&gt;
**'''иконка выбранного подарка 2''' ''(icofrgiwndgift2)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка 2''' ''(cntfrgiwndgift2)'' - Цена выбранного подарка.&lt;br /&gt;
&lt;br /&gt;
*'''окно приема подарка'''&lt;br /&gt;
**'''окно''' ''(wndgetgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icogetgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtgetgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''имя''' ''(namegetgift)'' - Тектовый объект куда будет занесено имя друга;&lt;br /&gt;
**'''аватарка''' ''(avagetgift)'' - Аватарка друга;&lt;br /&gt;
**'''giftreceiveitem''' ''(giftreceiveitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftreceivetable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
*'''окно входящих запросов подарков'''&lt;br /&gt;
**'''giftreceiveitem''' ''(giftaskitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftasktable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''инвайт'''&lt;br /&gt;
**'''заголовок''' ''(invite_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(invite_m)'' - текст инвайта;&lt;br /&gt;
**'''viber url''' ''(invite_viber_url)'' - viber url инвайта;&lt;br /&gt;
**'''время повтора''' ''(invite_tm)'' - время в секундах, когда можно повторно пригласить того же игрочка.&lt;br /&gt;
&lt;br /&gt;
*'''успешный инвайт'''&lt;br /&gt;
**'''окно''' ''(invsuc_w)'' - само окошко успешного инвайта, должно иметь состояние show, на закрытие вызывать next_inv есошиалу;&lt;br /&gt;
**'''портрет''' ''(invite_i)'' - портрет игрока;&lt;br /&gt;
**'''имя''' ''(invite_n)'' - имя игрока;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Остальное==&lt;br /&gt;
&lt;br /&gt;
*'''случайные друзья'''&lt;br /&gt;
**'''таблица случайных друзей''' ''(friendrandom)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_random;&lt;br /&gt;
**'''количество''' ''(frrandomnum)'' - Количество случайных друзей в таблицу.&lt;br /&gt;
&lt;br /&gt;
*'''уведомление другу'''&lt;br /&gt;
**'''заголовок''' ''(notif_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение''' ''(notif_m)'' - текст уведомления.&lt;br /&gt;
&lt;br /&gt;
*'''facebook story'''&lt;br /&gt;
**'''имя действия - первый me''' ''(fbstoryactionme)'' - Имя действия при первом успешном me;&lt;br /&gt;
**'''имя объекта - первый me''' ''(fbstoryobjectme)'' - Имя объекта при первом успешном me;&lt;br /&gt;
**'''урл - первый me''' ''(fbstoryurlme)'' - Шаблон урла при первом успешном me;&lt;br /&gt;
**'''урл картинки - первый me''' ''(fbstoryurlpicme)'' - Шаблон урла картинки при первом успешном me;&lt;br /&gt;
**'''имя действия - кастомное''' ''(fbstoryactioncustom)'' - Имя действия при первом успешном me;&lt;br /&gt;
**'''имя объекта - кастомное''' ''(fbstoryobjectcustom)'' - Имя объекта при первом успешном me;&lt;br /&gt;
**'''урл - кастомное''' ''(fbstoryurlcustom)'' - Шаблон урла при первом успешном me;&lt;br /&gt;
**'''урл картинки - кастомное''' ''(fbstoryurlpiccustom)'' - Шаблон урла картинки при первом успешном me;&lt;br /&gt;
**'''forced login - кастомное''' ''(fbstoryforcedcustom)'' - Принудительный логин при вызове состояния. ДЕЙСТВУЕТ ТОЛЬКО НА ОДИН ВЫЗОВ, потом сбрасывается в 0; нет=0,да=1.&lt;br /&gt;
&lt;br /&gt;
*'''adjust'''&lt;br /&gt;
**'''включить adjust''' ''(adjust_on)'' - нет=0, да=1; &lt;br /&gt;
**'''инвайт для iOS''' ''(adjinvite_ios)'';&lt;br /&gt;
**'''инвайт для Ansroid''' ''(adjinvite_andrd)''.&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.&lt;br /&gt;
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние&lt;br /&gt;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9921</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9921"/>
		<updated>2020-07-30T10:50:57Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Инвайты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' ''(facebook)'' - Ссылка на объект типа ''[[Facebook]]'', с которым будет работать объект.&lt;br /&gt;
*'''economics''' ''(economics)'' - Ссылка на объект типа ''[[Economics]]'', с которым будет работать объект.&lt;br /&gt;
*'''esocialfrienditem''' ''(esocialfrienditem)'' - Ссылка на объект типа ''[[esocialfrienditem]]'', с которым будет работать объект.&lt;br /&gt;
*'''таблица друзей''' ''(friends)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends&lt;br /&gt;
*'''таблица приглашаемых друзей''' ''(friendsnotinst)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst&lt;br /&gt;
*'''шаблон вверху таблтицы''' ''(invtemplate)'' - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан&lt;br /&gt;
*'''индикатор активности''' ''(activity)'' - Объект - индикатор активности. Будем менять ему визибл&lt;br /&gt;
*'''опции для facebook''' ''(fbopt)'' - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.&lt;br /&gt;
*'''социальная сеть''' ''(socialnet)'' - социальная сеть: фейсбук=0,гугл=1,обе=2.&lt;br /&gt;
*'''дублировать очки в parse''' ''(parse)'' - дублировать очки в parse: нет=0,да=1.&lt;br /&gt;
*'''лидерборд parse''' ''(parselb)'' - Имя главной таблицы в parse.&lt;br /&gt;
*'''перемешивать приглашаемых''' ''(shuffleinv)'' - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.&lt;br /&gt;
*'''добавлять из лидербордов''' ''(addinv)'' - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).&lt;br /&gt;
*'''прятать приглашенных''' ''(hideinv)'' - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.&lt;br /&gt;
*'''размер аватарки''' ''(picsize)'' - размер автарки (value=&amp;quot;128&amp;quot; min=&amp;quot;32&amp;quot;).&lt;br /&gt;
*'''проверять группу''' ''(checkgroup)'' - Проверять вхождение в группу с id.&lt;br /&gt;
*'''вступать в сообщество''' ''(joincommunity)'' - вступать в сообщество (пока только вконтакте).&lt;br /&gt;
*'''дарение коллекционных''' ''(gift_type)'' - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.&lt;br /&gt;
*'''подарки через parse''' ''(gift_parse)'' - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' ''(gift_en_id)'' - подарок энергия id;&lt;br /&gt;
**'''подарок энергия количество''' ''(gift_en_amount)'' - подарок энергия количество;&lt;br /&gt;
**'''учитывать максимум энергии''' ''(gift_en_max)'' - 0 - не учитывать, 1 - учитывать; нет=0,да=1; &lt;br /&gt;
**'''подарок монеты id''' ''(gift_res1_id)'' - подарок монеты id;&lt;br /&gt;
**'''подарок монеты количество''' ''(gift_res1_amount)'' - подарок монеты количество;&lt;br /&gt;
**'''принимать подарки не чаще (сек)''' ''(gift_delay)'' - Принимать подарки с ресурсами не чаще заданного количества секунд. Работает только для энергии/res1 и только для парсовых подарков.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''текст''' ''(wishtxt)'' - Общий текст запроса подарка;&lt;br /&gt;
**'''завершающий текст''' ''(wishtxt2)'' - Текст, который будет добавлен после списка предметов;&lt;br /&gt;
**'''таблица''' ''(wishtbl)'' - Таблица, куда сложим множественный запрос подарков;&lt;br /&gt;
**'''ссылка''' ''(href)'' - Ссылка для публикации вишлиста на стене гугл.&lt;br /&gt;
&lt;br /&gt;
*'''отправка подарка'''&lt;br /&gt;
**'''заголовок''' ''(gift_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(gift_m)'' - текст инвайта;&lt;br /&gt;
**'''ограничение''' ''(gift_max)'' - ограничение на число подарков в день;&lt;br /&gt;
**'''счетчик''' ''(gift_cnt)'' - счетчик текущих подарков;&lt;br /&gt;
**'''заголовок уведомления''' ''(gift_not_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение уведомления''' ''(gift_not_m)'' - сообщение уведомления;&lt;br /&gt;
**'''viber url''' ''(gift_viber_url)'' - viber url инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''заголовок''' ''(ask_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(ask_m)'' - текст инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' ''(wndcolgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icocolgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtcolgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dsccolgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialfrienditem''' ''(itemcolgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(tblcolgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения с двумя списками'''&lt;br /&gt;
**'''скроллить таблицы''' ''(scroll_gifts)'' - Скроллть таблицы; &lt;br /&gt;
**'''esocialfrienditem''' ''(fritwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(frtblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''esocialgiftitem''' ''(giitwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка''' ''(icowndgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtwndgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dscwndgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialgiftitem инв.''' ''(giitwndgift_i)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков инв.''' ''(gitblwndgift_i)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из лидербордов'''&lt;br /&gt;
**'''иконка друга''' ''(icofrwndgift)'' - Иконка друга;&lt;br /&gt;
**'''имя друга''' ''(txtfrwndgift)'' - Имя друга;&lt;br /&gt;
**'''таблица вишлиста''' ''(wishtblwndgift)'' - Таблица вишлиста друга;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift2)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка выбранного подарка''' ''(icofrgiwndgift)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка''' ''(cntfrgiwndgift)'' - Цена выбранного подарка;&lt;br /&gt;
**'''иконка выбранного подарка 2''' ''(icofrgiwndgift2)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка 2''' ''(cntfrgiwndgift2)'' - Цена выбранного подарка.&lt;br /&gt;
&lt;br /&gt;
*'''окно приема подарка'''&lt;br /&gt;
**'''окно''' ''(wndgetgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icogetgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtgetgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''имя''' ''(namegetgift)'' - Тектовый объект куда будет занесено имя друга;&lt;br /&gt;
**'''аватарка''' ''(avagetgift)'' - Аватарка друга;&lt;br /&gt;
**'''giftreceiveitem''' ''(giftreceiveitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftreceivetable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
*'''окно входящих запросов подарков'''&lt;br /&gt;
**'''giftreceiveitem''' ''(giftaskitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftasktable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''инвайт'''&lt;br /&gt;
**'''заголовок''' ''(invite_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(invite_m)'' - текст инвайта;&lt;br /&gt;
**'''viber url''' ''(invite_viber_url)'' - viber url инвайта;&lt;br /&gt;
**'''время повтора''' ''(invite_tm)'' - время в секундах, когда можно повторно пригласить того же игрочка.&lt;br /&gt;
&lt;br /&gt;
*'''успешный инвайт'''&lt;br /&gt;
**'''окно''' ''(invsuc_w)'' - само окошко успешного инвайта, должно иметь состояние show, на закрытие вызывать next_inv есошиалу;&lt;br /&gt;
**'''портрет''' ''(invite_i)'' - портрет игрока;&lt;br /&gt;
**'''имя''' ''(invite_n)'' - имя игрока;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.&lt;br /&gt;
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние&lt;br /&gt;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9920</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9920"/>
		<updated>2020-07-30T10:50:20Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Подарки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' ''(facebook)'' - Ссылка на объект типа ''[[Facebook]]'', с которым будет работать объект.&lt;br /&gt;
*'''economics''' ''(economics)'' - Ссылка на объект типа ''[[Economics]]'', с которым будет работать объект.&lt;br /&gt;
*'''esocialfrienditem''' ''(esocialfrienditem)'' - Ссылка на объект типа ''[[esocialfrienditem]]'', с которым будет работать объект.&lt;br /&gt;
*'''таблица друзей''' ''(friends)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends&lt;br /&gt;
*'''таблица приглашаемых друзей''' ''(friendsnotinst)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst&lt;br /&gt;
*'''шаблон вверху таблтицы''' ''(invtemplate)'' - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан&lt;br /&gt;
*'''индикатор активности''' ''(activity)'' - Объект - индикатор активности. Будем менять ему визибл&lt;br /&gt;
*'''опции для facebook''' ''(fbopt)'' - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.&lt;br /&gt;
*'''социальная сеть''' ''(socialnet)'' - социальная сеть: фейсбук=0,гугл=1,обе=2.&lt;br /&gt;
*'''дублировать очки в parse''' ''(parse)'' - дублировать очки в parse: нет=0,да=1.&lt;br /&gt;
*'''лидерборд parse''' ''(parselb)'' - Имя главной таблицы в parse.&lt;br /&gt;
*'''перемешивать приглашаемых''' ''(shuffleinv)'' - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.&lt;br /&gt;
*'''добавлять из лидербордов''' ''(addinv)'' - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).&lt;br /&gt;
*'''прятать приглашенных''' ''(hideinv)'' - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.&lt;br /&gt;
*'''размер аватарки''' ''(picsize)'' - размер автарки (value=&amp;quot;128&amp;quot; min=&amp;quot;32&amp;quot;).&lt;br /&gt;
*'''проверять группу''' ''(checkgroup)'' - Проверять вхождение в группу с id.&lt;br /&gt;
*'''вступать в сообщество''' ''(joincommunity)'' - вступать в сообщество (пока только вконтакте).&lt;br /&gt;
*'''дарение коллекционных''' ''(gift_type)'' - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.&lt;br /&gt;
*'''подарки через parse''' ''(gift_parse)'' - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' ''(gift_en_id)'' - подарок энергия id;&lt;br /&gt;
**'''подарок энергия количество''' ''(gift_en_amount)'' - подарок энергия количество;&lt;br /&gt;
**'''учитывать максимум энергии''' ''(gift_en_max)'' - 0 - не учитывать, 1 - учитывать; нет=0,да=1; &lt;br /&gt;
**'''подарок монеты id''' ''(gift_res1_id)'' - подарок монеты id;&lt;br /&gt;
**'''подарок монеты количество''' ''(gift_res1_amount)'' - подарок монеты количество;&lt;br /&gt;
**'''принимать подарки не чаще (сек)''' ''(gift_delay)'' - Принимать подарки с ресурсами не чаще заданного количества секунд. Работает только для энергии/res1 и только для парсовых подарков.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''текст''' ''(wishtxt)'' - Общий текст запроса подарка;&lt;br /&gt;
**'''завершающий текст''' ''(wishtxt2)'' - Текст, который будет добавлен после списка предметов;&lt;br /&gt;
**'''таблица''' ''(wishtbl)'' - Таблица, куда сложим множественный запрос подарков;&lt;br /&gt;
**'''ссылка''' ''(href)'' - Ссылка для публикации вишлиста на стене гугл.&lt;br /&gt;
&lt;br /&gt;
*'''отправка подарка'''&lt;br /&gt;
**'''заголовок''' ''(gift_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(gift_m)'' - текст инвайта;&lt;br /&gt;
**'''ограничение''' ''(gift_max)'' - ограничение на число подарков в день;&lt;br /&gt;
**'''счетчик''' ''(gift_cnt)'' - счетчик текущих подарков;&lt;br /&gt;
**'''заголовок уведомления''' ''(gift_not_t)'' - заголовок уведомления;&lt;br /&gt;
**'''сообщение уведомления''' ''(gift_not_m)'' - сообщение уведомления;&lt;br /&gt;
**'''viber url''' ''(gift_viber_url)'' - viber url инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''запрос подарка'''&lt;br /&gt;
**'''заголовок''' ''(ask_t)'' - заголовок инвайта;&lt;br /&gt;
**'''сообщение''' ''(ask_m)'' - текст инвайта.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' ''(wndcolgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icocolgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtcolgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dsccolgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialfrienditem''' ''(itemcolgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(tblcolgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения с двумя списками'''&lt;br /&gt;
**'''скроллить таблицы''' ''(scroll_gifts)'' - Скроллть таблицы; &lt;br /&gt;
**'''esocialfrienditem''' ''(fritwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица друзей''' ''(frtblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''esocialgiftitem''' ''(giitwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка''' ''(icowndgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtwndgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''описание (объект)''' ''(dscwndgift)'' - Текстовый объект в окошке, в который сложим описание предмета;&lt;br /&gt;
**'''esocialgiftitem инв.''' ''(giitwndgift_i)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;&lt;br /&gt;
**'''таблица подарков инв.''' ''(gitblwndgift_i)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.&lt;br /&gt;
&lt;br /&gt;
*'''окно дарения из лидербордов'''&lt;br /&gt;
**'''иконка друга''' ''(icofrwndgift)'' - Иконка друга;&lt;br /&gt;
**'''имя друга''' ''(txtfrwndgift)'' - Имя друга;&lt;br /&gt;
**'''таблица вишлиста''' ''(wishtblwndgift)'' - Таблица вишлиста друга;&lt;br /&gt;
**'''таблица подарков''' ''(gitblwndgift2)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;&lt;br /&gt;
**'''иконка выбранного подарка''' ''(icofrgiwndgift)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка''' ''(cntfrgiwndgift)'' - Цена выбранного подарка;&lt;br /&gt;
**'''иконка выбранного подарка 2''' ''(icofrgiwndgift2)'' - Иконка выбранного подарка;&lt;br /&gt;
**'''цена выбранного подарка 2''' ''(cntfrgiwndgift2)'' - Цена выбранного подарка.&lt;br /&gt;
&lt;br /&gt;
*'''окно приема подарка'''&lt;br /&gt;
**'''окно''' ''(wndgetgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;&lt;br /&gt;
**'''иконка''' ''(icogetgift)'' - Иконка предмета;&lt;br /&gt;
**'''текст (объект)''' ''(txtgetgift)'' - Текстовый объект в окошке;&lt;br /&gt;
**'''имя''' ''(namegetgift)'' - Тектовый объект куда будет занесено имя друга;&lt;br /&gt;
**'''аватарка''' ''(avagetgift)'' - Аватарка друга;&lt;br /&gt;
**'''giftreceiveitem''' ''(giftreceiveitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftreceivetable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
*'''окно входящих запросов подарков'''&lt;br /&gt;
**'''giftreceiveitem''' ''(giftaskitem)'' - Объект типа giftreceiveitem;&lt;br /&gt;
**'''таблица''' ''(giftasktable)'' - Таблица, в которую будем складывать giftreceiveitem.&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''Инвайт'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
&lt;br /&gt;
*'''Успешный инвайт'''&lt;br /&gt;
**'''Окно''' - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial&lt;br /&gt;
**'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook&lt;br /&gt;
**'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.&lt;br /&gt;
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние&lt;br /&gt;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9919</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9919"/>
		<updated>2020-07-30T10:08:12Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Общие */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' ''(facebook)'' - Ссылка на объект типа ''[[Facebook]]'', с которым будет работать объект.&lt;br /&gt;
*'''economics''' ''(economics)'' - Ссылка на объект типа ''[[Economics]]'', с которым будет работать объект.&lt;br /&gt;
*'''esocialfrienditem''' ''(esocialfrienditem)'' - Ссылка на объект типа ''[[esocialfrienditem]]'', с которым будет работать объект.&lt;br /&gt;
*'''таблица друзей''' ''(friends)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends&lt;br /&gt;
*'''таблица приглашаемых друзей''' ''(friendsnotinst)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst&lt;br /&gt;
*'''шаблон вверху таблтицы''' ''(invtemplate)'' - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан&lt;br /&gt;
*'''индикатор активности''' ''(activity)'' - Объект - индикатор активности. Будем менять ему визибл&lt;br /&gt;
*'''опции для facebook''' ''(fbopt)'' - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.&lt;br /&gt;
*'''социальная сеть''' ''(socialnet)'' - социальная сеть: фейсбук=0,гугл=1,обе=2.&lt;br /&gt;
*'''дублировать очки в parse''' ''(parse)'' - дублировать очки в parse: нет=0,да=1.&lt;br /&gt;
*'''лидерборд parse''' ''(parselb)'' - Имя главной таблицы в parse.&lt;br /&gt;
*'''перемешивать приглашаемых''' ''(shuffleinv)'' - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.&lt;br /&gt;
*'''добавлять из лидербордов''' ''(addinv)'' - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).&lt;br /&gt;
*'''прятать приглашенных''' ''(hideinv)'' - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.&lt;br /&gt;
*'''размер аватарки''' ''(picsize)'' - размер автарки (value=&amp;quot;128&amp;quot; min=&amp;quot;32&amp;quot;).&lt;br /&gt;
*'''проверять группу''' ''(checkgroup)'' - Проверять вхождение в группу с id.&lt;br /&gt;
*'''вступать в сообщество''' ''(joincommunity)'' - вступать в сообщество (пока только вконтакте).&lt;br /&gt;
*'''дарение коллекционных''' ''(gift_type)'' - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.&lt;br /&gt;
*'''подарки через parse''' ''(gift_parse)'' - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' - id предметы из экономики;&lt;br /&gt;
**'''подарок энергия количество''' - количество;&lt;br /&gt;
**'''учитывать максимум энергии''' - если да, то не будет начисляться энергия выше максимума;&lt;br /&gt;
&lt;br /&gt;
*'''Запрос подарка'''&lt;br /&gt;
**'''Текст'''  - текстовый id, в котором будет хранится текст типа:&amp;quot;Мне нужны коллекционные предметы:&amp;quot;. После &amp;quot;:&amp;quot; будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую.&lt;br /&gt;
**'''Таблица'''  - таблица, в которую будут сложены желаемые предметы из окна коллекции для последующего поста их на стену.&lt;br /&gt;
&lt;br /&gt;
*'''Отправка подарка'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Ограничение''' - максимальное количество отправленных подарков в день (может быть сброшено).&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' - машина состояния, которая будет показывать окно. Должна иметь состояние open.&lt;br /&gt;
**'''иконка''' - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку.&lt;br /&gt;
**'''текст (объект)''' - текстовый объект, в который сложится название предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''описание (объект)''' - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem.&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения с двумя списками'''&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу друзей.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem из поля выше.&lt;br /&gt;
**'''esocialgiftitem ''' - объект типа esocialgiftitem (темплейт подарка в таблице), который заполнит таблицу подарков.&lt;br /&gt;
**'''таблица подарков''' - ссылка на таблицу в которую мы клонируем объект esocialgiftitem из поля выше.&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''Инвайт'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
&lt;br /&gt;
*'''Успешный инвайт'''&lt;br /&gt;
**'''Окно''' - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial&lt;br /&gt;
**'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook&lt;br /&gt;
**'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.&lt;br /&gt;
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние&lt;br /&gt;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9918</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9918"/>
		<updated>2020-07-30T09:58:43Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Общие */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' - ссылка на объект ''[[facebook]]'', с которым будет работать объект&lt;br /&gt;
*'''esocialfriendsitem''' - ссылка на объект esocialfriendsitem, с которым будет работать объект&lt;br /&gt;
*'''таблица друзей''' - ссылка на таблицу, в которую будем клонировать esocialfriendsitem.&lt;br /&gt;
*'''индикатор активности''' - объект который видимый когда загружаются друзья. Видимость выключается, когда задача загрузки друзей выполнена (успех или провал не важно).&lt;br /&gt;
*'''опции для facebook''' - поле в опциях, куда мы будем записывать 32битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние&lt;br /&gt;
*'''социальная сеть''' - выбор социальной сети с которой взаимодействовать. На данный момент можно выбрать facebook, google+ и обе.&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' - id предметы из экономики;&lt;br /&gt;
**'''подарок энергия количество''' - количество;&lt;br /&gt;
**'''учитывать максимум энергии''' - если да, то не будет начисляться энергия выше максимума;&lt;br /&gt;
&lt;br /&gt;
*'''Запрос подарка'''&lt;br /&gt;
**'''Текст'''  - текстовый id, в котором будет хранится текст типа:&amp;quot;Мне нужны коллекционные предметы:&amp;quot;. После &amp;quot;:&amp;quot; будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую.&lt;br /&gt;
**'''Таблица'''  - таблица, в которую будут сложены желаемые предметы из окна коллекции для последующего поста их на стену.&lt;br /&gt;
&lt;br /&gt;
*'''Отправка подарка'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Ограничение''' - максимальное количество отправленных подарков в день (может быть сброшено).&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' - машина состояния, которая будет показывать окно. Должна иметь состояние open.&lt;br /&gt;
**'''иконка''' - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку.&lt;br /&gt;
**'''текст (объект)''' - текстовый объект, в который сложится название предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''описание (объект)''' - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem.&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения с двумя списками'''&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу друзей.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem из поля выше.&lt;br /&gt;
**'''esocialgiftitem ''' - объект типа esocialgiftitem (темплейт подарка в таблице), который заполнит таблицу подарков.&lt;br /&gt;
**'''таблица подарков''' - ссылка на таблицу в которую мы клонируем объект esocialgiftitem из поля выше.&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''Инвайт'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
&lt;br /&gt;
*'''Успешный инвайт'''&lt;br /&gt;
**'''Окно''' - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial&lt;br /&gt;
**'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook&lt;br /&gt;
**'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.&lt;br /&gt;
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние&lt;br /&gt;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9917</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9917"/>
		<updated>2020-07-30T09:58:22Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
==Общие==&lt;br /&gt;
&lt;br /&gt;
*'''facebook''' - ссылка на объект [[facebook]], с которым будет работать объект&lt;br /&gt;
*'''esocialfriendsitem''' - ссылка на объект esocialfriendsitem, с которым будет работать объект&lt;br /&gt;
*'''таблица друзей''' - ссылка на таблицу, в которую будем клонировать esocialfriendsitem.&lt;br /&gt;
*'''индикатор активности''' - объект который видимый когда загружаются друзья. Видимость выключается, когда задача загрузки друзей выполнена (успех или провал не важно).&lt;br /&gt;
*'''опции для facebook''' - поле в опциях, куда мы будем записывать 32битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние&lt;br /&gt;
*'''социальная сеть''' - выбор социальной сети с которой взаимодействовать. На данный момент можно выбрать facebook, google+ и обе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Подарки==&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' - id предметы из экономики;&lt;br /&gt;
**'''подарок энергия количество''' - количество;&lt;br /&gt;
**'''учитывать максимум энергии''' - если да, то не будет начисляться энергия выше максимума;&lt;br /&gt;
&lt;br /&gt;
*'''Запрос подарка'''&lt;br /&gt;
**'''Текст'''  - текстовый id, в котором будет хранится текст типа:&amp;quot;Мне нужны коллекционные предметы:&amp;quot;. После &amp;quot;:&amp;quot; будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую.&lt;br /&gt;
**'''Таблица'''  - таблица, в которую будут сложены желаемые предметы из окна коллекции для последующего поста их на стену.&lt;br /&gt;
&lt;br /&gt;
*'''Отправка подарка'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Ограничение''' - максимальное количество отправленных подарков в день (может быть сброшено).&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' - машина состояния, которая будет показывать окно. Должна иметь состояние open.&lt;br /&gt;
**'''иконка''' - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку.&lt;br /&gt;
**'''текст (объект)''' - текстовый объект, в который сложится название предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''описание (объект)''' - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem.&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения с двумя списками'''&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу друзей.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem из поля выше.&lt;br /&gt;
**'''esocialgiftitem ''' - объект типа esocialgiftitem (темплейт подарка в таблице), который заполнит таблицу подарков.&lt;br /&gt;
**'''таблица подарков''' - ссылка на таблицу в которую мы клонируем объект esocialgiftitem из поля выше.&lt;br /&gt;
&lt;br /&gt;
==Инвайты==&lt;br /&gt;
&lt;br /&gt;
*'''Инвайт'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
&lt;br /&gt;
*'''Успешный инвайт'''&lt;br /&gt;
**'''Окно''' - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial&lt;br /&gt;
**'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook&lt;br /&gt;
**'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Обработчики==&lt;br /&gt;
&lt;br /&gt;
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.&lt;br /&gt;
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние&lt;br /&gt;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9916</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9916"/>
		<updated>2020-07-30T09:38:22Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
*'''facebook''' - ссылка на объект [[facebook]], с которым будет работать объект&lt;br /&gt;
*'''esocialfriendsitem''' - ссылка на объект esocialfriendsitem, с которым будет работать объект&lt;br /&gt;
*'''таблица друзей''' - ссылка на таблицу, в которую будем клонировать esocialfriendsitem.&lt;br /&gt;
*'''индикатор активности''' - объект который видимый когда загружаются друзья. Видимость выключается, когда задача загрузки друзей выполнена (успех или провал не важно).&lt;br /&gt;
*'''опции для facebook''' - поле в опциях, куда мы будем записывать 32битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние&lt;br /&gt;
*'''социальная сеть''' - выбор социальной сети с которой взаимодействовать. На данный момент можно выбрать facebook, google+ и обе.&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' - id предметы из экономики;&lt;br /&gt;
**'''подарок энергия количество''' - количество;&lt;br /&gt;
**'''учитывать максимум энергии''' - если да, то не будет начисляться энергия выше максимума;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Инвайт'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Успешный инвайт'''&lt;br /&gt;
**'''Окно''' - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial&lt;br /&gt;
**'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook&lt;br /&gt;
**'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Запрос подарка'''&lt;br /&gt;
**'''Текст'''  - текстовый id, в котором будет хранится текст типа:&amp;quot;Мне нужны коллекционные предметы:&amp;quot;. После &amp;quot;:&amp;quot; будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую.&lt;br /&gt;
**'''Таблица'''  - таблица, в которую будут сложены желаемые предметы из окна коллекции для последующего поста их на стену.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Отправка подарка'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Ограничение''' - максимальное количество отправленных подарков в день (может быть сброшено).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' - машина состояния, которая будет показывать окно. Должна иметь состояние open.&lt;br /&gt;
**'''иконка''' - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку.&lt;br /&gt;
**'''текст (объект)''' - текстовый объект, в который сложится название предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''описание (объект)''' - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения с двумя списками'''&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу друзей.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem из поля выше.&lt;br /&gt;
**'''esocialgiftitem ''' - объект типа esocialgiftitem (темплейт подарка в таблице), который заполнит таблицу подарков.&lt;br /&gt;
**'''таблица подарков''' - ссылка на таблицу в которую мы клонируем объект esocialgiftitem из поля выше.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.&lt;br /&gt;
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние&lt;br /&gt;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов:&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
вместо %d - айдишник объекта&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
*--. '''sign_in_with_apple''' - залогинится через Apple.&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9915</id>
		<title>Esocial</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Esocial&amp;diff=9915"/>
		<updated>2020-07-30T09:36:44Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Ошибки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Esocial_full.jpg|right]]&lt;br /&gt;
*'''facebook''' - ссылка на объект [[facebook]], с которым будет работать объект&lt;br /&gt;
*'''esocialfriendsitem''' - ссылка на объект esocialfriendsitem, с которым будет работать объект&lt;br /&gt;
*'''таблица друзей''' - ссылка на таблицу, в которую будем клонировать esocialfriendsitem.&lt;br /&gt;
*'''индикатор активности''' - объект который видимый когда загружаются друзья. Видимость выключается, когда задача загрузки друзей выполнена (успех или провал не важно).&lt;br /&gt;
*'''опции для facebook''' - поле в опциях, куда мы будем записывать 32битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние&lt;br /&gt;
*'''социальная сеть''' - выбор социальной сети с которой взаимодействовать. На данный момент можно выбрать facebook, google+ и обе.&lt;br /&gt;
&lt;br /&gt;
*'''специальные подарки'''&lt;br /&gt;
**'''подарок энергия id''' - id предметы из экономики;&lt;br /&gt;
**'''подарок энергия количество''' - количество;&lt;br /&gt;
**'''учитывать максимум энергии''' - если да, то не будет начисляться энергия выше максимума;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Инвайт'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Успешный инвайт'''&lt;br /&gt;
**'''Окно''' - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial&lt;br /&gt;
**'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook&lt;br /&gt;
**'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Запрос подарка'''&lt;br /&gt;
**'''Текст'''  - текстовый id, в котором будет хранится текст типа:&amp;quot;Мне нужны коллекционные предметы:&amp;quot;. После &amp;quot;:&amp;quot; будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую.&lt;br /&gt;
**'''Таблица'''  - таблица, в которую будут сложены желаемые предметы из окна коллекции для последующего поста их на стену.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Отправка подарка'''&lt;br /&gt;
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора&lt;br /&gt;
**'''Ограничение''' - максимальное количество отправленных подарков в день (может быть сброшено).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения из окна коллекций'''&lt;br /&gt;
**'''окно''' - машина состояния, которая будет показывать окно. Должна иметь состояние open.&lt;br /&gt;
**'''иконка''' - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку.&lt;br /&gt;
**'''текст (объект)''' - текстовый объект, в который сложится название предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''описание (объект)''' - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу.&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Окно дарения с двумя списками'''&lt;br /&gt;
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу друзей.&lt;br /&gt;
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem из поля выше.&lt;br /&gt;
**'''esocialgiftitem ''' - объект типа esocialgiftitem (темплейт подарка в таблице), который заполнит таблицу подарков.&lt;br /&gt;
**'''таблица подарков''' - ссылка на таблицу в которую мы клонируем объект esocialgiftitem из поля выше.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.&lt;br /&gt;
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние&lt;br /&gt;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние&lt;br /&gt;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');&lt;br /&gt;
&lt;br /&gt;
В опции пишутся параметры инвайтов:&lt;br /&gt;
&lt;br /&gt;
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено&lt;br /&gt;
*'''esocial%d.max_invite_this''' - за последнюю отправку&lt;br /&gt;
&lt;br /&gt;
вместо %d - айдишник объекта&lt;br /&gt;
&lt;br /&gt;
Можно проверять в &amp;quot;nst_invite_sent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*0. '''ready'''                       -  состояние готовности&lt;br /&gt;
*1. '''friends'''&lt;br /&gt;
*2. '''friends_debug'''               -  добавляем фейковых друзей&lt;br /&gt;
*3. '''friends_inst'''                -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*4. '''friends_not_inst'''            -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*5. '''report'''                      -  заслать полезную информацию (32бита)&lt;br /&gt;
*6. '''invite'''                      -  показать окно инвайта&lt;br /&gt;
*7. '''cancel'''                      -  отменить весь стек задач&lt;br /&gt;
*8. '''retry'''                       -  повторить текущую задачу&lt;br /&gt;
*9. '''continue_fb'''                 -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*10. '''continue_google'''             -  пропустить текущую задачу и перейти к следующей&lt;br /&gt;
*11. '''next_inv'''                    -  следующее окошко успешного инвайта&lt;br /&gt;
*12. '''gift'''                        -  показать окно посылки подарка из окна коллекций&lt;br /&gt;
*13. '''gift_confirm'''                -  в окне посылки гифта из окна коллекций нажали кнопку ок&lt;br /&gt;
*14. '''wish'''                        -  запостить на стену &amp;quot;попрошайку&amp;quot;      &lt;br /&gt;
*15. '''check_requests'''              -  проверить реквесты от других пользователей&lt;br /&gt;
*16. '''next_gift'''                   -  следующее окошко про полученный подарок17.&lt;br /&gt;
*17. '''refresh_gifts'''               -  актуализировать содержимое таблицы гифтов&lt;br /&gt;
*18. '''refresh_vip_gifts'''           -  актуализировать содержимое таблицы гифтов используя исключительно вип подарки&lt;br /&gt;
*19. '''gift_send'''                   -  послать подарок из окна с двумя таблицами&lt;br /&gt;
*20. '''logout'''                      -  разлогиниться из фейсбука удалив всю информацию о друзьях&lt;br /&gt;
*21. '''clear_gifts'''                 -  сбросить ограничения на число подарков&lt;br /&gt;
*22. '''wish_table'''                  -  добавить пожелание в таблицу пожеланий&lt;br /&gt;
*23. '''wish_all'''                    -  пожелать все содержимое таблицы в фейсбук         //Теперь только в фейсбук, а для гугла состояние ниже&lt;br /&gt;
*24. '''remove_gift'''                 -  убрать подарок из таблицы&lt;br /&gt;
*25. '''gift_fb'''                     -  подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)&lt;br /&gt;
*26. '''gift_info'''                   -  Обновить информацию о текущих подарках в специальном окне&lt;br /&gt;
*27. '''gift_lb'''                     -  Показать окно подарка из лидерборда&lt;br /&gt;
*28. '''gift_send_lb'''                -  Подтвердить отсылку подарка из лидерборда&lt;br /&gt;
*29. '''gift_receive'''                -  Получить подарок из окна получения подарков&lt;br /&gt;
*30. '''invite_lb'''                   -  Послать приглашение другу из лидербордов&lt;br /&gt;
*31. '''get_me_google'''               -  запросить информацию о себе с гугла&lt;br /&gt;
*32. '''friends_inst_google'''         -  заполнить таблицу друзьями с установленной игрой&lt;br /&gt;
*33. '''friends_not_inst_google'''     -  заполнить таблицу друзьями с неустановленной игрой&lt;br /&gt;
*34. '''message_friend'''              -  послать другу уведомление&lt;br /&gt;
*35. '''friends_random'''              -  заполнить таблицу случайных друзей&lt;br /&gt;
*36. '''wish_all_google'''             -  пожелать все содержимое таблицы в гугл&lt;br /&gt;
*37. '''get_me_fb'''                   -  запросить информацию о себе с фейсбука&lt;br /&gt;
*38. '''check_requests_fb'''           -  проверить реквесты от других пользователей для fb&lt;br /&gt;
*39. '''check_requests_google'''       -  проверить реквесты от других пользователей для гугл&lt;br /&gt;
*40. '''logout_google'''               -  разлогиниться из гугла, удалив всю информацию о друзьях&lt;br /&gt;
*41. '''gift_parse'''                  -  Показать окно подарка из парсовой таблицы друзей&lt;br /&gt;
*42. '''gift_send_parse'''             -  Подтвердить отсылку подарка из парсовой таблицы друзей&lt;br /&gt;
*43. '''gift_parse_energy'''           -  Показать окно подарка энергии из парсовой таблицы друзей&lt;br /&gt;
*44. '''gift_parse_vip'''              -  Подарок вип-подарка из окна лидербордов&lt;br /&gt;
*45. '''gift_parse_res1'''             -  Подарок монет из окна лидербордов&lt;br /&gt;
*46. '''gift_receive_no_delete'''      -  Получить подарок из окна получения подарков без запроса&lt;br /&gt;
*47. '''gift_reply_energy'''           -  Послать в ответ энергию.&lt;br /&gt;
*48. '''gift_reply_more'''             -  Промотать таблицу подарков в клауде на нужного юзера&lt;br /&gt;
*49. '''gift_reply_res1'''             -  Послать в ответ ресурс1.&lt;br /&gt;
*50. '''gift_reply_universal'''        -  ответить тем же, что прислали&lt;br /&gt;
*51. '''gift_reply_vip'''              -  Послать в ответ vip.&lt;br /&gt;
*52. '''invite_parse'''                -  Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)&lt;br /&gt;
*53. '''gift_parse_res1_multiple'''    -  отправить множественный подарок в виде монет&lt;br /&gt;
*54. '''gift_parse_item_multiple'''    -  отправить множественный подарок в виде предмета, взяв его из поля gift_param&lt;br /&gt;
*55. '''post_story'''                  -  фоновое сообщение&lt;br /&gt;
*56. '''external_like'''               -  &amp;quot;внешнее&amp;quot; окошко лайка&lt;br /&gt;
*57. '''clear_timeouts'''              -  обнулить таймауты для некоторых тасков&lt;br /&gt;
*58. '''refresh_inv_gifts'''           -  актуализировать содержимое таблицы инвентарных гифтов&lt;br /&gt;
*59. '''wish_inv_add'''                -  добавить предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*60. '''wish_inv_remove'''             -  убрать предмет из таблицы инвентарных в вишлист&lt;br /&gt;
*61. '''gift_parse_refresh'''           -  Обновить информацию о подарке в соотв. иконках и каунтерах&lt;br /&gt;
*62. '''check_requests_abs'''           - проверить реквесты от других пользователей, но только parse&lt;br /&gt;
*63. '''switch_social_network''' - переключить активную социальную сеть, взяв ее айдишник из param&lt;br /&gt;
*64. '''invite_random'''               - показать окно инвайта для случайных друзей&lt;br /&gt;
&lt;br /&gt;
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).&lt;br /&gt;
&lt;br /&gt;
=Debug=&lt;br /&gt;
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_e.xml''' - создается во время отправки приглашения и при вызове состояния ''invite''&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug_s.xml''' - создается после фидбэка от Facebook'a.&lt;br /&gt;
&amp;lt;br&amp;gt;- '''facebook_debug.xml''' - создается исключительно в дебажной версии во время отправки объекту Facebook состояния ''friends'' или ''friends_inst''&lt;br /&gt;
Выглядит этот файл приблизительно вот так:&lt;br /&gt;
[[Файл:17-03-2014 11-09-06.png|right]]&lt;br /&gt;
Поля:&amp;lt;br&amp;gt; '''request''' означает отправлен ли запрос. &amp;lt;br&amp;gt;'''invite''' - принял ли запрос и поле &amp;lt;br&amp;gt; '''inst'''(возможна ошибка в названии) - установлено ли приложение у данного друга.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Задачи (команды) и ошибки=&lt;br /&gt;
&lt;br /&gt;
В опции пишется номер успешной задачи, неуспешной и номер ошибки&lt;br /&gt;
*'''esocial%d.compl_task''' - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_task''' - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.&lt;br /&gt;
*'''esocial%d.err_code''' - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&lt;br /&gt;
При выполнении состояния Esocial пишет в лог следующее:&lt;br /&gt;
&lt;br /&gt;
''onComplete state = %d task = %d,''&lt;br /&gt;
&lt;br /&gt;
где номер таска берется из следующего списка (состояния Facebook):&lt;br /&gt;
&lt;br /&gt;
*0 - провести авторизацию&lt;br /&gt;
*1 - закрыть текущую авторизованную сессию&lt;br /&gt;
*2 - создать диалог для отправки на стену&lt;br /&gt;
*3 - возвращает данные обо мне&lt;br /&gt;
*4 - возвращает данные о друзьях&lt;br /&gt;
*5 - возвращает данные о друзьях, которых можно пригласить в игру&lt;br /&gt;
*6 - получить список игровых сообщений&lt;br /&gt;
*7 - получить список групп пользователя&lt;br /&gt;
*8 - лайкал пользователь приложение или нет&lt;br /&gt;
*9 - обновить мои очки на facebook сервере&lt;br /&gt;
*10 - отправить игровое сообщение&lt;br /&gt;
*11 - удалить игровое сообщение на facebook сервере&lt;br /&gt;
*12 - отправить фоновое сообщение в ленту пользователя&lt;br /&gt;
&lt;br /&gt;
След. сост. выполняются автоматически, если необходимо:&lt;br /&gt;
*13 - (ST_AUTO_CHECK_USER_PERMISSIONS) -   получить список прав которые пользователь предоставил преложению&lt;br /&gt;
*14 - (ST_AUTO_CHECK_APP_PERMISSIONS) -  получить список прав которые facebook предоставил преложению&lt;br /&gt;
*15 - (ST_AUTO_GET_WRITE_PERMISSIONS) -  запросить у пользователя права на запись&lt;br /&gt;
*16 - (ST_AUTO_GET_READ_PERMISSIONS) -  запросить у пользователя права на чтение&lt;br /&gt;
*17 - (ST_AUTO_POST_APP_REQUEST) -  отправить application request пользователю&lt;br /&gt;
*18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) -  проверить текущие ачивки пользователя&lt;br /&gt;
*19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ошибки==&lt;br /&gt;
&lt;br /&gt;
*0 - неизвестная ошибка&lt;br /&gt;
*1 - неизвестная задача&lt;br /&gt;
*2 - facebook не поддерживается&lt;br /&gt;
*3 - нет интернета&lt;br /&gt;
*4 - превышен лимит ожидания запроса&lt;br /&gt;
*5 - не указаны параметры для выполнения задачи&lt;br /&gt;
*6 - отмена диалогового окна пользователем&lt;br /&gt;
*7 - ошибка логина&lt;br /&gt;
*8 - ошибка авторизации&lt;br /&gt;
*9 - ошибка прав доступа&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:&lt;br /&gt;
*1007 - ошибка логина в Google Play Games&lt;br /&gt;
&lt;br /&gt;
Если ошибка связана с логином в Apple, то к коду добавляется 2000.&lt;br /&gt;
&lt;br /&gt;
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем&lt;br /&gt;
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем&lt;br /&gt;
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина&lt;br /&gt;
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина&lt;br /&gt;
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина&lt;br /&gt;
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример запроса:'''&lt;br /&gt;
*подали запрос выполнить задачу (например ST_GET_FRIENDS)&lt;br /&gt;
*сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)&lt;br /&gt;
*потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)&lt;br /&gt;
*потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)&lt;br /&gt;
*если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:'''&lt;br /&gt;
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что &amp;quot;ST_GET_FRIENDS&amp;quot; отработал с ошибкой &amp;quot;9&amp;quot; или словами &amp;quot;ERR_PERMISSION&amp;quot;. Других логик или кодов там нет.&lt;br /&gt;
&lt;br /&gt;
==Слушатели заполнения таблиц==&lt;br /&gt;
Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:&lt;br /&gt;
*Таблица лидеров: &lt;br /&gt;
**'''Cloud.table ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены лидерборды'''; &lt;br /&gt;
*Друзья и подарки: &lt;br /&gt;
**'''Cloud.table_fr ''' - добавляемое свойство объекту 'Cloud' '''успешно загружены друзья''';&lt;br /&gt;
*Неиграющие друзья:&lt;br /&gt;
** '''Esocial.friendsnotinst ''' - машинка-слушатель успеха объекта 'Esocial 'состояние '''5''' (изменить состояние объекта - успех задачи)&lt;br /&gt;
*Окно приёма подарка ( заполненность таблицы проверям у объекта &amp;quot;esocial&amp;quot; параметры &amp;quot;new_gifts&amp;quot; и &amp;quot;all_gifts&amp;quot;): &lt;br /&gt;
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Записи в логах=&lt;br /&gt;
==Отправка подарка==&lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 42 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() state 13 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 &lt;br /&gt;
   21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 &lt;br /&gt;
   21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 &lt;br /&gt;
   21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  &lt;br /&gt;
   21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -&amp;gt; title = Gift!, message = Иван Козаченко: Here is a gift for you!, &lt;br /&gt;
   data =    3,241016273040597,11674, userId = 258188181311449, &lt;br /&gt;
   excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Facebook]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Video&amp;diff=9913</id>
		<title>Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Video&amp;diff=9913"/>
		<updated>2020-06-25T11:41:56Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Video''' - [[Object|объект]], служащий для воспроизведения видео-файлов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:V1.jpg|300px|right]] &lt;br /&gt;
'''Общие параметры'''&lt;br /&gt;
(см. описание [[Object|Object]]):&lt;br /&gt;
*'''положение''' - координаты точки пивота объекта, т.к. объект не содержит графического изображения, положение объета определяется верхней левой точкой;&lt;br /&gt;
*'''размер''' - ширина и высота объекта (область отображения видео уменьшится (увеличится) согласно указанным размерам с сохранением пропорций).&lt;br /&gt;
&lt;br /&gt;
== Основные параметры ==&lt;br /&gt;
&lt;br /&gt;
*'''id видео''' - идентификатор видео-файла перетаскивается мышью из редактора ресурсов;&lt;br /&gt;
*'''id звука''' - идентификатор звукового файла перетаскивается мышью из редактора ресурсов;&lt;br /&gt;
*'''повторы''' - количество воспроизведений видео-файла (видео зациклено, если значение поля '''0''');&lt;br /&gt;
*'''состояние''' - начальное состояние video, в которое объект попадает при инициализации.&lt;br /&gt;
*'''[[прокликиваемая]]''' - Если 1, то объект прозрачный для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта по завершению видео''':&lt;br /&gt;
*'''объект''' - объект, который будет переведен в новое состояние по завершению воспроизведения видео;&lt;br /&gt;
*'''состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта при ошибке воспроизведения''':&lt;br /&gt;
*'''объект''' - объект, который будет переведен в новое состояние при ошибке воспроизведения;&lt;br /&gt;
*'''состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта при наступлении указанного времени в мс''':&lt;br /&gt;
*'''объект''' - объект, который будет переведен в новое состояние;&lt;br /&gt;
*'''состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить параметр объекта при наступлении указанного времени в мс''':&lt;br /&gt;
*'''объект''' - объект, который будет переведен в новое состояние;&lt;br /&gt;
*'''параметр''' - параметр объекта который меняем;&lt;br /&gt;
*'''значение''' - значение параметра.&lt;br /&gt;
&lt;br /&gt;
!!ВАЖНО: Последние 2 добавляемых свойства используют время внутреннего таймера видео, поэтому удобно использовать эти свойства если по ходу видео нужно выполнять какие-то действия. Для устройств с разной производительностью хронометраж действий будет одинаковый.&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
Объекту video можно передавать следующие состояния:&lt;br /&gt;
&lt;br /&gt;
*'''first''' - воспроизвести 1-й кадр видео; &lt;br /&gt;
*'''play''' - воспроизвести видео с начала; &lt;br /&gt;
*'''pause''' - приостановить воспроизведение видео;&lt;br /&gt;
*'''resume''' - продолжить воспроизведение видео с момента приостановки;&lt;br /&gt;
*'''stop'''  - выключить видео.&lt;br /&gt;
&lt;br /&gt;
== Примечания и дополнения ==&lt;br /&gt;
&lt;br /&gt;
Оптимальными для воспроизведения видео являются следующие параметры:&lt;br /&gt;
[[Подготовка_и_форматы_видео|см. подготовка видео]]&lt;br /&gt;
&lt;br /&gt;
При воспроизведении видео становится в наивысшее положение по координате z. Это означает, что все объекты расположенные над видео окажутся под ним, даже если лежат на сценах выше, чем сцена с видео.&lt;br /&gt;
&lt;br /&gt;
Если при изменении размера объекта видео мы изменяем только одну координату, то размеры самого видео будут изменяться связанно. Например, если видео с разрешением 500x500 поместить в объект с размерами 200x300, то при воспроизведении видео будет иметь размеры 200x200.&lt;br /&gt;
&lt;br /&gt;
Если во время воспроизведения видео необходимо перейти на другой экран, рекомендуется сначала выключить видео (состояние stop), а потом только перейти на другой экран.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/video.rar Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9569</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9569"/>
		<updated>2018-05-18T08:20:47Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Экономика */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
= Новости =&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
= AppSalute Game Сreator =&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Внешние утилиты]]&lt;br /&gt;
&lt;br /&gt;
= Обучение =&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
= Подготовка проекта =&lt;br /&gt;
* [[Проектирование экранов игры]]&lt;br /&gt;
* [[Подготовка и форматы графики]]&lt;br /&gt;
* [[Подготовка и форматы шрифтов]]&lt;br /&gt;
* [[Подготовка и форматы звуков]]&lt;br /&gt;
* [[Подготовка и форматы видео]]&lt;br /&gt;
* [[Создание проекта]]&lt;br /&gt;
* [[Загрузка проекта по частям]]&lt;br /&gt;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
* [[Шаблон|Экспорт/импорт шаблона проекта]]&lt;br /&gt;
&lt;br /&gt;
= Встроенные объекты редактора=&lt;br /&gt;
&lt;br /&gt;
== Common objects  ==&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
== Main objects ==&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
* [[Файл:Kub.png]] - [[Scriptresources]] - scriptresources&lt;br /&gt;
* [[Файл:Kub.png]] - [[Partnersconsole]] - partnersconsole&lt;br /&gt;
&lt;br /&gt;
== Game mechanic ==&lt;br /&gt;
&lt;br /&gt;
===Игровые объекты===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bs_old.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter NEW]] - класс Bubble игр включая механику Снукер (Новый)&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Kub.png]] - [[AtomicPuzzle]] - механика игры Atomic puzzle&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Script Game]] - Script Game&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Поиск предметов===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Инвентарь===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Изомап===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
&lt;br /&gt;
===Экономика===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pseudochat]] - менеджер реплик.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Pseudochattemplate]] - шаблон для менеджера реплик.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
&lt;br /&gt;
===Питомцы===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Физмир===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
&lt;br /&gt;
===Другие объекты===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
&lt;br /&gt;
== Global score ==&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
*[[Файл:Kub.png]] - [[Leaderboardsitem]] - Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
== Social ==&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
* [[Файл:Kub.png]] - [[Config]] - конфиг для игровой механики&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Pseudochattemplate&amp;diff=9568</id>
		<title>Pseudochattemplate</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Pseudochattemplate&amp;diff=9568"/>
		<updated>2018-05-18T08:19:19Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] Pseudochattemplate - шаблон для менеджер реплик [[Pseudochat|Pseudochat]].&lt;br /&gt;
&lt;br /&gt;
=Основные параметры=&lt;br /&gt;
&lt;br /&gt;
*'''текст''' - текстовый объект, в который заполнится основной текст сообщения;&lt;br /&gt;
*'''время''' - текстовый объект, в который заполнится время сообщения;&lt;br /&gt;
*'''иконка персонажа''' - объект, в который заполнится иконка персонажа (icon 1)&lt;br /&gt;
*'''машина''' - vашина, которая подравняет фон под размер текста. Должна иметь состояние show.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Pseudochattemplate&amp;diff=9567</id>
		<title>Pseudochattemplate</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Pseudochattemplate&amp;diff=9567"/>
		<updated>2018-05-18T08:13:44Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: Новая страница: «Объект Pseudochattemplate - шаблон для менеджер реплик Pseudochat.  =Основные параметры=…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] Pseudochattemplate - шаблон для менеджер реплик [[Pseudochat|Pseudochat]].&lt;br /&gt;
&lt;br /&gt;
=Основные параметры=&lt;br /&gt;
&lt;br /&gt;
*'''текст''' - текстовый объект, в который заполнится основной текст сообщения;&lt;br /&gt;
*'''время''' - текстовый объект, в который заполнится время сообщения;&lt;br /&gt;
*'''иконка персонажа''' - объект, в который заполнится иконка персонажа (icon 1)&lt;br /&gt;
*'''машина''' - vашина, которая подравняет фон под размер текста. Должна иметь состояние show.&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9565</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9565"/>
		<updated>2018-05-15T14:19:47Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Game mechanic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
= Новости =&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
= AppSalute Game Сreator =&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Внешние утилиты]]&lt;br /&gt;
&lt;br /&gt;
= Обучение =&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
= Подготовка проекта =&lt;br /&gt;
* [[Проектирование экранов игры]]&lt;br /&gt;
* [[Подготовка и форматы графики]]&lt;br /&gt;
* [[Подготовка и форматы шрифтов]]&lt;br /&gt;
* [[Подготовка и форматы звуков]]&lt;br /&gt;
* [[Подготовка и форматы видео]]&lt;br /&gt;
* [[Создание проекта]]&lt;br /&gt;
* [[Загрузка проекта по частям]]&lt;br /&gt;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
* [[Шаблон|Экспорт/импорт шаблона проекта]]&lt;br /&gt;
&lt;br /&gt;
= Встроенные объекты редактора=&lt;br /&gt;
&lt;br /&gt;
== Common objects  ==&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
== Main objects ==&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
* [[Файл:Kub.png]] - [[Scriptresources]] - scriptresources&lt;br /&gt;
* [[Файл:Kub.png]] - [[Partnersconsole]] - partnersconsole&lt;br /&gt;
&lt;br /&gt;
== Game mechanic ==&lt;br /&gt;
&lt;br /&gt;
===Игровые объекты===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bs_old.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter NEW]] - класс Bubble игр включая механику Снукер (Новый)&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Kub.png]] - [[AtomicPuzzle]] - механика игры Atomic puzzle&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Script Game]] - Script Game&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Поиск предметов===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Инвентарь===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Изомап===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
&lt;br /&gt;
===Экономика===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pseudochat]] - менеджер реплик.&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Питомцы===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Физмир===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
&lt;br /&gt;
===Другие объекты===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
&lt;br /&gt;
== Global score ==&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
*[[Файл:Kub.png]] - [[Leaderboardsitem]] - Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
== Social ==&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
* [[Файл:Kub.png]] - [[Config]] - конфиг для игровой механики&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9564</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9564"/>
		<updated>2018-05-15T14:10:32Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
= Новости =&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
= AppSalute Game Сreator =&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Внешние утилиты]]&lt;br /&gt;
&lt;br /&gt;
= Обучение =&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
= Подготовка проекта =&lt;br /&gt;
* [[Проектирование экранов игры]]&lt;br /&gt;
* [[Подготовка и форматы графики]]&lt;br /&gt;
* [[Подготовка и форматы шрифтов]]&lt;br /&gt;
* [[Подготовка и форматы звуков]]&lt;br /&gt;
* [[Подготовка и форматы видео]]&lt;br /&gt;
* [[Создание проекта]]&lt;br /&gt;
* [[Загрузка проекта по частям]]&lt;br /&gt;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
* [[Шаблон|Экспорт/импорт шаблона проекта]]&lt;br /&gt;
&lt;br /&gt;
= Встроенные объекты редактора=&lt;br /&gt;
&lt;br /&gt;
== Common objects  ==&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
== Main objects ==&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
* [[Файл:Kub.png]] - [[Scriptresources]] - scriptresources&lt;br /&gt;
* [[Файл:Kub.png]] - [[Partnersconsole]] - partnersconsole&lt;br /&gt;
&lt;br /&gt;
== Game mechanic ==&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bs_old.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter NEW]] - класс Bubble игр включая механику Снукер (Новый)&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Kub.png]] - [[AtomicPuzzle]] - механика игры Atomic puzzle&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pseudochat]] - менеджер реплик.&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
* [[Файл:Kub.png]] - [[Script Game]] - Script Game&lt;br /&gt;
&lt;br /&gt;
== Global score ==&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
*[[Файл:Kub.png]] - [[Leaderboardsitem]] - Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
== Social ==&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
* [[Файл:Kub.png]] - [[Config]] - конфиг для игровой механики&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9563</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9563"/>
		<updated>2018-05-15T14:07:02Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Game mechanic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
== Новости ==&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
== AppSalute Game Сreator ==&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Внешние утилиты]]&lt;br /&gt;
&lt;br /&gt;
== Обучение ==&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
== Подготовка проекта ==&lt;br /&gt;
* [[Проектирование экранов игры]]&lt;br /&gt;
* [[Подготовка и форматы графики]]&lt;br /&gt;
* [[Подготовка и форматы шрифтов]]&lt;br /&gt;
* [[Подготовка и форматы звуков]]&lt;br /&gt;
* [[Подготовка и форматы видео]]&lt;br /&gt;
* [[Создание проекта]]&lt;br /&gt;
* [[Загрузка проекта по частям]]&lt;br /&gt;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
* [[Шаблон|Экспорт/импорт шаблона проекта]]&lt;br /&gt;
&lt;br /&gt;
== Встроенные объекты редактора==&lt;br /&gt;
&lt;br /&gt;
=== Common objects  ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
=== Main objects ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
* [[Файл:Kub.png]] - [[Scriptresources]] - scriptresources&lt;br /&gt;
* [[Файл:Kub.png]] - [[Partnersconsole]] - partnersconsole&lt;br /&gt;
&lt;br /&gt;
=== Game mechanic ===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bs_old.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter NEW]] - класс Bubble игр включая механику Снукер (Новый)&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Kub.png]] - [[AtomicPuzzle]] - механика игры Atomic puzzle&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pseudochat]] - менеджер реплик.&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
* [[Файл:Kub.png]] - [[Script Game]] - Script Game&lt;br /&gt;
&lt;br /&gt;
=== Global score ===&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
*[[Файл:Kub.png]] - [[Leaderboardsitem]] - Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
=== Social ===&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
* [[Файл:Kub.png]] - [[Config]] - конфиг для игровой механики&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Ecollection&amp;diff=9562</id>
		<title>Ecollection</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Ecollection&amp;diff=9562"/>
		<updated>2018-05-15T14:01:51Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Сопутствующие объекты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Ecollection''' позволяет отображать коллекции предметов в игре с объектом [[economics]].&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ecollection1.jpg|right|260px]]&lt;br /&gt;
*'''alpha''' - прозрачность: от 0 (объект полностью прозрачный) до 1 (объект не прозрачный).&lt;br /&gt;
*'''economics''' - ссылка на объект [[economics]].&lt;br /&gt;
*'''таблица''' - ссылка на таблицу, куда помещаются коллекционные предметы (обязательно должна быть подобъектом).&lt;br /&gt;
*'''зарядник 1''' - иконка первого зарядника (инвентарного предмета, необходимого для сдачи коллекции); если не указать, значение запишется в счётчик '''зарядник 1 к-во''' в параметр &amp;quot;val2&amp;quot;.&lt;br /&gt;
*'''зарядник 2''' - иконка второго зарядника.&lt;br /&gt;
*'''зарядник 3''' - иконка третьего зарядника.&lt;br /&gt;
*'''зарядник 4''' - иконка четвертого зарядника.&lt;br /&gt;
*'''зарядник 1 к-во''' - счетчик, сколько нужно первого зарядника для сдачи коллекции.&lt;br /&gt;
*'''зарядник 2 к-во''' - счетчик, сколько нужно второго зарядника для сдачи коллекции.&lt;br /&gt;
*'''зарядник 3 к-во''' - счетчик, сколько нужно третего зарядника для сдачи коллекции.&lt;br /&gt;
*'''зарядник 4 к-во''' - счетчик, сколько нужно четвертого зарядника для сдачи коллекции.&lt;br /&gt;
*'''зарядник 1 есть''' - счетчик, сколько есть первого зарядника в инвентаре.&lt;br /&gt;
*'''зарядник 2 есть''' - счетчик, сколько есть второго зарядника в инвентаре.&lt;br /&gt;
*'''зарядник 3 есть''' - счетчик, сколько есть третего зарядника в инвентаре.&lt;br /&gt;
*'''зарядник 4 есть''' - счетчик, сколько есть четвертого зарядника в инвентаре.&lt;br /&gt;
*'''кнопка сдачи 1''' - кнопка, по нажатию на которую, происходит сдача коллекции. Передает состояние collection объекту ecollection (обязательно должна быть подобъектом).&lt;br /&gt;
*'''кнопка сдачи 2''' - передает состояние collection объекту ecollection. Эта кнопка видна в том случае, когда не хватает чарджеров для сдачи коллекции (обязательно должна быть подобъектом). Будет открываться окно с предложением докупить зарядников (чарджеров).&lt;br /&gt;
*'''название коллекции''' - текстовый объект, в котором будет отображаться название коллекции.&lt;br /&gt;
*'''фонарь''' - машина состояний, которая сигнализирует о том, что коллекция готова к сдаче. Должна иметь состояния on и off.&lt;br /&gt;
*'''награда''' - объект, которому будет присвоена иконка наградного предмета (на рисунке справа у объекта тип [[button]], т.к. по нажатию на иконку награды вызывается окошко, но обычно это тип [[image]]).&lt;br /&gt;
*'''проверять количество награды''' - принимает значение 1 и 0. По умолчанию '''1''' - если кол-во награды 0, то иконка награды полупрозрачная, если кол-во награды &amp;gt;0, то иконка награды с альфой 1. При '''0''' - иконка награды будет полупрозрачной только до первой сдачи, если после первой сдачи мы используем награду, иконка все равно останется с альфой 1.&lt;br /&gt;
*'''награда текст''' - текстовый объект, в который помещается название наградного предмета.&lt;br /&gt;
*'''награда ресурс 1''' - счетчик, который будет отображать количество призового ресурса 1.&lt;br /&gt;
*'''награда ресурс 2''' - счетчик, который будет отображать количество призового ресурса 2.&lt;br /&gt;
*'''награда опыт''' - счетчик, который будет отображать количество призового опыта.&lt;br /&gt;
*'''число наград''' - счетчик, который будет отображать, сколько раз была сдана коллекция.&lt;br /&gt;
*'''метка сдано''' - объект, который становится видимым, если коллекция сдана хотя бы раз (например, это может быть поздравительная картинка, в которую помещен текст и счетчик из поля ''число наград'').&lt;br /&gt;
*'''esocial''' - ссылка на объект типа [[esocial]].&lt;br /&gt;
*'''Кнопка подарить''' - добавляемый параметр, кнопка, которая позволяет подарить коллекционный предмет другу. Кнопка должна передавать объекту ecollection в параметр param порядковый номер предмета в коллекции (начиная с 0) и вызывать состояние ''gift''. После этого открывается окно дарения подарка прописанное в объекте [[esocial]]. Если в коллекции 5 предметов, то и кнопок должно быть 5.&lt;br /&gt;
*'''Кнопка попросить''' - добавляемый параметр, кнопка, которая позволяет попросить у друга необходимый коллекционный предмет. Записывает объекту ecollection в параметр param порядковый номер предмета в коллекции (начиная с 0) и вызывает состояние ''wish''. Если в коллекции 5 предметов, то и кнопок должно быть 5.&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
[[Файл:Ecollection3.jpg|right|350px]]&lt;br /&gt;
*'''collection''' - Попытаться сдать коллекцию.&lt;br /&gt;
*'''chargers''' - Показать окно покупки чарджеров.&lt;br /&gt;
*'''wish''' - добавляет коллекционный предмет в wishlist. Обязательно передавать порядковый номер предмета перед вызовом состояния.&lt;br /&gt;
*'''gift''' - Дарит предмет другу (открывает окно дарения подарка). Обязательно передавать порядковый номер предмета перед вызовом состояния.&lt;br /&gt;
&lt;br /&gt;
*'''wish_touched''' - добавляет коллекционный предмет в wishlist.Если мы вынесли кнопки из шаблона в окно которое открывается при ''item_collections'', то есть получаем одну кнопку в окне для любого предмета.&lt;br /&gt;
*'''gift_touched''' - Дарит предмет другу (открывает окно дарения подарка). Если мы вынесли кнопки из шаблона в окно которое открывается при ''item_collections'', то есть получаем одну кнопку в окне для любого предмета.&lt;br /&gt;
&lt;br /&gt;
Пример окошка с коллекциями на рисунке справа.&lt;br /&gt;
&lt;br /&gt;
=Сопутствующие объекты=&lt;br /&gt;
&lt;br /&gt;
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря(магазина) и экономики. &lt;br /&gt;
* [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина. &lt;br /&gt;
* [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета. &lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий.&lt;br /&gt;
* [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания.&lt;br /&gt;
* [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции.&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Etaskitem&amp;diff=9561</id>
		<title>Etaskitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Etaskitem&amp;diff=9561"/>
		<updated>2018-05-15T14:01:13Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Сопутствующие объекты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Etaskitem''' - Шаблон/форма отдельной подзадачи в общем задании. Шаблон/форма представляет собой скомпонованную группу объектов (картинки, счетчики, кнопки, рамочки и т.п.), которая должна быть вложена в Etaskitem. Объект Etaskitem заполняет шаблон по очереди для каждой подзадачи текущего задания и помещает заполненный шаблон в ячейку таблицы (таблицу, в которую помещать шаблон, указывают в Taskorganaizer setup для конкретной задачи). &lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Etaskitem1.jpg|right|250px]]&lt;br /&gt;
*'''alpha''' - прозрачность: от 0 (объект полностью прозрачен) до 1(объект не прозрачен).&lt;br /&gt;
*'''taskorganizer''' - Объект типа [[taskorganizer]].&lt;br /&gt;
*'''иконка''' - Иконка предмета подзадачи.&lt;br /&gt;
*'''описание''' - Текстовый объект, куда будет занесено описание объекта.&lt;br /&gt;
*'''цена res2''' - Цена предмета в ресурсе 2. Игрок может купить предмет для выполнения подзадачи.&lt;br /&gt;
*'''цена res1''' - Цена предмета в ресурсе 1. Игрок может купить предмет для выполнения подзадачи.&lt;br /&gt;
*'''кнопка искать''' - Кнопка поиска указывает, в какой локации можно найти предмет. Видна, если объект коллекционный. Должна вызывать объекту [[Economics]] состояние ''search_task''.&lt;br /&gt;
*'''кнопка коллекции''' - Кнопка ведущая в коллекции. Видна, если задание состоит в сдаче коллекции. Должна вызывать объекту [[Economics]] состояние ''search_task''.&lt;br /&gt;
*'''кнопка купить''' - Кнопка покупки. Видна, если объект инвентарный. Должна вызывать объекту Etaskitem состояние buy.&lt;br /&gt;
*'''кнопка инвентарь''' - Кнопка, по нажатию на которую происходит переход на инвентарь. Кнопка видна, если подзадача требует применить предмет и он есть в наличии.&lt;br /&gt;
*'''кнопка магазин''' -  Кнопка, по нажатию на которую происходит переход в магазин. Кнопки видна, если подзадача требует применить предмет, но его нет в наличии.&lt;br /&gt;
*'''надпись успеха''' - Объект, например, картинка галочки или текст. Виден, если данная часть задания выполнена.&lt;br /&gt;
*'''счетчик (текущий)''' - Счетчик, отображающий имеющееся кол-во предмета (или текущее значение параметра для подзадачи типа опции).&lt;br /&gt;
*'''счетчик (желаемый)''' - Счетчик, отображающий требуемое кол-во предмета (или требуемое значение параметра для подзадачи типа опции).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Etaskitem2.jpg|right|300px]]&lt;br /&gt;
Справа показан пример, как будет выглядеть шаблон в окне задачи. Если у задачи несколько подзадач, например, нужно найти несколько разных предметов, то Etaskitem заполняет шаблон для каждой подзадачи и помещает в ячейку таблицы, на рисунке видно две ячейки таблицы для двух подзадач.&lt;br /&gt;
&lt;br /&gt;
Объект Etaskinem полезен тем, что с его помощью можно отображать огромное количество подзадач (заполненных шаблонов) в таблице. Так же этот объект может скрывать/показывать отдельные элементы шаблона, для отдельной подзадачи (ячейки таблицы), а не для всей таблицы.&lt;br /&gt;
&lt;br /&gt;
Недостаток: Шаблон/форма всегда одна для одного таскорганайзера. Может возникать потребность в разных шаблонах для разных задач таскорганайзера. Например, в задаче 1 шаблон подзадач помещается в таблицу 1 и должен отображать иконку предмета, а в задаче 2 шаблон помещается в таблицу 2 и должен отображать описание подзадачи. Тогда при открытии окна придется &amp;quot;вручную&amp;quot; (в машине состояний) прятать/показывать элементы шаблона/формы, в данном примере иконку и текст. Таких ситуаций лучше избегать!!!&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
*'''set_filter''' - при переходе, например в инвентарь или в магазин, сразу открывает тот раздел, в котором находится нужный предмет.&lt;br /&gt;
*'''buy''' - Купить нужный предмет.&lt;br /&gt;
&lt;br /&gt;
=Сопутствующие объекты=&lt;br /&gt;
&lt;br /&gt;
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря(магазина) и экономики. &lt;br /&gt;
* [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина. &lt;br /&gt;
* [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета. &lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий.&lt;br /&gt;
* [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания.&lt;br /&gt;
* [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции.&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Elogbooktemplate&amp;diff=9560</id>
		<title>Elogbooktemplate</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Elogbooktemplate&amp;diff=9560"/>
		<updated>2018-05-15T14:00:46Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект предназначен для помещение в таблицу логбука. Если у объекта '''Taskorganazer''' в поля (шаблон 1, шаблон 2 ) указать два объекта Elogbooktemplate, то они будут заполнять таблицу логбука поочерёдно. &lt;br /&gt;
&lt;br /&gt;
===Параметры===&lt;br /&gt;
[[Файл:ElogbookTemplate.jpg|right]]&lt;br /&gt;
Общие параметры - аналогичны другим объектам.&lt;br /&gt;
&lt;br /&gt;
*'''название''' - текстовый объект, в который будет складываться имя записи логбука (word).&lt;br /&gt;
*'''описание''' - по настройкам логбука, складывается описание (sense1;sense2;sense1 и sense2).&lt;br /&gt;
*'''иконка''' - сюда сложится иконка.&lt;br /&gt;
&lt;br /&gt;
===Состояния===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Etasktemplate&amp;diff=9559</id>
		<title>Etasktemplate</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Etasktemplate&amp;diff=9559"/>
		<updated>2018-05-15T14:00:27Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Данный [[Object|объект]] представляет собой темплейт задач, которые будут помещены в таблицу для шаблонов (tabletemplate) [[Taskorganizer|таскорганайзера]].&lt;br /&gt;
[[Файл:Etasktemplate_.png|500px|right|thumb]]&lt;br /&gt;
[[Файл:Etasktemplate complete.png|500px|right|thumb]]&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
*'''taskorganizer''' - Объект типа taskorganizer, который использует темплейт;&lt;br /&gt;
*'''eanalysis''' - Объект типа eanalysis;&lt;br /&gt;
*'''название''' - Текстовый объект куда будет занесено название задачи, берется из поля word текстового id задачи;&lt;br /&gt;
*'''описание''' - Текстовый объект куда будет занесено описание задачи, берется из поля sentence1 текстового id задача для активной задачи и sentence2 - для выполненной;&lt;br /&gt;
*'''название локации''' - Название локации для генерируемых тасков (для обычных - невидимо);&lt;br /&gt;
*'''иконка''' - Иконка задания (ico1);&lt;br /&gt;
*'''иконка 2''' - Вторая иконка задания, для активной задачи ресурс ico2, для выполненной ico3;&lt;br /&gt;
*'''выполнено''' - Счетчик, куда будет занесен текущий прогресс;&lt;br /&gt;
*'''всего''' - Счетчик, куда будет занесен необходимый прогресс;&lt;br /&gt;
*'''прогресс''' - Прогресс (отношение текущего к необходимому);&lt;br /&gt;
*'''награда ресурс 1''' - Счетчик награды ресурс 1;&lt;br /&gt;
*'''награда ресурс 2''' - Счетчик награды ресурс 2;&lt;br /&gt;
*'''награда опыт''' - Счетчик награды опыта;&lt;br /&gt;
*'''кнопка''' - Кнопка. Отображается для активных задач, для которой текущий прогресс меньше необходимого;&lt;br /&gt;
*'''кнопка2''' - Кнопка. Отображается для активных задач, для которой текущий прогресс равен необходимому;&lt;br /&gt;
*'''кнопка искать''' - Кнопка;&lt;br /&gt;
*'''кнопка экспертиза (не начата)''' - Кнопка экспертиза (не начата);&lt;br /&gt;
*'''кнопка экспертиза (в процессе)''' - Кнопка экспертиза (в процессе);&lt;br /&gt;
*'''кнопка экспертиза (завершена)''' - Кнопка экспертиза (завершена);&lt;br /&gt;
*'''таймер экспертизы''' - Таймер экспертизы;&lt;br /&gt;
*'''награда предмет иконка''' - Иконка награды-предмета;&lt;br /&gt;
*'''награда количество''' - Количество предметов в награде;&lt;br /&gt;
*'''таймер''' - таймер, в который сложим время на выполнение задачи;&lt;br /&gt;
*'''штраф репутации''' - счетчик, в который сложим штраф за проваленное задание;&lt;br /&gt;
*'''отметка выполненной задачи''' - Галочка видимая для выполненных задач и невидимая для невыполненных;&lt;br /&gt;
*'''необходимо энергии''' - Счетчик, куда будет занесена необходимая для игры в монстра энергия (если таск не монстр - счетчик будет невидим);&lt;br /&gt;
*'''эффект новой задачи''' - Эффект, который будет склонирован для новой задачи;&lt;br /&gt;
*'''эффект выполнения ресурс 1''' - Эффект, который будет склонирован для выполненной задачи;&lt;br /&gt;
*'''эффект выполнения ресурс 2''' - Эффект, который будет склонирован для выполненной задачи;&lt;br /&gt;
*'''эффект выполнения опыт''' - Эффект, который будет склонирован для выполненной задачи;&lt;br /&gt;
*'''эффект выполнения отметка''' - Эффект, который будет склонирован для выполненной задачи;&lt;br /&gt;
*'''эффект выполнения fail''' - Эффект, который будет склонирован для задачи, у которой кончилось время;&lt;br /&gt;
*'''эффект выполнения исчезание''' - Эффект, который будет склонирован для выполненной задачи;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Связь с объектом типа eanalysis===&lt;br /&gt;
&lt;br /&gt;
Кнопка [[Eanalysis|экспертизы]] может быть в трех состояниях:&lt;br /&gt;
*'''не начата''' - в этом случае игроку только предлагается пройти экспертизу. Например, в таком случае ребенком кнопки можно сделать текстовый объект с соответствующей надписью. Например &amp;quot;Анализ&amp;quot;.&lt;br /&gt;
*'''в процессе''' - экспертиза уже запущена и идет процесс. Тут, например, можно показать таймер с отсчетом времени до конца экспертизы. Его как раз и помещают в Etasktemplate, в поле &amp;quot;таймер экспертизы&amp;quot;.&lt;br /&gt;
*'''выполнена''' - экспертиза выполнена, отображается соответствующая кнопка. Например, &amp;quot;Читать&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Отметка выполненной задачи===&lt;br /&gt;
&lt;br /&gt;
Графический ресурс (например галочка), который отображается, когда задача выполнена. Реализуется в виде [[Machine|машины состояний]]. &lt;br /&gt;
&lt;br /&gt;
'''Правила для отметки задачи и эффектов выполнения'''&lt;br /&gt;
*Каждый эффект начинается с состояния beg и обязан перейти в finish&lt;br /&gt;
*В состоянии beg эффект запускается в координатах ячейки таблицы. В этом же состоянии перебивать координаты нельзя. Поэтому все остальные действия отображения эффекта лучше делать в состоянии beg_.&lt;br /&gt;
*Эффект исчезания таска начнется только после перехода в finish эффекта отметки (например, анимация галочки выполненных тасков)&lt;br /&gt;
&lt;br /&gt;
===Дополнительные кнопки===&lt;br /&gt;
&lt;br /&gt;
Нажатием правой кнопки мыши на поле объекта Etasktemplate можно добавлять дополнительные [[Button|кнопки]], которые отображаются на специфических задачах. Например &amp;quot;Играть&amp;quot;, &amp;quot;Искать&amp;quot;, &amp;quot;Получить&amp;quot; (таск [[Taskorganizer#Задача cross promo|cross-promo]]), &amp;quot;Нравится&amp;quot; (таск оценить приложение).&lt;br /&gt;
&lt;br /&gt;
Номер кнопки соответствует порядковому номеру этой кнопки в объекте Etasktemplate. Нумерация начинается с нуля. Например, в Taskorganizer указана кнопка 1 для автоматически [[Taskorganizer#Группа генерируемые|генерируемых задач]]. Это значит, что эта кнопка должна быть указана в поле &amp;quot;дополнительные кнопки&amp;quot; второй.&lt;br /&gt;
&lt;br /&gt;
Все кнопки, для отдельных задач, указываются в [[Taskorganizer#Taskorganizer setup|Taskorganizer setup]].&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''take''' - должно вызываться кнопкой или кнопкой2, при вызове состояния в объект записываются параметры:&lt;br /&gt;
**'''clicked_task_id''' - id таска, на темплейте которого была нажата кнопка или кнопка2;&lt;br /&gt;
**'''clicked_task_x''' - координата x центра ячейки, относительно пивота таблицы, в которой была нажата кнопка или кнопка2;&lt;br /&gt;
**'''clicked_task_y''' - координата y центра ячейки, относительно пивота таблицы, в которой была нажата кнопка или кнопка2;&lt;br /&gt;
*'''complete''' - запускается анимация удаления таска из таблицы. При вызове complete в сам темплейт автоматически записывается параметр &amp;quot;need_effect&amp;quot;. В need_effect хранится информация о том, есть ли еще таски, которые выполнены и требуют завершения и воспроизведения должных эффектов. &lt;br /&gt;
**Если need_effect = 1, то такие эффекты еще есть, значит вызываем снова complete. &lt;br /&gt;
**Если need_effect = 0, то тасок больше нет, все завершенные таски последовательно воспроизвели все свои эффекты. Вызываем состояние refresh_templates для таскорганайзера. При вызове refresh_templates таскорганайзеру запускается анимация добавления новых тасков в таблицу, если такие есть.&lt;br /&gt;
&lt;br /&gt;
===Реализация таймерных тасков===&lt;br /&gt;
Таймерные таски - таски, в которых указано время на выполнение.&lt;br /&gt;
&lt;br /&gt;
*для таймерных тасков указываем '''время на их выполнения''' в поле для таймера в Etasktemplate. Таймер будет виден только если время в задаче &amp;gt; 0.&lt;br /&gt;
*в поле '''&amp;quot;штраф репутации&amp;quot;''' указываем репутацию, которая отнимется у игрока в случае невыполнения задания. Счетчик будет виден, если поле заполнено в [[Taskorganizer#Taskorganizer setup|Taskorganizer setup]].&lt;br /&gt;
*если в таймтаске требуется подзадача опции (например, выполнить действие три раза), то используем '''счетчики &amp;quot;всего&amp;quot; и &amp;quot;выполнено&amp;quot;''' в Etasktemplate.&lt;br /&gt;
*'''эффект выполнения fail''' используется в случае невыполнения таймерного таска. Работает так же как &amp;quot;эффект выполнения отметка&amp;quot; полностью. Начинается с состояния beg и обязан перейти в finish. После себя инициирует исчезание, если переведен в finish. Дополнительно этот эффект следует указать в [[Taskorganizer#Taskorganizer setup|Taskorganizer setup]] &amp;lt;property name=&amp;quot;изменить состояние объекта - таймаут&amp;quot; label=&amp;quot;изменить состояние объекта если какая-то задача кончилась таймаутом.&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9558</id>
		<title>Taskorganizer</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9558"/>
		<updated>2018-05-15T14:00:10Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Равномерная экономика (Preset) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Object|Объект]] Taskorganizer - Менеджер задач и квестов&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
[[Файл:Task.jpg|250px|thumb|right]]&lt;br /&gt;
[[Файл:Task_1.jpg|250px|thumb|right]]&lt;br /&gt;
=== Общие параметры ===&lt;br /&gt;
*'''economics''' - Объект типа экономикс.&lt;br /&gt;
*'''предметы''' - Объект типа eitems.&lt;br /&gt;
*'''таблица''' - Таблица куда будут помещены иконки заданий. При тапе на таблицу объекту Taskorganizer вызывается состояние show. Иконки подтягиваются из текстовой базы (icon1).&lt;br /&gt;
*'''добавлять иконки''' - 1 - добавлять в таблицу иконки, 0 - тексты из текстового id (поле word).&lt;br /&gt;
*'''шаблон предмета''' - Объект типа etaskitem будет использоваться при показе превью задания.&lt;br /&gt;
*'''фильтрация''' - Категория, которые должны будут отобразиться в таблице логов при вызове состояния logbook. Пустая строка - все.&lt;br /&gt;
*'''таблица логов''' - Таблица куда будут помещены записи логбука.&lt;br /&gt;
*'''новая запись''' - Объект, которому будет вызвано состояние show при добавлении новой записи в логбук.&lt;br /&gt;
*'''новое задание''' - Графический ресурс, который будет отмечать новые задания. Смещение должно достигаться пивотом.&lt;br /&gt;
*'''прочитанное задание''' - Графический ресурс, который будет отмечать прочитанные задания. Смещение должно достигаться пивотом (возможно указать анимацию, скорость смены кадров указываем в ресурсной базе).&lt;br /&gt;
*'''выполненное задание''' - Графический ресурс, который будет отмечать выполненные задания. Смещение должно достигаться пивотом (возможно указать анимацию, скорость смены кадров указываем в ресурсной базе)&lt;br /&gt;
*'''уведомление''' - Текстовый айди заголовка связанных с задачами уведомлений (Должно быть заполнено поле sense 4 - т.к. рандомно его будет постить).&lt;br /&gt;
*'''вероятность уведомления''' - Подменная вероятность нахождения предмета нужного для задания по уведомлению с которого мы пришли. 0 - использовать значение по умолчанию.&lt;br /&gt;
*'''выполнять непрочитанные''' - 1 - выполнять непрочитанные таски, 0 - нет.&lt;br /&gt;
*'''хронологический порядок''' - 1 - записывать задачи в хронологическом порядке, 0 - нет.&lt;br /&gt;
*'''картинки в логбук''' - Расположение картинки до или после текста.&lt;br /&gt;
*'''сдвиг уровней''' - число на которое сдвинутся требования к уровню игрока в taskorganizer_setup для каждой задачи;&lt;br /&gt;
*'''refresh при показе окна''' - 0 - нет, 1 - да. Ставим = 0 ( &amp;quot;нет&amp;quot; ), если хотим чтобы при тапе по таблице отложить сортировку и обновление статуса таска ( в определённый момент ( к примеру, когда открылось окно таска), передаём состояние '''refresh''' и таблица обновится).&lt;br /&gt;
*'''использовать накопление ошибки''' - 0 - нет, 1 - да. Ставим = 1 ( &amp;quot;да&amp;quot; ), если хотим чтобы нахождение предметов в хиддене, по таску не превышало n-раз  ( к примеру p= 0.5  (1/0.5=2 , т.е. предмет должны найти не более чем за две игры в хидн), если количество сыгранных игр &amp;gt;= максимальному по вероятности, то предмет попадает в таблицу ( мы его нашли)). Если стоит - 0 ( &amp;quot;нет&amp;quot; ), то вне зависимости от количества заходов, будет браться вероятность.&lt;br /&gt;
*'''etasktemplate''' - объект типа [[Etasktemplate|etasktemplate]]&lt;br /&gt;
*'''только одна подкрутка за раз''' - 0 - нет, 1 - да. Ставим = 1 ( &amp;quot;да&amp;quot; ), если хотим чтобы за один проход хиддена выполнялся один таск.&lt;br /&gt;
*'''таблица для шаблонов''' - таблица, в которую сложим шаблоны из предыдущего поля&lt;br /&gt;
*'''помещать генерируемые в шаблоны''' - помещать в шаблоны генерируемые таски&lt;br /&gt;
*'''уменьшать предметы при сдаче коллекции''' - 0 - нет, 1 - да. Ставим = 1 ( &amp;quot;да&amp;quot; ), то при сдаче коллекции будет выполнен декремент количества предметов необходимых чтобы задание выполнилось ( параметр таски s0 в опциях).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Для огранизации логбука необходимо текст поместить в sentenсe 1. Картинка, что будет отображаться с этим текстом, должна быть icon 2. Также есть возможность использовать эту картинку в качестве фона. Тогда текст, который будет отображаться поверх этой картинки, нужно разместить в sentenсe 2.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Группа угадайка ===&lt;br /&gt;
&lt;br /&gt;
Угадайка - задание, в котором игроку предлагается вспомнить или угадать, кто из персонажей просил тот или иной коллекционный предмет. Владелец предмета указывается в настройке подзадачи.&lt;br /&gt;
&lt;br /&gt;
*'''показывать через''' - Через какое количество обычных задач показывать угадайку.&lt;br /&gt;
*'''с уровня''' - Угадайка будет генерироваться только начиная с данного уровня.&lt;br /&gt;
*'''машина''' - Объект, которому при активации будет вызвано состояние show. Она же после угадайки будет переведена в состояние win или fail.&lt;br /&gt;
*'''иконка''' - Объект, в который сложим иконку предмета.&lt;br /&gt;
*'''иконка для таблицы''' - Иконка соответствующая угадайке в таблице задач.&lt;br /&gt;
*'''ресурс 1''' - Деньги даваемые за выполнение задания.&lt;br /&gt;
*'''ресурс 2''' - Кристаллы даваемые за выполнение задания.&lt;br /&gt;
*'''опыт''' - Опыт даваемый за выполнение задания.&lt;br /&gt;
*'''награда ресурс 1''' - Счетчик, которому будет присвоено количество призового ресурса 1.&lt;br /&gt;
*'''награда ресурс 2''' - Счетчик, которому будет присвоено количество призового ресурса 2.&lt;br /&gt;
*'''награда опыт''' - Счетчик, которому будет присвоено количество призового опыта.&lt;br /&gt;
=== Группа рулетка ===&lt;br /&gt;
&lt;br /&gt;
На самом деле название &amp;quot;рулетка&amp;quot; весьма условное. В этом разделе можно поместить любое периодически повторяющееся задание.&lt;br /&gt;
&lt;br /&gt;
*'''показывать через''' - Через какое количество обычных задач показывать рулетку.&lt;br /&gt;
*'''с уровня''' - Рулетка будет генерироваться только начиная с данного уровня.&lt;br /&gt;
*'''машина''' - Объект, которому при активации будет вызвано состояние show.&lt;br /&gt;
*'''иконка для таблицы''' - Иконка соответствующая рулетке в таблице задач.&lt;br /&gt;
=== Группа генерируемые ===&lt;br /&gt;
&lt;br /&gt;
В этой группе находятся периодически генерируемые задания на прохождение локаций.&lt;br /&gt;
&lt;br /&gt;
*'''активных задач''' - Эти задачи будут генерироваться, когда активных задач столько или меньше.&lt;br /&gt;
*'''с уровня''' - Эти задачи будут генерироваться только начиная с данного уровня.&lt;br /&gt;
*'''максимально''' - Будет сгенерированно случайное количество задач от 1 до n.&lt;br /&gt;
*'''машина''' - Объект, которому при активации будет вызвано состояние show. Она же после угадайки будет переведена в состояние win или fail.&lt;br /&gt;
*'''название''' - Текстовый объект, в который будет сложено название локации.&lt;br /&gt;
*'''превью''' - Объект, в который сложим превью локации для генерируемой задачи.&lt;br /&gt;
*'''иконка для таблицы''' - Иконка соответствующая генерируемому таску в таблице задач.&lt;br /&gt;
*'''ресурс 1''' - Деньги даваемые за выполнение задания.&lt;br /&gt;
*'''ресурс 2''' - Кристаллы даваемые за выполнение задания.&lt;br /&gt;
*'''опыт''' - Опыт даваемый за выполнение задания.&lt;br /&gt;
*'''награда ресурс 1''' - Счетчик, которому будет присвоено количество призового ресурса 1.&lt;br /&gt;
*'''награда ресурс 2''' - Счетчик, которому будет присвоено количество призового ресурса 2.&lt;br /&gt;
*'''награда опыт''' - Счетчик, которому будет присвоено количество призового опыта.&lt;br /&gt;
*'''текст для etasktemplate''' - будет в поле name etasktemplate. Это название задачи на прохождение локации, которая генерируется автоматически и использует шаблон etasktemplate. Текст используется из Текстовой Базы Ресурсов. Например, &amp;quot;Исследовать локацию&amp;quot;.&lt;br /&gt;
*'''номер кнопки для etasktemplate''' - номер кнопки для etasktemplate. [[Button|Кнопка]], которая используется для данной задачи. Например, &amp;quot;Исследовать&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Если перед генерацией случайного таска на исследование локации указать параметру gen_loc значение от 0 до n, то ближайшая генерируемая задача будет для конкретной локации под указанным номером. После генерации параметр gen_loc становится -1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Если перед генерацией случайного таска от персонажа указать параметру gen_face значение от 0 до n, то ближайшая генерируемая задача будет от персонажа под указанным номером. После генерации параметр gen_face становится -1.&lt;br /&gt;
Если указать gen_face=&amp;quot;-2&amp;quot;, то таскорганайзер попытается с генерировать задачу с персонажем так, чтобы номер локации совпадал с персонажем, при условии что номер локации будет меньше максимальному числу персонажей ( char_num).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Группа угадаечные задачи ===&lt;br /&gt;
&lt;br /&gt;
В этой группе указываем диапазоны для генерации тасков-викторин и способ генерации.&lt;br /&gt;
&lt;br /&gt;
*'''стандартная генерация''':&lt;br /&gt;
::'''нет''' - особая генерация задач, при которой с начало генерируем задачи из _очереди 1_, потом задачи из _очереди 2_ ( Если в первой очереди мы не можем сгенерировать задачу, пытаемся сгенерировать из второй очереди). Если мы не сгенерировали задачу из обоих очередей, то мы обнуляем все таски из обоих очередей ( и сразу генерим из _очереди 1_ задачу);&lt;br /&gt;
::'''да''' - стандартная генерация одной угадайки ( начинаем сверху вниз генерить;&lt;br /&gt;
*'''очередь 1''' - Основная очередь, пытаемся из неё сгенерировать задачу, при получении Taskorganizer сост. _generate_guess_, если в предыдущем поле стоит '''нет'''. Каждая задача из этой очереди имеет условия для появления ( прохождение сюжетного таска к примеру);&lt;br /&gt;
*'''очередь 2''' - Очередь затычка, задачи из этой очереди без условий. Предназначена когда в первой очереди нету доступных тасков для генерации;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
У таскорганайзера есть поле disabled, если при каждом запуске приложения после конца туториала писать туда 1 - это приведет к удалению старого сейва и несозданию нового. Несколько килобайт выгоды в опциях + использовать только для туториального таскорганайзера, когда он отработает.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Taskorganizer setup=&lt;br /&gt;
[[Файл:Task_2.jpg|600px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
*'''id''' - Идентификатор задания. Используется в других заданиях. По общей концепции - строковый айди. Перетаскивается из текстовой базы.&lt;br /&gt;
 '''Для каждого задания(записи в logbook) должен быть свой уникальный id.'''&lt;br /&gt;
*'''хинт''' - Список строк-подсказок для задачи. Перетаскиваются из текстовой базы. Таким образом, добавив несколько записей из базы, увидим выпадающий список.&lt;br /&gt;
*'''название (объект)''' - Текстовый объект, в который мы сложим название задания. Описание подтягивается из текстовой базы из первого столбика (word) текстового id задания.&lt;br /&gt;
*'''машина''' - Объект, которому при активации задания будет вызвано состояние show, а при повторном открытии задания show_old.&lt;br /&gt;
*'''портрет''' - Объект, которому при активации задания будет устанорвлен графический ресурс рожи.&lt;br /&gt;
*'''таблица''' - Таблица куда будут помещены темплейты предметов данного задания.&lt;br /&gt;
*'''описание (объект)''' - Текстовый объект, в который мы сложим описание задания. Описание подтягивается из текстовой базы из второго столбика (sentence1) текстового id задания.&lt;br /&gt;
*'''награда (ресурс 1)''' - Счетчик отображающий награду в ресурсе 1 за выполнение задания.&lt;br /&gt;
*'''награда (ресурс 2)''' - Счетчик отображающий награду в ресурсе 2 за выполнение задания.&lt;br /&gt;
*'''награда (опыт)''' - Счетчик отображающий награду в опыте за выполнение задания.&lt;br /&gt;
*'''таблица хинта''' - Таблица, в которую будем складывать хинты.&lt;br /&gt;
*'''reusable''' - 0 - задача появится 1 раз, 1 - будет появляться каждый раз при выполнении ее условий.&lt;br /&gt;
*'''приоритетная''' - чем больше число, тем выше в таблице тасков.&lt;br /&gt;
*'''умножать цену пропуска''' - нужно в случае, если мы хотим давать юзеру возможность моментально выполнить задачу за цену, которая зависит от количества нехватающих коллекционных предметов (цена пропуска*количество отсутствующих предметов).&lt;br /&gt;
*'''отображать выполненным в шаблонах''' - &amp;quot;да&amp;quot; - таск будет оставаться в таблице шаблонов после выполнения/&lt;br /&gt;
*'''видимые кнопки''' - номера видимых кнопок в [[Etasktemplate#Дополнительные кнопки|Etasktemplate]] через запятую. Отображает кнопки, используемые для данной задачи.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Необходимое для логбука'''&lt;br /&gt;
&lt;br /&gt;
*'''для журнала''' - 0 - задача предназначена для списка задач, 1 - задача предназначена для журнала.&lt;br /&gt;
*'''категория''' - Категория к которой относится задача/запись. Пока используется только задачами для логбука.&lt;br /&gt;
&lt;br /&gt;
'''Критерии появления'''&lt;br /&gt;
&lt;br /&gt;
*'''уровень''' - Минимальный уровень, при котором может появиться задание.&lt;br /&gt;
*'''аномалия''' - В какой-либо локации присутствует аномалия данного типа. -1 - не учитывать условие.&lt;br /&gt;
*'''локация''' - Локация для которой будем проверять мастерство. -1 - не учитывать условие.&lt;br /&gt;
*'''мастерство''' - Уровень мастерства, который должен быть достигнут в локиции. -1 - не учитывать условие.&lt;br /&gt;
*'''завершены до''' - Задания, которые должны быть завершены до появления этого.&lt;br /&gt;
*'''получены до''' - Задания, которые должны быть получены до появления этого.&lt;br /&gt;
*'''не завершены до''' - Задания, которые должны быть НЕ завершены до появления этого.&lt;br /&gt;
*'''объект до''' - Объект, который должен находиться в состоянии_до для появления задания.&lt;br /&gt;
*'''состояние до''' - Состояние объекта_до, в котором вызывается генерация задания.&lt;br /&gt;
*'''коллекционные''' - Коллекционные предметы, которые должны быть найдены для появления задания.&lt;br /&gt;
*'''вероятность нужного''' - Когда мы будем проходить локации, в которых есть предметы необходимые для задания - мы будем подменять вероятность из локации вот этой вероятностью.  0 - использовать дефолтную.&lt;br /&gt;
&lt;br /&gt;
'''Критерии завершения'''&lt;br /&gt;
&lt;br /&gt;
*'''с аномалией''' - Задача выполняется при нахождение локации с аномалией данного типа. Не путать с аномалией необходимой для возникновения задания. -1 - не учитывать аномалию. &lt;br /&gt;
*'''задачи''' - Задания, выполнение которых требуется для выполнения данной.&lt;br /&gt;
*'''предметы''' - Задание завершается, когда получены следующие предметы (коллекционные и инвентарные единым списком).&lt;br /&gt;
*'''объект''' - Объект, который должен находиться в определенном состоянии,для завершения задания.&lt;br /&gt;
*'''состояние''' - Состояние объекта, в котором вызывается проверка задания.&lt;br /&gt;
&lt;br /&gt;
'''Награда'''&lt;br /&gt;
&lt;br /&gt;
*'''ресурс 1''' - Деньги даваемые за выполнение задания.&lt;br /&gt;
*'''ресурс 2''' - Кристаллы даваемые за выполнение задания.&lt;br /&gt;
*'''опыт''' - Опыт даваемый за выполнение задания.&lt;br /&gt;
*'''репутация''' - репутация, даваемая за выполнение задания.&lt;br /&gt;
*'''штраф репутации''' - штраф репутации за провал таймерного задания. Должен быть отрицательным.&lt;br /&gt;
*'''перевести объект''' - При выполнении задания этот объект будет переведен в новое состояние.&lt;br /&gt;
*'''в состояние''' - Состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
==Подзадача предмет==&lt;br /&gt;
В опции суммарно будет записываться значение два параметра:&lt;br /&gt;
&lt;br /&gt;
:'''iN''' - &amp;quot;item need&amp;quot; - необходимое количество предметов, по всем &amp;quot;подзадачам предмет&amp;quot;;&lt;br /&gt;
:'''iH''' - &amp;quot;item have&amp;quot; - имеющееся количество предметов, по всем &amp;quot;подзадачам предмет&amp;quot;;&lt;br /&gt;
:'''i0..i666''' - требующийся предмет, пишется для задач из коллекций;&lt;br /&gt;
&lt;br /&gt;
*'''сгенерировать предмет''' - определить необходимый предмет из коллекции; &lt;br /&gt;
::'''нет''' - просто требовать предмет;&lt;br /&gt;
::'''да''' - сгенерировать предмет из доступных локаций (календарь);&lt;br /&gt;
::'''сегодня''' - с генерировать предмет из коллекции, для локации текущего дня (календарь);&lt;br /&gt;
::'''неделя''' - с генерировать предмет из коллекции, для локаций текущей недели (календарь);&lt;br /&gt;
*'''из коллекции''' - указать txtID коллекции из которой будут браться id предметов;&lt;br /&gt;
&lt;br /&gt;
==Подзадача экспертиза==&lt;br /&gt;
&lt;br /&gt;
*'''предмет''' - в поле предмет записываем id объекта, который нужен для проведения экспертизы. Предмет берем из текстовой базы ресурсов. Иконка предмета до начала и во время проведения экспертизы в icon1, иконка предмета после проведения экспертизы в icon2.&lt;br /&gt;
*'''время''' - изначальная длительность экспертизы в секундах.&lt;br /&gt;
*'''стоимость''' - стоимость экспертизы, используется res3.&lt;br /&gt;
*'''стоимость ускорения''' - стоимость ускорения экспертизы, используется res2.&lt;br /&gt;
*'''описание''' - описание подзадачи&lt;br /&gt;
*'''владелец''' - здесь используем число для указания типа экспертизы. Например, 1 - это экспертизы одного типа, 2 - это второй тип экспертиз&lt;br /&gt;
*'''уведомление''' - текстовый id для уведомления. Генерируется при старте. Имя уведомления записать в поле word, текст уведомления в sentence1, картинку уведомления в sentence2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Картинку для уведомления положить в конфиги, рядом с файлом platform.icf для каждой платформы.&lt;br /&gt;
К примеру, путь может выглядеть так: C:\Editor\Projects\Crime_City\conf\base\project\platforms\google&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Taskorganizer_eanalysis.png|600px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
==Задача cross promo==&lt;br /&gt;
&lt;br /&gt;
У таска можно включить флаг:&lt;br /&gt;
*'''cross promo''' - идентификатор задачи типа ''cross promo'' (1 - да, 0 - нет)&lt;br /&gt;
&lt;br /&gt;
в этом случае он &lt;br /&gt;
а) сгенерится, если есть кросс промо И выполнены остальные условия его появления;&lt;br /&gt;
б) выполнится, если установлено приложение И выполнине остальные условия его выполнения;&lt;br /&gt;
в) вызвав состояние '''cross_promo''' -открыть урл связанный с crosspromo задачей - таскорганайзеру можно открыть урл, которые приехал из конфига.&lt;br /&gt;
У задачи должно быть уникакльное окно, в котором в объект указанный в ''портрет'' будет помещен баннер.&lt;br /&gt;
&lt;br /&gt;
==Изменить состояние объекта - новое задание==&lt;br /&gt;
&lt;br /&gt;
Позволяет изменять состояние объекту каждый раз при появлении нового задания, находится в taskorganizer setup.&lt;br /&gt;
&lt;br /&gt;
==Изменить состояние объекта - таймаут==&lt;br /&gt;
&lt;br /&gt;
Позволяет изменить состояние объекта если какая-то задача кончилась таймаутом, находится в taskorganizer setup. Создан для таймерных заданий, которые работают через [[Etasktemplate|Etasktemplate]]. Указываем '''эффект выполнения fail''' из [[Etasktemplate#Реализация таймерных тасков|Etasktemplate]]. Эффект используется, когда задание завершилось провалом по истечению времени.&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''show''' - При вызове этого состояния из таблицы с иконками заданий открывается соответствующая машина задания, прописанная в группе '''задание'''.&lt;br /&gt;
*'''check''' - При вызове проверяется выполнение текущих заданий(заданий добавленных в таблицу). Для того чтобы таскорганайзер добавил таски в таблицу после загрузки приложения ему нужно передать refresh.&lt;br /&gt;
*'''generate''' - При вызове подбирается подходящее задание в зависимости от прогресса игрока.&lt;br /&gt;
*'''generate_plot''' - При вызове генерится задача с персонажем ( поле генерируемые с персонажами), если перед этим передать в поле gen_face номер персонажа, то сгенерируем с указанным персонажем, после параметр обнулится ( значение -1 ). Перед вызовом данного состояния, '''обязательнo''' в поле _param_ вбить &amp;quot;1&amp;quot;.&lt;br /&gt;
*'''log_check''' - При вызове состояния проверяется доступны ли новые записи в логбук.&lt;br /&gt;
*'''log_show''' - Заполняет таблицу логбука записями с текущим фильтром.&lt;br /&gt;
*'''refresh''' - Удаляет иконку выполненного задания из таблицы. Лучше всего вызывать после Check.&lt;br /&gt;
*'''cancel''' - Удаляет задание без награды, которое указано как ID в параметре param таскорганайзера, т.е. объекту Taskorganizer в param указываем ID таска (например 1933 - берется из options.xml или текстовой базы), а потом вызываем состояние cancel.&lt;br /&gt;
*'''add_hint''' - Добавляет в таблицу хинтов следующий текстовый ID из поля хинты текущего таска. Если все хинты показаны, то в опции записывается параметр haveHints=0.&lt;br /&gt;
*'''task_prev''' - Используется, если открыта машина-шаблон текущего задания. В этом состоянии показывается предыдущее по списку таблицы задание.&lt;br /&gt;
*'''task_next''' - Показывает следующее по списку таблицы задание.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Состояния task_prev и task_next работают циклически, после первой задачи показывают последнюю и наоборот.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''show_id''' - Показать окно задачи, взяв ее id из параметра.&lt;br /&gt;
*'''show_complete_id''' - показать окно после задачи, взяв ее id из param (делалось для одноразовых задач, повторяемые могут не работать);&lt;br /&gt;
*'''show_last_plot''' - Открыть последнюю сгенерированную сюжетную задачу.&lt;br /&gt;
*'''guess''' - Ответить на текущую угадайку, взяв ответ из параметра (param). Taskorganizer также хранит правильный ответ на текущую угадайку в параметре ''guess_answer'', его можно использовать, если нужно оставить игроку меньше вариантов для угадывания.&lt;br /&gt;
*'''add_hint_last''' - Добавить подсказку последней добавленной задаче.&lt;br /&gt;
*'''add_hint_top''' - Добавить подсказку верхней задаче в таблице.&lt;br /&gt;
*'''guess_who_reward''' - начислить награду за последнюю угадайку.&lt;br /&gt;
*'''roulette_complete''' -состояние, вызываемое при выполнении текущей задачи &amp;quot;рулетка&amp;quot;.&lt;br /&gt;
*'''cheat_complete''' - если его вызвать, то при следующем check выполнится задача, для которой последней показывали превью.&lt;br /&gt;
*'''skip''' - При вызове этого состояния выполнится последний открытый таск. Цена скипа указывается внутри самого таска.&lt;br /&gt;
*'''skip_id_no_effect''' - изменить состояние задачи с id из param на completed безо всяких доп. эффектов - награды, окон и т.п.&lt;br /&gt;
*'''check_multiple''' - Проверить выполнение задач не выходя из проверки после первой найденной.&lt;br /&gt;
*'''add_hint_hidden''' - Вызов подсказки для 1 (первой по списку в таскорганайзере) скрытой задачи.&lt;br /&gt;
*'''add_hint_hidden_all''' - Вызов подсказки для всех активных скрытых задач (по списку в таскорганайзере).&lt;br /&gt;
*'''calc_active_preset''' - Посчитать количество активных задач по конкретному &amp;quot;preset&amp;quot; (перед вызовом в поле &amp;quot;param&amp;quot; указать номер интересующей категории preset). После вызова, таскорганайзер заполнит параметр &amp;quot;preset_tasks&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Состояния для работы с тасками-угадайками по типу викторины ( в taskorganizer_setup - тип = &amp;quot;угадайка&amp;quot;):&lt;br /&gt;
*'''answer''' - ответить на открытую угадайку ( в поле '''param''' должно находиться число, номер нажатой кнопки от 0 до 3 ). Вешаем на кнопки варианты-ответа ( пишем param = 0 - 3 , после передаёт _answer_); &lt;br /&gt;
*'''generate_guess''' - сгенерировать угадайку-викторину ( выберет доступные задачи из диапазона указанном в очередях ( 1 и 2) поле _угадаечные задачи_ taskorganizer). При открытии угадайки, в поле _cur_guess_answer_ объекта Taskorganizer записывается номер кнопки где лежит правильный ответ ( от 0 до 3 );&lt;br /&gt;
&lt;br /&gt;
ПРИМЕЧАНИЕ:  при проверке задач для логбука для последней выполненной будет перезаписано поле filter автоматически.&lt;br /&gt;
&lt;br /&gt;
При кажом refresh таскорганайзер заполняет у себя поля:&lt;br /&gt;
*'''tasks_in_table''' - задач в таблице&lt;br /&gt;
*'''tasks_total''' - задач в таблице + скрытых задач&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
Изменение состояния объекта в логе выводится как:&lt;br /&gt;
I/GTaskOrganizer GTaskOrganizer::state() state from 0 to 5 	through object eco_checker	(2543);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Состояния из кода:&lt;br /&gt;
0	&amp;quot;idle&amp;quot;,       		// Состояние по умолчанию&lt;br /&gt;
1	&amp;quot;refresh&amp;quot;,    		// Обновить таблицу с иконками задач&lt;br /&gt;
2	&amp;quot;refresh_templates&amp;quot;, 	// Обновить &amp;quot;ленту&amp;quot; задач&lt;br /&gt;
3	&amp;quot;generate&amp;quot;,   		// Сгенерировать новую задачу (выбрать одну из доступных по условиям) И обновить таблицу с иконками задач&lt;br /&gt;
4	&amp;quot;show&amp;quot;,       		// Показать окно задачи в зависимости от выделенной ячейки в таблице&lt;br /&gt;
5	&amp;quot;check&amp;quot;,      		// Проверить задачи на выполнение. После этого автоматически вызовется рефреш&lt;br /&gt;
6	&amp;quot;log_check&amp;quot;,  		// Проверить, не стали ли доступны новые записи в логе&lt;br /&gt;
7	&amp;quot;log_show&amp;quot;,   		// Заполнить таблицу логбука записями с текущим фильтром&lt;br /&gt;
8	&amp;quot;task_next&amp;quot;,  		// Следующий таск в таблице&lt;br /&gt;
9	&amp;quot;task_prev&amp;quot;,  		// Предыдущий таск в таблице&lt;br /&gt;
10	&amp;quot;add_hint&amp;quot;,   		// Добавить подсказку&lt;br /&gt;
11	&amp;quot;task_reward&amp;quot;,		// Вручить награду за задание - нужно, чтобы разделить выполнение задания и окно получения уровня&lt;br /&gt;
12	&amp;quot;show_id&amp;quot;,    		// Показать окно задачи, взяв ее id из параметра&lt;br /&gt;
13	&amp;quot;guess&amp;quot;,      		// Ответить на текущую угадайку, взяв ответ из параметра&lt;br /&gt;
14	&amp;quot;add_hint_last&amp;quot;,	// Добавить подсказку последней добавленной задаче&lt;br /&gt;
15	&amp;quot;add_hint_top&amp;quot;,		// Добавить подсказку верхней задаче в таблице&lt;br /&gt;
16	&amp;quot;guess_who_reward&amp;quot;,  	// Начислить награду за последнюю угадайку&lt;br /&gt;
17	&amp;quot;roulette_complete&amp;quot;,	// состояние, вызываемое при выполнении текущей задачи &amp;quot;рулетка&amp;quot;&lt;br /&gt;
18	&amp;quot;cheat_complete&amp;quot;,    	// читерское завершение задачи&lt;br /&gt;
19	&amp;quot;generate_plot&amp;quot;,     	// сгенерировать новых &amp;quot;сюжетных задач&amp;quot;&lt;br /&gt;
20	&amp;quot;eraser_start&amp;quot;,      	// принудительно стартовать стирачку &lt;br /&gt;
21	&amp;quot;eraser_complete&amp;quot;,   	// вручить награду за нее&lt;br /&gt;
22	&amp;quot;cancel&amp;quot;,            	// отменить задание из param&lt;br /&gt;
23	&amp;quot;guess_year&amp;quot;,        	// попытаться угадать год (param)&lt;br /&gt;
24	&amp;quot;guess_year_reward&amp;quot;, 	// Дать награду за угадывание года&lt;br /&gt;
25	&amp;quot;show_last_plot&amp;quot;,    	// Открыть последнюю сгенерированную сюжетную задачу&lt;br /&gt;
26	&amp;quot;skip&amp;quot;,              	// Пропустить задачу для которой открыто окно за кристаллы&lt;br /&gt;
27	&amp;quot;add_hint_id&amp;quot;,       	// Добавить хинт задаче по id, если она активна&lt;br /&gt;
28	&amp;quot;add_hint_hidden&amp;quot;,   	// Добавить хинт первой скрытой задаче&lt;br /&gt;
29	&amp;quot;add_hint_hidden_all&amp;quot;, 	// Добавить хинт всем скрытым задачам&lt;br /&gt;
30	&amp;quot;time_to_activate&amp;quot;,  	// Пришло событие об активации задачи&lt;br /&gt;
31	&amp;quot;time_to_timeout&amp;quot;,   	// Пришло событие о таймауте задачи&lt;br /&gt;
32	&amp;quot;check_multiple&amp;quot;,    	// Проверить выполнение задач не выходя из проверки после первой найденной&lt;br /&gt;
33	&amp;quot;answer&amp;quot;,            	// Ответить на новую (январь 2015) угадайку. Номер кнопки в param&lt;br /&gt;
34	&amp;quot;generate_guess&amp;quot;,    	// Сгенерировать новую угадайку&lt;br /&gt;
35	&amp;quot;show_random&amp;quot;,       	// Показать окно случайной активной задачи&lt;br /&gt;
36	&amp;quot;show_eraser&amp;quot;,       	// Показать окно стирачки&lt;br /&gt;
37	&amp;quot;calc_active_preset&amp;quot;,	// Посчитать активные задачи по заданному пресету&lt;br /&gt;
38	&amp;quot;show_case&amp;quot;,         	// Найти активный кейс и заполнить его поля&lt;br /&gt;
39	&amp;quot;scroll_to_task&amp;quot;,    	// Промотать на таск из param таблицу&lt;br /&gt;
40	&amp;quot;reactivate&amp;quot;,        	// Повторно активировать таск из param&lt;br /&gt;
41	&amp;quot;generate_loc&amp;quot;,      	// Сгенерировать генерируемых (извиняюсь) тасков, количество в param&lt;br /&gt;
42	&amp;quot;copy&amp;quot;,              	// Скопировать общие данные в другой таскорганайзер&lt;br /&gt;
43	&amp;quot;cross_promo&amp;quot;,       	// Открыть урл связанный с crosspromo задачей&lt;br /&gt;
44	&amp;quot;show_complete_id&amp;quot;,  	// Показать окно после задачи независимо от ее состояния, взяв ее id из параметра&lt;br /&gt;
45	&amp;quot;skip_id_no_effect&amp;quot;, 	// Изменить состояние задачи с id из param на completed безо всяких доп. эффектов - награды, окон и т.п.&lt;br /&gt;
46	&amp;quot;clear_shown_templates&amp;quot; // Убрать выполненные таски для которых показан эффект из таблицы шаблонов&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Запись в опции=&lt;br /&gt;
&lt;br /&gt;
В процессе работы таскорганайзер записывает параметры в опции. Для конкретной задачи этот параметр представляет следующую строку:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;tasks(id таскорганайзера в проекте).t(id текстового объекта - идентификатора задания).s&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Возможные значения:&lt;br /&gt;
* '''0''' - таск не активен (не добавлен путем вызова generate таскорганайзеру);&lt;br /&gt;
* '''1''' - таск сгенерирован ;&lt;br /&gt;
* '''2''' - таск прочитан (вызвано состояние show);&lt;br /&gt;
* '''3''' - таск выполнен;&lt;br /&gt;
* '''4''' - отложенное состояние таска (условия появления выполнены, но время его появления еще не прийшло);&lt;br /&gt;
* '''5''' - таск выполнен, но награда ещё не забиралась ( таск будет оставаться в таблице, если таски не выполняются автоматически);&lt;br /&gt;
* '''7''' - таск выполнен, награда получена, таск остался в таблице;&lt;br /&gt;
&lt;br /&gt;
=Сопутствующие объекты=&lt;br /&gt;
&lt;br /&gt;
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря(магазина) и экономики. &lt;br /&gt;
* [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина. &lt;br /&gt;
* [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета. &lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий.&lt;br /&gt;
* [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания.&lt;br /&gt;
* [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции.&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Вычитаемые параметры:=&lt;br /&gt;
Каждая таскорганайзер пишет в пользователя следующие параметры:&lt;br /&gt;
*'''public.TaskOrganizerCompletedTasks''' - количество выполненных одноразовых задач;&lt;br /&gt;
*'''public.TaskOrganizerCompletedTasksAll''' - количество выполненных задач с учётом повторяемых;&lt;br /&gt;
&lt;br /&gt;
=Механизм многоуровневых достижений=&lt;br /&gt;
С помощью таскорганайзера можно организовать систему многоуровневых достижений. Для этого используется [[Etasktemplate|темплейт задачи]]. Данные темплейты складываются в таблицу темплейтов таскорганайзера. При этом в самом таскорганайзере должна быть указанна таблица для иконок задач, хоть она и не используется (желательно вынести за границы экрана).&lt;br /&gt;
&lt;br /&gt;
Каждый уровень достижения представляет собой отдельный таск с подзадачей на опции. В поле опций этой подзадачи указываем параметр, который отображает прогресс по достижению. Чтобы создать несколько уровней достижения, нужно несколько задач одного типа (с возрастающими требованиями).&lt;br /&gt;
&lt;br /&gt;
Часть контента для достижения задается чрез текстовый объект - id таска. В текстовом объекте указываем название (word), описание невыполненной (sentence1) и выполненной (sentence2) ачивки. А также ресурс иконки ачивки (ico1), ресурс звезд для невыполненной (ico2) и выполененной (ico3) задачи.&lt;br /&gt;
Награду за достижения ачивки указываем как награду за выполнение таска. Также с помощью обработчика завершения задачи можем запустить анимацию получения ачивки.&lt;br /&gt;
&lt;br /&gt;
Для заполнения таблицы темплейтов нужно вызвать состояние '''refresh_templates''', при вызове '''check''' задача, условия которой были выполнены изменит свое состояние, при этом будут переключены ресурсы звезд, описание ачивки и спрятана кнопка темплейта '''btn'''. &lt;br /&gt;
&lt;br /&gt;
Для контроля того, какая задача будет вызвана при вызове '''check''' можно использовать следующий способ. К задаче добавляем еще одну подзадачу на опции. Когда прогресс по первой подзадаче на опции будет &amp;gt;= требуемого значения для задачи будет отображаться кнопка темплейта '''btn'''. При нажатии на эту кнопку, которая должна вызывать '''take''' темплейту задачи, в него пишется параметр clicked_task_id, по этому параметру определяем у какой задачи нужно выполнить вторую подзадачу на опции и вызываем '''check''' таскорганайзеру.&lt;br /&gt;
&lt;br /&gt;
Пример&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample&lt;br /&gt;
&lt;br /&gt;
Complex_achievements.zip&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\Taskorganizer&lt;br /&gt;
&lt;br /&gt;
=Равномерная экономика (Preset)=&lt;br /&gt;
[[Файл:1499422858929.jpg|300px|thumb|right]]&lt;br /&gt;
Работает, при включении в объекте Economic равномерной экономики (задание не нулевых значений).&lt;br /&gt;
Настройка позволяет давать диапазонную награду конкретной группе задач(&amp;quot;preset&amp;quot;).&lt;br /&gt;
Настройка награды для всех задач, у которых не указан параметр &amp;quot;preset&amp;quot; (т.е. ==&amp;quot;-1&amp;quot;), осуществляется, группой параметров объекта Taskorganizer:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки конкретного preset вынесены в отдельную вкладку &amp;quot;Taskorganizer_setup&amp;quot;:&lt;br /&gt;
[[Файл:Photo hidden 365 Scene Editor build Wed Jul 5 151607 2017 -(single-user) DProjectsEDITOR Game Hidden 365Photo hidden 365Photo hidden 365.seproj.jpg|600px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Ecraftitem&amp;diff=9557</id>
		<title>Ecraftitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Ecraftitem&amp;diff=9557"/>
		<updated>2018-05-15T13:59:53Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Сопутствующие объекты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] представляет собой шаблон создания предмета (крафта) в игре с объектом [[economics]].&lt;br /&gt;
&lt;br /&gt;
Ингридиенты для крафта добавляются в объекте economics в разделе &amp;quot;Предмет&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ecraftitem.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
*'''alpha''' - прозрачность: от 0 (прозраче), до 1 (непрозрачен)&lt;br /&gt;
*'''eitems''' - ссылка на объект eitems&lt;br /&gt;
&lt;br /&gt;
*'''название''' - ссылка на текстовый объект, которому передается название предмета&lt;br /&gt;
&lt;br /&gt;
*'''описание''' - ссылка на текстовый объект, которому передается описание предмета&lt;br /&gt;
&lt;br /&gt;
*'''иконка''' - иконка самого предмета.&lt;br /&gt;
&lt;br /&gt;
*'''кнопка изготовления''' - кнопка, по нажатию на которую осуществляется вызов окна с изготовлением предмета. Передает объекту Ecraftitem состояние '''craft'''&lt;br /&gt;
*'''кнопка продать''' - кнопка, по нажатию на которую осуществляется продажа предмета. Передает объекту Estoreitem состояние '''sell'''&lt;br /&gt;
*'''счетчик''' - счетчик, который отображает процент собраных ингридиентов.&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''craft''' - Вызов окна крафта предмета.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Сопутствующие объекты=&lt;br /&gt;
&lt;br /&gt;
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря(магазина) и экономики. &lt;br /&gt;
* [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина. &lt;br /&gt;
* [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета. &lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий.&lt;br /&gt;
* [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания.&lt;br /&gt;
* [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции.&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Einventoryitem&amp;diff=9556</id>
		<title>Einventoryitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Einventoryitem&amp;diff=9556"/>
		<updated>2018-05-15T13:59:41Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Сопутствующие объекты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] представляет собой шаблон ячейки для инвентаря в игре с объектом [[economics]].&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Einventoryitem1.jpg|right]]&lt;br /&gt;
*'''alpha''' - прозрачность: от 0(объект полностью прозрачен)до 1(объект непрозрачен)&lt;br /&gt;
*'''eitems''' - ссылка на объект eitems&lt;br /&gt;
&lt;br /&gt;
*'''название''' - ссылка на текстовый объект, которому передается название предмета&lt;br /&gt;
&lt;br /&gt;
*'''описание''' - ссылка на текстовый объект, которому передается описание предмета&lt;br /&gt;
&lt;br /&gt;
*'''иконка''' - иконка самого предмета, передается экономикой самостоятельно&lt;br /&gt;
&lt;br /&gt;
*'''кнопка использования''' - кнопка, по нажатию на которую осуществляется использование предмета. Передает объекту Einventoryitem состояние '''use'''&lt;br /&gt;
*'''счетчик''' - счетчик, отображает количество предметов.&lt;br /&gt;
*'''иконка цены''' - картинка, отображающая иконку предмета.&lt;br /&gt;
*'''цена''' - счетчик, который отображает непосредственно цену предмета.&lt;br /&gt;
*'''кнопка продать''' - кнопка по нажатию на которую, происходит продажа предмета. Передает объекту Einventoryitem состояние '''sell'''&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''use''' - Попытаться использовать предмет. В параметр '''last_used_item''' запишется id примененного предмета.&lt;br /&gt;
*'''sell''' - Попытаться продать предмет.&lt;br /&gt;
&lt;br /&gt;
Пример шаблона инвентарного предмета:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Einventory2.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
=Сопутствующие объекты=&lt;br /&gt;
&lt;br /&gt;
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря(магазина) и экономики. &lt;br /&gt;
* [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина. &lt;br /&gt;
* [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря. &lt;br /&gt;
* [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий.&lt;br /&gt;
* [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания.&lt;br /&gt;
* [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции.&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Estoreitem&amp;diff=9555</id>
		<title>Estoreitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Estoreitem&amp;diff=9555"/>
		<updated>2018-05-15T13:59:04Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Сопутствующие объекты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] представляет собой шаблон ячейки для магазина в игре с объектом [[economics]].&lt;br /&gt;
&lt;br /&gt;
=Параметры=&lt;br /&gt;
&lt;br /&gt;
[[Файл:Estoreitem.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
*'''alpha''' ''(al)'' - Прозрачность: от 0 (прозраче), до 1 (непрозрачен).&lt;br /&gt;
*'''eitems''' ''(eitems)'' - Ссылка на объект eitems.&lt;br /&gt;
&lt;br /&gt;
*'''название''' ''(name)'' - Cсылка на текстовый объект, которому передается название предмета.&lt;br /&gt;
&lt;br /&gt;
*'''описание''' ''(desc)'' - Ссылка на текстовый объект, которому передается описание предмета.&lt;br /&gt;
&lt;br /&gt;
*'''иконка цены''' ''(icoPrice)'' - Ссылка на картинку, которая показывает каким ресурсом будем платить за предмет.&lt;br /&gt;
&lt;br /&gt;
*'''цена''' ''(price)'' - Ссылка на объект типа counter, который отображает стоимость предмета.&lt;br /&gt;
&lt;br /&gt;
*'''иконка''' ''(ico)'' - Иконка самого предмета, передается экономикой самостоятельно.&lt;br /&gt;
&lt;br /&gt;
*'''кнопка купить''' ''(btnSell)'' - Кнопка, по нажатию на которую осуществляется покупка предмета. Передает объекту Estoreitem состояние '''buy'''&lt;br /&gt;
*'''кнопка продать''' ''(btnSell1)'' - Кнопка, по нажатию на которую осуществляется продажа предмета. Передает объекту Estoreitem состояние '''sell'''.&lt;br /&gt;
*'''счетчик''' ''(cnt)''-  Счетчик, в котором отображается, сколько штук данного предмета будет продаваться за одну покупку.&lt;br /&gt;
*'''количество''' ''(cntHave)'' - Счетчик, в котором отображается, сколько штук данного предмета у нас уже есть.&lt;br /&gt;
*'''акция 1+1''' ''(discount)'' - Лейбла акции. Будет видима, когда соотвествующий коэффициент больше 0.&lt;br /&gt;
*'''номер иконки''' ''(iconind)'' - Номер иконки в текстовой базе. Будет отображаться, когда предмет доступен для покупки.&lt;br /&gt;
*'''номер иконки недоступный''' ''(iconinddis)'' - Номер иконки в текстовой базе. Будет отображаться, когда предмет не доступен для покупки.&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''buy''' - Попытаться купить предмет.&lt;br /&gt;
*'''sell''' - Попытаться продать предмет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример шаблонов в таблице:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems4.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
=Сопутствующие объекты=&lt;br /&gt;
&lt;br /&gt;
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря(магазина) и экономики. &lt;br /&gt;
* [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина. &lt;br /&gt;
* [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета. &lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий.&lt;br /&gt;
* [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания.&lt;br /&gt;
* [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции.&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Eitems&amp;diff=9554</id>
		<title>Eitems</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Eitems&amp;diff=9554"/>
		<updated>2018-05-15T13:58:51Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Пример */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Eitems''', служит для связи инвентаря(магазина) и экономики&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
&lt;br /&gt;
*'''шаблон магазина''' - Ссылка на шаблон магазина.&lt;br /&gt;
&lt;br /&gt;
*'''шаблон инвентаря''' - Ссылка на шаблон инвентаря.&lt;br /&gt;
&lt;br /&gt;
*'''шаблон создания''' - Ссылка на шаблон создания конкретного объекта в инвентаре.&lt;br /&gt;
&lt;br /&gt;
*'''инвентарь''' - Для связи объектов economics, например, с tools.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear /br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Окно подтверждения покупки==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems2.jpg|right]]&lt;br /&gt;
*'''окно''' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open.&lt;br /&gt;
*'''иконка''' - Иконка предмета.&lt;br /&gt;
*'''текст (объект)''' - Текстовый объект в окошке.&lt;br /&gt;
*'''описание (объект)''' - Текстовый объект в окошке, в который сложим описание предмета.&lt;br /&gt;
*'''иконка цены''' - Объект отображающий иконку цены (кристаллы, золото и т.п.).&lt;br /&gt;
*'''цена''' - Счетчик отображающий непосредственно цену.&lt;br /&gt;
*'''купить''' - Кнопка купить. Вызывает объекту eitems состояние ''buy''.&lt;br /&gt;
*'''использовать''' - Кнопка использовать. Вызывает объекту eitems состояние ''use''. Состояние ''use'' вызвать больше одного раза подряд нельзя, лучше после вызова состояния прописать закрытие окна.&lt;br /&gt;
*'''количество''' - Счетчик отображающий количество предметов на данный момент. Если не установлена кнопка ''использовать'' - счетчик работать не будет, он будет виден, но отобразит не корректные данные.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems3.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==Окно подтверждения продажи==&lt;br /&gt;
[[Файл:Eitems sell.jpg|250px|right]]&lt;br /&gt;
&lt;br /&gt;
*'''окно''' - некая машина, содержащая в себе всю необходимую информацию,олицетворяет собой само окно подтверждения продажи. Должно содержать состояние open.&lt;br /&gt;
*'''иконка''' -  картинка, отображающая иконку предмета.&lt;br /&gt;
*'''текст(объект)''' - текстовый объект, отображающий название предмета.&lt;br /&gt;
*'''описание (объект)''' - текстовый объект, отображающий описание предмета, который продается.&lt;br /&gt;
*'''иконка цены''' - объект типа картинка, отображающий иконку цены, это может быть золото, кристаллы и т.п.&lt;br /&gt;
*'''цена''' - счетчик, отображающий цену продаваемого предмета.&lt;br /&gt;
*'''продать''' - кнопка, по нажатию на которую, происходит продажа предмета. Вызывает объекту eitems состояние ''sell''.&lt;br /&gt;
*'''использовать''' - кнопка, по нажатию на которую, предмет используется.&lt;br /&gt;
*'''количество''' - счетчик, отображающий количество предметов, которые есть в наличии на данный момент.&lt;br /&gt;
*'''иконка ресурса 1''' - графический ресурс, отображающий иконку монет.&lt;br /&gt;
*'''иконка ресурса 2''' - графический ресурс, отображающий иконку кристаллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Окно создания предмета==&lt;br /&gt;
[[Файл:Craft1.png‎|250px|right]]&lt;br /&gt;
&lt;br /&gt;
*'''окно''' - некая машина, содержащая в себе всю необходимую информацию,олицетворяет собой само окно создания предмета. Должно содержать состояние open.&lt;br /&gt;
*'''иконка''' -  картинка, отображающая иконку предмета.&lt;br /&gt;
*'''текст(объект)''' - текстовый объект, отображающий название предмета.&lt;br /&gt;
*'''описание (объект)''' - текстовый объект, отображающий описание предмета, который продается.&lt;br /&gt;
*'''процент''' -  счетчик, отображающий сколько процентов ингридиентов собрано.&lt;br /&gt;
*'''создать''' -  кнопка, которая создает предмет. Вызывает состояние ''craft_item''. Находится в состоянии disable если не хватает ингридиентов для крафта.&lt;br /&gt;
*'''таблица''' -  таблица отображает сколько ингридиентов собрано. Должна иметь 2 строки. В первую строку помещаются иконки ингридиентов, а во вторую строку помещается количество ингридиентов в формате &amp;quot;есть&amp;quot;/&amp;quot;нужно&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ингридиенты для крафта добавляются в объекте economics в разделе &amp;quot;Предмет&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''нехватка ресурсов''' - При попытке купить предмет, когда не хватает средств, будет передаваться соответствующее состояние объекту указанному в следующем поле.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''свой фильтр''' - Список предметов. Формируется путем перетягивания с тестовой базы связанных с предметами id - шников.&lt;br /&gt;
&lt;br /&gt;
==Параметры==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems1.jpg|right]]&lt;br /&gt;
Есть возможность применять фильтры к предметам, чтобы отображать только предметы нужной нам категории. Можно этот делать двумя способами.&lt;br /&gt;
&lt;br /&gt;
1) Категория указывается в настройках предметов в объекте economics. Для этого есть параметр '''filter'''. Этот параметр является текстовым и перетаскивается из текстовой базы. После определения параметра фильтрации переводим объект eitems в состояние '''filter'''.&lt;br /&gt;
&lt;br /&gt;
2) Сформировать свой фильтр с помощью добавляемого свойста. Записать в параметр '''filter''' номер фильтра по порядку. Перевести объект eitems в состояние '''custom_filter'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''param_num''' - кол-во предметов, можно задать перед вызовом состояний ''add_param'', ''buy_param''&lt;br /&gt;
&lt;br /&gt;
==Cостояния==&lt;br /&gt;
&lt;br /&gt;
*'''Store''' - Отобразить шаблон магазина.&lt;br /&gt;
*'''Inventory''' - Отобразить шаблон инвентаря.&lt;br /&gt;
*'''craft''' - Отобразить шаблон крафта предметов.&lt;br /&gt;
*'''filter''' - Задать категорию предметов, исходя из  настроек предметов в объекте ''economics''.&lt;br /&gt;
*'''custom_filter''' - Задать категорию предметов, исходя из ''своего фильтра''.&lt;br /&gt;
&lt;br /&gt;
Перед тем, как переводить объект eitems в следующие состояния, нужно его параметру param присвоить текстовый id соответствующего предмета.&lt;br /&gt;
&lt;br /&gt;
*'''hide_param''' - Спрятать объект (итемс пропадает и из магазина, и из инвентаря).&lt;br /&gt;
*'''use_param''' - Использовать объект из поля param или просто вычесть его, если предмет не используемый.&lt;br /&gt;
*'''add_param''' - Добавляет объект из магазина в инвентарь, но не вычитает ресурс (пассивное добавление итемса)&lt;br /&gt;
*'''buy_param''' - Добавляет объект из магазина в инвентарь и вычитает ресурс (осуществляет покупку итемса).&lt;br /&gt;
*'''check_price''' - узнать значение предмета из поля param (записывает цену в параметры - checked_res1 и checked_res2 )&lt;br /&gt;
*'''craft_item''' - Создает предмет из других предметов (предметы необходимые для создания при этом отнимаются).&lt;br /&gt;
*'''buy''' - Купить предмет для которого показано окошко покупки.&lt;br /&gt;
*'''use''' - Использовать предмет для которого показано окошко покупки.   (В параметр '''last_used_item''' запишется id примененного предмета).&lt;br /&gt;
*'''cancel_param''' - Отменить действие амулета из поля param.&lt;br /&gt;
*'''sell''' - Продать предмет для которого показано окошко продажи.&lt;br /&gt;
*'''wnd_param''' - Показывает окно подтверждения покупки для предмета, id которого мы предварительно запишем в параметр param объекта eitems.&lt;br /&gt;
*'''show_craft_param''' - Показывает окно крафта предмета, id которого мы предварительно запишем в параметр param объекта eitems.&lt;br /&gt;
*'''ingridient_click''' - Вызывается при клике на таблицу ингридиентов в окне крафта, показывает окно покупки ингридиента.&lt;br /&gt;
&lt;br /&gt;
=Сопутствующие объекты=&lt;br /&gt;
&lt;br /&gt;
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:&lt;br /&gt;
&lt;br /&gt;
* [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря(магазина) и экономики. &lt;br /&gt;
* [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина. &lt;br /&gt;
* [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета. &lt;br /&gt;
* [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий.&lt;br /&gt;
* [[Файл:E_task_item.png]] - [[Etaskitem]]] - шаблон для ячейки задания.&lt;br /&gt;
* [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции.&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
&lt;br /&gt;
=Пример=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Pseudochat&amp;diff=9553</id>
		<title>Pseudochat</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Pseudochat&amp;diff=9553"/>
		<updated>2018-05-15T13:57:12Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Object|Объект]] Pseudochat - Менеджер реплик для задач из [[Taskorganizer|Taskorganizer]]. Он используется для имитации чата с заданным количеством собеседников.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Основные параметры=&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
*'''файл уровня''' - Имя файла с уровнями в фомате *.json&lt;br /&gt;
*'''номер уровня''' - Номер уровня в файле начиная с 0&lt;br /&gt;
*'''etasktemplate''' - объект типа [[Etasktemplate|Etasktemplate]], использующийся для названия, описания, прогресса и т.п.&lt;br /&gt;
*'''taskorganizer''' - taskorganizer&lt;br /&gt;
*'''таблица тасков''' - Таблица темплейтов тасков&lt;br /&gt;
*'''таблица реплик''' - Таблица в которую будем помещать темплейты реплик&lt;br /&gt;
*'''реплик в таблице''' - хранить в таблице историю диалога или только одну реплику&lt;br /&gt;
*'''плашка НОВЫЕ СООБЩЕНИЯ''' - Плашка с надписью НОВЫЕ СООБЩЕНИЯ. Будет добавлена в таблицу&lt;br /&gt;
*'''плашка СОБЕСЕДНИК ПЕЧАТАЕТ (не 0 темплейт)''' - Плашка с надписью СОБЕСЕДНИК ПЕЧАТАЕТ (не 0 темплейт). Будет добавлена в таблицу&lt;br /&gt;
*'''плашка СОБЕСЕДНИК ПЕЧАТАЕТ (0 темплейт)''' - Плашка с надписью СОБЕСЕДНИК ПЕЧАТАЕТ (0 темплейт). Будет добавлена в таблицу&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''времена между репликами'''&lt;br /&gt;
*'''ms на символ''' - Число милисекунд на один символ следующей реплики&lt;br /&gt;
*'''max ms''' - Максимальное время на сообщение не може превышать это значение&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Добавляемые параметры=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''темплейт реплики''' - темплейт реплики - объект визуализатор ячейки реплики; таких объектов может быть сколько угодно (по количеству участников в чате)&lt;br /&gt;
*'''объект''' - Объект типа [[Pseudochattemplate|Pseudochattemplate]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''связанный таск неактивен''' - связанный таск неактивен - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''диалог загружен''' - диалог загружен - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''реплика добавлена''' - реплика добавлена - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''idle''' - Состояние по умолчанию (не вызывается)&lt;br /&gt;
*'''show_dialog''' - Показать диалог для последнего кликнутого таска в таблице       &lt;br /&gt;
*'''add_one''' - Добавить одну реплику в текущий диалог&lt;br /&gt;
*'''add_all''' - Добавить все реплики в текущий диалог&lt;br /&gt;
*'''pause''' - Чат на паузе&lt;br /&gt;
*'''show_dialog_by_owner''' - Показать диалог, взяв owner из param&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Структура файла уровней=&lt;br /&gt;
&lt;br /&gt;
Файл уровней должен быть в формате *.json и иметь следующую структуру:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;dialogs&amp;quot;: [&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;id&amp;quot;: 511,&lt;br /&gt;
		&amp;quot;owner&amp;quot;: 3,&lt;br /&gt;
		&amp;quot;task&amp;quot;: 511,&lt;br /&gt;
		&amp;quot;messages&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;text&amp;quot;: 568,&lt;br /&gt;
			&amp;quot;template&amp;quot;: 0&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;text&amp;quot;: 569,&lt;br /&gt;
			&amp;quot;template&amp;quot;: 1&lt;br /&gt;
		}]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;id&amp;quot;: 517,&lt;br /&gt;
		&amp;quot;owner&amp;quot;: 4,&lt;br /&gt;
		&amp;quot;task&amp;quot;: 517,&lt;br /&gt;
		&amp;quot;messages&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;text&amp;quot;: 646,&lt;br /&gt;
			&amp;quot;template&amp;quot;: 1&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;text&amp;quot;: 648,&lt;br /&gt;
			&amp;quot;template&amp;quot;: 0&lt;br /&gt;
		}]&lt;br /&gt;
	}]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Расшифровка параметров:'''&lt;br /&gt;
&lt;br /&gt;
*'''&amp;quot;id&amp;quot;: 511''' - это id таска, по которому мы тапнули в таблице, он же id самого диалога,&lt;br /&gt;
*'''&amp;quot;owner&amp;quot;: 3''' - владелец таска должен соответствовать владельцу таска в таскорганайзере,&lt;br /&gt;
*'''&amp;quot;task&amp;quot;: 511''' - таск, активность которого проверяем для показа диалога (необязательный параметр),&lt;br /&gt;
*'''&amp;quot;text&amp;quot;: 568''' - текстовый id самой реплики,&lt;br /&gt;
*'''&amp;quot;template&amp;quot;: 0''' - номер темплейта реплики (по порядку начиная с нуля) из добавленных в объект Pseudochat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9552</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9552"/>
		<updated>2018-05-15T13:54:11Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Game mechanic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
== Новости ==&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
== AppSalute Game Сreator ==&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Внешние утилиты]]&lt;br /&gt;
&lt;br /&gt;
== Обучение ==&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
== Подготовка проекта ==&lt;br /&gt;
* [[Проектирование экранов игры]]&lt;br /&gt;
* [[Подготовка и форматы графики]]&lt;br /&gt;
* [[Подготовка и форматы шрифтов]]&lt;br /&gt;
* [[Подготовка и форматы звуков]]&lt;br /&gt;
* [[Подготовка и форматы видео]]&lt;br /&gt;
* [[Создание проекта]]&lt;br /&gt;
* [[Загрузка проекта по частям]]&lt;br /&gt;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
* [[Шаблон|Экспорт/импорт шаблона проекта]]&lt;br /&gt;
&lt;br /&gt;
== Встроенные объекты редактора==&lt;br /&gt;
&lt;br /&gt;
=== Common objects  ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
=== Main objects ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
* [[Файл:Kub.png]] - [[Scriptresources]] - scriptresources&lt;br /&gt;
* [[Файл:Kub.png]] - [[Partnersconsole]] - partnersconsole&lt;br /&gt;
&lt;br /&gt;
=== Game mechanic ===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bs_old.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter NEW]] - класс Bubble игр включая механику Снукер (Новый)&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Kub.png]] - [[AtomicPuzzle]] - механика игры Atomic puzzle&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
** [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
*** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
*** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
** [[Файл:Kub.png]] - [[Pseudochat]] - менеджер реплик.&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
* [[Файл:Kub.png]] - [[Script Game]] - Script Game&lt;br /&gt;
&lt;br /&gt;
=== Global score ===&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
*[[Файл:Kub.png]] - [[Leaderboardsitem]] - Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
=== Social ===&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
* [[Файл:Kub.png]] - [[Config]] - конфиг для игровой механики&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Pseudochat&amp;diff=9551</id>
		<title>Pseudochat</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Pseudochat&amp;diff=9551"/>
		<updated>2018-05-15T13:51:17Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Object|Объект]] Pseudochat - Менеджер реплик для задач из [[Taskorganizer|Taskorganizer]]. Он используется для имитации чата с заданным количеством собеседников.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Основные параметры=&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
*'''файл уровня''' - Имя файла с уровнями в фомате *.json&lt;br /&gt;
*'''номер уровня''' - Номер уровня в файле начиная с 0&lt;br /&gt;
*'''etasktemplate''' - объект типа [[Etasktemplate|Etasktemplate]], использующийся для названия, описания, прогресса и т.п.&lt;br /&gt;
*'''taskorganizer''' - taskorganizer&lt;br /&gt;
*'''таблица тасков''' - Таблица темплейтов тасков&lt;br /&gt;
*'''таблица реплик''' - Таблица в которую будем помещать темплейты реплик&lt;br /&gt;
*'''реплик в таблице''' - хранить в таблице историю диалога или только одну реплику&lt;br /&gt;
*'''плашка НОВЫЕ СООБЩЕНИЯ''' - Плашка с надписью НОВЫЕ СООБЩЕНИЯ. Будет добавлена в таблицу&lt;br /&gt;
*'''плашка СОБЕСЕДНИК ПЕЧАТАЕТ (не 0 темплейт)''' - Плашка с надписью СОБЕСЕДНИК ПЕЧАТАЕТ (не 0 темплейт). Будет добавлена в таблицу&lt;br /&gt;
*'''плашка СОБЕСЕДНИК ПЕЧАТАЕТ (0 темплейт)''' - Плашка с надписью СОБЕСЕДНИК ПЕЧАТАЕТ (0 темплейт). Будет добавлена в таблицу&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''времена между репликами'''&lt;br /&gt;
*'''ms на символ''' - Число милисекунд на один символ следующей реплики&lt;br /&gt;
*'''max ms''' - Максимальное время на сообщение не може превышать это значение&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Добавляемые параметры=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''темплейт реплики''' - темплейт реплики - объект визуализатор ячейки реплики; таких объектов может быть сколько угодно (по количеству участников в чате)&lt;br /&gt;
*'''объект''' - Объект типа [[Pseudochattemplate|Pseudochattemplate]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''связанный таск неактивен''' - связанный таск неактивен - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''диалог загружен''' - диалог загружен - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''реплика добавлена''' - реплика добавлена - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''idle''' - Состояние по умолчанию (не вызывается)&lt;br /&gt;
*'''show_dialog''' - Показать диалог для последнего кликнутого таска в таблице       &lt;br /&gt;
*'''add_one''' - Добавить одну реплику в текущий диалог&lt;br /&gt;
*'''add_all''' - Добавить все реплики в текущий диалог&lt;br /&gt;
*'''pause''' - Чат на паузе&lt;br /&gt;
*'''show_dialog_by_owner''' - Показать диалог, взяв owner из param&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Структура файла уровней=&lt;br /&gt;
&lt;br /&gt;
Файл уровней должен быть в формате *.json и иметь следующую структуру:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;dialogs&amp;quot;: [&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;id&amp;quot;: 511,&lt;br /&gt;
		&amp;quot;owner&amp;quot;: 3,&lt;br /&gt;
		&amp;quot;task&amp;quot;: 511,&lt;br /&gt;
		&amp;quot;messages&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;text&amp;quot;: 568,&lt;br /&gt;
			&amp;quot;template&amp;quot;: 0&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;text&amp;quot;: 569,&lt;br /&gt;
			&amp;quot;template&amp;quot;: 1&lt;br /&gt;
		}]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;id&amp;quot;: 517,&lt;br /&gt;
		&amp;quot;owner&amp;quot;: 4,&lt;br /&gt;
		&amp;quot;task&amp;quot;: 517,&lt;br /&gt;
		&amp;quot;messages&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;text&amp;quot;: 646,&lt;br /&gt;
			&amp;quot;template&amp;quot;: 1&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;text&amp;quot;: 648,&lt;br /&gt;
			&amp;quot;template&amp;quot;: 0&lt;br /&gt;
		}]&lt;br /&gt;
	}]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Расшифровка параметров:'''&lt;br /&gt;
&lt;br /&gt;
*'''&amp;quot;id&amp;quot;: 511''' - это id таска, по которому мы тапнули в таблице, он же id самого диалога,&lt;br /&gt;
*'''&amp;quot;owner&amp;quot;: 3''' - владелец таска должен соответствовать владельцу таска в таскорганайзере,&lt;br /&gt;
*'''&amp;quot;task&amp;quot;: 511''' - таск, активность которого проверяем для показа диалога (необязательный параметр),&lt;br /&gt;
*'''&amp;quot;text&amp;quot;: 568''' - текстовый id самой реплики,&lt;br /&gt;
*'''&amp;quot;template&amp;quot;: 0''' - номер темплейта реплики (по порядку начиная с нуля) из добавленных в объект Pseudochat.&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Pseudochat&amp;diff=9548</id>
		<title>Pseudochat</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Pseudochat&amp;diff=9548"/>
		<updated>2018-05-15T11:09:56Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: Новая страница: «{{TOC right}} Объект Pseudochat - Менеджер реплик для задач из Taskorganizer.   =Основные па…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Object|Объект]] Pseudochat - Менеджер реплик для задач из [[Taskorganizer|Taskorganizer]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Основные параметры=&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
*'''файл уровня''' - Имя файла с уровнями в фомате *.json&lt;br /&gt;
*'''номер уровня''' - Номер уровня в файле начиная с 0&lt;br /&gt;
*'''etasktemplate''' - объект типа [[Etasktemplate|Etasktemplate]] использующийся для названия, описания, прогресса и т.п.&lt;br /&gt;
*'''taskorganizer''' - taskorganizer&lt;br /&gt;
*'''таблица тасков''' - Таблица темплейтов тасков&lt;br /&gt;
*'''таблица реплик''' - Таблица в которую будем помещать темплейты реплик&lt;br /&gt;
*'''реплик в таблице''' - хранить в таблице историю диалога или только одну реплику&lt;br /&gt;
*'''плашка НОВЫЕ СООБЩЕНИЯ''' - Плашка с надписью НОВЫЕ СООБЩЕНИЯ. Будет добавлена в таблицу&lt;br /&gt;
*'''плашка СОБЕСЕДНИК ПЕЧАТАЕТ (не 0 темплейт)''' - Плашка с надписью СОБЕСЕДНИК ПЕЧАТАЕТ (не 0 темплейт). Будет добавлена в таблицу&lt;br /&gt;
*'''плашка СОБЕСЕДНИК ПЕЧАТАЕТ (0 темплейт)''' - Плашка с надписью СОБЕСЕДНИК ПЕЧАТАЕТ (0 темплейт). Будет добавлена в таблицу&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''времена между репликами'''&lt;br /&gt;
*'''ms на символ''' - Число милисекунд на один символ следующей реплики&lt;br /&gt;
*'''max ms''' - Максимальное время на сообщение не може превышать это значение&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Добавляемые параметры=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''темплейт реплики''' - темплейт реплики - объект визуализатор ячейки реплики; таких объектов может быть сколько угодно (по количеству участников в чате)&lt;br /&gt;
*'''объект''' - Объект типа [[Pseudochattemplate|Pseudochattemplate]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''связанный таск неактивен''' - связанный таск неактивен - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''диалог загружен''' - диалог загружен - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''реплика добавлена''' - реплика добавлена - обработчик...&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем&lt;br /&gt;
*'''состояние''' - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''idle''' - Состояние по умолчанию (не вызывается)&lt;br /&gt;
*'''show_dialog''' - Показать диалог для последнего кликнутого таска в таблице       &lt;br /&gt;
*'''add_one''' - Добавить одну реплику в текущий диалог&lt;br /&gt;
*'''add_all''' - Добавить все реплики в текущий диалог&lt;br /&gt;
*'''pause''' - Чат на паузе&lt;br /&gt;
*'''show_dialog_by_owner''' - Показать диалог, взяв owner из param&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Store&amp;diff=9436</id>
		<title>Store</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Store&amp;diff=9436"/>
		<updated>2018-02-13T15:08:58Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
[[Object|Объект]] '''Store''' необходим для описания InApp покупок(позволяют продавать отдельные бонусы, паки и т.п.) в игре.&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Store ==&lt;br /&gt;
&lt;br /&gt;
*'''service id''' - Идентификатор сервиса для Fortumo&lt;br /&gt;
*'''app secret''' - Секретный ключ для Fortumo&lt;br /&gt;
*'''group id''' - ID группы для Samsung&lt;br /&gt;
*'''wallet''' - Объект типа [[Wallet|Wallet]]&lt;br /&gt;
&lt;br /&gt;
'''Группа adjust'''&lt;br /&gt;
*'''включить adjust''' - нет=0, да=1;&lt;br /&gt;
*'''событие первой покупки для iOS'''&lt;br /&gt;
*'''событие первой покупки для Ansroid'''&lt;br /&gt;
*'''событие покупки для iOS'''&lt;br /&gt;
*'''событие покупки для Android'''&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Покупка''' - Описание одной внутриигровой покупки.&lt;br /&gt;
&lt;br /&gt;
*'''id покупки''' - внутренний id покупки&lt;br /&gt;
*'''числовой id покупки''' - Числовой id покупки для сохранения истории покупок в опции&lt;br /&gt;
*'''цена''' - Цена покупки по умолчанию&lt;br /&gt;
*'''объект (успех)''' - Этому объекту будет сообщено об успехе покупки&lt;br /&gt;
*'''состояние (успех)''' - Это состояние будет установлено объекту при успешной покупке&lt;br /&gt;
*'''объект (провал)''' - Этому объекту будет сообщено о неудаче покупки&lt;br /&gt;
*'''состояние (провал)''' - Это состояние будет установлено объекту при ошибке/отмене покупки&lt;br /&gt;
*'''iOS id покупки''' - id покупки в магазине Apple для iOS версии приложения&lt;br /&gt;
*'''Amazon id покупки''' - id покупки для Amazon версии приложения&lt;br /&gt;
*'''Fortumo id покупки''' - id Fortumo покупки для Android версии приложения&lt;br /&gt;
*'''Описание покупки Fortumo''' - отбражаемое описание покупки для Frotumo под Android&lt;br /&gt;
*'''Fortumo service Id''' - берутся с сайта фортумо (их видно в свойствах покупки)&lt;br /&gt;
*'''Fortumo appSecret''' - берутся с сайта фортумо (их видно в свойствах покупки)&lt;br /&gt;
*'''Samsung Item ID''' - id покупки в самсунговском маркете&lt;br /&gt;
*'''Wild Tangent Product Name''' - имя продукта в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Partner Name''' - имя партнера в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Site Name''' - имя сайта в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Game Name''' - имя игры в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Google Product ID''' - ID покупки на Google Play [[http://ge.absolutist.com/index.php/Store#.D0.94.D0.BE.D0.BF.D0.BE.D0.BB.D0.BD.D0.B8.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5_.D1.81.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D1.8F]]&lt;br /&gt;
*'''BlackBerry id покупки''' - BlackBerry ID&lt;br /&gt;
*'''WP8 ID''' - id покупки для Windows Phone 8 приложений&lt;br /&gt;
*'''Windows 81 id покупки''' - Windows 81 ID&lt;br /&gt;
*'''Netmarble transaction id''' - Netmarble transaction id&lt;br /&gt;
*'''Netmarble item id''' - Netmarble item id&lt;br /&gt;
*'''Tizen id покупки''' - id покупки в магазине Tizen&lt;br /&gt;
*'''Yandex id покупки''' - id покупки в магазине Yandex&lt;br /&gt;
*'''Nokia id покупки''' - id покупки в магазине Nokia&lt;br /&gt;
*'''Mobiroo id покупки''' - id покупки в магазине Mobiroo&lt;br /&gt;
*'''Web facebook id''' - Web facebook id&lt;br /&gt;
*'''Web odnoklassniki id''' - Web odnoklassniki id&lt;br /&gt;
*'''Web vkontakte id''' - Web vkontakte id&lt;br /&gt;
*'''Web yahoo id''' - Web yahoo id&lt;br /&gt;
*'''Web mailru id''' - Web mailru id&lt;br /&gt;
*'''Web wizq id''' - Web wizq id&lt;br /&gt;
*'''Steam id покупки''' - id покупки в Steam версии приложения&lt;br /&gt;
*'''Consumable''' - 1 - покупка расходуемая, 0 - покупка раз и навсегда.  '''! Важно, если параметр не указан, по-умолчанию покупка - навсегда !'''&lt;br /&gt;
*'''объект (restore)''' - объект - Слушатель восстановления покупки. Этому объекту будет сообщено об успехе восстановления этой покупки покупки.&lt;br /&gt;
*'''состояние (restore)''' - Это состояние будет установлено объекту при успешном восстановлении этой покуки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успех restore''' - Выполняется когда хотя бы одна покупка успешно восстановлена.&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено о завершении восстановления покупок.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при завершении восстановления покупок.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка restore''' - выполняется, когда произошла ошибка при восстановлении покупок&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено об ошибке восстановления покупок.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при ошибке восстановления покупок.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''пусто restore''' - выполняется когда нет покупок для восстановления&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено об отсутствии покупок для восстановления.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при отсутствии покупок для восстановления.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
*'''purchase''' - совершить покупку, взяв ее идентификатор (внутренний id) из параметра ''productBundle''&lt;br /&gt;
*'''restore''' - вызвать восстановление покупок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Создание, совершение и восстановление покупок==&lt;br /&gt;
&lt;br /&gt;
===Создание===&lt;br /&gt;
&lt;br /&gt;
'''Шаг 1.''' Создание обюъекта Store.&lt;br /&gt;
На глобальном экране (например, там, где находятся [[options]]) создать объект [[store]]. Для этого на сцене ПКМ (правой кнопкой мыши), из выпадающего меня выбрать &amp;quot;создать объект сцены в текущем объекте&amp;quot;. У созданного объекта изменить тип объекта на [[store]]. В поле ''имя'' вводим уникальное имя (приучаем себя к порядку в проекте).&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:store_new.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Шаг 2.''' Создание покупки.&lt;br /&gt;
* В свойствах этого объекта нажимаем ПКМ и добавляем раздел '''in-app покупка'''. По умолчанию создаются параметры: объект (успех), состояние (успех), объект (провал), состояние (провал), объект (restore), состояние (restore).&lt;br /&gt;
* Для выбора остальных параметров нужно нажать на кнопку с троеточием, откроется окно с параметрами, в котором проставим галочки на нужных параметрах:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:store_params.png]].&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
'''!!! Обязательным параметром является ''внутренний id покупки'' - это уникальный идентификатор покупки в проекте.!!!'''&lt;br /&gt;
Можно выбирать сразу несколько систем in-app покупок - при сборке в зависимости от платформы и целевого маркета на устройстве будут использованы соответствующие покупки.&lt;br /&gt;
* В первом поле &amp;quot;'''id покупки'''&amp;quot; записываем строковый идентификатор инапа. Это может быть любая строка, уникальная для каждого инапа. Если в строке встречаются точки, то информация о покупках будет сохранятся в поддиректориях опций. Эта строка будет использоваться в игре объектами для выяснения того, была ли уже проведена покупка или нет и для совершения покупки. '''!!!Недопустимо начинать внутренний id покупки с числа!!!'''&lt;br /&gt;
* Во втором поле, в примере &amp;quot;'''iOS id покупки'''&amp;quot;, записывается идентификатор этого инапа, в нашем случае на Apple Store. Аналогично для других систем.&lt;br /&gt;
* Далее, таким же образом, добавляется следующий инап. '''!!!Недопустимо использовать одинаковый идентификатор инапа из стора в разных внутренних покупках!!!'''&lt;br /&gt;
В результате, окно настроек объекта будет выглядеть примерно таким образом:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:store_buy.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Совершение покупки===&lt;br /&gt;
&lt;br /&gt;
Для инициации процесса покупки существует несколько способов.&lt;br /&gt;
&lt;br /&gt;
'''Способ 1.''' По нажатию на кнопку.&lt;br /&gt;
В кнопке добавляется свойство &amp;quot;'''совершить in-app покупку'''&amp;quot; (как обычно, ПКМ). В нем отмечается галкой поле ''внутренний id покупки'' - тот же, что и &amp;quot;id покупки&amp;quot; в объекте [[store]]. По нажатию на эту кнопку произойдет обращение к магазину.&lt;br /&gt;
&lt;br /&gt;
'''Способ 2.''' Из машины состояний.&lt;br /&gt;
В машине состояний выбрать команду '''in-app совершить in-app покупку''', в ней отметить галкой поле ''внутренний id покупки'' по аналогии с кнопкой. При вызове нужного состояния машине будет произведено обращение к магазину.&lt;br /&gt;
&lt;br /&gt;
===Обработчики покупки===&lt;br /&gt;
&lt;br /&gt;
'''Обработка успеха'''&lt;br /&gt;
Если игрок произвел покупку, то объект, заданный в поле этой покупки объекта Store ''объект (успех)'' будет переведен в состояние ''состояние (успех)''. В этом объекте (обычно [[Machine|машина состояний]]) может быть активированы некоторые действия (например, спрятаны замочки, блокирующие продаваемый бонус). Одновременно с этим, в раздел опций который соответствует полю &amp;quot;внутренний id покупки&amp;quot; будет записано значение &amp;quot;1&amp;quot; (покупка совершена). Это поле может в дальнейшем вычитываться различными игровыми объектами.&lt;br /&gt;
Если в объекте Store указан объект Wallet, и начисление ресурсов покупки происходит через него, то начисление произойдет автоматически при успехе покупки.&lt;br /&gt;
&lt;br /&gt;
'''Обработка ошибки'''&lt;br /&gt;
Если покупка не была совершена (нет интернета, игрок не стал её делать и т.п.), то спустя некоторое время  ''объект (провал)'' будет переведен в ''состояние (провал)''. В этом объекте можно, например, открыть окно, сообщающее, что покупка не может быть произведена и инап не активирован.&lt;br /&gt;
В основном для обработки ошибок используется объект [[Errormanager|Errormanager]].&lt;br /&gt;
&lt;br /&gt;
===Типы ошибок при совершении покупки===&lt;br /&gt;
&lt;br /&gt;
0 - Unknown error&lt;br /&gt;
&lt;br /&gt;
1 - Client is not allowed to make the payment&lt;br /&gt;
&lt;br /&gt;
2 - Client canceled purchase&lt;br /&gt;
&lt;br /&gt;
3 - Invalid parameter/purchase ID&lt;br /&gt;
&lt;br /&gt;
4 - Device is not allowed to make the payment&lt;br /&gt;
&lt;br /&gt;
5 - No internet connection ( нет сети )&lt;br /&gt;
&lt;br /&gt;
6 - No internet connection ( нет интернета )&lt;br /&gt;
&lt;br /&gt;
7 - The service is not available for some reason (Услуга временно не доступна)&lt;br /&gt;
&lt;br /&gt;
8 - Purchase restore failed (Восстановить покупку не возможно)&lt;br /&gt;
&lt;br /&gt;
код ошибки находится в объекте типа options в параметре store.lastError&lt;br /&gt;
&lt;br /&gt;
В данный момент для IOS работает возврат всех ошибок, для других платформ &amp;quot;неизвестная ошибка&amp;quot; и &amp;quot;отсутствие интернета&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Восстановление покупок===&lt;br /&gt;
&lt;br /&gt;
В некоторых магазинах используется восстановление покупок автоматически. В Apple Store для восстановления нерасходуемых покупок нужно вызвать состояние ''restore''.&lt;br /&gt;
&lt;br /&gt;
В полях &amp;quot;объект (restore)&amp;quot; и &amp;quot;состояние (restore)&amp;quot;  in-app покупки указывается машина и состояние в которое её надо перевести, если придёт сообщение, о том, что данная покупка должна быть восстановлена.&lt;br /&gt;
&lt;br /&gt;
Обработчики &amp;quot;успех restore&amp;quot;, &amp;quot;ошибка restore&amp;quot; и &amp;quot;пусто restore&amp;quot; используются в общем по приходу сообщений о восстановлении. Т.е. если пришло сообщение в восстановлении 2-х покупок, то переведутся в указанные состояние 2 машины в покупках, которые необходимо восстановить, и переведётся машина в &amp;quot;успех restore&amp;quot; в указанное состояние. Если придёт сообщение о ошибке восстановления или о том что нет покупок для восстановления , то машины в &amp;quot;ошибка restore&amp;quot; и &amp;quot;пусто restore&amp;quot; переведутся в указанные состояние соответственно.&lt;br /&gt;
&lt;br /&gt;
===Восстановление покупки через патч опций===&lt;br /&gt;
&lt;br /&gt;
Если возникла необходимость восстановить покупку методом патча опций, то процедура следующая:&lt;br /&gt;
* патчем записываем в опции в некий параметр строку ''внутренний id покупки'';&lt;br /&gt;
* машиной состояний вычитываем эту строку и записываем в параметр ''productBundle'' и вызываем состояние ''purchase''.&lt;br /&gt;
&lt;br /&gt;
В итоге получаем успех совершенной покупки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пример InApp-a==&lt;br /&gt;
&lt;br /&gt;
Предположим, что в игре [[puzzle]] есть бонус, ставящий ячейку на своё место.&lt;br /&gt;
Игроку дается возможность использовать этот бонус 3 раза за игровую сессию, после чего появляется окно на подобное этому:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:store2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
При нажатии на крестик окно закрывается, а при нажатии на замок активируется процесс покупки.&lt;br /&gt;
&lt;br /&gt;
Голубая кнопка с белым ноликом является кнопкой запуска хинта. В ней есть раздел&lt;br /&gt;
* '''изменить состояние объекта'''&lt;br /&gt;
** объект = puzzle (идентификатор миниигры [[puzzle]])&lt;br /&gt;
** состояние = swap (состояние  котором одна из ячеек становится на свое место).&lt;br /&gt;
&lt;br /&gt;
Белая цифра поверх кнопки - это счетчик [[counter]]. Его идентификатор cnt_hnt сообщается пазле (она уменьшает его значение при выполнении этого хинта). Диапазон изменения счетчика задан в пределах min=0, max=3. Начальное значение val=3. Кроме этого в счетчик правой кнопкой мыши добавлены разделы:&lt;br /&gt;
* '''min: изменить объект'''&lt;br /&gt;
** объект = win_buy_hint&lt;br /&gt;
** состояние = open&lt;br /&gt;
* '''minIf: условие изменения min'''&lt;br /&gt;
** куплено = buy.hint&lt;br /&gt;
** not = 1&lt;br /&gt;
Эти разделы означают, что при достижении счетчиком минимальной границы будет открыто окно win_buy_hint если в опциях '''не''' (поле not) отмечена покупка &amp;quot;buy.hint&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Заметим, что пазла [[puzzle]] выполняет этот хинт (получив состояние от кнопки), если счетчика этих хинтов нет, или он не достиг минимума, или достиг, но в нем нет выполнившегося раздела &amp;quot;min: изменить объект&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Само окно win_buy_hint (желтый прямоугольник) является [[Machine|машиной состояний]] в которой может быть выключен счётчик, открывается окно, закрывается окно.&lt;br /&gt;
&lt;br /&gt;
У машины состояний есть 2 подобъекта - кнопки с замочком и крестиком.&lt;br /&gt;
Крестик имеет добавленный раздел, который закрывает окно.&lt;br /&gt;
Замок запускает процесс покупки и также закрывает окно:&lt;br /&gt;
* '''изменить состояние объекта'''&lt;br /&gt;
** объект = win_buy_hint&lt;br /&gt;
** состояние = close&lt;br /&gt;
* '''совершить in-app покупку'''&lt;br /&gt;
** id покупки = buy.hint&lt;br /&gt;
** объект (успех) = win_buy_hint&lt;br /&gt;
** состояние (успех) = hide &lt;br /&gt;
** объект (провал) = win_error&lt;br /&gt;
** состояние (провал) = open &lt;br /&gt;
В случае успешной покупки счетчик становится невидимым (состояние hide окна). При неудаче открывается окно win_error, аналогичное win_buy_hint сообщающее об ошибке покупки хинта.&lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что выполнение состояний &amp;quot;успех&amp;quot; и &amp;quot;провал&amp;quot; является отложенными во времени.&lt;br /&gt;
Они вызываются магазином, когда соответствующие события (покупка или отказ от неё) возникнут.&lt;br /&gt;
&lt;br /&gt;
== Дополнительные сведения ==&lt;br /&gt;
&lt;br /&gt;
===Покупки Google Play===&lt;br /&gt;
&lt;br /&gt;
* Для работы покупок на Google Play необходимо добавить разрешения:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;uses-permission android:name=&amp;quot;com.android.vending.BILLING&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Для получения ID покупки на Google Play необходимо сначала загрузить apk с разрешением покупок&lt;br /&gt;
&lt;br /&gt;
* Разрешения записываются в AndroidManifest.xml, который находится обычно в каталоге %s3e_dir%\deploy\plugins\android. Также можно вместо AndroidManifest.xml вносить соответствующие настройки в android-extra-manifest.xml, который находится в каталоге %каталог_редактора%\system\marmalade\conf\%марект%(к примеру android)&lt;br /&gt;
&lt;br /&gt;
* Для приложения с покупками на google play надо добавить лицензионный ключ приложения в app.icf в группу [AndroidLVL] и разбить его на 4 части длинной не более 100 знаков. Также добавить для бесплатного приложения параметр ''free_app=1''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[AndroidLVL]&lt;br /&gt;
base64_public_key_1=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_2=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_3=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_4=&amp;quot;&amp;quot;&lt;br /&gt;
free_app=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Для корректной обработки покупок в случае неожиданного закрытия приложения(например во время открытого системного окна с процессом покупки пользователь сворачивает всё и закрывает приложение), необходимо добавить восстановление покупок для всех типов покупок. Таким образом если покупка произошла успешно, но в приложение не попали, при следующем запуске пользователю зачислится то что он купил.&lt;br /&gt;
&lt;br /&gt;
===Настройка маркета действующих покупок===&lt;br /&gt;
&lt;br /&gt;
* Для работы соостветствующего маркета на устройстве недобходимо в [[app.icf]] в секцию [Game] добавить параметр Market с значением для маркета.&lt;br /&gt;
&lt;br /&gt;
магазин - значение в [[app.icf]]&amp;lt;br&amp;gt;&lt;br /&gt;
Fortumo - fortumo&amp;lt;br&amp;gt;&lt;br /&gt;
Samsung - samsung&amp;lt;br&amp;gt;&lt;br /&gt;
Amazon market - amazon&amp;lt;br&amp;gt;&lt;br /&gt;
Apple store - ios&amp;lt;br&amp;gt;&lt;br /&gt;
Wildtangent - wildtangent&amp;lt;br&amp;gt;&lt;br /&gt;
Windows Store - wp8&amp;lt;br&amp;gt;&lt;br /&gt;
Blackberry - blackberry&amp;lt;br&amp;gt;&lt;br /&gt;
Google Play - android&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
Market=&amp;quot;ios&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Trial период в Windows Phone 8===&lt;br /&gt;
* Для windows phone 8 есть возможность работы в пробном режиме. То есть пользователь может пользоваться платным приложением или некоторое время или с ограниченными возможностями.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The trial/full state of a user’s execution rights for an app are maintained in a license. When a user tries your app, it is installed on their phone along with a license that grants them the right to try the app. Trial licenses do not expire but when a user purchases an app they have been trying a full license is downloaded. The full license replaces the trial license and grants full rights to the app.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[http://msdn.microsoft.com/library/windowsphone/develop/ff967558%28v=vs.105%29.aspx Creating trial apps for Windows Phone]&lt;br /&gt;
&lt;br /&gt;
Данный функционал связан с объектом типа store - недоступный функционал находится за внутриигровой покупкой. Когда пользователь покупает полную версию все покупки помечаются автоматически как &amp;quot;купленные&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для работы данного функционала в [[app.icf]] или [[platform.icf]] необходимо в группу &amp;lt;nowiki&amp;gt;[Game]&amp;lt;/nowiki&amp;gt; поместить параметр '''''trial'''''&lt;br /&gt;
&lt;br /&gt;
'''trial=0''' - без триала&lt;br /&gt;
&lt;br /&gt;
'''trial=1''' - с триалом&lt;br /&gt;
&lt;br /&gt;
Также что приложение имеет триальный функционал необходимо отметить в соответствующих настройках приложения при создании в магазине страницы приложения.&lt;br /&gt;
&lt;br /&gt;
===Тестирование покупок для Blackberry===&lt;br /&gt;
Для тестирования покупок на Blackberry устройствах в app.icf сборки необходимо добавить следующие строки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
inappTest=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
inappTest=1 - all in-app in test mode, 0 - default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Тестирование покупок из редактора на Viewer===&lt;br /&gt;
Для тестирования покупок на Viewer-е в app.icf необходимо добавить следующие строки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
purchaseEverything=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Store_params.png&amp;diff=9435</id>
		<title>Файл:Store params.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Store_params.png&amp;diff=9435"/>
		<updated>2018-02-13T15:05:46Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Store_new.png&amp;diff=9434</id>
		<title>Файл:Store new.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Store_new.png&amp;diff=9434"/>
		<updated>2018-02-13T15:05:34Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Store_buy.png&amp;diff=9433</id>
		<title>Файл:Store buy.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Store_buy.png&amp;diff=9433"/>
		<updated>2018-02-13T15:04:52Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Store&amp;diff=9432</id>
		<title>Store</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Store&amp;diff=9432"/>
		<updated>2018-02-13T14:30:24Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Добавляемые параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
[[Object|Объект]] '''Store''' необходим для описания InApp покупок(позволяют продавать отдельные бонусы, паки и т.п.) в игре.&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Store ==&lt;br /&gt;
&lt;br /&gt;
*'''service id''' - Идентификатор сервиса для Fortumo&lt;br /&gt;
*'''app secret''' - Секретный ключ для Fortumo&lt;br /&gt;
*'''group id''' - ID группы для Samsung&lt;br /&gt;
*'''wallet''' - Объект типа [[Wallet|Wallet]]&lt;br /&gt;
&lt;br /&gt;
'''Группа adjust'''&lt;br /&gt;
*'''включить adjust''' - нет=0, да=1;&lt;br /&gt;
*'''событие первой покупки для iOS'''&lt;br /&gt;
*'''событие первой покупки для Ansroid'''&lt;br /&gt;
*'''событие покупки для iOS'''&lt;br /&gt;
*'''событие покупки для Android'''&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Покупка''' - Описание одной внутриигровой покупки.&lt;br /&gt;
&lt;br /&gt;
*'''id покупки''' - внутренний id покупки&lt;br /&gt;
*'''числовой id покупки''' - Числовой id покупки для сохранения истории покупок в опции&lt;br /&gt;
*'''цена''' - Цена покупки по умолчанию&lt;br /&gt;
*'''объект (успех)''' - Этому объекту будет сообщено об успехе покупки&lt;br /&gt;
*'''состояние (успех)''' - Это состояние будет установлено объекту при успешной покупке&lt;br /&gt;
*'''объект (провал)''' - Этому объекту будет сообщено о неудаче покупки&lt;br /&gt;
*'''состояние (провал)''' - Это состояние будет установлено объекту при ошибке/отмене покупки&lt;br /&gt;
*'''iOS id покупки''' - id покупки в магазине Apple для iOS версии приложения&lt;br /&gt;
*'''Amazon id покупки''' - id покупки для Amazon версии приложения&lt;br /&gt;
*'''Fortumo id покупки''' - id Fortumo покупки для Android версии приложения&lt;br /&gt;
*'''Описание покупки Fortumo''' - отбражаемое описание покупки для Frotumo под Android&lt;br /&gt;
*'''Fortumo service Id''' - берутся с сайта фортумо (их видно в свойствах покупки)&lt;br /&gt;
*'''Fortumo appSecret''' - берутся с сайта фортумо (их видно в свойствах покупки)&lt;br /&gt;
*'''Samsung Item ID''' - id покупки в самсунговском маркете&lt;br /&gt;
*'''Wild Tangent Product Name''' - имя продукта в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Partner Name''' - имя партнера в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Site Name''' - имя сайта в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Game Name''' - имя игры в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Google Product ID''' - ID покупки на Google Play [[http://ge.absolutist.com/index.php/Store#.D0.94.D0.BE.D0.BF.D0.BE.D0.BB.D0.BD.D0.B8.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5_.D1.81.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D1.8F]]&lt;br /&gt;
*'''BlackBerry id покупки''' - BlackBerry ID&lt;br /&gt;
*'''WP8 ID''' - id покупки для Windows Phone 8 приложений&lt;br /&gt;
*'''Windows 81 id покупки''' - Windows 81 ID&lt;br /&gt;
*'''Netmarble transaction id''' - Netmarble transaction id&lt;br /&gt;
*'''Netmarble item id''' - Netmarble item id&lt;br /&gt;
*'''Tizen id покупки''' - id покупки в магазине Tizen&lt;br /&gt;
*'''Yandex id покупки''' - id покупки в магазине Yandex&lt;br /&gt;
*'''Nokia id покупки''' - id покупки в магазине Nokia&lt;br /&gt;
*'''Mobiroo id покупки''' - id покупки в магазине Mobiroo&lt;br /&gt;
*'''Web facebook id''' - Web facebook id&lt;br /&gt;
*'''Web odnoklassniki id''' - Web odnoklassniki id&lt;br /&gt;
*'''Web vkontakte id''' - Web vkontakte id&lt;br /&gt;
*'''Web yahoo id''' - Web yahoo id&lt;br /&gt;
*'''Web mailru id''' - Web mailru id&lt;br /&gt;
*'''Web wizq id''' - Web wizq id&lt;br /&gt;
*'''Steam id покупки''' - id покупки в Steam версии приложения&lt;br /&gt;
*'''Consumable''' - 1 - покупка расходуемая, 0 - покупка раз и навсегда.  '''! Важно, если параметр не указан, по-умолчанию покупка - навсегда !'''&lt;br /&gt;
*'''объект (restore)''' - объект - Слушатель восстановления покупки. Этому объекту будет сообщено об успехе восстановления этой покупки покупки.&lt;br /&gt;
*'''состояние (restore)''' - Это состояние будет установлено объекту при успешном восстановлении этой покуки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успех restore''' - Выполняется когда хотя бы одна покупка успешно восстановлена.&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено о завершении восстановления покупок.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при завершении восстановления покупок.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка restore''' - выполняется, когда произошла ошибка при восстановлении покупок&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено об ошибке восстановления покупок.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при ошибке восстановления покупок.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''пусто restore''' - выполняется когда нет покупок для восстановления&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено об отсутствии покупок для восстановления.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при отсутствии покупок для восстановления.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
*'''purchase''' - совершить покупку, взяв ее идентификатор (внутренний id) из параметра ''productBundle''&lt;br /&gt;
*'''restore''' - вызвать восстановление покупок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Задание in-app идентификаторов ==&lt;br /&gt;
&lt;br /&gt;
Прежде всего необходимо определить in-app идентификаторы. &lt;br /&gt;
Для этого необходимо:&lt;br /&gt;
* поместить на глобальное окно (например, там, где находятся [[options]]) объект [[store]]. Для этого, на сцену этого окна перетаскивается любая картинка или создаётся новый объект в сцене и у него меняется тип объекта на [[store]].&lt;br /&gt;
* в настройках свойств этого объекта нажимаем правую кнопку мыши и добавляем раздел &amp;quot;'''in-app покупка'''&amp;quot;, кликая на который, в окне помечаем галочку у &amp;quot;внутренний id покупки&amp;quot; и необходимых полей(для ios - ios id покупки, для amazon - amazon id покупки и другие). Можно выбирать сразу несколько систем in-app покупок - при сборке в зависимости от платформы и целевого маркета на устройстве будут использованы соответствующие покупки.&lt;br /&gt;
* В первом поле &amp;quot;'''id покупки'''&amp;quot; записываем текстовый идентификатор инапа. Это может быть любая строка, уникальная для каждого инапа. Если в строке встречаются точки, то информация о покупках будет сохранятся в поддиректориях опций. Эта строка будет использоваться в игре объектами для выяснения того, была ли уже проведена покупка или нет и для совершения покупки.&lt;br /&gt;
* Во втором поле, в примере &amp;quot;'''iOS id покупки'''&amp;quot;, записывается идентификатор этого инапа, в нашем случае на Apple Store. Аналогично для других систем.&lt;br /&gt;
* Далее, таким же образом, добавляется следующий инап. &lt;br /&gt;
В результате, окно настроек объекта будет выглядеть примерно таким образом:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:store1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для IOS также используется восстановление покупок. В полях &amp;quot;объект (restore)&amp;quot; и &amp;quot;состояние (restore)&amp;quot;  in-app покупки указывается машина и состояние в которое её надо перевести, если придёт сообщение, о том, что данная покупка должна быть восстановлена.&lt;br /&gt;
&lt;br /&gt;
Параметры &amp;quot;успех restore&amp;quot;, &amp;quot;ошибка restore&amp;quot; и &amp;quot;пусто restore&amp;quot; используются в общем по приходу сообщений о восстановлении. Тесть если пришло сообщение в восстановлении 2-х покупок, то переведутся в указанные состояние 2 машины в покупках, которые необходимо восстановить, и переведётся машина в &amp;quot;успех restore&amp;quot; в указанное состояние. Если придёт сообщение о ошибке восстановления или о том что нет покупок для восстановления , то машины в &amp;quot;ошибка restore&amp;quot; и &amp;quot;пусто restore&amp;quot; переведутся в указанные состояние соответственно.&lt;br /&gt;
&lt;br /&gt;
== Использование InApp идентификаторов ==&lt;br /&gt;
&lt;br /&gt;
Если из игры необходимо инициировать процесс покупки, в результате нажатия на кнопку,&lt;br /&gt;
этой кнопки добавляется раздел &amp;quot;'''совершить in-app покупку'''&amp;quot; (как обычно, правой кнопкой мыши).&lt;br /&gt;
В нем отмечаются галочками поля:&lt;br /&gt;
* внутренний id покупки - тот же, что и &amp;quot;id покупки&amp;quot; в объекте [[store]]&lt;br /&gt;
* объект - слушатель успеха&lt;br /&gt;
* состояние успеха&lt;br /&gt;
* объект - слушатель неудачи&lt;br /&gt;
* состояние неудачи&lt;br /&gt;
После нажатия на эту кнопку произойдет обращение к магазину. В этот момент поверх экрана игры будет рисоваться клип прогресса, определяемый в [[options]] (такой же, как и при переходах между экранами).&lt;br /&gt;
&lt;br /&gt;
Если игрок произвел покупку, объект, заданный в поле &amp;quot;'''объект (успех)'''&amp;quot; будет переведен в состояние &amp;quot;'''состояние (успех)'''&amp;quot; (третье поле). В этом объекте (обычно [[Machine|машина состояний]]) может быть активированы некоторые действия (например, спрятаны замочки, блокирующие продаваемый бонус). Одновременно с этим, в раздел опций который соответствует полю &amp;quot;внутренний id покупки&amp;quot; будет записана 1 (покупка совершена). Это поле может в дальнейшем вычитываться различными игровыми объектами.&lt;br /&gt;
&lt;br /&gt;
Если покупка не была совершена (нет интернета, игрок не стал её делать и т.п.) спустя некоторое время  &amp;quot;'''объект (провал)'''&amp;quot; будет переведен в &amp;quot;'''состояние (провал)'''&amp;quot;. В этом объекте можно, например, открыть окно, сообщающее, что покупка не может быть произведена и инап не активирован.&lt;br /&gt;
&lt;br /&gt;
== Пример InApp-a==&lt;br /&gt;
&lt;br /&gt;
Предположим, что в игре [[puzzle]] есть бонус, ставящий ячейку на своё место.&lt;br /&gt;
Игроку дается возможность использовать этот бонус 3 раза за игровую сессию, после чего появляется окно на подобное этому:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:store2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
При нажатии на крестик окно закрывается, а при нажатии на замок активируется процесс покупки.&lt;br /&gt;
&lt;br /&gt;
Голубая кнопка с белым ноликом является кнопкой запуска хинта. В ней есть раздел&lt;br /&gt;
* '''изменить состояние объекта'''&lt;br /&gt;
** объект = puzzle (идентификатор миниигры [[puzzle]])&lt;br /&gt;
** состояние = swap (состояние  котором одна из ячеек становится на свое место).&lt;br /&gt;
&lt;br /&gt;
Белая цифра поверх кнопки - это счетчик [[counter]]. Его идентификатор cnt_hnt сообщается пазле (она уменьшает его значение при выполнении этого хинта). Диапазон изменения счетчика задан в пределах min=0, max=3. Начальное значение val=3. Кроме этого в счетчик правой кнопкой мыши добавлены разделы:&lt;br /&gt;
* '''min: изменить объект'''&lt;br /&gt;
** объект = win_buy_hint&lt;br /&gt;
** состояние = open&lt;br /&gt;
* '''minIf: условие изменения min'''&lt;br /&gt;
** куплено = buy.hint&lt;br /&gt;
** not = 1&lt;br /&gt;
Эти разделы означают, что при достижении счетчиком минимальной границы будет открыто окно win_buy_hint если в опциях '''не''' (поле not) отмечена покупка &amp;quot;buy.hint&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Заметим, что пазла [[puzzle]] выполняет этот хинт (получив состояние от кнопки), если счетчика этих хинтов нет, или он не достиг минимума, или достиг, но в нем нет выполнившегося раздела &amp;quot;min: изменить объект&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Само окно win_buy_hint (желтый прямоугольник) является [[Machine|машиной состояний]] в которой может быть выключен счётчик, открывается окно, закрывается окно.&lt;br /&gt;
&lt;br /&gt;
У машины состояний есть 2 подобъекта - кнопки с замочком и крестиком.&lt;br /&gt;
Крестик имеет добавленный раздел, который закрывает окно.&lt;br /&gt;
Замок запускает процесс покупки и также закрывает окно:&lt;br /&gt;
* '''изменить состояние объекта'''&lt;br /&gt;
** объект = win_buy_hint&lt;br /&gt;
** состояние = close&lt;br /&gt;
* '''совершить in-app покупку'''&lt;br /&gt;
** id покупки = buy.hint&lt;br /&gt;
** объект (успех) = win_buy_hint&lt;br /&gt;
** состояние (успех) = hide &lt;br /&gt;
** объект (провал) = win_error&lt;br /&gt;
** состояние (провал) = open &lt;br /&gt;
В случае успешной покупки счетчик становится невидимым (состояние hide окна). При неудаче открывается окно win_error, аналогичное win_buy_hint сообщающее об ошибке покупки хинта.&lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что выполнение состояний &amp;quot;успех&amp;quot; и &amp;quot;провал&amp;quot; является отложенными во времени.&lt;br /&gt;
Они вызываются магазином, когда соответствующие события (покупка или отказ от неё) возникнут.&lt;br /&gt;
&lt;br /&gt;
== Дополнительные сведения ==&lt;br /&gt;
&lt;br /&gt;
===Покупки Google Play===&lt;br /&gt;
&lt;br /&gt;
* Для работы покупок на Google Play необходимо добавить разрешения:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;uses-permission android:name=&amp;quot;com.android.vending.BILLING&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Для получения ID покупки на Google Play необходимо сначала загрузить apk с разрешением покупок&lt;br /&gt;
&lt;br /&gt;
* Разрешения записываются в AndroidManifest.xml, который находится обычно в каталоге %s3e_dir%\deploy\plugins\android. Также можно вместо AndroidManifest.xml вносить соответствующие настройки в android-extra-manifest.xml, который находится в каталоге %каталог_редактора%\system\marmalade\conf\%марект%(к примеру android)&lt;br /&gt;
&lt;br /&gt;
* Для приложения с покупками на google play надо добавить лицензионный ключ приложения в app.icf в группу [AndroidLVL] и разбить его на 4 части длинной не более 100 знаков. Также добавить для бесплатного приложения параметр ''free_app=1''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[AndroidLVL]&lt;br /&gt;
base64_public_key_1=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_2=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_3=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_4=&amp;quot;&amp;quot;&lt;br /&gt;
free_app=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Для корректной обработки покупок в случае неожиданного закрытия приложения(например во время открытого системного окна с процессом покупки пользователь сворачивает всё и закрывает приложение), необходимо добавить восстановление покупок для всех типов покупок. Таким образом если покупка произошла успешно, но в приложение не попали, при следующем запуске пользователю зачислится то что он купил.&lt;br /&gt;
&lt;br /&gt;
===Настройка маркета действующих покупок===&lt;br /&gt;
&lt;br /&gt;
* Для работы соостветствующего маркета на устройстве недобходимо в [[app.icf]] в секцию [Game] добавить параметр Market с значением для маркета.&lt;br /&gt;
&lt;br /&gt;
магазин - значение в [[app.icf]]&amp;lt;br&amp;gt;&lt;br /&gt;
Fortumo - fortumo&amp;lt;br&amp;gt;&lt;br /&gt;
Samsung - samsung&amp;lt;br&amp;gt;&lt;br /&gt;
Amazon market - amazon&amp;lt;br&amp;gt;&lt;br /&gt;
Apple store - ios&amp;lt;br&amp;gt;&lt;br /&gt;
Wildtangent - wildtangent&amp;lt;br&amp;gt;&lt;br /&gt;
Windows Store - wp8&amp;lt;br&amp;gt;&lt;br /&gt;
Blackberry - blackberry&amp;lt;br&amp;gt;&lt;br /&gt;
Google Play - android&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
Market=&amp;quot;ios&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Типы ошибок при совершении покупоки===&lt;br /&gt;
&lt;br /&gt;
* Типы ошибок при совершении покупоки&lt;br /&gt;
&lt;br /&gt;
Если покупка была неудачной, то имеется возможность узнать причину неудачи.&lt;br /&gt;
&lt;br /&gt;
0 - Unknown error&lt;br /&gt;
&lt;br /&gt;
1 - Client is not allowed to make the payment&lt;br /&gt;
&lt;br /&gt;
2 - Client canceled purchase&lt;br /&gt;
&lt;br /&gt;
3 - Invalid parameter/purchase ID&lt;br /&gt;
&lt;br /&gt;
4 - Device is not allowed to make the payment&lt;br /&gt;
&lt;br /&gt;
5 - No internet connection ( нет сети )&lt;br /&gt;
&lt;br /&gt;
6 - No internet connection ( нет интернета )&lt;br /&gt;
&lt;br /&gt;
7 - The service is not available for some reason (Услуга временно не доступна)&lt;br /&gt;
&lt;br /&gt;
8 - Purchase restore failed (Восстановить покупку не возможно)&lt;br /&gt;
&lt;br /&gt;
код ошибки находится в объекте типа options в параметре store.lastError&lt;br /&gt;
&lt;br /&gt;
В данный момент для IOS работает возврат всех ошибок, для других платформ &amp;quot;неизвестная ошибка&amp;quot; и &amp;quot;отсутствие интернета&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
===Trial период в Windows Phone 8===&lt;br /&gt;
* Для windows phone 8 есть возможность работы в пробном режиме. То есть пользователь может пользоваться платным приложением или некоторое время или с ограниченными возможностями.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The trial/full state of a user’s execution rights for an app are maintained in a license. When a user tries your app, it is installed on their phone along with a license that grants them the right to try the app. Trial licenses do not expire but when a user purchases an app they have been trying a full license is downloaded. The full license replaces the trial license and grants full rights to the app.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[http://msdn.microsoft.com/library/windowsphone/develop/ff967558%28v=vs.105%29.aspx Creating trial apps for Windows Phone]&lt;br /&gt;
&lt;br /&gt;
Данный функционал связан с объектом типа store - недоступный функционал находится за внутриигровой покупкой. Когда пользователь покупает полную версию все покупки помечаются автоматически как &amp;quot;купленные&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для работы данного функционала в [[app.icf]] или [[platform.icf]] необходимо в группу &amp;lt;nowiki&amp;gt;[Game]&amp;lt;/nowiki&amp;gt; поместить параметр '''''trial'''''&lt;br /&gt;
&lt;br /&gt;
'''trial=0''' - без триала&lt;br /&gt;
&lt;br /&gt;
'''trial=1''' - с триалом&lt;br /&gt;
&lt;br /&gt;
Также что приложение имеет триальный функционал необходимо отметить в соответствующих настройках приложения при создании в магазине страницы приложения.&lt;br /&gt;
&lt;br /&gt;
===Тестирование покупок для Blackberry===&lt;br /&gt;
Для тестирования покупок на Blackberry устройствах в app.icf сборки необходимо добавить следующие строки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
inappTest=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
inappTest=1 - all in-app in test mode, 0 - default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Тестирование покупок из редактора на Viewer===&lt;br /&gt;
Для тестирования покупок на Viewer-е в app.icf необходимо добавить следующие строки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
purchaseEverything=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Store&amp;diff=9431</id>
		<title>Store</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Store&amp;diff=9431"/>
		<updated>2018-02-13T13:23:40Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
[[Object|Объект]] '''Store''' необходим для описания InApp покупок(позволяют продавать отдельные бонусы, паки и т.п.) в игре.&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Store ==&lt;br /&gt;
&lt;br /&gt;
*'''service id''' - Идентификатор сервиса для Fortumo&lt;br /&gt;
*'''app secret''' - Секретный ключ для Fortumo&lt;br /&gt;
*'''group id''' - ID группы для Samsung&lt;br /&gt;
*'''wallet''' - Объект типа [[Wallet|Wallet]]&lt;br /&gt;
&lt;br /&gt;
'''Группа adjust'''&lt;br /&gt;
*'''включить adjust''' - нет=0, да=1;&lt;br /&gt;
*'''событие первой покупки для iOS'''&lt;br /&gt;
*'''событие первой покупки для Ansroid'''&lt;br /&gt;
*'''событие покупки для iOS'''&lt;br /&gt;
*'''событие покупки для Android'''&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
&lt;br /&gt;
'''Покупка''' - Описание одной внутриигровой покупки.&lt;br /&gt;
&lt;br /&gt;
*'''id покупки''' - внутренний id покупки&lt;br /&gt;
*'''числовой id покупки''' - Числовой id покупки для сохранения истории покупок в опции&lt;br /&gt;
*'''цена''' - Цена покупки по умолчанию&lt;br /&gt;
*'''объект (успех)''' - Этому объекту будет сообщено об успехе покупки&lt;br /&gt;
*'''состояние (успех)''' - Это состояние будет установлено объекту при успешной покупке&lt;br /&gt;
*'''объект (провал)''' - Этому объекту будет сообщено о неудаче покупки&lt;br /&gt;
*'''состояние (провал)''' - Это состояние будет установлено объекту при ошибке/отмене покупки&lt;br /&gt;
*'''iOS id покупки''' - id покупки в магазине Apple для iOS версии приложения&lt;br /&gt;
*'''Amazon id покупки''' - id покупки для Amazon версии приложения&lt;br /&gt;
*'''Fortumo id покупки''' - id Fortumo покупки для Android версии приложения&lt;br /&gt;
*'''Описание покупки Fortumo''' - отбражаемое описание покупки для Frotumo под Android&lt;br /&gt;
*'''Fortumo service Id''' - берутся с сайта фортумо (их видно в свойствах покупки)&lt;br /&gt;
*'''Fortumo appSecret''' - берутся с сайта фортумо (их видно в свойствах покупки)&lt;br /&gt;
*'''Samsung Item ID''' - id покупки в самсунговском маркете&lt;br /&gt;
*'''Wild Tangent Product Name''' - имя продукта в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Partner Name''' - имя партнера в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Site Name''' - имя сайта в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Wild Tangent Game Name''' - имя игры в маркете Wild Tangent(берётся из сайта Wild Tangent)&lt;br /&gt;
*'''Google Product ID''' - ID покупки на Google Play [[http://ge.absolutist.com/index.php/Store#.D0.94.D0.BE.D0.BF.D0.BE.D0.BB.D0.BD.D0.B8.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5_.D1.81.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D1.8F]]&lt;br /&gt;
*'''BlackBerry id покупки''' - BlackBerry ID&lt;br /&gt;
*'''WP8 ID''' - id покупки для Windows Phone 8 приложений&lt;br /&gt;
*'''Windows 81 id покупки''' - Windows 81 ID&lt;br /&gt;
*'''Netmarble transaction id''' - Netmarble transaction id&lt;br /&gt;
*'''Netmarble item id''' - Netmarble item id&lt;br /&gt;
*'''Tizen id покупки''' - id покупки в магазине Tizen&lt;br /&gt;
*'''Yandex id покупки''' - id покупки в магазине Yandex&lt;br /&gt;
*'''Nokia id покупки''' - id покупки в магазине Nokia&lt;br /&gt;
*'''Mobiroo id покупки''' - id покупки в магазине Mobiroo&lt;br /&gt;
*'''Web facebook id''' - Web facebook id&lt;br /&gt;
*'''Web odnoklassniki id''' - Web odnoklassniki id&lt;br /&gt;
*'''Web vkontakte id''' - Web vkontakte id&lt;br /&gt;
*'''Web yahoo id''' - Web yahoo id&lt;br /&gt;
*'''Web mailru id''' - Web mailru id&lt;br /&gt;
*'''Web wizq id''' - Web wizq id&lt;br /&gt;
*'''Steam id покупки''' - id покупки в Steam версии приложения&lt;br /&gt;
*'''Consumable''' - 1 - покупка расходуемая, 0 - покупка раз и навсегда.  '''! Важно, если параметр не указан, по-умолчанию покупка - навсегда !'''&lt;br /&gt;
*'''объект (restore)''' - объект - Слушатель восстановления покупки. Этому объекту будет сообщено об успехе восстановления этой покупки покупки.&lt;br /&gt;
*'''состояние (restore)''' - Это состояние будет установлено объекту при успешном восстановлении этой покуки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''успех restore''' - Выполняется когда хотя бы одна покупка успешно восстановлена.&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено о завершении восстановления покупок.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при завершении восстановления покупок.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ошибка restore''' - выполняется, когда произошла ошибка при восстановлении покупок&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено об ошибке восстановления покупок.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при ошибке восстановления покупок.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''пусто restore''' - выполняется когда нет покупок для восстановления&lt;br /&gt;
&lt;br /&gt;
*'''объект''' - Объект  - состояние которого меняем. Этому объекту будет сообщено об отсутствии покупок для восстановления.&lt;br /&gt;
*'''состояние''' - Это состояние будет установлено объекту при отсутствии покупок для восстановления.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
*'''purchase''' - совершить покупку, взяв ее идентификатор (внутренний id) из параметра ''productBundle''&lt;br /&gt;
*'''restore''' - вызвать восстановление покупок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Задание in-app идентификаторов ==&lt;br /&gt;
&lt;br /&gt;
Прежде всего необходимо определить in-app идентификаторы. &lt;br /&gt;
Для этого необходимо:&lt;br /&gt;
* поместить на глобальное окно (например, там, где находятся [[options]]) объект [[store]]. Для этого, на сцену этого окна перетаскивается любая картинка или создаётся новый объект в сцене и у него меняется тип объекта на [[store]].&lt;br /&gt;
* в настройках свойств этого объекта нажимаем правую кнопку мыши и добавляем раздел &amp;quot;'''in-app покупка'''&amp;quot;, кликая на который, в окне помечаем галочку у &amp;quot;внутренний id покупки&amp;quot; и необходимых полей(для ios - ios id покупки, для amazon - amazon id покупки и другие). Можно выбирать сразу несколько систем in-app покупок - при сборке в зависимости от платформы и целевого маркета на устройстве будут использованы соответствующие покупки.&lt;br /&gt;
* В первом поле &amp;quot;'''id покупки'''&amp;quot; записываем текстовый идентификатор инапа. Это может быть любая строка, уникальная для каждого инапа. Если в строке встречаются точки, то информация о покупках будет сохранятся в поддиректориях опций. Эта строка будет использоваться в игре объектами для выяснения того, была ли уже проведена покупка или нет и для совершения покупки.&lt;br /&gt;
* Во втором поле, в примере &amp;quot;'''iOS id покупки'''&amp;quot;, записывается идентификатор этого инапа, в нашем случае на Apple Store. Аналогично для других систем.&lt;br /&gt;
* Далее, таким же образом, добавляется следующий инап. &lt;br /&gt;
В результате, окно настроек объекта будет выглядеть примерно таким образом:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:store1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для IOS также используется восстановление покупок. В полях &amp;quot;объект (restore)&amp;quot; и &amp;quot;состояние (restore)&amp;quot;  in-app покупки указывается машина и состояние в которое её надо перевести, если придёт сообщение, о том, что данная покупка должна быть восстановлена.&lt;br /&gt;
&lt;br /&gt;
Параметры &amp;quot;успех restore&amp;quot;, &amp;quot;ошибка restore&amp;quot; и &amp;quot;пусто restore&amp;quot; используются в общем по приходу сообщений о восстановлении. Тесть если пришло сообщение в восстановлении 2-х покупок, то переведутся в указанные состояние 2 машины в покупках, которые необходимо восстановить, и переведётся машина в &amp;quot;успех restore&amp;quot; в указанное состояние. Если придёт сообщение о ошибке восстановления или о том что нет покупок для восстановления , то машины в &amp;quot;ошибка restore&amp;quot; и &amp;quot;пусто restore&amp;quot; переведутся в указанные состояние соответственно.&lt;br /&gt;
&lt;br /&gt;
== Использование InApp идентификаторов ==&lt;br /&gt;
&lt;br /&gt;
Если из игры необходимо инициировать процесс покупки, в результате нажатия на кнопку,&lt;br /&gt;
этой кнопки добавляется раздел &amp;quot;'''совершить in-app покупку'''&amp;quot; (как обычно, правой кнопкой мыши).&lt;br /&gt;
В нем отмечаются галочками поля:&lt;br /&gt;
* внутренний id покупки - тот же, что и &amp;quot;id покупки&amp;quot; в объекте [[store]]&lt;br /&gt;
* объект - слушатель успеха&lt;br /&gt;
* состояние успеха&lt;br /&gt;
* объект - слушатель неудачи&lt;br /&gt;
* состояние неудачи&lt;br /&gt;
После нажатия на эту кнопку произойдет обращение к магазину. В этот момент поверх экрана игры будет рисоваться клип прогресса, определяемый в [[options]] (такой же, как и при переходах между экранами).&lt;br /&gt;
&lt;br /&gt;
Если игрок произвел покупку, объект, заданный в поле &amp;quot;'''объект (успех)'''&amp;quot; будет переведен в состояние &amp;quot;'''состояние (успех)'''&amp;quot; (третье поле). В этом объекте (обычно [[Machine|машина состояний]]) может быть активированы некоторые действия (например, спрятаны замочки, блокирующие продаваемый бонус). Одновременно с этим, в раздел опций который соответствует полю &amp;quot;внутренний id покупки&amp;quot; будет записана 1 (покупка совершена). Это поле может в дальнейшем вычитываться различными игровыми объектами.&lt;br /&gt;
&lt;br /&gt;
Если покупка не была совершена (нет интернета, игрок не стал её делать и т.п.) спустя некоторое время  &amp;quot;'''объект (провал)'''&amp;quot; будет переведен в &amp;quot;'''состояние (провал)'''&amp;quot;. В этом объекте можно, например, открыть окно, сообщающее, что покупка не может быть произведена и инап не активирован.&lt;br /&gt;
&lt;br /&gt;
== Пример InApp-a==&lt;br /&gt;
&lt;br /&gt;
Предположим, что в игре [[puzzle]] есть бонус, ставящий ячейку на своё место.&lt;br /&gt;
Игроку дается возможность использовать этот бонус 3 раза за игровую сессию, после чего появляется окно на подобное этому:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:store2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
При нажатии на крестик окно закрывается, а при нажатии на замок активируется процесс покупки.&lt;br /&gt;
&lt;br /&gt;
Голубая кнопка с белым ноликом является кнопкой запуска хинта. В ней есть раздел&lt;br /&gt;
* '''изменить состояние объекта'''&lt;br /&gt;
** объект = puzzle (идентификатор миниигры [[puzzle]])&lt;br /&gt;
** состояние = swap (состояние  котором одна из ячеек становится на свое место).&lt;br /&gt;
&lt;br /&gt;
Белая цифра поверх кнопки - это счетчик [[counter]]. Его идентификатор cnt_hnt сообщается пазле (она уменьшает его значение при выполнении этого хинта). Диапазон изменения счетчика задан в пределах min=0, max=3. Начальное значение val=3. Кроме этого в счетчик правой кнопкой мыши добавлены разделы:&lt;br /&gt;
* '''min: изменить объект'''&lt;br /&gt;
** объект = win_buy_hint&lt;br /&gt;
** состояние = open&lt;br /&gt;
* '''minIf: условие изменения min'''&lt;br /&gt;
** куплено = buy.hint&lt;br /&gt;
** not = 1&lt;br /&gt;
Эти разделы означают, что при достижении счетчиком минимальной границы будет открыто окно win_buy_hint если в опциях '''не''' (поле not) отмечена покупка &amp;quot;buy.hint&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Заметим, что пазла [[puzzle]] выполняет этот хинт (получив состояние от кнопки), если счетчика этих хинтов нет, или он не достиг минимума, или достиг, но в нем нет выполнившегося раздела &amp;quot;min: изменить объект&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Само окно win_buy_hint (желтый прямоугольник) является [[Machine|машиной состояний]] в которой может быть выключен счётчик, открывается окно, закрывается окно.&lt;br /&gt;
&lt;br /&gt;
У машины состояний есть 2 подобъекта - кнопки с замочком и крестиком.&lt;br /&gt;
Крестик имеет добавленный раздел, который закрывает окно.&lt;br /&gt;
Замок запускает процесс покупки и также закрывает окно:&lt;br /&gt;
* '''изменить состояние объекта'''&lt;br /&gt;
** объект = win_buy_hint&lt;br /&gt;
** состояние = close&lt;br /&gt;
* '''совершить in-app покупку'''&lt;br /&gt;
** id покупки = buy.hint&lt;br /&gt;
** объект (успех) = win_buy_hint&lt;br /&gt;
** состояние (успех) = hide &lt;br /&gt;
** объект (провал) = win_error&lt;br /&gt;
** состояние (провал) = open &lt;br /&gt;
В случае успешной покупки счетчик становится невидимым (состояние hide окна). При неудаче открывается окно win_error, аналогичное win_buy_hint сообщающее об ошибке покупки хинта.&lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что выполнение состояний &amp;quot;успех&amp;quot; и &amp;quot;провал&amp;quot; является отложенными во времени.&lt;br /&gt;
Они вызываются магазином, когда соответствующие события (покупка или отказ от неё) возникнут.&lt;br /&gt;
&lt;br /&gt;
== Дополнительные сведения ==&lt;br /&gt;
&lt;br /&gt;
===Покупки Google Play===&lt;br /&gt;
&lt;br /&gt;
* Для работы покупок на Google Play необходимо добавить разрешения:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;uses-permission android:name=&amp;quot;com.android.vending.BILLING&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Для получения ID покупки на Google Play необходимо сначала загрузить apk с разрешением покупок&lt;br /&gt;
&lt;br /&gt;
* Разрешения записываются в AndroidManifest.xml, который находится обычно в каталоге %s3e_dir%\deploy\plugins\android. Также можно вместо AndroidManifest.xml вносить соответствующие настройки в android-extra-manifest.xml, который находится в каталоге %каталог_редактора%\system\marmalade\conf\%марект%(к примеру android)&lt;br /&gt;
&lt;br /&gt;
* Для приложения с покупками на google play надо добавить лицензионный ключ приложения в app.icf в группу [AndroidLVL] и разбить его на 4 части длинной не более 100 знаков. Также добавить для бесплатного приложения параметр ''free_app=1''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[AndroidLVL]&lt;br /&gt;
base64_public_key_1=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_2=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_3=&amp;quot;&amp;quot;&lt;br /&gt;
base64_public_key_4=&amp;quot;&amp;quot;&lt;br /&gt;
free_app=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Для корректной обработки покупок в случае неожиданного закрытия приложения(например во время открытого системного окна с процессом покупки пользователь сворачивает всё и закрывает приложение), необходимо добавить восстановление покупок для всех типов покупок. Таким образом если покупка произошла успешно, но в приложение не попали, при следующем запуске пользователю зачислится то что он купил.&lt;br /&gt;
&lt;br /&gt;
===Настройка маркета действующих покупок===&lt;br /&gt;
&lt;br /&gt;
* Для работы соостветствующего маркета на устройстве недобходимо в [[app.icf]] в секцию [Game] добавить параметр Market с значением для маркета.&lt;br /&gt;
&lt;br /&gt;
магазин - значение в [[app.icf]]&amp;lt;br&amp;gt;&lt;br /&gt;
Fortumo - fortumo&amp;lt;br&amp;gt;&lt;br /&gt;
Samsung - samsung&amp;lt;br&amp;gt;&lt;br /&gt;
Amazon market - amazon&amp;lt;br&amp;gt;&lt;br /&gt;
Apple store - ios&amp;lt;br&amp;gt;&lt;br /&gt;
Wildtangent - wildtangent&amp;lt;br&amp;gt;&lt;br /&gt;
Windows Store - wp8&amp;lt;br&amp;gt;&lt;br /&gt;
Blackberry - blackberry&amp;lt;br&amp;gt;&lt;br /&gt;
Google Play - android&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
Market=&amp;quot;ios&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Типы ошибок при совершении покупоки===&lt;br /&gt;
&lt;br /&gt;
* Типы ошибок при совершении покупоки&lt;br /&gt;
&lt;br /&gt;
Если покупка была неудачной, то имеется возможность узнать причину неудачи.&lt;br /&gt;
&lt;br /&gt;
0 - Unknown error&lt;br /&gt;
&lt;br /&gt;
1 - Client is not allowed to make the payment&lt;br /&gt;
&lt;br /&gt;
2 - Client canceled purchase&lt;br /&gt;
&lt;br /&gt;
3 - Invalid parameter/purchase ID&lt;br /&gt;
&lt;br /&gt;
4 - Device is not allowed to make the payment&lt;br /&gt;
&lt;br /&gt;
5 - No internet connection ( нет сети )&lt;br /&gt;
&lt;br /&gt;
6 - No internet connection ( нет интернета )&lt;br /&gt;
&lt;br /&gt;
7 - The service is not available for some reason (Услуга временно не доступна)&lt;br /&gt;
&lt;br /&gt;
8 - Purchase restore failed (Восстановить покупку не возможно)&lt;br /&gt;
&lt;br /&gt;
код ошибки находится в объекте типа options в параметре store.lastError&lt;br /&gt;
&lt;br /&gt;
В данный момент для IOS работает возврат всех ошибок, для других платформ &amp;quot;неизвестная ошибка&amp;quot; и &amp;quot;отсутствие интернета&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
===Trial период в Windows Phone 8===&lt;br /&gt;
* Для windows phone 8 есть возможность работы в пробном режиме. То есть пользователь может пользоваться платным приложением или некоторое время или с ограниченными возможностями.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The trial/full state of a user’s execution rights for an app are maintained in a license. When a user tries your app, it is installed on their phone along with a license that grants them the right to try the app. Trial licenses do not expire but when a user purchases an app they have been trying a full license is downloaded. The full license replaces the trial license and grants full rights to the app.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[http://msdn.microsoft.com/library/windowsphone/develop/ff967558%28v=vs.105%29.aspx Creating trial apps for Windows Phone]&lt;br /&gt;
&lt;br /&gt;
Данный функционал связан с объектом типа store - недоступный функционал находится за внутриигровой покупкой. Когда пользователь покупает полную версию все покупки помечаются автоматически как &amp;quot;купленные&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для работы данного функционала в [[app.icf]] или [[platform.icf]] необходимо в группу &amp;lt;nowiki&amp;gt;[Game]&amp;lt;/nowiki&amp;gt; поместить параметр '''''trial'''''&lt;br /&gt;
&lt;br /&gt;
'''trial=0''' - без триала&lt;br /&gt;
&lt;br /&gt;
'''trial=1''' - с триалом&lt;br /&gt;
&lt;br /&gt;
Также что приложение имеет триальный функционал необходимо отметить в соответствующих настройках приложения при создании в магазине страницы приложения.&lt;br /&gt;
&lt;br /&gt;
===Тестирование покупок для Blackberry===&lt;br /&gt;
Для тестирования покупок на Blackberry устройствах в app.icf сборки необходимо добавить следующие строки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
inappTest=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
inappTest=1 - all in-app in test mode, 0 - default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Тестирование покупок из редактора на Viewer===&lt;br /&gt;
Для тестирования покупок на Viewer-е в app.icf необходимо добавить следующие строки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Game]&lt;br /&gt;
purchaseEverything=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F_%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D1%85_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC&amp;diff=9246</id>
		<title>Отличия подготовки проекта для разных платформ</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F_%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D1%85_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC&amp;diff=9246"/>
		<updated>2017-12-08T10:20:28Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Steam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Файл:Simple.png|thumb|right]]&lt;br /&gt;
AppSalute Game Сreator позволяет использовать один проект (один лейаут), чтобы собирать приложение для разных платформ (маркетов). &lt;br /&gt;
Значительная часть проекта одинакова для всех платформ, но существуют некоторые различия. Для того чтобы иметь один лейаут для всех платформ используется внутренняя переменная &amp;quot;market&amp;quot;, которая задается в конфигурационном файле platform.icf. И которая переносится в приложении непосредственно при сборке.&lt;br /&gt;
&lt;br /&gt;
В самом же проекте, проверяя значение этой переменной реализуем нужную логику. На данный момент такую проверку можно делать в [[Machine|машине состояний]], а также в [[Taskorganizer|таскорганайзере]].&lt;br /&gt;
&lt;br /&gt;
На  данный момент существует 2 основных вида сборок - для мобильных платформ (google, ios) и для веб-платформ (facebook).&lt;br /&gt;
Как подготовить версию для веб-платформ из версии для мобильных платформ описано в этой статье: https://docs.google.com/document/d/1seTO3nphCsqqYHjumkl6b4r9RWLNGdokHjpDyDDP1T4/edit#&lt;br /&gt;
&lt;br /&gt;
Кроме отличий в самом проекте, также есть отличия при сборке проекта. Эти особенности также будут описаны ниже, но на данный момент эти отличия применяются автоматически при сборке через артефактори.&lt;br /&gt;
&lt;br /&gt;
=Google Play=&lt;br /&gt;
*Значение переменной market = &amp;quot;android&amp;quot;.&lt;br /&gt;
*Если в проекте есть курсоры (для веб-версий), то при запуске (на глобальном экране) приложения [[Options|опциям]] нужно вызывать состояние disableCursor.&lt;br /&gt;
*Для приложений GP есть возможность использовать социальную сеть G+. Для этого при запуске приложения (на глобальном экране) нужно установить объекту [[Esocial]] параметр socialnet = 2.&lt;br /&gt;
*На GP есть система внутриигровых достижений (ачивок). Для их корректной работы должен быть настроен объект [[Gamecenter]]. В частности в нем должны быть указаны ключи ачивок. Ачивки заводят маркетологи, они же дают ключи.&lt;br /&gt;
*Для доступа к сервису GP в проекте должно быть 2 кнопки: одна для доступа к ачивкам, вторая для доступа к лидерам. Также, если в проект поддерживаются локальные достижения, то в [[Gamecenter]] нужно указать текст для этого достижения.&lt;br /&gt;
*По системной кнопке &amp;quot;back&amp;quot; должно закрываться открытое окно. Если открытых окон нет, показывается окно выхода из приложения / хиддена / миниигы и тд.&lt;br /&gt;
*Если в приложении есть реклама, то в файле конфигурации (platform.icf) должны быть указаны параметры для провайдера рекламы.&lt;br /&gt;
*Если используется [[Flurry|флурри]] в файле viewer_google.xml должен быть указан game_id.&lt;br /&gt;
*Так как упаковка экранов оптимизирована для веб-платформ, то на данный момент после экспорта в файле *.sirx нужно найти ноду в которой указан адрес для закачки 1-го пака(имеет вид &amp;lt;pack fsize=&amp;quot;406951055&amp;quot; url=&amp;quot;imgs1/res.dat&amp;quot; md5=&amp;quot;7a...d&amp;quot; p=&amp;quot;1&amp;quot;/&amp;gt;) и изменить в ней url на следующий: &amp;quot;http://imgs1/res.dat&amp;quot;.&lt;br /&gt;
*Размер apk файла для приложения на GP ограничено 100 мб. Если приложение больше этого размера, то его нужно разделить на 2 пака. Содержимое второго пака нужно поместить в zip архив и переименовать его в соответствии с шаблоном main.v1.v2.v3.****.obb (v1, v2, v3 - составные версии приложения, ***** -  некое имя приложения на GP). Потом этот файл нужно будет поместить в соответствующий каталог для сборки.&lt;br /&gt;
*'''Перед тестированием версию всегда нужно заливать в альфу GP. Что бы версию можно было залить в альфу, нужно чтобы текущая версия была выше предыдущей.'''&lt;br /&gt;
&lt;br /&gt;
=iTunes=&lt;br /&gt;
*Значение переменной market = &amp;quot;ios&amp;quot;.&lt;br /&gt;
*Если в проекте есть курсоры (для веб-версий), то при запуске (на глобальном экране) приложения [[Options|опциям]] нужно вызывать состояние disableCursor.&lt;br /&gt;
*На iTunse есть система внутриигровых достижений (ачивок). Для их корректной работы должен быть настроен объект [[Gamecenter]]. В частности в нем должны быть указаны ключи ачивок. Ачивки заводят маркетологи, они же дают ключи.&lt;br /&gt;
*Для доступа к геймцентру в проекте должно быть кнопка, которая вызывает состояние achievements_show. Также, если в проект поддерживаются локальные достижения, то в [[Gamecenter]] нужно указать текст для этого достижения.&lt;br /&gt;
*Если в приложении есть реклама, то в файле конфигурации (platform.icf) должны быть указаны параметры для провайдера рекламы.&lt;br /&gt;
*Если используется [[Flurry|флурри]] в файле viewer_iphone.xml должен быть указан game_id.&lt;br /&gt;
*Приложение пакуем в 2 пака(настройки как для GP), 2 пак архивом не жмем.&lt;br /&gt;
&lt;br /&gt;
=Amazon Appstore=&lt;br /&gt;
*Значение переменной market = &amp;quot;amazon&amp;quot;.&lt;br /&gt;
*Если в проекте есть курсоры (для веб-версий), то при запуске (на глобальном экране) приложения [[Options|опциям]] нужно вызывать состояние disableCursor.&lt;br /&gt;
*На Amazon Appstore есть система внутриигровых достижений (ачивок). Для их корректной работы должен быть настроен объект [[Gamecenter]]. В частности в нем должны быть указаны ключи ачивок. Ачивки заводят маркетологи, они же дают ключи.&lt;br /&gt;
*Для доступа к геймцентру в проекте должно быть кнопка, которая вызывает состояние achievements_show. Также, если в проект поддерживаются локальные достижения, то в [[Gamecenter]] нужно указать текст для этого достижения.&lt;br /&gt;
*По системной кнопке &amp;quot;back&amp;quot; должно закрываться открытое окно. Если открытых окон нет, показывается окно выхода из приложения / хиддена / миниигы и тд.&lt;br /&gt;
*Если в приложении есть реклама, то в файле конфигурации (platform.icf) должны быть указаны параметры для провайдера рекламы.&lt;br /&gt;
*Если используется [[Flurry|флурри]] в файле viewer_amazon.xml должен быть указан game_id.&lt;br /&gt;
*Так как упаковка экранов оптимизирована для веб-платформ, то на данный момент после экспорта в файле *.sirx нужно найти ноду в которой указан адрес для закачки 1-го пака(имеет вид &amp;lt;pack fsize=&amp;quot;406951055&amp;quot; url=&amp;quot;imgs1/res.dat&amp;quot; md5=&amp;quot;7a...d&amp;quot; p=&amp;quot;1&amp;quot;/&amp;gt;) и изменить в ней url на следующий: &amp;quot;http://imgs1/res.dat&amp;quot;.&lt;br /&gt;
*Приложение разбивается на 2 пака. Содержимое второго пака нужно поместить в zip архив и переименовать его в pack.zip. Потом этот файл нужно будет поместить в соответствующий каталог для сборки.&lt;br /&gt;
&lt;br /&gt;
=Samsung Galaxy Apps=&lt;br /&gt;
*Значение переменной market = &amp;quot;samsung&amp;quot;.&lt;br /&gt;
*Если в проекте есть курсоры (для веб-версий), то при запуске (на глобальном экране) приложения [[Options|опциям]] нужно вызывать состояние disableCursor.&lt;br /&gt;
*Данный маркет не имеет собственного геймцентра, но на нем можно использовать локальные достижения. Для этого в [[Gamecenter]] нужно указать текст для этого достижения.&lt;br /&gt;
*По системной кнопке &amp;quot;back&amp;quot; должно закрываться открытое окно. Если открытых окон нет, показывается окно выхода из приложения / хиддена / миниигы и тд.&lt;br /&gt;
*Если используется [[Flurry|флурри]] в файле viewer_samsung.xml должен быть указан game_id.&lt;br /&gt;
*Так как упаковка экранов оптимизирована для веб-платформ, то на данный момент после экспорта в файле *.sirx нужно найти ноду в которой указан адрес для закачки 1-го пака(имеет вид &amp;lt;pack fsize=&amp;quot;406951055&amp;quot; url=&amp;quot;imgs1/res.dat&amp;quot; md5=&amp;quot;7a...d&amp;quot; p=&amp;quot;1&amp;quot;/&amp;gt;) и изменить в ней url на следующий: &amp;quot;http://imgs1/res.dat&amp;quot;.&lt;br /&gt;
*Приложение разбивается на 2 пака. Содержимое второго пака нужно поместить в zip архив и переименовать его в pack.zip. Потом этот файл нужно будет поместить в соответствующий каталог для сборки.&lt;br /&gt;
*Samsung Galaxy Apps просит, чтобы их приложение чем то отличалось, от версии на GP. На начальном этапе игры можно сделать подарок, где указать, что это уникальная особенность для пользователей данного маркета.&lt;br /&gt;
&lt;br /&gt;
=BlackBerry World=&lt;br /&gt;
*Значение переменной market = &amp;quot;blackberry&amp;quot;.&lt;br /&gt;
*Если в проекте есть курсоры (для веб-версий), то при запуске (на глобальном экране) приложения [[Options|опциям]] нужно вызывать состояние disableCursor.&lt;br /&gt;
*Данный маркет не имеет собственного геймцентра, но на нем можно использовать локальные достижения. Для этого в [[Gamecenter]] нужно указать текст для этого достижения.&lt;br /&gt;
*[[Flurry|Флурри]] не используется, но для работы других сервисов статистики в файле viewer_blackberry.xml должна быть указана заглушка в параметре game_id.&lt;br /&gt;
*Так как упаковка экранов оптимизирована для веб-платформ, то на данный момент после экспорта в файле *.sirx нужно найти ноду в которой указан адрес для закачки 1-го пака(имеет вид &amp;lt;pack fsize=&amp;quot;406951055&amp;quot; url=&amp;quot;imgs1/res.dat&amp;quot; md5=&amp;quot;7a...d&amp;quot; p=&amp;quot;1&amp;quot;/&amp;gt;) и изменить в ней url на следующий: &amp;quot;http://imgs1/res.dat&amp;quot;.&lt;br /&gt;
*Приложение разбивается на 2 пака. Содержимое второго пака нужно поместить в zip архив и переименовать его в pack.zip. Потом этот файл нужно будет поместить в соответствующий каталог для сборки.&lt;br /&gt;
*'''Данная платформа не поддерживает социальные сети.''' Поэтому после сборки, нужно в layout.xml найти объект &amp;quot;facebook&amp;quot; и изменить его тип на &amp;quot;image&amp;quot;. В самом проекте, в тех местах где идет обращение к социальным сервисам нужно подключить сообщение заглушку. В основном такую проверку нужно делать для кнопок, открывающих окна с социалкой и попап-окна логина.&lt;br /&gt;
&lt;br /&gt;
=Windows Store 8.1=&lt;br /&gt;
*Значение переменной market = &amp;quot;ws81&amp;quot;.&lt;br /&gt;
*Если в проекте есть курсоры (для веб-версий), то при запуске (на глобальном экране) приложения [[Options|опциям]] нужно вызывать состояние disableCursor.&lt;br /&gt;
*Данный маркет не имеет собственного геймцентра, но на нем можно использовать локальные достижения. Для этого в [[Gamecenter]] нужно указать текст для этого достижения.&lt;br /&gt;
*[[Flurry|Флурри]] не используется, но для работы других сервисов статистики в файле viewer_blackberry.xml должна быть указана заглушка в параметре game_id.&lt;br /&gt;
*Приложение пакуем в 2 пака(настройки как для GP), 2 пак архивом не жмем.&lt;br /&gt;
*'''Данная платформа не поддерживает социальные сети.''' Поэтому после сборки, нужно в layout.xml найти объект &amp;quot;facebook&amp;quot; и изменить его тип на &amp;quot;image&amp;quot;. В самом проекте, в тех местах где идет обращение к социальным сервисам нужно подключить сообщение заглушку. В основном такую проверку нужно делать для кнопок, открывающих окна с социалкой и попап-окна логина.&lt;br /&gt;
&lt;br /&gt;
=Facebook=&lt;br /&gt;
*Значение переменной market = &amp;quot;webfb&amp;quot;.&lt;br /&gt;
*Для корректной работы курсора нужно указать его для каждого экрана в проекте, а также поместить на расшаренной сцене с альфой = 0. (Чтобы подтягивался ресурс при экспорте и но не было переключений между текстурами). При загрузке приложения [[Options|опциям]] нужно вызывать состояние readCursor. Также в файле app.icf в параметрах нужно указать id ресурса для курсора (используя param_name и param_value).&lt;br /&gt;
*Геймцентра нет, но есть механизм постов на стену при получении очередного достижения. В [[Gamecenter]] указываем ключи этих достижений. Ключи представляют собой адрес к файлу ачивки на сервере. Для показа ачивок используются локальные достижения. Для этого в [[Gamecenter]] нужно указать текст для этих достижений.&lt;br /&gt;
*В веб-версиях человек может играть в фулскрине, для этого нужно сделать кнопки смены режима (обычный/фулскрин). Также нужно предусмотреть выход из фулскрина, при совершении покупки (Устанавливать опциям fullScreen = 0, при нажатии на кнопку совершения покупки).&lt;br /&gt;
*Для веб-версий нужно отключить иконку социальной сети, выключив vis картинке, указанной в поле snIco, в темплейте иконки друга.&lt;br /&gt;
*Для каждой покупки нужен специальный файл, который должен быть загружен на сервер. Так же обстоит дело с постами на стену (при сдаче коллекций, получении нового уровня, ачивки и тд). При получении очередного достижения (сдача коллекции, новый уровень и тд), человек может отправить себе на стену пост об этом достижении. При этом на соответствующей кнопке вместо &amp;quot;Принять&amp;quot; нужно писать &amp;quot;Поделиться&amp;quot;.&lt;br /&gt;
*Каждый экран должен быть упакован в отдельный пак. После экспорта, видео в формате absmp4 нужно изменить формат на mp4. Также нужно изменить расширение для видео в файле *.sirx.&lt;br /&gt;
&lt;br /&gt;
=Submit Facebook=&lt;br /&gt;
После каждого добавления новых постов ( лвл-апы, пост аччивок) нужно пройти проверку от Facebook. Для этого все посты настраиваются в админке, собирается версия на webfb релиз(если посты содержат новую графику) и отдаются две версии приложения на проверку. Два приложения - ios и google, должны соблюдать требования:&lt;br /&gt;
:должны состоять из одного файла (apk,ipa - без obb файла); &lt;br /&gt;
:посты должны отсылаться без проверки разрешений (пермишенов); Для этого в app.icf указываем в теге [s3eFacebook] параметр с значением: &amp;quot;DonotCheckAppPermision=1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Yahoo=&lt;br /&gt;
*Значение переменной market = &amp;quot;webya&amp;quot;.&lt;br /&gt;
*Для корректной работы курсора нужно указать его для каждого экрана в проекте, а также поместить на расшаренной сцене с альфой = 0. (Чтобы подтягивался ресурс при экспорте и но не было переключений между текстурами). При загрузке приложения [[Options|опциям]] нужно вызывать состояние readCursor. Также в файле app.icf в параметрах нужно указать id ресурса для курсора (используя param_name и param_value).&lt;br /&gt;
*Таким же образом (используя param_name и param_value) указываем параметр lang = en.&lt;br /&gt;
*Геймцентра нет, но есть локальные достижения. Для их показа в [[Gamecenter]] нужно указать текст для этих достижений.&lt;br /&gt;
*В веб-версиях человек может играть в фулскрине, для этого нужно сделать кнопки смены режима (обычный/фулскрин). Также нужно предусмотреть выход из фулскрина, при совершении покупки (Устанавливать опциям fullScreen = 0, при нажатии на кнопку совершения покупки).&lt;br /&gt;
*Для веб-версий нужно отключить иконку социальной сети, выключив vis картинке, указанной в поле snIco, в темплейте иконки друга.&lt;br /&gt;
*Механизма постов на стену нет, надписи &amp;quot;Поделиться&amp;quot; быть не должно. Кнопку &amp;quot;Поделиться&amp;quot; из окна коллекций делаем недоступной.&lt;br /&gt;
*Также прячем в настройках чекбокс &amp;quot;Уведомления&amp;quot;. На Yahoo их нет.&lt;br /&gt;
*Каждый экран должен быть упакован в отдельный пак. После экспорта, видео в формате absmp4 нужно изменить формат на mp4. Также нужно изменить расширение для видео в файле *.sirx.&lt;br /&gt;
&lt;br /&gt;
=Одноклассники=&lt;br /&gt;
*Значение переменной market = &amp;quot;webok&amp;quot;.&lt;br /&gt;
*В проекте весь интерфейс, тексты должны быть на Русском. В app.icf указываем lang=&amp;quot;ru&amp;quot;.&lt;br /&gt;
*В проекте должна быть отключена возможность смены языка ( всегда должен быть Русский). &lt;br /&gt;
*На иконках постов, игровых картинках не должно быть надписей на иностранном языке ( в проекте если market=&amp;quot;webok&amp;quot; меняем некот. графику) .&lt;br /&gt;
*Иконки пользователей в социальных окнах должны вписываться ( в объекте image указываем параметр тайлинг=&amp;quot;вписать&amp;quot;), т.к. одноклассники отдают нам не квадратные иконки. &lt;br /&gt;
*Тексты постов, уведомлений - д.б. на Русском.&lt;br /&gt;
*В проекте не д.б. внешних ссылок, кроме как отправить письмо и ссылки на группы в Одноклассниках.&lt;br /&gt;
*В проекте не д.б. иконок других соцсетей.&lt;br /&gt;
*Для корректной работы курсора нужно указать его для каждого экрана в проекте, а также поместить на расшаренной сцене с альфой = 0. (Чтобы подтягивался ресурс при экспорте и но не было переключений между текстурами). При загрузке приложения [[Options|опциям]] нужно вызывать состояние readCursor. Также в файле app.icf в параметрах нужно указать id ресурса для курсора (используя param_name и param_value).&lt;br /&gt;
*Таким же образом (используя param_name и param_value) указываем параметр lang = en.&lt;br /&gt;
*Геймцентра нет, но есть локальные достижения. Для их показа в [[Gamecenter]] нужно указать текст для этих достижений.&lt;br /&gt;
*В веб-версиях человек может играть в фулскрине, для этого нужно сделать кнопки смены режима (обычный/фулскрин). Также нужно предусмотреть выход из фулскрина, при совершении покупки (Устанавливать опциям fullScreen = 0, при нажатии на кнопку совершения покупки).&lt;br /&gt;
*Для веб-версий нужно отключить иконку социальной сети, выключив vis картинке, указанной в поле snIco, в темплейте иконки друга.&lt;br /&gt;
*Механизма постов на стену нет, надписи &amp;quot;Поделиться&amp;quot; быть не должно. Кнопку &amp;quot;Поделиться&amp;quot; из окна коллекций делаем недоступной.&lt;br /&gt;
*Также прячем в настройках чекбокс &amp;quot;Уведомления&amp;quot;. На Yahoo их нет.&lt;br /&gt;
*Каждый экран должен быть упакован в отдельный пак. После экспорта, видео в формате absmp4 нужно изменить формат на mp4. Также нужно изменить расширение для видео в файле *.sirx.&lt;br /&gt;
&lt;br /&gt;
=Steam=&lt;br /&gt;
*Значение переменной market = &amp;quot;steam&amp;quot;.&lt;br /&gt;
*Экспортируется как обычная виндовая версия win_abs.&lt;br /&gt;
*Для отображения сплеш скрина компании рядом с .exe файлом должен лежать файл default.dat. Создается он следующим образом: &lt;br /&gt;
 - 1. В папке ..\project\icons\splash выбирается иконка размера 1024*768.&lt;br /&gt;
 - 2. Через paint эта картинка сохраняется как .bmp.&lt;br /&gt;
 - 3. И переименовывается на default.dat.&lt;br /&gt;
   Либо вариант видео: в кофиги платформы добавить файл splash.ogv. &lt;br /&gt;
   Еще в app.icf в группе Game указать fullScreenOnStart=1. &lt;br /&gt;
*Для запуска приложения также рядом с .exe файлом должен лежать файл steam_appid.txt, содержащий только id приложения (просто число, без &amp;quot;id=&amp;quot; и т.д.). Этот id дают маркетологи. А вообще его нужно положить в конфигурациях .....\project\platforms\win_abs. При сборке он подтянется.&lt;br /&gt;
*Объект Facebook не функционален. Сделать картинкой для улучшения производительности. &lt;br /&gt;
*Объект Advertisement тоже сделать картинкой.&lt;br /&gt;
*Вся графика проекта должна находится в нулевом паке.&lt;br /&gt;
*Удалить из проекта все ссылки на absolutist.com и другие ресурсы, куда может перейти пользователь и купить игры вне Steam. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9230</id>
		<title>Script Game</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9230"/>
		<updated>2017-11-21T08:10:05Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''JSGame''' служит для встраивания иигр, написанных на языке Java Script, в редактор&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты 1==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
=Взаимодействие объекта с вьювером=&lt;br /&gt;
В данном разделе описан протокол обмена сообщениями между вьювером и объектом&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9229</id>
		<title>Script Game</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9229"/>
		<updated>2017-11-21T08:09:21Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''JSGame''' служит для встраивания миниигр, написанных на языке Java Script, в редактор&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты 1==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
=Взаимодействие объекта с вьювером=&lt;br /&gt;
В данном разделе описан протокол обмена сообщениями между вьювером и объектом&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9228</id>
		<title>Script Game</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9228"/>
		<updated>2017-11-21T08:08:47Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''JSGame''' служит для встраивания миниигр, написанных на языке Java Script, в редактор&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты 1==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
=Взаимодействие объекта с вьювером=&lt;br /&gt;
В данном разделе описан протокол обмена сообщениями между вьювером и объектом&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9227</id>
		<title>Script Game</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9227"/>
		<updated>2017-11-21T08:07:56Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''JSGame''' служит для встраивания миниигр, написанных на языке Java Script, в редактор&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты 1==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
=Взаимодействие объекта с вьювером=&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9226</id>
		<title>Script Game</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9226"/>
		<updated>2017-11-21T08:05:48Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''JSGame''' служит для встраивания миниигр, написанных на языке Java Script, в редактор&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты 1==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
=Свойства=&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9225</id>
		<title>Script Game</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9225"/>
		<updated>2017-11-21T08:05:30Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''JSGame''' служит для встраивания миниигр, написанных на языке Java Script в редактор&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты 1==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
=Свойства=&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9224</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9224"/>
		<updated>2017-11-21T08:02:23Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: /* Game mechanic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
== Новости ==&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
== AppSalute Game Сreator ==&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
&lt;br /&gt;
== Обучение ==&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
== Подготовка проекта ==&lt;br /&gt;
* [[Проектирование экранов игры]]&lt;br /&gt;
* [[Подготовка и форматы графики]]&lt;br /&gt;
* [[Подготовка и форматы шрифтов]]&lt;br /&gt;
* [[Подготовка и форматы звуков]]&lt;br /&gt;
* [[Подготовка и форматы видео]]&lt;br /&gt;
* [[Создание проекта]]&lt;br /&gt;
* [[Загрузка проекта по частям]]&lt;br /&gt;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
&lt;br /&gt;
== Встроенные объекты редактора==&lt;br /&gt;
&lt;br /&gt;
=== Common objects  ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
=== Main objects ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
&lt;br /&gt;
=== Game mechanic ===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
** [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
*** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
*** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
* [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
* [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
* [[Файл:Kub.png]] - [[Java Script Game]] - Java Script Game&lt;br /&gt;
&lt;br /&gt;
=== Global score ===&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
=== Social ===&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9223</id>
		<title>Script Game</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9223"/>
		<updated>2017-11-21T07:59:55Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''JSGame''', служит для связи инвентаря(магазина) и экономики&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты 1==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9222</id>
		<title>Script Game</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Script_Game&amp;diff=9222"/>
		<updated>2017-11-21T07:51:04Z</updated>

		<summary type="html">&lt;p&gt;Vlegkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''JSGame''', служит для связи инвентаря(магазина) и экономики&lt;br /&gt;
&lt;br /&gt;
=Свойства=&lt;br /&gt;
&lt;br /&gt;
*'''иконка ресурса 1''' - Графический ресурс иконки монет.&lt;br /&gt;
*'''иконка ресурса 2''' - Графический ресурс иконки кристаллов&lt;br /&gt;
&lt;br /&gt;
==Ссылки на объекты==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Eitems.jpg|right]]&lt;br /&gt;
*'''economics''' - Ссылка на объект economics.&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.&lt;/div&gt;</summary>
		<author><name>Vlegkun</name></author>
		
	</entry>
</feed>