<?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=Vgolob</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=Vgolob"/>
	<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/Vgolob"/>
	<updated>2026-10-17T03:41:36Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.15</generator>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9573</id>
		<title>Leaderboardsitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9573"/>
		<updated>2018-05-24T14:06:21Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Основные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''место''' - Счетчик, в который будет занесено место игрока&lt;br /&gt;
*'''имя''' - Текстовый объект куда будет занесено имя игрока&lt;br /&gt;
*'''objectId''' - Текстовый объект куда будет занесен objectId игрока&lt;br /&gt;
*'''иконка''' - Иконка игрока&lt;br /&gt;
*'''очки''' - Счетчик, в который будут занесены очки игрока&lt;br /&gt;
*'''уровень''' - Счетчик, в который будет занесен уровень игрока&lt;br /&gt;
*'''список желаний''' - объект-таблица, в который сложим желаемые предметы пользователей. Должна иметь 1 ряд&lt;br /&gt;
*'''кнопка invite''' - не используется, потому что уже не можем получить сведения с фб о неиграющих друзьях&lt;br /&gt;
*'''кнопка info'''&lt;br /&gt;
*'''кнопка подарить энергию'''&lt;br /&gt;
*'''кнопка подарить монеты'''&lt;br /&gt;
*'''кнопка подарить вип'''&lt;br /&gt;
*'''машина для играющих''' - машина должна иметь два состояния - player и invitable. Может менять в них внешний вид окна&lt;br /&gt;
*'''кнопка пригласить в друзья''' - кнопка для приглашения в игрока из глобальных лидербордов в абс-друзья. Передает клауду состояние “parse_friend_request_lb”. Эта кнопка видна только в глобальных лидербордах у игроков, которые не являются друзьями.&lt;br /&gt;
*'''кнопка удалить из друзей''' - кнопка удаления игрока из абс-друзей. Передает клауду состояние parse_friend_request_public и parse_friend_delete_public. Автоматически появляется для всех игроков, которые являются abs-друзьями.&lt;br /&gt;
*'''кнопка play''' - кнопка play для Hidden Battle&lt;br /&gt;
*'''счетчики 1-7''' - Для заполнения значений счетчиков 1-7 нужно в опции записать желаемые параметры в поля public.lbtemplate.val(%d), где (%d) - номер счетчика, и вызвать cloud состояние parse_save.&lt;br /&gt;
*'''иконка соцсети''' - Иконка соцсети. Должна иметь ресурс с двумя кадрами: 0 - фейсбук, 1 - гугл&lt;br /&gt;
*'''иконка страны''' - Иконка флага. Попытаюсь взять айдишник ресурса для нее из public.flagRes&lt;br /&gt;
*'''иконка vip''' - Иконка vip. Попытаюсь взять айдишник ресурса для нее из public.vipRes&lt;br /&gt;
*'''счетчик приза res1'''&lt;br /&gt;
*'''счетчик приза res2'''&lt;br /&gt;
*'''иконка приза предмет'''&lt;br /&gt;
*'''счетчик приза предмет'''&lt;br /&gt;
*'''кнопка получения награды'''&lt;br /&gt;
*'''слушатель движения''' - слушатель движения ячейки. Должен иметь состояния moveStart и moveFinish&lt;br /&gt;
*'''placeholder друга''' - Картинка, которая будет использоваться вместо отсутствующих аватарок&lt;br /&gt;
*'''online''' - индикатор онлайна игрока, должен иметь состояния online и offline&lt;br /&gt;
*'''selected''' -  указанный в этом поле объект будет показываться по vis для ячейки, которой вызвали &amp;quot;user&amp;quot; и прятаться для остальных&lt;br /&gt;
*'''lastObjectId''' - objectId игрока, которому будет проявляться объект selected. Чтобы выключить всем игрокам selected, нужно в этот параметр передать 0&lt;br /&gt;
*'''lastUserIco''' - айди иконки последнего кликнутого юзера&lt;br /&gt;
*'''lastUserName''' - имя последнего кликнутого юзера&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
*'''user''' - записывает в поля lastUserIco и lastUserName этого же объекта (leaderboardsitem) соотв. айди клипа и имя последнего кликнутого юзера&lt;br /&gt;
*'''user_param''' - проявляет по vis объект selected. Перед этим нужно объекту ledaerboardsitem передать параметр param, который соответствует номеру ячейки, в которой нужно проявить selected&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9572</id>
		<title>Leaderboardsitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9572"/>
		<updated>2018-05-24T13:59:49Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Основные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''место''' - Счетчик, в который будет занесено место игрока&lt;br /&gt;
*'''имя''' - Текстовый объект куда будет занесено имя игрока&lt;br /&gt;
*'''objectId''' - Текстовый объект куда будет занесен objectId игрока&lt;br /&gt;
*'''иконка''' - Иконка игрока&lt;br /&gt;
*'''очки''' - Счетчик, в который будут занесены очки игрока&lt;br /&gt;
*'''уровень''' - Счетчик, в который будет занесен уровень игрока&lt;br /&gt;
*'''список желаний''' - объект-таблица, в который сложим желаемые предметы пользователей. Должна иметь 1 ряд&lt;br /&gt;
*'''кнопка invite''' - не используется, потому что уже не можем получить сведения с фб о неиграющих друзьях&lt;br /&gt;
*'''кнопка info'''&lt;br /&gt;
*'''кнопка подарить энергию'''&lt;br /&gt;
*'''кнопка подарить монеты'''&lt;br /&gt;
*'''кнопка подарить вип'''&lt;br /&gt;
*'''машина для играющих''' - машина должна иметь два состояния - player и invitable. Может менять в них внешний вид окна&lt;br /&gt;
*'''кнопка пригласить в друзья''' - кнопка для приглашения в игрока из глобальных лидербордов в абс-друзья. Передает клауду состояние “parse_friend_request_lb”. Эта кнопка видна только в глобальных лидербордах у игроков, которые не являются друзьями.&lt;br /&gt;
*'''кнопка удалить из друзей''' - кнопка удаления игрока из абс-друзей. Передает клауду состояние parse_friend_request_public и parse_friend_delete_public. Автоматически появляется для всех игроков, которые являются abs-друзьями.&lt;br /&gt;
*'''кнопка play''' - кнопка play для Hidden Battle&lt;br /&gt;
*'''счетчики 1-7''' - Для заполнения значений счетчиков 1-7 нужно в опции записать желаемые параметры в поля public.lbtemplate.val(%d), где (%d) - номер счетчика, и вызвать cloud состояние parse_save.&lt;br /&gt;
*'''иконка соцсети''' - Иконка соцсети. Должна иметь ресурс с двумя кадрами: 0 - фейсбук, 1 - гугл&lt;br /&gt;
*'''иконка страны''' - Иконка флага. Попытаюсь взять айдишник ресурса для нее из public.flagRes&lt;br /&gt;
*'''иконка vip''' - Иконка vip. Попытаюсь взять айдишник ресурса для нее из public.vipRes&lt;br /&gt;
*'''счетчик приза res1'''&lt;br /&gt;
*'''счетчик приза res2'''&lt;br /&gt;
*'''иконка приза предмет'''&lt;br /&gt;
*'''счетчик приза предмет'''&lt;br /&gt;
*'''кнопка получения награды'''&lt;br /&gt;
*'''слушатель движения''' - слушатель движения ячейки. Должен иметь состояния moveStart и moveFinish&lt;br /&gt;
*'''placeholder друга''' - Картинка, которая будет использоваться вместо отсутствующих аватарок&lt;br /&gt;
*'''online''' - индикатор онлайна игрока, должен иметь состояния online и offline&lt;br /&gt;
*'''selected''' -  указанный в этом поле объект будет показываться по vis для ячейки, которой вызвали &amp;quot;user&amp;quot; и прятаться для остальных&lt;br /&gt;
*'''lastObjectId''' - objectId игрока, которому будет проявляться объект selected. Чтобы выключить всем игрокам selected, нужно в этот параметр передать 0 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
*'''user''' - записывает в поля lastUserIco и lastUserName этого же объекта (leaderboardsitem) соотв. айди клипа и имя последнего кликнутого юзера&lt;br /&gt;
*'''user_param''' - проявляет по vis объект selected. Перед этим нужно объекту ledaerboardsitem передать параметр param, который соответствует номеру ячейки, в которой нужно проявить selected&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9571</id>
		<title>Cloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9571"/>
		<updated>2018-05-23T14:39:10Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* parse друзья и подарки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект необходим для синхронизации приложения с облаком.&lt;br /&gt;
&lt;br /&gt;
=Параметры объекта Cloud=&lt;br /&gt;
&lt;br /&gt;
==parse general==&lt;br /&gt;
&lt;br /&gt;
*'''app''' - Код приложения из parse&lt;br /&gt;
*'''key''' - Ключ приложения из parse&lt;br /&gt;
*'''имя игры''' - Наше внутреннее имя игры в parse&lt;br /&gt;
*'''имя игрока''' - Имя игрока. Заполнить до любых вызовов состояний&lt;br /&gt;
*'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)&lt;br /&gt;
*'''автоприменение''' - Применять лучшие опции автоматически. Если &amp;quot;нет&amp;quot; то нужно подтверждение пользователя.&lt;br /&gt;
*'''esocial''' - объект типа esocial для получения списка друзей.&lt;br /&gt;
*'''повторять лоад раз''' - количество повторов parse_load при неуспехе, если не отсутствие интернета.&lt;br /&gt;
*'''автолоад''' - автоматически вызывать parse_load при логине в социальной сети.&lt;br /&gt;
&lt;br /&gt;
==parse leaderboards==&lt;br /&gt;
&lt;br /&gt;
*'''лидерборд''' - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!&lt;br /&gt;
*'''очки''' - Очки для отправки. Валидное целое число!&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;.&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''всегда запрашивать''' - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1)&lt;br /&gt;
*'''дефолтное имя''' - если у нас все еще нет имени человека, вместо него будет эта строка&lt;br /&gt;
*'''специальная сортировка''' ( special_sort ) - специальная сортировка, по лвлу ( задаём &amp;quot;1&amp;quot; когда открываем лидерборды глобальные/ друзей; ставим &amp;quot;0&amp;quot; в лидерах монстров/локаций)&lt;br /&gt;
*'''анимация смены мест''' - анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
*'''периодический лидерборд''' - Периодический лидерборд в parse&lt;br /&gt;
*'''(периодический) таблица''' - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) таблица предыдущая''' - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу текущего лидерборда&lt;br /&gt;
*'''(периодический) шаблон предыдущий''' - объект типа [[Leaderboardsitem]] для помещения в таблицу предыдущего лидерборда&lt;br /&gt;
*'''(периодический) свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''(периодический) свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''(периодический) своя иконка''' - иконка игрока&lt;br /&gt;
*'''(периодический) таймер''' - иконка игрока&lt;br /&gt;
*'''(периодический) запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''(периодический) анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
*'''(периодический) в предыдущую таблицу только себя''' - в предыдущую таблицу только себя (нет=0, да=1)&lt;br /&gt;
*'''(периодический) таблица наград''' - объект-таблица, в который сложим шаблоны наград&lt;br /&gt;
*'''(периодический) шаблон награды''' - объект типа rewarditem&lt;br /&gt;
&lt;br /&gt;
==parse голосовалка==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''таблица пред.''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон пред.''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название пред.''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''время''' - объект типа таймер, куда мы сложим оставшееся время опроса;&lt;br /&gt;
*'''текст шаринга''' - текст шаринга.&lt;br /&gt;
&lt;br /&gt;
==parse друзья и подарки==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим шаблон [[Leaderboardsitem]];&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу;&lt;br /&gt;
*'''добавить приглашаемых''' - &amp;quot;сколько приглашаемых друзей добавить к играющим друзьям;&lt;br /&gt;
*'''прятать одаренных''' - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок.   !!! если выбрано &amp;quot;да&amp;quot;, то параметр опций parse_friends_num учитывает только неодаренных друзей; чтобы узнать общее количество друзей, использовать parse_friends_all&lt;br /&gt;
*'''сохранять первых ячеек''' - сколько первых ячеек таблицы сохранять при очистке&lt;br /&gt;
&lt;br /&gt;
==parse запросы дружбы==&lt;br /&gt;
&lt;br /&gt;
*'''текст запроса дружбы''' - Текстовый айди для исходящего запроса дружбы;&lt;br /&gt;
*'''окно''' - Само окно. Должно иметь состояние show;&lt;br /&gt;
*'''иконка''' - Портрет приглашающего;&lt;br /&gt;
*'''имя''' - Имя приглашающего;&lt;br /&gt;
*'''таблица инвайтов''' - таблица, в которую сложим все инвайты;&lt;br /&gt;
*'''шаблон инвайта (inviteitem)''' - Шаблон инвайта для помещения в таблицу.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона в таблице лидеров==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона для периодических лидербордов==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==Приглашение в мультиплеер==&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера&lt;br /&gt;
*'''информация''' - информация о приглашающем, объект типа leaderboardsitem&lt;br /&gt;
&lt;br /&gt;
==Боты для лидербордов==&lt;br /&gt;
*'''конфиг''' - файл с настройками ботов&lt;br /&gt;
*'''имена ботов в оффлайне''' - имена ботов, если они генерятся в оффлайне&lt;br /&gt;
*'''имена игрока в оффлайне''' - имя игрока в оффлайне&lt;br /&gt;
&lt;br /&gt;
Файл конфига умеет создавать &amp;quot;economicalCycle&amp;quot; (пока только боты для локаций, ModeWorkEconomicalCycle=&amp;quot;2&amp;quot; + указываем нужное количество ботов - &amp;quot;bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Добавляемые свойства=&lt;br /&gt;
&lt;br /&gt;
==Обработчики для синхронизации==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметр, синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse.&lt;br /&gt;
*'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр&lt;br /&gt;
*'''параметр''' - имя параметра в группе, общее для различных приложений&lt;br /&gt;
*'''объект''' - объект у которого синхронизируем параметр.&lt;br /&gt;
*'''параметр объекта''' - параметр который синхронизируем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае отсутствия данных на сервере, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта'''  - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'', показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', необходимо перегрузить лайаут.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply_server'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', необходимо перезагрузить лэйаут.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate'', необходимо вызывать ''parse_save''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние'''- новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate'', необходимо вызывать ''parse_load''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик успеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем '''ErrorManager'''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
==Обработчики голосования==&lt;br /&gt;
	&lt;br /&gt;
			&lt;br /&gt;
[[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' - обработчик успеха ''parse_poll''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.			&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
[[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' - обработчик успеха ''parse_vote''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для лидербордов==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены лидерборды''' - обработчик успеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за objectId''' - обработчик неуспеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', которая происходит из-за неуспешного ''parse_load'' (в этом случае ''parse_load'' необходимо повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''добавляемые лидерборды''' - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д.&lt;br /&gt;
*'''id''' - Идентификатор набора интерфейсных элементов, указывать нужно '''default''' для таблицы, в которую помещаются общие лидеры, для остальных не нужно&lt;br /&gt;
*'''имя лидербордов''' - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове ''parse_leaderbords_friends_param''&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&amp;quot; hint=&amp;quot;кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&amp;quot;  hint=&amp;quot;кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна. Должна иметь состояние show&lt;br /&gt;
*'''анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
==Обработчики для друзей и подарков==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены друзья''' - обработчик успеха ''parse_friends'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен запрос дружбы''' - обработчик успеха ''parse_friend_request_lb'', ''parse_friend_request_public'', ''parse_friend_request_param'', показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен подарок''' - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для временных лидербордов (соревнований)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev''&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования НЕ сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' при условии, что находимся не в окне соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''игрок потенциально попал в лидерборды прошлого периода''' - обработчик успеха ''parse_all_leaderboards'' - неинформативный, решили не использовать&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''у игрока призовое место в лидербордах прошлого периода и не забрана награда''' - обработчик успеха ''parse_all_leaderboards'', можно повести игрока забрать награду за предыдущий период соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''завершились лидерборды предыдущего периода''' - обработчик успеха ''parse_leaderboards_temporary'', вызываем ''parse_all_leaderboards'', показываем информационное окно с информацией о том, что идет подсчет результатов&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за levelId''' - обработчик неуспеха ''parse_leaderboards_temporary'', которая происходит из-за неуспеха ''parse_all_leaderboards'' (в этом случае ''parse_all_leaderboards'' желательно повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''индикатор награды за временные лидерборды''' - визуализация награды за временные лидерборды&lt;br /&gt;
*'''res1''' - счетчик - награда за лидерство в res1,&lt;br /&gt;
*'''res2''' - счетчик - награда за лидерство в res2,&lt;br /&gt;
*'''item''' - иконка предмета - награды за лидерство,&lt;br /&gt;
*'''item num''' - счетчик предмета - награды за лидерство.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''лидеры предыдущего этапа временных лидербордов''' - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал)&lt;br /&gt;
*'''leaderboardsitem''' - объект типа [[Leaderboardsitem]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''периодические лидерборды''' - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики&lt;br /&gt;
*'''имя''' - Периодический лидерборд в parse (название таблицы)&lt;br /&gt;
*'''min''' - Минимальный уровень экономики&lt;br /&gt;
*'''max''' - Максимальный уровень экономики&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;
[[Файл:+.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;
Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове ''parse_load''. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались).&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''0  - local_device_synchronization''' - синхронизация параметров между приложениями одного устройства;&lt;br /&gt;
&lt;br /&gt;
*'''1  - parse_resolve''' - ресолвим конфликт и ждем подтверждения;&lt;br /&gt;
&lt;br /&gt;
*'''2  - parse_idle''' - состояние простоя, означает, что мы не ждем ответа ни на один запрос;&lt;br /&gt;
&lt;br /&gt;
*'''3  - parse_load''' - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;&lt;br /&gt;
&lt;br /&gt;
*'''4  - parse_save''' - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
        &lt;br /&gt;
*'''5  - parse_leaderboards''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''6  - parse_leaderboards_friends''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''7  - parse_submit''' - заслать очки в парс взяв очки из поля score и уровень из поля level;&lt;br /&gt;
&lt;br /&gt;
*'''8  - parse_apply''' - применить скачанные опции;&lt;br /&gt;
&lt;br /&gt;
*'''9  - parse_get_public_lb''' - скопировать паблик данные кликнутого юзера из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''10 - parse_poll''' - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;&lt;br /&gt;
&lt;br /&gt;
*'''11 - parse_poll_prev''' - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;&lt;br /&gt;
&lt;br /&gt;
*'''12 - parse_vote''' - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;&lt;br /&gt;
&lt;br /&gt;
*'''13 - parse_share_poll''' - зашарить результаты текущего опроса;&lt;br /&gt;
&lt;br /&gt;
*'''14 - parse_forced_save''' - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
&lt;br /&gt;
*'''15 - parse_apply_server''' - применить опции и отправить ресолв;&lt;br /&gt;
&lt;br /&gt;
*'''16 - parse_clear_notifications''' - отписаться от уведомлений;&lt;br /&gt;
&lt;br /&gt;
*'''17 - parse_add_notification''' - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);&lt;br /&gt;
&lt;br /&gt;
*'''18 - parse_time''' - запросить время;&lt;br /&gt;
&lt;br /&gt;
*'''19 - parse_friends''' - заполнить таблицу всех друзей (новые подарки);&lt;br /&gt;
   &lt;br /&gt;
*'''20 - parse_isolate''' - отказаться от слияния аккаунтов;&lt;br /&gt;
&lt;br /&gt;
*'''21 - parse_un_isolate''' - отменить изоляцию;&lt;br /&gt;
&lt;br /&gt;
*'''22 - parse_cancel_apply''' - отменить синхронизацию и разрешить сейвы;&lt;br /&gt;
&lt;br /&gt;
*'''23 - scroll_friends_to_lb''' - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''24 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''25 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''26 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''27 - parse_flush_notifications''' - принудительно зафлушить нотификейшены, если мы этого не делали ранее;&lt;br /&gt;
&lt;br /&gt;
*'''28 - parse_all_leaderboards''' - получение информации по всем лидербордам, возможное обнуление текущих очков.&lt;br /&gt;
&lt;br /&gt;
*'''29 - parse_submit_temporary''' - сабмит очков в temporary лидерборд;&lt;br /&gt;
&lt;br /&gt;
*'''30 - parse_leaderboards_temporary''' - получение таблицы temporary лидерборда;&lt;br /&gt;
&lt;br /&gt;
*'''31 - parse_leaderboards_temporary_prev''' - получение таблицы результатов предыдущего периода в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''32 - parse_leaderboards_claim''' - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''33 - parse_leaderboards_animation''' - старт анимации перемещения ячеек таблицы в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''34 - parse_friend_request_param''' - приглашение дружить, в param указать object_id;&lt;br /&gt;
&lt;br /&gt;
*'''35 - parse_friend_request_lb''' - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''36 - parse_friend_confirm''' - подтверждение дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''37 - parse_friend_cancel''' - отмена дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''38 - parse_friend_confirm_table''' - подтверждение дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''39 - parse_friend_cancel_table''' - отмена дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''40 - parse_friend_request_public''' - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''41 - parse_friend_delete_public''' - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''42 - parse_friend_check_requests''' - проверить входящие запросы (инвайты, подарки...);&lt;br /&gt;
&lt;br /&gt;
*'''43 - parse_leaderboards_friends_param''' -  показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.;&lt;br /&gt;
&lt;br /&gt;
*'''44 - parse_get_public_fr''' - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''45 - parse_scroll_temporary_on_me''' - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан);&lt;br /&gt;
&lt;br /&gt;
*'''46 - parse_bots_info''' - получить информацию о ботах отдельно от периодических лидербордов.&lt;br /&gt;
&lt;br /&gt;
*'''47 - get_country''' - получить страну&lt;br /&gt;
&lt;br /&gt;
*'''48 - parse_scroll_default_on_me''' - промотать таблицу default на меня&lt;br /&gt;
&lt;br /&gt;
*'''49 - parse_info''' - получить инфо о пользователе взяв objectId из param&lt;br /&gt;
&lt;br /&gt;
*'''50 - parse_invitable''' - заполнить таблицу приглашаемых друзей&lt;br /&gt;
&lt;br /&gt;
=Сообщения в лог=&lt;br /&gt;
&lt;br /&gt;
Объект пишет в опции строки:&lt;br /&gt;
I/GCloud GCloud::state() state val = 2 state = 3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Коды ошибок:==&lt;br /&gt;
&lt;br /&gt;
*'''6''' - опрос закончился;&lt;br /&gt;
*'''7''' - ошибка версионности;&lt;br /&gt;
*'''1000''' - отсутсвие интернета.&lt;br /&gt;
В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003&lt;br /&gt;
&lt;br /&gt;
Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек):&lt;br /&gt;
'''4000 + номер состояния''', т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья)&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Options|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Economics&amp;diff=9570</id>
		<title>Economics</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Economics&amp;diff=9570"/>
		<updated>2018-05-22T06:02:21Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Предметы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Economics''' служит для реализации сложной игровой механики типа &amp;quot;ферма&amp;quot;. Он осуществляет связь между игровыми локациями, накопленным опытом, текущим количеством энергии, денег и кристаллов (можно использовать и другие названия ресурсов), а также управляет объектами коллекций, магазина, инвентаря и игровых заданий.&lt;br /&gt;
&lt;br /&gt;
= Свойства =&lt;br /&gt;
&lt;br /&gt;
*'''предметы''' - Объект типа [[eitems]].&lt;br /&gt;
*'''задачи''' - Объект типа [[taskorganizer]].&lt;br /&gt;
&lt;br /&gt;
==Параметры==&lt;br /&gt;
===Основные параметры===&lt;br /&gt;
*'''disable''' - выключена ли экономика, если 1 - то экономика не реагирует на состояния и не сейвится в опции. Чтобы изменить параметр, меняем его и вызываем сост. &amp;quot;init&amp;quot;&lt;br /&gt;
*'''Сдвиг уровней''' ( ''levels_shift'' ) - число на которое сдвинется анлок уровней в economics setup; после задания параметра нужно проинитить экономику;&lt;br /&gt;
*'''Уровни''' - опыт, необходимый для перехода на следующий уровень. Последовательность чисел через запятую.&lt;br /&gt;
*'''Уровни парабола''' - Три числа через запятую, задающие коэффициенты параболы, которые определяют необходимый опыт после уже перечисленных уровней.&lt;br /&gt;
*'''Энергия''' - максимум энергии на каждом из уровней. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.&lt;br /&gt;
*'''Энергия прибавка''' - Число определяющее прибавку к максимуму энергии после уже перечисленных уровней.&lt;br /&gt;
*'''Ресурс 1''' - количество ресурса 1 добавляемое за уровень. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.&lt;br /&gt;
*'''Ресурс 2''' - количество ресурса 2 добавляемое за уровень. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.&lt;br /&gt;
*'''Перезарядка''' - время за которое восстанавливается единица энергии в ms.&lt;br /&gt;
*'''нач. ресурс 1''' - Начальное значение ресурса 1.&lt;br /&gt;
*'''нач. ресурс 2''' - Начальное значение ресурса 2.&lt;br /&gt;
*'''время напоминания''' - время напоминания о задачах на каждом из уровней. Записывается в виде последовательности чисел через запятую. Последнее значение будет зациклено для всех последующих уровней. Время изменяется в часах.&lt;br /&gt;
*'''напоминание об энергии''' - уведомление перетаскивается с текстового редактора, представляет собой напоминание о том что энергия восстановилась. Например, &amp;quot;Ваше энергия полностью восстановлена&amp;quot;.&lt;br /&gt;
*'''опции для facebook''' - поле в опциях, куда мы будем записывать 32 битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние&lt;br /&gt;
*'''перегрузить очки из опций''' - если поле не пустое - будут взяты очки из поля опций текущего пользователя, указаного в этой строке.&lt;br /&gt;
*'''во временные отправлять''' - какие очки будут отправлены во временные лидерборды esocial'ом. При выборе '''кастомное заполнение''' будут отправлены очки из поля temporary_lb_score в опциях текущего пользователя (p0.temporary_lb_score например). Кастомные очки нужно добавлять вручную, по окончанию периода они будут обнулены автоматически.&lt;br /&gt;
*'''округление res1 и т.п. до кратных 5''' ( ''bonusroundup'' ) - нужно ли округлять бонусные монеты и опыт для локации до кратных 5.&lt;br /&gt;
&lt;br /&gt;
===Основные счетчики===&lt;br /&gt;
Этот раздел содержит необходимые объекты для подсчета (counter, timer, progressbar).&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;
*'''анимация рес.1''' - Анимационный объект награды в ресурсе 1. Должен иметь состояние show.&lt;br /&gt;
*'''анимация рес.2''' - Анимационный объект награды в ресурсе 2. Должен иметь состояние show.&lt;br /&gt;
*'''анимация опыт''' - Анимационный объект награды в опыте. Должен иметь состояние show.&lt;br /&gt;
&lt;br /&gt;
===Окно перед локацией===&lt;br /&gt;
Настройка окна, которое всплывает перед посещением локации. В этом окне отображается информация о локации которую мы хотим посетить.&lt;br /&gt;
&lt;br /&gt;
*'''Окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояния ''open'' - открыта, ''open_lvl'' - не хватает лвл, ''open_buy'' - разница в уровнях позволяет нам купить анлок, ''open_item'' - не хватает предмета для анлока,  ''open_unlock'' - состояние вызываемое окну перед локацией после успешной покупки предмета для анлока, ''open_energy'' - состояние вызываемое окну перед локацией в случае нехватки энергии, ''open_need_item'' - состояние, вызываемое окну перед локацией в случае нехватки предмета, ''open_need_item_energy'' - состояние, вызываемое окну перед локацией в случае нехватки энергии и предмета. &lt;br /&gt;
*'''Превью локации''' - графический ресурс для отображения превью локации. В это поле можно поставить любую картинку для того, чтобы корректно разместить ее в &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;
*'''Аномальная энергия''' - счетчик, который отображает дополнительную энергию при наличии аномалии в локации.&lt;br /&gt;
*'''Призовой ресурс 1''' - счетчик призовых денег.&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;
*'''Режим игры''' - машина, которой будут устанавливаться состояния в зависимости от режима игры (может быть смешанный, текст или силуэт). TODO пока обладает только режимом text и icon. Эта машина будет передавать настройки таблице, в которую помещаются поисковые объекты, поэтому важно, чтобы к этой таблице был доступ (например она может находится на глобальном экране).&lt;br /&gt;
&lt;br /&gt;
*'''индикатор уровня''' - счетчик с необходимым для локации уровнем.&lt;br /&gt;
&lt;br /&gt;
''для локации c ценой''&lt;br /&gt;
&lt;br /&gt;
*'''цена ресурс 1''' - Стоимость анлока локации в ресурсе 1.&lt;br /&gt;
*'''цена ресурс 2''' - Стоимость анлока локации в ресурсе 2.&lt;br /&gt;
&lt;br /&gt;
''для локации c требуемым предметом''&lt;br /&gt;
&lt;br /&gt;
*'''предмет''' - иконка необходимого для локации предмета.&lt;br /&gt;
*'''название предмета''' - в этом поле указывается название, необходимого для локации предмета.&lt;br /&gt;
*'''счетчик цены''' - счетчик, который отображает стоимость предмета.&lt;br /&gt;
*'''иконка цены'''  - иконка цены предмета, представляет собой картинку, которая перетаскивается из базы ресурсов.&lt;br /&gt;
*'''кнопка купить''' - Будет видна, если предмет нужно купить. Передает экономиксу состояние unlock_item.&lt;br /&gt;
*'''кнопка искать''' - Будет видна, если предмет поисковый.&lt;br /&gt;
*'''блок аномалии''' - контейнер, представляющий собой машину, которая содержит всю информацию про аномалию. Должна содержать в себе состояния hide, show и remov (состояние после прогона аномалии, чтобы сделать красивые эффекты, после которого машина попадет в состояние hide).&lt;br /&gt;
*'''иконка аномалии''' - иконка аномалии.&lt;br /&gt;
*'''название аномалии''' - текстовый объект, который будет отображать название аномалии.&lt;br /&gt;
*'''описание аномалии''' - текстовый объект, который будет отображать описание аномалии.&lt;br /&gt;
*'''иконка предмета''' - иконка предмета, необходимого для того что бы прогнать аномалию.&lt;br /&gt;
*'''кнопка прогнать предметом''' - кнопка по нажатию которой, можно прогнать аномалию используя предмет.&lt;br /&gt;
*'''кнопка купить предмет''' -  кнопка по нажатию которой, можно купить предмет для прогона аномалии.&lt;br /&gt;
*'''кнопка прогнать миниигрой''' - кнопка по нажатию которой, можно прогнать аномалию мини игрой.&lt;br /&gt;
*'''корневой объект''' - некая машина, олицетворяющая собой блок перехода в связанную локацию. Должно иметь состояния enable и disable.&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;
*'''Прогрессбар мастерства''' - прогрессбар, который отображает уровень мастерства.&lt;br /&gt;
*'''Текущий уровень''' - счетчик текущего уровня мастерства.&lt;br /&gt;
*'''Призовой ресурс 1''' - счетчик призовых денег.&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;
*'''окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open - все условия выполнены, open_energy - не хватает энергии для игры, но предмет для прогона есть, open_item - есть энергия, но не хватает предмета для прогона, open_item_energy - не хватает энергии для игры и нет предмета для прогона.&lt;br /&gt;
*'''превью монстра ''' - картинка, отображающая превью монстра.&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;
*'''кнопка прогнать''' - кнопка, по нажатию которой, можно прогнать монстра не играя в игру, эту кнопку можно не задавать.&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;
*'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег.&lt;br /&gt;
*'''призовой опыт''' - счетчик, отображающий количество призового опыта.&lt;br /&gt;
*'''таблица коллекции''' - таблица, в которой будут отображаться предметы, которые можно отжать у данного монстра.&lt;br /&gt;
*'''ничего не найдено''' - любой объект, сообщающий игроку, так или иначе, что он не нашел ничего ценного на данной локации.&lt;br /&gt;
&lt;br /&gt;
===Окно коллекций===&lt;br /&gt;
&lt;br /&gt;
*'''Шаблон коллекции''' - ссылка на объект типа ecollection который будет использоваться в качестве исходного для всех коллекций.&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;
&lt;br /&gt;
===Окошко коллекционного предмета===&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;
===Окошко поздравления со сдачей коллекции===&lt;br /&gt;
&lt;br /&gt;
*'''окно''' - некая машина,содержащая необходимую информацию, олицетворяющая само окно предмета. Должна иметь в себе состояние open.&lt;br /&gt;
*'''иконка''' - картинка отображающая иконку предмета-награды ( в параметр reward_text_id - запишется текстовый ID итогового предмета из текстовой базы);&lt;br /&gt;
*'''текст(объект)''' -  текстовый объект, отображающий название коллекции.&lt;br /&gt;
*'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег.&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;
&lt;br /&gt;
===Окошко поздравления с получением уровня===&lt;br /&gt;
&lt;br /&gt;
*'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само окно предмета. Должна иметь состояние open.&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;
*'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само поздравительное окошко. Должна иметь состояние open.&lt;br /&gt;
&lt;br /&gt;
*'''уровень''' - счетчик, отображающий номер полученного уровня.&lt;br /&gt;
&lt;br /&gt;
*'''энергия''' - счетчик, отображающий количество энергии, которая прибавляется к максимуму.&lt;br /&gt;
&lt;br /&gt;
*'''ресурс 1''' - счетчик, отображающий количество денег.&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;
*'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само поздравительное окошко. Должна иметь состояние open.&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;
*'''суммарная цена ресурса 1''' - счетчик, отображающий суммарную цену всех необходимых чарджеров, представлена в виде ресурса 1 (деньги).&lt;br /&gt;
*'''суммарная цена ресурса 2''' - счетчик, отображающий суммарную цену всех необходимых чарджеров, представлена в виде ресурса 2 (кристаллы).&lt;br /&gt;
*'''кнопка купить все''' - кнопка, по нажатию которой, происходит покупка необходимых предметов. Если в кнопке есть необходимость она будет появляться, в противном случае - сама исчезать.&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;
Кратко об артефактах. Артефакты это инвентарные предметы, которые можно найти либо купить. Они необходимы для того, чтобы была возможность играть в связанную локацию. Связанная локация - локация, которая имеет свой уникальный порядковый номер в списке локаций, но тем не менее логически привязана к локации с другим порядковым номером. Когда все артефакты, необходимые для игры в связанную локацию собраны, то при вызове состояния ''location'' объекту economics локация выбирается случайным образом между оригинальной и связанной. При этом есть возможность сменить локацию (ротация между оригинальной и связанной локацией) вызвав состояние ''location_switch''. Чтобы сменить локацию нужен предмет, который перетаскивается в поле &amp;quot;предмет переключения&amp;quot; настроек локации.&lt;br /&gt;
&lt;br /&gt;
*'''окно''' - Некая машина, олицетворяющая собой само окошко покупки. Должна иметь состояние show&lt;br /&gt;
*'''таблица''' - Таблица должна иметь две строки и заполнение по столбцам. В верхнюю попадут иконки артефактов, в нижнюю - кнопки купить&lt;br /&gt;
*'''кнопка 1''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact&lt;br /&gt;
*'''кнопка 2''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact&lt;br /&gt;
*'''кнопка 3''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact&lt;br /&gt;
*'''кнопка 4''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact&lt;br /&gt;
&lt;br /&gt;
===Дополнительные достижения ===&lt;br /&gt;
&lt;br /&gt;
В этом разделе указаны некоторые достижение, которые отправляются объектом economics в gamecenter.&lt;br /&gt;
&lt;br /&gt;
*'''достижение на трату ресурса 1''' - id достижения, отправляемого за трату ресурса 1 (когда игрок потратит сумму ресурса из следующего поля отправляется достижение 100%).&lt;br /&gt;
*'''количество ресурса 1''' - сумма ресурса 1, которую необходимо потратить для получения достижения.&lt;br /&gt;
*'''достижение на трату ресурса 2''' - id достижения, отправляемого за трату ресурса 2 (когда игрок потратит сумму ресурса из следующего поля отправляется достижение 100%).&lt;br /&gt;
*'''количество ресурса 2''' - сумма ресурса 2, которую необходимо потратить для получения достижения.&lt;br /&gt;
*'''достижение на число открытых локаций''' - id достижения, отправляемого за открытия количества локаций из следующего поля (при открытии нужного количества локаций отправляется 100% достижения).&lt;br /&gt;
*'''количество локаций''' - кол-во локаций, которое необходимо открыть для получения достижения.&lt;br /&gt;
*'''достижение за покупки чего-либо''' - id достижения, отправляемого за совершенное количество покупок из следующего поля (при покупке нужного количества отправляется 100% достижения).&lt;br /&gt;
*'''количество покупок''' - количество покупок, которое необходимо свершить для получения достижения.&lt;br /&gt;
&lt;br /&gt;
===Покупка рандомного предмета===&lt;br /&gt;
&lt;br /&gt;
При вызове объекту economics состояния ''buy_random_col'' покупается случайный коллекционный предмет. Визуализацией покупки служит выпадающий на сцену объект из вкладки настроек &amp;quot;Летающий объект&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*'''res1''' - цена предмета в ресурсе 1.&lt;br /&gt;
*'''исключения''' - id предметов, которые не попадут в случайный выбор. Перетаскиваются из текстовой базы.&lt;br /&gt;
*'''каунтер''' - объект типа counter в который сложится цена предмета.&lt;br /&gt;
&lt;br /&gt;
=== Статус ===&lt;br /&gt;
Статус - дополнительный экономический параметр игрока, который зависит от внутриигровых действий. Статус определяется кол-вом статусных очков, которые начисляются за совершение in-app покупки и при достижении нового уровня (exp).&lt;br /&gt;
&lt;br /&gt;
Тесно связан с [[Wallet|Wallet]].&lt;br /&gt;
&lt;br /&gt;
*'''очки для повышения''' - массив чисел, указываем через запятую. Обозначает нужное кол-во очков статуса для перехода на следующий уровень. Пример: 0, 150, 3850. Изначальный уровень уже получен при инициализации экономики. Для перехода на следующий (2-й) нужно получить 150 очков. На 3-й - 3850 и т.д.&lt;br /&gt;
*'''множитель статуса при покупке''' - массив чисел, указываем через запятую. Обозначает коэф., на который домножим базовое значение статусных очков при покупке. Зависит от текущего статуса. Пример: 1,2,3. Базовое значение за покупку - 18 очков статуса. При совершении покупки, имея 1-й статус - получаем 18 очков. Имея второй статус - 36, третий - 54.&lt;br /&gt;
*'''множитель монет при покупке''' - Аналогично предыдущему пункту.&lt;br /&gt;
*'''прибавка за уровень''' - массив чисел, указываем через запятую. Показывает сколько статусных очков будет получено при достижении уровня exp, учитывая текущий статус.&lt;br /&gt;
*'''множитель дейли-бонуса''' - массив чисел, указываем через запятую. Множитель, который можно использовать при начислении ежедневного бонуса. Зависит только от текущего статуса.&lt;br /&gt;
&lt;br /&gt;
'''Поля в опциях'''&lt;br /&gt;
* ecomics%d.stlev - текущий уровень статуса (начиная с 0!)&lt;br /&gt;
* ecomics%d.stpoints - поинты внутри текущего уровня&lt;br /&gt;
* comics%d.stdaily - множитель для дейли бонуса&lt;br /&gt;
* ecomics%d.stmult - множитель для монеток&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;
*'''цена хинта монеты''' - сколько монет (ресурс 1), стоит некий усредненный хинт.&lt;br /&gt;
*'''цена хинта кристаллы''' - сколько кристаллов (ресурс 2), стоит некий усредненный хинт.&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;
=== Настройки равномерной экономики ===&lt;br /&gt;
&lt;br /&gt;
Нужно в случае, если мы хотим давать за локации и монстров одинаковую награду (опыт, затрата энергии, вне зависимости от настроек в economics_setup). Награда может отличаться только для монстров (если в economics_setup мы укажем монстру в поле награда опыт - 0, то экономика начислять опыт не будет).&lt;br /&gt;
&lt;br /&gt;
*'''локация энергия''' - стоимость энергии на игру хидн или монстр;&lt;br /&gt;
*'''локация опыт''' - награда за успешное прохождение локации/монстра ( при условии что для монстра в поле награды не стоит 0 );&lt;br /&gt;
*'''коллекция опыт min''' - минимальный опыт за успешную сдачу коллекции;&lt;br /&gt;
*'''коллекция опыт max''' - максимальный опыт за успешную сдачу коллекции;&lt;br /&gt;
*'''коллекция монеты min''' - минимальная награда  за успешную сдачу коллекции;&lt;br /&gt;
*'''коллекция монеты max''' - максимальная награда за успешную сдачу коллекции;&lt;br /&gt;
&lt;br /&gt;
==Поле economics setup==&lt;br /&gt;
По клику на &amp;quot;...&amp;quot; открывается редактор экономикса. В этом редакторе можно задать все настройки локациям и коллекциям, которые используются в игре.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 1.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Economics setup содержит 11 вкладок : локация хидден, коллекция, предметы, окошко когда не хватает чарджера (чарджер), нехватка ресурсов на чарджер, монстр, летающий объект, аномалия, сдача коллекции, временный эффект, достижение.&lt;br /&gt;
Вверху можно увидеть ряд кнопок для добавления и удаления: справа для локаций, слева для уровней мастерства.&lt;br /&gt;
&lt;br /&gt;
===Локация хидден===&lt;br /&gt;
&lt;br /&gt;
Форма редактора экономикса разделена на 4 колонки. В первой колонке мы видим список локаций, используемых в игре. Имена локаций можно изменять. Добавляются новые локации по нажатию на кнопку ''Добавить локацию'', удаляются кнопкой ''Удалить локацию''. Во второй колонке отображаются свойства выделенной локации.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 2.jpg|right]]&lt;br /&gt;
*'''Объект на карте''' - это объект ведущий в локацию с карты. Должен иметь как минимум состояния open и closed, которые ему будет вызывать экономикс.&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;
*'''объект для музыки''' ('''musObj''') - объект которому в поле &amp;quot;location_music&amp;quot; будет записан id музыки из поля &amp;quot;музыка&amp;quot;, при запуске локации;&lt;br /&gt;
*'''музыка''' ('''musId''') - id музыки локации;&lt;br /&gt;
&lt;br /&gt;
В третей  колонке записываются уровни мастерства. Их можно переименовать. Добавляются кнопкой ''Добавить уровень мастерства''. Удаляются кнопкой ''Удалить уровень мастерства''. В четвертой колонке настраивается выделенный уровень мастерства.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 3.jpg|right]]&lt;br /&gt;
*'''энергия''' - энергия требуемая для того, чтобы играть в локацию.&lt;br /&gt;
*'''ресурс 1''' - деньги даваемые за прохождение локации.&lt;br /&gt;
*'''ресурс 2''' - кристаллы даваемые за прохождение локации.&lt;br /&gt;
*'''опыт''' - опыт даваемый за прохождение локации.&lt;br /&gt;
*'''кол-во объектов''' - максимальное количество доступных для поиска объектов в одной игровой сессии.&lt;br /&gt;
*'''время игры''' - общее время игры (если -1, то игнорируется).&lt;br /&gt;
*'''время игры (блиц)''' - время игры с аномалией &amp;quot;блиц&amp;quot;.&lt;br /&gt;
*'''время игры (аном)''' - время игры с остальными аномалиями.&lt;br /&gt;
*'''режим игры''' - режим игры: 0 - случайный, 1- слова, 2 - силуэты, 3 - поиск отличий;&lt;br /&gt;
*'''использовать различия''' - да - будут генирироватся режим поиска отличий, нет - не будут; Для корректной работы, следующей за сценой с хидн предметами, должна находиться пустая сцена с такими же параметрами как и у сцены с хидн предметами. Также между двумя сценами ( хидн и fake-сценой) должна быть связь по тасканию;&lt;br /&gt;
*'''аномалия''' - вероятность возникновения аномалии в локациях.&lt;br /&gt;
*'''доступные аномалии''' - перечень доступных на данном уровне мастерства аномалий. Записываются в виде чисел через запятую. Доступные значения 0, 1, 2, 3, 4.&lt;br /&gt;
*'''множитель''' - коэффициент, на который умножаются набранные очки. при расчете перехода на следующий уровень. Может быть меньше 1.&lt;br /&gt;
*'''постоянный прирост''' - постоянный прирост, если он больше 0, то будет использоваться ВМЕСТО реально набранных в хиддене очков и множителя.&lt;br /&gt;
*'''очки''' - очки, которые нужно набрать для перехода на следующий уровень мастерства. Набранные в локции очки умножаются на множитель и суммируются. Когда превысят это значение - произойдет переход.&lt;br /&gt;
*'''Предметы''' - id коллекционных предметов, которые можно найти на локации. Не обязаны принадлежать к одной коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка.&lt;br /&gt;
*'''Вероятность''' - вероятность найти один из коллекционных предметов из предыдущего поля.&lt;br /&gt;
*'''Вероятность 2''' - вероятность найти один из коллекционных предметов из предыдущего поля.&lt;br /&gt;
*'''Вероятность 3''' - вероятность найти один из коллекционных предметов из предыдущего поля.&lt;br /&gt;
*'''Инвентарь''' - id инвентарных предметов, которые можно найти на локации. Перетаскиваются из текстового редактора.&lt;br /&gt;
*'''Вероятность инв.''' - вероятность найти один из инвентарных предметов из предыдущего поля.&lt;br /&gt;
*'''Вероятность инв. 2''' - вероятность найти один из инвентарных предметов из предыдущего поля.&lt;br /&gt;
*'''Вероятность инв. 3''' - вероятность найти один из инвентарных предметов из предыдущего поля.&lt;br /&gt;
*'''Коллекционный предмет''' - предмет из коллекций, который будет дан игроку по достижению этого уровня мастерства.&lt;br /&gt;
&lt;br /&gt;
===Коллекция===&lt;br /&gt;
&lt;br /&gt;
Во вкладке ''Коллекция'' используются только первые две колонки. В первой колонке отображаются добавленные коллекции. Добавляются кнопкой ''Добавить локацию''. Удаляются кнопкой ''Удалить локацию''. Коллекции можно переименовывать. Второй столбик содержит id предметов входящих в коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка. Ресурс 1 и ресурс 2 - ресурсы, которые даются за сдачу коллекции. Опыт - опыт, который дается за сдачу коллекции.&lt;br /&gt;
&lt;br /&gt;
*'''имя''' - Имя (а также - описание, если нужно) конкретно коллекции.&lt;br /&gt;
*'''предметы''' - id предметов входящих в коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка.&lt;br /&gt;
*'''ресурс 1''' - деньги даваемые за сдачу коллекции.&lt;br /&gt;
*'''ресурс 2''' - кристаллы даваемые за сдачу коллекции.&lt;br /&gt;
*'''опыт''' - опыт даваемый за сдачу коллекции.&lt;br /&gt;
*'''награда''' - предмет даваемый за сдачу коллекции. Перетаскивается из текстовой базы.&lt;br /&gt;
*'''заряжатели''' - Предметы инвентаря, необходимые для сдачи коллекции. ВНИМАНИЕ: будут использоваться не более первых 4х элементов списка.&lt;br /&gt;
*'''достижение''' - достижение, которое будет открываться по мере сдачи этой коллекции.&lt;br /&gt;
*'''процент''' - проценты достижения из предыдущего поля.&lt;br /&gt;
*'''уровень для подарка''' - уровень, начиная с которого предметы этой коллекции можно дарить&lt;br /&gt;
&lt;br /&gt;
===Предметы===&lt;br /&gt;
&lt;br /&gt;
Раздел &amp;quot;Предметы&amp;quot; позволяет добавлять список инвентарных предметов, которые могут использоваться в процессе игры, предоставлять различные бонусы. В первой колонке список предметов. Добавляется кнопкой  &amp;quot;Добавить локацию&amp;quot;, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;. Предметы могут быть переименованы. Во второй колонке записаны свойства каждого предмета.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 4.jpg|350px|right]]&lt;br /&gt;
&lt;br /&gt;
*'''nm''' - имя предмета&lt;br /&gt;
&lt;br /&gt;
*'''section''' - категория предмета.&lt;br /&gt;
&lt;br /&gt;
*'''use''' - если 1, то предмет может использоваться (кнопка Use видимая).&lt;br /&gt;
&lt;br /&gt;
*'''nm''' - имя предмета (txtID).&lt;br /&gt;
&lt;br /&gt;
*'''опции''' - если это поле задано, то в него будет записываться актуальное количество объектов.&lt;br /&gt;
&lt;br /&gt;
*'''начальное количество''' - начальное  количество предметов данного типа в инвентаре.&lt;br /&gt;
&lt;br /&gt;
*'''можно продать''' - возможность продавать предмет: 1 - можно продать, 0 - нельзя продать.&lt;br /&gt;
&lt;br /&gt;
*'''уникальный''' - если 1 - то предмет уникальный пропадает после покупки, если 0 - предмет после покупки не пропадает, если 3 - предмет покупается один раз, остальные разы только применяется&lt;br /&gt;
&lt;br /&gt;
*'''res1''' - цена предмета в ресурсе 1.&lt;br /&gt;
&lt;br /&gt;
*'''res2''' - цена предмета в ресурсе 2.&lt;br /&gt;
&lt;br /&gt;
*'''sres1''' - продажа - цена предмета в ресурсе 1.&lt;br /&gt;
&lt;br /&gt;
*'''sres2''' - продаже - цена предмета в ресурсе 2.&lt;br /&gt;
&lt;br /&gt;
*'''en''' - восстанавливает энергии единовременно.&lt;br /&gt;
&lt;br /&gt;
*'''tm''' - длительность действия в секундах. Если поставить &amp;quot;-1&amp;quot;, то действие предмета будет вечным, отображаться в таблице амулетов он не будет.&lt;br /&gt;
&lt;br /&gt;
*'''dTm''' - уменьшение времени восстановления энергии в %.&lt;br /&gt;
&lt;br /&gt;
*'''dFnd''' - увеличение вероятности нахождения предмета в %.&lt;br /&gt;
&lt;br /&gt;
*'''dExp''' - увеличение начисляемого опыта в %.&lt;br /&gt;
&lt;br /&gt;
*'''dRes1''' - увеличение полученного ресурса 1 в %.&lt;br /&gt;
&lt;br /&gt;
*'''dRes2''' - увеличение полученного ресурса 2 в %.&lt;br /&gt;
&lt;br /&gt;
*'''dOvP''' - увеличение перегруженной вероятности нахождения предметов в %.&lt;br /&gt;
&lt;br /&gt;
*'''dMaxEn''' - увеличение максимума энергии в %.&lt;br /&gt;
&lt;br /&gt;
*'''dBonus1''' - накопительный монетный бонус (в случае, если предмет дает ежедневный денежный прирост). Суммируется (от всех предметов имеющих это поле отличное от 0) и записывается в поле total_amulet_bonus1 экономикса. Автоматически не начисляется.&lt;br /&gt;
&lt;br /&gt;
*'''dBonus1''' - накопительный кристальный бонус (в случае, если предмет дает ежедневный денежный прирост). Суммируется (от всех предметов имеющих это поле отличное от 0) и записывается в поле total_amulet_bonus2 экономикса. Автоматически не начисляется.&lt;br /&gt;
&lt;br /&gt;
*'''dPurchase''' - к каждой покупке предмета добавляется еще столько таких же предметов. Актуально в тех случаях, когда приобретение предмета активирует акцию 1+1.&lt;br /&gt;
&lt;br /&gt;
*'''dIsomover''' - ускорение взаимодействия изомуверов в %. (Каждому изомуверу, на который должно распространяться действие, нужно включить флаг &amp;quot;использовать бонусы ко времени&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
*'''область применения''' - область, в которой будет учитываться бонус от предмета (везде, локация, монстр). &lt;br /&gt;
&lt;br /&gt;
*'''dHdnConst''' - Увеличение значения поля постоянный прирост в %&lt;br /&gt;
&lt;br /&gt;
*'''num''' - число предметов в сундуке. Выбираются случайно из следующего поля. При 0 - следующее поле не используется.&lt;br /&gt;
&lt;br /&gt;
*'''items''' - предметы, которые можно найти в сундуке. Перетаскиваются из текстовой базы.&lt;br /&gt;
&lt;br /&gt;
*'''use_id''' - задание этого поля говорит о том, что данный предмет является оптовым пучком для предмета указанного у этом поле. Num, в этом случае, - количество.&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;
&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;
*'''кнопка применить - поле в опциях''' ( '''btn_use_field''' ) - для применяемого предмета, указываем поле для проверки значения, если условие истинно - кнопка применить будет доступна; иначе - выключена (&amp;quot;disable&amp;quot;);&lt;br /&gt;
*'''кнопка применить - значение''' ( '''btn_use_val''' ) - значение для проверки условия, в поле '''кнопка применить - поле в опциях''';&lt;br /&gt;
*'''кнопка применить - НЕ''' ( '''btn_use_not''' ) - от результата сравнения взять обратное;&lt;br /&gt;
&lt;br /&gt;
====Создание предметов (крафт)====&lt;br /&gt;
&lt;br /&gt;
В третьей колонке можно добавлять ингридиенты из которых состоит предмет. Ингридиенты сами по себе являются также инвентарными предметами. В четвертой колонке указывается текстовый id ингридиента и необходимое количество данного ингридиента.&lt;br /&gt;
&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;
*'''купить''' - кнопка покупка чарджера, передает economics состояние buy_charger.&lt;br /&gt;
*'''искать''' - кнопка поиска чарджера, передает economics состояние search_charger.&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;
===Нехватка ресурсов на чарджер===&lt;br /&gt;
Позволяет изменить состояние выбранному объекту при нехватке ресурсов на чарджер. Добавляется кнопкой &amp;quot;Добавить локацию&amp;quot;, можно переименовывать, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Монстр===&lt;br /&gt;
В первой колонке добавляется монстр, добавляется кнопкой &amp;quot;Добавить локацию&amp;quot;, если возможность переименовать, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;&lt;br /&gt;
Во второй колонке отображаются свойства выделенной колонки.&lt;br /&gt;
&lt;br /&gt;
*'''Объект на карте''' - объект, который представляет монстра на карте. Как правило окно, которое должно иметь состояние hide (скрыт),show и disappear (прогнали).&lt;br /&gt;
*'''Имя монстра''' - текстовый id из которого берется иконка, имя и описание монстра.&lt;br /&gt;
*'''Экран''' - экран в котором расположена локация.&lt;br /&gt;
*'''min уровень''' - уровень, при достижении которого, появляется монстр.&lt;br /&gt;
*'''max уровень''' - уровень, при достижении которого, монстр исчезает.&lt;br /&gt;
*'''необходимый предмет''' - предмет необходимый для игры с духом.&lt;br /&gt;
*'''количество''' -  количество предметов из поля &amp;quot;необходимый предмет&amp;quot;. &lt;br /&gt;
*'''связанный баттл''' - поле в котором указывается связанный объект типа matchbattle.&lt;br /&gt;
*'''связанный матч''' - поле в котором указывается связанный матч.&lt;br /&gt;
*'''окно внутри монстра''' - объект, который покажем в экране с мини игрой в случае победы. Должен иметь состояния open - в случае обычной победы, open_win - если перешли на следующий уровень мастерства. Чтобы это окно перешло в одно из этих состояний передаем экономике состояние ''monster_win_wnd''.&lt;br /&gt;
*'''текст внутри монстра''' - текстовый объект, в который сложим поздравительный текст о переходе на следующий уровень мастерства.&lt;br /&gt;
*'''очищать statesmanager''' - 1 - при передаче экономике состояния monster_play для этого монстра все очереди statesmanager будут чиститься; 0 - не будут.&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;
*'''ресурс1''' - деньги даваемые за прохождение локации.&lt;br /&gt;
*'''опыт''' - опыт даваемый за прохождение локации.&lt;br /&gt;
*'''постоянный прирост''' - постоянный прирост.&lt;br /&gt;
*'''штраф за поражение''' - кол-во очков, которые отнимаются за проигрыш.&lt;br /&gt;
*'''очки''' - количество очков, которое необходимо набрать для перехода на следующий уровень мастерства.&lt;br /&gt;
*'''предметы''' - id коллекционных предметов, которые можно найти на локации. Предметы не обязательно должны быть из одной коллекции. Необходимые предметы перетаскиваются из текстового редактора, при этом будет использоваться их иконка.&lt;br /&gt;
*'''Вероятность''' - вероятность найти один из коллекционных предметов из поля &amp;quot;предметы&amp;quot;.&lt;br /&gt;
*'''Вероятность 2''' - вероятность найти один из коллекционных предметов из поля &amp;quot;предметы&amp;quot;.&lt;br /&gt;
*'''Вероятность 3''' - вероятность найти один из коллекционных предметов из поля &amp;quot;предметы&amp;quot;.&lt;br /&gt;
*'''Инвентарь''' - id инвентарных предметов, которые можно найти на локации. Перетаскиваются из текстового редактора.&lt;br /&gt;
*'''Вероятность инв.''' - вероятность найти один из инвентарных предметов из поля &amp;quot;инвентарь&amp;quot;.&lt;br /&gt;
*'''Вероятность инв. 2''' - вероятность найти один из инвентарных предметов из поля &amp;quot;инвентарь&amp;quot;.&lt;br /&gt;
*'''Вероятность инв. 3''' - вероятность найти один из инвентарных предметов из поля &amp;quot;инвентарь&amp;quot;.&lt;br /&gt;
*'''текст при разлочке уровня''' - текстовый id из которого возьмем поздравительный текст о разлочке нового уровня.&lt;br /&gt;
*'''жизни врага''' - записываются значения вражеских жизней.&lt;br /&gt;
*'''начальные жизни врага''' - начальное значение вражеских жизней.&lt;br /&gt;
*'''регенерация врага''' - время (в ms), за которое у противника отрастает жизнь. Если установлено -1, то отрастания жизни противника на происходит.&lt;br /&gt;
*'''число цветов''' - это число будет записываться в параметр numTokenNums матча.&lt;br /&gt;
&lt;br /&gt;
Автоматические уровни мастерства отличаются всего несколькими дополнительными полями.&lt;br /&gt;
&lt;br /&gt;
*'''количество''' - количество автоматических уровней.&lt;br /&gt;
*'''энергия''' - начальное значение энергии за игру.&lt;br /&gt;
*'''энергия прирост''' - прирост энергии за каждый уровень мастерства.&lt;br /&gt;
*'''ресурс 1''' - начальное значение ресурса1, который мы получаем за прохождение.&lt;br /&gt;
*'''ресурс 1 прирост''' - прирост ресурса1 за каждый уровень мастерства.&lt;br /&gt;
*'''опыт''' - начальное значение опыта, который мы получаем за прохождение.&lt;br /&gt;
*'''опыт прирост''' - прирост опыта за каждый уровень мастерства.&lt;br /&gt;
*'''нулевой штраф каждые n уровней''' - раз в столько уровней штраф за поражение будет нулевым (-1 - не использовать).&lt;br /&gt;
&lt;br /&gt;
Также есть возможность перегружать некоторые параметры уровней мастерства. Для этого нужно выбрать монстра и в выпадающем списке вверху выбрать пункт &amp;quot;перегрузка параметров&amp;quot;.Перегрузок может быть несколько. &lt;br /&gt;
&lt;br /&gt;
Для настройки перегрузки нужно выбрать ее в 3 колонке, при этом в 4 колонке отобразятся параметры перегрузки. &lt;br /&gt;
Сейчас перегрузку можно привязать к уровням XP игрока и к уровню монстра. Под уровнем монстра имеется ввиду уровень мастерства, отсчет начинается с 0. Перегружать можно энергию, затрачиваемую на монстра, награду (золото и опыт), а также инвентарные и коллекционные предметы.&lt;br /&gt;
&lt;br /&gt;
''Важно!'' Если поля инвентарных и коллекционных предметов оставить пустыми - то предметы выпадать не будут.&lt;br /&gt;
&lt;br /&gt;
===Летающий объект===&lt;br /&gt;
Впервой колонке кнопкой &amp;quot;Добавить локацию&amp;quot; добавляется летающий объект - объекты которые вылетают после прохождения локации или после покупки сундуков. Удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;. Во второй колонке добавляется объект выделенного летающего объекта. Состояния hide, wait, inventory и  collection  -  обязательны для этого предмета.&lt;br /&gt;
&lt;br /&gt;
''hide'' - состояние, когда объект не видно на экране. В этом состоянии можно указать свойство alpha=0.&lt;br /&gt;
&lt;br /&gt;
''wait'' - состояние, в которое попадают летающие объекты, которые отображают коллекционные предметы до того, как объекту economics будет вызвано состояние col_item_found.&lt;br /&gt;
&lt;br /&gt;
''collection'' - состояние, которое будет вызвано летающему объекту, который отображает коллекционный предмет после того как объекту economics будет вызвано состояние col_item_found (он может лететь в таблицу с нужной коллекцией).&lt;br /&gt;
&lt;br /&gt;
''inventory'' - состояние, которое вызывается летающему объекту в случае, если он отображает инвентарный объект (в этом состоянии предмет становится видимым и в дальнейшем может перемещаться).&lt;br /&gt;
&lt;br /&gt;
===Аномалия===&lt;br /&gt;
&lt;br /&gt;
В хидден-локации могут присутствовать аномалии, затрудняющие ее прохождение.&lt;br /&gt;
Впервой колонке добавляется аномалия, добавляется кнопкой &amp;quot;Добавить локацию&amp;quot;, можно переименовывать, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;.&lt;br /&gt;
Во второй колонке отображаются свойства выделенной аномалии.&lt;br /&gt;
*'''id''' - поле в которое перетаскивается текстовый id, из которого используется название, описание и иконка аномалии.&lt;br /&gt;
*'''предмет''' - предмет необходимый для того, что бы изгнать аномалию.&lt;br /&gt;
*'''экран''' -  в этом поле указывается экран, в котором расположена мини игра.&lt;br /&gt;
*'''прибавка к энергии''' - указывается прибавка к энергии, поскольку для игры в аномалию будет нужно больше энергии. Например, при значении 0,5 - энергии потребуется больше в полтора раза.&lt;br /&gt;
*'''прибавка к опыту''' - указывается прибавка к опыту, поскольку игра в локацию с аномалией будет давать больше опыта. Например, при значении 0,5 - опыта приобретается больше в полтора раза.&lt;br /&gt;
*'''прибавка к ресурсу 1''' - указывается прибавка к ресурсу 1. поскольку игра в локацию с аномалией будет давать больше ресурса 1. Например, при значении 0,5 - ресурса 1 приобретается больше в полтора раза.&lt;br /&gt;
&lt;br /&gt;
===Сдача коллекции===&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;
Временный эффект - визуализация действия различных инвентарных объектов, которые применил игрок.&lt;br /&gt;
В первой колонке создается временный эффект, добавляется кнопкой &amp;quot;Добавить локацию&amp;quot;, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;.&lt;br /&gt;
Во второй колонке устанавливаются свойства выделенного временного эффекта.&lt;br /&gt;
&lt;br /&gt;
*'''иконка''' - из редактора ресурсов, перетаскивается иконка временного эффекта&lt;br /&gt;
*'''таймер''' - указывается объект типа timer, который соответствует выбранному временному эффекту.&lt;br /&gt;
*'''подложка''' - из редактора ресурсов, перетаскивается картинка подложки для таймера указанного в поле &amp;quot;таймер&amp;quot;.&lt;br /&gt;
&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;
*'''процент''' - в виде числа, указывается процент достижения из поля &amp;quot;достижение&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''режим игры''' - указывается режим игры, ели 0 - режим игры не важен для достижения, 1 - режим игры слова, 2 - режим игры силуэты.&lt;br /&gt;
&lt;br /&gt;
*'''аномалия''' - указывается аномалия необходимая для достижения, если указывается -2 -  то аномалия не важна для достижения, если указывается -1 - то для достижения может использоваться любая аномалия.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 5.jpg|right]]&lt;br /&gt;
Перед вызовом некоторых состояний объекту economics необходимо передать параметр '''param''' и его значение. Например когда нам нужно открыть окно перед локацией мы передаем параметр номера этой локации в списке локаций (начиная с 0).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear /br&amp;gt;&lt;br /&gt;
*'''idle''' - состояние по умолчанию.&lt;br /&gt;
*'''completed''' - передает состояние окончания исследования локации (необходим параметр номера локации), перед вызовом состояния, можно экономике заполнить поле '''additional_inv''' - перечнем инвентарных предметов которые хотим добавить пользователю ( поместить в таблицу + чтобы экономика поместила их в летающие объекты), через запятую (к примеру additional_inv=&amp;quot;12345,25841&amp;quot;) .&lt;br /&gt;
*'''exp''' - передает состояние начисления опыта (необходим параметр количества опыта). Нужен больше для тестирования, чем для самой игры.&lt;br /&gt;
*'''play''' - передает состояния перехода на локацию для исследования(при условии что хватит энергии и выполнены прочие условия).&lt;br /&gt;
*'''location''' - открывает окно перед локацией (необходим параметр номера локации).&lt;br /&gt;
*'''collection''' - заставляет экономикс заполнить таблицу коллекций. Лучше вызывать сразу перед открытием окна коллекций или во время его открытия. Для применения фильтрации коллекций перед вызовом состояния задать параметр ''collectionFilter'' (0 - все, 1 - все предметы, 2 - не хватает одного, 3 - новые). Для определения коллекции в категорию &amp;quot;новые&amp;quot; указать в настройках коллекции ''cnew'' (''новая'' - признак новизны для фильтра. &amp;gt;0 - новая).&lt;br /&gt;
*'''collections_scroll''' - заполняет таблицу коллекций и проматывает на коллекцию содержащую последний предмет для которого было показано окошко с информацией о предмете.&lt;br /&gt;
*'''collections_custom''' - перематывает таблицу к нужной коллекции. id коллекции записывается предварительно в param.&lt;br /&gt;
*'''item_collections''' - заставляет экономикс показать окошко с информацией о коллекционном предмете. Вызывается при тапе на таблицу в темплейте коллекций (объект ecollection).&lt;br /&gt;
*'''item_effect''' - сообщает economics, что необходимо показать окошко предмета от таймэфекта (необходим параметр номера эффекта)&lt;br /&gt;
*'''item_preview''' - заставляет экономикс показать окошко с информацией о предмете, который можно найти при обыске локации. Вызывается при тапе на таблицу с предметами в окне перед локацией.&lt;br /&gt;
*'''item_review''' - заставляет экономикс показать окошко с информацией о предмете, который нашли после обыска локации. Вызывается при тапе на таблицу с предметами в окне после локации.&lt;br /&gt;
*'''item_monster_preview''' - заставляет экономикс показать окошко с информацией о предмете, который можно найти при игре с монстром. Вызывается при тапе на таблицу с предметами в окне перед монстром.&lt;br /&gt;
*'''item_monster_review''' - заставляет экономикс показать окошко с информацией о предмете, который нашли после игры с монстром. Вызывается при тапе на таблицу с предметами в окне после монстра.&lt;br /&gt;
*'''completed_animation''' - состояние запускает анимацию полученной награды за прохождение локации после &amp;quot;окна после локации&amp;quot;. Можно запускать из состояния закрытия окна после локации.&lt;br /&gt;
*'''unlock_item''' - передает состояние покупки предмета, необходимого для открытия локации. Как правило, предмет находится в окне перед локацией.&lt;br /&gt;
*'''unlock''' -  передает состояние при котором происходит разлочка локации если текущий уровень на один ниже, чем необходимый для открытии локации или значение ''разница в уровнях'', позволяет разлочить локацию. Как правило кнопка для разблокирования локации размещается в окне перед локацией. Когда разница уровней достаточна, чтобы разлочить локацию машина локации переводится в состояние '''can_buy'''.&lt;br /&gt;
*'''completed_reward''' - вызывается объектом анимации награды после прохождения локации. Если объектов несколько (опыт, монеты, кристаллы), то вызывается только один раз одним из объектов.&lt;br /&gt;
*'''search_charger''' - производит поиск недостающего чарджера. Пока только по монстрам. Номер чарджера 0 или 1 - в парам.&lt;br /&gt;
*'''buy_charger''' - производит покупку недостающего чарджера  (номер в параметре, -1 - купить все).&lt;br /&gt;
*'''update''' - обновить все локации на карте.&lt;br /&gt;
*'''level_up''' - проверяет получение нового уровня. Чтобы окно с получением нового уровня не открывалось самостоятельно, мы вызываем это состояние, когда нам удобно. Проверяется был ли получен новый уровень, если был, то вызывается окно с получением нового уровня.&lt;br /&gt;
*'''res1''' - Добавить ресурс 1 (значение в параметре).&lt;br /&gt;
*'''res2''' - Добавить ресурс 2 (значение в параметре).&lt;br /&gt;
*'''res1s''' - скорректировать статистику по ресурсу 1 (значение в параметре, когда, например, ресурс не заработан, а выигран в казино).&lt;br /&gt;
*'''res2s''' - скорректировать статистику по ресурсу 2 (значение в параметре, когда, например, ресурс не заработан, а выигран в казино).&lt;br /&gt;
*'''energy''' - Добавить энергию (значение в параметре).&lt;br /&gt;
*'''energy_no_max''' - Добавить энергию перманентно - без ограничения перевала за максимум (значение в параметре).&lt;br /&gt;
*'''failed''' - текущая локация провалена (не дается опыта и прочих наград за прохождение локации). Требует параметра локации.&lt;br /&gt;
*'''item_effect''' -  показать окошко предмета от таймэффекта. В param - номер эффекта.&lt;br /&gt;
*'''item_effect_last''' - показать окошко предмета от последнего активированного таймэффекта. У машины окошка должно быть состояние &amp;quot;open_last&amp;quot;.&lt;br /&gt;
*'''search_collection''' -  проскроллить карту на локацию где можно найти коллекционный предмет. При этом машина локации (Объект на карте) будет переведена в состояние highlight, в котором локацию можно посветить или выделить ее каким-то образом.&lt;br /&gt;
*'''search_task''' -  проскроллить карту на локацию где можно найти предмет из задания. При этом машина локации (Объект на карте) будет переведена в состояние highlight, в котором локацию можно посветить или выделить ее каким-то образом.&lt;br /&gt;
*'''search_charger''' - проскролить  карту на монстр, в котором можно найти чарджер (необходимо значение чарджера в параметре 0 или 1).&lt;br /&gt;
*'''monster''' - Открыть превью для монстра с номером указанном в поле параметр.&lt;br /&gt;
*'''monster_play''' - Играть в мини игру выбранного монстра (при условии, что хватит энергии и выполнены прочие условия).&lt;br /&gt;
*'''monster_removed''' - Монстра прогнали предметами. Вычесть предметы и успешно завершить.&lt;br /&gt;
*'''monster_completed''' - Текущая мини игра так или иначе пройдена, перед вызовом состояния, можно экономике заполнить поле '''additional_inv''' - перечнем инвентарных предметов которые хотим добавить пользователю ( поместить в таблицу + чтобы экономика поместила их в летающие объекты), через запятую (к примеру additional_inv=&amp;quot;12345,25841&amp;quot;) .&lt;br /&gt;
*'''monster_failed''' -  Текущая мини игра провалена, отличается от предыдущего тем, что не дается бонусного опыта и прочих наград.&lt;br /&gt;
*'''monster_buy''' -  попытаться докупить предметы, необходимые для игры с монстром.&lt;br /&gt;
*'''col_item_param''' - Добавить коллекционный предмет, взяв его айди из параметра.&lt;br /&gt;
*'''anomaly_item''' - попытаться прогнать аномалию в текущей локации предметом. В зависимости от номера аномалии, машина локации (Объект на карте)  переводится в состояние anomaly_N, где N - номер аномалии начиная с 0. (anomaly_0, anomaly_1 и т.д.). Таким образом можно визуализировать аномалию на карте.&lt;br /&gt;
*'''anomaly_game''' - попытаться прогнать аномалию в текущей локации мини игрой.&lt;br /&gt;
*'''anomaly_completed''' -  мини игра по прогону аномалии успешно завершена.&lt;br /&gt;
*'''anomaly_buy''' - показать окно покупки для предмета прогона аномалии (в текущей локации).&lt;br /&gt;
*'''cheat_loc_level''' -  &amp;quot;накачать&amp;quot; всем локациям скилл левел до максимума (для тестирования).&lt;br /&gt;
*'''chest_animation''' - анимировать последний использованный сундук.&lt;br /&gt;
*'''col_item_found''' -  показать окошко с коллекцией для одного найденного коллекционного предмета из очереди.&lt;br /&gt;
*'''cheat_one_level''' - просимулировать один уровень развития игрока.&lt;br /&gt;
*'''purchase_ok''' - сообщает economocs что произошла покупка. Сформировать событие флури.&lt;br /&gt;
*'''buy_random_col''' - купить случайный коллекционный предмет.&lt;br /&gt;
*'''location_switch''' - переключить локацию на связанную (если есть предмет и собраны все артефакты, необходимые для перехода).&lt;br /&gt;
*''' anomaly_set_everywhere''' - генерация аномалии. Если в объекте Economics в параметре param указан номер аномалии, то состояние добавляет аномалию всем локациям, а если -1, то убирает аномалию из всех локаций.&lt;br /&gt;
*''' buy_artefact''' - осуществляет покупку артефакта для локации. Для этого у объекта economics в param должен быть записан номер локации, а в param2 номер артефакта (номер по порядку начиная с 0).&lt;br /&gt;
*'''show_artefacts''' - Показать таблицу покупки артефактов в param - номер локации&lt;br /&gt;
*'''location_buy_all_switchers''' - Купить все артефакты доступные для данной локации&lt;br /&gt;
*'''search_ingridient''' - переход в локацию для поиска ингредиента, который указан в param.&lt;br /&gt;
*'''search_needitem''' - поиск необходимого для исследования локации предмета из окна перед локацией. В param должен быть указан id необходимого предмета.&lt;br /&gt;
*'''copy''' - скопировать основные параметры (опыт, уровень, энергия) и количество предметов из одной экономики в другую. Перед вызовом указать в поле &amp;quot;param&amp;quot; id экономики куда перенесём значение. Если экономика в кот. копируем выключена по disable=&amp;quot;1&amp;quot; - нужно с начало установить  disable=&amp;quot;0&amp;quot;, вызвать сост. &amp;quot;init&amp;quot;, а уже после в неё копировать.&lt;br /&gt;
*'''set_was_visited_flag''' - установить флаг посещаемости локации (loc%n%.wv=&amp;quot;1&amp;quot;) для календаря. В param должен быть указан id необходимого предмета.&lt;br /&gt;
*'''clear_was_visited_flag''' - снять флаг посещаемости локации (loc%n%.wv=&amp;quot;0&amp;quot;) для календаря.В param должен быть указан id необходимого предмета.&lt;br /&gt;
*'''srand_hidden''' - перетряхнуть связанный с хидденом генератор псевдослучайных чисел. Можно вызывать перед локацией, если возникает зацикливание хидденов. '''''КАТЕГОРИЧЕСКИ НЕЛЬЗЯ вызывать его при честном мультиплеере - в нем все определяется сидом от сервера'''''&lt;br /&gt;
*'''download_pack''' - попросить экономику скачать пак для локации из поля param (используется при использовании динамических паков - конфигов, [https://docs.google.com/document/d/13UUOKf_iJNzFx0PjU4JQIfYDX7NhK7dyfJAR3I-SWlQ/edit детальнее]).&lt;br /&gt;
*'''search_task_only_open''' - вызываем из окна таска, откроет превью локации в которой можно найти требуемый предмет. Аналог search_task, но ищет только в открытых локациях (в случае с календарём - влияет параметр &amp;quot;подзадача предмет&amp;quot; -&amp;gt; &amp;quot;сгенерировать предмет&amp;quot; - если указано неделя - будет давать локацию в диапазоне текущей недели; день - локацию текущего дня).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Календарь (локации заполняем в таблицу как календарь):&lt;br /&gt;
*'''unlock_for_today''' - попросить экономику разблокировать диапазон локации до конца текущего дня (диапазон указываем посредством полей &amp;quot;param&amp;quot; и &amp;quot;param2&amp;quot; - [param,param2]) .&lt;br /&gt;
*'''today_table''' - промотать таблицу до текущего дня.&lt;br /&gt;
*'''location_table_get_name''' - открыть превью локации, по нажатой ячейке таблицы календаря.&lt;br /&gt;
*'''clear_packs''' - очистить паки которые не использовались n-н дней (где n - параметр '''packDeleteDays'''). &lt;br /&gt;
&lt;br /&gt;
При начислении экономикой res1 и res2 во флурри отправляются события coins_get, diams_get. Для того чтобы источники монет/кристаллов (параметр source) в событии приходили с адекватными значениями, перед вызовом состояния начисления экономике нужно записать параметр &amp;quot;res_source&amp;quot; в соответствии со значениями в списке:&lt;br /&gt;
 &lt;br /&gt;
  SOURCE_UNKNOWN = 0,                          //!&amp;lt; неизвестный источник&lt;br /&gt;
      SOURCE_PURCHASE = 1,                         //!&amp;lt; покупка&lt;br /&gt;
      SOURCE_HIDDEN_WIN = 2,                       //!&amp;lt; выигрыш в хиддене&lt;br /&gt;
      SOURCE_MINIGAME_WIN = 3,                     //!&amp;lt; выигрыш в миниигре&lt;br /&gt;
      SOURCE_DAILY_BONUS = 4,                      //!&amp;lt; дейли бонус&lt;br /&gt;
      SOURCE_SOCIAL_BONUS = 5,                     //!&amp;lt; бонусы за социалку&lt;br /&gt;
      SOURCE_CASINO = 6,                           //!&amp;lt; казино&lt;br /&gt;
      SOURCE_EXCHANGE = 7,                         //!&amp;lt; биржа&lt;br /&gt;
      SOURCE_DEPOSIT = 8,                          //!&amp;lt; депозит&lt;br /&gt;
      SOURCE_COLLECTION_GOT = 9,                   //!&amp;lt; сдача коллекций&lt;br /&gt;
      SOURCE_GUES = 10,                            //!&amp;lt; угадайка&lt;br /&gt;
      SOURCE_TASK_COMPLETE = 11,                   //!&amp;lt; выполнена задача&lt;br /&gt;
      SOURCE_TRIVIA = 12,                          //!&amp;lt; миллионер&lt;br /&gt;
      SOURCE_REDEEM = 13,                          //!&amp;lt; начисление из админки&lt;br /&gt;
      SOURCE_LEVEL_UP = 14,                        //!&amp;lt; достижение уровня&lt;br /&gt;
      SOURCE_USE_ITEM = 15,                        //!&amp;lt; использование предмета&lt;br /&gt;
      SOURCE_PET_GOLD_COLLECTED = 16,              //!&amp;lt; собрали бонус животного у пэта&lt;br /&gt;
      SOURCE_PET_COLLECTION_GOT = 17,              //!&amp;lt; сдача коллекции животных&lt;br /&gt;
      SOURCE_SLOTMACHINE = 18,                     //!&amp;lt; слотмашина&lt;br /&gt;
      SOURCE_RPGBATTLE = 19,                       //!&amp;lt; псевдоРПГ бой&lt;br /&gt;
      SOURCE_SLOTFALLING = 20,   		   //!&amp;lt; вторая слотмашина&lt;br /&gt;
      SOURCE_MAP_CHEST = 21                        //!&amp;lt; сундуки на карте&lt;br /&gt;
      SOURCE_ADVERTISEMENT = 22,                   //!&amp;lt; реклама&lt;br /&gt;
      SOURCE_CONTEST_PRIZE = 23                    //!&amp;lt; соревнования&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   П.С. для мануального начисления (уникальный источник под каждый проект) &lt;br /&gt;
      31                                           // игровая награда №1 &lt;br /&gt;
      32                                           // игровая награда №2 &lt;br /&gt;
      33                                           // игровая награда №3 &lt;br /&gt;
      34                                           // игровая награда №4 &lt;br /&gt;
      35                                           // игровая награда №5&lt;br /&gt;
      36                                           // игровая награда №6&lt;br /&gt;
      37                                           // игровая награда №7&lt;br /&gt;
      38                                           // игровая награда №8&lt;br /&gt;
      39                                           // игровая награда №9&lt;br /&gt;
      40                                           // игровая награда №10&lt;br /&gt;
&lt;br /&gt;
=Коды ошибок:=&lt;br /&gt;
При скачивании паков, посредством фоновой загрузки или через состояние &amp;quot;download_pack&amp;quot; могут возникать ошибки (которые можем словить через еррорменеджер):&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''' - ошибка работы с файловой системой во время распаковки&lt;br /&gt;
*'''10''' - ошибка проверки распакованного пака&lt;br /&gt;
*'''11''' - ошибка распаковки&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;
Данные параметры можно вычесть с помощью команды &amp;quot;var&amp;quot; в машине состояний. Параметры нужно вычитать из профиля, если не сказано обратное.&lt;br /&gt;
[id] - числовой id экономики в проекте, если не указана другая информация.&lt;br /&gt;
&lt;br /&gt;
*'''ecomics[id].res1sp''' - количество потраченного ресурса_1 за все время игры;&lt;br /&gt;
*'''ecomics[id].res2sp''' - количество потраченного ресурса_2 за все время игры;&lt;br /&gt;
*'''ecomics[id].res1log''' - текущее значение ресурса_1 выраженное в логарифмической шкале;&lt;br /&gt;
*'''ecomics[id].res1logfl''' - текущее значение ресурса_1 выраженное в логарифмической шкале с учётом депозитов и биржи;&lt;br /&gt;
*'''ecomics[id].level''' - текущий уровень игрока;&lt;br /&gt;
*'''ecomics[id].res1''' - текущее количество ресурса_1;&lt;br /&gt;
*'''ecomics[id].res2''' - текущее количество ресурса_2;&lt;br /&gt;
*'''ecomics[id].res1ea''' - количество заработанного ресурса_1 за все время игры;&lt;br /&gt;
*'''ecomics[id].res2ea''' - количество заработанного ресурса_2 за все время игры;&lt;br /&gt;
*'''economics[id].stat.energy_spent''' - количество потраченной энергии за все время игры;&lt;br /&gt;
*'''ecomics[id].mplayed''' - количество сыгранных миниигр (монстр) за все время;&lt;br /&gt;
*'''ecomics[id].lplayed''' - количество сыгранных хидденов за все время;&lt;br /&gt;
*'''ecomics[id].total_score''' - количество заработанного опыта за все время игры;&lt;br /&gt;
*'''ecomics[id].exp''' - текущий опыт на уровне;&lt;br /&gt;
*'''ecomics[id].energy''' - текущий уровень энергии;&lt;br /&gt;
*'''ecomics[id].loc[loc_id].an''' - номер аномалии, которая будет в локации loc_id;&lt;br /&gt;
*'''amulets_bonus_res1''' - множитель монет за бонусы от амулетов, при начислении по сост. &amp;quot;res1&amp;quot;;&lt;br /&gt;
*'''amulets_bonus_res2''' - множитель кристаллов за бонусы от амулетов, при начислении по сост. &amp;quot;res2&amp;quot;;&lt;br /&gt;
*'''amulets_bonus_exp''' - множитель опыта за бонусы от амулетов, при начислении по сост. &amp;quot;exp&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Каждая экономика пишет в пользователя следующие параметры:&lt;br /&gt;
*'''public.EconomicsRes1''' - текущее количество ресурса_1;&lt;br /&gt;
*'''public.EconomicsRes2''' - текущее количество ресурса_2;&lt;br /&gt;
*'''public.EconomicsLevel''' - текущий уровень игрока;&lt;br /&gt;
*'''public.EconomicsEnergy''' - текущий уровень энергии;&lt;br /&gt;
*'''public.EconomicsTotalScore''' - количество заработанного опыта за все время игры;&lt;br /&gt;
*'''public.EconomicsCollectionsUniq''' - количество сданных коллекций ( значение повышается каждый раз при сдаче коллекции), пишется Экономикой только если поле   -    '''fbopt'''  не пустое;&lt;br /&gt;
&lt;br /&gt;
=Календарь и всё про него=&lt;br /&gt;
Данный режим позволяет создавать клонированные превью локаций и располагать локации по датам (одна локация - конкретная дата).&lt;br /&gt;
Визуально выглядит вот так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Econom calendar viewer.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
Настраивается рядом параметров (режим работы, визуальное оформление - таблица настраивается отдельно - ) &lt;br /&gt;
[[Файл:Econom calendart.jpg|400px|right]]&lt;br /&gt;
*'''шаблон объекта на карте''' ('''tmplIco''') - превью локации - может быть как машинкой или &amp;quot;elocationpreview&amp;quot;(в этом случае, за превью локации берётся машинка из поля &amp;quot;иконка&amp;quot; - ей будут вызываться состояния и писаться параметры).&lt;br /&gt;
 Должны быть подключены все состояния для машинки превью локации (&amp;quot;highlight&amp;quot;,&amp;quot;level_0&amp;quot;,&amp;quot;level_1&amp;quot;...) и дополнительно:&lt;br /&gt;
**'''apply''' - обновление имени локации (название дата) - в данном состоянии можно изменять параметры текста - выравнивание, размер шрифта и т.д.&lt;br /&gt;
**'''not_played''' - игрок заходил в день локации, но не играл в HG;&lt;br /&gt;
**'''not_visited''' - игрок не заходил в день локации;&lt;br /&gt;
**'''future''' - локация закрыта и находится в будущем; &lt;br /&gt;
Параметры которые пишутся в превью локации:&lt;br /&gt;
**'''season''' - сезон локации (0 - зима; 1 - Весна; 2 - Лето; 3 - Осень);&lt;br /&gt;
**'''in_past''' - находится локаций ранее текущей недели (0 - нет; 1 - да);&lt;br /&gt;
**'''cellShift''' - смещении локации от центрального элемента таблицы (знак &amp;quot;-&amp;quot; - влево; знак &amp;quot;+&amp;quot; - вправо);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''заглушка''' ('''tmplDummy''') - объект-заглушка, добавляется в начало и вконец таблицы - для правильной работы круговой таблицы;&lt;br /&gt;
*'''количество заглушек''' ('''tmplDummyNum''') - количество добавляемых заглушек;&lt;br /&gt;
*'''таблица''' ('''tableIco''') - таблица в которую будут складываться превью локации (должна иметь память - чтобы создались один раз);&lt;br /&gt;
*'''разлочить дней от текущего влево''' ('''daysunlock''') - указываем крайнее левое значение диапазона локаций текущей недели ( относительно, текущего, календарного дня);&lt;br /&gt;
*'''разлочить дней от текущего влево''' ('''daysunlockr''') - указываем крайнее правое значение диапазона локаций текущей недели( относительно, текущего, календарного дня);&lt;br /&gt;
*'''очищать все коллекционные предметы при смене дня''' ('''clearcollections''') - при смене календарного дня - очистить все полученные коллекционные предметы;&lt;br /&gt;
*'''прогресс загрузки''' ('''packProgress''') - прогресс загрузки пака, в окне перед локацией;&lt;br /&gt;
&lt;br /&gt;
Формат даты (можно использовать переменные в тексте _day - число, _weekDay - день недели, _mon - полное название месяца, _short - сокращенное название месяца):&lt;br /&gt;
*'''формат даты центр''' ('''dateFormatCenter''') - текстовый ресурс, который будет помещён в имя локации (дата) центрального элемента таблицы;&lt;br /&gt;
*'''формат даты лево''' ('''dateFormatLeft''') - текстовый ресурс, который будет помещён в имя локации (дата) всем элементам левее центрального элемента таблицы;&lt;br /&gt;
*'''формат даты право''' ('''dateFormatRight''') - текстовый ресурс, который будет помещён в имя локации (дата) всем элементам правее центрального элемента таблицы;&lt;br /&gt;
*'''дни недели''' ('''dateWeekDays''') - перечень текстовых ресурсов, которые будут браться для каждого дня недели ( первый текст - понедельник, второй - вторник ...);&lt;br /&gt;
*'''месяцы''' ('''dateMonthes''') - перечень текстовых ресурсов для месяцев ( начинаем с января; sense0 - полное название, sense1 - короткое);&lt;br /&gt;
&lt;br /&gt;
Фоновая прогрузка паков (при смене дня и при старте сессии):&lt;br /&gt;
*'''автозакачка паков влево''' ('''packNLeft''') - указываем крайную левую локацию диапазона;&lt;br /&gt;
*'''автозакачка паков вправо''' ('''packNRight''') - указываем крайную правую локацию диапазона;&lt;br /&gt;
&lt;br /&gt;
*'''поправка на 29 февраля''' ('''tableFeb29Adjust''') - обрабатываем 29 Февраля или нет;&lt;br /&gt;
*'''начальная дата''' ('''startDate''') - Дата самой первой локации (unix time);&lt;br /&gt;
*'''удалять паки не используемые (дней)''' ('''packDeleteDays''') - количество дней,спустя которое пак считается устаревшим, при превышении - пак удалится с устройства при вызове состояния '''clear_packs'''. По сути это разница между текущей датой и датой последнего использования пака. Дата последнего использования пака обновляется после игры в локацию (через сост. &amp;quot;play&amp;quot;) или при успешной распаковке пака.&lt;br /&gt;
&lt;br /&gt;
=Динамические паки=&lt;br /&gt;
Функционал позволяет уменьшить размер приложения, посредством разбиения арта на паки, и в процессе игры их скачивания [https://docs.google.com/document/d/13UUOKf_iJNzFx0PjU4JQIfYDX7NhK7dyfJAR3I-SWlQ/edit# (см. документ)].&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9566</id>
		<title>Cloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9566"/>
		<updated>2018-05-18T08:09:40Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* parse друзья и подарки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект необходим для синхронизации приложения с облаком.&lt;br /&gt;
&lt;br /&gt;
=Параметры объекта Cloud=&lt;br /&gt;
&lt;br /&gt;
==parse general==&lt;br /&gt;
&lt;br /&gt;
*'''app''' - Код приложения из parse&lt;br /&gt;
*'''key''' - Ключ приложения из parse&lt;br /&gt;
*'''имя игры''' - Наше внутреннее имя игры в parse&lt;br /&gt;
*'''имя игрока''' - Имя игрока. Заполнить до любых вызовов состояний&lt;br /&gt;
*'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)&lt;br /&gt;
*'''автоприменение''' - Применять лучшие опции автоматически. Если &amp;quot;нет&amp;quot; то нужно подтверждение пользователя.&lt;br /&gt;
*'''esocial''' - объект типа esocial для получения списка друзей.&lt;br /&gt;
*'''повторять лоад раз''' - количество повторов parse_load при неуспехе, если не отсутствие интернета.&lt;br /&gt;
*'''автолоад''' - автоматически вызывать parse_load при логине в социальной сети.&lt;br /&gt;
&lt;br /&gt;
==parse leaderboards==&lt;br /&gt;
&lt;br /&gt;
*'''лидерборд''' - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!&lt;br /&gt;
*'''очки''' - Очки для отправки. Валидное целое число!&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;.&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''всегда запрашивать''' - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1)&lt;br /&gt;
*'''дефолтное имя''' - если у нас все еще нет имени человека, вместо него будет эта строка&lt;br /&gt;
*'''специальная сортировка''' ( special_sort ) - специальная сортировка, по лвлу ( задаём &amp;quot;1&amp;quot; когда открываем лидерборды глобальные/ друзей; ставим &amp;quot;0&amp;quot; в лидерах монстров/локаций)&lt;br /&gt;
*'''анимация смены мест''' - анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
*'''периодический лидерборд''' - Периодический лидерборд в parse&lt;br /&gt;
*'''(периодический) таблица''' - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) таблица предыдущая''' - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу текущего лидерборда&lt;br /&gt;
*'''(периодический) шаблон предыдущий''' - объект типа [[Leaderboardsitem]] для помещения в таблицу предыдущего лидерборда&lt;br /&gt;
*'''(периодический) свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''(периодический) свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''(периодический) своя иконка''' - иконка игрока&lt;br /&gt;
*'''(периодический) таймер''' - иконка игрока&lt;br /&gt;
*'''(периодический) запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''(периодический) анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
*'''(периодический) в предыдущую таблицу только себя''' - в предыдущую таблицу только себя (нет=0, да=1)&lt;br /&gt;
*'''(периодический) таблица наград''' - объект-таблица, в который сложим шаблоны наград&lt;br /&gt;
*'''(периодический) шаблон награды''' - объект типа rewarditem&lt;br /&gt;
&lt;br /&gt;
==parse голосовалка==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''таблица пред.''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон пред.''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название пред.''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''время''' - объект типа таймер, куда мы сложим оставшееся время опроса;&lt;br /&gt;
*'''текст шаринга''' - текст шаринга.&lt;br /&gt;
&lt;br /&gt;
==parse друзья и подарки==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим шаблон [[Leaderboardsitem]];&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу;&lt;br /&gt;
*'''добавить приглашаемых''' - &amp;quot;сколько приглашаемых друзей добавить к играющим друзьям;&lt;br /&gt;
*'''прятать одаренных''' - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок.   !!! если выбрано &amp;quot;да&amp;quot;, то параметр опций parse_friends_num учитывает только неодаренных друзей; чтобы узнать общее количество друзей, использовать parse_friends_all&lt;br /&gt;
&lt;br /&gt;
==parse запросы дружбы==&lt;br /&gt;
&lt;br /&gt;
*'''текст запроса дружбы''' - Текстовый айди для исходящего запроса дружбы;&lt;br /&gt;
*'''окно''' - Само окно. Должно иметь состояние show;&lt;br /&gt;
*'''иконка''' - Портрет приглашающего;&lt;br /&gt;
*'''имя''' - Имя приглашающего;&lt;br /&gt;
*'''таблица инвайтов''' - таблица, в которую сложим все инвайты;&lt;br /&gt;
*'''шаблон инвайта (inviteitem)''' - Шаблон инвайта для помещения в таблицу.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона в таблице лидеров==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона для периодических лидербордов==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==Приглашение в мультиплеер==&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера&lt;br /&gt;
*'''информация''' - информация о приглашающем, объект типа leaderboardsitem&lt;br /&gt;
&lt;br /&gt;
==Боты для лидербордов==&lt;br /&gt;
*'''конфиг''' - файл с настройками ботов&lt;br /&gt;
*'''имена ботов в оффлайне''' - имена ботов, если они генерятся в оффлайне&lt;br /&gt;
*'''имена игрока в оффлайне''' - имя игрока в оффлайне&lt;br /&gt;
&lt;br /&gt;
Файл конфига умеет создавать &amp;quot;economicalCycle&amp;quot; (пока только боты для локаций, ModeWorkEconomicalCycle=&amp;quot;2&amp;quot; + указываем нужное количество ботов - &amp;quot;bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Добавляемые свойства=&lt;br /&gt;
&lt;br /&gt;
==Обработчики для синхронизации==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметр, синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse.&lt;br /&gt;
*'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр&lt;br /&gt;
*'''параметр''' - имя параметра в группе, общее для различных приложений&lt;br /&gt;
*'''объект''' - объект у которого синхронизируем параметр.&lt;br /&gt;
*'''параметр объекта''' - параметр который синхронизируем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае отсутствия данных на сервере, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта'''  - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'', показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', необходимо перегрузить лайаут.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply_server'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', необходимо перезагрузить лэйаут.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate'', необходимо вызывать ''parse_save''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние'''- новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate'', необходимо вызывать ''parse_load''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик успеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем '''ErrorManager'''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
==Обработчики голосования==&lt;br /&gt;
	&lt;br /&gt;
			&lt;br /&gt;
[[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' - обработчик успеха ''parse_poll''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.			&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
[[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' - обработчик успеха ''parse_vote''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для лидербордов==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены лидерборды''' - обработчик успеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за objectId''' - обработчик неуспеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', которая происходит из-за неуспешного ''parse_load'' (в этом случае ''parse_load'' необходимо повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''добавляемые лидерборды''' - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д.&lt;br /&gt;
*'''id''' - Идентификатор набора интерфейсных элементов, указывать нужно '''default''' для таблицы, в которую помещаются общие лидеры, для остальных не нужно&lt;br /&gt;
*'''имя лидербордов''' - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове ''parse_leaderbords_friends_param''&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&amp;quot; hint=&amp;quot;кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&amp;quot;  hint=&amp;quot;кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна. Должна иметь состояние show&lt;br /&gt;
*'''анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
==Обработчики для друзей и подарков==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены друзья''' - обработчик успеха ''parse_friends'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен запрос дружбы''' - обработчик успеха ''parse_friend_request_lb'', ''parse_friend_request_public'', ''parse_friend_request_param'', показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен подарок''' - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для временных лидербордов (соревнований)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev''&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования НЕ сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' при условии, что находимся не в окне соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''игрок потенциально попал в лидерборды прошлого периода''' - обработчик успеха ''parse_all_leaderboards'' - неинформативный, решили не использовать&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''у игрока призовое место в лидербордах прошлого периода и не забрана награда''' - обработчик успеха ''parse_all_leaderboards'', можно повести игрока забрать награду за предыдущий период соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''завершились лидерборды предыдущего периода''' - обработчик успеха ''parse_leaderboards_temporary'', вызываем ''parse_all_leaderboards'', показываем информационное окно с информацией о том, что идет подсчет результатов&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за levelId''' - обработчик неуспеха ''parse_leaderboards_temporary'', которая происходит из-за неуспеха ''parse_all_leaderboards'' (в этом случае ''parse_all_leaderboards'' желательно повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''индикатор награды за временные лидерборды''' - визуализация награды за временные лидерборды&lt;br /&gt;
*'''res1''' - счетчик - награда за лидерство в res1,&lt;br /&gt;
*'''res2''' - счетчик - награда за лидерство в res2,&lt;br /&gt;
*'''item''' - иконка предмета - награды за лидерство,&lt;br /&gt;
*'''item num''' - счетчик предмета - награды за лидерство.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''лидеры предыдущего этапа временных лидербордов''' - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал)&lt;br /&gt;
*'''leaderboardsitem''' - объект типа [[Leaderboardsitem]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''периодические лидерборды''' - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики&lt;br /&gt;
*'''имя''' - Периодический лидерборд в parse (название таблицы)&lt;br /&gt;
*'''min''' - Минимальный уровень экономики&lt;br /&gt;
*'''max''' - Максимальный уровень экономики&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;
[[Файл:+.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;
Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове ''parse_load''. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались).&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''0  - local_device_synchronization''' - синхронизация параметров между приложениями одного устройства;&lt;br /&gt;
&lt;br /&gt;
*'''1  - parse_resolve''' - ресолвим конфликт и ждем подтверждения;&lt;br /&gt;
&lt;br /&gt;
*'''2  - parse_idle''' - состояние простоя, означает, что мы не ждем ответа ни на один запрос;&lt;br /&gt;
&lt;br /&gt;
*'''3  - parse_load''' - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;&lt;br /&gt;
&lt;br /&gt;
*'''4  - parse_save''' - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
        &lt;br /&gt;
*'''5  - parse_leaderboards''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''6  - parse_leaderboards_friends''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''7  - parse_submit''' - заслать очки в парс взяв очки из поля score и уровень из поля level;&lt;br /&gt;
&lt;br /&gt;
*'''8  - parse_apply''' - применить скачанные опции;&lt;br /&gt;
&lt;br /&gt;
*'''9  - parse_get_public_lb''' - скопировать паблик данные кликнутого юзера из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''10 - parse_poll''' - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;&lt;br /&gt;
&lt;br /&gt;
*'''11 - parse_poll_prev''' - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;&lt;br /&gt;
&lt;br /&gt;
*'''12 - parse_vote''' - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;&lt;br /&gt;
&lt;br /&gt;
*'''13 - parse_share_poll''' - зашарить результаты текущего опроса;&lt;br /&gt;
&lt;br /&gt;
*'''14 - parse_forced_save''' - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
&lt;br /&gt;
*'''15 - parse_apply_server''' - применить опции и отправить ресолв;&lt;br /&gt;
&lt;br /&gt;
*'''16 - parse_clear_notifications''' - отписаться от уведомлений;&lt;br /&gt;
&lt;br /&gt;
*'''17 - parse_add_notification''' - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);&lt;br /&gt;
&lt;br /&gt;
*'''18 - parse_time''' - запросить время;&lt;br /&gt;
&lt;br /&gt;
*'''19 - parse_friends''' - заполнить таблицу всех друзей (новые подарки);&lt;br /&gt;
   &lt;br /&gt;
*'''20 - parse_isolate''' - отказаться от слияния аккаунтов;&lt;br /&gt;
&lt;br /&gt;
*'''21 - parse_un_isolate''' - отменить изоляцию;&lt;br /&gt;
&lt;br /&gt;
*'''22 - parse_cancel_apply''' - отменить синхронизацию и разрешить сейвы;&lt;br /&gt;
&lt;br /&gt;
*'''23 - scroll_friends_to_lb''' - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''24 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''25 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''26 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''27 - parse_flush_notifications''' - принудительно зафлушить нотификейшены, если мы этого не делали ранее;&lt;br /&gt;
&lt;br /&gt;
*'''28 - parse_all_leaderboards''' - получение информации по всем лидербордам, возможное обнуление текущих очков.&lt;br /&gt;
&lt;br /&gt;
*'''29 - parse_submit_temporary''' - сабмит очков в temporary лидерборд;&lt;br /&gt;
&lt;br /&gt;
*'''30 - parse_leaderboards_temporary''' - получение таблицы temporary лидерборда;&lt;br /&gt;
&lt;br /&gt;
*'''31 - parse_leaderboards_temporary_prev''' - получение таблицы результатов предыдущего периода в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''32 - parse_leaderboards_claim''' - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''33 - parse_leaderboards_animation''' - старт анимации перемещения ячеек таблицы в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''34 - parse_friend_request_param''' - приглашение дружить, в param указать object_id;&lt;br /&gt;
&lt;br /&gt;
*'''35 - parse_friend_request_lb''' - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''36 - parse_friend_confirm''' - подтверждение дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''37 - parse_friend_cancel''' - отмена дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''38 - parse_friend_confirm_table''' - подтверждение дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''39 - parse_friend_cancel_table''' - отмена дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''40 - parse_friend_request_public''' - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''41 - parse_friend_delete_public''' - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''42 - parse_friend_check_requests''' - проверить входящие запросы (инвайты, подарки...);&lt;br /&gt;
&lt;br /&gt;
*'''43 - parse_leaderboards_friends_param''' -  показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.;&lt;br /&gt;
&lt;br /&gt;
*'''44 - parse_get_public_fr''' - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''45 - parse_scroll_temporary_on_me''' - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан);&lt;br /&gt;
&lt;br /&gt;
*'''46 - parse_bots_info''' - получить информацию о ботах отдельно от периодических лидербордов.&lt;br /&gt;
&lt;br /&gt;
*'''47 - get_country''' - получить страну&lt;br /&gt;
&lt;br /&gt;
*'''48 - parse_scroll_default_on_me''' - промотать таблицу default на меня&lt;br /&gt;
&lt;br /&gt;
*'''49 - parse_info''' - получить инфо о пользователе взяв objectId из param&lt;br /&gt;
&lt;br /&gt;
*'''50 - parse_invitable''' - заполнить таблицу приглашаемых друзей&lt;br /&gt;
&lt;br /&gt;
=Сообщения в лог=&lt;br /&gt;
&lt;br /&gt;
Объект пишет в опции строки:&lt;br /&gt;
I/GCloud GCloud::state() state val = 2 state = 3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Коды ошибок:==&lt;br /&gt;
&lt;br /&gt;
*'''6''' - опрос закончился;&lt;br /&gt;
*'''7''' - ошибка версионности;&lt;br /&gt;
*'''1000''' - отсутсвие интернета.&lt;br /&gt;
В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003&lt;br /&gt;
&lt;br /&gt;
Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек):&lt;br /&gt;
'''4000 + номер состояния''', т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья)&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Options|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9550</id>
		<title>Taskorganizer</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9550"/>
		<updated>2018-05-15T12:12:34Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Taskorganizer setup */&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;
[[Category:Economics]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9549</id>
		<title>Taskorganizer</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9549"/>
		<updated>2018-05-15T11:13:03Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Taskorganizer setup */&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;
*'''приоритетная''' - чем больше число, тем выше в таблице тасков.&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;
[[Category:Economics]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9547</id>
		<title>Taskorganizer</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9547"/>
		<updated>2018-05-15T11:08:29Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Taskorganizer setup */&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;
*'''умножать цену пропуска''' - нужно в случае, если мы хотим давать юзеру возможность моментально выполнить задачу за цену, которая зависит от количества нехватающих коллекционных предметов (цена пропуска*количество отсутствующих предметов).&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;
[[Category:Economics]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9535</id>
		<title>Leaderboardsitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9535"/>
		<updated>2018-05-10T14:46:56Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Основные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''место''' - Счетчик, в который будет занесено место игрока&lt;br /&gt;
*'''имя''' - Текстовый объект куда будет занесено имя игрока&lt;br /&gt;
*'''objectId''' - Текстовый объект куда будет занесен objectId игрока&lt;br /&gt;
*'''иконка''' - Иконка игрока&lt;br /&gt;
*'''очки''' - Счетчик, в который будут занесены очки игрока&lt;br /&gt;
*'''уровень''' - Счетчик, в который будет занесен уровень игрока&lt;br /&gt;
*'''список желаний''' - объект-таблица, в который сложим желаемые предметы пользователей. Должна иметь 1 ряд&lt;br /&gt;
*'''кнопка invite''' - не используется, потому что уже не можем получить сведения с фб о неиграющих друзьях&lt;br /&gt;
*'''кнопка info'''&lt;br /&gt;
*'''кнопка подарить энергию'''&lt;br /&gt;
*'''кнопка подарить монеты'''&lt;br /&gt;
*'''кнопка подарить вип'''&lt;br /&gt;
*'''машина для играющих''' - машина должна иметь два состояния - player и invitable. Может менять в них внешний вид окна&lt;br /&gt;
*'''кнопка пригласить в друзья''' - кнопка для приглашения в игрока из глобальных лидербордов в абс-друзья. Передает клауду состояние “parse_friend_request_lb”. Эта кнопка видна только в глобальных лидербордах у игроков, которые не являются друзьями.&lt;br /&gt;
*'''кнопка удалить из друзей''' - кнопка удаления игрока из абс-друзей. Передает клауду состояние parse_friend_request_public и parse_friend_delete_public. Автоматически появляется для всех игроков, которые являются abs-друзьями.&lt;br /&gt;
*'''кнопка play''' - кнопка play для Hidden Battle&lt;br /&gt;
*'''счетчики 1-7''' - Для заполнения значений счетчиков 1-7 нужно в опции записать желаемые параметры в поля public.lbtemplate.val(%d), где (%d) - номер счетчика, и вызвать cloud состояние parse_save.&lt;br /&gt;
*'''иконка соцсети''' - Иконка соцсети. Должна иметь ресурс с двумя кадрами: 0 - фейсбук, 1 - гугл&lt;br /&gt;
*'''иконка страны''' - Иконка флага. Попытаюсь взять айдишник ресурса для нее из public.flagRes&lt;br /&gt;
*'''иконка vip''' - Иконка vip. Попытаюсь взять айдишник ресурса для нее из public.vipRes&lt;br /&gt;
*'''счетчик приза res1'''&lt;br /&gt;
*'''счетчик приза res2'''&lt;br /&gt;
*'''иконка приза предмет'''&lt;br /&gt;
*'''счетчик приза предмет'''&lt;br /&gt;
*'''кнопка получения награды'''&lt;br /&gt;
*'''слушатель движения''' - слушатель движения ячейки. Должен иметь состояния moveStart и moveFinish&lt;br /&gt;
*'''placeholder друга''' - Картинка, которая будет использоваться вместо отсутствующих аватарок&lt;br /&gt;
*'''online''' - индикатор онлайна игрока, должен иметь состояния online и offline&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9534</id>
		<title>Leaderboardsitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9534"/>
		<updated>2018-05-10T14:45:03Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Основные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''место''' - Счетчик, в который будет занесено место игрока&lt;br /&gt;
*'''имя''' - Текстовый объект куда будет занесено имя игрока&lt;br /&gt;
*'''objectId''' - Текстовый объект куда будет занесен objectId игрока&lt;br /&gt;
*'''иконка''' - Иконка игрока&lt;br /&gt;
*'''очки''' - Счетчик, в который будут занесены очки игрока&lt;br /&gt;
*'''уровень''' - Счетчик, в который будет занесен уровень игрока&lt;br /&gt;
*'''список желаний''' - объект-таблица, в который сложим желаемые предметы пользователей. Должна иметь 1 ряд&lt;br /&gt;
*'''кнопка invite''' - не используется, потому что уже не можем получить сведения с фб о неиграющих друзьях&lt;br /&gt;
*'''кнопка info'''&lt;br /&gt;
*'''кнопка подарить энергию'''&lt;br /&gt;
*'''кнопка подарить монеты'''&lt;br /&gt;
*'''кнопка подарить вип'''&lt;br /&gt;
*'''машина для играющих''' - машина должна иметь два состояния - player и invitable. Может менять в них внешний вид окна&lt;br /&gt;
*'''кнопка пригласить в друзья''' - кнопка для приглашения в игрока из глобальных лидербордов в абс-друзья. Передает клауду состояние “parse_friend_request_lb”. Эта кнопка видна только в глобальных лидербордах у игроков, которые не являются друзьями.&lt;br /&gt;
*'''кнопка удалить из друзей''' - кнопка удаления игрока из абс-друзей. Передает клауду состояние &amp;quot;parse_friend_delete_public&amp;quot;. Автоматически появляется для всех игроков, которые являются abs-друзьями.&lt;br /&gt;
*'''кнопка play''' - кнопка play для Hidden Battle&lt;br /&gt;
*'''счетчики 1-7''' - Для заполнения значений счетчиков 1-7 нужно в опции записать желаемые параметры в поля public.lbtemplate.val(%d), где (%d) - номер счетчика, и вызвать cloud состояние parse_save.&lt;br /&gt;
*'''иконка соцсети''' - Иконка соцсети. Должна иметь ресурс с двумя кадрами: 0 - фейсбук, 1 - гугл&lt;br /&gt;
*'''иконка страны''' - Иконка флага. Попытаюсь взять айдишник ресурса для нее из public.flagRes&lt;br /&gt;
*'''иконка vip''' - Иконка vip. Попытаюсь взять айдишник ресурса для нее из public.vipRes&lt;br /&gt;
*'''счетчик приза res1'''&lt;br /&gt;
*'''счетчик приза res2'''&lt;br /&gt;
*'''иконка приза предмет'''&lt;br /&gt;
*'''счетчик приза предмет'''&lt;br /&gt;
*'''кнопка получения награды'''&lt;br /&gt;
*'''слушатель движения''' - слушатель движения ячейки. Должен иметь состояния moveStart и moveFinish&lt;br /&gt;
*'''placeholder друга''' - Картинка, которая будет использоваться вместо отсутствующих аватарок&lt;br /&gt;
*'''online''' - индикатор онлайна игрока, должен иметь состояния online и offline&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9532</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9532"/>
		<updated>2018-05-10T12:40:02Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Global score */&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;
* [[Файл: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>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9531</id>
		<title>Cloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9531"/>
		<updated>2018-05-10T12:37:47Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Обработчики для временных лидербордов (соревнований) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект необходим для синхронизации приложения с облаком.&lt;br /&gt;
&lt;br /&gt;
=Параметры объекта Cloud=&lt;br /&gt;
&lt;br /&gt;
==parse general==&lt;br /&gt;
&lt;br /&gt;
*'''app''' - Код приложения из parse&lt;br /&gt;
*'''key''' - Ключ приложения из parse&lt;br /&gt;
*'''имя игры''' - Наше внутреннее имя игры в parse&lt;br /&gt;
*'''имя игрока''' - Имя игрока. Заполнить до любых вызовов состояний&lt;br /&gt;
*'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)&lt;br /&gt;
*'''автоприменение''' - Применять лучшие опции автоматически. Если &amp;quot;нет&amp;quot; то нужно подтверждение пользователя.&lt;br /&gt;
*'''esocial''' - объект типа esocial для получения списка друзей.&lt;br /&gt;
*'''повторять лоад раз''' - количество повторов parse_load при неуспехе, если не отсутствие интернета.&lt;br /&gt;
*'''автолоад''' - автоматически вызывать parse_load при логине в социальной сети.&lt;br /&gt;
&lt;br /&gt;
==parse leaderboards==&lt;br /&gt;
&lt;br /&gt;
*'''лидерборд''' - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!&lt;br /&gt;
*'''очки''' - Очки для отправки. Валидное целое число!&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;.&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''всегда запрашивать''' - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1)&lt;br /&gt;
*'''дефолтное имя''' - если у нас все еще нет имени человека, вместо него будет эта строка&lt;br /&gt;
*'''специальная сортировка''' ( special_sort ) - специальная сортировка, по лвлу ( задаём &amp;quot;1&amp;quot; когда открываем лидерборды глобальные/ друзей; ставим &amp;quot;0&amp;quot; в лидерах монстров/локаций)&lt;br /&gt;
*'''анимация смены мест''' - анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
*'''периодический лидерборд''' - Периодический лидерборд в parse&lt;br /&gt;
*'''(периодический) таблица''' - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) таблица предыдущая''' - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу текущего лидерборда&lt;br /&gt;
*'''(периодический) шаблон предыдущий''' - объект типа [[Leaderboardsitem]] для помещения в таблицу предыдущего лидерборда&lt;br /&gt;
*'''(периодический) свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''(периодический) свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''(периодический) своя иконка''' - иконка игрока&lt;br /&gt;
*'''(периодический) таймер''' - иконка игрока&lt;br /&gt;
*'''(периодический) запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''(периодический) анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
*'''(периодический) в предыдущую таблицу только себя''' - в предыдущую таблицу только себя (нет=0, да=1)&lt;br /&gt;
*'''(периодический) таблица наград''' - объект-таблица, в который сложим шаблоны наград&lt;br /&gt;
*'''(периодический) шаблон награды''' - объект типа rewarditem&lt;br /&gt;
&lt;br /&gt;
==parse голосовалка==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''таблица пред.''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон пред.''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название пред.''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''время''' - объект типа таймер, куда мы сложим оставшееся время опроса;&lt;br /&gt;
*'''текст шаринга''' - текст шаринга.&lt;br /&gt;
&lt;br /&gt;
==parse друзья и подарки==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим шаблон [[Leaderboardsitem]];&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу;&lt;br /&gt;
*'''добавить приглашаемых''' - &amp;quot;сколько приглашаемых друзей добавить к играющим друзьям;&lt;br /&gt;
*'''прятать одаренных''' - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок.&lt;br /&gt;
&lt;br /&gt;
==parse запросы дружбы==&lt;br /&gt;
&lt;br /&gt;
*'''текст запроса дружбы''' - Текстовый айди для исходящего запроса дружбы;&lt;br /&gt;
*'''окно''' - Само окно. Должно иметь состояние show;&lt;br /&gt;
*'''иконка''' - Портрет приглашающего;&lt;br /&gt;
*'''имя''' - Имя приглашающего;&lt;br /&gt;
*'''таблица инвайтов''' - таблица, в которую сложим все инвайты;&lt;br /&gt;
*'''шаблон инвайта (inviteitem)''' - Шаблон инвайта для помещения в таблицу.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона в таблице лидеров==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона для периодических лидербордов==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==Приглашение в мультиплеер==&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера&lt;br /&gt;
*'''информация''' - информация о приглашающем, объект типа leaderboardsitem&lt;br /&gt;
&lt;br /&gt;
==Боты для лидербордов==&lt;br /&gt;
*'''конфиг''' - файл с настройками ботов&lt;br /&gt;
*'''имена ботов в оффлайне''' - имена ботов, если они генерятся в оффлайне&lt;br /&gt;
*'''имена игрока в оффлайне''' - имя игрока в оффлайне&lt;br /&gt;
&lt;br /&gt;
Файл конфига умеет создавать &amp;quot;economicalCycle&amp;quot; (пока только боты для локаций, ModeWorkEconomicalCycle=&amp;quot;2&amp;quot; + указываем нужное количество ботов - &amp;quot;bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Добавляемые свойства=&lt;br /&gt;
&lt;br /&gt;
==Обработчики для синхронизации==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметр, синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse.&lt;br /&gt;
*'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр&lt;br /&gt;
*'''параметр''' - имя параметра в группе, общее для различных приложений&lt;br /&gt;
*'''объект''' - объект у которого синхронизируем параметр.&lt;br /&gt;
*'''параметр объекта''' - параметр который синхронизируем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае отсутствия данных на сервере, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта'''  - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'', показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', необходимо перегрузить лайаут.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply_server'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', необходимо перезагрузить лэйаут.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate'', необходимо вызывать ''parse_save''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние'''- новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate'', необходимо вызывать ''parse_load''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик успеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем '''ErrorManager'''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
==Обработчики голосования==&lt;br /&gt;
	&lt;br /&gt;
			&lt;br /&gt;
[[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' - обработчик успеха ''parse_poll''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.			&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
[[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' - обработчик успеха ''parse_vote''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для лидербордов==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены лидерборды''' - обработчик успеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за objectId''' - обработчик неуспеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', которая происходит из-за неуспешного ''parse_load'' (в этом случае ''parse_load'' необходимо повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''добавляемые лидерборды''' - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д.&lt;br /&gt;
*'''id''' - Идентификатор набора интерфейсных элементов, указывать нужно '''default''' для таблицы, в которую помещаются общие лидеры, для остальных не нужно&lt;br /&gt;
*'''имя лидербордов''' - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове ''parse_leaderbords_friends_param''&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&amp;quot; hint=&amp;quot;кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&amp;quot;  hint=&amp;quot;кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна. Должна иметь состояние show&lt;br /&gt;
*'''анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
==Обработчики для друзей и подарков==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены друзья''' - обработчик успеха ''parse_friends'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен запрос дружбы''' - обработчик успеха ''parse_friend_request_lb'', ''parse_friend_request_public'', ''parse_friend_request_param'', показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен подарок''' - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для временных лидербордов (соревнований)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev''&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования НЕ сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' при условии, что находимся не в окне соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''игрок потенциально попал в лидерборды прошлого периода''' - обработчик успеха ''parse_all_leaderboards'' - неинформативный, решили не использовать&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''у игрока призовое место в лидербордах прошлого периода и не забрана награда''' - обработчик успеха ''parse_all_leaderboards'', можно повести игрока забрать награду за предыдущий период соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''завершились лидерборды предыдущего периода''' - обработчик успеха ''parse_leaderboards_temporary'', вызываем ''parse_all_leaderboards'', показываем информационное окно с информацией о том, что идет подсчет результатов&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за levelId''' - обработчик неуспеха ''parse_leaderboards_temporary'', которая происходит из-за неуспеха ''parse_all_leaderboards'' (в этом случае ''parse_all_leaderboards'' желательно повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''индикатор награды за временные лидерборды''' - визуализация награды за временные лидерборды&lt;br /&gt;
*'''res1''' - счетчик - награда за лидерство в res1,&lt;br /&gt;
*'''res2''' - счетчик - награда за лидерство в res2,&lt;br /&gt;
*'''item''' - иконка предмета - награды за лидерство,&lt;br /&gt;
*'''item num''' - счетчик предмета - награды за лидерство.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''лидеры предыдущего этапа временных лидербордов''' - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал)&lt;br /&gt;
*'''leaderboardsitem''' - объект типа [[Leaderboardsitem]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''периодические лидерборды''' - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики&lt;br /&gt;
*'''имя''' - Периодический лидерборд в parse (название таблицы)&lt;br /&gt;
*'''min''' - Минимальный уровень экономики&lt;br /&gt;
*'''max''' - Максимальный уровень экономики&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;
[[Файл:+.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;
Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове ''parse_load''. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались).&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''0  - local_device_synchronization''' - синхронизация параметров между приложениями одного устройства;&lt;br /&gt;
&lt;br /&gt;
*'''1  - parse_resolve''' - ресолвим конфликт и ждем подтверждения;&lt;br /&gt;
&lt;br /&gt;
*'''2  - parse_idle''' - состояние простоя, означает, что мы не ждем ответа ни на один запрос;&lt;br /&gt;
&lt;br /&gt;
*'''3  - parse_load''' - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;&lt;br /&gt;
&lt;br /&gt;
*'''4  - parse_save''' - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
        &lt;br /&gt;
*'''5  - parse_leaderboards''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''6  - parse_leaderboards_friends''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''7  - parse_submit''' - заслать очки в парс взяв очки из поля score и уровень из поля level;&lt;br /&gt;
&lt;br /&gt;
*'''8  - parse_apply''' - применить скачанные опции;&lt;br /&gt;
&lt;br /&gt;
*'''9  - parse_get_public_lb''' - скопировать паблик данные кликнутого юзера из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''10 - parse_poll''' - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;&lt;br /&gt;
&lt;br /&gt;
*'''11 - parse_poll_prev''' - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;&lt;br /&gt;
&lt;br /&gt;
*'''12 - parse_vote''' - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;&lt;br /&gt;
&lt;br /&gt;
*'''13 - parse_share_poll''' - зашарить результаты текущего опроса;&lt;br /&gt;
&lt;br /&gt;
*'''14 - parse_forced_save''' - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
&lt;br /&gt;
*'''15 - parse_apply_server''' - применить опции и отправить ресолв;&lt;br /&gt;
&lt;br /&gt;
*'''16 - parse_clear_notifications''' - отписаться от уведомлений;&lt;br /&gt;
&lt;br /&gt;
*'''17 - parse_add_notification''' - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);&lt;br /&gt;
&lt;br /&gt;
*'''18 - parse_time''' - запросить время;&lt;br /&gt;
&lt;br /&gt;
*'''19 - parse_friends''' - заполнить таблицу всех друзей (новые подарки);&lt;br /&gt;
   &lt;br /&gt;
*'''20 - parse_isolate''' - отказаться от слияния аккаунтов;&lt;br /&gt;
&lt;br /&gt;
*'''21 - parse_un_isolate''' - отменить изоляцию;&lt;br /&gt;
&lt;br /&gt;
*'''22 - parse_cancel_apply''' - отменить синхронизацию и разрешить сейвы;&lt;br /&gt;
&lt;br /&gt;
*'''23 - scroll_friends_to_lb''' - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''24 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''25 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''26 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''27 - parse_flush_notifications''' - принудительно зафлушить нотификейшены, если мы этого не делали ранее;&lt;br /&gt;
&lt;br /&gt;
*'''28 - parse_all_leaderboards''' - получение информации по всем лидербордам, возможное обнуление текущих очков.&lt;br /&gt;
&lt;br /&gt;
*'''29 - parse_submit_temporary''' - сабмит очков в temporary лидерборд;&lt;br /&gt;
&lt;br /&gt;
*'''30 - parse_leaderboards_temporary''' - получение таблицы temporary лидерборда;&lt;br /&gt;
&lt;br /&gt;
*'''31 - parse_leaderboards_temporary_prev''' - получение таблицы результатов предыдущего периода в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''32 - parse_leaderboards_claim''' - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''33 - parse_leaderboards_animation''' - старт анимации перемещения ячеек таблицы в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''34 - parse_friend_request_param''' - приглашение дружить, в param указать object_id;&lt;br /&gt;
&lt;br /&gt;
*'''35 - parse_friend_request_lb''' - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''36 - parse_friend_confirm''' - подтверждение дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''37 - parse_friend_cancel''' - отмена дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''38 - parse_friend_confirm_table''' - подтверждение дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''39 - parse_friend_cancel_table''' - отмена дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''40 - parse_friend_request_public''' - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''41 - parse_friend_delete_public''' - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''42 - parse_friend_check_requests''' - проверить входящие запросы (инвайты, подарки...);&lt;br /&gt;
&lt;br /&gt;
*'''43 - parse_leaderboards_friends_param''' -  показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.;&lt;br /&gt;
&lt;br /&gt;
*'''44 - parse_get_public_fr''' - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''45 - parse_scroll_temporary_on_me''' - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан);&lt;br /&gt;
&lt;br /&gt;
*'''46 - parse_bots_info''' - получить информацию о ботах отдельно от периодических лидербордов.&lt;br /&gt;
&lt;br /&gt;
*'''47 - get_country''' - получить страну&lt;br /&gt;
&lt;br /&gt;
*'''48 - parse_scroll_default_on_me''' - промотать таблицу default на меня&lt;br /&gt;
&lt;br /&gt;
*'''49 - parse_info''' - получить инфо о пользователе взяв objectId из param&lt;br /&gt;
&lt;br /&gt;
*'''50 - parse_invitable''' - заполнить таблицу приглашаемых друзей&lt;br /&gt;
&lt;br /&gt;
=Сообщения в лог=&lt;br /&gt;
&lt;br /&gt;
Объект пишет в опции строки:&lt;br /&gt;
I/GCloud GCloud::state() state val = 2 state = 3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Коды ошибок:==&lt;br /&gt;
&lt;br /&gt;
*'''6''' - опрос закончился;&lt;br /&gt;
*'''7''' - ошибка версионности;&lt;br /&gt;
*'''1000''' - отсутсвие интернета.&lt;br /&gt;
В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003&lt;br /&gt;
&lt;br /&gt;
Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек):&lt;br /&gt;
'''4000 + номер состояния''', т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья)&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Options|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9530</id>
		<title>Cloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9530"/>
		<updated>2018-05-10T12:37:21Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Обработчики для лидербордов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект необходим для синхронизации приложения с облаком.&lt;br /&gt;
&lt;br /&gt;
=Параметры объекта Cloud=&lt;br /&gt;
&lt;br /&gt;
==parse general==&lt;br /&gt;
&lt;br /&gt;
*'''app''' - Код приложения из parse&lt;br /&gt;
*'''key''' - Ключ приложения из parse&lt;br /&gt;
*'''имя игры''' - Наше внутреннее имя игры в parse&lt;br /&gt;
*'''имя игрока''' - Имя игрока. Заполнить до любых вызовов состояний&lt;br /&gt;
*'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)&lt;br /&gt;
*'''автоприменение''' - Применять лучшие опции автоматически. Если &amp;quot;нет&amp;quot; то нужно подтверждение пользователя.&lt;br /&gt;
*'''esocial''' - объект типа esocial для получения списка друзей.&lt;br /&gt;
*'''повторять лоад раз''' - количество повторов parse_load при неуспехе, если не отсутствие интернета.&lt;br /&gt;
*'''автолоад''' - автоматически вызывать parse_load при логине в социальной сети.&lt;br /&gt;
&lt;br /&gt;
==parse leaderboards==&lt;br /&gt;
&lt;br /&gt;
*'''лидерборд''' - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!&lt;br /&gt;
*'''очки''' - Очки для отправки. Валидное целое число!&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;.&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''всегда запрашивать''' - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1)&lt;br /&gt;
*'''дефолтное имя''' - если у нас все еще нет имени человека, вместо него будет эта строка&lt;br /&gt;
*'''специальная сортировка''' ( special_sort ) - специальная сортировка, по лвлу ( задаём &amp;quot;1&amp;quot; когда открываем лидерборды глобальные/ друзей; ставим &amp;quot;0&amp;quot; в лидерах монстров/локаций)&lt;br /&gt;
*'''анимация смены мест''' - анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
*'''периодический лидерборд''' - Периодический лидерборд в parse&lt;br /&gt;
*'''(периодический) таблица''' - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) таблица предыдущая''' - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу текущего лидерборда&lt;br /&gt;
*'''(периодический) шаблон предыдущий''' - объект типа [[Leaderboardsitem]] для помещения в таблицу предыдущего лидерборда&lt;br /&gt;
*'''(периодический) свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''(периодический) свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''(периодический) своя иконка''' - иконка игрока&lt;br /&gt;
*'''(периодический) таймер''' - иконка игрока&lt;br /&gt;
*'''(периодический) запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''(периодический) анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
*'''(периодический) в предыдущую таблицу только себя''' - в предыдущую таблицу только себя (нет=0, да=1)&lt;br /&gt;
*'''(периодический) таблица наград''' - объект-таблица, в который сложим шаблоны наград&lt;br /&gt;
*'''(периодический) шаблон награды''' - объект типа rewarditem&lt;br /&gt;
&lt;br /&gt;
==parse голосовалка==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''таблица пред.''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон пред.''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название пред.''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''время''' - объект типа таймер, куда мы сложим оставшееся время опроса;&lt;br /&gt;
*'''текст шаринга''' - текст шаринга.&lt;br /&gt;
&lt;br /&gt;
==parse друзья и подарки==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим шаблон [[Leaderboardsitem]];&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу;&lt;br /&gt;
*'''добавить приглашаемых''' - &amp;quot;сколько приглашаемых друзей добавить к играющим друзьям;&lt;br /&gt;
*'''прятать одаренных''' - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок.&lt;br /&gt;
&lt;br /&gt;
==parse запросы дружбы==&lt;br /&gt;
&lt;br /&gt;
*'''текст запроса дружбы''' - Текстовый айди для исходящего запроса дружбы;&lt;br /&gt;
*'''окно''' - Само окно. Должно иметь состояние show;&lt;br /&gt;
*'''иконка''' - Портрет приглашающего;&lt;br /&gt;
*'''имя''' - Имя приглашающего;&lt;br /&gt;
*'''таблица инвайтов''' - таблица, в которую сложим все инвайты;&lt;br /&gt;
*'''шаблон инвайта (inviteitem)''' - Шаблон инвайта для помещения в таблицу.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона в таблице лидеров==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона для периодических лидербордов==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==Приглашение в мультиплеер==&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера&lt;br /&gt;
*'''информация''' - информация о приглашающем, объект типа leaderboardsitem&lt;br /&gt;
&lt;br /&gt;
==Боты для лидербордов==&lt;br /&gt;
*'''конфиг''' - файл с настройками ботов&lt;br /&gt;
*'''имена ботов в оффлайне''' - имена ботов, если они генерятся в оффлайне&lt;br /&gt;
*'''имена игрока в оффлайне''' - имя игрока в оффлайне&lt;br /&gt;
&lt;br /&gt;
Файл конфига умеет создавать &amp;quot;economicalCycle&amp;quot; (пока только боты для локаций, ModeWorkEconomicalCycle=&amp;quot;2&amp;quot; + указываем нужное количество ботов - &amp;quot;bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Добавляемые свойства=&lt;br /&gt;
&lt;br /&gt;
==Обработчики для синхронизации==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметр, синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse.&lt;br /&gt;
*'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр&lt;br /&gt;
*'''параметр''' - имя параметра в группе, общее для различных приложений&lt;br /&gt;
*'''объект''' - объект у которого синхронизируем параметр.&lt;br /&gt;
*'''параметр объекта''' - параметр который синхронизируем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае отсутствия данных на сервере, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта'''  - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'', показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', необходимо перегрузить лайаут.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply_server'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', необходимо перезагрузить лэйаут.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate'', необходимо вызывать ''parse_save''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние'''- новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate'', необходимо вызывать ''parse_load''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик успеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем '''ErrorManager'''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
==Обработчики голосования==&lt;br /&gt;
	&lt;br /&gt;
			&lt;br /&gt;
[[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' - обработчик успеха ''parse_poll''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.			&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
[[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' - обработчик успеха ''parse_vote''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для лидербордов==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены лидерборды''' - обработчик успеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за objectId''' - обработчик неуспеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', которая происходит из-за неуспешного ''parse_load'' (в этом случае ''parse_load'' необходимо повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''добавляемые лидерборды''' - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д.&lt;br /&gt;
*'''id''' - Идентификатор набора интерфейсных элементов, указывать нужно '''default''' для таблицы, в которую помещаются общие лидеры, для остальных не нужно&lt;br /&gt;
*'''имя лидербордов''' - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове ''parse_leaderbords_friends_param''&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&amp;quot; hint=&amp;quot;кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&amp;quot;  hint=&amp;quot;кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна. Должна иметь состояние show&lt;br /&gt;
*'''анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
==Обработчики для друзей и подарков==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены друзья''' - обработчик успеха ''parse_friends'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен запрос дружбы''' - обработчик успеха ''parse_friend_request_lb'', ''parse_friend_request_public'', ''parse_friend_request_param'', показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен подарок''' - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для временных лидербордов (соревнований)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev''&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования НЕ сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' при условии, что находимся не в окне соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''игрок потенциально попал в лидерборды прошлого периода''' - обработчик успеха ''parse_all_leaderboards'' - неинформативный, решили не использовать&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''у игрока призовое место в лидербордах прошлого периода и не забрана награда''' - обработчик успеха ''parse_all_leaderboards'', можно повести игрока забрать награду за предыдущий период соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''завершились лидерборды предыдущего периода''' - обработчик успеха ''parse_leaderboards_temporary'', вызываем ''parse_all_leaderboards'', показываем информационное окно с информацией о том, что идет подсчет результатов&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за levelId''' - обработчик неуспеха ''parse_leaderboards_temporary'', которая происходит из-за неуспеха ''parse_all_leaderboards'' (в этом случае ''parse_all_leaderboards'' желательно повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''индикатор награды за временные лидерборды''' - визуализация награды за временные лидерборды&lt;br /&gt;
*'''res1''' - счетчик - награда за лидерство в res1,&lt;br /&gt;
*'''res2''' - счетчик - награда за лидерство в res2,&lt;br /&gt;
*'''item''' - иконка предмета - награды за лидерство,&lt;br /&gt;
*'''item num''' - счетчик предмета - награды за лидерство.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''лидеры предыдущего этапа временных лидербордов''' - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал)&lt;br /&gt;
*'''leaderboardsitem''' - объект типа leaderboardsitem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''периодические лидерборды''' - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики&lt;br /&gt;
*'''имя''' - Периодический лидерборд в parse (название таблицы)&lt;br /&gt;
*'''min''' - Минимальный уровень экономики&lt;br /&gt;
*'''max''' - Максимальный уровень экономики&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;
==Обработчики для мультиплеера==&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;
Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове ''parse_load''. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались).&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''0  - local_device_synchronization''' - синхронизация параметров между приложениями одного устройства;&lt;br /&gt;
&lt;br /&gt;
*'''1  - parse_resolve''' - ресолвим конфликт и ждем подтверждения;&lt;br /&gt;
&lt;br /&gt;
*'''2  - parse_idle''' - состояние простоя, означает, что мы не ждем ответа ни на один запрос;&lt;br /&gt;
&lt;br /&gt;
*'''3  - parse_load''' - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;&lt;br /&gt;
&lt;br /&gt;
*'''4  - parse_save''' - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
        &lt;br /&gt;
*'''5  - parse_leaderboards''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''6  - parse_leaderboards_friends''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''7  - parse_submit''' - заслать очки в парс взяв очки из поля score и уровень из поля level;&lt;br /&gt;
&lt;br /&gt;
*'''8  - parse_apply''' - применить скачанные опции;&lt;br /&gt;
&lt;br /&gt;
*'''9  - parse_get_public_lb''' - скопировать паблик данные кликнутого юзера из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''10 - parse_poll''' - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;&lt;br /&gt;
&lt;br /&gt;
*'''11 - parse_poll_prev''' - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;&lt;br /&gt;
&lt;br /&gt;
*'''12 - parse_vote''' - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;&lt;br /&gt;
&lt;br /&gt;
*'''13 - parse_share_poll''' - зашарить результаты текущего опроса;&lt;br /&gt;
&lt;br /&gt;
*'''14 - parse_forced_save''' - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
&lt;br /&gt;
*'''15 - parse_apply_server''' - применить опции и отправить ресолв;&lt;br /&gt;
&lt;br /&gt;
*'''16 - parse_clear_notifications''' - отписаться от уведомлений;&lt;br /&gt;
&lt;br /&gt;
*'''17 - parse_add_notification''' - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);&lt;br /&gt;
&lt;br /&gt;
*'''18 - parse_time''' - запросить время;&lt;br /&gt;
&lt;br /&gt;
*'''19 - parse_friends''' - заполнить таблицу всех друзей (новые подарки);&lt;br /&gt;
   &lt;br /&gt;
*'''20 - parse_isolate''' - отказаться от слияния аккаунтов;&lt;br /&gt;
&lt;br /&gt;
*'''21 - parse_un_isolate''' - отменить изоляцию;&lt;br /&gt;
&lt;br /&gt;
*'''22 - parse_cancel_apply''' - отменить синхронизацию и разрешить сейвы;&lt;br /&gt;
&lt;br /&gt;
*'''23 - scroll_friends_to_lb''' - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''24 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''25 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''26 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''27 - parse_flush_notifications''' - принудительно зафлушить нотификейшены, если мы этого не делали ранее;&lt;br /&gt;
&lt;br /&gt;
*'''28 - parse_all_leaderboards''' - получение информации по всем лидербордам, возможное обнуление текущих очков.&lt;br /&gt;
&lt;br /&gt;
*'''29 - parse_submit_temporary''' - сабмит очков в temporary лидерборд;&lt;br /&gt;
&lt;br /&gt;
*'''30 - parse_leaderboards_temporary''' - получение таблицы temporary лидерборда;&lt;br /&gt;
&lt;br /&gt;
*'''31 - parse_leaderboards_temporary_prev''' - получение таблицы результатов предыдущего периода в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''32 - parse_leaderboards_claim''' - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''33 - parse_leaderboards_animation''' - старт анимации перемещения ячеек таблицы в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''34 - parse_friend_request_param''' - приглашение дружить, в param указать object_id;&lt;br /&gt;
&lt;br /&gt;
*'''35 - parse_friend_request_lb''' - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''36 - parse_friend_confirm''' - подтверждение дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''37 - parse_friend_cancel''' - отмена дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''38 - parse_friend_confirm_table''' - подтверждение дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''39 - parse_friend_cancel_table''' - отмена дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''40 - parse_friend_request_public''' - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''41 - parse_friend_delete_public''' - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''42 - parse_friend_check_requests''' - проверить входящие запросы (инвайты, подарки...);&lt;br /&gt;
&lt;br /&gt;
*'''43 - parse_leaderboards_friends_param''' -  показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.;&lt;br /&gt;
&lt;br /&gt;
*'''44 - parse_get_public_fr''' - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''45 - parse_scroll_temporary_on_me''' - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан);&lt;br /&gt;
&lt;br /&gt;
*'''46 - parse_bots_info''' - получить информацию о ботах отдельно от периодических лидербордов.&lt;br /&gt;
&lt;br /&gt;
*'''47 - get_country''' - получить страну&lt;br /&gt;
&lt;br /&gt;
*'''48 - parse_scroll_default_on_me''' - промотать таблицу default на меня&lt;br /&gt;
&lt;br /&gt;
*'''49 - parse_info''' - получить инфо о пользователе взяв objectId из param&lt;br /&gt;
&lt;br /&gt;
*'''50 - parse_invitable''' - заполнить таблицу приглашаемых друзей&lt;br /&gt;
&lt;br /&gt;
=Сообщения в лог=&lt;br /&gt;
&lt;br /&gt;
Объект пишет в опции строки:&lt;br /&gt;
I/GCloud GCloud::state() state val = 2 state = 3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Коды ошибок:==&lt;br /&gt;
&lt;br /&gt;
*'''6''' - опрос закончился;&lt;br /&gt;
*'''7''' - ошибка версионности;&lt;br /&gt;
*'''1000''' - отсутсвие интернета.&lt;br /&gt;
В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003&lt;br /&gt;
&lt;br /&gt;
Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек):&lt;br /&gt;
'''4000 + номер состояния''', т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья)&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Options|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9529</id>
		<title>Cloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9529"/>
		<updated>2018-05-10T12:36:29Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* parse друзья и подарки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект необходим для синхронизации приложения с облаком.&lt;br /&gt;
&lt;br /&gt;
=Параметры объекта Cloud=&lt;br /&gt;
&lt;br /&gt;
==parse general==&lt;br /&gt;
&lt;br /&gt;
*'''app''' - Код приложения из parse&lt;br /&gt;
*'''key''' - Ключ приложения из parse&lt;br /&gt;
*'''имя игры''' - Наше внутреннее имя игры в parse&lt;br /&gt;
*'''имя игрока''' - Имя игрока. Заполнить до любых вызовов состояний&lt;br /&gt;
*'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)&lt;br /&gt;
*'''автоприменение''' - Применять лучшие опции автоматически. Если &amp;quot;нет&amp;quot; то нужно подтверждение пользователя.&lt;br /&gt;
*'''esocial''' - объект типа esocial для получения списка друзей.&lt;br /&gt;
*'''повторять лоад раз''' - количество повторов parse_load при неуспехе, если не отсутствие интернета.&lt;br /&gt;
*'''автолоад''' - автоматически вызывать parse_load при логине в социальной сети.&lt;br /&gt;
&lt;br /&gt;
==parse leaderboards==&lt;br /&gt;
&lt;br /&gt;
*'''лидерборд''' - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!&lt;br /&gt;
*'''очки''' - Очки для отправки. Валидное целое число!&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;.&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''всегда запрашивать''' - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1)&lt;br /&gt;
*'''дефолтное имя''' - если у нас все еще нет имени человека, вместо него будет эта строка&lt;br /&gt;
*'''специальная сортировка''' ( special_sort ) - специальная сортировка, по лвлу ( задаём &amp;quot;1&amp;quot; когда открываем лидерборды глобальные/ друзей; ставим &amp;quot;0&amp;quot; в лидерах монстров/локаций)&lt;br /&gt;
*'''анимация смены мест''' - анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
*'''периодический лидерборд''' - Периодический лидерборд в parse&lt;br /&gt;
*'''(периодический) таблица''' - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) таблица предыдущая''' - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу текущего лидерборда&lt;br /&gt;
*'''(периодический) шаблон предыдущий''' - объект типа [[Leaderboardsitem]] для помещения в таблицу предыдущего лидерборда&lt;br /&gt;
*'''(периодический) свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''(периодический) свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''(периодический) своя иконка''' - иконка игрока&lt;br /&gt;
*'''(периодический) таймер''' - иконка игрока&lt;br /&gt;
*'''(периодический) запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''(периодический) анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
*'''(периодический) в предыдущую таблицу только себя''' - в предыдущую таблицу только себя (нет=0, да=1)&lt;br /&gt;
*'''(периодический) таблица наград''' - объект-таблица, в который сложим шаблоны наград&lt;br /&gt;
*'''(периодический) шаблон награды''' - объект типа rewarditem&lt;br /&gt;
&lt;br /&gt;
==parse голосовалка==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''таблица пред.''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон пред.''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название пред.''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''время''' - объект типа таймер, куда мы сложим оставшееся время опроса;&lt;br /&gt;
*'''текст шаринга''' - текст шаринга.&lt;br /&gt;
&lt;br /&gt;
==parse друзья и подарки==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим шаблон [[Leaderboardsitem]];&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу;&lt;br /&gt;
*'''добавить приглашаемых''' - &amp;quot;сколько приглашаемых друзей добавить к играющим друзьям;&lt;br /&gt;
*'''прятать одаренных''' - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок.&lt;br /&gt;
&lt;br /&gt;
==parse запросы дружбы==&lt;br /&gt;
&lt;br /&gt;
*'''текст запроса дружбы''' - Текстовый айди для исходящего запроса дружбы;&lt;br /&gt;
*'''окно''' - Само окно. Должно иметь состояние show;&lt;br /&gt;
*'''иконка''' - Портрет приглашающего;&lt;br /&gt;
*'''имя''' - Имя приглашающего;&lt;br /&gt;
*'''таблица инвайтов''' - таблица, в которую сложим все инвайты;&lt;br /&gt;
*'''шаблон инвайта (inviteitem)''' - Шаблон инвайта для помещения в таблицу.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона в таблице лидеров==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона для периодических лидербордов==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==Приглашение в мультиплеер==&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера&lt;br /&gt;
*'''информация''' - информация о приглашающем, объект типа leaderboardsitem&lt;br /&gt;
&lt;br /&gt;
==Боты для лидербордов==&lt;br /&gt;
*'''конфиг''' - файл с настройками ботов&lt;br /&gt;
*'''имена ботов в оффлайне''' - имена ботов, если они генерятся в оффлайне&lt;br /&gt;
*'''имена игрока в оффлайне''' - имя игрока в оффлайне&lt;br /&gt;
&lt;br /&gt;
Файл конфига умеет создавать &amp;quot;economicalCycle&amp;quot; (пока только боты для локаций, ModeWorkEconomicalCycle=&amp;quot;2&amp;quot; + указываем нужное количество ботов - &amp;quot;bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Добавляемые свойства=&lt;br /&gt;
&lt;br /&gt;
==Обработчики для синхронизации==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметр, синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse.&lt;br /&gt;
*'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр&lt;br /&gt;
*'''параметр''' - имя параметра в группе, общее для различных приложений&lt;br /&gt;
*'''объект''' - объект у которого синхронизируем параметр.&lt;br /&gt;
*'''параметр объекта''' - параметр который синхронизируем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае отсутствия данных на сервере, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта'''  - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'', показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', необходимо перегрузить лайаут.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply_server'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', необходимо перезагрузить лэйаут.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate'', необходимо вызывать ''parse_save''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние'''- новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate'', необходимо вызывать ''parse_load''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик успеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем '''ErrorManager'''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
==Обработчики голосования==&lt;br /&gt;
	&lt;br /&gt;
			&lt;br /&gt;
[[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' - обработчик успеха ''parse_poll''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.			&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
[[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' - обработчик успеха ''parse_vote''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для лидербордов==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены лидерборды''' - обработчик успеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за objectId''' - обработчик неуспеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', которая происходит из-за неуспешного ''parse_load'' (в этом случае ''parse_load'' необходимо повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''добавляемые лидерборды''' - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д.&lt;br /&gt;
*'''id''' - Идентификатор набора интерфейсных элементов, указывать нужно '''default''' для таблицы, в которую помещаются общие лидеры, для остальных не нужно&lt;br /&gt;
*'''имя лидербордов''' - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове ''parse_leaderbords_friends_param''&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки&lt;br /&gt;
*'''шаблон''' - объект типа leaderboardsitem для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&amp;quot; hint=&amp;quot;кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&amp;quot;  hint=&amp;quot;кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна. Должна иметь состояние show&lt;br /&gt;
*'''анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для друзей и подарков==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены друзья''' - обработчик успеха ''parse_friends'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен запрос дружбы''' - обработчик успеха ''parse_friend_request_lb'', ''parse_friend_request_public'', ''parse_friend_request_param'', показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен подарок''' - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для временных лидербордов (соревнований)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev''&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования НЕ сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' при условии, что находимся не в окне соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''игрок потенциально попал в лидерборды прошлого периода''' - обработчик успеха ''parse_all_leaderboards'' - неинформативный, решили не использовать&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''у игрока призовое место в лидербордах прошлого периода и не забрана награда''' - обработчик успеха ''parse_all_leaderboards'', можно повести игрока забрать награду за предыдущий период соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''завершились лидерборды предыдущего периода''' - обработчик успеха ''parse_leaderboards_temporary'', вызываем ''parse_all_leaderboards'', показываем информационное окно с информацией о том, что идет подсчет результатов&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за levelId''' - обработчик неуспеха ''parse_leaderboards_temporary'', которая происходит из-за неуспеха ''parse_all_leaderboards'' (в этом случае ''parse_all_leaderboards'' желательно повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''индикатор награды за временные лидерборды''' - визуализация награды за временные лидерборды&lt;br /&gt;
*'''res1''' - счетчик - награда за лидерство в res1,&lt;br /&gt;
*'''res2''' - счетчик - награда за лидерство в res2,&lt;br /&gt;
*'''item''' - иконка предмета - награды за лидерство,&lt;br /&gt;
*'''item num''' - счетчик предмета - награды за лидерство.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''лидеры предыдущего этапа временных лидербордов''' - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал)&lt;br /&gt;
*'''leaderboardsitem''' - объект типа leaderboardsitem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''периодические лидерборды''' - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики&lt;br /&gt;
*'''имя''' - Периодический лидерборд в parse (название таблицы)&lt;br /&gt;
*'''min''' - Минимальный уровень экономики&lt;br /&gt;
*'''max''' - Максимальный уровень экономики&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;
==Обработчики для мультиплеера==&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;
Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове ''parse_load''. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались).&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''0  - local_device_synchronization''' - синхронизация параметров между приложениями одного устройства;&lt;br /&gt;
&lt;br /&gt;
*'''1  - parse_resolve''' - ресолвим конфликт и ждем подтверждения;&lt;br /&gt;
&lt;br /&gt;
*'''2  - parse_idle''' - состояние простоя, означает, что мы не ждем ответа ни на один запрос;&lt;br /&gt;
&lt;br /&gt;
*'''3  - parse_load''' - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;&lt;br /&gt;
&lt;br /&gt;
*'''4  - parse_save''' - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
        &lt;br /&gt;
*'''5  - parse_leaderboards''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''6  - parse_leaderboards_friends''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''7  - parse_submit''' - заслать очки в парс взяв очки из поля score и уровень из поля level;&lt;br /&gt;
&lt;br /&gt;
*'''8  - parse_apply''' - применить скачанные опции;&lt;br /&gt;
&lt;br /&gt;
*'''9  - parse_get_public_lb''' - скопировать паблик данные кликнутого юзера из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''10 - parse_poll''' - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;&lt;br /&gt;
&lt;br /&gt;
*'''11 - parse_poll_prev''' - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;&lt;br /&gt;
&lt;br /&gt;
*'''12 - parse_vote''' - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;&lt;br /&gt;
&lt;br /&gt;
*'''13 - parse_share_poll''' - зашарить результаты текущего опроса;&lt;br /&gt;
&lt;br /&gt;
*'''14 - parse_forced_save''' - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
&lt;br /&gt;
*'''15 - parse_apply_server''' - применить опции и отправить ресолв;&lt;br /&gt;
&lt;br /&gt;
*'''16 - parse_clear_notifications''' - отписаться от уведомлений;&lt;br /&gt;
&lt;br /&gt;
*'''17 - parse_add_notification''' - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);&lt;br /&gt;
&lt;br /&gt;
*'''18 - parse_time''' - запросить время;&lt;br /&gt;
&lt;br /&gt;
*'''19 - parse_friends''' - заполнить таблицу всех друзей (новые подарки);&lt;br /&gt;
   &lt;br /&gt;
*'''20 - parse_isolate''' - отказаться от слияния аккаунтов;&lt;br /&gt;
&lt;br /&gt;
*'''21 - parse_un_isolate''' - отменить изоляцию;&lt;br /&gt;
&lt;br /&gt;
*'''22 - parse_cancel_apply''' - отменить синхронизацию и разрешить сейвы;&lt;br /&gt;
&lt;br /&gt;
*'''23 - scroll_friends_to_lb''' - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''24 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''25 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''26 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''27 - parse_flush_notifications''' - принудительно зафлушить нотификейшены, если мы этого не делали ранее;&lt;br /&gt;
&lt;br /&gt;
*'''28 - parse_all_leaderboards''' - получение информации по всем лидербордам, возможное обнуление текущих очков.&lt;br /&gt;
&lt;br /&gt;
*'''29 - parse_submit_temporary''' - сабмит очков в temporary лидерборд;&lt;br /&gt;
&lt;br /&gt;
*'''30 - parse_leaderboards_temporary''' - получение таблицы temporary лидерборда;&lt;br /&gt;
&lt;br /&gt;
*'''31 - parse_leaderboards_temporary_prev''' - получение таблицы результатов предыдущего периода в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''32 - parse_leaderboards_claim''' - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''33 - parse_leaderboards_animation''' - старт анимации перемещения ячеек таблицы в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''34 - parse_friend_request_param''' - приглашение дружить, в param указать object_id;&lt;br /&gt;
&lt;br /&gt;
*'''35 - parse_friend_request_lb''' - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''36 - parse_friend_confirm''' - подтверждение дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''37 - parse_friend_cancel''' - отмена дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''38 - parse_friend_confirm_table''' - подтверждение дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''39 - parse_friend_cancel_table''' - отмена дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''40 - parse_friend_request_public''' - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''41 - parse_friend_delete_public''' - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''42 - parse_friend_check_requests''' - проверить входящие запросы (инвайты, подарки...);&lt;br /&gt;
&lt;br /&gt;
*'''43 - parse_leaderboards_friends_param''' -  показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.;&lt;br /&gt;
&lt;br /&gt;
*'''44 - parse_get_public_fr''' - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''45 - parse_scroll_temporary_on_me''' - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан);&lt;br /&gt;
&lt;br /&gt;
*'''46 - parse_bots_info''' - получить информацию о ботах отдельно от периодических лидербордов.&lt;br /&gt;
&lt;br /&gt;
*'''47 - get_country''' - получить страну&lt;br /&gt;
&lt;br /&gt;
*'''48 - parse_scroll_default_on_me''' - промотать таблицу default на меня&lt;br /&gt;
&lt;br /&gt;
*'''49 - parse_info''' - получить инфо о пользователе взяв objectId из param&lt;br /&gt;
&lt;br /&gt;
*'''50 - parse_invitable''' - заполнить таблицу приглашаемых друзей&lt;br /&gt;
&lt;br /&gt;
=Сообщения в лог=&lt;br /&gt;
&lt;br /&gt;
Объект пишет в опции строки:&lt;br /&gt;
I/GCloud GCloud::state() state val = 2 state = 3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Коды ошибок:==&lt;br /&gt;
&lt;br /&gt;
*'''6''' - опрос закончился;&lt;br /&gt;
*'''7''' - ошибка версионности;&lt;br /&gt;
*'''1000''' - отсутсвие интернета.&lt;br /&gt;
В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003&lt;br /&gt;
&lt;br /&gt;
Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек):&lt;br /&gt;
'''4000 + номер состояния''', т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья)&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Options|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9528</id>
		<title>Cloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9528"/>
		<updated>2018-05-10T12:36:08Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* parse leaderboards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект необходим для синхронизации приложения с облаком.&lt;br /&gt;
&lt;br /&gt;
=Параметры объекта Cloud=&lt;br /&gt;
&lt;br /&gt;
==parse general==&lt;br /&gt;
&lt;br /&gt;
*'''app''' - Код приложения из parse&lt;br /&gt;
*'''key''' - Ключ приложения из parse&lt;br /&gt;
*'''имя игры''' - Наше внутреннее имя игры в parse&lt;br /&gt;
*'''имя игрока''' - Имя игрока. Заполнить до любых вызовов состояний&lt;br /&gt;
*'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)&lt;br /&gt;
*'''автоприменение''' - Применять лучшие опции автоматически. Если &amp;quot;нет&amp;quot; то нужно подтверждение пользователя.&lt;br /&gt;
*'''esocial''' - объект типа esocial для получения списка друзей.&lt;br /&gt;
*'''повторять лоад раз''' - количество повторов parse_load при неуспехе, если не отсутствие интернета.&lt;br /&gt;
*'''автолоад''' - автоматически вызывать parse_load при логине в социальной сети.&lt;br /&gt;
&lt;br /&gt;
==parse leaderboards==&lt;br /&gt;
&lt;br /&gt;
*'''лидерборд''' - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!&lt;br /&gt;
*'''очки''' - Очки для отправки. Валидное целое число!&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;.&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''всегда запрашивать''' - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1)&lt;br /&gt;
*'''дефолтное имя''' - если у нас все еще нет имени человека, вместо него будет эта строка&lt;br /&gt;
*'''специальная сортировка''' ( special_sort ) - специальная сортировка, по лвлу ( задаём &amp;quot;1&amp;quot; когда открываем лидерборды глобальные/ друзей; ставим &amp;quot;0&amp;quot; в лидерах монстров/локаций)&lt;br /&gt;
*'''анимация смены мест''' - анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
*'''периодический лидерборд''' - Периодический лидерборд в parse&lt;br /&gt;
*'''(периодический) таблица''' - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) таблица предыдущая''' - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу текущего лидерборда&lt;br /&gt;
*'''(периодический) шаблон предыдущий''' - объект типа [[Leaderboardsitem]] для помещения в таблицу предыдущего лидерборда&lt;br /&gt;
*'''(периодический) свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''(периодический) свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''(периодический) своя иконка''' - иконка игрока&lt;br /&gt;
*'''(периодический) таймер''' - иконка игрока&lt;br /&gt;
*'''(периодический) запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''(периодический) анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
*'''(периодический) в предыдущую таблицу только себя''' - в предыдущую таблицу только себя (нет=0, да=1)&lt;br /&gt;
*'''(периодический) таблица наград''' - объект-таблица, в который сложим шаблоны наград&lt;br /&gt;
*'''(периодический) шаблон награды''' - объект типа rewarditem&lt;br /&gt;
&lt;br /&gt;
==parse голосовалка==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''таблица пред.''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон пред.''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название пред.''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''время''' - объект типа таймер, куда мы сложим оставшееся время опроса;&lt;br /&gt;
*'''текст шаринга''' - текст шаринга.&lt;br /&gt;
&lt;br /&gt;
==parse друзья и подарки==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим шаблон leaderbordsitem;&lt;br /&gt;
*'''шаблон''' - объект типа leaderboardsitem для помещения в таблицу;&lt;br /&gt;
*'''добавить приглашаемых''' - &amp;quot;сколько приглашаемых друзей добавить к играющим друзьям;&lt;br /&gt;
*'''прятать одаренных''' - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок.&lt;br /&gt;
&lt;br /&gt;
==parse запросы дружбы==&lt;br /&gt;
&lt;br /&gt;
*'''текст запроса дружбы''' - Текстовый айди для исходящего запроса дружбы;&lt;br /&gt;
*'''окно''' - Само окно. Должно иметь состояние show;&lt;br /&gt;
*'''иконка''' - Портрет приглашающего;&lt;br /&gt;
*'''имя''' - Имя приглашающего;&lt;br /&gt;
*'''таблица инвайтов''' - таблица, в которую сложим все инвайты;&lt;br /&gt;
*'''шаблон инвайта (inviteitem)''' - Шаблон инвайта для помещения в таблицу.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона в таблице лидеров==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона для периодических лидербордов==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==Приглашение в мультиплеер==&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера&lt;br /&gt;
*'''информация''' - информация о приглашающем, объект типа leaderboardsitem&lt;br /&gt;
&lt;br /&gt;
==Боты для лидербордов==&lt;br /&gt;
*'''конфиг''' - файл с настройками ботов&lt;br /&gt;
*'''имена ботов в оффлайне''' - имена ботов, если они генерятся в оффлайне&lt;br /&gt;
*'''имена игрока в оффлайне''' - имя игрока в оффлайне&lt;br /&gt;
&lt;br /&gt;
Файл конфига умеет создавать &amp;quot;economicalCycle&amp;quot; (пока только боты для локаций, ModeWorkEconomicalCycle=&amp;quot;2&amp;quot; + указываем нужное количество ботов - &amp;quot;bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Добавляемые свойства=&lt;br /&gt;
&lt;br /&gt;
==Обработчики для синхронизации==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметр, синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse.&lt;br /&gt;
*'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр&lt;br /&gt;
*'''параметр''' - имя параметра в группе, общее для различных приложений&lt;br /&gt;
*'''объект''' - объект у которого синхронизируем параметр.&lt;br /&gt;
*'''параметр объекта''' - параметр который синхронизируем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае отсутствия данных на сервере, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта'''  - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'', показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', необходимо перегрузить лайаут.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply_server'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', необходимо перезагрузить лэйаут.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate'', необходимо вызывать ''parse_save''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние'''- новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate'', необходимо вызывать ''parse_load''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик успеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем '''ErrorManager'''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
==Обработчики голосования==&lt;br /&gt;
	&lt;br /&gt;
			&lt;br /&gt;
[[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' - обработчик успеха ''parse_poll''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.			&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
[[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' - обработчик успеха ''parse_vote''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для лидербордов==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены лидерборды''' - обработчик успеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за objectId''' - обработчик неуспеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', которая происходит из-за неуспешного ''parse_load'' (в этом случае ''parse_load'' необходимо повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''добавляемые лидерборды''' - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д.&lt;br /&gt;
*'''id''' - Идентификатор набора интерфейсных элементов, указывать нужно '''default''' для таблицы, в которую помещаются общие лидеры, для остальных не нужно&lt;br /&gt;
*'''имя лидербордов''' - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове ''parse_leaderbords_friends_param''&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки&lt;br /&gt;
*'''шаблон''' - объект типа leaderboardsitem для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&amp;quot; hint=&amp;quot;кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&amp;quot;  hint=&amp;quot;кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна. Должна иметь состояние show&lt;br /&gt;
*'''анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для друзей и подарков==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены друзья''' - обработчик успеха ''parse_friends'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен запрос дружбы''' - обработчик успеха ''parse_friend_request_lb'', ''parse_friend_request_public'', ''parse_friend_request_param'', показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен подарок''' - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для временных лидербордов (соревнований)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev''&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования НЕ сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' при условии, что находимся не в окне соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''игрок потенциально попал в лидерборды прошлого периода''' - обработчик успеха ''parse_all_leaderboards'' - неинформативный, решили не использовать&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''у игрока призовое место в лидербордах прошлого периода и не забрана награда''' - обработчик успеха ''parse_all_leaderboards'', можно повести игрока забрать награду за предыдущий период соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''завершились лидерборды предыдущего периода''' - обработчик успеха ''parse_leaderboards_temporary'', вызываем ''parse_all_leaderboards'', показываем информационное окно с информацией о том, что идет подсчет результатов&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за levelId''' - обработчик неуспеха ''parse_leaderboards_temporary'', которая происходит из-за неуспеха ''parse_all_leaderboards'' (в этом случае ''parse_all_leaderboards'' желательно повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''индикатор награды за временные лидерборды''' - визуализация награды за временные лидерборды&lt;br /&gt;
*'''res1''' - счетчик - награда за лидерство в res1,&lt;br /&gt;
*'''res2''' - счетчик - награда за лидерство в res2,&lt;br /&gt;
*'''item''' - иконка предмета - награды за лидерство,&lt;br /&gt;
*'''item num''' - счетчик предмета - награды за лидерство.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''лидеры предыдущего этапа временных лидербордов''' - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал)&lt;br /&gt;
*'''leaderboardsitem''' - объект типа leaderboardsitem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''периодические лидерборды''' - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики&lt;br /&gt;
*'''имя''' - Периодический лидерборд в parse (название таблицы)&lt;br /&gt;
*'''min''' - Минимальный уровень экономики&lt;br /&gt;
*'''max''' - Максимальный уровень экономики&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;
==Обработчики для мультиплеера==&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;
Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове ''parse_load''. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались).&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''0  - local_device_synchronization''' - синхронизация параметров между приложениями одного устройства;&lt;br /&gt;
&lt;br /&gt;
*'''1  - parse_resolve''' - ресолвим конфликт и ждем подтверждения;&lt;br /&gt;
&lt;br /&gt;
*'''2  - parse_idle''' - состояние простоя, означает, что мы не ждем ответа ни на один запрос;&lt;br /&gt;
&lt;br /&gt;
*'''3  - parse_load''' - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;&lt;br /&gt;
&lt;br /&gt;
*'''4  - parse_save''' - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
        &lt;br /&gt;
*'''5  - parse_leaderboards''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''6  - parse_leaderboards_friends''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''7  - parse_submit''' - заслать очки в парс взяв очки из поля score и уровень из поля level;&lt;br /&gt;
&lt;br /&gt;
*'''8  - parse_apply''' - применить скачанные опции;&lt;br /&gt;
&lt;br /&gt;
*'''9  - parse_get_public_lb''' - скопировать паблик данные кликнутого юзера из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''10 - parse_poll''' - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;&lt;br /&gt;
&lt;br /&gt;
*'''11 - parse_poll_prev''' - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;&lt;br /&gt;
&lt;br /&gt;
*'''12 - parse_vote''' - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;&lt;br /&gt;
&lt;br /&gt;
*'''13 - parse_share_poll''' - зашарить результаты текущего опроса;&lt;br /&gt;
&lt;br /&gt;
*'''14 - parse_forced_save''' - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
&lt;br /&gt;
*'''15 - parse_apply_server''' - применить опции и отправить ресолв;&lt;br /&gt;
&lt;br /&gt;
*'''16 - parse_clear_notifications''' - отписаться от уведомлений;&lt;br /&gt;
&lt;br /&gt;
*'''17 - parse_add_notification''' - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);&lt;br /&gt;
&lt;br /&gt;
*'''18 - parse_time''' - запросить время;&lt;br /&gt;
&lt;br /&gt;
*'''19 - parse_friends''' - заполнить таблицу всех друзей (новые подарки);&lt;br /&gt;
   &lt;br /&gt;
*'''20 - parse_isolate''' - отказаться от слияния аккаунтов;&lt;br /&gt;
&lt;br /&gt;
*'''21 - parse_un_isolate''' - отменить изоляцию;&lt;br /&gt;
&lt;br /&gt;
*'''22 - parse_cancel_apply''' - отменить синхронизацию и разрешить сейвы;&lt;br /&gt;
&lt;br /&gt;
*'''23 - scroll_friends_to_lb''' - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''24 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''25 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''26 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''27 - parse_flush_notifications''' - принудительно зафлушить нотификейшены, если мы этого не делали ранее;&lt;br /&gt;
&lt;br /&gt;
*'''28 - parse_all_leaderboards''' - получение информации по всем лидербордам, возможное обнуление текущих очков.&lt;br /&gt;
&lt;br /&gt;
*'''29 - parse_submit_temporary''' - сабмит очков в temporary лидерборд;&lt;br /&gt;
&lt;br /&gt;
*'''30 - parse_leaderboards_temporary''' - получение таблицы temporary лидерборда;&lt;br /&gt;
&lt;br /&gt;
*'''31 - parse_leaderboards_temporary_prev''' - получение таблицы результатов предыдущего периода в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''32 - parse_leaderboards_claim''' - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''33 - parse_leaderboards_animation''' - старт анимации перемещения ячеек таблицы в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''34 - parse_friend_request_param''' - приглашение дружить, в param указать object_id;&lt;br /&gt;
&lt;br /&gt;
*'''35 - parse_friend_request_lb''' - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''36 - parse_friend_confirm''' - подтверждение дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''37 - parse_friend_cancel''' - отмена дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''38 - parse_friend_confirm_table''' - подтверждение дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''39 - parse_friend_cancel_table''' - отмена дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''40 - parse_friend_request_public''' - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''41 - parse_friend_delete_public''' - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''42 - parse_friend_check_requests''' - проверить входящие запросы (инвайты, подарки...);&lt;br /&gt;
&lt;br /&gt;
*'''43 - parse_leaderboards_friends_param''' -  показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.;&lt;br /&gt;
&lt;br /&gt;
*'''44 - parse_get_public_fr''' - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''45 - parse_scroll_temporary_on_me''' - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан);&lt;br /&gt;
&lt;br /&gt;
*'''46 - parse_bots_info''' - получить информацию о ботах отдельно от периодических лидербордов.&lt;br /&gt;
&lt;br /&gt;
*'''47 - get_country''' - получить страну&lt;br /&gt;
&lt;br /&gt;
*'''48 - parse_scroll_default_on_me''' - промотать таблицу default на меня&lt;br /&gt;
&lt;br /&gt;
*'''49 - parse_info''' - получить инфо о пользователе взяв objectId из param&lt;br /&gt;
&lt;br /&gt;
*'''50 - parse_invitable''' - заполнить таблицу приглашаемых друзей&lt;br /&gt;
&lt;br /&gt;
=Сообщения в лог=&lt;br /&gt;
&lt;br /&gt;
Объект пишет в опции строки:&lt;br /&gt;
I/GCloud GCloud::state() state val = 2 state = 3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Коды ошибок:==&lt;br /&gt;
&lt;br /&gt;
*'''6''' - опрос закончился;&lt;br /&gt;
*'''7''' - ошибка версионности;&lt;br /&gt;
*'''1000''' - отсутсвие интернета.&lt;br /&gt;
В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003&lt;br /&gt;
&lt;br /&gt;
Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек):&lt;br /&gt;
'''4000 + номер состояния''', т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья)&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Options|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9527</id>
		<title>Cloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Cloud&amp;diff=9527"/>
		<updated>2018-05-10T12:35:38Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* parse leaderboards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект необходим для синхронизации приложения с облаком.&lt;br /&gt;
&lt;br /&gt;
=Параметры объекта Cloud=&lt;br /&gt;
&lt;br /&gt;
==parse general==&lt;br /&gt;
&lt;br /&gt;
*'''app''' - Код приложения из parse&lt;br /&gt;
*'''key''' - Ключ приложения из parse&lt;br /&gt;
*'''имя игры''' - Наше внутреннее имя игры в parse&lt;br /&gt;
*'''имя игрока''' - Имя игрока. Заполнить до любых вызовов состояний&lt;br /&gt;
*'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)&lt;br /&gt;
*'''автоприменение''' - Применять лучшие опции автоматически. Если &amp;quot;нет&amp;quot; то нужно подтверждение пользователя.&lt;br /&gt;
*'''esocial''' - объект типа esocial для получения списка друзей.&lt;br /&gt;
*'''повторять лоад раз''' - количество повторов parse_load при неуспехе, если не отсутствие интернета.&lt;br /&gt;
*'''автолоад''' - автоматически вызывать parse_load при логине в социальной сети.&lt;br /&gt;
&lt;br /&gt;
==parse leaderboards==&lt;br /&gt;
&lt;br /&gt;
*'''лидерборд''' - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!&lt;br /&gt;
*'''очки''' - Очки для отправки. Валидное целое число!&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;.&lt;br /&gt;
*'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''всегда запрашивать''' - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1)&lt;br /&gt;
*'''дефолтное имя''' - если у нас все еще нет имени человека, вместо него будет эта строка&lt;br /&gt;
*'''специальная сортировка''' ( special_sort ) - специальная сортировка, по лвлу ( задаём &amp;quot;1&amp;quot; когда открываем лидерборды глобальные/ друзей; ставим &amp;quot;0&amp;quot; в лидерах монстров/локаций)&lt;br /&gt;
*'''анимация смены мест''' - анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
*'''периодический лидерборд''' - Периодический лидерборд в parse&lt;br /&gt;
*'''(периодический) таблица''' - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) таблица предыдущая''' - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан &amp;quot;шаблон&amp;quot;&lt;br /&gt;
*'''(периодический) шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу текущего лидерборда&lt;br /&gt;
*'''(периодический) шаблон предыдущий''' - объект типа leaderboardsitem для помещения в таблицу предыдущего лидерборда&lt;br /&gt;
*'''(периодический) свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''(периодический) свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''(периодический) своя иконка''' - иконка игрока&lt;br /&gt;
*'''(периодический) таймер''' - иконка игрока&lt;br /&gt;
*'''(периодический) запрашивать записей''' - сколько записей запросить из таблицы&lt;br /&gt;
*'''(периодический) анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
*'''(периодический) в предыдущую таблицу только себя''' - в предыдущую таблицу только себя (нет=0, да=1)&lt;br /&gt;
*'''(периодический) таблица наград''' - объект-таблица, в который сложим шаблоны наград&lt;br /&gt;
*'''(периодический) шаблон награды''' - объект типа rewarditem&lt;br /&gt;
&lt;br /&gt;
==parse голосовалка==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''таблица пред.''' - объект-таблица, в который сложим ответы;&lt;br /&gt;
*'''шаблон пред.''' - объект типа pollitem для помещения в таблицу;&lt;br /&gt;
*'''название пред.''' - текстовый объект, куда мы сложим название опроса;&lt;br /&gt;
*'''время''' - объект типа таймер, куда мы сложим оставшееся время опроса;&lt;br /&gt;
*'''текст шаринга''' - текст шаринга.&lt;br /&gt;
&lt;br /&gt;
==parse друзья и подарки==&lt;br /&gt;
&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим шаблон leaderbordsitem;&lt;br /&gt;
*'''шаблон''' - объект типа leaderboardsitem для помещения в таблицу;&lt;br /&gt;
*'''добавить приглашаемых''' - &amp;quot;сколько приглашаемых друзей добавить к играющим друзьям;&lt;br /&gt;
*'''прятать одаренных''' - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок.&lt;br /&gt;
&lt;br /&gt;
==parse запросы дружбы==&lt;br /&gt;
&lt;br /&gt;
*'''текст запроса дружбы''' - Текстовый айди для исходящего запроса дружбы;&lt;br /&gt;
*'''окно''' - Само окно. Должно иметь состояние show;&lt;br /&gt;
*'''иконка''' - Портрет приглашающего;&lt;br /&gt;
*'''имя''' - Имя приглашающего;&lt;br /&gt;
*'''таблица инвайтов''' - таблица, в которую сложим все инвайты;&lt;br /&gt;
*'''шаблон инвайта (inviteitem)''' - Шаблон инвайта для помещения в таблицу.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона в таблице лидеров==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==parse окно обгона для периодических лидербордов==&lt;br /&gt;
&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.&lt;br /&gt;
&lt;br /&gt;
==Приглашение в мультиплеер==&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера&lt;br /&gt;
*'''информация''' - информация о приглашающем, объект типа leaderboardsitem&lt;br /&gt;
&lt;br /&gt;
==Боты для лидербордов==&lt;br /&gt;
*'''конфиг''' - файл с настройками ботов&lt;br /&gt;
*'''имена ботов в оффлайне''' - имена ботов, если они генерятся в оффлайне&lt;br /&gt;
*'''имена игрока в оффлайне''' - имя игрока в оффлайне&lt;br /&gt;
&lt;br /&gt;
Файл конфига умеет создавать &amp;quot;economicalCycle&amp;quot; (пока только боты для локаций, ModeWorkEconomicalCycle=&amp;quot;2&amp;quot; + указываем нужное количество ботов - &amp;quot;bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Добавляемые свойства=&lt;br /&gt;
&lt;br /&gt;
==Обработчики для синхронизации==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметр, синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse.&lt;br /&gt;
*'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр&lt;br /&gt;
*'''параметр''' - имя параметра в группе, общее для различных приложений&lt;br /&gt;
*'''объект''' - объект у которого синхронизируем параметр.&lt;br /&gt;
*'''параметр объекта''' - параметр который синхронизируем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае отсутствия данных на сервере, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта'''  - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'', показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', необходимо перегрузить лайаут.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply_server'', не синхронизировать - ''parse_isolate''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', необходимо перезагрузить лэйаут.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate'', необходимо вызывать ''parse_save''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние'''- новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate'', необходимо вызывать ''parse_load''.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик успеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения.&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем '''ErrorManager'''.&lt;br /&gt;
*'''объект''' - объект у которого мы меняем состояние.&lt;br /&gt;
*'''состояние''' - Значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
==Обработчики голосования==&lt;br /&gt;
	&lt;br /&gt;
			&lt;br /&gt;
[[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' - обработчик успеха ''parse_poll''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.			&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
[[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' - обработчик успеха ''parse_vote''&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем.&lt;br /&gt;
*'''состояние''' - новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для лидербордов==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены лидерборды''' - обработчик успеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за objectId''' - обработчик неуспеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', которая происходит из-за неуспешного ''parse_load'' (в этом случае ''parse_load'' необходимо повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''добавляемые лидерборды''' - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д.&lt;br /&gt;
*'''id''' - Идентификатор набора интерфейсных элементов, указывать нужно '''default''' для таблицы, в которую помещаются общие лидеры, для остальных не нужно&lt;br /&gt;
*'''имя лидербордов''' - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове ''parse_leaderbords_friends_param''&lt;br /&gt;
*'''таблица''' - объект-таблица, в который сложим очки&lt;br /&gt;
*'''шаблон''' - объект типа leaderboardsitem для помещения в таблицу&lt;br /&gt;
*'''свое место''' - каунтер в котором будет место игрока&lt;br /&gt;
*'''свои очки''' - каунтер в котором будут очки игрока&lt;br /&gt;
*'''своя иконка''' - иконка игрока&lt;br /&gt;
*'''кого leaderboardsitem''' - кого leaderboardsitem&amp;quot; hint=&amp;quot;кого leaderboardsitem&lt;br /&gt;
*'''кто leaderboardsitem''' - кто leaderboardsitem&amp;quot;  hint=&amp;quot;кто leaderboardsitem&lt;br /&gt;
*'''машина''' - собственно машина окна. Должна иметь состояние show&lt;br /&gt;
*'''анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для друзей и подарков==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''успешно загружены друзья''' - обработчик успеха ''parse_friends'', выключаем &amp;quot;крутилку&amp;quot;&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен запрос дружбы''' - обработчик успеха ''parse_friend_request_lb'', ''parse_friend_request_public'', ''parse_friend_request_param'', показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''отправлен подарок''' - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Обработчики для временных лидербордов (соревнований)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev''&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования НЕ сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' при условии, что находимся не в окне соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''игрок потенциально попал в лидерборды прошлого периода''' - обработчик успеха ''parse_all_leaderboards'' - неинформативный, решили не использовать&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''у игрока призовое место в лидербордах прошлого периода и не забрана награда''' - обработчик успеха ''parse_all_leaderboards'', можно повести игрока забрать награду за предыдущий период соревнований&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''завершились лидерборды предыдущего периода''' - обработчик успеха ''parse_leaderboards_temporary'', вызываем ''parse_all_leaderboards'', показываем информационное окно с информацией о том, что идет подсчет результатов&lt;br /&gt;
*'''объект''' - объект  - состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''невозможно загрузить лидерборды из-за levelId''' - обработчик неуспеха ''parse_leaderboards_temporary'', которая происходит из-за неуспеха ''parse_all_leaderboards'' (в этом случае ''parse_all_leaderboards'' желательно повторить)&lt;br /&gt;
*'''объект''' - объект, состояние которого меняем,&lt;br /&gt;
*'''состояние''' - состояние - значение нового состояния.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''индикатор награды за временные лидерборды''' - визуализация награды за временные лидерборды&lt;br /&gt;
*'''res1''' - счетчик - награда за лидерство в res1,&lt;br /&gt;
*'''res2''' - счетчик - награда за лидерство в res2,&lt;br /&gt;
*'''item''' - иконка предмета - награды за лидерство,&lt;br /&gt;
*'''item num''' - счетчик предмета - награды за лидерство.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''лидеры предыдущего этапа временных лидербордов''' - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал)&lt;br /&gt;
*'''leaderboardsitem''' - объект типа leaderboardsitem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''периодические лидерборды''' - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики&lt;br /&gt;
*'''имя''' - Периодический лидерборд в parse (название таблицы)&lt;br /&gt;
*'''min''' - Минимальный уровень экономики&lt;br /&gt;
*'''max''' - Максимальный уровень экономики&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;
==Обработчики для мультиплеера==&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;
Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове ''parse_load''. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались).&lt;br /&gt;
&lt;br /&gt;
=Состояния=&lt;br /&gt;
&lt;br /&gt;
*'''0  - local_device_synchronization''' - синхронизация параметров между приложениями одного устройства;&lt;br /&gt;
&lt;br /&gt;
*'''1  - parse_resolve''' - ресолвим конфликт и ждем подтверждения;&lt;br /&gt;
&lt;br /&gt;
*'''2  - parse_idle''' - состояние простоя, означает, что мы не ждем ответа ни на один запрос;&lt;br /&gt;
&lt;br /&gt;
*'''3  - parse_load''' - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;&lt;br /&gt;
&lt;br /&gt;
*'''4  - parse_save''' - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
        &lt;br /&gt;
*'''5  - parse_leaderboards''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''6  - parse_leaderboards_friends''' - загрузить лидерборды из парса и сложить в соответствующую таблицу;&lt;br /&gt;
&lt;br /&gt;
*'''7  - parse_submit''' - заслать очки в парс взяв очки из поля score и уровень из поля level;&lt;br /&gt;
&lt;br /&gt;
*'''8  - parse_apply''' - применить скачанные опции;&lt;br /&gt;
&lt;br /&gt;
*'''9  - parse_get_public_lb''' - скопировать паблик данные кликнутого юзера из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''10 - parse_poll''' - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;&lt;br /&gt;
&lt;br /&gt;
*'''11 - parse_poll_prev''' - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;&lt;br /&gt;
&lt;br /&gt;
*'''12 - parse_vote''' - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;&lt;br /&gt;
&lt;br /&gt;
*'''13 - parse_share_poll''' - зашарить результаты текущего опроса;&lt;br /&gt;
&lt;br /&gt;
*'''14 - parse_forced_save''' - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);&lt;br /&gt;
&lt;br /&gt;
*'''15 - parse_apply_server''' - применить опции и отправить ресолв;&lt;br /&gt;
&lt;br /&gt;
*'''16 - parse_clear_notifications''' - отписаться от уведомлений;&lt;br /&gt;
&lt;br /&gt;
*'''17 - parse_add_notification''' - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);&lt;br /&gt;
&lt;br /&gt;
*'''18 - parse_time''' - запросить время;&lt;br /&gt;
&lt;br /&gt;
*'''19 - parse_friends''' - заполнить таблицу всех друзей (новые подарки);&lt;br /&gt;
   &lt;br /&gt;
*'''20 - parse_isolate''' - отказаться от слияния аккаунтов;&lt;br /&gt;
&lt;br /&gt;
*'''21 - parse_un_isolate''' - отменить изоляцию;&lt;br /&gt;
&lt;br /&gt;
*'''22 - parse_cancel_apply''' - отменить синхронизацию и разрешить сейвы;&lt;br /&gt;
&lt;br /&gt;
*'''23 - scroll_friends_to_lb''' - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''24 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''25 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''26 - '''номер зарезервирован&lt;br /&gt;
&lt;br /&gt;
*'''27 - parse_flush_notifications''' - принудительно зафлушить нотификейшены, если мы этого не делали ранее;&lt;br /&gt;
&lt;br /&gt;
*'''28 - parse_all_leaderboards''' - получение информации по всем лидербордам, возможное обнуление текущих очков.&lt;br /&gt;
&lt;br /&gt;
*'''29 - parse_submit_temporary''' - сабмит очков в temporary лидерборд;&lt;br /&gt;
&lt;br /&gt;
*'''30 - parse_leaderboards_temporary''' - получение таблицы temporary лидерборда;&lt;br /&gt;
&lt;br /&gt;
*'''31 - parse_leaderboards_temporary_prev''' - получение таблицы результатов предыдущего периода в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''32 - parse_leaderboards_claim''' - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''33 - parse_leaderboards_animation''' - старт анимации перемещения ячеек таблицы в temporary лидерборде;&lt;br /&gt;
&lt;br /&gt;
*'''34 - parse_friend_request_param''' - приглашение дружить, в param указать object_id;&lt;br /&gt;
&lt;br /&gt;
*'''35 - parse_friend_request_lb''' - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов;&lt;br /&gt;
&lt;br /&gt;
*'''36 - parse_friend_confirm''' - подтверждение дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''37 - parse_friend_cancel''' - отмена дружбы из окна ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''38 - parse_friend_confirm_table''' - подтверждение дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''39 - parse_friend_cancel_table''' - отмена дружбы из таблицы инвайтов ''parse запросы дружбы'';&lt;br /&gt;
&lt;br /&gt;
*'''40 - parse_friend_request_public''' - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''41 - parse_friend_delete_public''' - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);&lt;br /&gt;
&lt;br /&gt;
*'''42 - parse_friend_check_requests''' - проверить входящие запросы (инвайты, подарки...);&lt;br /&gt;
&lt;br /&gt;
*'''43 - parse_leaderboards_friends_param''' -  показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.;&lt;br /&gt;
&lt;br /&gt;
*'''44 - parse_get_public_fr''' - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область;&lt;br /&gt;
&lt;br /&gt;
*'''45 - parse_scroll_temporary_on_me''' - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан);&lt;br /&gt;
&lt;br /&gt;
*'''46 - parse_bots_info''' - получить информацию о ботах отдельно от периодических лидербордов.&lt;br /&gt;
&lt;br /&gt;
*'''47 - get_country''' - получить страну&lt;br /&gt;
&lt;br /&gt;
*'''48 - parse_scroll_default_on_me''' - промотать таблицу default на меня&lt;br /&gt;
&lt;br /&gt;
*'''49 - parse_info''' - получить инфо о пользователе взяв objectId из param&lt;br /&gt;
&lt;br /&gt;
*'''50 - parse_invitable''' - заполнить таблицу приглашаемых друзей&lt;br /&gt;
&lt;br /&gt;
=Сообщения в лог=&lt;br /&gt;
&lt;br /&gt;
Объект пишет в опции строки:&lt;br /&gt;
I/GCloud GCloud::state() state val = 2 state = 3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Коды ошибок:==&lt;br /&gt;
&lt;br /&gt;
*'''6''' - опрос закончился;&lt;br /&gt;
*'''7''' - ошибка версионности;&lt;br /&gt;
*'''1000''' - отсутсвие интернета.&lt;br /&gt;
В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003&lt;br /&gt;
&lt;br /&gt;
Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек):&lt;br /&gt;
'''4000 + номер состояния''', т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья)&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Options|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9526</id>
		<title>Leaderboardsitem</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Leaderboardsitem&amp;diff=9526"/>
		<updated>2018-05-10T12:30:25Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: Новая страница: «Шаблон для помещения в таблицу лидербордов.  ==Основные параметры==  *'''место''' - Счетчик, в…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Шаблон для помещения в таблицу лидербордов.&lt;br /&gt;
&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''место''' - Счетчик, в который будет занесено место игрока&lt;br /&gt;
*'''имя''' - Текстовый объект куда будет занесено имя игрока&lt;br /&gt;
*'''objectId''' - Текстовый объект куда будет занесен objectId игрока&lt;br /&gt;
*'''иконка''' - Иконка игрока&lt;br /&gt;
*'''очки''' - Счетчик, в который будут занесены очки игрока&lt;br /&gt;
*'''уровень''' - Счетчик, в который будет занесен уровень игрока&lt;br /&gt;
*'''список желаний''' - объект-таблица, в который сложим желаемые предметы пользователей. Должна иметь 1 ряд&lt;br /&gt;
*'''кнопка invite''' - не используется, потому что уже не можем получить сведения с фб о неиграющих друзьях&lt;br /&gt;
*'''кнопка info'''&lt;br /&gt;
*'''кнопка подарить энергию'''&lt;br /&gt;
*'''кнопка подарить монеты'''&lt;br /&gt;
*'''кнопка подарить вип'''&lt;br /&gt;
*'''машина для играющих''' - машина должна иметь два состояния - player и invitable. Может менять в них внешний вид окна&lt;br /&gt;
*'''кнопка пригласить в друзья''' - кнопка для приглашения в игрока из глобальных лидербордов в абс-друзья. Передает клауду состояние “parse_friend_request_lb”&lt;br /&gt;
*'''кнопка удалить из друзей''' - кнопка удаления игрока из абс-друзей. Передает клауду состояние &amp;quot;parse_friend_delete_public&amp;quot;. Автоматически появляется для всех игроков, которые являются abs-друзьями.&lt;br /&gt;
*'''кнопка play''' - кнопка play для Hidden Battle&lt;br /&gt;
*'''счетчики 1-7''' - Для заполнения значений счетчиков 1-7 нужно в опции записать желаемые параметры в поля public.lbtemplate.val(%d), где (%d) - номер счетчика, и вызвать cloud состояние parse_save.&lt;br /&gt;
*'''иконка соцсети''' - Иконка соцсети. Должна иметь ресурс с двумя кадрами: 0 - фейсбук, 1 - гугл&lt;br /&gt;
*'''иконка страны''' - Иконка флага. Попытаюсь взять айдишник ресурса для нее из public.flagRes&lt;br /&gt;
*'''иконка vip''' - Иконка vip. Попытаюсь взять айдишник ресурса для нее из public.vipRes&lt;br /&gt;
*'''счетчик приза res1'''&lt;br /&gt;
*'''счетчик приза res2'''&lt;br /&gt;
*'''иконка приза предмет'''&lt;br /&gt;
*'''счетчик приза предмет'''&lt;br /&gt;
*'''кнопка получения награды'''&lt;br /&gt;
*'''слушатель движения''' - слушатель движения ячейки. Должен иметь состояния moveStart и moveFinish&lt;br /&gt;
*'''placeholder друга''' - Картинка, которая будет использоваться вместо отсутствующих аватарок&lt;br /&gt;
*'''online''' - индикатор онлайна игрока, должен иметь состояния online и offline&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Eanalysis&amp;diff=9513</id>
		<title>Eanalysis</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Eanalysis&amp;diff=9513"/>
		<updated>2018-05-04T07:50:42Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Уведомления */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Object|Объект]] Eanalysis - предназначен для проведения экспертизы предмета по времени. Работа с объектом происходит с помощью создания задач на экспертизу предметов в [[Taskorganizer#Подзадача экспертиза|taskorganizer]].&lt;br /&gt;
Объект экспертизы сохраняет себя в [[Options|Options]] (везде первый %d - это id объекта экспертизы, второй - id предмета)&lt;br /&gt;
*'''eanalysis%d.i%d.c''' - 1 если экспертиза завершена &lt;br /&gt;
*'''eanalysis%d.i%d.t'''  - если &amp;gt; 0 - экспертиза начата и, возможно завершена (см. предыдущий флаг)&lt;br /&gt;
[[Файл:Eanalysis_.png|400px|thumb|right]]&lt;br /&gt;
== Общие настройки ==&lt;br /&gt;
&lt;br /&gt;
*'''taskorganizer''' - объект типа [[Taskorganizer|taskorganizer]]&lt;br /&gt;
*'''таблица''' - объект типа [[Table|таблица]], в который мы сложим шаблоны &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;
*'''эффект готового''' - эффект готового, будет запущен в ячейке с завершенной экспертизой после refresh&lt;br /&gt;
=== Окошко предмета ===&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;
*'''окно''' - само окно, должно иметь состояние show&lt;br /&gt;
*'''иконка''' - иконка предмета&lt;br /&gt;
*'''описание''' - описание предмета&lt;br /&gt;
=== Окошко предмета в процессе ===&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;
*'''окно''' - само окно, должно иметь состояние show&lt;br /&gt;
*'''иконка''' - иконка предмета&lt;br /&gt;
*'''описание''' - описание предмета&lt;br /&gt;
=== Дополнительные параметры ===&lt;br /&gt;
&lt;br /&gt;
Добавляются нажатием правой кнопкой мыши на свойствах объекта Eanalysis.&lt;br /&gt;
&lt;br /&gt;
'''Изменить состояние объекта''' - не хватает res3&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;
*'''start''' - начать экспертизу&lt;br /&gt;
*'''boost''' - ускорить текущую экспертизу&lt;br /&gt;
*'''boost all''' - ускорить все экспертизы&lt;br /&gt;
*'''show''' - приводит к показу окошка для предмета из последней кликнутой ячейки в таблице экспертизы. Т.е. если show вызывается при клике на какую-то ячейку, то окошко будет для находящегося в ней предмета&lt;br /&gt;
*'''refresh''' - обновляет данные по экспертизам&lt;br /&gt;
*'''check''' - проверяется выполнение текущих экспертиз&lt;br /&gt;
&lt;br /&gt;
== Типы улик ==&lt;br /&gt;
&lt;br /&gt;
Есть возможность делать ячейки экспертиз разных типов. Для этого в [[Taskorganizer#Подзадача экспертиза|taskorganizer (подзадача экспертиза)]] заполнить поле &amp;quot;владелец&amp;quot; численным значением. Тип улик задавать в поле&lt;br /&gt;
&amp;lt;property name=&amp;quot;владелец&amp;quot; id=&amp;quot;owner&amp;quot; hint=&amp;quot;Владелец предмета для угадайки. -1 - предмет не участвует&amp;quot; type=&amp;quot;int&amp;quot; label=&amp;quot;владелец&amp;quot; value=&amp;quot;-1&amp;quot; colname=&amp;quot;comp_cond_added&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считать можно: &lt;br /&gt;
*из поля в опциях '''eanalysis%d.lastStartOwner''', где вместо %d - id объекта-экспертизы.&lt;br /&gt;
Информация в нем будет сохраняться независимо от прочих факторов.&lt;br /&gt;
*перед показом любого окна объект Eanalysis запишет себе (не в опции) '''currentOwner'''. Можно опираться и на это поле.&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
&lt;br /&gt;
'''start_analysis''' - Параметр, который содержит информацию &amp;quot;есть ли сейчас доступные экспертизы для старта&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
В поле количество не начатых (и при этом невыполненных, само собой) экспертиз.&lt;br /&gt;
Пишется в объект экспертизы.&lt;br /&gt;
Обновляется при refresh и любом сохранении данных.&lt;br /&gt;
&lt;br /&gt;
== Уведомления ==&lt;br /&gt;
&lt;br /&gt;
Можно отправлять уведомления игроку по завершению экспертизы. Уведомления шлются автоматически. Для этого используется поле в [[Taskorganizer#Подзадача экспертиза|taskorganizer (подзадача экспертиза)]]. Туда следует поместить текстовый id из текстовой базы.&lt;br /&gt;
&lt;br /&gt;
'''Как найти уведомления в логах?'''&lt;br /&gt;
Например, уведомление, которое установлено в два часа дня с задержкой 15минут (900 секунд) выглядит так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19/01/18 13:59:47 00078341(2875268504:6804): I/GNotification state() state(ST_SET) getAccurateTime()/1000 = 1516363187 delay = 900&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Если уведомления отключены в настройках проекта, то строка примет вид:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
02-05 12:09:58.274 I/SDL/APP (11455): 05/02/18 12:09:58 00008978(2612762928:6508): I/GNotification state() state(ST_SET) - disabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Статистика ==&lt;br /&gt;
При передаче состояния start отсылается ивент expert_start с параметрами:&lt;br /&gt;
*'''stat_time_min''' - сколько времени будет длиться экспертиза в мин&lt;br /&gt;
*'''stat_item_id''' - id исследуемого предмета&lt;br /&gt;
При окончании экспертизы отсылается ивент expert_end с параметрами:&lt;br /&gt;
*'''stat_time_min''' - сколько времени будет длиться экспертиза в мин&lt;br /&gt;
*'''stat_item_id''' - id исследуемого предмета&lt;br /&gt;
*'''stat_speed_up''' - 0- ускорили; 1- само закончилось&lt;br /&gt;
Недостающие параметры будут записаны в GData самого объекта экспертизы перед вызовом событий, оттуда их можно прочитать. Поэтому нужно, чтобы соответствующие события и параметры для них были заведены в объекте статистики.&lt;br /&gt;
&amp;quot;Имя объекта&amp;quot; для параметров этих событий - сам объект eanalysis.&lt;br /&gt;
&lt;br /&gt;
== Другое ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Покупка ускорения всех экспертиз на некоторое время (например, 7 дней):&lt;br /&gt;
1) В экономику добавляем предмет eanalysis, и в нем указываем длительность действия в секундах (tm). &lt;br /&gt;
2) Покупка осуществляется через объект Store.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для примера использования представлено окно открытия экспертизы на отдельной сцене &amp;quot;экспертиза&amp;quot;.&lt;br /&gt;
[[Файл:Wnd_expertise.png|600px|thumb|left]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Edit&amp;diff=9511</id>
		<title>Edit</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Edit&amp;diff=9511"/>
		<updated>2018-05-04T06:42:45Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Основные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}[[Файл:Edit2.png|right]]&lt;br /&gt;
'''Edit''' - [[Object|объект]], который используется для ввода текста с клавиатуры.&lt;br /&gt;
&lt;br /&gt;
Этот объект чаще всего используется для создания системы регистрации пользователей.&lt;br /&gt;
&lt;br /&gt;
== Основные параметры ==&lt;br /&gt;
&lt;br /&gt;
'''Шрифт'''&lt;br /&gt;
*'''имя''' (''fn'') - Номер шрифта - целое число, начиная с 0 (порядковый номер шрифта).&lt;br /&gt;
*'''размер''' (''fs'') - Размер шрифта в пикселях.&lt;br /&gt;
	&lt;br /&gt;
'''Цвет текста'''&lt;br /&gt;
*'''норм.''' (''fc_n'') - Цвет текста без ошибок (черный по умолчанию)&lt;br /&gt;
*'''ошибка''' (''fc_err'') - Цвет текста с ошибкой  (красный по умолчанию)&lt;br /&gt;
&lt;br /&gt;
'''Фон текста'''&lt;br /&gt;
*'''res. норм.''' (''res_n'') - Графический ресурс для отображения фона текста, когда последний вводится корректно&lt;br /&gt;
*'''res. ошибка''' (''res_err'') - Графический ресурс для отображения фона текста, когда последний вводится с ошибками&lt;br /&gt;
*'''норм.''' (''bc_n'') - Цвет фона без ошибок (белый по умолчанию)&lt;br /&gt;
*'''ошибка.''' (''bc_e'') - Цвет фона с ошибками (белый по умолчанию)&lt;br /&gt;
&lt;br /&gt;
'''Приветствие'''&lt;br /&gt;
*'''текстID''' (''txtID'') - Выводимый текст перетаскивается из ресурса тектстов.&lt;br /&gt;
*'''текст''' (''txt'') - Выводимый текст.&lt;br /&gt;
&lt;br /&gt;
'''Форматирование'''&lt;br /&gt;
*'''dx''' (''dx'') - Бордюр (отступ текста слева и справа от границы прямоугольника объекта).&lt;br /&gt;
*'''dy''' (''dy'') - Бордюр (отступ текста сверху и снизу от границы прямоугольника объекта).&lt;br /&gt;
*'''shiftX''' (''shx'') - Сдвиг области текста по X&lt;br /&gt;
*'''shiftY''' (''shy'') - Сдвиг области текста по Y&lt;br /&gt;
*'''отступ''' (''skip'') - Вертикальное расстояние между строчками в пикселях&lt;br /&gt;
*'''поз. гориз.''' (''alH'') - 0 - нет выравнивания; 1 - прижать к левому краю; 2 - центр; 3 - к правому&lt;br /&gt;
*'''поз. верт.''' (''alV'') - 0 - нет выравнивания; 1 - прижать к верхнему краю; 2 - центр; 3 - к нижнему&lt;br /&gt;
&lt;br /&gt;
'''min символов''' (''minCh'') - Минимальное количество вводимых символов&lt;br /&gt;
&lt;br /&gt;
'''max символов''' (''maxCh'') - Максимальное количество вводимых символов&lt;br /&gt;
&lt;br /&gt;
'''Разрешенные сиволы'''&lt;br /&gt;
*'''цифры''' (''chDig'') - цифры (нет=0,да=1)&lt;br /&gt;
*'''латинский алфавит''' (''chLat'') - латинский алфавит (нет=0,да=1)&lt;br /&gt;
*'''знаки препинания''' (''chInt'') - латинский алфавит (нет=0,да=1)&lt;br /&gt;
*'''кириллица''' (''chCyr'') - кириллица (нет=0,да=1)&lt;br /&gt;
*'''математические символы''' (''chMat'') - математические символы (нет=0,да=1)&lt;br /&gt;
*'''пробел''' (''chSp'') - пробел (нет=0,да=1)&lt;br /&gt;
*'''разрешенные символы''' (''chCustAllow'') - разрешенные символы перечисленные пользователем&lt;br /&gt;
*'''запрещенные символы''' (''chCustBan'') - запрещенные символы перечисленные пользователем (value=&amp;quot;&amp;amp;amp;&amp;amp;quot;&amp;amp;apos;&amp;amp;lt;&amp;amp;gt;~!@#$%^*()_+{}:\|?-=[];\\,./&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
'''многострочн.''' (''mStr'') - Многострочность: 0 - однострочный; 1 - многострочный&lt;br /&gt;
*'''ключ''' (''tkey'') - ключ под которым будет сохранен текст после ввода&lt;br /&gt;
*'''вызывать обр. при пустом поле ввода''' (''enterOnEmpty'') - обработчик &amp;quot;нажат Enter&amp;quot; будет вызываться, даже если поле ввода пустое&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:edit3.png|right]]&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]] '''обработка - нажат Enter''' - Когда будет нажата клавиша Enter изменим состояние заданного объекта.&lt;br /&gt;
*'''объект''' - Когда будет нажата клавиша Enter, перевести объект в состояние из следующего поля.&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;
*'''состояние''' - значение нового состояния.&amp;quot;  hint=&amp;quot;Новое состояние для объекта из предыдущего поля&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
*'''show''' - показать клавиатуру&lt;br /&gt;
&lt;br /&gt;
*'''hide''' - спрятать клавиатуру&lt;br /&gt;
&lt;br /&gt;
*'''check_clipboard''' - проверить буфер обмена на наличие в нем текста (вызывается один из обработчиков: &amp;quot;буфер обмена - есть текст&amp;quot; или &amp;quot;буфер обмена - нет текста&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
*'''paste_from_clipboard''' - вставить из буфера обмена в поле ввода&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
[[Файл:Tedit2.png|right]]&lt;br /&gt;
&lt;br /&gt;
В машинах состояний мы можем использовать параметр ''text'' он позволяет считывать текущее имя игрока. С помощью этого параметра, можно записать в переменную типа &amp;quot;строка&amp;quot; текущее имя игрока для дальнейшей обработки (вывод на экран, проверка условий и т.д.). Например: проверка ввода логина и пароля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример, как с помощью поля Edit создавать профили игроков (используются объекты типа Options и Table)&lt;br /&gt;
&lt;br /&gt;
В объекте Options в поле ''Поле ввода'' указываем объект Edit, в графе''Таблица'' указываем таблицу, в которую будут записываться данные из Edit. &lt;br /&gt;
&lt;br /&gt;
На рисунке ниже изображен пример использования объекта типа Edit. На экране синее поле - это подложка поверх которой расположен объект Edit. Ниже поля ввода находится таблица, которая будет отображать все ранее созданные профили. Под таблицей находятся две кнопки: справа - кнопка которая создает новый профили или меняет на ранее созданный, слева - кнопка-отмена, которая осуществляет выход с экрана. Во время запуска приложения в поле ввода отображается приветствие.&lt;br /&gt;
&lt;br /&gt;
После введения в поле edit имени игрока необходимо с помощью машины или кнопки передать объекту Options последовательно состояния add и update. Тогда новый игрок добавиться в таблицу (т.е. создастся новый профиль). Чтобы выбрать один из уже созданных профилей, необходимо выбрать его курсором в таблице, затем передать опциям состояния change и update последовательно. Тогда произойдет смена профиля, на один из тех, которые были созданы ранее.&lt;br /&gt;
&lt;br /&gt;
'''В объект Text, в который будет выводиться имя пользователя, нужно ОБЯЗАТЕЛЬНО в поле text ввести строку &amp;quot;name&amp;quot; (без кавычек)!!!'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Edit1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Economics&amp;diff=9510</id>
		<title>Economics</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Economics&amp;diff=9510"/>
		<updated>2018-05-04T06:38:17Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Монстр */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Economics''' служит для реализации сложной игровой механики типа &amp;quot;ферма&amp;quot;. Он осуществляет связь между игровыми локациями, накопленным опытом, текущим количеством энергии, денег и кристаллов (можно использовать и другие названия ресурсов), а также управляет объектами коллекций, магазина, инвентаря и игровых заданий.&lt;br /&gt;
&lt;br /&gt;
= Свойства =&lt;br /&gt;
&lt;br /&gt;
*'''предметы''' - Объект типа [[eitems]].&lt;br /&gt;
*'''задачи''' - Объект типа [[taskorganizer]].&lt;br /&gt;
&lt;br /&gt;
==Параметры==&lt;br /&gt;
===Основные параметры===&lt;br /&gt;
*'''disable''' - выключена ли экономика, если 1 - то экономика не реагирует на состояния и не сейвится в опции. Чтобы изменить параметр, меняем его и вызываем сост. &amp;quot;init&amp;quot;&lt;br /&gt;
*'''Сдвиг уровней''' ( ''levels_shift'' ) - число на которое сдвинется анлок уровней в economics setup; после задания параметра нужно проинитить экономику;&lt;br /&gt;
*'''Уровни''' - опыт, необходимый для перехода на следующий уровень. Последовательность чисел через запятую.&lt;br /&gt;
*'''Уровни парабола''' - Три числа через запятую, задающие коэффициенты параболы, которые определяют необходимый опыт после уже перечисленных уровней.&lt;br /&gt;
*'''Энергия''' - максимум энергии на каждом из уровней. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.&lt;br /&gt;
*'''Энергия прибавка''' - Число определяющее прибавку к максимуму энергии после уже перечисленных уровней.&lt;br /&gt;
*'''Ресурс 1''' - количество ресурса 1 добавляемое за уровень. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.&lt;br /&gt;
*'''Ресурс 2''' - количество ресурса 2 добавляемое за уровень. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.&lt;br /&gt;
*'''Перезарядка''' - время за которое восстанавливается единица энергии в ms.&lt;br /&gt;
*'''нач. ресурс 1''' - Начальное значение ресурса 1.&lt;br /&gt;
*'''нач. ресурс 2''' - Начальное значение ресурса 2.&lt;br /&gt;
*'''время напоминания''' - время напоминания о задачах на каждом из уровней. Записывается в виде последовательности чисел через запятую. Последнее значение будет зациклено для всех последующих уровней. Время изменяется в часах.&lt;br /&gt;
*'''напоминание об энергии''' - уведомление перетаскивается с текстового редактора, представляет собой напоминание о том что энергия восстановилась. Например, &amp;quot;Ваше энергия полностью восстановлена&amp;quot;.&lt;br /&gt;
*'''опции для facebook''' - поле в опциях, куда мы будем записывать 32 битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние&lt;br /&gt;
*'''перегрузить очки из опций''' - если поле не пустое - будут взяты очки из поля опций текущего пользователя, указаного в этой строке.&lt;br /&gt;
*'''во временные отправлять''' - какие очки будут отправлены во временные лидерборды esocial'ом. При выборе '''кастомное заполнение''' будут отправлены очки из поля temporary_lb_score в опциях текущего пользователя (p0.temporary_lb_score например). Кастомные очки нужно добавлять вручную, по окончанию периода они будут обнулены автоматически.&lt;br /&gt;
&lt;br /&gt;
===Основные счетчики===&lt;br /&gt;
Этот раздел содержит необходимые объекты для подсчета (counter, timer, progressbar).&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;
*'''анимация рес.1''' - Анимационный объект награды в ресурсе 1. Должен иметь состояние show.&lt;br /&gt;
*'''анимация рес.2''' - Анимационный объект награды в ресурсе 2. Должен иметь состояние show.&lt;br /&gt;
*'''анимация опыт''' - Анимационный объект награды в опыте. Должен иметь состояние show.&lt;br /&gt;
&lt;br /&gt;
===Окно перед локацией===&lt;br /&gt;
Настройка окна, которое всплывает перед посещением локации. В этом окне отображается информация о локации которую мы хотим посетить.&lt;br /&gt;
&lt;br /&gt;
*'''Окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояния ''open'' - открыта, ''open_lvl'' - не хватает лвл, ''open_buy'' - разница в уровнях позволяет нам купить анлок, ''open_item'' - не хватает предмета для анлока,  ''open_unlock'' - состояние вызываемое окну перед локацией после успешной покупки предмета для анлока, ''open_energy'' - состояние вызываемое окну перед локацией в случае нехватки энергии.&lt;br /&gt;
*'''Превью локации''' - графический ресурс для отображения превью локации. В это поле можно поставить любую картинку для того, чтобы корректно разместить ее в &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;
*'''Аномальная энергия''' - счетчик, который отображает дополнительную энергию при наличии аномалии в локации.&lt;br /&gt;
*'''Призовой ресурс 1''' - счетчик призовых денег.&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;
*'''Режим игры''' - машина, которой будут устанавливаться состояния в зависимости от режима игры (может быть смешанный, текст или силуэт). TODO пока обладает только режимом text и icon. Эта машина будет передавать настройки таблице, в которую помещаются поисковые объекты, поэтому важно, чтобы к этой таблице был доступ (например она может находится на глобальном экране).&lt;br /&gt;
&lt;br /&gt;
*'''индикатор уровня''' - счетчик с необходимым для локации уровнем.&lt;br /&gt;
&lt;br /&gt;
''для локации c ценой''&lt;br /&gt;
&lt;br /&gt;
*'''цена ресурс 1''' - Стоимость анлока локации в ресурсе 1.&lt;br /&gt;
*'''цена ресурс 2''' - Стоимость анлока локации в ресурсе 2.&lt;br /&gt;
&lt;br /&gt;
''для локации c требуемым предметом''&lt;br /&gt;
&lt;br /&gt;
*'''предмет''' - иконка необходимого для локации предмета.&lt;br /&gt;
*'''название предмета''' - в этом поле указывается название, необходимого для локации предмета.&lt;br /&gt;
*'''счетчик цены''' - счетчик, который отображает стоимость предмета.&lt;br /&gt;
*'''иконка цены'''  - иконка цены предмета, представляет собой картинку, которая перетаскивается из базы ресурсов.&lt;br /&gt;
*'''кнопка купить''' - Будет видна, если предмет нужно купить. Передает экономиксу состояние unlock_item.&lt;br /&gt;
*'''кнопка искать''' - Будет видна, если предмет поисковый.&lt;br /&gt;
*'''блок аномалии''' - контейнер, представляющий собой машину, которая содержит всю информацию про аномалию. Должна содержать в себе состояния hide, show и remov (состояние после прогона аномалии, чтобы сделать красивые эффекты, после которого машина попадет в состояние hide).&lt;br /&gt;
*'''иконка аномалии''' - иконка аномалии.&lt;br /&gt;
*'''название аномалии''' - текстовый объект, который будет отображать название аномалии.&lt;br /&gt;
*'''описание аномалии''' - текстовый объект, который будет отображать описание аномалии.&lt;br /&gt;
*'''иконка предмета''' - иконка предмета, необходимого для того что бы прогнать аномалию.&lt;br /&gt;
*'''кнопка прогнать предметом''' - кнопка по нажатию которой, можно прогнать аномалию используя предмет.&lt;br /&gt;
*'''кнопка купить предмет''' -  кнопка по нажатию которой, можно купить предмет для прогона аномалии.&lt;br /&gt;
*'''кнопка прогнать миниигрой''' - кнопка по нажатию которой, можно прогнать аномалию мини игрой.&lt;br /&gt;
*'''корневой объект''' - некая машина, олицетворяющая собой блок перехода в связанную локацию. Должно иметь состояния enable и disable.&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;
*'''Прогрессбар мастерства''' - прогрессбар, который отображает уровень мастерства.&lt;br /&gt;
*'''Текущий уровень''' - счетчик текущего уровня мастерства.&lt;br /&gt;
*'''Призовой ресурс 1''' - счетчик призовых денег.&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;
*'''окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open - все условия выполнены, open_energy - не хватает энергии для игры, но предмет для прогона есть, open_item - есть энергия, но не хватает предмета для прогона, open_item_energy - не хватает энергии для игры и нет предмета для прогона.&lt;br /&gt;
*'''превью монстра ''' - картинка, отображающая превью монстра.&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;
*'''кнопка прогнать''' - кнопка, по нажатию которой, можно прогнать монстра не играя в игру, эту кнопку можно не задавать.&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;
*'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег.&lt;br /&gt;
*'''призовой опыт''' - счетчик, отображающий количество призового опыта.&lt;br /&gt;
*'''таблица коллекции''' - таблица, в которой будут отображаться предметы, которые можно отжать у данного монстра.&lt;br /&gt;
*'''ничего не найдено''' - любой объект, сообщающий игроку, так или иначе, что он не нашел ничего ценного на данной локации.&lt;br /&gt;
&lt;br /&gt;
===Окно коллекций===&lt;br /&gt;
&lt;br /&gt;
*'''Шаблон коллекции''' - ссылка на объект типа ecollection который будет использоваться в качестве исходного для всех коллекций.&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;
&lt;br /&gt;
===Окошко коллекционного предмета===&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;
===Окошко поздравления со сдачей коллекции===&lt;br /&gt;
&lt;br /&gt;
*'''окно''' - некая машина,содержащая необходимую информацию, олицетворяющая само окно предмета. Должна иметь в себе состояние open.&lt;br /&gt;
*'''иконка''' - картинка отображающая иконку предмета-награды ( в параметр reward_text_id - запишется текстовый ID итогового предмета из текстовой базы);&lt;br /&gt;
*'''текст(объект)''' -  текстовый объект, отображающий название коллекции.&lt;br /&gt;
*'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег.&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;
&lt;br /&gt;
===Окошко поздравления с получением уровня===&lt;br /&gt;
&lt;br /&gt;
*'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само окно предмета. Должна иметь состояние open.&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;
*'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само поздравительное окошко. Должна иметь состояние open.&lt;br /&gt;
&lt;br /&gt;
*'''уровень''' - счетчик, отображающий номер полученного уровня.&lt;br /&gt;
&lt;br /&gt;
*'''энергия''' - счетчик, отображающий количество энергии, которая прибавляется к максимуму.&lt;br /&gt;
&lt;br /&gt;
*'''ресурс 1''' - счетчик, отображающий количество денег.&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;
*'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само поздравительное окошко. Должна иметь состояние open.&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;
*'''суммарная цена ресурса 1''' - счетчик, отображающий суммарную цену всех необходимых чарджеров, представлена в виде ресурса 1 (деньги).&lt;br /&gt;
*'''суммарная цена ресурса 2''' - счетчик, отображающий суммарную цену всех необходимых чарджеров, представлена в виде ресурса 2 (кристаллы).&lt;br /&gt;
*'''кнопка купить все''' - кнопка, по нажатию которой, происходит покупка необходимых предметов. Если в кнопке есть необходимость она будет появляться, в противном случае - сама исчезать.&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;
Кратко об артефактах. Артефакты это инвентарные предметы, которые можно найти либо купить. Они необходимы для того, чтобы была возможность играть в связанную локацию. Связанная локация - локация, которая имеет свой уникальный порядковый номер в списке локаций, но тем не менее логически привязана к локации с другим порядковым номером. Когда все артефакты, необходимые для игры в связанную локацию собраны, то при вызове состояния ''location'' объекту economics локация выбирается случайным образом между оригинальной и связанной. При этом есть возможность сменить локацию (ротация между оригинальной и связанной локацией) вызвав состояние ''location_switch''. Чтобы сменить локацию нужен предмет, который перетаскивается в поле &amp;quot;предмет переключения&amp;quot; настроек локации.&lt;br /&gt;
&lt;br /&gt;
*'''окно''' - Некая машина, олицетворяющая собой само окошко покупки. Должна иметь состояние show&lt;br /&gt;
*'''таблица''' - Таблица должна иметь две строки и заполнение по столбцам. В верхнюю попадут иконки артефактов, в нижнюю - кнопки купить&lt;br /&gt;
*'''кнопка 1''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact&lt;br /&gt;
*'''кнопка 2''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact&lt;br /&gt;
*'''кнопка 3''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact&lt;br /&gt;
*'''кнопка 4''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact&lt;br /&gt;
&lt;br /&gt;
===Дополнительные достижения ===&lt;br /&gt;
&lt;br /&gt;
В этом разделе указаны некоторые достижение, которые отправляются объектом economics в gamecenter.&lt;br /&gt;
&lt;br /&gt;
*'''достижение на трату ресурса 1''' - id достижения, отправляемого за трату ресурса 1 (когда игрок потратит сумму ресурса из следующего поля отправляется достижение 100%).&lt;br /&gt;
*'''количество ресурса 1''' - сумма ресурса 1, которую необходимо потратить для получения достижения.&lt;br /&gt;
*'''достижение на трату ресурса 2''' - id достижения, отправляемого за трату ресурса 2 (когда игрок потратит сумму ресурса из следующего поля отправляется достижение 100%).&lt;br /&gt;
*'''количество ресурса 2''' - сумма ресурса 2, которую необходимо потратить для получения достижения.&lt;br /&gt;
*'''достижение на число открытых локаций''' - id достижения, отправляемого за открытия количества локаций из следующего поля (при открытии нужного количества локаций отправляется 100% достижения).&lt;br /&gt;
*'''количество локаций''' - кол-во локаций, которое необходимо открыть для получения достижения.&lt;br /&gt;
*'''достижение за покупки чего-либо''' - id достижения, отправляемого за совершенное количество покупок из следующего поля (при покупке нужного количества отправляется 100% достижения).&lt;br /&gt;
*'''количество покупок''' - количество покупок, которое необходимо свершить для получения достижения.&lt;br /&gt;
&lt;br /&gt;
===Покупка рандомного предмета===&lt;br /&gt;
&lt;br /&gt;
При вызове объекту economics состояния ''buy_random_col'' покупается случайный коллекционный предмет. Визуализацией покупки служит выпадающий на сцену объект из вкладки настроек &amp;quot;Летающий объект&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*'''res1''' - цена предмета в ресурсе 1.&lt;br /&gt;
*'''исключения''' - id предметов, которые не попадут в случайный выбор. Перетаскиваются из текстовой базы.&lt;br /&gt;
*'''каунтер''' - объект типа counter в который сложится цена предмета.&lt;br /&gt;
&lt;br /&gt;
=== Статус ===&lt;br /&gt;
Статус - дополнительный экономический параметр игрока, который зависит от внутриигровых действий. Статус определяется кол-вом статусных очков, которые начисляются за совершение in-app покупки и при достижении нового уровня (exp).&lt;br /&gt;
&lt;br /&gt;
Тесно связан с [[Wallet|Wallet]].&lt;br /&gt;
&lt;br /&gt;
*'''очки для повышения''' - массив чисел, указываем через запятую. Обозначает нужное кол-во очков статуса для перехода на следующий уровень. Пример: 0, 150, 3850. Изначальный уровень уже получен при инициализации экономики. Для перехода на следующий (2-й) нужно получить 150 очков. На 3-й - 3850 и т.д.&lt;br /&gt;
*'''множитель статуса при покупке''' - массив чисел, указываем через запятую. Обозначает коэф., на который домножим базовое значение статусных очков при покупке. Зависит от текущего статуса. Пример: 1,2,3. Базовое значение за покупку - 18 очков статуса. При совершении покупки, имея 1-й статус - получаем 18 очков. Имея второй статус - 36, третий - 54.&lt;br /&gt;
*'''множитель монет при покупке''' - Аналогично предыдущему пункту.&lt;br /&gt;
*'''прибавка за уровень''' - массив чисел, указываем через запятую. Показывает сколько статусных очков будет получено при достижении уровня exp, учитывая текущий статус.&lt;br /&gt;
*'''множитель дейли-бонуса''' - массив чисел, указываем через запятую. Множитель, который можно использовать при начислении ежедневного бонуса. Зависит только от текущего статуса.&lt;br /&gt;
&lt;br /&gt;
'''Поля в опциях'''&lt;br /&gt;
* ecomics%d.stlev - текущий уровень статуса (начиная с 0!)&lt;br /&gt;
* ecomics%d.stpoints - поинты внутри текущего уровня&lt;br /&gt;
* comics%d.stdaily - множитель для дейли бонуса&lt;br /&gt;
* ecomics%d.stmult - множитель для монеток&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;
*'''цена хинта монеты''' - сколько монет (ресурс 1), стоит некий усредненный хинт.&lt;br /&gt;
*'''цена хинта кристаллы''' - сколько кристаллов (ресурс 2), стоит некий усредненный хинт.&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;
=== Настройки равномерной экономики ===&lt;br /&gt;
&lt;br /&gt;
Нужно в случае, если мы хотим давать за локации и монстров одинаковую награду (опыт, затрата энергии, вне зависимости от настроек в economics_setup). Награда может отличаться только для монстров (если в economics_setup мы укажем монстру в поле награда опыт - 0, то экономика начислять опыт не будет).&lt;br /&gt;
&lt;br /&gt;
*'''локация энергия''' - стоимость энергии на игру хидн или монстр;&lt;br /&gt;
*'''локация опыт''' - награда за успешное прохождение локации/монстра ( при условии что для монстра в поле награды не стоит 0 );&lt;br /&gt;
*'''коллекция опыт min''' - минимальный опыт за успешную сдачу коллекции;&lt;br /&gt;
*'''коллекция опыт max''' - максимальный опыт за успешную сдачу коллекции;&lt;br /&gt;
*'''коллекция монеты min''' - минимальная награда  за успешную сдачу коллекции;&lt;br /&gt;
*'''коллекция монеты max''' - максимальная награда за успешную сдачу коллекции;&lt;br /&gt;
&lt;br /&gt;
==Поле economics setup==&lt;br /&gt;
По клику на &amp;quot;...&amp;quot; открывается редактор экономикса. В этом редакторе можно задать все настройки локациям и коллекциям, которые используются в игре.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 1.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Economics setup содержит 11 вкладок : локация хидден, коллекция, предметы, окошко когда не хватает чарджера (чарджер), нехватка ресурсов на чарджер, монстр, летающий объект, аномалия, сдача коллекции, временный эффект, достижение.&lt;br /&gt;
Вверху можно увидеть ряд кнопок для добавления и удаления: справа для локаций, слева для уровней мастерства.&lt;br /&gt;
&lt;br /&gt;
===Локация хидден===&lt;br /&gt;
&lt;br /&gt;
Форма редактора экономикса разделена на 4 колонки. В первой колонке мы видим список локаций, используемых в игре. Имена локаций можно изменять. Добавляются новые локации по нажатию на кнопку ''Добавить локацию'', удаляются кнопкой ''Удалить локацию''. Во второй колонке отображаются свойства выделенной локации.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 2.jpg|right]]&lt;br /&gt;
*'''Объект на карте''' - это объект ведущий в локацию с карты. Должен иметь как минимум состояния open и closed, которые ему будет вызывать экономикс.&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;
*'''объект для музыки''' ('''musObj''') - объект которому в поле &amp;quot;location_music&amp;quot; будет записан id музыки из поля &amp;quot;музыка&amp;quot;, при запуске локации;&lt;br /&gt;
*'''музыка''' ('''musId''') - id музыки локации;&lt;br /&gt;
&lt;br /&gt;
В третей  колонке записываются уровни мастерства. Их можно переименовать. Добавляются кнопкой ''Добавить уровень мастерства''. Удаляются кнопкой ''Удалить уровень мастерства''. В четвертой колонке настраивается выделенный уровень мастерства.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 3.jpg|right]]&lt;br /&gt;
*'''энергия''' - энергия требуемая для того, чтобы играть в локацию.&lt;br /&gt;
*'''ресурс 1''' - деньги даваемые за прохождение локации.&lt;br /&gt;
*'''ресурс 2''' - кристаллы даваемые за прохождение локации.&lt;br /&gt;
*'''опыт''' - опыт даваемый за прохождение локации.&lt;br /&gt;
*'''кол-во объектов''' - максимальное количество доступных для поиска объектов в одной игровой сессии.&lt;br /&gt;
*'''время игры''' - общее время игры (если -1, то игнорируется).&lt;br /&gt;
*'''время игры (блиц)''' - время игры с аномалией &amp;quot;блиц&amp;quot;.&lt;br /&gt;
*'''время игры (аном)''' - время игры с остальными аномалиями.&lt;br /&gt;
*'''режим игры''' - режим игры: 0 - случайный, 1- слова, 2 - силуэты, 3 - поиск отличий;&lt;br /&gt;
*'''использовать различия''' - да - будут генирироватся режим поиска отличий, нет - не будут; Для корректной работы, следующей за сценой с хидн предметами, должна находиться пустая сцена с такими же параметрами как и у сцены с хидн предметами. Также между двумя сценами ( хидн и fake-сценой) должна быть связь по тасканию;&lt;br /&gt;
*'''аномалия''' - вероятность возникновения аномалии в локациях.&lt;br /&gt;
*'''доступные аномалии''' - перечень доступных на данном уровне мастерства аномалий. Записываются в виде чисел через запятую. Доступные значения 0, 1, 2, 3, 4.&lt;br /&gt;
*'''множитель''' - коэффициент, на который умножаются набранные очки. при расчете перехода на следующий уровень. Может быть меньше 1.&lt;br /&gt;
*'''постоянный прирост''' - постоянный прирост, если он больше 0, то будет использоваться ВМЕСТО реально набранных в хиддене очков и множителя.&lt;br /&gt;
*'''очки''' - очки, которые нужно набрать для перехода на следующий уровень мастерства. Набранные в локции очки умножаются на множитель и суммируются. Когда превысят это значение - произойдет переход.&lt;br /&gt;
*'''Предметы''' - id коллекционных предметов, которые можно найти на локации. Не обязаны принадлежать к одной коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка.&lt;br /&gt;
*'''Вероятность''' - вероятность найти один из коллекционных предметов из предыдущего поля.&lt;br /&gt;
*'''Вероятность 2''' - вероятность найти один из коллекционных предметов из предыдущего поля.&lt;br /&gt;
*'''Вероятность 3''' - вероятность найти один из коллекционных предметов из предыдущего поля.&lt;br /&gt;
*'''Инвентарь''' - id инвентарных предметов, которые можно найти на локации. Перетаскиваются из текстового редактора.&lt;br /&gt;
*'''Вероятность инв.''' - вероятность найти один из инвентарных предметов из предыдущего поля.&lt;br /&gt;
*'''Вероятность инв. 2''' - вероятность найти один из инвентарных предметов из предыдущего поля.&lt;br /&gt;
*'''Вероятность инв. 3''' - вероятность найти один из инвентарных предметов из предыдущего поля.&lt;br /&gt;
*'''Коллекционный предмет''' - предмет из коллекций, который будет дан игроку по достижению этого уровня мастерства.&lt;br /&gt;
&lt;br /&gt;
===Коллекция===&lt;br /&gt;
&lt;br /&gt;
Во вкладке ''Коллекция'' используются только первые две колонки. В первой колонке отображаются добавленные коллекции. Добавляются кнопкой ''Добавить локацию''. Удаляются кнопкой ''Удалить локацию''. Коллекции можно переименовывать. Второй столбик содержит id предметов входящих в коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка. Ресурс 1 и ресурс 2 - ресурсы, которые даются за сдачу коллекции. Опыт - опыт, который дается за сдачу коллекции.&lt;br /&gt;
&lt;br /&gt;
*'''имя''' - Имя (а также - описание, если нужно) конкретно коллекции.&lt;br /&gt;
*'''предметы''' - id предметов входящих в коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка.&lt;br /&gt;
*'''ресурс 1''' - деньги даваемые за сдачу коллекции.&lt;br /&gt;
*'''ресурс 2''' - кристаллы даваемые за сдачу коллекции.&lt;br /&gt;
*'''опыт''' - опыт даваемый за сдачу коллекции.&lt;br /&gt;
*'''награда''' - предмет даваемый за сдачу коллекции. Перетаскивается из текстовой базы.&lt;br /&gt;
*'''заряжатели''' - Предметы инвентаря, необходимые для сдачи коллекции. ВНИМАНИЕ: будут использоваться не более первых 4х элементов списка.&lt;br /&gt;
*'''достижение''' - достижение, которое будет открываться по мере сдачи этой коллекции.&lt;br /&gt;
*'''процент''' - проценты достижения из предыдущего поля.&lt;br /&gt;
*'''уровень для подарка''' - уровень, начиная с которого предметы этой коллекции можно дарить&lt;br /&gt;
&lt;br /&gt;
===Предметы===&lt;br /&gt;
&lt;br /&gt;
Раздел &amp;quot;Предметы&amp;quot; позволяет добавлять список инвентарных предметов, которые могут использоваться в процессе игры, предоставлять различные бонусы. В первой колонке список предметов. Добавляется кнопкой  &amp;quot;Добавить локацию&amp;quot;, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;. Предметы могут быть переименованы. Во второй колонке записаны свойства каждого предмета.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 4.jpg|350px|right]]&lt;br /&gt;
&lt;br /&gt;
*'''nm''' - имя предмета&lt;br /&gt;
&lt;br /&gt;
*'''section''' - категория предмета.&lt;br /&gt;
&lt;br /&gt;
*'''use''' - если 1, то предмет может использоваться (кнопка Use видимая).&lt;br /&gt;
&lt;br /&gt;
*'''nm''' - имя предмета (txtID).&lt;br /&gt;
&lt;br /&gt;
*'''опции''' - если это поле задано, то в него будет записываться актуальное количество объектов.&lt;br /&gt;
&lt;br /&gt;
*'''начальное количество''' - начальное  количество предметов данного типа в инвентаре.&lt;br /&gt;
&lt;br /&gt;
*'''можно продать''' - возможность продавать предмет: 1 - можно продать, 0 - нельзя продать.&lt;br /&gt;
&lt;br /&gt;
*'''уникальный''' - если 1 - то предмет уникальный пропадает после покупки, если 0 - предмет после покупки не пропадает, если 3 - предмет покупается один раз, остальные разы только применяется&lt;br /&gt;
&lt;br /&gt;
*'''res1''' - цена предмета в ресурсе 1.&lt;br /&gt;
&lt;br /&gt;
*'''res2''' - цена предмета в ресурсе 2.&lt;br /&gt;
&lt;br /&gt;
*'''sres1''' - продажа - цена предмета в ресурсе 1.&lt;br /&gt;
&lt;br /&gt;
*'''sres2''' - продаже - цена предмета в ресурсе 2.&lt;br /&gt;
&lt;br /&gt;
*'''en''' - восстанавливает энергии единовременно.&lt;br /&gt;
&lt;br /&gt;
*'''tm''' - длительность действия в секундах. Если поставить &amp;quot;-1&amp;quot;, то действие предмета будет вечным, отображаться в таблице амулетов он не будет.&lt;br /&gt;
&lt;br /&gt;
*'''dTm''' - уменьшение времени восстановления энергии в %.&lt;br /&gt;
&lt;br /&gt;
*'''dFnd''' - увеличение вероятности нахождения предмета в %.&lt;br /&gt;
&lt;br /&gt;
*'''dExp''' - увеличение начисляемого опыта в %.&lt;br /&gt;
&lt;br /&gt;
*'''dRes1''' - увеличение полученного ресурса 1 в %.&lt;br /&gt;
&lt;br /&gt;
*'''dRes2''' - увеличение полученного ресурса 2 в %.&lt;br /&gt;
&lt;br /&gt;
*'''dOvP''' - увеличение перегруженной вероятности нахождения предметов в %.&lt;br /&gt;
&lt;br /&gt;
*'''dMaxEn''' - увеличение максимума энергии в %.&lt;br /&gt;
&lt;br /&gt;
*'''dBonus1''' - накопительный монетный бонус (в случае, если предмет дает ежедневный денежный прирост). Суммируется (от всех предметов имеющих это поле отличное от 0) и записывается в поле total_amulet_bonus1 экономикса. Автоматически не начисляется.&lt;br /&gt;
&lt;br /&gt;
*'''dBonus1''' - накопительный кристальный бонус (в случае, если предмет дает ежедневный денежный прирост). Суммируется (от всех предметов имеющих это поле отличное от 0) и записывается в поле total_amulet_bonus2 экономикса. Автоматически не начисляется.&lt;br /&gt;
&lt;br /&gt;
*'''dPurchase''' - к каждой покупке предмета добавляется еще столько таких же предметов. Актуально в тех случаях, когда приобретение предмета активирует акцию 1+1.&lt;br /&gt;
&lt;br /&gt;
*'''num''' - число предметов в сундуке. Выбираются случайно из следующего поля. При 0 - следующее поле не используется.&lt;br /&gt;
&lt;br /&gt;
*'''items''' - предметы, которые можно найти в сундуке. Перетаскиваются из текстовой базы.&lt;br /&gt;
&lt;br /&gt;
*'''use_id''' - задание этого поля говорит о том, что данный предмет является оптовым пучком для предмета указанного у этом поле. Num, в этом случае, - количество.&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;
&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;
*'''кнопка применить - поле в опциях''' ( '''btn_use_field''' ) - для применяемого предмета, указываем поле для проверки значения, если условие истинно - кнопка применить будет доступна; иначе - выключена (&amp;quot;disable&amp;quot;);&lt;br /&gt;
*'''кнопка применить - значение''' ( '''btn_use_val''' ) - значение для проверки условия, в поле '''кнопка применить - поле в опциях''';&lt;br /&gt;
*'''кнопка применить - НЕ''' ( '''btn_use_not''' ) - от результата сравнения взять обратное;&lt;br /&gt;
&lt;br /&gt;
====Создание предметов (крафт)====&lt;br /&gt;
&lt;br /&gt;
В третьей колонке можно добавлять ингридиенты из которых состоит предмет. Ингридиенты сами по себе являются также инвентарными предметами. В четвертой колонке указывается текстовый id ингридиента и необходимое количество данного ингридиента.&lt;br /&gt;
&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;
*'''купить''' - кнопка покупка чарджера, передает economics состояние buy_charger.&lt;br /&gt;
*'''искать''' - кнопка поиска чарджера, передает economics состояние search_charger.&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;
===Нехватка ресурсов на чарджер===&lt;br /&gt;
Позволяет изменить состояние выбранному объекту при нехватке ресурсов на чарджер. Добавляется кнопкой &amp;quot;Добавить локацию&amp;quot;, можно переименовывать, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Монстр===&lt;br /&gt;
В первой колонке добавляется монстр, добавляется кнопкой &amp;quot;Добавить локацию&amp;quot;, если возможность переименовать, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;&lt;br /&gt;
Во второй колонке отображаются свойства выделенной колонки.&lt;br /&gt;
&lt;br /&gt;
*'''Объект на карте''' - объект, который представляет монстра на карте. Как правило окно, которое должно иметь состояние hide (скрыт),show и disappear (прогнали).&lt;br /&gt;
*'''Имя монстра''' - текстовый id из которого берется иконка, имя и описание монстра.&lt;br /&gt;
*'''Экран''' - экран в котором расположена локация.&lt;br /&gt;
*'''min уровень''' - уровень, при достижении которого, появляется монстр.&lt;br /&gt;
*'''max уровень''' - уровень, при достижении которого, монстр исчезает.&lt;br /&gt;
*'''необходимый предмет''' - предмет необходимый для игры с духом.&lt;br /&gt;
*'''количество''' -  количество предметов из поля &amp;quot;необходимый предмет&amp;quot;. &lt;br /&gt;
*'''связанный баттл''' - поле в котором указывается связанный объект типа matchbattle.&lt;br /&gt;
*'''связанный матч''' - поле в котором указывается связанный матч.&lt;br /&gt;
*'''окно внутри монстра''' - объект, который покажем в экране с мини игрой в случае победы. Должен иметь состояния open - в случае обычной победы, open_win - если перешли на следующий уровень мастерства. Чтобы это окно перешло в одно из этих состояний передаем экономике состояние ''monster_win_wnd''.&lt;br /&gt;
*'''текст внутри монстра''' - текстовый объект, в который сложим поздравительный текст о переходе на следующий уровень мастерства.&lt;br /&gt;
*'''очищать statesmanager''' - 1 - при передаче экономике состояния monster_play для этого монстра все очереди statesmanager будут чиститься; 0 - не будут.&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;
*'''ресурс1''' - деньги даваемые за прохождение локации.&lt;br /&gt;
*'''опыт''' - опыт даваемый за прохождение локации.&lt;br /&gt;
*'''постоянный прирост''' - постоянный прирост.&lt;br /&gt;
*'''штраф за поражение''' - кол-во очков, которые отнимаются за проигрыш.&lt;br /&gt;
*'''очки''' - количество очков, которое необходимо набрать для перехода на следующий уровень мастерства.&lt;br /&gt;
*'''предметы''' - id коллекционных предметов, которые можно найти на локации. Предметы не обязательно должны быть из одной коллекции. Необходимые предметы перетаскиваются из текстового редактора, при этом будет использоваться их иконка.&lt;br /&gt;
*'''Вероятность''' - вероятность найти один из коллекционных предметов из поля &amp;quot;предметы&amp;quot;.&lt;br /&gt;
*'''Вероятность 2''' - вероятность найти один из коллекционных предметов из поля &amp;quot;предметы&amp;quot;.&lt;br /&gt;
*'''Вероятность 3''' - вероятность найти один из коллекционных предметов из поля &amp;quot;предметы&amp;quot;.&lt;br /&gt;
*'''Инвентарь''' - id инвентарных предметов, которые можно найти на локации. Перетаскиваются из текстового редактора.&lt;br /&gt;
*'''Вероятность инв.''' - вероятность найти один из инвентарных предметов из поля &amp;quot;инвентарь&amp;quot;.&lt;br /&gt;
*'''Вероятность инв. 2''' - вероятность найти один из инвентарных предметов из поля &amp;quot;инвентарь&amp;quot;.&lt;br /&gt;
*'''Вероятность инв. 3''' - вероятность найти один из инвентарных предметов из поля &amp;quot;инвентарь&amp;quot;.&lt;br /&gt;
*'''текст при разлочке уровня''' - текстовый id из которого возьмем поздравительный текст о разлочке нового уровня.&lt;br /&gt;
*'''жизни врага''' - записываются значения вражеских жизней.&lt;br /&gt;
*'''начальные жизни врага''' - начальное значение вражеских жизней.&lt;br /&gt;
*'''регенерация врага''' - время (в ms), за которое у противника отрастает жизнь. Если установлено -1, то отрастания жизни противника на происходит.&lt;br /&gt;
*'''число цветов''' - это число будет записываться в параметр numTokenNums матча.&lt;br /&gt;
&lt;br /&gt;
Автоматические уровни мастерства отличаются всего несколькими дополнительными полями.&lt;br /&gt;
&lt;br /&gt;
*'''количество''' - количество автоматических уровней.&lt;br /&gt;
*'''энергия''' - начальное значение энергии за игру.&lt;br /&gt;
*'''энергия прирост''' - прирост энергии за каждый уровень мастерства.&lt;br /&gt;
*'''ресурс 1''' - начальное значение ресурса1, который мы получаем за прохождение.&lt;br /&gt;
*'''ресурс 1 прирост''' - прирост ресурса1 за каждый уровень мастерства.&lt;br /&gt;
*'''опыт''' - начальное значение опыта, который мы получаем за прохождение.&lt;br /&gt;
*'''опыт прирост''' - прирост опыта за каждый уровень мастерства.&lt;br /&gt;
*'''нулевой штраф каждые n уровней''' - раз в столько уровней штраф за поражение будет нулевым (-1 - не использовать).&lt;br /&gt;
&lt;br /&gt;
Также есть возможность перегружать некоторые параметры уровней мастерства. Для этого нужно выбрать монстра и в выпадающем списке вверху выбрать пункт &amp;quot;перегрузка параметров&amp;quot;.Перегрузок может быть несколько. &lt;br /&gt;
&lt;br /&gt;
Для настройки перегрузки нужно выбрать ее в 3 колонке, при этом в 4 колонке отобразятся параметры перегрузки. &lt;br /&gt;
Сейчас перегрузку можно привязать к уровням XP игрока и к уровню монстра. Под уровнем монстра имеется ввиду уровень мастерства, отсчет начинается с 0. Перегружать можно энергию, затрачиваемую на монстра, награду (золото и опыт), а также инвентарные и коллекционные предметы.&lt;br /&gt;
&lt;br /&gt;
''Важно!'' Если поля инвентарных и коллекционных предметов оставить пустыми - то предметы выпадать не будут.&lt;br /&gt;
&lt;br /&gt;
===Летающий объект===&lt;br /&gt;
Впервой колонке кнопкой &amp;quot;Добавить локацию&amp;quot; добавляется летающий объект - объекты которые вылетают после прохождения локации или после покупки сундуков. Удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;. Во второй колонке добавляется объект выделенного летающего объекта. Состояния hide, wait, inventory и  collection  -  обязательны для этого предмета.&lt;br /&gt;
&lt;br /&gt;
''hide'' - состояние, когда объект не видно на экране. В этом состоянии можно указать свойство alpha=0.&lt;br /&gt;
&lt;br /&gt;
''wait'' - состояние, в которое попадают летающие объекты, которые отображают коллекционные предметы до того, как объекту economics будет вызвано состояние col_item_found.&lt;br /&gt;
&lt;br /&gt;
''collection'' - состояние, которое будет вызвано летающему объекту, который отображает коллекционный предмет после того как объекту economics будет вызвано состояние col_item_found (он может лететь в таблицу с нужной коллекцией).&lt;br /&gt;
&lt;br /&gt;
''inventory'' - состояние, которое вызывается летающему объекту в случае, если он отображает инвентарный объект (в этом состоянии предмет становится видимым и в дальнейшем может перемещаться).&lt;br /&gt;
&lt;br /&gt;
===Аномалия===&lt;br /&gt;
&lt;br /&gt;
В хидден-локации могут присутствовать аномалии, затрудняющие ее прохождение.&lt;br /&gt;
Впервой колонке добавляется аномалия, добавляется кнопкой &amp;quot;Добавить локацию&amp;quot;, можно переименовывать, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;.&lt;br /&gt;
Во второй колонке отображаются свойства выделенной аномалии.&lt;br /&gt;
*'''id''' - поле в которое перетаскивается текстовый id, из которого используется название, описание и иконка аномалии.&lt;br /&gt;
*'''предмет''' - предмет необходимый для того, что бы изгнать аномалию.&lt;br /&gt;
*'''экран''' -  в этом поле указывается экран, в котором расположена мини игра.&lt;br /&gt;
*'''прибавка к энергии''' - указывается прибавка к энергии, поскольку для игры в аномалию будет нужно больше энергии. Например, при значении 0,5 - энергии потребуется больше в полтора раза.&lt;br /&gt;
*'''прибавка к опыту''' - указывается прибавка к опыту, поскольку игра в локацию с аномалией будет давать больше опыта. Например, при значении 0,5 - опыта приобретается больше в полтора раза.&lt;br /&gt;
*'''прибавка к ресурсу 1''' - указывается прибавка к ресурсу 1. поскольку игра в локацию с аномалией будет давать больше ресурса 1. Например, при значении 0,5 - ресурса 1 приобретается больше в полтора раза.&lt;br /&gt;
&lt;br /&gt;
===Сдача коллекции===&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;
Временный эффект - визуализация действия различных инвентарных объектов, которые применил игрок.&lt;br /&gt;
В первой колонке создается временный эффект, добавляется кнопкой &amp;quot;Добавить локацию&amp;quot;, удаляется кнопкой &amp;quot;Удалить локацию&amp;quot;.&lt;br /&gt;
Во второй колонке устанавливаются свойства выделенного временного эффекта.&lt;br /&gt;
&lt;br /&gt;
*'''иконка''' - из редактора ресурсов, перетаскивается иконка временного эффекта&lt;br /&gt;
*'''таймер''' - указывается объект типа timer, который соответствует выбранному временному эффекту.&lt;br /&gt;
*'''подложка''' - из редактора ресурсов, перетаскивается картинка подложки для таймера указанного в поле &amp;quot;таймер&amp;quot;.&lt;br /&gt;
&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;
*'''процент''' - в виде числа, указывается процент достижения из поля &amp;quot;достижение&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''режим игры''' - указывается режим игры, ели 0 - режим игры не важен для достижения, 1 - режим игры слова, 2 - режим игры силуэты.&lt;br /&gt;
&lt;br /&gt;
*'''аномалия''' - указывается аномалия необходимая для достижения, если указывается -2 -  то аномалия не важна для достижения, если указывается -1 - то для достижения может использоваться любая аномалия.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Economics 5.jpg|right]]&lt;br /&gt;
Перед вызовом некоторых состояний объекту economics необходимо передать параметр '''param''' и его значение. Например когда нам нужно открыть окно перед локацией мы передаем параметр номера этой локации в списке локаций (начиная с 0).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear /br&amp;gt;&lt;br /&gt;
*'''idle''' - состояние по умолчанию.&lt;br /&gt;
*'''completed''' - передает состояние окончания исследования локации (необходим параметр номера локации), перед вызовом состояния, можно экономике заполнить поле '''additional_inv''' - перечнем инвентарных предметов которые хотим добавить пользователю ( поместить в таблицу + чтобы экономика поместила их в летающие объекты), через запятую (к примеру additional_inv=&amp;quot;12345,25841&amp;quot;) .&lt;br /&gt;
*'''exp''' - передает состояние начисления опыта (необходим параметр количества опыта). Нужен больше для тестирования, чем для самой игры.&lt;br /&gt;
*'''play''' - передает состояния перехода на локацию для исследования(при условии что хватит энергии и выполнены прочие условия).&lt;br /&gt;
*'''location''' - открывает окно перед локацией (необходим параметр номера локации).&lt;br /&gt;
*'''collection''' - заставляет экономикс заполнить таблицу коллекций. Лучше вызывать сразу перед открытием окна коллекций или во время его открытия. Для применения фильтрации коллекций перед вызовом состояния задать параметр ''collectionFilter'' (0 - все, 1 - все предметы, 2 - не хватает одного, 3 - новые). Для определения коллекции в категорию &amp;quot;новые&amp;quot; указать в настройках коллекции ''cnew'' (''новая'' - признак новизны для фильтра. &amp;gt;0 - новая).&lt;br /&gt;
*'''collections_scroll''' - заполняет таблицу коллекций и проматывает на коллекцию содержащую последний предмет для которого было показано окошко с информацией о предмете.&lt;br /&gt;
*'''collections_custom''' - перематывает таблицу к нужной коллекции. id коллекции записывается предварительно в param.&lt;br /&gt;
*'''item_collections''' - заставляет экономикс показать окошко с информацией о коллекционном предмете. Вызывается при тапе на таблицу в темплейте коллекций (объект ecollection).&lt;br /&gt;
*'''item_effect''' - сообщает economics, что необходимо показать окошко предмета от таймэфекта (необходим параметр номера эффекта)&lt;br /&gt;
*'''item_preview''' - заставляет экономикс показать окошко с информацией о предмете, который можно найти при обыске локации. Вызывается при тапе на таблицу с предметами в окне перед локацией.&lt;br /&gt;
*'''item_review''' - заставляет экономикс показать окошко с информацией о предмете, который нашли после обыска локации. Вызывается при тапе на таблицу с предметами в окне после локации.&lt;br /&gt;
*'''item_monster_preview''' - заставляет экономикс показать окошко с информацией о предмете, который можно найти при игре с монстром. Вызывается при тапе на таблицу с предметами в окне перед монстром.&lt;br /&gt;
*'''item_monster_review''' - заставляет экономикс показать окошко с информацией о предмете, который нашли после игры с монстром. Вызывается при тапе на таблицу с предметами в окне после монстра.&lt;br /&gt;
*'''completed_animation''' - состояние запускает анимацию полученной награды за прохождение локации после &amp;quot;окна после локации&amp;quot;. Можно запускать из состояния закрытия окна после локации.&lt;br /&gt;
*'''unlock_item''' - передает состояние покупки предмета, необходимого для открытия локации. Как правило, предмет находится в окне перед локацией.&lt;br /&gt;
*'''unlock''' -  передает состояние при котором происходит разлочка локации если текущий уровень на один ниже, чем необходимый для открытии локации или значение ''разница в уровнях'', позволяет разлочить локацию. Как правило кнопка для разблокирования локации размещается в окне перед локацией. Когда разница уровней достаточна, чтобы разлочить локацию машина локации переводится в состояние '''can_buy'''.&lt;br /&gt;
*'''completed_reward''' - вызывается объектом анимации награды после прохождения локации. Если объектов несколько (опыт, монеты, кристаллы), то вызывается только один раз одним из объектов.&lt;br /&gt;
*'''search_charger''' - производит поиск недостающего чарджера. Пока только по монстрам. Номер чарджера 0 или 1 - в парам.&lt;br /&gt;
*'''buy_charger''' - производит покупку недостающего чарджера  (номер в параметре, -1 - купить все).&lt;br /&gt;
*'''update''' - обновить все локации на карте.&lt;br /&gt;
*'''level_up''' - проверяет получение нового уровня. Чтобы окно с получением нового уровня не открывалось самостоятельно, мы вызываем это состояние, когда нам удобно. Проверяется был ли получен новый уровень, если был, то вызывается окно с получением нового уровня.&lt;br /&gt;
*'''res1''' - Добавить ресурс 1 (значение в параметре).&lt;br /&gt;
*'''res2''' - Добавить ресурс 2 (значение в параметре).&lt;br /&gt;
*'''res1s''' - скорректировать статистику по ресурсу 1 (значение в параметре, когда, например, ресурс не заработан, а выигран в казино).&lt;br /&gt;
*'''res2s''' - скорректировать статистику по ресурсу 2 (значение в параметре, когда, например, ресурс не заработан, а выигран в казино).&lt;br /&gt;
*'''energy''' - Добавить энергию (значение в параметре).&lt;br /&gt;
*'''energy_no_max''' - Добавить энергию перманентно - без ограничения перевала за максимум (значение в параметре).&lt;br /&gt;
*'''failed''' - текущая локация провалена (не дается опыта и прочих наград за прохождение локации). Требует параметра локации.&lt;br /&gt;
*'''item_effect''' -  показать окошко предмета от таймэффекта. В param - номер эффекта.&lt;br /&gt;
*'''item_effect_last''' - показать окошко предмета от последнего активированного таймэффекта. У машины окошка должно быть состояние &amp;quot;open_last&amp;quot;.&lt;br /&gt;
*'''search_collection''' -  проскроллить карту на локацию где можно найти коллекционный предмет. При этом машина локации (Объект на карте) будет переведена в состояние highlight, в котором локацию можно посветить или выделить ее каким-то образом.&lt;br /&gt;
*'''search_task''' -  проскроллить карту на локацию где можно найти предмет из задания. При этом машина локации (Объект на карте) будет переведена в состояние highlight, в котором локацию можно посветить или выделить ее каким-то образом.&lt;br /&gt;
*'''search_charger''' - проскролить  карту на монстр, в котором можно найти чарджер (необходимо значение чарджера в параметре 0 или 1).&lt;br /&gt;
*'''monster''' - Открыть превью для монстра с номером указанном в поле параметр.&lt;br /&gt;
*'''monster_play''' - Играть в мини игру выбранного монстра (при условии, что хватит энергии и выполнены прочие условия).&lt;br /&gt;
*'''monster_removed''' - Монстра прогнали предметами. Вычесть предметы и успешно завершить.&lt;br /&gt;
*'''monster_completed''' - Текущая мини игра так или иначе пройдена, перед вызовом состояния, можно экономике заполнить поле '''additional_inv''' - перечнем инвентарных предметов которые хотим добавить пользователю ( поместить в таблицу + чтобы экономика поместила их в летающие объекты), через запятую (к примеру additional_inv=&amp;quot;12345,25841&amp;quot;) .&lt;br /&gt;
*'''monster_failed''' -  Текущая мини игра провалена, отличается от предыдущего тем, что не дается бонусного опыта и прочих наград.&lt;br /&gt;
*'''monster_buy''' -  попытаться докупить предметы, необходимые для игры с монстром.&lt;br /&gt;
*'''col_item_param''' - Добавить коллекционный предмет, взяв его айди из параметра.&lt;br /&gt;
*'''anomaly_item''' - попытаться прогнать аномалию в текущей локации предметом. В зависимости от номера аномалии, машина локации (Объект на карте)  переводится в состояние anomaly_N, где N - номер аномалии начиная с 0. (anomaly_0, anomaly_1 и т.д.). Таким образом можно визуализировать аномалию на карте.&lt;br /&gt;
*'''anomaly_game''' - попытаться прогнать аномалию в текущей локации мини игрой.&lt;br /&gt;
*'''anomaly_completed''' -  мини игра по прогону аномалии успешно завершена.&lt;br /&gt;
*'''anomaly_buy''' - показать окно покупки для предмета прогона аномалии (в текущей локации).&lt;br /&gt;
*'''cheat_loc_level''' -  &amp;quot;накачать&amp;quot; всем локациям скилл левел до максимума (для тестирования).&lt;br /&gt;
*'''chest_animation''' - анимировать последний использованный сундук.&lt;br /&gt;
*'''col_item_found''' -  показать окошко с коллекцией для одного найденного коллекционного предмета из очереди.&lt;br /&gt;
*'''cheat_one_level''' - просимулировать один уровень развития игрока.&lt;br /&gt;
*'''purchase_ok''' - сообщает economocs что произошла покупка. Сформировать событие флури.&lt;br /&gt;
*'''buy_random_col''' - купить случайный коллекционный предмет.&lt;br /&gt;
*'''location_switch''' - переключить локацию на связанную (если есть предмет и собраны все артефакты, необходимые для перехода).&lt;br /&gt;
*''' anomaly_set_everywhere''' - генерация аномалии. Если в объекте Economics в параметре param указан номер аномалии, то состояние добавляет аномалию всем локациям, а если -1, то убирает аномалию из всех локаций.&lt;br /&gt;
*''' buy_artefact''' - осуществляет покупку артефакта для локации. Для этого у объекта economics в param должен быть записан номер локации, а в param2 номер артефакта (номер по порядку начиная с 0).&lt;br /&gt;
*'''show_artefacts''' - Показать таблицу покупки артефактов в param - номер локации&lt;br /&gt;
*'''location_buy_all_switchers''' - Купить все артефакты доступные для данной локации&lt;br /&gt;
*'''search_ingridient''' - переход в локацию для поиска ингредиента, который указан в param.&lt;br /&gt;
*'''search_needitem''' - поиск необходимого для исследования локации предмета из окна перед локацией. В param должен быть указан id необходимого предмета.&lt;br /&gt;
*'''copy''' - скопировать основные параметры (опыт, уровень, энергия) и количество предметов из одной экономики в другую. Перед вызовом указать в поле &amp;quot;param&amp;quot; id экономики куда перенесём значение. Если экономика в кот. копируем выключена по disable=&amp;quot;1&amp;quot; - нужно с начало установить  disable=&amp;quot;0&amp;quot;, вызвать сост. &amp;quot;init&amp;quot;, а уже после в неё копировать.&lt;br /&gt;
*'''set_was_visited_flag''' - установить флаг посещаемости локации (loc%n%.wv=&amp;quot;1&amp;quot;) для календаря. В param должен быть указан id необходимого предмета.&lt;br /&gt;
*'''clear_was_visited_flag''' - снять флаг посещаемости локации (loc%n%.wv=&amp;quot;0&amp;quot;) для календаря.В param должен быть указан id необходимого предмета.&lt;br /&gt;
*'''srand_hidden''' - перетряхнуть связанный с хидденом генератор псевдослучайных чисел. Можно вызывать перед локацией, если возникает зацикливание хидденов. '''''КАТЕГОРИЧЕСКИ НЕЛЬЗЯ вызывать его при честном мультиплеере - в нем все определяется сидом от сервера'''''&lt;br /&gt;
*'''download_pack''' - попросить экономику скачать пак для локации из поля param (используется при использовании динамических паков - конфигов, [https://docs.google.com/document/d/13UUOKf_iJNzFx0PjU4JQIfYDX7NhK7dyfJAR3I-SWlQ/edit детальнее]).&lt;br /&gt;
*'''search_task_only_open''' - вызываем из окна таска, откроет превью локации в которой можно найти требуемый предмет. Аналог search_task, но ищет только в открытых локациях (в случае с календарём - влияет параметр &amp;quot;подзадача предмет&amp;quot; -&amp;gt; &amp;quot;сгенерировать предмет&amp;quot; - если указано неделя - будет давать локацию в диапазоне текущей недели; день - локацию текущего дня).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Календарь (локации заполняем в таблицу как календарь):&lt;br /&gt;
*'''unlock_for_today''' - попросить экономику разблокировать диапазон локации до конца текущего дня (диапазон указываем посредством полей &amp;quot;param&amp;quot; и &amp;quot;param2&amp;quot; - [param,param2]) .&lt;br /&gt;
*'''today_table''' - промотать таблицу до текущего дня.&lt;br /&gt;
*'''location_table_get_name''' - открыть превью локации, по нажатой ячейке таблицы календаря.&lt;br /&gt;
*'''clear_packs''' - очистить паки которые не использовались n-н дней (где n - параметр '''packDeleteDays'''). &lt;br /&gt;
&lt;br /&gt;
При начислении экономикой res1 и res2 во флурри отправляются события coins_get, diams_get. Для того чтобы источники монет/кристаллов (параметр source) в событии приходили с адекватными значениями, перед вызовом состояния начисления экономике нужно записать параметр &amp;quot;res_source&amp;quot; в соответствии со значениями в списке:&lt;br /&gt;
 &lt;br /&gt;
  SOURCE_UNKNOWN = 0,                          //!&amp;lt; неизвестный источник&lt;br /&gt;
      SOURCE_PURCHASE = 1,                         //!&amp;lt; покупка&lt;br /&gt;
      SOURCE_HIDDEN_WIN = 2,                       //!&amp;lt; выигрыш в хиддене&lt;br /&gt;
      SOURCE_MINIGAME_WIN = 3,                     //!&amp;lt; выигрыш в миниигре&lt;br /&gt;
      SOURCE_DAILY_BONUS = 4,                      //!&amp;lt; дейли бонус&lt;br /&gt;
      SOURCE_SOCIAL_BONUS = 5,                     //!&amp;lt; бонусы за социалку&lt;br /&gt;
      SOURCE_CASINO = 6,                           //!&amp;lt; казино&lt;br /&gt;
      SOURCE_EXCHANGE = 7,                         //!&amp;lt; биржа&lt;br /&gt;
      SOURCE_DEPOSIT = 8,                          //!&amp;lt; депозит&lt;br /&gt;
      SOURCE_COLLECTION_GOT = 9,                   //!&amp;lt; сдача коллекций&lt;br /&gt;
      SOURCE_GUES = 10,                            //!&amp;lt; угадайка&lt;br /&gt;
      SOURCE_TASK_COMPLETE = 11,                   //!&amp;lt; выполнена задача&lt;br /&gt;
      SOURCE_TRIVIA = 12,                          //!&amp;lt; миллионер&lt;br /&gt;
      SOURCE_REDEEM = 13,                          //!&amp;lt; начисление из админки&lt;br /&gt;
      SOURCE_LEVEL_UP = 14,                        //!&amp;lt; достижение уровня&lt;br /&gt;
      SOURCE_USE_ITEM = 15,                        //!&amp;lt; использование предмета&lt;br /&gt;
      SOURCE_PET_GOLD_COLLECTED = 16,              //!&amp;lt; собрали бонус животного у пэта&lt;br /&gt;
      SOURCE_PET_COLLECTION_GOT = 17,              //!&amp;lt; сдача коллекции животных&lt;br /&gt;
      SOURCE_SLOTMACHINE = 18,                     //!&amp;lt; слотмашина&lt;br /&gt;
      SOURCE_RPGBATTLE = 19,                       //!&amp;lt; псевдоРПГ бой&lt;br /&gt;
      SOURCE_SLOTFALLING = 20,   		   //!&amp;lt; вторая слотмашина&lt;br /&gt;
      SOURCE_MAP_CHEST = 21                        //!&amp;lt; сундуки на карте&lt;br /&gt;
      SOURCE_ADVERTISEMENT = 22,                   //!&amp;lt; реклама&lt;br /&gt;
      SOURCE_CONTEST_PRIZE = 23                    //!&amp;lt; соревнования&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   П.С. для мануального начисления (уникальный источник под каждый проект) &lt;br /&gt;
      31                                           // игровая награда №1 &lt;br /&gt;
      32                                           // игровая награда №2 &lt;br /&gt;
      33                                           // игровая награда №3 &lt;br /&gt;
      34                                           // игровая награда №4 &lt;br /&gt;
      35                                           // игровая награда №5&lt;br /&gt;
      36                                           // игровая награда №6&lt;br /&gt;
      37                                           // игровая награда №7&lt;br /&gt;
      38                                           // игровая награда №8&lt;br /&gt;
      39                                           // игровая награда №9&lt;br /&gt;
      40                                           // игровая награда №10&lt;br /&gt;
&lt;br /&gt;
=Коды ошибок:=&lt;br /&gt;
При скачивании паков, посредством фоновой загрузки или через состояние &amp;quot;download_pack&amp;quot; могут возникать ошибки (которые можем словить через еррорменеджер):&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''' - ошибка работы с файловой системой во время распаковки&lt;br /&gt;
*'''10''' - ошибка проверки распакованного пака&lt;br /&gt;
*'''11''' - ошибка распаковки&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;
Данные параметры можно вычесть с помощью команды &amp;quot;var&amp;quot; в машине состояний. Параметры нужно вычитать из профиля, если не сказано обратное.&lt;br /&gt;
[id] - числовой id экономики в проекте, если не указана другая информация.&lt;br /&gt;
&lt;br /&gt;
*'''ecomics[id].res1sp''' - количество потраченного ресурса_1 за все время игры;&lt;br /&gt;
*'''ecomics[id].res2sp''' - количество потраченного ресурса_2 за все время игры;&lt;br /&gt;
*'''ecomics[id].res1log''' - текущее значение ресурса_1 выраженное в логарифмической шкале;&lt;br /&gt;
*'''ecomics[id].res1logfl''' - текущее значение ресурса_1 выраженное в логарифмической шкале с учётом депозитов и биржи;&lt;br /&gt;
*'''ecomics[id].level''' - текущий уровень игрока;&lt;br /&gt;
*'''ecomics[id].res1''' - текущее количество ресурса_1;&lt;br /&gt;
*'''ecomics[id].res2''' - текущее количество ресурса_2;&lt;br /&gt;
*'''ecomics[id].res1ea''' - количество заработанного ресурса_1 за все время игры;&lt;br /&gt;
*'''ecomics[id].res2ea''' - количество заработанного ресурса_2 за все время игры;&lt;br /&gt;
*'''economics[id].stat.energy_spent''' - количество потраченной энергии за все время игры;&lt;br /&gt;
*'''ecomics[id].mplayed''' - количество сыгранных миниигр (монстр) за все время;&lt;br /&gt;
*'''ecomics[id].lplayed''' - количество сыгранных хидденов за все время;&lt;br /&gt;
*'''ecomics[id].total_score''' - количество заработанного опыта за все время игры;&lt;br /&gt;
*'''ecomics[id].exp''' - текущий опыт на уровне;&lt;br /&gt;
*'''ecomics[id].energy''' - текущий уровень энергии;&lt;br /&gt;
*'''ecomics[id].loc[loc_id].an''' - номер аномалии, которая будет в локации loc_id;&lt;br /&gt;
*'''amulets_bonus_res1''' - множитель монет за бонусы от амулетов, при начислении по сост. &amp;quot;res1&amp;quot;;&lt;br /&gt;
*'''amulets_bonus_res2''' - множитель кристаллов за бонусы от амулетов, при начислении по сост. &amp;quot;res2&amp;quot;;&lt;br /&gt;
*'''amulets_bonus_exp''' - множитель опыта за бонусы от амулетов, при начислении по сост. &amp;quot;exp&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Каждая экономика пишет в пользователя следующие параметры:&lt;br /&gt;
*'''public.EconomicsRes1''' - текущее количество ресурса_1;&lt;br /&gt;
*'''public.EconomicsRes2''' - текущее количество ресурса_2;&lt;br /&gt;
*'''public.EconomicsLevel''' - текущий уровень игрока;&lt;br /&gt;
*'''public.EconomicsEnergy''' - текущий уровень энергии;&lt;br /&gt;
*'''public.EconomicsTotalScore''' - количество заработанного опыта за все время игры;&lt;br /&gt;
*'''public.EconomicsCollectionsUniq''' - количество сданных коллекций ( значение повышается каждый раз при сдаче коллекции), пишется Экономикой только если поле   -    '''fbopt'''  не пустое;&lt;br /&gt;
&lt;br /&gt;
=Календарь и всё про него=&lt;br /&gt;
Данный режим позволяет создавать клонированные превью локаций и располагать локации по датам (одна локация - конкретная дата).&lt;br /&gt;
Визуально выглядит вот так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Econom calendar viewer.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
Настраивается рядом параметров (режим работы, визуальное оформление - таблица настраивается отдельно - ) &lt;br /&gt;
[[Файл:Econom calendart.jpg|400px|right]]&lt;br /&gt;
*'''шаблон объекта на карте''' ('''tmplIco''') - превью локации - может быть как машинкой или &amp;quot;elocationpreview&amp;quot;(в этом случае, за превью локации берётся машинка из поля &amp;quot;иконка&amp;quot; - ей будут вызываться состояния и писаться параметры).&lt;br /&gt;
 Должны быть подключены все состояния для машинки превью локации (&amp;quot;highlight&amp;quot;,&amp;quot;level_0&amp;quot;,&amp;quot;level_1&amp;quot;...) и дополнительно:&lt;br /&gt;
**'''apply''' - обновление имени локации (название дата) - в данном состоянии можно изменять параметры текста - выравнивание, размер шрифта и т.д.&lt;br /&gt;
**'''not_played''' - игрок заходил в день локации, но не играл в HG;&lt;br /&gt;
**'''not_visited''' - игрок не заходил в день локации;&lt;br /&gt;
**'''future''' - локация закрыта и находится в будущем; &lt;br /&gt;
Параметры которые пишутся в превью локации:&lt;br /&gt;
**'''season''' - сезон локации (0 - зима; 1 - Весна; 2 - Лето; 3 - Осень);&lt;br /&gt;
**'''in_past''' - находится локаций ранее текущей недели (0 - нет; 1 - да);&lt;br /&gt;
**'''cellShift''' - смещении локации от центрального элемента таблицы (знак &amp;quot;-&amp;quot; - влево; знак &amp;quot;+&amp;quot; - вправо);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''заглушка''' ('''tmplDummy''') - объект-заглушка, добавляется в начало и вконец таблицы - для правильной работы круговой таблицы;&lt;br /&gt;
*'''количество заглушек''' ('''tmplDummyNum''') - количество добавляемых заглушек;&lt;br /&gt;
*'''таблица''' ('''tableIco''') - таблица в которую будут складываться превью локации (должна иметь память - чтобы создались один раз);&lt;br /&gt;
*'''разлочить дней от текущего влево''' ('''daysunlock''') - указываем крайнее левое значение диапазона локаций текущей недели ( относительно, текущего, календарного дня);&lt;br /&gt;
*'''разлочить дней от текущего влево''' ('''daysunlockr''') - указываем крайнее правое значение диапазона локаций текущей недели( относительно, текущего, календарного дня);&lt;br /&gt;
*'''очищать все коллекционные предметы при смене дня''' ('''clearcollections''') - при смене календарного дня - очистить все полученные коллекционные предметы;&lt;br /&gt;
*'''прогресс загрузки''' ('''packProgress''') - прогресс загрузки пака, в окне перед локацией;&lt;br /&gt;
&lt;br /&gt;
Формат даты (можно использовать переменные в тексте _day - число, _weekDay - день недели, _mon - полное название месяца, _short - сокращенное название месяца):&lt;br /&gt;
*'''формат даты центр''' ('''dateFormatCenter''') - текстовый ресурс, который будет помещён в имя локации (дата) центрального элемента таблицы;&lt;br /&gt;
*'''формат даты лево''' ('''dateFormatLeft''') - текстовый ресурс, который будет помещён в имя локации (дата) всем элементам левее центрального элемента таблицы;&lt;br /&gt;
*'''формат даты право''' ('''dateFormatRight''') - текстовый ресурс, который будет помещён в имя локации (дата) всем элементам правее центрального элемента таблицы;&lt;br /&gt;
*'''дни недели''' ('''dateWeekDays''') - перечень текстовых ресурсов, которые будут браться для каждого дня недели ( первый текст - понедельник, второй - вторник ...);&lt;br /&gt;
*'''месяцы''' ('''dateMonthes''') - перечень текстовых ресурсов для месяцев ( начинаем с января; sense0 - полное название, sense1 - короткое);&lt;br /&gt;
&lt;br /&gt;
Фоновая прогрузка паков (при смене дня и при старте сессии):&lt;br /&gt;
*'''автозакачка паков влево''' ('''packNLeft''') - указываем крайную левую локацию диапазона;&lt;br /&gt;
*'''автозакачка паков вправо''' ('''packNRight''') - указываем крайную правую локацию диапазона;&lt;br /&gt;
&lt;br /&gt;
*'''поправка на 29 февраля''' ('''tableFeb29Adjust''') - обрабатываем 29 Февраля или нет;&lt;br /&gt;
*'''начальная дата''' ('''startDate''') - Дата самой первой локации (unix time);&lt;br /&gt;
*'''удалять паки не используемые (дней)''' ('''packDeleteDays''') - количество дней,спустя которое пак считается устаревшим, при превышении - пак удалится с устройства при вызове состояния '''clear_packs'''. По сути это разница между текущей датой и датой последнего использования пака. Дата последнего использования пака обновляется после игры в локацию (через сост. &amp;quot;play&amp;quot;) или при успешной распаковке пака.&lt;br /&gt;
&lt;br /&gt;
=Динамические паки=&lt;br /&gt;
Функционал позволяет уменьшить размер приложения, посредством разбиения арта на паки, и в процессе игры их скачивания [https://docs.google.com/document/d/13UUOKf_iJNzFx0PjU4JQIfYDX7NhK7dyfJAR3I-SWlQ/edit# (см. документ)].&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9490</id>
		<title>Taskorganizer</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Taskorganizer&amp;diff=9490"/>
		<updated>2018-03-30T14:00:54Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Запись в опции */&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;
*'''умножать цену пропуска''' - нужно в случае, если мы хотим давать юзеру возможность моментально выполнить задачу за цену, которая зависит от количества нехватающих коллекционных предметов (цена пропуска*количество отсутствующих предметов).&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;
:'''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;
==Изменить состояние объекта - новое задание==&lt;br /&gt;
&lt;br /&gt;
Позволяет изменять состояние объекту каждый раз при появлении нового задания, находится в taskorganizer setup.&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;
*'''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;
В процессе работы таскорганайзер записывает параметры в опции. Для конкретной задачи этот параметр представляет следующую строку:&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;
[[Category:Economics]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Builder&amp;diff=9481</id>
		<title>Builder</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Builder&amp;diff=9481"/>
		<updated>2018-03-17T07:19:27Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Предмет для постройки\дополнительные условия для апгрейда */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Объект Builder реализует механику фермы, где можно строить здания, улучшать их и получать с них бонусы по времени.&lt;br /&gt;
&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
*'''economics''' - объект типа economics. Нужен для взаимодействия с балансом и предметами.&lt;br /&gt;
*'''builderitem''' - шаблон здания. Описание [[builderitem|тут]]. Если шаблон указан в этом поле, то он является общим для всех клонируемых объектов зданий. Если какие-либо из зданий мы хотим сделать уникальными, то для них шаблон указывается в builder setup.&lt;br /&gt;
&lt;br /&gt;
==Окно подтверждения апгрейда==&lt;br /&gt;
Окно, которое открывается когда мы хотим построить или улучшить здание. Содержит общую информацию о локации, а также необходимые [[Buildercomponent|предметы]] для улучшения.&lt;br /&gt;
*'''иконка до''' - иконка здания до улучшения\постройки&lt;br /&gt;
*'''иконка после''' - иконка здания после улучшения\постройки&lt;br /&gt;
*'''название''' - ссылка на текстовый объект названия здания. Берется из текстового id здания (sense0), который указан в builder setup&lt;br /&gt;
*'''описание''' - ссылка на текстовый объект описания здания. Берется из текстового id здания (sense1), который указан в builder setup&lt;br /&gt;
*'''уровень до''' - ссылка на счетчик, в который складывается значение уровня здания до улучшения. Т.к. уровня начинаются с 0, то для непостроенного здания в этот счетчик попадет значение -1&lt;br /&gt;
*'''уровень после''' - ссылка на счетчик, в который складывается значение уровня здания после улучшения&lt;br /&gt;
*'''время улучшения''' - ссылка на таймер, в который складывается время необходимое на улучшение. Таймер не запускается, а просто служит в качестве форматного контейнера для времени&lt;br /&gt;
*'''опыт за улучшение''' - ссылка на счетчик, в который сложится разовый опыт за улучшение\постройку здания&lt;br /&gt;
*'''цена за все''' - ссылка на счетчик, в который сложится общая цена со скидкой на необходимые компоненты(предметы) для улучшения\постройки здания&lt;br /&gt;
*'''кнопка купить все''' - ссылка на кнопку, по нажатию на которую покупаются все недостающие предметы. Кнопка должна передать состояние \\TODO&lt;br /&gt;
*'''кнопка улучшить''' - ссылка на кнопку, которая должна передать билдеру состояние 'upgrade', предварительно записав в 'param' id здания&lt;br /&gt;
*'''таблица''' - ссылка на таблицу, в которую сложатся все шаблоны предметов, необходимых для постройки\апгрейда здания&lt;br /&gt;
*'''buildercomponent''' - ссылка на объект шаблона [[buildercomponent|компонента]] для постройки здания&lt;br /&gt;
*'''само окно''' - окно улучшения\постройки здания. Должно иметь состояние show&lt;br /&gt;
&lt;br /&gt;
==builder setup==&lt;br /&gt;
[[Файл:Builder.jpg|600px|thumb|top|builder setup]]&lt;br /&gt;
В этом разделе содержатся настройки для каждого здания. Условно это окно можно разделить на 3 блока:&lt;br /&gt;
# строение и настройки для строения&lt;br /&gt;
# уровень улучшения и настройки уровня улучшения&lt;br /&gt;
# предмет для постройки и настройки предмета, а также дополнительные условия для апгрейда&lt;br /&gt;
Строение добавляется по нажатию на кнопку Add1 (Удаляется Delete1).&lt;br /&gt;
===Строение===&lt;br /&gt;
*'''id''' - текстовый id, уникальный идентификатор строения&lt;br /&gt;
*'''builderitem''' - в случае, если нужно использовать уникальный вид строения, то сюда помещается ссылка на шаблон здания [[builderitem]]&lt;br /&gt;
*'''parent''' - в случае, если это здание использует общий для всех шаблон [[builderitem]], то сюда помещается обект, в который после клонирования вложится этот шаблон. Этот объект необходим для размещения зданий на карте&lt;br /&gt;
*'''иконка(непостроенного)''' - ссылка на resID графики непостроенного здания. Т.е. его внешний вид до первого апгрейда&lt;br /&gt;
*'''иконка(строительства)''' - ссылка на resID графики процесса строительства\апгрейда&lt;br /&gt;
===Уровень улучшения===&lt;br /&gt;
*'''иконка''' - ссылка на resID графики здания на этом уровне&lt;br /&gt;
*'''время постройки''' - время в секундах, необходимое для улучшения на этот уровень с предыдущего&lt;br /&gt;
*'''время прибыли''' - время генерации прибыли в секундах&lt;br /&gt;
*'''мгновенная постройка res1''' - стоимость мгновенного завершения строительства в res1&lt;br /&gt;
*'''мгновенная постройка res2''' - стоимость мгновенного завершения строительства в res2&lt;br /&gt;
*'''опыт''' - опыт, даваемый разово за улучшение&lt;br /&gt;
*'''прибыль монеты''' - постоянно генерируемая прибыль зданием на этом уровне в res1&lt;br /&gt;
*'''прибыль кристаллы''' - постоянно генерируемая прибыль зданием на этом уровне в res2&lt;br /&gt;
===Предмет для постройки для апгрейда===&lt;br /&gt;
*'''id''' - текстовый id предмета, необходимого для улучшения на этот уровень&lt;br /&gt;
*'''num''' - количество предметов из поля выше&lt;br /&gt;
===Дополнительное условие для апгрейда===&lt;br /&gt;
*'''поле в опциях''' - название поля в опциях (автоматически ищет в текущем пользователе)&lt;br /&gt;
*'''значение''' - значение указанного выше поля в опциях необходимое для улучшения на этот уровень&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
*'''update''' - вызывается для актуализации состояния зданий. Есть смысл делать при заходе на карту&lt;br /&gt;
*'''buy_component''' - вызывается из шаблона компонента [[buildercomponent]], по нажатию на соответствующую кнопку шаблона&lt;br /&gt;
*'''upgrade_wnd''' - вызывается из шаблона [[builderitem]], предварительно записав в param id здания. Открывает окно улучшения здания&lt;br /&gt;
*'''upgrade_instantly''' - вызывается из шаблона [[builderitem]], предварительно записав в param id здания. Мгновенно завершает строительство&lt;br /&gt;
==Пример==&lt;br /&gt;
[[Файл:Builder test.zip|Тестовый пример]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9245</id>
		<title>Isomover</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9245"/>
		<updated>2017-12-06T07:24:50Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Основные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Isomover''' - [[Object|объект]] используется для осуществления движения и взаимодействия в изометрической карте. &lt;br /&gt;
&lt;br /&gt;
  Isomover обязательно должен быть подобъектом [[isomap]]. &lt;br /&gt;
&lt;br /&gt;
В проекте с картой ([[isomap]]) и движущимися по ней объектами (isomover) часто используют [[economics]] и [[eitems]] потому, что для завершения процессов часто требуется применить предмет или ресурс.&lt;br /&gt;
&lt;br /&gt;
Начало движения множества изомуверов сильно нагружает систему, поэтому следует позаботиться, чтобы это происходило не в один момент времени. По возможности добавляйте небольшую и различную паузу каждому изомуверу перед стартом.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
*'''Положение''' (''x'',''y'') - рекомендуется выносить isomover-объекты за пределы карты. Иначе, если объект должен появляться не сразу, то он будет просто стоять без движения&lt;br /&gt;
*'''Память''' - всегда должно быть значение 1, обязательное условие корректной работы. Это позволяет объекту двигаться последовательно, не инициализируясь после каждого движения в исходной точке&lt;br /&gt;
*'''тип ребра min''' (''edge_t_min'') - перемещаться по ребрам не ниже заданного, -1 не проверять&lt;br /&gt;
*'''тип ребра max''' (''edge_t_max'') - перемещаться по ребрам не выше заданного, -1 не проверять. Типы ребер задаются в isomap&lt;br /&gt;
*'''Старт''' (''start'') - точка старта, выбирается из списка точек Isomap&lt;br /&gt;
*'''Финиш''' (''finish'') - точка финиша, выбирается из списка точек Isomap&lt;br /&gt;
*'''Скорость (макс)''' (''vel_max'') - максимальная скорость, с которой передвигается объект Isomover&lt;br /&gt;
*'''Скорость''' (''vel'') - не использовать, вычисляется по формуле автоматически, позже будет скрыто. V = Vmax*(k+(1-k)*(P/Pmax))&lt;br /&gt;
*'''Жизнь (макс)''' (''pow_max'') - максимальная жизнь&lt;br /&gt;
*'''Жизнь''' (''pow'') - текущая жизнь, высчитывается по формуле автоматически&lt;br /&gt;
*'''Сохранять жизнь в опции''' (''powsave'') - если да, то объекты сцены сохранят уровень жизни при выходе со сцены и возвращении на нее&lt;br /&gt;
*'''Коэффициент скорости''' (''speed_k'') - коэффициент k в формуле расчета скорости. Чтобы скорость не зависела от значения жизни - указываем speed_k = 1&lt;br /&gt;
*'''Менять угол''' (''fixangle'') - изменение угла для предания плавности смены графики при дугообразном перемещении объекта. С появлением 3D-объектов больше не используется&lt;br /&gt;
*'''Тип''' (''mtype'') - объекты можно разделять на типы (люди, монстры, звери и т.д.). Взаимодействие происходит между объектами разных типов, настраивается в добавляемых параметрах&lt;br /&gt;
*'''Радиус''' (''mradius'') - значения радиуса. Попадание изомувера другого типа в этот радиус позволит начать взаимодействие.&lt;br /&gt;
*'''Цель при действии''' (''mtarget'') - мувер может быть целью взаимодействия пока сам действует&lt;br /&gt;
*'''Запретить действие''' (''disact'') - мувер не сможет перейти из acting_wait в acting&lt;br /&gt;
*'''Время появления''' (''appear_time'') - время в миллисекундах появления и исчезания изомувера (длительность перехода по alpha)&lt;br /&gt;
*'''Время провала''' (''fail_time'') - длительность анимации смерти объекта, по его окончанию произойдет переход в состояние ''disappear''&lt;br /&gt;
*'''Время паузы''' (''pause_time'') - длительность &amp;quot;заморозки&amp;quot; объекта&lt;br /&gt;
*'''Предмет паузы''' (''pause_item'') - предмет для включения паузы&lt;br /&gt;
*'''fail при 0 жизни''' (''zerofail'') - 1- при нулевом уровне жизни изомувер перейдет в fail, 0 - останется жив&lt;br /&gt;
*'''Не пересчитывать маршрут''' (''softrecalc'') - 1- при отключении ребер графа не произойдет пересчета маршрута, 0 - маршрут будет пересчитан&lt;br /&gt;
*'''Реагировать на''' (''tapreact'') - 1- на тап, 0- на клик&lt;br /&gt;
*'''Дорожное движение''' (''trafficcheck'') - 1 - проверять столкновения, 0 - нет&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные параметры==&lt;br /&gt;
[[Файл:Isomover1.png|right|300px]]&lt;br /&gt;
*'''Графический ресурс:'''&lt;br /&gt;
**вверх (''res0'') - графический ресурс движения вверх&lt;br /&gt;
**вверх/вправо (''res1'') - графический ресурс движения вверх/вправо&lt;br /&gt;
**вправо (''res2'') - графический ресурс движения вправо &lt;br /&gt;
**вниз/вправо (''res3'') - графический ресурс движения вниз/вправо&lt;br /&gt;
**вниз (''res4'') - графический ресурс движения вниз &lt;br /&gt;
**вниз/влево (''res5'') - графический ресурс движения вниз/влево&lt;br /&gt;
**влево (''res6'') - графический ресурс движения влево &lt;br /&gt;
**вверх/влево (''res7'') - графический ресурс движения вверх/влево. Достаточно указать первые пять ресурсов, а остальные редактор отобразит автоматически симметрично&lt;br /&gt;
**деятельность (''resa'') - графический ресурс для состояния acting и acting_wait&lt;br /&gt;
**иконка персонажа (''char_ico'') - иконка, которая будет находится сверху над персонажем. Изменение масштаба во время игры не влияет на масштаб иконки. Рекомендуется создавать ее с пивотом у нижней границы, тогда при масштабировании не будет образовываться зазор между иконкой и графикой объекта&lt;br /&gt;
**смещение иконки персонажа (''char_ico_shift'') - смещение иконки по вертикали&lt;br /&gt;
**рисовать при действии (''resad'') - 1- мувер рисуется при состоянии acting, 0- не рисуется&lt;br /&gt;
**провал (''resf'') - графический ресурс состояния fail. Может быть картинкой или анимацией&lt;br /&gt;
**пауза (''resp'') - графический ресурс состояния pause&lt;br /&gt;
**восстановление жизни (''resheal'') - графический ресурс восстановления жизни&lt;br /&gt;
*'''3D ресурс'''&lt;br /&gt;
**модель (''mdl'') - трехмерный ресурс для отображения объекта&lt;br /&gt;
**scale x (''mdlSx'') - масштаб по оси ''x''&lt;br /&gt;
**scale y (''mdlSy'') - масштаб по оси ''y''&lt;br /&gt;
**scale z (''mdlSz'') - масштаб по оси ''z''&lt;br /&gt;
*'''Звуки'''&lt;br /&gt;
**всплывание подложки (''snd_panel'') - звук показывающейся подложки&lt;br /&gt;
**исчезание подложки (''snd_panel_hide'') - звук прячущейся подложки&lt;br /&gt;
**переход в acting (''snd_to_acting'') - звук перехода в состояние acting&lt;br /&gt;
**применение предмета (''snd_item_used'') - звук применение предмета при взаимодействии&lt;br /&gt;
**предмет при паузе (''snd_item_pause'') - звук применение предмета при паузе&lt;br /&gt;
**конец паузы (''snd_pause_end'') - звук при окончании паузы&lt;br /&gt;
**фейл взаимодействия (''snd_fail'') - звук при переходе в fail&lt;br /&gt;
**успех взаимодействия (''snd_success'') - звук при переходе в win&lt;br /&gt;
**клик (''snd_click'') - звук при клике&lt;br /&gt;
*'''Коэффициент скорости'''&lt;br /&gt;
**вертикальное (''speed_0'') - на этот коэффициент умножается скорость при вертикальном движении&lt;br /&gt;
**диагональное (''speed_1'') - на этот коэффициент умножается скорость при диагональном движении&lt;br /&gt;
**горизонтальное (''speed_2'') - на этот коэффициент умножается скорость при горизонтальном движении&lt;br /&gt;
Обычно горизонтальный коэффициент равен 1.00, чуть меньше диагональный и еще меньше вертикальный. Это необходимо для создания реалистичности движения относительно перспективы. То есть объекты, двигаясь вверх, как бы отдаляются от нас в глубь, поэтому по экрану они движутся медленней&lt;br /&gt;
[[Файл:Isomover2.png|right]]&lt;br /&gt;
*'''Таймер''':&lt;br /&gt;
**подложка (''digBg'') - фон для цифр таймера&lt;br /&gt;
**цифры (''digNorm'') - набор из 10-и цифр в виде ресурса анимации (клипа)&lt;br /&gt;
**двоеточие (''colNorm'') - графический ресурс двоеточия&lt;br /&gt;
**dx (''dx'') - смещение таймера по оси ''x'' относительно пивота изомувера&lt;br /&gt;
**dy (''dy'') - смещение таймера по оси ''y'' относительно пивота изомувера&lt;br /&gt;
**dx между цифрами (''digShift'') - расстояние между цифрами таймера&lt;br /&gt;
**dx от (''colShift'') - отступы числовых разрядов влево и вправо от двоеточия&lt;br /&gt;
**жизнь (''objlife'') - здесь выбирается объект типа прогресс_бар для отображения шкалы уровня жизни. Progress_bar создается отдельным объектом&lt;br /&gt;
Таймер позволяет отобразить время до окончания взаимодействия объектов. Например &amp;quot;корабль&amp;quot; прибыл в &amp;quot;порт&amp;quot; и начал отгружать груз. С помощью числового таймера или progress_bar можно увидеть через сколько закончится отгрузка. На рисунке справа показано взаимодействие двух объектов с изображение шкалы жизни одного из объектов и времени до конца взаимодействия.&lt;br /&gt;
*'''окно предмета''':&lt;br /&gt;
**паспорт(''wndPassport'') - текстовый id, в котором в ''word'' лежит текст - название, в icon1 - графика изомувера для окна использования айтем&lt;br /&gt;
Паспорт из этой группы используется в случаях  открытия окна использования айтема для паузы или восстановления здоровья. &lt;br /&gt;
**(текст) название айтема(''wndItemName'') - текстовый объект, в который вкладывается название айтема&lt;br /&gt;
**(текст) текст айтема(''wndItemText'') - куда кладем описание айтема&lt;br /&gt;
**иконка айтема(''wndItemIcon'') - иконка айтема&lt;br /&gt;
**название взаимодействия(''wndActingName'') - куда кладем word и паспорта&lt;br /&gt;
**превью взаимодействия(''wndActingPreview'') - паспорт или txtID из взаимодействия&lt;br /&gt;
**(каунтер) есть предмета(''wndCntHave'') - сколько есть нужного айтема&lt;br /&gt;
**(каунтер) нужно предмета(''wndCntNeed'') - нужно предмета &lt;br /&gt;
**(каутер) цена res1(wndCntRes1) - цена предмета res1&lt;br /&gt;
**(каутер) цена res2(wndCntRes2) - цена предмета res2&lt;br /&gt;
**само окно(''wndWnd'') - должно иметь состояние show&lt;br /&gt;
*'''Преследование'''&lt;br /&gt;
**тип (''chasetype'') - тип объекта, который можно преследовать&lt;br /&gt;
**радиус (''chaseradius'') - если объект указанного типа окажется в этом радиусе, то начнется преследование (например полицейская погоня)&lt;br /&gt;
*'''Дорожное движение'''&lt;br /&gt;
**радиус (''stopradius'') - объекты, которые двигались по одному ребру, останавливаются на расстоянии этого радиуса (необходимо для препятствия наслоений объектов на дороге, железнодорожных путях)&lt;br /&gt;
*'''восстановление жизни''':&lt;br /&gt;
**критический уровень (''pow_min'') - Критический уровень жизни&lt;br /&gt;
**предмет (''pow_item'') - Предмет восстановления &lt;br /&gt;
**время (''pow_time'') - Время восстановления жизни&lt;br /&gt;
*'''ускорение взаимодействия''':&lt;br /&gt;
**коэффициент (''boost_coef'') - Коэффициент ускорения взаимодействия. &lt;br /&gt;
**время (''boost_time'') - Какое время (в миллисекундах) действует ускорение.  &lt;br /&gt;
&lt;br /&gt;
*курсор (''curs'') - Графический ресурс курсора текущего и всех дочерних объектов&lt;br /&gt;
*прокликиваемая (''passClk'') - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше&amp;quot; regexp=&amp;quot;нет=0, да=1, обработать и пропустить=2&lt;br /&gt;
*группа (''gr'') - Группа, в которую входит текущий объект&lt;br /&gt;
*eitems (''eitems'') - Объект типа eitems&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
[[Файл:Isomover9.png|right|300px]]&lt;br /&gt;
[[Файл:+.png]] '''Взаимодействие с другими объектами''':&lt;br /&gt;
*тип (''mtype'') - тип объекта с которым по настроенному ниже сценарию будет происходить взаимодействие, -1 для любого типа&lt;br /&gt;
*min жизнь (''minlife'') - минимальное значение жизни для начала взаимодействия, -1 не проверять. Служит для проверки жизни при взаимодействии и с &amp;quot;тип&amp;quot;, и с &amp;quot;тип актив&amp;quot;&lt;br /&gt;
*max жизнь (''maxlife'') - максимальное значение жизни для начала взаимодействия, -1 не проверять. Служит для проверки жизни при взаимодействии и с &amp;quot;тип&amp;quot;, и с &amp;quot;тип актив&amp;quot;&lt;br /&gt;
*тип актив (''mtype_a'') - тип мувера, который активирует взаимодействие, если данный в процессе подготовки&lt;br /&gt;
*анимация (''res_a'') - анимация взаимодействия, например боя, разгрузки, разговора. Перетаскивается мышкой из редактора ресурсов&lt;br /&gt;
*старт тип (''stype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*старт таймер (''stimer'') - время, за которое нужно активировать взаимодействие тапом&lt;br /&gt;
*старт изм.жизни (''slife'') - скорость изменения жизни до активации взаимодействия тапом&lt;br /&gt;
*старт изм.жизни другого (''slife_o'') - скорость изменения жизни враг до активации взаимодействия тапом&lt;br /&gt;
*предмет (''item'') - предмет, необходимый для запуска активности. Актуально, когда имеется объект economics&lt;br /&gt;
*иконка (''ico'') - иконка активности&lt;br /&gt;
*смещение иконки (''ico_shift'') - смещение иконки активности по вертикали&lt;br /&gt;
*актив тип (''atype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*актив таймер (''atime'') - время, которое длится взаимодействие&lt;br /&gt;
*актив изменение жизни (''alife'') - скорость изменения жизни текущего объекта (ед/сек) в состоянии active&lt;br /&gt;
*актив изменение жизни другого (''alife_o'') - скорость изменения жизни другого объекта (ед/сек) в состоянии active&lt;br /&gt;
&lt;br /&gt;
[[Файл:Isomover3.png|right|300px]]&lt;br /&gt;
*объект инит (''obj'') - объект, состояние которого нужно изменить при переходе изомувера в acting_wait&lt;br /&gt;
*состояние инит (''st'') - новое состояние другого объекта&lt;br /&gt;
*объект старт (''obj_s'') - объект, состояние которого нужно изменить при переходе изомувера в acting&lt;br /&gt;
*состояние старт (''st_s'') - новое состояние другого объекта&lt;br /&gt;
*объект фейл (''obj_f'') - объект, состояние которого нужно изменить при переходе изомувера в состояние fail (проигрыш)&lt;br /&gt;
*состояние фейл (''st_f'') - новое состояние другого объекта&lt;br /&gt;
*объект успех (''obj_w'') - объект, состояние которого нужно изменить при переходе изомувера в состояние win (в случае победы)&lt;br /&gt;
*состояние успех (''st_w'') - новое состояние другого объекта&lt;br /&gt;
*дельта жизнь (''deltalife'') при успехе взаимодействия изменить значение жизни на эту величину&lt;br /&gt;
*переводить другой в фейл (''o_fail'') - 1- переводить цель действия в fail, 0- в idle&lt;br /&gt;
*переводить другой в мув (''o_move'') - при неудачном действии 1- переводить цель действия в move, 0- в idle&lt;br /&gt;
*можно ускорить (''canspeed'') - 1- действие можно ускорить. От этого параметра зависит, какое событие будет вызываться по клику на объект в состоянии acting&lt;br /&gt;
*звук ожидания (''snd_wait'') - звук, который будет воспроизводиться в состоянии acting_wait &lt;br /&gt;
*звук действия (''snd_act'') - звук, который будет воспроизводиться в состоянии acting&lt;br /&gt;
Для каждого типа объектов, с которыми взаимодействие возможно, необходимо добавить отдельный параметр &amp;quot;взаимодействие с другими объектами&amp;quot; и настроить его. Объекты инит, старт, фейл и успех вызываются при переходе текущего объекта в соответствующие состояния. Например, это может быть диалоговое окно, предлагающее продолжить взаимодействие, запуск дополнительных индикаторов, фейерверк в случае победы.&lt;br /&gt;
*паспорт(''wndPassport'') - текстовый id, в котором в word лежит текст - название, в icon1 - графика изомувера для окна использования айтем&lt;br /&gt;
Паспорт из этой группы используется в случаях открытия окна использования айтема для взаимодействия.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Клик при простое''' (''nst_idle''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии idel&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_move''), он же '''клик при движении''':&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии move&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Клик при паузе''' (''nst_pause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии pause (заморозка)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_aw_n'') он же '''клик при acting_wait, если другие действия не возможны'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting_wait&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_1'') он же '''клик при acting, ускорение возможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер  был нажат в состоянии acting и ускорение возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_2'') он же '''клик при acting, ускорение НЕвозможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting и ускорение не возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_beact'') он же '''клик при beeng_acting'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии beeng_acting, когда воздействие совершалось над ним другим объектом&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Конец движения''' (''nst_finish''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер закончил движение (достиг точки finish)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Отправили в текущую ноду''' (''nst_place''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер направлен в ту же ноду, в которой и находится&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в fail''' (''nst_gopause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер перешел в fail&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в pause''' (''nst_heal''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Перешел в pause&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Восстановил здоровье''' (''nst_low_time''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Восстановил здоровье&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Время истекло: изменить состояние объекта''' (''nst_low_time'') он же '''время на исходе: изменить состояние объекта''':&lt;br /&gt;
*значение, при котором срабатывает обработчик&lt;br /&gt;
*объект - объект, состояние которого меняется по истечению времени&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
[[Файл:isomover_box.png|right|350px]]&lt;br /&gt;
*'''idle''' - дефолтное состояние, в которое isomover переходит после всех манипуляций. Недвижимым объектам следует передавать idle, чтобы они появились (нарисовались) на карте. Для движущихся объектов его практически не используют, объект сам рисуется с началом движения.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting_wait''' - первое состояние взаимодействия (запускается первый таймер, анимация взаимодействия и ожидается старт).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting''' - второе состояние взаимодействия (вызывается после применения предмета или клика, запускает второй таймер).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''being_acted''' - в этом состоянии пребывает тот объект, над которым идет действие. Объект в этом состоянии невидим.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move''' - состояние движения от старта к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move_to_smooth''' - состояние движения от текущей ноды (или следующей, если объект идет) к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''appear''' - показать по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''disappear''' - скрыть по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''prepare_acting''' - вызвать взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''start_acting''' - продолжить взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&lt;br /&gt;
*'''pause''' - состояние &amp;quot;заморозки&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Особенности работы==&lt;br /&gt;
[[Файл:Isomover6.png|right|300px]][[Файл:Isomover8.png|left|200px]]&lt;br /&gt;
Движение объекта типа ''isomover'' задается с помощью отдельной машины состояний через которую происходит управление состояниями move, acting и остальными. Рассмотрим на конкретном примере. У нас есть объект '''woman''' типа ''isomover''. Необходимо, чтобы наш изомувер начал движение с точки b1 и дальше начал двигаться бесконечно по кольцу b2-b3-b4-b5. Движение задается машиной состояний ''woman_machine''.&amp;lt;br&amp;gt;&lt;br /&gt;
Для управления циклическим ходом назначим дополнительный параметр ''ww''. Название параметра должно быть уникально и не совпадать с параметрами игровых объектов.&amp;lt;br&amp;gt;&lt;br /&gt;
Для того, чтобы изомувер двигался каждый раз к новой точке, необходимо повторно инициализировать его точку финиша. Однако, если мы продолжим указывать ему состояние move для движения, то каждый раз он будет начинать движение с точки старта. Чтобы это исправить воспользуемся состоянием move_to_smooth, которое заставляет двигаться изомувер от текущей ноде к финишу, будто старт и финиш мы все время смещаем на шаг.&lt;br /&gt;
&amp;lt;br&amp;gt;Основная логика будет находиться в состоянии ''circle_moving'' нашей машины. Надо сделать так, чтобы изомувер переходил в это состояние после движения по каждому из ребер. Для этого зайдем в свойства изомувера, нажмем правой кнопкой мыши и добавим параметр '''конец движения'''. У него есть поля ''объект'' и ''свойство''. Объект - машина состояний ''woman_machine'', состояние ''circle_moving'' этой машины. Таким образом, в конце каждого акта движения изомувер будет запускать состояние, в котором мы будем менять его точку финиша и запускать его движение.&lt;br /&gt;
&amp;lt;br&amp;gt;Не забываем, что все операции с переменными должны отделяться скобками, как и сама переменная&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример===&lt;br /&gt;
Два изомувера (police_car и werewolf) совершают циклическое движение по определенному маршруту, заданному с помощью машин состояний (car_machine и werewolf_machine соответственно). Когда объекты оказываются в радиусе (достаточном для активации добавляемого параметра '''&amp;quot;Взаимодействие с другими объектами&amp;quot;'''), объект '''police_car''' начинает взаимодействовать с объектом '''werewolf'''. По истечению времени воздействия объект '''police_car''' переходит в состояние '''fail'''. Если кликнуть на процесс взаимодействия объектов, то объект '''police_car''' перейдет в состояние '''win'''.&lt;br /&gt;
*'''Пример:&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\Isomap.rar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Timer&amp;diff=9197</id>
		<title>Timer</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Timer&amp;diff=9197"/>
		<updated>2017-11-10T12:35:41Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Основные параметры и свойства таймера */&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;
** '''x''' - положение объекта по оси х&lt;br /&gt;
** '''y''' - положение объекта по оси y&lt;br /&gt;
* '''размер'''&lt;br /&gt;
** '''w''' - ширина объекта в пикслях&lt;br /&gt;
** '''h''' - высота объекта в пикселях&lt;br /&gt;
* '''модификаторы'''&lt;br /&gt;
** '''alpha''' - прозрачность объекта от 0 (прозрачен) до 1 (не прозрачен)&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;
* '''z''' - параметр порядка рисования объекта. Сначала рисуются объекты с большим z, а под ними с меньшим&lt;br /&gt;
* '''память''' - если 1 - не обновляет свои параметры при последующем открытии экрана, 0 - обновляет . '''Если таймер подвязан к опциям''' и включена память, то таймер не будет перевычитывать значение из опций после получения состояний '''init''', '''run'''&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;
* '''значение''' - начальное значение таймера в ms&lt;br /&gt;
* '''дельта''' - используется в состояниях add и del, количество времени которое будет добавлено или удалено из таймера (время в секундах)&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;
* '''прогресс''' - прогрессбар, отображающий то же, что и таймер&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;
** '''имя''' - номер шрифта - целое число, начиная с 0 (порядковый номер шрифта), а если -1 то рисовать каунтер клипами&lt;br /&gt;
** '''размер''' - размер шрифта в пикселях&lt;br /&gt;
** '''цвет 1''' - цвет текста&lt;br /&gt;
* '''внешний вид'''&lt;br /&gt;
** '''дни''' - 0 - прятать, 1 - отображать, 2 - отображать всегда два разряда, 3 - отображать, когда дней больше, чем в days, 4 - отображать только дни, когда дней больше, чем в days&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;
** '''ускорение''' - коэффициент ускорения, когда таймер находится в состоянии fast&lt;br /&gt;
** '''сохранять в профиль''' - если &amp;quot;0&amp;quot; - то не сохраняет значение в профиль, а значит значение будет глобальным&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>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9196</id>
		<title>Isomover</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9196"/>
		<updated>2017-11-09T15:52:55Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Дополнительные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Isomover''' - [[Object|объект]] используется для осуществления движения и взаимодействия в изометрической карте. &lt;br /&gt;
&lt;br /&gt;
  Isomover обязательно должен быть подобъектом [[isomap]]. &lt;br /&gt;
&lt;br /&gt;
В проекте с картой ([[isomap]]) и движущимися по ней объектами (isomover) часто используют [[economics]] и [[eitems]] потому, что для завершения процессов часто требуется применить предмет или ресурс.&lt;br /&gt;
&lt;br /&gt;
Начало движения множества изомуверов сильно нагружает систему, поэтому следует позаботиться, чтобы это происходило не в один момент времени. По возможности добавляйте небольшую и различную паузу каждому изомуверу перед стартом.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
*'''Положение''' (''x'',''y'') - рекомендуется выносить isomover-объекты за пределы карты. Иначе, если объект должен появляться не сразу, то он будет просто стоять без движения&lt;br /&gt;
*'''Память''' - всегда должно быть значение 1, обязательное условие корректной работы. Это позволяет объекту двигаться последовательно, не инициализируясь после каждого движения в исходной точке&lt;br /&gt;
*'''тип ребра min''' (''edge_t_min'') - перемещаться по ребрам не ниже заданного, -1 не проверять&lt;br /&gt;
*'''тип ребра max''' (''edge_t_max'') - перемещаться по ребрам не выше заданного, -1 не проверять. Типы ребер задаются в isomap&lt;br /&gt;
*'''Старт''' (''start'') - точка старта, выбирается из списка точек Isomap&lt;br /&gt;
*'''Финиш''' (''finish'') - точка финиша, выбирается из списка точек Isomap&lt;br /&gt;
*'''Скорость (макс)''' (''vel_max'') - максимальная скорость, с которой передвигается объект Isomover&lt;br /&gt;
*'''Скорость''' (''vel'') - не использовать, вычисляется по формуле автоматически, позже будет скрыто. V = Vmax*(k+(1-k)*(P/Pmax))&lt;br /&gt;
*'''Жизнь (макс)''' (''pow_max'') - максимальная жизнь&lt;br /&gt;
*'''Жизнь''' (''pow'') - текущая жизнь, высчитывается по формуле автоматически&lt;br /&gt;
*'''Сохранять жизнь в опции''' (''powsave'') - если да, то объекты сцены сохранят уровень жизни при выходе со сцены и возвращении на нее&lt;br /&gt;
*'''Коэффициент скорости''' (''speed_k'') - коэффициент k в формуле расчета скорости. Чтобы скорость не зависела от значения жизни - указываем speed_k = 1&lt;br /&gt;
*'''Менять угол''' (''fixangle'') - изменение угла для предания плавности смены графики при дугообразном перемещении объекта. С появлением 3D-объектов больше не используется&lt;br /&gt;
*'''Тип''' (''mtype'') - объекты можно разделять на типы (люди, монстры, звери и т.д.). Взаимодействие происходит между объектами разных типов, настраивается в добавляемых параметрах&lt;br /&gt;
*'''Радиус''' (''mradius'') - значения радиуса. Попадание изомувера другого типа в этот радиус позволит начать взаимодействие.&lt;br /&gt;
*'''Цель при действии''' (''mtarget'') - мувер может быть целью взаимодействия пока сам действует&lt;br /&gt;
*'''Запретить действие''' (''disact'') - мувер не сможет перейти из acting_wait в acting&lt;br /&gt;
*'''Время появления''' (''appear_time'') - время в миллисекундах появления и исчезания изомувера (длительность перехода по alpha)&lt;br /&gt;
*'''Время провала''' (''fail_time'') - длительность анимации смерти объекта, по его окончанию произойдет переход в состояние ''disappear''&lt;br /&gt;
*'''Время паузы''' (''pause_time'') - длительность &amp;quot;заморозки&amp;quot; объекта&lt;br /&gt;
*'''Предмет паузы''' (''pause_item'') - предмет для включения паузы&lt;br /&gt;
*'''fail при 0 жизни''' (''zerofail'') - 1- при нулевом уровне жизни изомувер перейдет в fail, 0 - останется жив&lt;br /&gt;
*'''Не пересчитывать маршрут''' (''softrecalc'') - 1- при отключении ребер графа не произойдет пересчета маршрута, 0 - маршрут будет пересчитан&lt;br /&gt;
*'''Реагировать на''' (''tapreact'') - 1- на тап, 0- на клик&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные параметры==&lt;br /&gt;
[[Файл:Isomover1.png|right|300px]]&lt;br /&gt;
*'''Графический ресурс:'''&lt;br /&gt;
**вверх (''res0'') - графический ресурс движения вверх&lt;br /&gt;
**вверх/вправо (''res1'') - графический ресурс движения вверх/вправо&lt;br /&gt;
**вправо (''res2'') - графический ресурс движения вправо &lt;br /&gt;
**вниз/вправо (''res3'') - графический ресурс движения вниз/вправо&lt;br /&gt;
**вниз (''res4'') - графический ресурс движения вниз &lt;br /&gt;
**вниз/влево (''res5'') - графический ресурс движения вниз/влево&lt;br /&gt;
**влево (''res6'') - графический ресурс движения влево &lt;br /&gt;
**вверх/влево (''res7'') - графический ресурс движения вверх/влево. Достаточно указать первые пять ресурсов, а остальные редактор отобразит автоматически симметрично&lt;br /&gt;
**деятельность (''resa'') - графический ресурс для состояния acting и acting_wait&lt;br /&gt;
**иконка персонажа (''char_ico'') - иконка, которая будет находится сверху над персонажем. Изменение масштаба во время игры не влияет на масштаб иконки. Рекомендуется создавать ее с пивотом у нижней границы, тогда при масштабировании не будет образовываться зазор между иконкой и графикой объекта&lt;br /&gt;
**смещение иконки персонажа (''char_ico_shift'') - смещение иконки по вертикали&lt;br /&gt;
**рисовать при действии (''resad'') - 1- мувер рисуется при состоянии acting, 0- не рисуется&lt;br /&gt;
**провал (''resf'') - графический ресурс состояния fail. Может быть картинкой или анимацией&lt;br /&gt;
**пауза (''resp'') - графический ресурс состояния pause&lt;br /&gt;
**восстановление жизни (''resheal'') - графический ресурс восстановления жизни&lt;br /&gt;
*'''3D ресурс'''&lt;br /&gt;
**модель (''mdl'') - трехмерный ресурс для отображения объекта&lt;br /&gt;
**scale x (''mdlSx'') - масштаб по оси ''x''&lt;br /&gt;
**scale y (''mdlSy'') - масштаб по оси ''y''&lt;br /&gt;
**scale z (''mdlSz'') - масштаб по оси ''z''&lt;br /&gt;
*'''Звуки'''&lt;br /&gt;
**всплывание подложки (''snd_panel'') - звук показывающейся подложки&lt;br /&gt;
**исчезание подложки (''snd_panel_hide'') - звук прячущейся подложки&lt;br /&gt;
**переход в acting (''snd_to_acting'') - звук перехода в состояние acting&lt;br /&gt;
**применение предмета (''snd_item_used'') - звук применение предмета при взаимодействии&lt;br /&gt;
**предмет при паузе (''snd_item_pause'') - звук применение предмета при паузе&lt;br /&gt;
**конец паузы (''snd_pause_end'') - звук при окончании паузы&lt;br /&gt;
**фейл взаимодействия (''snd_fail'') - звук при переходе в fail&lt;br /&gt;
**успех взаимодействия (''snd_success'') - звук при переходе в win&lt;br /&gt;
**клик (''snd_click'') - звук при клике&lt;br /&gt;
*'''Коэффициент скорости'''&lt;br /&gt;
**вертикальное (''speed_0'') - на этот коэффициент умножается скорость при вертикальном движении&lt;br /&gt;
**диагональное (''speed_1'') - на этот коэффициент умножается скорость при диагональном движении&lt;br /&gt;
**горизонтальное (''speed_2'') - на этот коэффициент умножается скорость при горизонтальном движении&lt;br /&gt;
Обычно горизонтальный коэффициент равен 1.00, чуть меньше диагональный и еще меньше вертикальный. Это необходимо для создания реалистичности движения относительно перспективы. То есть объекты, двигаясь вверх, как бы отдаляются от нас в глубь, поэтому по экрану они движутся медленней&lt;br /&gt;
[[Файл:Isomover2.png|right]]&lt;br /&gt;
*'''Таймер''':&lt;br /&gt;
**подложка (''digBg'') - фон для цифр таймера&lt;br /&gt;
**цифры (''digNorm'') - набор из 10-и цифр в виде ресурса анимации (клипа)&lt;br /&gt;
**двоеточие (''colNorm'') - графический ресурс двоеточия&lt;br /&gt;
**dx (''dx'') - смещение таймера по оси ''x'' относительно пивота изомувера&lt;br /&gt;
**dy (''dy'') - смещение таймера по оси ''y'' относительно пивота изомувера&lt;br /&gt;
**dx между цифрами (''digShift'') - расстояние между цифрами таймера&lt;br /&gt;
**dx от (''colShift'') - отступы числовых разрядов влево и вправо от двоеточия&lt;br /&gt;
**жизнь (''objlife'') - здесь выбирается объект типа прогресс_бар для отображения шкалы уровня жизни. Progress_bar создается отдельным объектом&lt;br /&gt;
Таймер позволяет отобразить время до окончания взаимодействия объектов. Например &amp;quot;корабль&amp;quot; прибыл в &amp;quot;порт&amp;quot; и начал отгружать груз. С помощью числового таймера или progress_bar можно увидеть через сколько закончится отгрузка. На рисунке справа показано взаимодействие двух объектов с изображение шкалы жизни одного из объектов и времени до конца взаимодействия.&lt;br /&gt;
*'''окно предмета''':&lt;br /&gt;
**паспорт(''wndPassport'') - текстовый id, в котором в ''word'' лежит текст - название, в icon1 - графика изомувера для окна использования айтем&lt;br /&gt;
Паспорт из этой группы используется в случаях  открытия окна использования айтема для паузы или восстановления здоровья. &lt;br /&gt;
**(текст) название айтема(''wndItemName'') - текстовый объект, в который вкладывается название айтема&lt;br /&gt;
**(текст) текст айтема(''wndItemText'') - куда кладем описание айтема&lt;br /&gt;
**иконка айтема(''wndItemIcon'') - иконка айтема&lt;br /&gt;
**название взаимодействия(''wndActingName'') - куда кладем word и паспорта&lt;br /&gt;
**превью взаимодействия(''wndActingPreview'') - паспорт или txtID из взаимодействия&lt;br /&gt;
**(каунтер) есть предмета(''wndCntHave'') - сколько есть нужного айтема&lt;br /&gt;
**(каунтер) нужно предмета(''wndCntNeed'') - нужно предмета &lt;br /&gt;
**(каутер) цена res1(wndCntRes1) - цена предмета res1&lt;br /&gt;
**(каутер) цена res2(wndCntRes2) - цена предмета res2&lt;br /&gt;
**само окно(''wndWnd'') - должно иметь состояние show&lt;br /&gt;
*'''Преследование'''&lt;br /&gt;
**тип (''chasetype'') - тип объекта, который можно преследовать&lt;br /&gt;
**радиус (''chaseradius'') - если объект указанного типа окажется в этом радиусе, то начнется преследование (например полицейская погоня)&lt;br /&gt;
*'''Дорожное движение'''&lt;br /&gt;
**радиус (''stopradius'') - объекты, которые двигались по одному ребру, останавливаются на расстоянии этого радиуса (необходимо для препятствия наслоений объектов на дороге, железнодорожных путях)&lt;br /&gt;
*'''восстановление жизни''':&lt;br /&gt;
**критический уровень (''pow_min'') - Критический уровень жизни&lt;br /&gt;
**предмет (''pow_item'') - Предмет восстановления &lt;br /&gt;
**время (''pow_time'') - Время восстановления жизни&lt;br /&gt;
*'''ускорение взаимодействия''':&lt;br /&gt;
**коэффициент (''boost_coef'') - Коэффициент ускорения взаимодействия. &lt;br /&gt;
**время (''boost_time'') - Какое время (в миллисекундах) действует ускорение.  &lt;br /&gt;
&lt;br /&gt;
*курсор (''curs'') - Графический ресурс курсора текущего и всех дочерних объектов&lt;br /&gt;
*прокликиваемая (''passClk'') - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше&amp;quot; regexp=&amp;quot;нет=0, да=1, обработать и пропустить=2&lt;br /&gt;
*группа (''gr'') - Группа, в которую входит текущий объект&lt;br /&gt;
*eitems (''eitems'') - Объект типа eitems&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
[[Файл:Isomover9.png|right|300px]]&lt;br /&gt;
[[Файл:+.png]] '''Взаимодействие с другими объектами''':&lt;br /&gt;
*тип (''mtype'') - тип объекта с которым по настроенному ниже сценарию будет происходить взаимодействие, -1 для любого типа&lt;br /&gt;
*min жизнь (''minlife'') - минимальное значение жизни для начала взаимодействия, -1 не проверять. Служит для проверки жизни при взаимодействии и с &amp;quot;тип&amp;quot;, и с &amp;quot;тип актив&amp;quot;&lt;br /&gt;
*max жизнь (''maxlife'') - максимальное значение жизни для начала взаимодействия, -1 не проверять. Служит для проверки жизни при взаимодействии и с &amp;quot;тип&amp;quot;, и с &amp;quot;тип актив&amp;quot;&lt;br /&gt;
*тип актив (''mtype_a'') - тип мувера, который активирует взаимодействие, если данный в процессе подготовки&lt;br /&gt;
*анимация (''res_a'') - анимация взаимодействия, например боя, разгрузки, разговора. Перетаскивается мышкой из редактора ресурсов&lt;br /&gt;
*старт тип (''stype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*старт таймер (''stimer'') - время, за которое нужно активировать взаимодействие тапом&lt;br /&gt;
*старт изм.жизни (''slife'') - скорость изменения жизни до активации взаимодействия тапом&lt;br /&gt;
*старт изм.жизни другого (''slife_o'') - скорость изменения жизни враг до активации взаимодействия тапом&lt;br /&gt;
*предмет (''item'') - предмет, необходимый для запуска активности. Актуально, когда имеется объект economics&lt;br /&gt;
*иконка (''ico'') - иконка активности&lt;br /&gt;
*смещение иконки (''ico_shift'') - смещение иконки активности по вертикали&lt;br /&gt;
*актив тип (''atype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*актив таймер (''atime'') - время, которое длится взаимодействие&lt;br /&gt;
*актив изменение жизни (''alife'') - скорость изменения жизни текущего объекта (ед/сек) в состоянии active&lt;br /&gt;
*актив изменение жизни другого (''alife_o'') - скорость изменения жизни другого объекта (ед/сек) в состоянии active&lt;br /&gt;
&lt;br /&gt;
[[Файл:Isomover3.png|right|300px]]&lt;br /&gt;
*объект инит (''obj'') - объект, состояние которого нужно изменить при переходе изомувера в acting_wait&lt;br /&gt;
*состояние инит (''st'') - новое состояние другого объекта&lt;br /&gt;
*объект старт (''obj_s'') - объект, состояние которого нужно изменить при переходе изомувера в acting&lt;br /&gt;
*состояние старт (''st_s'') - новое состояние другого объекта&lt;br /&gt;
*объект фейл (''obj_f'') - объект, состояние которого нужно изменить при переходе изомувера в состояние fail (проигрыш)&lt;br /&gt;
*состояние фейл (''st_f'') - новое состояние другого объекта&lt;br /&gt;
*объект успех (''obj_w'') - объект, состояние которого нужно изменить при переходе изомувера в состояние win (в случае победы)&lt;br /&gt;
*состояние успех (''st_w'') - новое состояние другого объекта&lt;br /&gt;
*дельта жизнь (''deltalife'') при успехе взаимодействия изменить значение жизни на эту величину&lt;br /&gt;
*переводить другой в фейл (''o_fail'') - 1- переводить цель действия в fail, 0- в idle&lt;br /&gt;
*переводить другой в мув (''o_move'') - при неудачном действии 1- переводить цель действия в move, 0- в idle&lt;br /&gt;
*можно ускорить (''canspeed'') - 1- действие можно ускорить. От этого параметра зависит, какое событие будет вызываться по клику на объект в состоянии acting&lt;br /&gt;
*звук ожидания (''snd_wait'') - звук, который будет воспроизводиться в состоянии acting_wait &lt;br /&gt;
*звук действия (''snd_act'') - звук, который будет воспроизводиться в состоянии acting&lt;br /&gt;
Для каждого типа объектов, с которыми взаимодействие возможно, необходимо добавить отдельный параметр &amp;quot;взаимодействие с другими объектами&amp;quot; и настроить его. Объекты инит, старт, фейл и успех вызываются при переходе текущего объекта в соответствующие состояния. Например, это может быть диалоговое окно, предлагающее продолжить взаимодействие, запуск дополнительных индикаторов, фейерверк в случае победы.&lt;br /&gt;
*паспорт(''wndPassport'') - текстовый id, в котором в word лежит текст - название, в icon1 - графика изомувера для окна использования айтем&lt;br /&gt;
Паспорт из этой группы используется в случаях открытия окна использования айтема для взаимодействия.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Клик при простое''' (''nst_idle''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии idel&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_move''), он же '''клик при движении''':&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии move&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Клик при паузе''' (''nst_pause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии pause (заморозка)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_aw_n'') он же '''клик при acting_wait, если другие действия не возможны'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting_wait&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_1'') он же '''клик при acting, ускорение возможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер  был нажат в состоянии acting и ускорение возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_2'') он же '''клик при acting, ускорение НЕвозможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting и ускорение не возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_beact'') он же '''клик при beeng_acting'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии beeng_acting, когда воздействие совершалось над ним другим объектом&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Конец движения''' (''nst_finish''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер закончил движение (достиг точки finish)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Отправили в текущую ноду''' (''nst_place''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер направлен в ту же ноду, в которой и находится&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в fail''' (''nst_gopause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер перешел в fail&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в pause''' (''nst_heal''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Перешел в pause&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Восстановил здоровье''' (''nst_low_time''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Восстановил здоровье&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Время истекло: изменить состояние объекта''' (''nst_low_time'') он же '''время на исходе: изменить состояние объекта''':&lt;br /&gt;
*значение, при котором срабатывает обработчик&lt;br /&gt;
*объект - объект, состояние которого меняется по истечению времени&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
[[Файл:isomover_box.png|right|350px]]&lt;br /&gt;
*'''idle''' - дефолтное состояние, в которое isomover переходит после всех манипуляций. Недвижимым объектам следует передавать idle, чтобы они появились (нарисовались) на карте. Для движущихся объектов его практически не используют, объект сам рисуется с началом движения.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting_wait''' - первое состояние взаимодействия (запускается первый таймер, анимация взаимодействия и ожидается старт).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting''' - второе состояние взаимодействия (вызывается после применения предмета или клика, запускает второй таймер).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''being_acted''' - в этом состоянии пребывает тот объект, над которым идет действие. Объект в этом состоянии невидим.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move''' - состояние движения от старта к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move_to_smooth''' - состояние движения от текущей ноды (или следующей, если объект идет) к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''appear''' - показать по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''disappear''' - скрыть по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''prepare_acting''' - вызвать взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''start_acting''' - продолжить взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&lt;br /&gt;
*'''pause''' - состояние &amp;quot;заморозки&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Особенности работы==&lt;br /&gt;
[[Файл:Isomover6.png|right|300px]][[Файл:Isomover8.png|left|200px]]&lt;br /&gt;
Движение объекта типа ''isomover'' задается с помощью отдельной машины состояний через которую происходит управление состояниями move, acting и остальными. Рассмотрим на конкретном примере. У нас есть объект '''woman''' типа ''isomover''. Необходимо, чтобы наш изомувер начал движение с точки b1 и дальше начал двигаться бесконечно по кольцу b2-b3-b4-b5. Движение задается машиной состояний ''woman_machine''.&amp;lt;br&amp;gt;&lt;br /&gt;
Для управления циклическим ходом назначим дополнительный параметр ''ww''. Название параметра должно быть уникально и не совпадать с параметрами игровых объектов.&amp;lt;br&amp;gt;&lt;br /&gt;
Для того, чтобы изомувер двигался каждый раз к новой точке, необходимо повторно инициализировать его точку финиша. Однако, если мы продолжим указывать ему состояние move для движения, то каждый раз он будет начинать движение с точки старта. Чтобы это исправить воспользуемся состоянием move_to_smooth, которое заставляет двигаться изомувер от текущей ноде к финишу, будто старт и финиш мы все время смещаем на шаг.&lt;br /&gt;
&amp;lt;br&amp;gt;Основная логика будет находиться в состоянии ''circle_moving'' нашей машины. Надо сделать так, чтобы изомувер переходил в это состояние после движения по каждому из ребер. Для этого зайдем в свойства изомувера, нажмем правой кнопкой мыши и добавим параметр '''конец движения'''. У него есть поля ''объект'' и ''свойство''. Объект - машина состояний ''woman_machine'', состояние ''circle_moving'' этой машины. Таким образом, в конце каждого акта движения изомувер будет запускать состояние, в котором мы будем менять его точку финиша и запускать его движение.&lt;br /&gt;
&amp;lt;br&amp;gt;Не забываем, что все операции с переменными должны отделяться скобками, как и сама переменная&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример===&lt;br /&gt;
Два изомувера (police_car и werewolf) совершают циклическое движение по определенному маршруту, заданному с помощью машин состояний (car_machine и werewolf_machine соответственно). Когда объекты оказываются в радиусе (достаточном для активации добавляемого параметра '''&amp;quot;Взаимодействие с другими объектами&amp;quot;'''), объект '''police_car''' начинает взаимодействовать с объектом '''werewolf'''. По истечению времени воздействия объект '''police_car''' переходит в состояние '''fail'''. Если кликнуть на процесс взаимодействия объектов, то объект '''police_car''' перейдет в состояние '''win'''.&lt;br /&gt;
*'''Пример:&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\Isomap.rar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9195</id>
		<title>Isomover</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9195"/>
		<updated>2017-11-09T12:43:20Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: /* Добавляемые параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Isomover''' - [[Object|объект]] используется для осуществления движения и взаимодействия в изометрической карте. &lt;br /&gt;
&lt;br /&gt;
  Isomover обязательно должен быть подобъектом [[isomap]]. &lt;br /&gt;
&lt;br /&gt;
В проекте с картой ([[isomap]]) и движущимися по ней объектами (isomover) часто используют [[economics]] и [[eitems]] потому, что для завершения процессов часто требуется применить предмет или ресурс.&lt;br /&gt;
&lt;br /&gt;
Начало движения множества изомуверов сильно нагружает систему, поэтому следует позаботиться, чтобы это происходило не в один момент времени. По возможности добавляйте небольшую и различную паузу каждому изомуверу перед стартом.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
*'''Положение''' (''x'',''y'') - рекомендуется выносить isomover-объекты за пределы карты. Иначе, если объект должен появляться не сразу, то он будет просто стоять без движения&lt;br /&gt;
*'''Память''' - всегда должно быть значение 1, обязательное условие корректной работы. Это позволяет объекту двигаться последовательно, не инициализируясь после каждого движения в исходной точке&lt;br /&gt;
*'''тип ребра min''' (''edge_t_min'') - перемещаться по ребрам не ниже заданного, -1 не проверять&lt;br /&gt;
*'''тип ребра max''' (''edge_t_max'') - перемещаться по ребрам не выше заданного, -1 не проверять. Типы ребер задаются в isomap&lt;br /&gt;
*'''Старт''' (''start'') - точка старта, выбирается из списка точек Isomap&lt;br /&gt;
*'''Финиш''' (''finish'') - точка финиша, выбирается из списка точек Isomap&lt;br /&gt;
*'''Скорость (макс)''' (''vel_max'') - максимальная скорость, с которой передвигается объект Isomover&lt;br /&gt;
*'''Скорость''' (''vel'') - не использовать, вычисляется по формуле автоматически, позже будет скрыто. V = Vmax*(k+(1-k)*(P/Pmax))&lt;br /&gt;
*'''Жизнь (макс)''' (''pow_max'') - максимальная жизнь&lt;br /&gt;
*'''Жизнь''' (''pow'') - текущая жизнь, высчитывается по формуле автоматически&lt;br /&gt;
*'''Сохранять жизнь в опции''' (''powsave'') - если да, то объекты сцены сохранят уровень жизни при выходе со сцены и возвращении на нее&lt;br /&gt;
*'''Коэффициент скорости''' (''speed_k'') - коэффициент k в формуле расчета скорости. Чтобы скорость не зависела от значения жизни - указываем speed_k = 1&lt;br /&gt;
*'''Менять угол''' (''fixangle'') - изменение угла для предания плавности смены графики при дугообразном перемещении объекта. С появлением 3D-объектов больше не используется&lt;br /&gt;
*'''Тип''' (''mtype'') - объекты можно разделять на типы (люди, монстры, звери и т.д.). Взаимодействие происходит между объектами разных типов, настраивается в добавляемых параметрах&lt;br /&gt;
*'''Радиус''' (''mradius'') - значения радиуса. Попадание изомувера другого типа в этот радиус позволит начать взаимодействие.&lt;br /&gt;
*'''Цель при действии''' (''mtarget'') - мувер может быть целью взаимодействия пока сам действует&lt;br /&gt;
*'''Запретить действие''' (''disact'') - мувер не сможет перейти из acting_wait в acting&lt;br /&gt;
*'''Время появления''' (''appear_time'') - время в миллисекундах появления и исчезания изомувера (длительность перехода по alpha)&lt;br /&gt;
*'''Время провала''' (''fail_time'') - длительность анимации смерти объекта, по его окончанию произойдет переход в состояние ''disappear''&lt;br /&gt;
*'''Время паузы''' (''pause_time'') - длительность &amp;quot;заморозки&amp;quot; объекта&lt;br /&gt;
*'''Предмет паузы''' (''pause_item'') - предмет для включения паузы&lt;br /&gt;
*'''fail при 0 жизни''' (''zerofail'') - 1- при нулевом уровне жизни изомувер перейдет в fail, 0 - останется жив&lt;br /&gt;
*'''Не пересчитывать маршрут''' (''softrecalc'') - 1- при отключении ребер графа не произойдет пересчета маршрута, 0 - маршрут будет пересчитан&lt;br /&gt;
*'''Реагировать на''' (''tapreact'') - 1- на тап, 0- на клик&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные параметры==&lt;br /&gt;
[[Файл:Isomover1.png|right|300px]]&lt;br /&gt;
*'''Графический ресурс:'''&lt;br /&gt;
**вверх (''res0'') - графический ресурс движения вверх&lt;br /&gt;
**вверх/вправо (''res1'') - графический ресурс движения вверх/вправо&lt;br /&gt;
**вправо (''res2'') - графический ресурс движения вправо &lt;br /&gt;
**вниз/вправо (''res3'') - графический ресурс движения вниз/вправо&lt;br /&gt;
**вниз (''res4'') - графический ресурс движения вниз &lt;br /&gt;
**вниз/влево (''res5'') - графический ресурс движения вниз/влево&lt;br /&gt;
**влево (''res6'') - графический ресурс движения влево &lt;br /&gt;
**вверх/влево (''res7'') - графический ресурс движения вверх/влево. Достаточно указать первые пять ресурсов, а остальные редактор отобразит автоматически симметрично&lt;br /&gt;
**деятельность (''resa'') - графический ресурс для состояния acting&lt;br /&gt;
**иконка персонажа (''char_ico'') - иконка, которая будет находится сверху над персонажем. Изменение масштаба во время игры не влияет на масштаб иконки. Рекомендуется создавать ее с пивотом у нижней границы, тогда при масштабировании не будет образовываться зазор между иконкой и графикой объекта&lt;br /&gt;
**смещение иконки персонажа (''char_ico_shift'') - смещение иконки по вертикали&lt;br /&gt;
**рисовать при действии (''resad'') - 1- мувер рисуется при состоянии acting, 0- не рисуется&lt;br /&gt;
**провал (''resf'') - графический ресурс состояния fail. Может быть картинкой или анимацией&lt;br /&gt;
**пауза (''resp'') - графический ресурс состояния pause&lt;br /&gt;
**восстановление жизни (''resheal'') - графический ресурс восстановления жизни&lt;br /&gt;
*'''3D ресурс'''&lt;br /&gt;
**модель (''mdl'') - трехмерный ресурс для отображения объекта&lt;br /&gt;
**scale x (''mdlSx'') - масштаб по оси ''x''&lt;br /&gt;
**scale y (''mdlSy'') - масштаб по оси ''y''&lt;br /&gt;
**scale z (''mdlSz'') - масштаб по оси ''z''&lt;br /&gt;
*'''Звуки'''&lt;br /&gt;
**всплывание подложки (''snd_panel'') - звук показывающейся подложки&lt;br /&gt;
**исчезание подложки (''snd_panel_hide'') - звук прячущейся подложки&lt;br /&gt;
**переход в acting (''snd_to_acting'') - звук перехода в состояние acting&lt;br /&gt;
**применение предмета (''snd_item_used'') - звук применение предмета при взаимодействии&lt;br /&gt;
**предмет при паузе (''snd_item_pause'') - звук применение предмета при паузе&lt;br /&gt;
**конец паузы (''snd_pause_end'') - звук при окончании паузы&lt;br /&gt;
**фейл взаимодействия (''snd_fail'') - звук при переходе в fail&lt;br /&gt;
**успех взаимодействия (''snd_success'') - звук при переходе в win&lt;br /&gt;
**клик (''snd_click'') - звук при клике&lt;br /&gt;
*'''Коэффициент скорости'''&lt;br /&gt;
**вертикальное (''speed_0'') - на этот коэффициент умножается скорость при вертикальном движении&lt;br /&gt;
**диагональное (''speed_1'') - на этот коэффициент умножается скорость при диагональном движении&lt;br /&gt;
**горизонтальное (''speed_2'') - на этот коэффициент умножается скорость при горизонтальном движении&lt;br /&gt;
Обычно горизонтальный коэффициент равен 1.00, чуть меньше диагональный и еще меньше вертикальный. Это необходимо для создания реалистичности движения относительно перспективы. То есть объекты, двигаясь вверх, как бы отдаляются от нас в глубь, поэтому по экрану они движутся медленней&lt;br /&gt;
[[Файл:Isomover2.png|right]]&lt;br /&gt;
*'''Таймер''':&lt;br /&gt;
**подложка (''digBg'') - фон для цифр таймера&lt;br /&gt;
**цифры (''digNorm'') - набор из 10-и цифр в виде ресурса анимации (клипа)&lt;br /&gt;
**двоеточие (''colNorm'') - графический ресурс двоеточия&lt;br /&gt;
**dx (''dx'') - смещение таймера по оси ''x'' относительно пивота изомувера&lt;br /&gt;
**dy (''dy'') - смещение таймера по оси ''y'' относительно пивота изомувера&lt;br /&gt;
**dx между цифрами (''digShift'') - расстояние между цифрами таймера&lt;br /&gt;
**dx от (''colShift'') - отступы числовых разрядов влево и вправо от двоеточия&lt;br /&gt;
**жизнь (''objlife'') - здесь выбирается объект типа прогресс_бар для отображения шкалы уровня жизни. Progress_bar создается отдельным объектом&lt;br /&gt;
Таймер позволяет отобразить время до окончания взаимодействия объектов. Например &amp;quot;корабль&amp;quot; прибыл в &amp;quot;порт&amp;quot; и начал отгружать груз. С помощью числового таймера или progress_bar можно увидеть через сколько закончится отгрузка. На рисунке справа показано взаимодействие двух объектов с изображение шкалы жизни одного из объектов и времени до конца взаимодействия.&lt;br /&gt;
*'''окно предмета''':&lt;br /&gt;
**паспорт(''wndPassport'') - текстовый id, в котором в ''word'' лежит текст - название, в icon1 - графика изомувера для окна использования айтем&lt;br /&gt;
Паспорт из этой группы используется в случаях  открытия окна использования айтема для паузы или восстановления здоровья. &lt;br /&gt;
**(текст) название айтема(''wndItemName'') - текстовый объект, в который вкладывается название айтема&lt;br /&gt;
**(текст) текст айтема(''wndItemText'') - куда кладем описание айтема&lt;br /&gt;
**иконка айтема(''wndItemIcon'') - иконка айтема&lt;br /&gt;
**название взаимодействия(''wndActingName'') - куда кладем word и паспорта&lt;br /&gt;
**превью взаимодействия(''wndActingPreview'') - паспорт или txtID из взаимодействия&lt;br /&gt;
**(каунтер) есть предмета(''wndCntHave'') - сколько есть нужного айтема&lt;br /&gt;
**(каунтер) нужно предмета(''wndCntNeed'') - нужно предмета &lt;br /&gt;
**(каутер) цена res1(wndCntRes1) - цена предмета res1&lt;br /&gt;
**(каутер) цена res2(wndCntRes2) - цена предмета res2&lt;br /&gt;
**само окно(''wndWnd'') - должно иметь состояние show&lt;br /&gt;
*'''Преследование'''&lt;br /&gt;
**тип (''chasetype'') - тип объекта, который можно преследовать&lt;br /&gt;
**радиус (''chaseradius'') - если объект указанного типа окажется в этом радиусе, то начнется преследование (например полицейская погоня)&lt;br /&gt;
*'''Дорожное движение'''&lt;br /&gt;
**радиус (''stopradius'') - объекты, которые двигались по одному ребру, останавливаются на расстоянии этого радиуса (необходимо для препятствия наслоений объектов на дороге, железнодорожных путях)&lt;br /&gt;
*'''восстановление жизни''':&lt;br /&gt;
**критический уровень (''pow_min'') - Критический уровень жизни&lt;br /&gt;
**предмет (''pow_item'') - Предмет восстановления &lt;br /&gt;
**время (''pow_time'') - Время восстановления жизни&lt;br /&gt;
*'''ускорение взаимодействия''':&lt;br /&gt;
**коэффициент (''boost_coef'') - Коэффициент ускорения взаимодействия. &lt;br /&gt;
**время (''boost_time'') - Какое время (в миллисекундах) действует ускорение.  &lt;br /&gt;
&lt;br /&gt;
*курсор (''curs'') - Графический ресурс курсора текущего и всех дочерних объектов&lt;br /&gt;
*прокликиваемая (''passClk'') - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше&amp;quot; regexp=&amp;quot;нет=0, да=1, обработать и пропустить=2&lt;br /&gt;
*группа (''gr'') - Группа, в которую входит текущий объект&lt;br /&gt;
*eitems (''eitems'') - Объект типа eitems&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
[[Файл:Isomover9.png|right|300px]]&lt;br /&gt;
[[Файл:+.png]] '''Взаимодействие с другими объектами''':&lt;br /&gt;
*тип (''mtype'') - тип объекта с которым по настроенному ниже сценарию будет происходить взаимодействие, -1 для любого типа&lt;br /&gt;
*min жизнь (''minlife'') - минимальное значение жизни для начала взаимодействия, -1 не проверять. Служит для проверки жизни при взаимодействии и с &amp;quot;тип&amp;quot;, и с &amp;quot;тип актив&amp;quot;&lt;br /&gt;
*max жизнь (''maxlife'') - максимальное значение жизни для начала взаимодействия, -1 не проверять. Служит для проверки жизни при взаимодействии и с &amp;quot;тип&amp;quot;, и с &amp;quot;тип актив&amp;quot;&lt;br /&gt;
*тип актив (''mtype_a'') - тип мувера, который активирует взаимодействие, если данный в процессе подготовки&lt;br /&gt;
*анимация (''res_a'') - анимация взаимодействия, например боя, разгрузки, разговора. Перетаскивается мышкой из редактора ресурсов&lt;br /&gt;
*старт тип (''stype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*старт таймер (''stimer'') - время, за которое нужно активировать взаимодействие тапом&lt;br /&gt;
*старт изм.жизни (''slife'') - скорость изменения жизни до активации взаимодействия тапом&lt;br /&gt;
*старт изм.жизни другого (''slife_o'') - скорость изменения жизни враг до активации взаимодействия тапом&lt;br /&gt;
*предмет (''item'') - предмет, необходимый для запуска активности. Актуально, когда имеется объект economics&lt;br /&gt;
*иконка (''ico'') - иконка активности&lt;br /&gt;
*смещение иконки (''ico_shift'') - смещение иконки активности по вертикали&lt;br /&gt;
*актив тип (''atype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*актив таймер (''atime'') - время, которое длится взаимодействие&lt;br /&gt;
*актив изменение жизни (''alife'') - скорость изменения жизни текущего объекта (ед/сек) в состоянии active&lt;br /&gt;
*актив изменение жизни другого (''alife_o'') - скорость изменения жизни другого объекта (ед/сек) в состоянии active&lt;br /&gt;
&lt;br /&gt;
[[Файл:Isomover3.png|right|300px]]&lt;br /&gt;
*объект инит (''obj'') - объект, состояние которого нужно изменить при переходе изомувера в acting_wait&lt;br /&gt;
*состояние инит (''st'') - новое состояние другого объекта&lt;br /&gt;
*объект старт (''obj_s'') - объект, состояние которого нужно изменить при переходе изомувера в acting&lt;br /&gt;
*состояние старт (''st_s'') - новое состояние другого объекта&lt;br /&gt;
*объект фейл (''obj_f'') - объект, состояние которого нужно изменить при переходе изомувера в состояние fail (проигрыш)&lt;br /&gt;
*состояние фейл (''st_f'') - новое состояние другого объекта&lt;br /&gt;
*объект успех (''obj_w'') - объект, состояние которого нужно изменить при переходе изомувера в состояние win (в случае победы)&lt;br /&gt;
*состояние успех (''st_w'') - новое состояние другого объекта&lt;br /&gt;
*дельта жизнь (''deltalife'') при успехе взаимодействия изменить значение жизни на эту величину&lt;br /&gt;
*переводить другой в фейл (''o_fail'') - 1- переводить цель действия в fail, 0- в idle&lt;br /&gt;
*переводить другой в мув (''o_move'') - при неудачном действии 1- переводить цель действия в move, 0- в idle&lt;br /&gt;
*можно ускорить (''canspeed'') - 1- действие можно ускорить. От этого параметра зависит, какое событие будет вызываться по клику на объект в состоянии acting&lt;br /&gt;
*звук ожидания (''snd_wait'') - звук, который будет воспроизводиться в состоянии acting_wait &lt;br /&gt;
*звук действия (''snd_act'') - звук, который будет воспроизводиться в состоянии acting&lt;br /&gt;
Для каждого типа объектов, с которыми взаимодействие возможно, необходимо добавить отдельный параметр &amp;quot;взаимодействие с другими объектами&amp;quot; и настроить его. Объекты инит, старт, фейл и успех вызываются при переходе текущего объекта в соответствующие состояния. Например, это может быть диалоговое окно, предлагающее продолжить взаимодействие, запуск дополнительных индикаторов, фейерверк в случае победы.&lt;br /&gt;
*паспорт(''wndPassport'') - текстовый id, в котором в word лежит текст - название, в icon1 - графика изомувера для окна использования айтем&lt;br /&gt;
Паспорт из этой группы используется в случаях открытия окна использования айтема для взаимодействия.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Клик при простое''' (''nst_idle''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии idel&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_move''), он же '''клик при движении''':&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии move&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Клик при паузе''' (''nst_pause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии pause (заморозка)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_aw_n'') он же '''клик при acting_wait, если другие действия не возможны'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting_wait&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_1'') он же '''клик при acting, ускорение возможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер  был нажат в состоянии acting и ускорение возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_2'') он же '''клик при acting, ускорение НЕвозможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting и ускорение не возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_beact'') он же '''клик при beeng_acting'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии beeng_acting, когда воздействие совершалось над ним другим объектом&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Конец движения''' (''nst_finish''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер закончил движение (достиг точки finish)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Отправили в текущую ноду''' (''nst_place''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер направлен в ту же ноду, в которой и находится&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в fail''' (''nst_gopause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер перешел в fail&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в pause''' (''nst_heal''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Перешел в pause&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Восстановил здоровье''' (''nst_low_time''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Восстановил здоровье&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Время истекло: изменить состояние объекта''' (''nst_low_time'') он же '''время на исходе: изменить состояние объекта''':&lt;br /&gt;
*значение, при котором срабатывает обработчик&lt;br /&gt;
*объект - объект, состояние которого меняется по истечению времени&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
[[Файл:isomover_box.png|right|350px]]&lt;br /&gt;
*'''idle''' - дефолтное состояние, в которое isomover переходит после всех манипуляций. Недвижимым объектам следует передавать idle, чтобы они появились (нарисовались) на карте. Для движущихся объектов его практически не используют, объект сам рисуется с началом движения.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting_wait''' - первое состояние взаимодействия (запускается первый таймер, анимация взаимодействия и ожидается старт).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting''' - второе состояние взаимодействия (вызывается после применения предмета или клика, запускает второй таймер).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''being_acted''' - в этом состоянии пребывает тот объект, над которым идет действие. Объект в этом состоянии невидим.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move''' - состояние движения от старта к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move_to_smooth''' - состояние движения от текущей ноды (или следующей, если объект идет) к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''appear''' - показать по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''disappear''' - скрыть по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''prepare_acting''' - вызвать взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''start_acting''' - продолжить взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&lt;br /&gt;
*'''pause''' - состояние &amp;quot;заморозки&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Особенности работы==&lt;br /&gt;
[[Файл:Isomover6.png|right|300px]][[Файл:Isomover8.png|left|200px]]&lt;br /&gt;
Движение объекта типа ''isomover'' задается с помощью отдельной машины состояний через которую происходит управление состояниями move, acting и остальными. Рассмотрим на конкретном примере. У нас есть объект '''woman''' типа ''isomover''. Необходимо, чтобы наш изомувер начал движение с точки b1 и дальше начал двигаться бесконечно по кольцу b2-b3-b4-b5. Движение задается машиной состояний ''woman_machine''.&amp;lt;br&amp;gt;&lt;br /&gt;
Для управления циклическим ходом назначим дополнительный параметр ''ww''. Название параметра должно быть уникально и не совпадать с параметрами игровых объектов.&amp;lt;br&amp;gt;&lt;br /&gt;
Для того, чтобы изомувер двигался каждый раз к новой точке, необходимо повторно инициализировать его точку финиша. Однако, если мы продолжим указывать ему состояние move для движения, то каждый раз он будет начинать движение с точки старта. Чтобы это исправить воспользуемся состоянием move_to_smooth, которое заставляет двигаться изомувер от текущей ноде к финишу, будто старт и финиш мы все время смещаем на шаг.&lt;br /&gt;
&amp;lt;br&amp;gt;Основная логика будет находиться в состоянии ''circle_moving'' нашей машины. Надо сделать так, чтобы изомувер переходил в это состояние после движения по каждому из ребер. Для этого зайдем в свойства изомувера, нажмем правой кнопкой мыши и добавим параметр '''конец движения'''. У него есть поля ''объект'' и ''свойство''. Объект - машина состояний ''woman_machine'', состояние ''circle_moving'' этой машины. Таким образом, в конце каждого акта движения изомувер будет запускать состояние, в котором мы будем менять его точку финиша и запускать его движение.&lt;br /&gt;
&amp;lt;br&amp;gt;Не забываем, что все операции с переменными должны отделяться скобками, как и сама переменная&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример===&lt;br /&gt;
Два изомувера (police_car и werewolf) совершают циклическое движение по определенному маршруту, заданному с помощью машин состояний (car_machine и werewolf_machine соответственно). Когда объекты оказываются в радиусе (достаточном для активации добавляемого параметра '''&amp;quot;Взаимодействие с другими объектами&amp;quot;'''), объект '''police_car''' начинает взаимодействовать с объектом '''werewolf'''. По истечению времени воздействия объект '''police_car''' переходит в состояние '''fail'''. Если кликнуть на процесс взаимодействия объектов, то объект '''police_car''' перейдет в состояние '''win'''.&lt;br /&gt;
*'''Пример:&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\Isomap.rar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Vgolob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Timer&amp;diff=9194</id>
		<title>Timer</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Timer&amp;diff=9194"/>
		<updated>2017-11-09T12:39:47Z</updated>

		<summary type="html">&lt;p&gt;Vgolob: &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;
** '''x''' - положение объекта по оси х&lt;br /&gt;
** '''y''' - положение объекта по оси y&lt;br /&gt;
* '''размер'''&lt;br /&gt;
** '''w''' - ширина объекта в пикслях&lt;br /&gt;
** '''h''' - высота объекта в пикселях&lt;br /&gt;
* '''модификаторы'''&lt;br /&gt;
** '''alpha''' - прозрачность объекта от 0 (прозрачен) до 1 (не прозрачен)&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;
* '''z''' - параметр порядка рисования объекта. Сначала рисуются объекты с большим z, а под ними с меньшим&lt;br /&gt;
* '''память''' - если 1 - не обновляет свои параметры при последующем открытии экрана, 0 - обновляет . '''Если таймер подвязан к опциям''' и включена память, то таймер не будет перевычитывать значение из опций после получения состояний '''init''', '''run'''&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;
* '''значение''' - начальное значение таймера в ms&lt;br /&gt;
* '''дельта''' - используется в состояниях add и del, количество времени которое будет добавлено или удалено из таймера (время в секундах)&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;
* '''прогресс''' - прогрессбар, отображающий то же, что и таймер&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;
** '''имя''' - номер шрифта - целое число, начиная с 0 (порядковый номер шрифта), а если -1 то рисовать каунтер клипами&lt;br /&gt;
** '''размер''' - размер шрифта в пикселях&lt;br /&gt;
** '''цвет 1''' - цвет текста&lt;br /&gt;
* '''внешний вид'''&lt;br /&gt;
** '''дни''' - 0 - прятать, 1 - отображать, 2 - отображать всегда два разряда, 3 - отображать, когда дней больше, чем в days, 4 - отображать только дни, когда дней больше, чем в days&lt;br /&gt;
** '''часы''' - 0 - прятать, 1 - отображать, 2 - если время больше одного часа - отображать дни и часы, если время меньше одного часа - отображать минуты и секунды&lt;br /&gt;
** '''минуты''' - 0 - прятать, 1 - отображать&lt;br /&gt;
** '''секунды''' - 0 - прятать, 1 - отображать&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;
** '''ускорение''' - коэффициент ускорения, когда таймер находится в состоянии fast&lt;br /&gt;
** '''сохранять в профиль''' - если &amp;quot;0&amp;quot; - то не сохраняет значение в профиль, а значит значение будет глобальным&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>Vgolob</name></author>
		
	</entry>
</feed>