<?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=Beletsky</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=Beletsky"/>
	<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/Beletsky"/>
	<updated>2026-10-17T02:11:52Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.15</generator>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8181</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8181"/>
		<updated>2016-06-01T10:09:54Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Автотест */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные настройки механик==&lt;br /&gt;
&lt;br /&gt;
===Scatter без scatter===&lt;br /&gt;
&lt;br /&gt;
Есть возможность начислять бесплатные спины без использования специальной иконки.&lt;br /&gt;
&lt;br /&gt;
Для этого разработана такая методика:&lt;br /&gt;
После совершения подряд MIN спинов - после каждого последующего спина до MAX есть вероятность P начислить игроку N бесплатных спинов.&lt;br /&gt;
Если номер спина в последовательности спинов превысил MAX, то бесплатные спины начисляются с вероятностью P=1.&lt;br /&gt;
&lt;br /&gt;
При этом указываем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
spinspreemin=&amp;quot;16&amp;quot; spinspreemax=&amp;quot;66&amp;quot; addscatterp=&amp;quot;0.03&amp;quot; addscattermin=&amp;quot;7&amp;quot; addscattermax=&amp;quot;9&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что начиная с 16-го спина по 66-й включительно с вероятностью 3% будет начислено от 7 до 9ти бесплатных спинов (7,8 или 9 равновероятно).&lt;br /&gt;
&lt;br /&gt;
При чем во время самих бесплатных спинов очередь продолжается, но так как 16&amp;gt;7, то выпасть дополнительные спины во время бесплатных не могут.&lt;br /&gt;
&lt;br /&gt;
Перед выходом из слота ОБЯЗАТЕЛЬНО очищаем очередь путём вызова объекту состояния *clear_spree*.&lt;br /&gt;
&lt;br /&gt;
Частота выпадения бесплатных спинов и регулировка отдачи с их помощью можно осуществить изменяя параметры addscatterp и spinspreemin/spinspreemax.&lt;br /&gt;
&lt;br /&gt;
===Линии или пути===&lt;br /&gt;
&lt;br /&gt;
Часто можно встретить вместо привычных линий так называемые &amp;quot;пути&amp;quot; или &amp;quot;ways&amp;quot;. И их почему-то огромное кол-во, в сравнении с линиями.&lt;br /&gt;
243 ways на слоте с тремя рядами и пятью барабанами. Это означает то, что мы играем сразу на все возможные линии, которых всего может быть 3^5=243. Таким же образом в слоте 4x5 всего 1024 пути.&lt;br /&gt;
&lt;br /&gt;
При этом ставка на линию чаще всего преобразуется в абсолютно аналогичный &amp;quot;множитель&amp;quot;, а кол-во линий (хоть и будет называться coins) - фиксированная величина. Т.е для самой математики подсчета суммарной ставки - ничего не поменялось. Выплата так же будет зависеть от &amp;quot;множителя&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
При этом сам выигрыш можно считать как наличие иконки определенного типа последовательно на рельсах без пропусков.&lt;br /&gt;
&lt;br /&gt;
Пример: иконка1 встретилась на 1-й, 2-й и 3-ей рельсе по одной на каждой. Иконка1 участвовала в построении выигрышной цепочки длинной 3 иконки.&lt;br /&gt;
&lt;br /&gt;
У объекта в GData можно найти параметр linespath=0 или 1. Удобно ориентироваться по нему для изменений в UI, к примеру.&lt;br /&gt;
&lt;br /&gt;
===Превращение в wild при соседях===&lt;br /&gt;
&lt;br /&gt;
Механика, позволяющая наделить обычную иконку св-вами wild при особых условиях.&lt;br /&gt;
Условия:&lt;br /&gt;
Режим бесплатных спинов активен.&lt;br /&gt;
На соседних рельсах попали иконки, у которых параметр transwild=1.&lt;br /&gt;
[[Файл:mermaid_free_spins_wild.png|200px|thumb|left]]&lt;br /&gt;
При выполнении условий у иконок включается специальный эффект, который может являться машиной, которая запускает видео/фреймовую анимацию.&lt;br /&gt;
&lt;br /&gt;
===Тип иконки 4===&lt;br /&gt;
&lt;br /&gt;
Данный тип иконки нужен для начисления ресурса1 за выпадение N иконок на поле.&lt;br /&gt;
Т.е условия запуска механики такие же, как и для иконки scatter.&lt;br /&gt;
Но в данном случае начисляются не бесплатные спины, а ресурс.&lt;br /&gt;
&lt;br /&gt;
А вот и пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;slotico icores=&amp;quot;1080&amp;quot; icotype=&amp;quot;4&amp;quot; icowin=&amp;quot;0,0,0,0,0,0&amp;quot; type4val=&amp;quot;3&amp;quot; type4min=&amp;quot;0,0,0,1,5,10&amp;quot; type4max=&amp;quot;0,0,0,3,15,20&amp;quot; type4text=&amp;quot;2383&amp;quot; type4dx=&amp;quot;-5&amp;quot; type4dy=&amp;quot;45&amp;quot; icoobj=&amp;quot;3566&amp;quot; icohide=&amp;quot;1&amp;quot; icoeffect2=&amp;quot;5409&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что массивы type4min и type4max - связаны.&lt;br /&gt;
&lt;br /&gt;
Как это работает:&lt;br /&gt;
Выпало 3 иконки на поле.&lt;br /&gt;
Для них мы включаем эффект2, сами иконки прячем.&lt;br /&gt;
За каждую иконку начисляем от type4min[3] до type4max[3] суммарных ставок.&lt;br /&gt;
Суммарная ставка была 100 монет. Выпало три иконки. За первую мы начисляем 100, 200 или 300 монет. За вторую и за третью аналогично.&lt;br /&gt;
Поверх эффекта2 будет отрисован и проанимирован счетчик type4text, со значением равным выигрышу за каждую из иконок соответственно.&lt;br /&gt;
При этом счетчик будет смещен на type4dx и type4dy относительно центра иконки (которая совпадает с пересечением диагоналей ячейки).&lt;br /&gt;
&lt;br /&gt;
==Автотест==&lt;br /&gt;
&lt;br /&gt;
Запускается автотест из viewer путём вызова состояния *autospin* объекту слота.&lt;br /&gt;
&lt;br /&gt;
Дополнительные параметры param - кол-во спинов, которые будут сделаны и param2 - кол-во итераций.&lt;br /&gt;
&lt;br /&gt;
После начала режима создается файл возле options.xml с результатами автотеста, который заполняется по ходу работы.&lt;br /&gt;
&lt;br /&gt;
Файл имеет название id из файла уровней _ кол-во спинов из param _ name из файла уровней _ месяц _ день _ часы _ минуты&lt;br /&gt;
Если на момент запуска новой итерации время не изменилось - идет дозапись в текущий файл.&lt;br /&gt;
&lt;br /&gt;
Внутри csv-файла видим таблицу&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|spin&lt;br /&gt;
|slot id&lt;br /&gt;
|lines&lt;br /&gt;
|line bet&lt;br /&gt;
|res1before&lt;br /&gt;
|res1after&lt;br /&gt;
|win&lt;br /&gt;
|type&lt;br /&gt;
|pos1&lt;br /&gt;
|pos2&lt;br /&gt;
|pos3&lt;br /&gt;
|pos4&lt;br /&gt;
|pos5&lt;br /&gt;
|bonus_num&lt;br /&gt;
|- &lt;br /&gt;
|номер спина&lt;br /&gt;
|id из файла уровней&lt;br /&gt;
|сколько линий&lt;br /&gt;
|какая ставка на линию&lt;br /&gt;
|баланс до спина&lt;br /&gt;
|баланс после спина&lt;br /&gt;
|выигрыш за спин&lt;br /&gt;
|тип спина r/f обычный/бесплатный&lt;br /&gt;
|позиция на рельсе1&lt;br /&gt;
|позиция на рельсе2&lt;br /&gt;
|позиция на рельсе3&lt;br /&gt;
|позиция на рельсе4&lt;br /&gt;
|позиция на рельсе5&lt;br /&gt;
|множитель бонусный игры, если был&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
По окончанию итерации будет выведена краткая статистика:&lt;br /&gt;
&lt;br /&gt;
return = отдача&lt;br /&gt;
&lt;br /&gt;
free spins = кол-во бесплатных спинов&lt;br /&gt;
&lt;br /&gt;
win spins = количество победных спинов&lt;br /&gt;
&lt;br /&gt;
bonus spins = кол-во бонусных игр&lt;br /&gt;
&lt;br /&gt;
big win = кол-во big win&lt;br /&gt;
&lt;br /&gt;
mega win = кол-во mega win&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8180</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8180"/>
		<updated>2016-06-01T10:09:28Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Автотест */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные настройки механик==&lt;br /&gt;
&lt;br /&gt;
===Scatter без scatter===&lt;br /&gt;
&lt;br /&gt;
Есть возможность начислять бесплатные спины без использования специальной иконки.&lt;br /&gt;
&lt;br /&gt;
Для этого разработана такая методика:&lt;br /&gt;
После совершения подряд MIN спинов - после каждого последующего спина до MAX есть вероятность P начислить игроку N бесплатных спинов.&lt;br /&gt;
Если номер спина в последовательности спинов превысил MAX, то бесплатные спины начисляются с вероятностью P=1.&lt;br /&gt;
&lt;br /&gt;
При этом указываем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
spinspreemin=&amp;quot;16&amp;quot; spinspreemax=&amp;quot;66&amp;quot; addscatterp=&amp;quot;0.03&amp;quot; addscattermin=&amp;quot;7&amp;quot; addscattermax=&amp;quot;9&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что начиная с 16-го спина по 66-й включительно с вероятностью 3% будет начислено от 7 до 9ти бесплатных спинов (7,8 или 9 равновероятно).&lt;br /&gt;
&lt;br /&gt;
При чем во время самих бесплатных спинов очередь продолжается, но так как 16&amp;gt;7, то выпасть дополнительные спины во время бесплатных не могут.&lt;br /&gt;
&lt;br /&gt;
Перед выходом из слота ОБЯЗАТЕЛЬНО очищаем очередь путём вызова объекту состояния *clear_spree*.&lt;br /&gt;
&lt;br /&gt;
Частота выпадения бесплатных спинов и регулировка отдачи с их помощью можно осуществить изменяя параметры addscatterp и spinspreemin/spinspreemax.&lt;br /&gt;
&lt;br /&gt;
===Линии или пути===&lt;br /&gt;
&lt;br /&gt;
Часто можно встретить вместо привычных линий так называемые &amp;quot;пути&amp;quot; или &amp;quot;ways&amp;quot;. И их почему-то огромное кол-во, в сравнении с линиями.&lt;br /&gt;
243 ways на слоте с тремя рядами и пятью барабанами. Это означает то, что мы играем сразу на все возможные линии, которых всего может быть 3^5=243. Таким же образом в слоте 4x5 всего 1024 пути.&lt;br /&gt;
&lt;br /&gt;
При этом ставка на линию чаще всего преобразуется в абсолютно аналогичный &amp;quot;множитель&amp;quot;, а кол-во линий (хоть и будет называться coins) - фиксированная величина. Т.е для самой математики подсчета суммарной ставки - ничего не поменялось. Выплата так же будет зависеть от &amp;quot;множителя&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
При этом сам выигрыш можно считать как наличие иконки определенного типа последовательно на рельсах без пропусков.&lt;br /&gt;
&lt;br /&gt;
Пример: иконка1 встретилась на 1-й, 2-й и 3-ей рельсе по одной на каждой. Иконка1 участвовала в построении выигрышной цепочки длинной 3 иконки.&lt;br /&gt;
&lt;br /&gt;
У объекта в GData можно найти параметр linespath=0 или 1. Удобно ориентироваться по нему для изменений в UI, к примеру.&lt;br /&gt;
&lt;br /&gt;
===Превращение в wild при соседях===&lt;br /&gt;
&lt;br /&gt;
Механика, позволяющая наделить обычную иконку св-вами wild при особых условиях.&lt;br /&gt;
Условия:&lt;br /&gt;
Режим бесплатных спинов активен.&lt;br /&gt;
На соседних рельсах попали иконки, у которых параметр transwild=1.&lt;br /&gt;
[[Файл:mermaid_free_spins_wild.png|200px|thumb|left]]&lt;br /&gt;
При выполнении условий у иконок включается специальный эффект, который может являться машиной, которая запускает видео/фреймовую анимацию.&lt;br /&gt;
&lt;br /&gt;
===Тип иконки 4===&lt;br /&gt;
&lt;br /&gt;
Данный тип иконки нужен для начисления ресурса1 за выпадение N иконок на поле.&lt;br /&gt;
Т.е условия запуска механики такие же, как и для иконки scatter.&lt;br /&gt;
Но в данном случае начисляются не бесплатные спины, а ресурс.&lt;br /&gt;
&lt;br /&gt;
А вот и пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;slotico icores=&amp;quot;1080&amp;quot; icotype=&amp;quot;4&amp;quot; icowin=&amp;quot;0,0,0,0,0,0&amp;quot; type4val=&amp;quot;3&amp;quot; type4min=&amp;quot;0,0,0,1,5,10&amp;quot; type4max=&amp;quot;0,0,0,3,15,20&amp;quot; type4text=&amp;quot;2383&amp;quot; type4dx=&amp;quot;-5&amp;quot; type4dy=&amp;quot;45&amp;quot; icoobj=&amp;quot;3566&amp;quot; icohide=&amp;quot;1&amp;quot; icoeffect2=&amp;quot;5409&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что массивы type4min и type4max - связаны.&lt;br /&gt;
&lt;br /&gt;
Как это работает:&lt;br /&gt;
Выпало 3 иконки на поле.&lt;br /&gt;
Для них мы включаем эффект2, сами иконки прячем.&lt;br /&gt;
За каждую иконку начисляем от type4min[3] до type4max[3] суммарных ставок.&lt;br /&gt;
Суммарная ставка была 100 монет. Выпало три иконки. За первую мы начисляем 100, 200 или 300 монет. За вторую и за третью аналогично.&lt;br /&gt;
Поверх эффекта2 будет отрисован и проанимирован счетчик type4text, со значением равным выигрышу за каждую из иконок соответственно.&lt;br /&gt;
При этом счетчик будет смещен на type4dx и type4dy относительно центра иконки (которая совпадает с пересечением диагоналей ячейки).&lt;br /&gt;
&lt;br /&gt;
==Автотест==&lt;br /&gt;
&lt;br /&gt;
Запускается автотест из viewer путём вызова состояния *autospin* объекту слота.&lt;br /&gt;
&lt;br /&gt;
Дополнительные параметры param - кол-во спинов, которые будут сделаны и param2 - кол-во итераций.&lt;br /&gt;
&lt;br /&gt;
После начала режима создается файл возле options.xml с результатами автотеста, который заполняется по ходу работы.&lt;br /&gt;
&lt;br /&gt;
Файл имеет название id из файла уровней _ кол-во спинов из param _ name из файла уровней _ месяц _ день _ часы _ минуты&lt;br /&gt;
Если на момент запуска новой итерации время не изменилось - идет дозапись в текущий файл.&lt;br /&gt;
&lt;br /&gt;
Внутри csv-файла видим таблицу&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|spin&lt;br /&gt;
|slot id&lt;br /&gt;
|lines&lt;br /&gt;
|line bet&lt;br /&gt;
|res1before&lt;br /&gt;
|res1after&lt;br /&gt;
|win&lt;br /&gt;
|type&lt;br /&gt;
|pos1&lt;br /&gt;
|pos2&lt;br /&gt;
|pos3&lt;br /&gt;
|pos4&lt;br /&gt;
|pos5&lt;br /&gt;
|bonus_num&lt;br /&gt;
|- &lt;br /&gt;
|номер спина&lt;br /&gt;
|id из файла уровней&lt;br /&gt;
|сколько линий&lt;br /&gt;
|какая ставка на линию&lt;br /&gt;
|баланс до спина&lt;br /&gt;
|баланс после спина&lt;br /&gt;
|выигрыш за спин&lt;br /&gt;
|тип спина r/f обычный/бесплатный&lt;br /&gt;
|позиция на рельсе1&lt;br /&gt;
|позиция на рельсе2&lt;br /&gt;
|позиция на рельсе3&lt;br /&gt;
|позиция на рельсе4&lt;br /&gt;
|позиция на рельсе5&lt;br /&gt;
|множитель бонусный игры, если был&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
По окончанию итерации будет выведена краткая статистика:&lt;br /&gt;
return = отдача&lt;br /&gt;
free spins = кол-во бесплатных спинов&lt;br /&gt;
win spins = количество победных спинов&lt;br /&gt;
bonus spins = кол-во бонусных игр&lt;br /&gt;
big win = кол-во big win&lt;br /&gt;
mega win = кол-во mega win&lt;br /&gt;
&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8179</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8179"/>
		<updated>2016-06-01T10:01:28Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Автотест */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные настройки механик==&lt;br /&gt;
&lt;br /&gt;
===Scatter без scatter===&lt;br /&gt;
&lt;br /&gt;
Есть возможность начислять бесплатные спины без использования специальной иконки.&lt;br /&gt;
&lt;br /&gt;
Для этого разработана такая методика:&lt;br /&gt;
После совершения подряд MIN спинов - после каждого последующего спина до MAX есть вероятность P начислить игроку N бесплатных спинов.&lt;br /&gt;
Если номер спина в последовательности спинов превысил MAX, то бесплатные спины начисляются с вероятностью P=1.&lt;br /&gt;
&lt;br /&gt;
При этом указываем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
spinspreemin=&amp;quot;16&amp;quot; spinspreemax=&amp;quot;66&amp;quot; addscatterp=&amp;quot;0.03&amp;quot; addscattermin=&amp;quot;7&amp;quot; addscattermax=&amp;quot;9&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что начиная с 16-го спина по 66-й включительно с вероятностью 3% будет начислено от 7 до 9ти бесплатных спинов (7,8 или 9 равновероятно).&lt;br /&gt;
&lt;br /&gt;
При чем во время самих бесплатных спинов очередь продолжается, но так как 16&amp;gt;7, то выпасть дополнительные спины во время бесплатных не могут.&lt;br /&gt;
&lt;br /&gt;
Перед выходом из слота ОБЯЗАТЕЛЬНО очищаем очередь путём вызова объекту состояния *clear_spree*.&lt;br /&gt;
&lt;br /&gt;
Частота выпадения бесплатных спинов и регулировка отдачи с их помощью можно осуществить изменяя параметры addscatterp и spinspreemin/spinspreemax.&lt;br /&gt;
&lt;br /&gt;
===Линии или пути===&lt;br /&gt;
&lt;br /&gt;
Часто можно встретить вместо привычных линий так называемые &amp;quot;пути&amp;quot; или &amp;quot;ways&amp;quot;. И их почему-то огромное кол-во, в сравнении с линиями.&lt;br /&gt;
243 ways на слоте с тремя рядами и пятью барабанами. Это означает то, что мы играем сразу на все возможные линии, которых всего может быть 3^5=243. Таким же образом в слоте 4x5 всего 1024 пути.&lt;br /&gt;
&lt;br /&gt;
При этом ставка на линию чаще всего преобразуется в абсолютно аналогичный &amp;quot;множитель&amp;quot;, а кол-во линий (хоть и будет называться coins) - фиксированная величина. Т.е для самой математики подсчета суммарной ставки - ничего не поменялось. Выплата так же будет зависеть от &amp;quot;множителя&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
При этом сам выигрыш можно считать как наличие иконки определенного типа последовательно на рельсах без пропусков.&lt;br /&gt;
&lt;br /&gt;
Пример: иконка1 встретилась на 1-й, 2-й и 3-ей рельсе по одной на каждой. Иконка1 участвовала в построении выигрышной цепочки длинной 3 иконки.&lt;br /&gt;
&lt;br /&gt;
У объекта в GData можно найти параметр linespath=0 или 1. Удобно ориентироваться по нему для изменений в UI, к примеру.&lt;br /&gt;
&lt;br /&gt;
===Превращение в wild при соседях===&lt;br /&gt;
&lt;br /&gt;
Механика, позволяющая наделить обычную иконку св-вами wild при особых условиях.&lt;br /&gt;
Условия:&lt;br /&gt;
Режим бесплатных спинов активен.&lt;br /&gt;
На соседних рельсах попали иконки, у которых параметр transwild=1.&lt;br /&gt;
[[Файл:mermaid_free_spins_wild.png|200px|thumb|left]]&lt;br /&gt;
При выполнении условий у иконок включается специальный эффект, который может являться машиной, которая запускает видео/фреймовую анимацию.&lt;br /&gt;
&lt;br /&gt;
===Тип иконки 4===&lt;br /&gt;
&lt;br /&gt;
Данный тип иконки нужен для начисления ресурса1 за выпадение N иконок на поле.&lt;br /&gt;
Т.е условия запуска механики такие же, как и для иконки scatter.&lt;br /&gt;
Но в данном случае начисляются не бесплатные спины, а ресурс.&lt;br /&gt;
&lt;br /&gt;
А вот и пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;slotico icores=&amp;quot;1080&amp;quot; icotype=&amp;quot;4&amp;quot; icowin=&amp;quot;0,0,0,0,0,0&amp;quot; type4val=&amp;quot;3&amp;quot; type4min=&amp;quot;0,0,0,1,5,10&amp;quot; type4max=&amp;quot;0,0,0,3,15,20&amp;quot; type4text=&amp;quot;2383&amp;quot; type4dx=&amp;quot;-5&amp;quot; type4dy=&amp;quot;45&amp;quot; icoobj=&amp;quot;3566&amp;quot; icohide=&amp;quot;1&amp;quot; icoeffect2=&amp;quot;5409&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что массивы type4min и type4max - связаны.&lt;br /&gt;
&lt;br /&gt;
Как это работает:&lt;br /&gt;
Выпало 3 иконки на поле.&lt;br /&gt;
Для них мы включаем эффект2, сами иконки прячем.&lt;br /&gt;
За каждую иконку начисляем от type4min[3] до type4max[3] суммарных ставок.&lt;br /&gt;
Суммарная ставка была 100 монет. Выпало три иконки. За первую мы начисляем 100, 200 или 300 монет. За вторую и за третью аналогично.&lt;br /&gt;
Поверх эффекта2 будет отрисован и проанимирован счетчик type4text, со значением равным выигрышу за каждую из иконок соответственно.&lt;br /&gt;
При этом счетчик будет смещен на type4dx и type4dy относительно центра иконки (которая совпадает с пересечением диагоналей ячейки).&lt;br /&gt;
&lt;br /&gt;
==Автотест==&lt;br /&gt;
&lt;br /&gt;
Запускается автотест из viewer путём вызова состояния *autospin* объекту слота.&lt;br /&gt;
Дополнительные параметры param - кол-во спинов, которые будут сделаны и param2 - кол-во итераций.&lt;br /&gt;
&lt;br /&gt;
После начала режима создается файл возле options.xml с результатами автотеста, который заполняется по ходу работы.&lt;br /&gt;
&lt;br /&gt;
Файл имеет название id из файла уровней _ кол-во спинов из param _ name из файла уровней _ месяц _ день _ часы _ минуты&lt;br /&gt;
Если на момент запуска новой итерации время не изменилось - идет дозапись в текущий файл.&lt;br /&gt;
&lt;br /&gt;
Внутри csv-файла видим таблицу&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|spin&lt;br /&gt;
|slot id&lt;br /&gt;
|lines&lt;br /&gt;
|line bet&lt;br /&gt;
|res1before&lt;br /&gt;
|res1after&lt;br /&gt;
|win&lt;br /&gt;
|type&lt;br /&gt;
|pos1&lt;br /&gt;
|pos2&lt;br /&gt;
|pos3&lt;br /&gt;
|pos4&lt;br /&gt;
|pos5&lt;br /&gt;
|bonus_num&lt;br /&gt;
|- &lt;br /&gt;
|номер спина&lt;br /&gt;
|id из файла уровней&lt;br /&gt;
|сколько линий&lt;br /&gt;
|какая ставка на линию&lt;br /&gt;
|баланс до спина&lt;br /&gt;
|баланс после спина&lt;br /&gt;
|выигрыш за спин&lt;br /&gt;
|тип спина r/f обычный/бесплатный&lt;br /&gt;
|позиция на рельсе1&lt;br /&gt;
|позиция на рельсе2&lt;br /&gt;
|позиция на рельсе3&lt;br /&gt;
|позиция на рельсе4&lt;br /&gt;
|позиция на рельсе5&lt;br /&gt;
|множитель бонусный игры, если был&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8178</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8178"/>
		<updated>2016-06-01T09:35:43Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные настройки механик==&lt;br /&gt;
&lt;br /&gt;
===Scatter без scatter===&lt;br /&gt;
&lt;br /&gt;
Есть возможность начислять бесплатные спины без использования специальной иконки.&lt;br /&gt;
&lt;br /&gt;
Для этого разработана такая методика:&lt;br /&gt;
После совершения подряд MIN спинов - после каждого последующего спина до MAX есть вероятность P начислить игроку N бесплатных спинов.&lt;br /&gt;
Если номер спина в последовательности спинов превысил MAX, то бесплатные спины начисляются с вероятностью P=1.&lt;br /&gt;
&lt;br /&gt;
При этом указываем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
spinspreemin=&amp;quot;16&amp;quot; spinspreemax=&amp;quot;66&amp;quot; addscatterp=&amp;quot;0.03&amp;quot; addscattermin=&amp;quot;7&amp;quot; addscattermax=&amp;quot;9&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что начиная с 16-го спина по 66-й включительно с вероятностью 3% будет начислено от 7 до 9ти бесплатных спинов (7,8 или 9 равновероятно).&lt;br /&gt;
&lt;br /&gt;
При чем во время самих бесплатных спинов очередь продолжается, но так как 16&amp;gt;7, то выпасть дополнительные спины во время бесплатных не могут.&lt;br /&gt;
&lt;br /&gt;
Перед выходом из слота ОБЯЗАТЕЛЬНО очищаем очередь путём вызова объекту состояния *clear_spree*.&lt;br /&gt;
&lt;br /&gt;
Частота выпадения бесплатных спинов и регулировка отдачи с их помощью можно осуществить изменяя параметры addscatterp и spinspreemin/spinspreemax.&lt;br /&gt;
&lt;br /&gt;
===Линии или пути===&lt;br /&gt;
&lt;br /&gt;
Часто можно встретить вместо привычных линий так называемые &amp;quot;пути&amp;quot; или &amp;quot;ways&amp;quot;. И их почему-то огромное кол-во, в сравнении с линиями.&lt;br /&gt;
243 ways на слоте с тремя рядами и пятью барабанами. Это означает то, что мы играем сразу на все возможные линии, которых всего может быть 3^5=243. Таким же образом в слоте 4x5 всего 1024 пути.&lt;br /&gt;
&lt;br /&gt;
При этом ставка на линию чаще всего преобразуется в абсолютно аналогичный &amp;quot;множитель&amp;quot;, а кол-во линий (хоть и будет называться coins) - фиксированная величина. Т.е для самой математики подсчета суммарной ставки - ничего не поменялось. Выплата так же будет зависеть от &amp;quot;множителя&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
При этом сам выигрыш можно считать как наличие иконки определенного типа последовательно на рельсах без пропусков.&lt;br /&gt;
&lt;br /&gt;
Пример: иконка1 встретилась на 1-й, 2-й и 3-ей рельсе по одной на каждой. Иконка1 участвовала в построении выигрышной цепочки длинной 3 иконки.&lt;br /&gt;
&lt;br /&gt;
У объекта в GData можно найти параметр linespath=0 или 1. Удобно ориентироваться по нему для изменений в UI, к примеру.&lt;br /&gt;
&lt;br /&gt;
===Превращение в wild при соседях===&lt;br /&gt;
&lt;br /&gt;
Механика, позволяющая наделить обычную иконку св-вами wild при особых условиях.&lt;br /&gt;
Условия:&lt;br /&gt;
Режим бесплатных спинов активен.&lt;br /&gt;
На соседних рельсах попали иконки, у которых параметр transwild=1.&lt;br /&gt;
[[Файл:mermaid_free_spins_wild.png|200px|thumb|left]]&lt;br /&gt;
При выполнении условий у иконок включается специальный эффект, который может являться машиной, которая запускает видео/фреймовую анимацию.&lt;br /&gt;
&lt;br /&gt;
===Тип иконки 4===&lt;br /&gt;
&lt;br /&gt;
Данный тип иконки нужен для начисления ресурса1 за выпадение N иконок на поле.&lt;br /&gt;
Т.е условия запуска механики такие же, как и для иконки scatter.&lt;br /&gt;
Но в данном случае начисляются не бесплатные спины, а ресурс.&lt;br /&gt;
&lt;br /&gt;
А вот и пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;slotico icores=&amp;quot;1080&amp;quot; icotype=&amp;quot;4&amp;quot; icowin=&amp;quot;0,0,0,0,0,0&amp;quot; type4val=&amp;quot;3&amp;quot; type4min=&amp;quot;0,0,0,1,5,10&amp;quot; type4max=&amp;quot;0,0,0,3,15,20&amp;quot; type4text=&amp;quot;2383&amp;quot; type4dx=&amp;quot;-5&amp;quot; type4dy=&amp;quot;45&amp;quot; icoobj=&amp;quot;3566&amp;quot; icohide=&amp;quot;1&amp;quot; icoeffect2=&amp;quot;5409&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что массивы type4min и type4max - связаны.&lt;br /&gt;
&lt;br /&gt;
Как это работает:&lt;br /&gt;
Выпало 3 иконки на поле.&lt;br /&gt;
Для них мы включаем эффект2, сами иконки прячем.&lt;br /&gt;
За каждую иконку начисляем от type4min[3] до type4max[3] суммарных ставок.&lt;br /&gt;
Суммарная ставка была 100 монет. Выпало три иконки. За первую мы начисляем 100, 200 или 300 монет. За вторую и за третью аналогично.&lt;br /&gt;
Поверх эффекта2 будет отрисован и проанимирован счетчик type4text, со значением равным выигрышу за каждую из иконок соответственно.&lt;br /&gt;
При этом счетчик будет смещен на type4dx и type4dy относительно центра иконки (которая совпадает с пересечением диагоналей ячейки).&lt;br /&gt;
&lt;br /&gt;
==Автотест==&lt;br /&gt;
&lt;br /&gt;
Запускается автотест из viewer путём вызова состояния *autospin* объекту слота.&lt;br /&gt;
Дополнительные параметры param - кол-во спинов, которые будут сделаны и param2 - кол-во итераций.&lt;br /&gt;
&lt;br /&gt;
После начала режима создается файл возле options.xml с результатами автотеста, который заполняется по ходу работы.&lt;br /&gt;
&lt;br /&gt;
Файл имеет название id из файла уровней _ кол-во спинов из param _ name из файла уровней _ месяц _ день _ часы _ минуты&lt;br /&gt;
Если на момент запуска новой итерации время не изменилось - идет дозапись в текущий файл.&lt;br /&gt;
&lt;br /&gt;
Внутри csv-файла видим таблицу&lt;br /&gt;
&lt;br /&gt;
{|spin||slot id||lines||line bet||res1before||res1after||win||type||pos1||pos2||pos3||pos4||pos5||bonus_num| - |номер спина||id из файла уровней||сколько линий||какая ставка на линию||баланс до спина||баланс после спина||выигрыш за спин||тип спина r/f обычный/бесплатный||позиция на рельсе1||позиция на рельсе2||позиция на рельсе3||позиция на рельсе4||позиция на рельсе5||множительно бонусный игры, если был|}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8177</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8177"/>
		<updated>2016-06-01T08:29:13Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Дополнительные настройки механик */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные настройки механик==&lt;br /&gt;
&lt;br /&gt;
===Scatter без scatter===&lt;br /&gt;
&lt;br /&gt;
Есть возможность начислять бесплатные спины без использования специальной иконки.&lt;br /&gt;
&lt;br /&gt;
Для этого разработана такая методика:&lt;br /&gt;
После совершения подряд MIN спинов - после каждого последующего спина до MAX есть вероятность P начислить игроку N бесплатных спинов.&lt;br /&gt;
Если номер спина в последовательности спинов превысил MAX, то бесплатные спины начисляются с вероятностью P=1.&lt;br /&gt;
&lt;br /&gt;
При этом указываем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
spinspreemin=&amp;quot;16&amp;quot; spinspreemax=&amp;quot;66&amp;quot; addscatterp=&amp;quot;0.03&amp;quot; addscattermin=&amp;quot;7&amp;quot; addscattermax=&amp;quot;9&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что начиная с 16-го спина по 66-й включительно с вероятностью 3% будет начислено от 7 до 9ти бесплатных спинов (7,8 или 9 равновероятно).&lt;br /&gt;
&lt;br /&gt;
При чем во время самих бесплатных спинов очередь продолжается, но так как 16&amp;gt;7, то выпасть дополнительные спины во время бесплатных не могут.&lt;br /&gt;
&lt;br /&gt;
Перед выходом из слота ОБЯЗАТЕЛЬНО очищаем очередь путём вызова объекту состояния *clear_spree*.&lt;br /&gt;
&lt;br /&gt;
Частота выпадения бесплатных спинов и регулировка отдачи с их помощью можно осуществить изменяя параметры addscatterp и spinspreemin/spinspreemax.&lt;br /&gt;
&lt;br /&gt;
===Линии или пути===&lt;br /&gt;
&lt;br /&gt;
Часто можно встретить вместо привычных линий так называемые &amp;quot;пути&amp;quot; или &amp;quot;ways&amp;quot;. И их почему-то огромное кол-во, в сравнении с линиями.&lt;br /&gt;
243 ways на слоте с тремя рядами и пятью барабанами. Это означает то, что мы играем сразу на все возможные линии, которых всего может быть 3^5=243. Таким же образом в слоте 4x5 всего 1024 пути.&lt;br /&gt;
&lt;br /&gt;
При этом ставка на линию чаще всего преобразуется в абсолютно аналогичный &amp;quot;множитель&amp;quot;, а кол-во линий (хоть и будет называться coins) - фиксированная величина. Т.е для самой математики подсчета суммарной ставки - ничего не поменялось. Выплата так же будет зависеть от &amp;quot;множителя&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
При этом сам выигрыш можно считать как наличие иконки определенного типа последовательно на рельсах без пропусков.&lt;br /&gt;
&lt;br /&gt;
Пример: иконка1 встретилась на 1-й, 2-й и 3-ей рельсе по одной на каждой. Иконка1 участвовала в построении выигрышной цепочки длинной 3 иконки.&lt;br /&gt;
&lt;br /&gt;
У объекта в GData можно найти параметр linespath=0 или 1. Удобно ориентироваться по нему для изменений в UI, к примеру.&lt;br /&gt;
&lt;br /&gt;
===Превращение в wild при соседях===&lt;br /&gt;
&lt;br /&gt;
Механика, позволяющая наделить обычную иконку св-вами wild при особых условиях.&lt;br /&gt;
Условия:&lt;br /&gt;
Режим бесплатных спинов активен.&lt;br /&gt;
На соседних рельсах попали иконки, у которых параметр transwild=1.&lt;br /&gt;
[[Файл:mermaid_free_spins_wild.png|200px|thumb|left]]&lt;br /&gt;
При выполнении условий у иконок включается специальный эффект, который может являться машиной, которая запускает видео/фреймовую анимацию.&lt;br /&gt;
&lt;br /&gt;
===Тип иконки 4===&lt;br /&gt;
&lt;br /&gt;
Данный тип иконки нужен для начисления ресурса1 за выпадение N иконок на поле.&lt;br /&gt;
Т.е условия запуска механики такие же, как и для иконки scatter.&lt;br /&gt;
Но в данном случае начисляются не бесплатные спины, а ресурс.&lt;br /&gt;
&lt;br /&gt;
А вот и пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;slotico icores=&amp;quot;1080&amp;quot; icotype=&amp;quot;4&amp;quot; icowin=&amp;quot;0,0,0,0,0,0&amp;quot; type4val=&amp;quot;3&amp;quot; type4min=&amp;quot;0,0,0,1,5,10&amp;quot; type4max=&amp;quot;0,0,0,3,15,20&amp;quot; type4text=&amp;quot;2383&amp;quot; type4dx=&amp;quot;-5&amp;quot; type4dy=&amp;quot;45&amp;quot; icoobj=&amp;quot;3566&amp;quot; icohide=&amp;quot;1&amp;quot; icoeffect2=&amp;quot;5409&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что массивы type4min и type4max - связаны.&lt;br /&gt;
&lt;br /&gt;
Как это работает:&lt;br /&gt;
Выпало 3 иконки на поле.&lt;br /&gt;
Для них мы включаем эффект2, сами иконки прячем.&lt;br /&gt;
За каждую иконку начисляем от type4min[3] до type4max[3] суммарных ставок.&lt;br /&gt;
Суммарная ставка была 100 монет. Выпало три иконки. За первую мы начисляем 100, 200 или 300 монет. За вторую и за третью аналогично.&lt;br /&gt;
Поверх эффекта2 будет отрисован и проанимирован счетчик type4text, со значением равным выигрышу за каждую из иконок соответственно.&lt;br /&gt;
При этом счетчик будет смещен на type4dx и type4dy относительно центра иконки (которая совпадает с пересечением диагоналей ячейки).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8176</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8176"/>
		<updated>2016-06-01T08:18:18Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные настройки механик==&lt;br /&gt;
&lt;br /&gt;
===Scatter без scatter===&lt;br /&gt;
&lt;br /&gt;
Есть возможность начислять бесплатные спины без использования специальной иконки.&lt;br /&gt;
&lt;br /&gt;
Для этого разработана такая методика:&lt;br /&gt;
После совершения подряд MIN спинов - после каждого последующего спина до MAX есть вероятность P начислить игроку N бесплатных спинов.&lt;br /&gt;
Если номер спина в последовательности спинов превысил MAX, то бесплатные спины начисляются с вероятностью P=1.&lt;br /&gt;
&lt;br /&gt;
При этом указываем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
spinspreemin=&amp;quot;16&amp;quot; spinspreemax=&amp;quot;66&amp;quot; addscatterp=&amp;quot;0.03&amp;quot; addscattermin=&amp;quot;7&amp;quot; addscattermax=&amp;quot;9&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что начиная с 16-го спина по 66-й включительно с вероятностью 3% будет начислено от 7 до 9ти бесплатных спинов (7,8 или 9 равновероятно).&lt;br /&gt;
&lt;br /&gt;
При чем во время самих бесплатных спинов очередь продолжается, но так как 16&amp;gt;7, то выпасть дополнительные спины во время бесплатных не могут.&lt;br /&gt;
&lt;br /&gt;
Перед выходом из слота ОБЯЗАТЕЛЬНО очищаем очередь путём вызова объекту состояния *clear_spree*.&lt;br /&gt;
&lt;br /&gt;
Частота выпадения бесплатных спинов и регулировка отдачи с их помощью можно осуществить изменяя параметры addscatterp и spinspreemin/spinspreemax.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Линии или пути===&lt;br /&gt;
&lt;br /&gt;
Часто можно встретить вместо привычных линий так называемые &amp;quot;пути&amp;quot; или &amp;quot;ways&amp;quot;. И их почему-то огромное кол-во, в сравнении с линиями.&lt;br /&gt;
243 ways на слоте с тремя рядами и пятью барабанами. Это означает то, что мы играем сразу на все возможные линии, которых всего может быть 3^5=243. Таким же образом в слоте 4x5 всего 1024 пути.&lt;br /&gt;
&lt;br /&gt;
При этом ставка на линию чаще всего преобразуется в абсолютно аналогичный &amp;quot;множитель&amp;quot;, а кол-во линий (хоть и будет называться coins) - фиксированная величина. Т.е для самой математики подсчета суммарной ставки - ничего не поменялось. Выплата так же будет зависеть от &amp;quot;множителя&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
При этом сам выигрыш можно считать как наличие иконки определенного типа последовательно на рельсах без пропусков.&lt;br /&gt;
&lt;br /&gt;
Пример: иконка1 встретилась на 1-й, 2-й и 3-ей рельсе по одной на каждой. Иконка1 участвовала в построении выигрышной цепочки длинной 3 иконки.&lt;br /&gt;
&lt;br /&gt;
У объекта в GData можно найти параметр linespath=0 или 1. Удобно ориентироваться по нему для изменений в UI, к примеру.&lt;br /&gt;
&lt;br /&gt;
===Превращение в wild при соседях===&lt;br /&gt;
&lt;br /&gt;
Механика, позволяющая наделить обычную иконку св-вами wild при особых условиях.&lt;br /&gt;
Условия:&lt;br /&gt;
Режим бесплатных спинов активен.&lt;br /&gt;
На соседних рельсах попали иконки, у которых параметр transwild=1.&lt;br /&gt;
[[Файл:mermaid_free_spins_wild.png]]&lt;br /&gt;
При выполнении условий у иконок включается специальный эффект, который может являться машиной, которая запускает видео/фреймовую анимацию.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8175</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8175"/>
		<updated>2016-06-01T08:17:33Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные настройки механик==&lt;br /&gt;
&lt;br /&gt;
===Scatter без scatter===&lt;br /&gt;
&lt;br /&gt;
Есть возможность начислять бесплатные спины без использования специальной иконки.&lt;br /&gt;
&lt;br /&gt;
Для этого разработана такая методика:&lt;br /&gt;
После совершения подряд MIN спинов - после каждого последующего спина до MAX есть вероятность P начислить игроку N бесплатных спинов.&lt;br /&gt;
Если номер спина в последовательности спинов превысил MAX, то бесплатные спины начисляются с вероятностью P=1.&lt;br /&gt;
&lt;br /&gt;
При этом указываем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
spinspreemin=&amp;quot;16&amp;quot; spinspreemax=&amp;quot;66&amp;quot; addscatterp=&amp;quot;0.03&amp;quot; addscattermin=&amp;quot;7&amp;quot; addscattermax=&amp;quot;9&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что начиная с 16-го спина по 66-й включительно с вероятностью 3% будет начислено от 7 до 9ти бесплатных спинов (7,8 или 9 равновероятно).&lt;br /&gt;
&lt;br /&gt;
При чем во время самих бесплатных спинов очередь продолжается, но так как 16&amp;gt;7, то выпасть дополнительные спины во время бесплатных не могут.&lt;br /&gt;
&lt;br /&gt;
Перед выходом из слота ОБЯЗАТЕЛЬНО очищаем очередь путём вызова объекту состояния *clear_spree*.&lt;br /&gt;
&lt;br /&gt;
Частота выпадения бесплатных спинов и регулировка отдачи с их помощью можно осуществить изменяя параметры addscatterp и spinspreemin/spinspreemax.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Линии или пути===&lt;br /&gt;
&lt;br /&gt;
Часто можно встретить вместо привычных линий так называемые &amp;quot;пути&amp;quot; или &amp;quot;ways&amp;quot;. И их почему-то огромное кол-во, в сравнении с линиями.&lt;br /&gt;
243 ways на слоте с тремя рядами и пятью барабанами. Это означает то, что мы играем сразу на все возможные линии, которых всего может быть 3^5=243. Таким же образом в слоте 4x5 всего 1024 пути.&lt;br /&gt;
&lt;br /&gt;
При этом ставка на линию чаще всего преобразуется в абсолютно аналогичный &amp;quot;множитель&amp;quot;, а кол-во линий (хоть и будет называться coins) - фиксированная величина. Т.е для самой математики подсчета суммарной ставки - ничего не поменялось. Выплата так же будет зависеть от &amp;quot;множителя&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
При этом сам выигрыш можно считать как наличие иконки определенного типа последовательно на рельсах без пропусков.&lt;br /&gt;
&lt;br /&gt;
Пример: иконка1 встретилась на 1-й, 2-й и 3-ей рельсе по одной на каждой. Иконка1 участвовала в построении выигрышной цепочки длинной 3 иконки.&lt;br /&gt;
&lt;br /&gt;
У объекта в GData можно найти параметр linespath=0 или 1. Удобно ориентироваться по нему для изменений в UI, к примеру.&lt;br /&gt;
&lt;br /&gt;
===Превращение в wild при соседях===&lt;br /&gt;
&lt;br /&gt;
Механика, позволяющая наделить обычную иконку св-вами wild при особых условиях.&lt;br /&gt;
Условия:&lt;br /&gt;
Режим бесплатных спинов активен.&lt;br /&gt;
На соседних рельсах попали иконки, у которых параметр transwild=1.&lt;br /&gt;
[[mermaid_free_spins_wild.png]]&lt;br /&gt;
При выполнении условий у иконок включается специальный эффект, который может являться машиной, которая запускает видео/фреймовую анимацию.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Mermaid_free_spins_wild.png&amp;diff=8174</id>
		<title>Файл:Mermaid free spins wild.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Mermaid_free_spins_wild.png&amp;diff=8174"/>
		<updated>2016-06-01T08:15:19Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8173</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8173"/>
		<updated>2016-06-01T06:30:44Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&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;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8172</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8172"/>
		<updated>2016-06-01T06:27:07Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&lt;br /&gt;
** '''clear_spree''' - очищаем очередь спинов для scatter без scatter&lt;br /&gt;
** '''clear_stats''' - очищаем параметры для статистики.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8171</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8171"/>
		<updated>2016-05-31T08:35:58Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - были бонусные ячейки''' - bonus_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - есть свободные спины''' - scatter_num стал больше нуля, что означает, что выпали бонусные иконки. Запускается обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - конец фри спинов''' - scatter_num стал равен нулю. Не вызывается после паузы бесплатных спинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - недостаточно денег''' - при попытке начать спин: баланс игрока строго меньше суммарной ставки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - переход из alllines в nextline''' - если время в параметре больше нуля, то по истечении этого времени вызовется этот обработчик. Если время равно нулю - вызовется без задержки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало вращения''' - после успешного начала спина вызываем обработчик.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - начало автоспинов''' - после успешного начала автоспинов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - досрочное окончание автоспинов''' - автоспины были оборваны игроком.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - окончание автоспинов''' - указанное кол-во автоспинов закончилось.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - копилка заполнилась''' - копилка заполнилась.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''замена графики''' - объекты и графика для них в зависимости от режимов (обычный, бесплатные спины, интрига).&lt;br /&gt;
*'''объект''' - id объекта&lt;br /&gt;
*'''нормальная''' - графика обычного спина&lt;br /&gt;
*'''фриспины''' - графика бесплатного спина&lt;br /&gt;
*'''рельса интриги''' - порядковый номер подложки рельсы, начиная с самого левого барабана.&lt;br /&gt;
*''интрига'''' - графика режима &amp;quot;интрига&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''фриспины за расклад''' - если на поле выпали иконки, где каждая &amp;quot;строка&amp;quot; слота совпадает с шаблоном - начисляем бесплатные спины.&lt;br /&gt;
*'''расклад для строки''' - массив целых через запятую, обозначающих первую строку. Длина массива == кол-во барабанов.&lt;br /&gt;
*'''число фриспинов''' - кол-во бесплатных спинов, которое начислим за выпадение такой комбинации&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''''' - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8170</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8170"/>
		<updated>2016-05-31T08:18:51Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter, 4- бонусная иконка, начисляет деньги. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины. 4 - иконка, при выпадении N иконок и более начисляется награда за каждую иконку в размере множитель*суммарная ставка. Множитель пересчитывается для каждой иконки отдельно.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&lt;br /&gt;
** '''не рисовать следующих''' (''icoskip'') - если хотим отрисовать длинную иконку (высота больше одной иконки, к примеру - равна высоты всей рельсы), то указываем сколько иконок не рисовать после текущей (в рельсе это выглядит как 222), при этом точку пивота у графики следует разместить в верхней трети.&lt;br /&gt;
** '''объект иконка''' (''icoobj'') - объект, в который поместим графику иконки из поля icores. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''объект текст''' (''icotxt'') - объект, в который поместим значения выплат из поля icowin. Нужна для оформления таблицы выплат.&lt;br /&gt;
** '''цвет 1''' (''icocolor1'') - цвет, который будем использовать в текстовом объекте. &lt;br /&gt;
** '''цвет 2''' (''icocolor2'') - &amp;lt;цвет 1&amp;gt;5 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[5]|&amp;lt;/цвет 2&amp;gt;&amp;lt;цвет 1&amp;gt;4 - &amp;lt;/цвет 1&amp;gt;&amp;lt;цвет 2&amp;gt;icowin[4]|&amp;lt;/цвет 2&amp;gt; и так далее.&lt;br /&gt;
** '''превращаться в вайлд при соседях''' (''transwild'') - Для слота &amp;quot;Русалки&amp;quot;. Превращаться в вайлд при соседях, у которых этот параметр так же равен единицы. Только при активных фриспинах. При срабатывании включаем эффект превращения.&lt;br /&gt;
** '''эффект превращения''' (''transwildeffect'') - эффект превращения&lt;br /&gt;
** '''направление''' (''dir'') - 0-слева направо, 1-справа налево, 2-обе. Эта настройка нужна для того, чтобы не у всех линий менять направление подсчета выигрыша, а только у конкретной иконки (к примеру у дорогой, которая очень редко встречается).&lt;br /&gt;
** '''тип 4. кол-во''' (''type4val'') - только для типа 4. Сколько иконок типа должно появиться, чтобы сработал эффект, срабатывает если больше 0 хотя бы один элемент из массива.&lt;br /&gt;
** '''тип 4. мин''' (''type4min'') - массив целых через запятую, означает нижний предел множителя.&lt;br /&gt;
** '''тип 4. макс''' (''type4max'') - массив целых через запятую, означает верхний предел множителя.&lt;br /&gt;
** '''тип 4. текст''' (''type4text'') - id объекта, счетчик. Сумма выигрыша помещается в значение счетчика, после чего он анимируется.&lt;br /&gt;
** '''тип 4. dx''' (''type4dx'') - смещение счетчика относительно пивота иконки по x&lt;br /&gt;
** '''тип 4. dy''' (''type4dy'') - смещение счетчика относительно пивота иконки по у&lt;br /&gt;
** '''звук''' (''icosnd'') - звук иконки. Срабатывает после выигрыша иконки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8169</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8169"/>
		<updated>2016-05-31T07:03:27Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 2 - Bonus, 1 - Wild, 3 - Scatter. 0 - обычная иконка. 2 - при выпадении N и больше иконок на барабанах (учитывая настройку выше) - вызывается обработчик. 1 - бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины.&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
** '''прятать основную картинку при эффекте''' (''icohide'') - прятать ли ресурс иконки при включении основного эффекта ячейки или дополнительного.&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8168</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8168"/>
		<updated>2016-05-30T14:13:48Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
&lt;br /&gt;
*'''фри спины''' - &lt;br /&gt;
** '''рельса 1-5''' (''r1s-r5s'') - дополнительные рельсы на бесплатные спины. Заменяют основные.&lt;br /&gt;
** '''осталось спинов''' (''cntFreeSpins'') - сколько осталось спинов из начисленных за выпавшие иконки. Счетчик, который заполняется объектом и перисовывается в начале каждого спина.&lt;br /&gt;
** '''выигрыш''' (''cntFreeSpinsWin'') - сумма всех заработанных монет за выпавшие бесплатные спины.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''freeWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''freeLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
*'''авто спины''' - &lt;br /&gt;
** '''осталось спинов''' (''cntAutoSpins'') - сколько осталось спинов после запуска режима. Счетчик, который заполняется объектом и перерисовывается в начале каждого спина.&lt;br /&gt;
** '''задержка перед след. спином выигр''' (''autoWinDelay'') - задержка перед началом следующего спина, если был выигрыш.&lt;br /&gt;
** '''задержка перед след. спином проигр''' (''autoLooseDelay'') - задержка перед началом следующего спина, если был проигрыш.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.&lt;br /&gt;
0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8167</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8167"/>
		<updated>2016-05-30T13:44:11Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''задержка''' (''wildexp_t'') - &lt;br /&gt;
* '''эффект вниз на 2''' (''wildexp_down2'') - машина, которая клонируется для эффекта и помещается в ячейку, которая сработала. Может запускать фреймовую анимацию или видео. Видео должно расширяться вниз.&lt;br /&gt;
* '''эффект вверх и вниз''' (''wildexp_updown'') - Видео должно расширяться вниз и вверх на высоту одной иконки.&lt;br /&gt;
* '''эффект вверх на 2''' (''wildexp_up2'') - Видео должно расширяться вверх на высоту двух иконок.&lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана. Чем больше эта погрешность - тем большее влияние будет давать значение числа симуляций перед окончанием спина. Влияет на разброс места остановки барабана. Не должна давать разброс больше 1-2 иконок.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.	&lt;br /&gt;
** барабан вращается (''sndspin2'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin3'') - барабан вращается.&lt;br /&gt;
** барабан вращается (''sndspin4'') - барабан вращается.&lt;br /&gt;
Как можно заметить - тут аж 4 звука вращения барабанов. Если указаны все или больше двух, то порядок воспроизведения такой:&lt;br /&gt;
Первый спин - первый звук. Второй спин - звук два и так далее зациклено. Если объект был проинициализирован или были бесплатные спины - очередь сбрасывается. Параметры 2-4 являются НЕОБЯЗАТЕЛЬНЫМИ.&lt;br /&gt;
** барабан фриспины (''sndspinf'') - барабан вращается (звук вращения во время бесплатных спинов).				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.&lt;br /&gt;
** остановка барабана (''sndstop2'') - остановка барабана 2.	&lt;br /&gt;
** остановка барабана (''sndstop3'') - остановка барабана 3.&lt;br /&gt;
** остановка барабана (''sndstop4'') - остановка барабана 4.	&lt;br /&gt;
** остановка барабана (''sndstop5'') - остановка барабана 5.		&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
*'''пять в ряд''' - особый случай,когда длина цепочки равняется числу барабанов. Пример: пять иконок на линии при размере слота 5 на 3.&lt;br /&gt;
** '''объект для картинки''' (''line5_obji'') - Объект, ресурс которого будет заменен на ресурс иконки, которая участвовала в таком событии. Если таких иконок было несколько - выберется самая дорогая из них, учитывая таблицу выплат.&lt;br /&gt;
** '''объект для состояния''' (''line5_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''line5_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''big win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, но меньше чем у mega win, то вызовется этот обработчик. Пример big_value = 5 , mega_value = 25. Если win/total bet &amp;gt;= 5 и &amp;lt;=25, то big win. Если больше 25 - mega win.&lt;br /&gt;
** '''значение''' (''big_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''big_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''big_objs'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''big_st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''mega win''' - если суммарный выигрыш и суммарная ставка относятся как значение из следующего поля и больше, то вызовется этот обработчик.&lt;br /&gt;
** '''значение''' (''mega_value'') - значение отношения.&lt;br /&gt;
** '''каунтер''' (''mega_obji'') - счетчик, куда будет помещено значение выигрыша и он будет проанимирован.&lt;br /&gt;
** '''объект для состояния''' (''mega_obji'') - объект для состояния&lt;br /&gt;
** '''состояние''' (''objid'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
*'''scatter без scatter''' - включение режима бесплатных спинов БЕЗ иконки типа scatter.&lt;br /&gt;
Как работает:&lt;br /&gt;
Игрок делает спины подряд, не считаем прерыванием цепочки включением дополнительных механик.&lt;br /&gt;
Если номер текущего спина в серии больше или равен spinspreemin - каждый спин с вероятностью addscatterp можно получить от addscattermin до addscattermax спинов (равновероятно).&lt;br /&gt;
Если номер спина превысил spinspreemax - включаем с вероятностью == 1. Т.е в любом случае.&lt;br /&gt;
** '''спинов подряд min''' (''spinspreemin'') - Мин. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''спинов подряд max''' (''spinspreemax'') - Мaкс. число спинов подряд для дополнительных скаттеров&lt;br /&gt;
** '''вероятность''' (''addscatterp'') - Вероятность того, что дадим фриспины&lt;br /&gt;
** '''дать скаттеров min''' (''addscattermin'') - Мин. число скаттеров, которое дадим.&lt;br /&gt;
** '''дать скаттеров max''' (''addscattermax'') - Максимальное число.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.&lt;br /&gt;
0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8166</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8166"/>
		<updated>2016-05-30T12:42:01Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями&lt;br /&gt;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
&lt;br /&gt;
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей. &lt;br /&gt;
* '''''' ('''') - &lt;br /&gt;
* '''''' ('''') - &lt;br /&gt;
* '''''' ('''') - &lt;br /&gt;
* '''''' ('''') - &lt;br /&gt;
&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.				&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.&lt;br /&gt;
0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8161</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=8161"/>
		<updated>2016-05-23T13:32:17Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Общие параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства.&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
&lt;br /&gt;
* '''копилка''':&lt;br /&gt;
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)&lt;br /&gt;
** '''процент min''' (''mboxMin'') - процент min.&lt;br /&gt;
** '''процент max''' (''mboxMax'') - процент max.&lt;br /&gt;
** '''значения предела''' (''mboxValues'') - Значения предела&lt;br /&gt;
** '''уровни предела''' (''mboxLevels'') - Уровни предела&lt;br /&gt;
&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.				&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.&lt;br /&gt;
0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Flurry&amp;diff=7622</id>
		<title>Flurry</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Flurry&amp;diff=7622"/>
		<updated>2016-02-11T14:28:55Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Object|Объект]] '''flurry''' используется для сбора статистики об использовании приложения. &lt;br /&gt;
&lt;br /&gt;
По умолчанию записывает такие параметры как время сессии, количество сессий, устройство, версия ОС, количество пользователей, и представляет эти данные в виде графиков и таблиц. Также можно записать какие кнопки нажимались, время между нажатиями определённых кнопок. Для сбора общих данных достаточно добавить в соответствующем виде flurry-id приложения в app.icf или в viewer.xml соответствующей платформы перед сборкой. Для сбора данных о нажатиях кнопок и др. необходимо кроме добавления flurry-id приложения в app.icf или в viewer.xml соответствующей платформы, также добавить в проект объект типа flurry и передавать ему интересующие события.&lt;br /&gt;
&lt;br /&gt;
Общая статистика на сервисе Flurry выглядит примерно так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Flurry sum stat.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Параметры и состояния объекта flurry==&lt;br /&gt;
&lt;br /&gt;
===Параметры объекта flurry===&lt;br /&gt;
&lt;br /&gt;
Чтобы в игре установить сбор статистики нажатий определённых кнопок необходимо в редакторе сцен добавить объект Flurry (желательно на глобальный экран) и передать ему определённые параметры.&lt;br /&gt;
У объекта flurry есть 3 параметра которые можно задавать. Это:&lt;br /&gt;
* '''event''' - задаёт имя события&lt;br /&gt;
* '''param_name''' - задаёт имя параметра&lt;br /&gt;
* '''param_value''' - задаёт значение параметра&lt;br /&gt;
Для корректной работы сбора статистики с нажатия кнопки все три поля должны быть обязательно заполнены.&lt;br /&gt;
Рассмотрим принцип формирования названий событий на примере кнопки выбора пака в пазлах.&lt;br /&gt;
&lt;br /&gt;
Параметр '''''event''''' должен обозначить общее название группы событий, на пример ''Pack_select'';&lt;br /&gt;
&lt;br /&gt;
Параметр '''''param_name''''' должен указывать на конкретный параметр который будет записываться, в нашем случае его можно назвать ''pack_name'';&lt;br /&gt;
&lt;br /&gt;
Параметр '''''param_value''''' задаёт конкретное значение параметра, на пример ''pack_1''.&lt;br /&gt;
&lt;br /&gt;
===Состояния объекта flurry===&lt;br /&gt;
&lt;br /&gt;
* '''event''' - отправляет накопленные данные&lt;br /&gt;
&lt;br /&gt;
В самом объекте flurry можно задать начальные параметры, но при изменении его параметров те которые были - изменятся, а если до изменения параметров перевести объект flurry в состояние event, то на сервер статистики отправятся значения по-умолчанию, которые были записаны.&lt;br /&gt;
&lt;br /&gt;
* '''send_log''' - отправляет файл walkthrough.log на сервер&lt;br /&gt;
&lt;br /&gt;
В файл walkthrough.log флури пишет прохождение по игре: каждая строка лога содержит значения ключевых параметров (опыт, монеты, кристаллы, последний выполненный таск и т.д.) на момент записи, запись новой строки вызывается при наступлении различных событий (повышение уровня, начисление ресурса, выполнение задния и т.д.)&lt;br /&gt;
&lt;br /&gt;
Внимание!!! В проекте, собранном без дебага, лог не пишется. Для логирования прохождения без дебага нужно в app.icf в группе Flurry указать log_walkthrough = 1 (это касается файла walkthrough.log). С дебагом будет логироваться вне зависимости от этого.&lt;br /&gt;
&lt;br /&gt;
==Пример применения объекта flurry==&lt;br /&gt;
&lt;br /&gt;
Пример того как кнопка отправляет на сервер информацию о том, что она была нажата:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Flurry button.jpg]]&lt;br /&gt;
&lt;br /&gt;
В данном случае кнопка записывает событие, название параметра, значение параметра, и сразу отправляет на сервер статистики.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Настройки приложения для отправки статистики==&lt;br /&gt;
&lt;br /&gt;
'''Для отправки статистики также необходимо добавить flurry-id в app.icf или в viewer.xml соответствующей платформы.'''&lt;br /&gt;
Т.к. нагляднее выглядит статистика отдельно для платформы ios и отдельно для android, а также поскольку сервис предоставляет разные flurry-sdk для каждой из платформ, то flurry-id лучше всего вставлять в viewer.xml соответствующей платформы.&lt;br /&gt;
&lt;br /&gt;
В app.icf необходимо добавить строки:&lt;br /&gt;
&lt;br /&gt;
'''''[Flurry]'''''&lt;br /&gt;
&lt;br /&gt;
'''''game_id=&amp;quot;здесь указывается flurry-id приложения&amp;quot;'''''&lt;br /&gt;
&lt;br /&gt;
или добавить в viewer.xml соответствующей платформы такую строку после globaltop, если таковой имеется, если его нет, то после настроек банеров (&amp;lt;banners platform_id=&amp;quot;&amp;quot;.../&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;flurry game_id=&amp;quot;здесь указывается flurry-id приложения&amp;quot;/&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
==Реклама==&lt;br /&gt;
&lt;br /&gt;
Управление показом рекламы идёт через объект типа [[Advertisement]].&lt;br /&gt;
&lt;br /&gt;
В объекте [[Advertisement]] в качестве провайдера должен быть указан объект типа flurry и должны быть указаны '''тип''', '''space''', '''size'''.&lt;br /&gt;
&lt;br /&gt;
Также в [[app.icf]] или [[viewer.xml]] должен быть указан flurry id приложения, согласно ему идет работа банерной системы.&lt;br /&gt;
&lt;br /&gt;
Кроме этого в итоговый ''AndroidManifest.xml'' должны быть добавлены следующие строки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;activity android:name=&amp;quot;com.flurry.android.FlurryFullscreenTakeoverActivity&amp;quot;&lt;br /&gt;
    android:configChanges=&amp;quot;keyboard|keyboardHidden|orientation|screenLayout|uiMode&amp;quot; &lt;br /&gt;
    android:hardwareAccelerated=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;/activity&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также должно быть следующее разрешение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
Исходя из значений параметров будет строиться на сервисе Flurry диаграмма по параметру указанному в ''param_name''. К примеру, если для одной кнопки зададим в ''param_value'' значение ''pack_1'', второй кнопке зададим значение ''pack_2'', то в итоге, на странице сервиса в статистике приложения в раздеде Events получим список событий, которые были записаны, если выберем событие и выберем отобразить статистику по параметрам, для наглядности в круговой диаграмме, то увидим круговую диаграмму с долями которые занимает определённый параметр. Доли высчитываются исходя из количества пришедших значений параметров, то есть если 3 раза придёт значение ''pack_1'' и один раз придёт значение ''pack_2'', то доля ''pack_1'' будет 75%, а ''pack_2'' - 25% . &lt;br /&gt;
&lt;br /&gt;
Также можно выбрать из выпадающего списка по каким параметрам(которые указывались в '''''param_name''''' в рамках текущего имени события) необходимо отобразить статистику по значениям параметра.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Flurry ev stat.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Рекомендации Flurry к событиям===&lt;br /&gt;
* Составьте цели и план действий вокруг приложения&lt;br /&gt;
* Если Вы хотите изменять функционал - отслеживайте его&lt;br /&gt;
* Убедитесь что Вы собираете события вокруг навигации и монетизации&lt;br /&gt;
* Имена событий должны легко различаться и поддаваться категоризации&lt;br /&gt;
* Используйте временные события. Flurry автоматически разобьёт их по группам и Вы получите наглядную информацию.&lt;br /&gt;
* Не тратьте много времени на планирование. Вы можете добавить события позже.&lt;br /&gt;
&lt;br /&gt;
[http://support.flurry.com/index.php?title=Analytics/GettingStarted/Events Рекомендации Flurry к параметрам]&lt;br /&gt;
&lt;br /&gt;
=== Отправка объектом Economics Flurry событий и параметров ===&lt;br /&gt;
&lt;br /&gt;
Объект Economicsавтоматически оправляет следующие Flurry события и параметры:&lt;br /&gt;
&lt;br /&gt;
1) При достижении уровня - '''xplevel_ &amp;lt;i&amp;gt; _reached''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*xplevel - Уровень опыта&lt;br /&gt;
*coins_spent_log - Сколько потрачено монет&lt;br /&gt;
*coins_left_log - Сколько осталось монет&lt;br /&gt;
*diams_spent - Сколько потрачено кристаллов&lt;br /&gt;
*diams_left - Сколько осталось кристаллов&lt;br /&gt;
*hints_used - Сколько хинтов использовано&lt;br /&gt;
&lt;br /&gt;
2) При покупке в банке - '''purchase_ok_&amp;lt;item&amp;gt;''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*price_usd - Цена в долларах&lt;br /&gt;
*history - История покупок через запятую&lt;br /&gt;
*total_usd - Сколько суммарно потрачено денег&lt;br /&gt;
*last_location - Последняя локация&lt;br /&gt;
*last_task - Последняя мода&lt;br /&gt;
*was_discount - Была ли скидка&lt;br /&gt;
*from_hidden - 1-из хиддена, 0 -из меню&lt;br /&gt;
*last_anomaly - Последняя аномалия&lt;br /&gt;
&lt;br /&gt;
3) При первой покупке энергии - '''1st_run_buy_energy''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - Цена в кристаллах&lt;br /&gt;
*last_task_open	 - Последняя открытая таска&lt;br /&gt;
*last_loc - Последняя сыгранная локация&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
*energy_left - Сколько осталось энергии&lt;br /&gt;
&lt;br /&gt;
4) При первом использовании энергии - '''1st_run_use_energy''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - Цена в кристаллах&lt;br /&gt;
*last_task_open	 - Последняя открытая таска&lt;br /&gt;
*last_loc - Последняя сыгранная локация&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
*energy_left - Сколько осталось энергии&lt;br /&gt;
&lt;br /&gt;
5) При покупке энергии - '''buy_energy''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_pric - Цена в кристаллах&lt;br /&gt;
*last_task_open - Последняя открытая таска&lt;br /&gt;
*last_loc - Последняя сыгранная локация&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
&lt;br /&gt;
6) При покупке энергии - '''buy_energy''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_pric - Цена в кристаллах&lt;br /&gt;
*last_task_open - Последняя открытая таска&lt;br /&gt;
*last_loc - Последняя сыгранная локация&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
&lt;br /&gt;
7) При покупке хинтов - '''buy_hints''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - цена в кристаллах&lt;br /&gt;
*last_task_open - Последняя открытая таска&lt;br /&gt;
*last_loc - Последняя сыгранная локация&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
*from_game - 1- да, 0 -нет&lt;br /&gt;
*was_anomaly - 1 - да, 0 -нет&lt;br /&gt;
&lt;br /&gt;
8) При покупке амулетов - '''buy_amulets''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - Цена в кристаллах&lt;br /&gt;
*last_task_open - Последняя открытая таска&lt;br /&gt;
*last_loc - Последняя сыгранная локация&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
*from_game - 1- да, 0 -нет&lt;br /&gt;
*from_main_menu - 1 - да, 0 -нет&lt;br /&gt;
&lt;br /&gt;
9) При использовании амулетов - '''use_amulets''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - Цена в кристаллах&lt;br /&gt;
*last_task_open - Последняя открытая таска&lt;br /&gt;
*last_loc - Последняя сыгранная локация&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
*from_game - 1- да, 0 -нет&lt;br /&gt;
*from_main_menu - 1 - да, 0 -нет&lt;br /&gt;
&lt;br /&gt;
10) При покупке чарджеров - '''buy_chargers''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - Цена в кристаллах&lt;br /&gt;
*coins_price - Цена в монетках&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
&lt;br /&gt;
11) При покупке доступов к локациям - '''buy_keys''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - Цена в кристаллах&lt;br /&gt;
*coins_price - Цена в монетках&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
&lt;br /&gt;
12) При покупке ингридиентов для крафта - ''' buy_Ingridients''' (buy_parts):&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - Цена в кристаллах&lt;br /&gt;
*coins_price - Цена в монетках&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
&lt;br /&gt;
13) При покупке ингридиентов для крафта - ''' buy_Ingridients''':&lt;br /&gt;
*t_log_play - Время логарифмическое игровое&lt;br /&gt;
*t_log_cal - Время логарифмическое календарное&lt;br /&gt;
*id - Id предмета&lt;br /&gt;
*diams_price - Цена в кристаллах&lt;br /&gt;
*coins_price - Цена в монетках&lt;br /&gt;
*xp_level - Уровень пользователя&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Перечень source для событий coins_get, energy_get, diams_get===&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;
&lt;br /&gt;
== Ограничения для разных сервисов статистики ==&lt;br /&gt;
* Flurry:&lt;br /&gt;
** 300 уникальных имен событий,&lt;br /&gt;
** 10 параметров,&lt;br /&gt;
на данный момент отображаются топ-500 значений параметров для каждого события&lt;br /&gt;
* FaceBook:&lt;br /&gt;
** 1000 уникальных имен событий,&lt;br /&gt;
** 25 параметров,&lt;br /&gt;
** Максимальное кол-во символов в значении параметра -  100&lt;br /&gt;
* Amazon:&lt;br /&gt;
** 1500 уникальных пользовательских имен событий&lt;br /&gt;
** 40 параметров,&lt;br /&gt;
** Максимальное кол-во символов в названии параметра - 50,&lt;br /&gt;
** Максимальное кол-во символов в значении параметра - 200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;br /&gt;
[[Category:Реклама]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7587</id>
		<title>Wallet</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7587"/>
		<updated>2016-01-29T11:47:06Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Параметры объекта Wallet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Wallet''' необходим для начисления игровой валюты при InApp покупке через объект [[Economics]]&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Wallet ==&lt;br /&gt;
&lt;br /&gt;
*'''economics''' (''economics'') - ссылка на объект economics&lt;br /&gt;
*'''InApp - покупка'''&lt;br /&gt;
**'''Внутренний id покупки''' (''id'') - Внутренний id покупки&lt;br /&gt;
**'''Монеты''' (''res1'') - количество монет&lt;br /&gt;
**'''кристаллы''' (''res2'') - количество кристаллов&lt;br /&gt;
**'''поле в опциях для множителя''' (''multfield'') - ключ в опциях для множителя монет. ВАЖНО: указывать без идентификатора пользователя. Пример: ecomics65.stmult - без p0!&lt;br /&gt;
**'''базовая прибавка к статусу''' (''status'') - прибавка к статусным очкам&lt;br /&gt;
**'''множитель от уровня''' (''multlev'') - применять ли дополнительный множитель от уровня экономики. Т.е значение из &lt;br /&gt;
**'''эталонная цена''' (''price'') - цена in-app в валюте для подсчета потраченных игроком денег.&lt;br /&gt;
([http://wiki.appsalutecreator.com/index.php/Economics#.D0.A1.D1.82.D0.B0.D1.82.D1.83.D1.81 | Что такое статус и с чем его едят]). Базовая - потому что будет множиться на коэф., который зависит от текущего статуса. Коэф. указывается в экономики в соответствующем разделе.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
&lt;br /&gt;
На успех покупки объект Wallet проверяет внутренний id и если находит совпадение в добавляемых свойствах, то начисляет указанное там количество монет и кристаллов.&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
* ''recalc'' - перезаписать значения монет и статусных очков, учитывая множители.&lt;br /&gt;
&lt;br /&gt;
Ключ в опциях:&lt;br /&gt;
&lt;br /&gt;
* ''wallet%d.i%s.res1'' - ключ к значению монет, учитывая множитель.&lt;br /&gt;
* ''wallet%d.i%s.status'' - ключ к значению статусных очков, учитывая множитель.&lt;br /&gt;
* ''%player%.wallet_total_usd'' - ключ к сумме потраченных единиц валюты на in-app.&lt;br /&gt;
 &lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7586</id>
		<title>Wallet</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7586"/>
		<updated>2016-01-29T11:44:18Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Wallet''' необходим для начисления игровой валюты при InApp покупке через объект [[Economics]]&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Wallet ==&lt;br /&gt;
&lt;br /&gt;
*'''economics''' - ссылка на объект economics&lt;br /&gt;
*'''InApp - покупка'''&lt;br /&gt;
**'''Внутренний id покупки''' - Внутренний id покупки&lt;br /&gt;
**'''Монеты''' - количество монет&lt;br /&gt;
**'''кристаллы''' - количество кристаллов&lt;br /&gt;
**'''поле в опциях для множителя''' - ключ в опциях для множителя монет. ВАЖНО: указывать без идентификатора пользователя. Пример: ecomics65.stmult - без p0!&lt;br /&gt;
**'''базовая прибавка к статусу''' - прибавка к статусным очкам ([http://wiki.appsalutecreator.com/index.php/Economics#.D0.A1.D1.82.D0.B0.D1.82.D1.83.D1.81 | Что такое статус и с чем его едят]). Базовая - потому что будет множиться на коэф., который зависит от текущего статуса. Коэф. указывается в экономики в соответствующем разделе.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
&lt;br /&gt;
На успех покупки объект Wallet проверяет внутренний id и если находит совпадение в добавляемых свойствах, то начисляет указанное там количество монет и кристаллов.&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
* ''recalc'' - перезаписать значения монет и статусных очков, учитывая множители.&lt;br /&gt;
&lt;br /&gt;
Ключ в опциях:&lt;br /&gt;
&lt;br /&gt;
* ''wallet%d.i%s.res1'' - ключ к значению монет, учитывая множитель.&lt;br /&gt;
* ''wallet%d.i%s.status'' - ключ к значению статусных очков, учитывая множитель.&lt;br /&gt;
* ''%player%.wallet_total_usd'' - ключ к сумме потраченных единиц валюты на in-app.&lt;br /&gt;
 &lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=7570</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=7570"/>
		<updated>2016-01-12T15:28:13Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).&lt;br /&gt;
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.&lt;br /&gt;
* '''макс. число линий&amp;quot;''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.&lt;br /&gt;
* '''видимых строк''' (''max_rows'') - &amp;quot;высота&amp;quot; слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.&lt;br /&gt;
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)&lt;br /&gt;
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства.&lt;br /&gt;
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.&lt;br /&gt;
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.&lt;br /&gt;
* '''ставки''':&lt;br /&gt;
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.&lt;br /&gt;
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.&lt;br /&gt;
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке.&lt;br /&gt;
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.&lt;br /&gt;
* '''счетчики''':&lt;br /&gt;
** '''число линий''' (''cntLinesNum'') - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.&lt;br /&gt;
** '''ставка на линию''' (''cntLineBet'') - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.&lt;br /&gt;
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.				&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.&lt;br /&gt;
0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=7569</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=7569"/>
		<updated>2016-01-12T15:06:06Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''''' ('''') -  &lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.				&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.&lt;br /&gt;
0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
==состояния==&lt;br /&gt;
* '''Основные''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
** '''add_bet''' - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)&lt;br /&gt;
** '''dec_bet''' - уменьшить ставку&lt;br /&gt;
** '''start_free_spins''' - начать режим бесплатных спинов (если scatter_num &amp;gt; 0).&lt;br /&gt;
** '''pause_free_spins''' - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.&lt;br /&gt;
** '''resume_free_spins''' - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.&lt;br /&gt;
** '''autotest''' - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.&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]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7560</id>
		<title>Использование AppSalute Debugger при отладке</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7560"/>
		<updated>2015-12-17T11:42:39Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;​&amp;lt;strong style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;Что такое debugger?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Debugger (он же отладчик) - это отдельное приложение, которое предназначено для поиска и локализации ошибок в работе приложения.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем он нужен?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Это незаменимый инструмент в процессе отладки, ведь чаще всего нужно:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Узнать текущее значение той или иной переменной.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Выяснить по какому пути выполнялся код.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать, чтобы начать пользоваться отладчиком?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Первоначально следует проверить настройки подключения к viewer, которые хранятся в теге [Game] в app.icf. Этот файл должен находится в корне директории с редактором.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я должен увидеть в этом файле?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Обязательным для работы является наличие двух строк в&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;теге [Game]&amp;lt;/span&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;DebuggerIP=&amp;amp;quot;xxx.xxx.xxx.xxx&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
DebuggerPort=5322&amp;lt;/tt&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Где&amp;amp;nbsp;&amp;lt;var&amp;gt;&amp;lt;span style=&amp;quot;font-family: monospace; line-height: 20.7999992370605px;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;/var&amp;gt; - это IP адресс машины, на которой запущен отладчик. А&amp;amp;nbsp;&amp;lt;var&amp;gt;DebuggerPort&amp;lt;/var&amp;gt; - порт подключения, который остаётся &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;неизменным!&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px; font-family: monospace;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;- может принимать несколько значений:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;127.0.0.1 - т.е localhost, что не позволит использовать отладчик на удалённом устройстве, но прекрасно подойдет, если Вы не знаете IP машины, за которой работаете.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;IP в локальной сети, который можно узнать у системного администратора. Этот является предпочтительным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать в SceneEditor, чтобы запустить отладчик?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы запустить режим отладки нужно нажать на кнопку в верхней панели.&amp;lt;/p&amp;gt; [[Файл:Debug_button.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;После чего откроется окно.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Debug_lock.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А в конткестном меню (вызывается нажатием ПКМ)&amp;amp;nbsp;появятся новые строки.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Context_menu.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Я запустил viewer, что делать дальше?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Нужно подключиться к &amp;amp;quot;серверу&amp;amp;quot;, которым является Ваша рабочая машина с запущенным SceneEditor.exe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Для этого нужно во viewer нажать F6.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Как узнать, что подключение успешно?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В окне отладки появится строка:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;connection successful!&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А за ней периодически будут появляться строки вида:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;viewer pinged&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я могу делать с помощью отладчика?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Первое и самое полезное - установка &amp;lt;strong&amp;gt;breakpoint.&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-left: 80px;&amp;quot;&amp;gt;Breakpoint - это остановка выполнения всей программы при определенных&amp;amp;nbsp;условиях. Пример: машина состояний перешла в другое&amp;amp;nbsp;состояние,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;переменная поменяла своё значение и т.д.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-left: 80px;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Важно помнить, что у нас существует возможность устанавливать breapoint &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;только на машину состояний!&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;​Запросить данные из GData любого объекта из&amp;amp;nbsp;дерева&amp;amp;nbsp;проекта.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Подсветить выбранный объект во viewer.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;​&amp;lt;strong&amp;gt;Как установить breakpoint?&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Для этого в контекстном меню для выбранного объекта следует выбрать пункт Toggle breakpoint on every state.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Что автоматически задает условием остановки переход этой машины состояний в любое состояние.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Чтобы указать конкретное состояние - нужно в поле state вместо звёздочки указать имя состояния.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Вот так это выглядит в окне &amp;amp;nbsp;отладчика.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Файл:Debug_lock.png]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Enabled - быстрое включение/отключение breakpoint. &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;Важно:&amp;lt;/span&amp;gt; отключается при каждом запуске viewer!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Object ID - ID объекта.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;State - состояние, в которое должна попасть машина состояний, чтобы сработала остановка. По-умолчанию - *, что означает, что остановка будет произведена при переходе в любое состояние.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Parameter - параметр, при изменении которого будет произведена остановка.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что происходит во время остановки?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Открывается окно, которое является точной копией окна настройки машины состояний, но недоступное для редактирование.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Дополнительно в первой колонке отображаются все параметры из GData машины.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Существуют два режима отображения в таком окне:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;При переходе в новое состояние столбец с одноименным состоянием не заменяется, а все новые добавляются справа от текущего.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Заменяются столбцы с одноименным состоянием, а все параметры, которые поменяли своё значение - подсвечиваются красным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Переключаться между режимами можно с помощью кнопки:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Файл:Btn_no_rewrite.png]] [[Файл:Btn_rewrite.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем нужна вторая вкладка Logging?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В этой вкладке мы видим окно отображения лога, которое обновляется в режиме реального времени.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Файл:Logging_dock.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;Каждый из столбцов обладает фильтром.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы добавить условие фильтрации нужно выделить стобец и в поле Filter вписать строку, при нахождении которой полная строка появится в окне.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы очистить лог нужно нажать на кнопку Clear Log&amp;lt;/p&amp;gt; [[Файл:Clear_log_btn.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы открыть файл с логами нужно нажать клавишу с тремя точками и выбрать указать путь к нужному файлу в стандартном окне проводника операционной системы.&amp;lt;/p&amp;gt;  [[Файл:Dots_btn.png]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7559</id>
		<title>Использование AppSalute Debugger при отладке</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7559"/>
		<updated>2015-12-17T11:41:50Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;​&amp;lt;strong style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;Что такое debugger?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Debugger (он же отладчик) - это отдельное приложение, которое предназначено для поиска и локализации ошибок в работе приложения.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем он нужен?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Это незаменимый инструмент в процессе отладки, ведь чаще всего нужно:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Узнать текущее значение той или иной переменной.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Выяснить по какому пути выполнялся код.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать, чтобы начать пользоваться отладчиком?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Первоначально следует проверить настройки подключения к viewer, которые хранятся в теге [Game] в app.icf. Этот файл должен находится в корне директории с редактором.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я должен увидеть в этом файле?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Обязательным для работы является наличие двух строк в&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;теге [Game]&amp;lt;/span&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;DebuggerIP=&amp;amp;quot;xxx.xxx.xxx.xxx&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
DebuggerPort=5322&amp;lt;/tt&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Где&amp;amp;nbsp;&amp;lt;var&amp;gt;&amp;lt;span style=&amp;quot;font-family: monospace; line-height: 20.7999992370605px;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;/var&amp;gt; - это IP адресс машины, на которой запущен отладчик. А&amp;amp;nbsp;&amp;lt;var&amp;gt;DebuggerPort&amp;lt;/var&amp;gt; - порт подключения, который остаётся &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;неизменным!&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px; font-family: monospace;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;- может принимать несколько значений:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;127.0.0.1 - т.е localhost, что не позволит использовать отладчик на удалённом устройстве, но прекрасно подойдет, если Вы не знаете IP машины, за которой работаете.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;IP в локальной сети, который можно узнать у системного администратора. Этот является предпочтительным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать в SceneEditor, чтобы запустить отладчик?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы запустить режим отладки нужно нажать на кнопку в верхней панели.&amp;lt;/p&amp;gt; [[Файл:Debug_button.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;После чего откроется окно.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Debug_lock.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А в конткестном меню (вызывается нажатием ПКМ)&amp;amp;nbsp;появятся новые строки.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Context_menu.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Я запустил viewer, что делать дальше?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Нужно подключиться к &amp;amp;quot;серверу&amp;amp;quot;, которым является Ваша рабочая машина с запущенным SceneEditor.exe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Для этого нужно во viewer нажать F6.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Как узнать, что подключение успешно?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В окне отладки появится строка:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;connection successful!&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А за ней периодически будут появляться строки вида:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;viewer pinged&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я могу делать с помощью отладчика?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Первое и самое полезное - установка &amp;lt;strong&amp;gt;breakpoint.&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-left: 80px;&amp;quot;&amp;gt;Breakpoint - это остановка выполнения всей программы при определенных&amp;amp;nbsp;условиях. Пример: машина состояний перешла в другое&amp;amp;nbsp;состояние,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;переменная поменяла своё значение и т.д.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-left: 80px;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Важно помнить, что у нас существует возможность устанавливать breapoint &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;только на машину состояний!&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;​Запросить данные из GData любого объекта из&amp;amp;nbsp;дерева&amp;amp;nbsp;проекта.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Подсветить выбранный объект во viewer.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;​&amp;lt;strong&amp;gt;Как установить breakpoint?&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Для этого в контекстном меню для выбранного объекта следует выбрать пункт Toggle breakpoint on every state.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Что автоматически задает условием остановки переход этой машины состояний в любое состояние.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Чтобы указать конкретное состояние - нужно в поле state вместо звёздочки указать имя состояния.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Вот так это выглядит в окне &amp;amp;nbsp;отладчика.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Файл:Debug_lock.png]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Enabled - быстрое включение/отключение breakpoint. &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;Важно:&amp;lt;/span&amp;gt; отключается при каждом запуске viewer!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Object ID - ID объекта.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;State - состояние, в которое должна попасть машина состояний, чтобы сработала остановка. По-умолчанию - *, что означает, что остановка будет произведена при переходе в любое состояние.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Parameter - параметр, при изменении которого будет произведена остановка.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что происходит во время остановки?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Открывается окно, которое является точной копией окна настройки машины состояний, но недоступное для редактирование.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Дополнительно в первой колонке отображаются все параметры из GData машины.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Существуют два режима отображения в таком окне:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;При переходе в новое состояние столбец с одноименным состоянием не заменяется, а все новые добавляются справа от текущего.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Заменяются столбцы с одноименным состоянием, а все параметры, которые поменяли своё значение - подсвечиваются красным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Переключаться между режимами можно с помощью кнопки:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем нужна вторая вкладка Logging?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В этой вкладке мы видим окно отображения лога, которое обновляется в режиме реального времени.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Файл:Logging_dock.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;Каждый из столбцов обладает фильтром.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы добавить условие фильтрации нужно выделить стобец и в поле Filter вписать строку, при нахождении которой полная строка появится в окне.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы очистить лог нужно нажать на кнопку Clear Log&amp;lt;/p&amp;gt; [[Файл:Clear_log_btn.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы открыть файл с логами нужно нажать клавишу с тремя точками и выбрать указать путь к нужному файлу в стандартном окне проводника операционной системы.&amp;lt;/p&amp;gt; [[Файл:Btn_no_rewrite.png]] [[Файл:Btn_rewrite.png]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Dots_btn.png&amp;diff=7558</id>
		<title>Файл:Dots btn.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Dots_btn.png&amp;diff=7558"/>
		<updated>2015-12-17T11:33:31Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Clear_log_btn.png&amp;diff=7557</id>
		<title>Файл:Clear log btn.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Clear_log_btn.png&amp;diff=7557"/>
		<updated>2015-12-17T11:33:22Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Btn_rewrite.png&amp;diff=7556</id>
		<title>Файл:Btn rewrite.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Btn_rewrite.png&amp;diff=7556"/>
		<updated>2015-12-17T11:33:12Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Btn_no_rewrite.png&amp;diff=7555</id>
		<title>Файл:Btn no rewrite.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Btn_no_rewrite.png&amp;diff=7555"/>
		<updated>2015-12-17T11:33:03Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Debug_button.png&amp;diff=7554</id>
		<title>Файл:Debug button.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Debug_button.png&amp;diff=7554"/>
		<updated>2015-12-17T11:32:50Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Context_menu.png&amp;diff=7553</id>
		<title>Файл:Context menu.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Context_menu.png&amp;diff=7553"/>
		<updated>2015-12-17T11:32:16Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Logging_dock.png&amp;diff=7552</id>
		<title>Файл:Logging dock.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Logging_dock.png&amp;diff=7552"/>
		<updated>2015-12-17T11:31:59Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Debug_lock.png&amp;diff=7551</id>
		<title>Файл:Debug lock.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Debug_lock.png&amp;diff=7551"/>
		<updated>2015-12-17T11:31:42Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7550</id>
		<title>Использование AppSalute Debugger при отладке</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7550"/>
		<updated>2015-12-17T10:32:30Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;​&amp;lt;strong style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;Что такое debugger?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Debugger (он же отладчик) - это отдельное приложение, которое предназначено для поиска и локализации ошибок в работе приложения.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем он нужен?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Это незаменимый инструмент в процессе отладки, ведь чаще всего нужно:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Узнать текущее значение той или иной переменной.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Выяснить по какому пути выполнялся код.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать, чтобы начать пользоваться отладчиком?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Первоначально следует проверить настройки подключения к viewer, которые хранятся в теге [Game] в app.icf. Этот файл должен находится в корне директории с редактором.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я должен увидеть в этом файле?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Обязательным для работы является наличие двух строк в&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;теге [Game]&amp;lt;/span&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;DebuggerIP=&amp;amp;quot;xxx.xxx.xxx.xxx&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
DebuggerPort=5322&amp;lt;/tt&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Где&amp;amp;nbsp;&amp;lt;var&amp;gt;&amp;lt;span style=&amp;quot;font-family: monospace; line-height: 20.7999992370605px;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;/var&amp;gt; - это IP адресс машины, на которой запущен отладчик. А&amp;amp;nbsp;&amp;lt;var&amp;gt;DebuggerPort&amp;lt;/var&amp;gt; - порт подключения, который остаётся &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;неизменным!&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px; font-family: monospace;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;- может принимать несколько значений:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;127.0.0.1 - т.е localhost, что не позволит использовать отладчик на удалённом устройстве, но прекрасно подойдет, если Вы не знаете IP машины, за которой работаете.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;IP в локальной сети, который можно узнать у системного администратора. Этот является предпочтительным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать в SceneEditor, чтобы запустить отладчик?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы запустить режим отладки нужно нажать на кнопку в верхней панели.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;После чего откроется окно.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А в конткестном меню (вызывается нажатием ПКМ)&amp;amp;nbsp;появятся новые строки.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Я запустил viewer, что делать дальше?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Нужно подключиться к &amp;amp;quot;серверу&amp;amp;quot;, которым является Ваша рабочая машина с запущенным SceneEditor.exe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Для этого нужно во viewer нажать F6.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Как узнать, что подключение успешно?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В окне отладки появится строка:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;connection successful!&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А за ней периодически будут появляться строки вида:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;viewer pinged&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я могу делать с помощью отладчика?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Первое и самое полезное - установка &amp;lt;strong&amp;gt;breakpoint.&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-left: 80px;&amp;quot;&amp;gt;Breakpoint - это остановка выполнения всей программы при определенных&amp;amp;nbsp;условиях. Пример: машина состояний перешла в другое&amp;amp;nbsp;состояние,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;переменная поменяла своё значение и т.д.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-left: 80px;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Важно помнить, что у нас существует возможность устанавливать breapoint &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;только на машину состояний!&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;​Запросить данные из GData любого объекта из&amp;amp;nbsp;дерева&amp;amp;nbsp;проекта.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Подсветить выбранный объект во viewer.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;​&amp;lt;strong&amp;gt;Как установить breakpoint?&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Для этого в контекстном меню для выбранного объекта следует выбрать пункт Toggle breakpoint on every state.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Что автоматически задает условием остановки переход этой машины состояний в любое состояние.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Чтобы указать конкретное состояние - нужно в поле state вместо звёздочки указать имя состояния.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Вот так это выглядит в окне &amp;amp;nbsp;отладчика.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Enabled - быстрое включение/отключение breakpoint. &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;Важно:&amp;lt;/span&amp;gt; отключается при каждом запуске viewer!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Object ID - ID объекта.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;State - состояние, в которое должна попасть машина состояний, чтобы сработала остановка. По-умолчанию - *, что означает, что остановка будет произведена при переходе в любое состояние.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Parameter - параметр, при изменении которого будет произведена остановка.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что происходит во время остановки?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Открывается окно, которое является точной копией окна настройки машины состояний, но недоступное для редактирование.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Дополнительно в первой колонке отображаются все параметры из GData машины.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Существуют два режима отображения в таком окне:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;При переходе в новое состояние столбец с одноименным состоянием не заменяется, а все новые добавляются справа от текущего.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Заменяются столбцы с одноименным состоянием, а все параметры, которые поменяли своё значение - подсвечиваются красным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Переключаться между режимами можно с помощью кнопки:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем нужна вторая вкладка Logging?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В этой вкладке мы видим окно отображения лога, которое обновляется в режиме реального времени.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Каждый из столбцов обладает фильтром.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы добавить условие фильтрации нужно выделить стобец и в поле Filter вписать строку, при нахождении которой полная строка появится в окне.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы очистить лог нужно нажать на кнопку Clear Log&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы открыть файл с логами нужно нажать клавишу с тремя точками и выбрать указать путь к нужному файлу в стандартном окне проводника операционной системы.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7549</id>
		<title>Использование AppSalute Debugger при отладке</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7549"/>
		<updated>2015-12-17T10:20:07Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;​&amp;lt;strong style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;Что такое debugger?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Debugger (он же отладчик) - это отдельное приложение, которое предназначено для поиска и локализации ошибок в работе приложения.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем он нужен?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Это незаменимый инструмент в процессе отладки, ведь чаще всего нужно:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Узнать текущее значение той или иной переменной.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Выяснить по какому пути выполнялся код.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать, чтобы начать пользоваться отладчиком?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Первоначально следует проверить настройки подключения к viewer, которые хранятся в теге [Game] в app.icf. Этот файл должен находится в корне директории с редактором.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я должен увидеть в этом файле?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Обязательным для работы является наличие двух строк в&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;теге [Game]&amp;lt;/span&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;DebuggerIP=&amp;amp;quot;xxx.xxx.xxx.xxx&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
DebuggerPort=5322&amp;lt;/tt&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Где&amp;amp;nbsp;&amp;lt;var&amp;gt;&amp;lt;span style=&amp;quot;font-family: monospace; line-height: 20.7999992370605px;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;/var&amp;gt; - это IP адресс машины, на которой запущен отладчик. А&amp;amp;nbsp;&amp;lt;var&amp;gt;DebuggerPort&amp;lt;/var&amp;gt; - порт подключения, который остаётся &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;неизменным!&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px; font-family: monospace;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;- может принимать несколько значений:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;127.0.0.1 - т.е localhost, что не позволит использовать отладчик на удалённом устройстве, но прекрасно подойдет, если Вы не знаете IP машины, за которой работаете.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;IP в локальной сети, который можно узнать у системного администратора. Этот является предпочтительным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать в SceneEditor, чтобы запустить отладчик?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы запустить режим отладки нужно нажать на кнопку в верхней панели.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;После чего откроется окно.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А в конткестном меню (вызывается нажатием ПКМ)&amp;amp;nbsp;появятся новые строки.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Я запустил viewer, что делать дальше?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Нужно подключиться к &amp;amp;quot;серверу&amp;amp;quot;, которым является Ваша рабочая машина с запущенным SceneEditor.exe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Для этого нужно во viewer нажать F6.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Как узнать, что подключение успешно?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В окне отладки появится строка:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;connection successful!&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А за ней периодически будут появляться строки вида:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;viewer pinged&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я могу делать с помощью отладчика?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Первое и самое полезное - установка &amp;lt;strong&amp;gt;breakpoint.&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-left: 80px;&amp;quot;&amp;gt;Breakpoint - это остановка выполнения всей программы при определенных&amp;amp;nbsp;условиях. Пример: машина состояний перешла в другое&amp;amp;nbsp;состояние,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;переменная поменяла своё значение и т.д.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-left: 80px;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Важно помнить, что у нас существует возможность устанавливать breapoint &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;только на машину состояний!&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;​Запросить данные из GData любого объекта из&amp;amp;nbsp;дерева&amp;amp;nbsp;проекта.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Подсветить выбранный объект во viewer.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;​&amp;lt;strong&amp;gt;Как установить breakpoint?&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Для этого в контекстном меню для выбранного объекта следует выбрать пункт Toggle breakpoint on every state.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Что автоматически задает условием остановки переход этой машины состояний в любое состояние.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Чтобы указать конкретное состояние - нужно в поле state вместо звёздочки указать имя состояния.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;Вот так это выглядит в окне &amp;amp;nbsp;отладчика.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Enabled - быстрое включение/отключение breakpoint. &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;Важно:&amp;lt;/span&amp;gt; отключается при каждом запуске viewer!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Object ID - ID объекта.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;State - состояние, в которое должна попасть машина состояний, чтобы сработала остановка. По-умолчанию - *, что означает, что остановка будет произведена при переходе в любое состояние.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;Parameter - параметр, при изменении которого будет произведена остановка.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что происходит во время остановки?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Открывается окно, которое является точной копией окна настройки машины состояний, но недоступное для редактирование.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Дополнительно в первой колонке отображаются все параметры из GData машины.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Существуют два режима отображения в таком окне:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;При переходе в новое состояние столбец с одноименным состоянием не заменяется, а все новые добавляются справа от текущего.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Заменяются столбцы с одноименным состоянием, а все параметры, которые поменяли своё значение - подсвечиваются красным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Переключаться между режимами можно с помощью кнопки:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем нужна вторая вкладка Logging?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В этой вкладке мы видим окно отображения лога, которое обновляется в режиме реального времени.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Каждый из столбцов обладает фильтром.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы добавить условие фильтрации нужно выделить стобец и в поле Filter вписать строку, при нахождении которой полная строка появится в окне.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7548</id>
		<title>Использование AppSalute Debugger при отладке</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7548"/>
		<updated>2015-12-17T09:45:01Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;​&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;​&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что такое debugger?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Debugger (он же отладчик) - это отдельное приложение, которое предназначено для поиска и локализации ошибок в работе приложения.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем он нужен?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Это незаменимый инструмент в процессе отладки, ведь чаще всего нужно:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Узнать текущее значение той или иной переменной.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Выяснить по какому пути выполнялся код.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать, чтобы начать пользоваться отладчиком?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Первоначально следует проверить настройки подключения к viewer, которые хранятся в теге [Game] в app.icf. Этот файл должен находится в корне директории с редактором.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я должен увидеть в этом файле?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Обязательным для работы является наличие двух строк в&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;теге [Game]&amp;lt;/span&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;DebuggerIP=&amp;amp;quot;xxx.xxx.xxx.xxx&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
DebuggerPort=5322&amp;lt;/tt&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Где&amp;amp;nbsp;&amp;lt;var&amp;gt;&amp;lt;span style=&amp;quot;font-family: monospace; line-height: 20.7999992370605px;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;/var&amp;gt; - это IP адресс машины, на которой запущен отладчик. А&amp;amp;nbsp;&amp;lt;var&amp;gt;DebuggerPort&amp;lt;/var&amp;gt; - порт подключения, который остаётся &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;неизменным!&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px; font-family: monospace;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;- может принимать несколько значений:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;127.0.0.1 - т.е localhost, что не позволит использовать отладчик на удалённом устройстве, но прекрасно подойдет, если Вы не знаете IP машины, за которой работаете.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;IP в локальной сети, который можно узнать у системного администратора. Этот является предпочтительным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать в SceneEditor, чтобы запустить отладчик?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы запустить режим отладки нужно нажать на кнопку в верхней панели.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;После чего откроется окно.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А в конткестном меню (вызывается нажатием ПКМ)&amp;amp;nbsp;появятся новые строки.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Я запустил viewer, что делать дальше?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Нужно подключиться к &amp;amp;quot;серверу&amp;amp;quot;, которым является Ваша рабочая машина с запущенным SceneEditor.exe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Для этого нужно во viewer нажать F6.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Как узнать, что подключение успешно?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В окне отладки появится строка:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;connection successful!&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А за ней периодически будут появляться строки вида:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee;border:1px solid #ccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;viewer pinged&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7547</id>
		<title>Использование AppSalute Debugger при отладке</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_AppSalute_Debugger_%D0%BF%D1%80%D0%B8_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5&amp;diff=7547"/>
		<updated>2015-12-17T09:41:43Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: Новая страница: «&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что такое debugger?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;  &amp;lt;p&amp;gt;Debugger (он же отладчик) - это отдельное приложение, которое п…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что такое debugger?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Debugger (он же отладчик) - это отдельное приложение, которое предназначено для поиска и локализации ошибок в работе приложения.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Зачем он нужен?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Это незаменимый инструмент в процессе отладки, ведь чаще всего нужно:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Узнать текущее значение той или иной переменной.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- Выяснить по какому пути выполнялся код.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать, чтобы начать пользоваться отладчиком?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Первоначально следует проверить настройки подключения к viewer, которые хранятся в теге [Game] в app.icf. Этот файл должен находится в корне директории с редактором.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что я должен увидеть в этом файле?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Обязательным для работы является наличие двух строк в&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;теге [Game]&amp;lt;/span&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;tt&amp;gt;DebuggerIP=&amp;amp;quot;xxx.xxx.xxx.xxx&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
DebuggerPort=5322&amp;lt;/tt&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Где&amp;amp;nbsp;&amp;lt;var&amp;gt;&amp;lt;span style=&amp;quot;font-family: monospace; line-height: 20.7999992370605px;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;/var&amp;gt; - это IP адресс машины, на которой запущен отладчик. А&amp;amp;nbsp;&amp;lt;var&amp;gt;DebuggerPort&amp;lt;/var&amp;gt; - порт подключения, который остаётся &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;неизменным!&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px; font-family: monospace;&amp;quot;&amp;gt;DebuggerIP&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 20.7999992370605px;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;- может принимать несколько значений:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;127.0.0.1 - т.е localhost, что не позволит использовать отладчик на удалённом устройстве, но прекрасно подойдет, если Вы не знаете IP машины, за которой работаете.&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;IP в локальной сети, который можно узнать у системного администратора. Этот является предпочтительным.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Что нужно сделать в SceneEditor, чтобы запустить отладчик?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Чтобы запустить режим отладки нужно нажать на кнопку в верхней панели.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;После чего откроется окно.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;А в конткестном меню (вызывается нажатием ПКМ)&amp;amp;nbsp;появятся новые строки.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Я запустил viewer, что делать дальше?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Нужно подключиться к &amp;amp;quot;серверу&amp;amp;quot;, которым является Ваша рабочая машина с запущенным SceneEditor.exe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Для этого нужно во viewer нажать F6.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Как узнать, что подключение успешно?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=7546</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=7546"/>
		<updated>2015-12-17T09:15:00Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Обучение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
== Новости ==&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
== AppSalute Game Сreator ==&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
&lt;br /&gt;
== Обучение ==&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[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;
&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;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&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;
* [[Файл:Kub.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;
&lt;br /&gt;
=== Game mechanic ===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл: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;
* [[Файл: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;
** [[Файл: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;
&lt;br /&gt;
=== Global score ===&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&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;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&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>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7228</id>
		<title>Wallet</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7228"/>
		<updated>2015-11-06T08:59:56Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Wallet''' необходим для начисления игровой валюты при InApp покупке через объект [[Economics]]&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Wallet ==&lt;br /&gt;
&lt;br /&gt;
*'''economics''' - ссылка на объект economics&lt;br /&gt;
*'''InApp - покупка'''&lt;br /&gt;
**'''Внутренний id покупки''' - Внутренний id покупки&lt;br /&gt;
**'''Монеты''' - количество монет&lt;br /&gt;
**'''кристаллы''' - количество кристаллов&lt;br /&gt;
**'''поле в опциях для множителя''' - ключ в опциях для множителя монет. ВАЖНО: указывать без идентификатора пользователя. Пример: ecomics65.stmult - без p0!&lt;br /&gt;
**'''базовая прибавка к статусу''' - прибавка к статусным очкам ([http://wiki.appsalutecreator.com/index.php/Economics#.D0.A1.D1.82.D0.B0.D1.82.D1.83.D1.81 | Что такое статус и с чем его едят]). Базовая - потому что будет множиться на коэф., который зависит от текущего статуса. Коэф. указывается в экономики в соответствующем разделе.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
&lt;br /&gt;
На успех покупки объект Wallet проверяет внутренний id и если находит совпадение в добавляемых свойствах, то начисляет указанное там количество монет и кристаллов.&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
* ''recalc'' - перезаписать значения монет и статусных очков, учитывая множители.&lt;br /&gt;
&lt;br /&gt;
Ключ в опциях:&lt;br /&gt;
&lt;br /&gt;
* ''wallet%d.i%s.res1'' - ключ к значению монет, учитывая множитель.&lt;br /&gt;
* ''wallet%d.i%s.status'' - ключ к значению статусных очков, учитывая множитель.&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7227</id>
		<title>Wallet</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7227"/>
		<updated>2015-11-06T08:54:01Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Параметры объекта Wallet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Wallet''' необходим для начисления игровой валюты при InApp покупке через объект [[Economics]]&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Wallet ==&lt;br /&gt;
&lt;br /&gt;
*'''economics''' - ссылка на объект economics&lt;br /&gt;
*'''InApp - покупка'''&lt;br /&gt;
**'''Внутренний id покупки''' - Внутренний id покупки&lt;br /&gt;
**'''Монеты''' - количество монет&lt;br /&gt;
**'''кристаллы''' - количество кристаллов&lt;br /&gt;
**'''поле в опциях для множителя''' - ключ в опциях для множителя монет. ВАЖНО: указывать без идентификатора пользователя. Пример: ecomics65.stmult - без p0!&lt;br /&gt;
**'''базовая прибавка к статусу''' - прибавка к статусным очкам ([http://wiki.appsalutecreator.com/index.php/Economics#.D0.A1.D1.82.D0.B0.D1.82.D1.83.D1.81| Что такое статус и с чем его едят]). Базовая - потому что будет множиться на коэф., который зависит от текущего статуса. Коэф. указывается в экономики в соответствующем разделе.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
&lt;br /&gt;
На успех покупки объект Wallet проверяет внутренний id и если находит совпадение в добавляемых свойствах, то начисляет указанное там количество монет и кристаллов.&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
* ''recalc'' - перезаписать значения монет и статусных очков, учитывая множители.&lt;br /&gt;
&lt;br /&gt;
Ключ в опциях:&lt;br /&gt;
&lt;br /&gt;
* ''wallet%d.i%s.res1'' - ключ к значению монет, учитывая множитель.&lt;br /&gt;
* ''wallet%d.i%s.status'' - ключ к значению статусных очков, учитывая множитель.&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Economics&amp;diff=7226</id>
		<title>Economics</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Economics&amp;diff=7226"/>
		<updated>2015-11-06T08:52:16Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &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;
&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;
===Основные счетчики===&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;
==Поле 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;
&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.&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 - предмет после покупки не пропадает.&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''' - длительность действия в секундах.&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;
====Создание предметов (крафт)====&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;
&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''' - заставляет экономикс заполнить таблицу коллекций. Лучше вызывать сразу перед открытием окна коллекций или во время его открытия.&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;
*'''failed''' - текущая локация провалена (не дается опыта и прочих наград за прохождение локации). Требует параметра локации.&lt;br /&gt;
*'''item_effect''' -  показать окошко предмета от таймэффекта. В param - номер эффекта.&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;
&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].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;
&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;
[[Category:Game mechanic]]&lt;br /&gt;
[[Category:Economics|*]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7223</id>
		<title>Wallet</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7223"/>
		<updated>2015-11-06T08:34:36Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Wallet''' необходим для начисления игровой валюты при InApp покупке через объект [[Economics]]&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Wallet ==&lt;br /&gt;
&lt;br /&gt;
*'''economics''' - ссылка на объект economics&lt;br /&gt;
*'''InApp - покупка'''&lt;br /&gt;
**'''Внутренний id покупки''' - Внутренний id покупки&lt;br /&gt;
**'''Монеты''' - количество монет&lt;br /&gt;
**'''кристаллы''' - количество кристаллов&lt;br /&gt;
**'''поле в опциях для множителя''' - ключ в опциях для множителя монет. ВАЖНО: указывать без идентификатора пользователя. Пример: ecomics65.stmult - без p0!&lt;br /&gt;
**'''базовая прибавка к статусу''' - прибавка к статусным очкам (тут будет ссылка на статус). Базовая - потому что будет множиться на коэф., который зависит от текущего статуса. Коэф. указывается в экономики в соответствующем разделе.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
&lt;br /&gt;
На успех покупки объект Wallet проверяет внутренний id и если находит совпадение в добавляемых свойствах, то начисляет указанное там количество монет и кристаллов.&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
* ''recalc'' - перезаписать значения монет и статусных очков, учитывая множители.&lt;br /&gt;
&lt;br /&gt;
Ключ в опциях:&lt;br /&gt;
&lt;br /&gt;
* ''wallet%d.i%s.res1'' - ключ к значению монет, учитывая множитель.&lt;br /&gt;
* ''wallet%d.i%s.status'' - ключ к значению статусных очков, учитывая множитель.&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7222</id>
		<title>Wallet</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Wallet&amp;diff=7222"/>
		<updated>2015-11-06T08:04:25Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Параметры объекта Wallet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Wallet''' необходим для начисления игровой валюты при InApp покупке через объект [[Economics]]&lt;br /&gt;
&lt;br /&gt;
== Параметры объекта Wallet ==&lt;br /&gt;
&lt;br /&gt;
*'''economics''' - ссылка на объект economics&lt;br /&gt;
*'''InApp - покупка'''&lt;br /&gt;
**'''Внутренний id покупки''' - Внутренний id покупки&lt;br /&gt;
**'''Монеты''' - количество монет&lt;br /&gt;
**'''кристаллы''' - количество кристаллов&lt;br /&gt;
**'''поле в опциях для множителя''' - ключ в опциях для множителя монет. ВАЖНО: указывать без идентификатора пользователя. Пример: ecomics65.stmult - без p0!&lt;br /&gt;
**'''базовая прибавка к статусу''' - прибавка к статусным очкам (тут будет ссылка на статус). Базовая - потому что будет множиться на коэф., который зависит от текущего статуса. Коэф. указывается в экономики в соответствующем разделе.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
&lt;br /&gt;
На успех покупки объект Wallet проверяет внутренний id и если находит совпадение в добавляемых свойствах, то начисляет указанное там количество монет и кристаллов.&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=7203</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=7203"/>
		<updated>2015-09-21T07:42:56Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Общие параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.&lt;br /&gt;
* '''множитель скорости''' (''speedm'') - Множитель скорости для изменения направления вращения барабана.&lt;br /&gt;
* '''''' ('''') -  &lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа ribbon для эффекта линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''интрига''':&lt;br /&gt;
** '''множитель интриги''' (''speedi'') - Множитель скорости для режима интриги.&lt;br /&gt;
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.&lt;br /&gt;
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.				&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.&lt;br /&gt;
0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
* '''состояния''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''stop_all''' - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Roadmap&amp;diff=7088</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Roadmap&amp;diff=7088"/>
		<updated>2015-06-24T06:33:37Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Что нового в версии 3.60 beta:'''&lt;br /&gt;
&lt;br /&gt;
*Поддержка многопоточности в Android и iOS.&lt;br /&gt;
*Обновление ключевых SDK (Facebook SDK 3.2.0 iOS/Android, MAT SDK 3.4.1 iOS/3.3.3 Android, Amazon Advertisment SDK 6.0.2 iOS/5.1.0 Android, Google Play Services 6587000, Flurry SDK 5.4.46, ChartBoost 5.1.3 iOS/Android и другие).&lt;br /&gt;
*Поддержка актуальной на данный момент версии Marmalade 7.5.1 и ниже.&lt;br /&gt;
*Новые утилиты для SceneEditor (редактирование viewer.xml, подсветка синтаксиса viewer.log, редактор app.icf и т.д)&lt;br /&gt;
*Новые игровые объекты (2048, Majong, Memory, Gemslider, Slotmachine, Words, Collaps, Match10, Dragbox, Pipes, TapTheBubble)&lt;br /&gt;
*Обновлены объекты работы с сервисами статистики и рекламы (AdMob, MobileAppTracking, Amazon Advertisement, ChartBoost, Flurry, Playhaven, Tapjoy).&lt;br /&gt;
*Импорт и отрисовка примитивных 3D моделей.&lt;br /&gt;
*Поддержка свободного видеокодека Theora (возможность воспроизведения видео формата OGV с каналом прозрачности).&lt;br /&gt;
*Поддержка динамической загрузки текстур, а так же формата BPG для многих платформ.&lt;br /&gt;
*Новый функционал экспорта проекта (менеджер паков, менеджер предзарузки графики, возможность использования 4k текстур).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Новая версия 3.0 Бета выход - '''&lt;br /&gt;
*Исправлено сохранение и загрузка проекта в редакторе сцен. &lt;br /&gt;
*Переход с Iw2D  на IwGX. Доступ к созданию эффектов с использованием шейдеров.&lt;br /&gt;
*Добавлен игровой объект с готовыми наборами эффектов (туман, инверсия RGB, вода, блюр) &lt;br /&gt;
*Добавлена функция задания и движения по сплайну&lt;br /&gt;
*Добавлена функция ручного распределения (исключения) графических ресурсов по текстурами. Задание максимального размера текстуры. Оптимизирован алгоритм запаковки графики в текстуры. &lt;br /&gt;
*Упаковка текстур в PVR формат для iOS устройств. Уменьшение занимаемого размера графических файлов на диске в 3 раза, в видео памяти устройства в 8 раз. Уменьшение скрости загрузки в память устройства.&lt;br /&gt;
*Исправлена функция распределение текстур по пакетам для поэтапной подгрузки контента в приложение &lt;br /&gt;
*Добавлены новые игровые объекты&lt;br /&gt;
*Добавлена функция тайлинга графики для интерфейсных элементов.&lt;br /&gt;
*Добавлена система показа рекламы Amazone Ads&lt;br /&gt;
*Добавлены системы привлечения трафика Playhaven, Tapjoy, Facebook, ChartBoost.  &lt;br /&gt;
*Добавлена система трекинга трафика Mobileapptracking&lt;br /&gt;
*Flurry Ads + SDK update поддержка iOS 7.0&lt;br /&gt;
*Добавлена поддержка многоячзычности в редакторе сцен&lt;br /&gt;
*Оптимизировано распределение памяти на устройстве, добавлен вывод отладочной информации.  &lt;br /&gt;
*Уменьшено время загрузки на мобильных устройствах&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Controls&amp;diff=7076</id>
		<title>Controls</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Controls&amp;diff=7076"/>
		<updated>2015-06-03T08:20:45Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Примечание */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Controls''' - [[Object|объект]], используемый для выполнения каких либо действий по нажатию на клавиши клавиатуры или на девайсе.&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
[[Файл:Controls1.png|right]]&lt;br /&gt;
Открывается при нажатии правой кнопки мыши в поле параметров обьекта.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Реакция на нажатие кнопки''' - При нажатии на кнопку перевести обьект в новое состояние.&lt;br /&gt;
*'''кнопка''' - Константа кнопки. (Таблица приведена ниже)&lt;br /&gt;
*'''объект''' - При клике на кнопку перевести объект в состояние из следующего поля.&lt;br /&gt;
*'''состояние''' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Реакция на отпускание кнопки''' - При отпускании кнопки перевести обьект в новое состояние.&lt;br /&gt;
*'''кнопка''' - Константа кнопки. (Таблица приведена ниже)&lt;br /&gt;
*'''объект''' - При клике на кнопку перевести объект в состояние из следующего поля.&lt;br /&gt;
*'''состояние''' - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
== Таблица констант клавиш ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|s3eKeyFirst = 0 || Invalid Key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyEsc = 1 || Esc (cancel)&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyTab = 2, || Tab.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyBackspace = 3, || Backspace.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyEnter = 4, || Enter.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLeftShift = 5, || Left shift key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLeftControl = 6, || Left control key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyReserved = 7, || Reserved, do not use.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeySpace = 8, || Key Space.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLeft = 9, || Key Left.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyUp = 10, || Key Up.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyRight = 11, || Key Right.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyDown = 12, || Key Down.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey0 = 13, || Key 0 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey1 = 14, || Key 1 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey2 = 15, || Key 2 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey3 = 16, || Key 3 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey4 = 17, || Key 4 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey5 = 18, || Key 5 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey6 = 19, || Key 6 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey7 = 20, || Key 7 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey8 = 21, || Key 8 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey9 = 22, || Key 9 on device numberpad and on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyA = 23, || Key A.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyB = 24, || Key B.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyC = 25, || Key C.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyD = 26, || Key D.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyE = 27, || Key E.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF = 28, || Key F.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyG = 29, || Key G.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyH = 30, || Key H.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyI = 31, || Key I.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyJ = 32, || Key J.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyK = 33, || Key K.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyL = 34, || Key L.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyM = 35, || Key M.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyN = 36, || Key N.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyO = 37, || Key O.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyP = 38, || Key P.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyQ = 39, || Key Q.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyR = 40, || Key R.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyS = 41, || Key S.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyT = 42, || Key T.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyU = 43, || Key U.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyV = 44, || Key V.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyW = 45, || Key W.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyX = 46, || Key X.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyY = 47, || Key Y.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyZ = 48, || Key Z.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF1 = 49, || Key F1.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF2 = 50, || Key F2.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF3 = 51, || Key F3.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF4 = 52, || Key F4.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF5 = 53, || Key F5.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF6 = 54, || Key F6.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF7 = 55, || Key F7.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF8 = 56, || Key F8.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF9 = 57, || Key F9.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF10 = 58, || Key F10.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad0 = 59, || Key 0 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad1 = 60, || Key 1 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad2 = 61, || Key 2 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad3 = 62, || Key 3 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad4 = 63, || Key 4 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad5 = 64, || Key 5 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad6 = 65, || Key 6 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad7 = 66, || Key 7 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad8 = 67, || Key 8 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPad9 = 68, || Key 9 on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPadPlus = 69, || Plus key on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPadMinus = 70, || Minus key on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPadEnter = 71, || Enter key on keyboard numberpad.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyRSK = 72, || Right soft key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLSK = 73, || Left soft key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLS = 74, || Left shoulder button.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyRS = 75, || Right shoulder button.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyHash = 76, || Key #.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyStar = 77, || Key * (on keyboard numberpad for normal keyboards).&lt;br /&gt;
|- &lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | Select/ok button&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyOk = 78, || Select key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyCLR = 79, || CLR key.&lt;br /&gt;
|- &lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;| Volume &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyVolUp = 80, || Volume Up key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyVolDown = 81, || Volume Down key.&lt;br /&gt;
|- &lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|Camera &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyCamera = 82, || Camera.&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyMic = 83, || Microphone button.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyFn = 84, || Fn button.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeySym = 85, || Sym button.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;| Call&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAccept = 86, || call accept (talk).&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyEnd = 87, || call end (reject).&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyHomePage = 88, || Home key.&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyButton1 = 89, || Generic Button1.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyButton2 = 90, || Generic Button2.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyButton3 = 91, || Generic Button3.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyButton4 = 92, || Generic Button4.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyButton5 = 93, || Generic Button5.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyButton6 = 94, || Generic Button6.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyButton7 = 95, || Generic Button7.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyButton8 = 96, || Generic Button8.&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF11 = 97, || Key F11.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyF12 = 98, || Key F12.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLeftAlt = 99, || Left Alt key.&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyRightControl = 100, || Right Control Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyRightAlt = 101, || Right Alt Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyRightShift = 102, || Right Shift Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyBacktick = 103, || Backtick '`' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyComma = 104, || Comma ',' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyPeriod = 105, || Period '.' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeySlash = 106, || Forward slash '/' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyBackSlash = 107, || Back slash '\' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeySemicolon = 108, || Semicolon ';' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyApostrophe = 109, || Apostrophe (') Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLeftBracket = 110, || Left Bracket '[' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyRightBracket = 111, || Right Bracket ']' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyEquals = 112, || Equals '=' Key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyMinus = 113, || Minus '-' key on main keyboard.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyCapsLock = 114, || Caps Lock key&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPadPeriod = 115, || Period '.' key on numberpad&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumPadSlash = 116, || Slash '/' key on numberpad&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyNumLock = 117, || NumLock key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyInsert = 118, || Insert key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyHome = 119, || Home key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyPageUp = 120, || Page Up key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyPageDown = 121, || Page Down key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyKbEnd = 122, || End key (on keyboard)&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyDelete = 123, || Delete key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyPause = 124, || Pause key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAt = 125, || At '@' key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyBack = 126, || Back key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyMenu = 127, || Menu key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeySearch = 128, || Search key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKey3DMode = 129, || 3D Mode key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyMyApps = 130, || My Apps key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyPrintScreen = 131, || Print screen key&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyScrollLock = 132, || Scroll lock key&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsGameA = 200, || Abstract Game keyA.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsGameB = 201, || Abstract Game keyB.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsGameC = 202, || Abstract Game keyC.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsGameD = 203, || Abstract Game keyD.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsUp = 204, || Abstract Up.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsDown = 205, || Abstract Down.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsLeft = 206, || Abstract Left.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsRight = 207, || Abstract Right.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsOk = 208, || Abstract Ok.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsASK = 209, || Abstract action softkey.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyAbsBSK = 210, || Abstract backwards softkey.&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|  &lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLeftWindows = 211, || The left Windows key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyRightWindows = 212, || The right Windows key.&lt;br /&gt;
|- &lt;br /&gt;
|s3eKeyLeftBackSlash = 213,|| The left backslash &amp;quot;\&amp;quot; key.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Использование==&lt;br /&gt;
[[Файл:Control_esc.png|right]]&lt;br /&gt;
Нужно создать экземпляр обьекта на экране. Желательно создавать его на глобальном экране, на сцене с опциями, т.к. в таком варианте клавиши будут доступны со всех экранов в проекте.&lt;br /&gt;
&lt;br /&gt;
Далее задаем обьект и состояние в которое должна перейти машина. (На рис. это машина &amp;quot;esc&amp;quot; в состояние &amp;quot;choose&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Также задаем код клавиши, который берем из таблицы ( Код 1 - это клавиша &amp;quot;ESC&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Примечание ===&lt;br /&gt;
В отладочном Viewer клавиша пробел ([[Интерфейс Viewer#Клавиша SPACE|Space]]) отвечает за паузу. Это может вызвать проблемы при отладке нажатия/отпускания Space (s3eKeySpace = 8).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для flash viewer клавишам-стралкам up, down, left, right отвечают коды из поля Abstract.&lt;br /&gt;
&lt;br /&gt;
==Комбинации клавиш==&lt;br /&gt;
&lt;br /&gt;
Ниже показан пример как можно реализовать нажатие комбинации клавиш ( SHIFT +Q )&lt;br /&gt;
&lt;br /&gt;
[[Файл:Combo_cntrl1.png]] [[Файл:Combo_esc.png]]&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/controls.rar Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%B9%D1%88%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=7075</id>
		<title>Простейший вывод версии приложения</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%B9%D1%88%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=7075"/>
		<updated>2015-05-29T08:01:47Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:В каждой игре, Мы выводим информацию об версии приложения. Версии обновляются и нам необходимо выводить актуальную информацию.&lt;br /&gt;
&lt;br /&gt;
== Реализация вывода информации об версии ==&lt;br /&gt;
Для реализации нам понадобиться один текстовый объект и одна запись в текстовой базе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Text base.jpg|right]]&lt;br /&gt;
*'''1)''' В текстовой базе создаём запись с текстом: &amp;lt;&amp;lt; Ver. ver_opt &amp;gt;&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Text obj var.jpg|right]]&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;
&lt;br /&gt;
*2) В нужном нам месте, создаём текстовый объект. В текстовом объекте ставим память ( чтобы в одной игровой сессии у нас единожды вычиталась переменная) и добавляем переменную:&lt;br /&gt;
::___'''''имя''''' - ver_opt ;&lt;br /&gt;
::___'''''объект''''' - '''Options''' ; - Ваши опции;&lt;br /&gt;
::___'''''параметр''''' - Version;&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;
Добавить одну переменную и вписать её название с любым текстом в поле *text*.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ver2fromoptions.png|right]]&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;
[[Файл:Text result.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ver2fromoptions.png&amp;diff=7074</id>
		<title>Файл:Ver2fromoptions.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ver2fromoptions.png&amp;diff=7074"/>
		<updated>2015-05-29T07:59:46Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=7046</id>
		<title>Slotmachine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Slotmachine&amp;diff=7046"/>
		<updated>2015-05-05T06:25:09Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Общие параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
'''Slotmachine''' является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:Slot settings.png|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;
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок&amp;quot;  ''calcsize'': размер графики = 0, размер объекта = 1&lt;br /&gt;
* '''эффект ячейки''' (''effect_obj'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
* '''доп. эффект ячейки''' (''effect_obj2'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)&lt;br /&gt;
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]&lt;br /&gt;
* '''ribbon''' (''ribbon_obj'') - Объект типа ribbon для эффекта линии.&lt;br /&gt;
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.&lt;br /&gt;
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log. &lt;br /&gt;
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу&lt;br /&gt;
* '''параметры вращения''':&lt;br /&gt;
** '''time''' (''spin_t'') - Время вращения левого барабана.&lt;br /&gt;
** '''time step''' (''spin_t_step'') - Время на которое каждый последующий барабан крутится дольше предыдущего. (''таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата'')&lt;br /&gt;
** '''time delta''' - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана.&lt;br /&gt;
** '''vel min''' (''min_vel'') - Минимальная скорость вращения (левый барабан)&lt;br /&gt;
** '''vel max''' (''max_vel'') - Максимальная скорость вращения (правый барабан).&lt;br /&gt;
&lt;br /&gt;
* '''звуки''':		&lt;br /&gt;
** барабан вращается (''sndspin'') - барабан вращается.				&lt;br /&gt;
** запуск барабанов (''sndstart'') - запуск барабанов.				&lt;br /&gt;
** остановка барабана (''sndstop'') - остановка барабана.				&lt;br /&gt;
** выигрыш (''sndwin'') - выигрыш.				&lt;br /&gt;
** проигрыш (''sndfail'') - проигрыш.			&lt;br /&gt;
** особая комбинация (''sndspecial'') - особая комбинация.&lt;br /&gt;
&lt;br /&gt;
* '''иконка''' (''slotico'') - добавляемый параметр с настройками иконки:&lt;br /&gt;
** '''графика''' (''icores'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.&lt;br /&gt;
** '''тип''' (''icotype'') - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.&lt;br /&gt;
0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).&lt;br /&gt;
** '''выигрыш''' (''icowin'') - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.&lt;br /&gt;
** '''эффект ячейки''' (''icoeffect'') - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов&lt;br /&gt;
** '''доп. эффект ячейки''' (''icoeffect2'') -  Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей &amp;quot;эффект ячейки&amp;quot;.&lt;br /&gt;
''если эти поля не заполнены - используются эффекты по умолчанию''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. &lt;br /&gt;
&lt;br /&gt;
0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. &lt;br /&gt;
&lt;br /&gt;
0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Файл:Slot_3.gif|thumb|right|пример расположения линий]]&lt;br /&gt;
&lt;br /&gt;
'''Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.'''&lt;br /&gt;
&lt;br /&gt;
Текущий выигрыш можно узнать считав параметр '''current_win''' у объекта.&lt;br /&gt;
Количество линий, эффект для которых нужно показать отображает параметр '''lines_num'''. Считывается у объекта. Обновляется каждый раз при выполнении '''next_line_effect'''.&lt;br /&gt;
&lt;br /&gt;
* '''состояния''':&lt;br /&gt;
** '''spin''' - запустить барабаны&lt;br /&gt;
** '''add_line''' - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.&lt;br /&gt;
** '''remove_line''' - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.&lt;br /&gt;
''Оба состояния '''add_line''' и '''remove_line''' передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.''&lt;br /&gt;
** '''clear''' - убрать все строки (кроме первой) для проверки выигрыша&lt;br /&gt;
** '''next_line_effect''' - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.&lt;br /&gt;
** '''stop''' -  остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния &lt;br /&gt;
add_line и clear во время вращения барабана - приводит к его остановке.&lt;br /&gt;
** '''shuffle''' - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).&lt;br /&gt;
** '''hide_animation''' - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши. &lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен проигрыш''' - При current_win=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''изменить состояние объекта - бросок завершен выигрыш''' - При current_win!=0 по завершению вращения перевести слушателя в состояние.&lt;br /&gt;
*'''объект'''- объект  - состояние которого меняем.&lt;br /&gt;
*'''состояние'''- состояние - значение нового состояния&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''иконка линии''' - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами. &lt;br /&gt;
*'''объект'''- объект, у которого забираем положение.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''эффект ячейки''' - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.&lt;br /&gt;
*'''клип'''- ресурс. Перетаскивается из базы ресурсов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.&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;
3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
1й спин — выпало 12 линий.&lt;br /&gt;
&lt;br /&gt;
0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1&lt;br /&gt;
&lt;br /&gt;
2й спин — выпало 6 линий.&lt;br /&gt;
&lt;br /&gt;
(начинаем не с 0) 5, 6, 7, 1, 0, 3&lt;br /&gt;
&lt;br /&gt;
где 0..7 — номера анимаций.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Counter&amp;diff=7021</id>
		<title>Counter</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Counter&amp;diff=7021"/>
		<updated>2015-04-20T13:51:59Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Counte.jpg|right]]&lt;br /&gt;
'''Counter''' - [[Object|объект]], который хранит значение целого положительного числа, значение которого могут изменять другие объекты. Используется для визуализации числа сделанных ходов или кликов в игре, количества оставшихся подсказок и т.п. Он может быть скрыт и использоваться для хранения целого числа, необходимого для работы других объектов, например, [[Machine|машинами состояний]].&lt;br /&gt;
== Общие параметры ==&lt;br /&gt;
Смотреть описание [[Object|Object]].&lt;br /&gt;
== Основные параметры ==&lt;br /&gt;
*'''res''' ('' res '') - Графический ресурс для отображения цифр ([[Интерфейс_ResourceEditor|анимированный клип]] из 10 фреймов: первый фрейм - 0, последний 9). Перетаскивается мышкой из редактора ресурсов.&lt;br /&gt;
*'''min''' ('' min '') - Минимальное значение счетчика.&lt;br /&gt;
*'''max''' ('' max'') - Максимальное значение счетчика.&lt;br /&gt;
*'''val''' ('' val '') - Начальное (текущее)  значение счетчика.&lt;br /&gt;
*'''val2''' ('' val2 '') - Дополнительное значение счетчика. Только для время == 2.&lt;br /&gt;
*'''new_val''' ('' new_val '') - Новое значение. Будет записано в val при вызове состояния save.&lt;br /&gt;
*'''шаг (inc, dec)''' ('' dval '') - Величина, на которую изменяется счетчик при inc и dec ( min=1)  ( если меняем значение во вьювере, после задания значения - инитим счётчик).&lt;br /&gt;
*'''dx между цифрами''' ('' digShift '') - Расстояние между цифрами.&lt;br /&gt;
*'''выравнивание''' ('' left ''):&lt;br /&gt;
:'''1''' - число будет выравниваться по левому краю (цифры числа сдвигаются слева направо); &lt;br /&gt;
:'''2''' - будет выравниваться по центру;&lt;br /&gt;
:'''0''' - выравнивание по правому краю.&lt;br /&gt;
*'''время''' ('' time ''):&lt;br /&gt;
:'''1''' - число будет считаться временем в секундах и отображаться в виде mm:ss. Двоеточие должно быть 11 кадром графического ресурса;&lt;br /&gt;
:'''2''' - будет отображаться разделитель и второе значение из поля val2, разделитель также из 11 кадра графики;&lt;br /&gt;
:'''0''' - будет отображенно число без форматирование во временную единицу.&lt;br /&gt;
'''Группа - времена''':&lt;br /&gt;
:'''невидимости''' ('' tmBeg '') - Время невидимости перед открытием;&lt;br /&gt;
:'''открытия''' ('' tmOpn '') - Время проявления от полной прозрачности к прозрачности, заданной в модификаторах;&lt;br /&gt;
:'''закрытия''' ('' tmCls '') - Время исчезания до полной прозрачности;&lt;br /&gt;
:'''изменения''' ('' tmChg '') - Время, за которое счетчик изменяется (inc, dec);&lt;br /&gt;
:'''шага изменения''' ('' tmChgIt '') - Скорость, с которой счетчик изменяется (inc, dec).&lt;br /&gt;
:'''скорость изменения''' ('' velChg'') - Время промежутков, через которые происходит обновление счетчика при изменении (inc, dec).&lt;br /&gt;
*'''сохранять в профиль''' ('' prof ''):&lt;br /&gt;
:'''1''' - значение будет сохранено в текущий профиль;&lt;br /&gt;
:'''0''' - сохранено глобально.&lt;br /&gt;
*'''игра''' ('' game '') - Имя игры (раздела в опциях), который надо вычитать для получения начального значения счетчика (например, для отображения результатов).&lt;br /&gt;
*'''уровень''' ('' level '') - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения счетчика (например, для отображения результатов). Раздел равен: game.level.&lt;br /&gt;
&lt;br /&gt;
*'''Группа - шрифт''':&lt;br /&gt;
:'''имя''' ('' fn ''):&lt;br /&gt;
::'''число, начиная с 0''' - порядковый номер шрифта (чтобы отобразился шрифт, нужно каунтеру задать ресурс (res), ресурс во вьювере отображён не будет);&lt;br /&gt;
::'''-1''' - рисовать каунтер клипами.&lt;br /&gt;
:'''размер''' ('' fs '') - Размер шрифта в пикселях;&lt;br /&gt;
:'''цвет 1''' ('' fc '') - Цвет текста.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Counte_1.png|right]]&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по нажатию правой кнопки мыши.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''dec: при уменьшении изменить объект''' ('' decChg '') - При уменьшении значения счетчика, изменить объект:&lt;br /&gt;
*'''объект''' ('' obj '') - При уменьшении значения счетчика, изменить этот объект;&lt;br /&gt;
*'''состояние''' ('' obj '') - Состояние в которое переводится объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Параметр, который мы изменяем; &lt;br /&gt;
*'''значение''' ('' st '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''условие при котором происходят изменения из раздела dec''' ('' decIf '') - Условие при выполнении которого происходят изменения из раздела dec. Их может быть несколько (логический AND):&lt;br /&gt;
*'''объект''' ('' obj '') - Объект, свойства которого мы проверяем;&lt;br /&gt;
*'''состояние''' ('' st '') - Находится ли в этом состоянии объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Имеет ли объект параметр в значении следующего поля; &lt;br /&gt;
*'''значение''' ('' val '') - Имеет ли объект параметр из следующего поля в этом значении;&lt;br /&gt;
*'''куплено''' ('' val '') - Имя фичи для проверки её купленности;&lt;br /&gt;
*'''нет''' ('' not '') : Это условие должно не выполняться:&lt;br /&gt;
:'''1''' - если условие не выполняется, работает '''dec: при уменьшении изменить объект''';&lt;br /&gt;
:'''0''' - если условие выполняется, работает '''dec: при уменьшении изменить объект'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''при опускании под min изменить объект''' ('' minChg '') - При уменьшении значения счетчика ниже min, изменить объект:&lt;br /&gt;
*'''объект''' ('' obj '') - При уменьшении значения счетчика ниже min, изменить этот объект;&lt;br /&gt;
*'''состояние''' ('' st '') - Состояние в которое переводится объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Параметр, который мы изменяем; &lt;br /&gt;
*'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''условие при котором происходят изменения из раздела min''' ('' minIf '') - Условие при выполнении которого происходят изменения из раздела min. Их может быть несколько (логический AND):&lt;br /&gt;
*'''объект''' ('' obj '') - Объект, свойства которого мы проверяем;&lt;br /&gt;
*'''состояние''' ('' st '') - Находится ли в этом состоянии объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Имеет ли объект параметр в значении следующего поля; &lt;br /&gt;
*'''значение''' ('' val '') - Имеет ли объект параметр из следующего поля в этом значении;&lt;br /&gt;
*'''куплено''' ('' buy '') - Имя фичи для проверки её купленности;&lt;br /&gt;
*'''нет''' ('' not '') : Это условие должно не выполняться:&lt;br /&gt;
:'''1''' - если условие не выполняется, работает '''при опускании под min изменить объект''';&lt;br /&gt;
:'''0''' - если условие выполняется, работает '''при опускании под min изменить объект'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''inc: при увеличении изменить объект''' ('' incChg '') - При увеличении значения счетчика, изменить объект:&lt;br /&gt;
*'''объект''' ('' obj '') - При уменьшении значения счетчика, изменить этот объект;&lt;br /&gt;
*'''состояние''' ('' st '') - Состояние в которое переводится объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Параметр, который мы изменяем; &lt;br /&gt;
*'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''условие при котором происходят изменения из раздела inc''' ('' incIf '') - Условие при выполнении которого происходят изменения из раздела inc. Их может быть несколько (логический AND):&lt;br /&gt;
*'''объект''' ('' obj '') - Объект, свойства которого мы проверяем;&lt;br /&gt;
*'''состояние''' ('' st '') - Находится ли в этом состоянии объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Имеет ли объект параметр в значении следующего поля; &lt;br /&gt;
*'''значение''' ('' val '') - Имеет ли объект параметр из следующего поля в этом значении;&lt;br /&gt;
*'''куплено''' ('' buy '') - Имя фичи для проверки её купленности;&lt;br /&gt;
*'''нет''' ('' not '') : Это условие должно не выполняться:&lt;br /&gt;
:'''1''' - если условие не выполняется, работает '''inc: при увеличении изменить объект''';&lt;br /&gt;
:'''0''' - если условие выполняется,работает '''inc: при увеличении изменить объект''';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''при превышении max изменить объект''' ('' maxChg '') - При увеличении значения счетчика более max, изменить объект:&lt;br /&gt;
*'''объект''' ('' obj '') - При увеличении значения счетчика более max, изменить этот объект;&lt;br /&gt;
*'''состояние''' ('' st '') - Состояние в которое переводится объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Параметр, который мы изменяем; &lt;br /&gt;
*'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''условие при котором происходят изменения из раздела max''' ('' maxIf '') - Условие при выполнении которого происходят изменения из раздела max. Их может быть несколько (логический AND):&lt;br /&gt;
*'''объект''' ('' obj '') - Объект, свойства которого мы проверяем;&lt;br /&gt;
*'''состояние''' ('' st '') - Находится ли в этом состоянии объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Имеет ли объект параметр в значении следующего поля; &lt;br /&gt;
*'''значение''' ('' val '') - Имеет ли объект параметр из следующего поля в этом значении;&lt;br /&gt;
*'''куплено''' ('' buy '') - Имя фичи для проверки её купленности;&lt;br /&gt;
*'''нет''' ('' not '') : Это условие должно не выполняться:&lt;br /&gt;
:'''1''' - если условие не выполняется, работает '''при превышении max изменить объект''';&lt;br /&gt;
:'''0''' - если условие выполняется,работает '''при превышении max изменить объект''';&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
Объект '''Counter''' обладает рядом состояний:&lt;br /&gt;
*'''dec''' - Уменьшить значение счетчика на 1;&lt;br /&gt;
*'''inc''' - Увеличить значение счетчика на 1;&lt;br /&gt;
*'''min''' - Установить счетчик в минимальное значение;&lt;br /&gt;
*'''max''' - Установить счетчик в максимальное значение;&lt;br /&gt;
*'''init''' - Переинициализировать счетчик;&lt;br /&gt;
*'''reset''' - Переустановить счетчик;&lt;br /&gt;
*'''read''' - Прочитать значение счетчика из опций;&lt;br /&gt;
*'''read_anim''' - Прочитать значение счетчика из поля в опциях; При этом: воспринимает параметры tmChg,  tmChgIt, velChg. Это значит, что счетчик при передаче ему этого состояния, &amp;quot;прокручивает&amp;quot; графику до значения, считанного из опций. Это заменяет используемую связку последовательного изменения dval, передачи init и inc.&lt;br /&gt;
*'''save''' - Сохранить значение счетчика в опции.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве графического ресурса в счетчик перетаскивается анимационный клип из 10 кадров&lt;br /&gt;
с цифрами от 0 до 9 (кадров может быть больше, но первые 10 - это цифры). Диапазон изменения задается в полях '''min''', '''max'''. Начальное значение в поле '''val'''. Счетчик можно увеличивать или уменьшать, меняя ему состояния '''inc''' (увеличить на 1) и '''dec''' (уменьшить на 1).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим пример использования. Пусть есть счетчик и четыре кнопки. При помощи клика правой кнопки мыши, добавим каждой кнопке раздел &amp;quot;изменить состояние объекта&amp;quot;, в котором при нажатии на кнопку будет вызываться состояние счетчика '''dec''', '''inc''', '''min''', '''max''' соответственно.&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:test_cnt_1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
В результате, при клике на кнопку '''inc''' будет происходить увеличение цифр 0 до 30 . После достижения максимальной границы, равной 30, счетчик перестанет увеличиваться. Аналогично, при клике на кнопку '''dec''', можно уменьшить значения счетчика. Клик на кнопку '''min''' и '''max''' переводят значение счетчика в минимальное и максимальное значение соответственно.&lt;br /&gt;
&lt;br /&gt;
По умолчанию, разряды числа счетчика сдвигаются справа налево от его положения в редакторе (неподвижен правый край числа). Если в свойствах счетчика поле &amp;quot;'''выравнивание'''&amp;quot; установить в 1, то неподвижным будет левый край. При значении этого параметра 2, неподвижным будет центр числа. Параметр &amp;quot;'''dx между цифрами'''&amp;quot; задает дополнительное расстояние между цифрами в числе (если он меньше нуля, цифры будут ближе).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Прямое изменение значения.'''&lt;br /&gt;
&lt;br /&gt;
Значение счетчика можно изменить напрямую, например, их машины состояний:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
st = &amp;quot;wait&amp;quot;                          &lt;br /&gt;
{&lt;br /&gt;
   click { go=&amp;quot;change&amp;quot; }                  // при клике - идем в состояние &amp;quot;change&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
st = &amp;quot;change&amp;quot;                            &lt;br /&gt;
{&lt;br /&gt;
   set { obj=counter par=&amp;quot;val&amp;quot;  val=&amp;quot;5&amp;quot; } // меняем значение счетчика&lt;br /&gt;
   set { obj=counter st=&amp;quot;reset&amp;quot; }         // переустанавливаем его&lt;br /&gt;
   wait{ go=&amp;quot;wait&amp;quot; }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
При клике на машину, она переходит в состояние &amp;quot;change&amp;quot;. &lt;br /&gt;
В этом состоянии устанавливается параметр счетчика '''val''' в значение 5, после чего он перезапускается, переводясь в состояние &amp;quot;'''reset'''&amp;quot; (параметр '''val''' является строковым и счетчику его нужно перечитать, что и делается в состоянии &amp;quot;reset&amp;quot;). Аналогично счетчик можно было бы перевести в состояние &amp;quot;init&amp;quot;, но тогда он бы полностью переинитился (обновились бы все его параметры из начальных настроек). В состоянии &amp;quot;reset&amp;quot; обновляется только поле &amp;quot;val&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Достижение границ.'''&lt;br /&gt;
&lt;br /&gt;
Пусть после серии уменьшений счетчика (состояния &amp;quot;dec&amp;quot;) он достиг минимального значения '''min''' и попытался снизиться ниже. Этого не произойдет (ограничения не дают выйти за них).&lt;br /&gt;
При достижении границ счетчика можно изменить состояния или параметры других объектов.&lt;br /&gt;
Для этого необходимо в свойствах при помощи правой кнопки мыши добавить раздел:&lt;br /&gt;
 &lt;br /&gt;
[[Файл:+.png]] '''при опускании под min изменить объект''':&lt;br /&gt;
:'''объект''' - При уменьшении значения счетчика ниже min, изменить этот объект;&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;
Пусть к примеру, разрешено 3 раза нажать на некоторую кнопку (например, хинт в игре). После 3-х изменений должно появляться окно с надписью &amp;quot;подсказки кончились&amp;quot; с кнопкой &amp;quot;close&amp;quot;. При закрытии окна и повторной попытке нажать на кнопку, окно должно появляться снова.&lt;br /&gt;
Это можно сделать при помощи счетчика, двух кнопок, и машины состояний в виде окна (верхняя таблица справа - это машина состояния окна, ниже - свойства кнопки и счетчика):&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:counter3a.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Значение из options.'''&lt;br /&gt;
&lt;br /&gt;
Начальное значение счетчика можно задавать не только в редакторе (поле '''val'''), но и получать его сохраненное значение в [[Options|опциях игры]]. Пусть некоторая миниигра сохранила в опциях целое значение в переменной, например, с именем &amp;quot;scores&amp;quot;. Тогда это значение будет присвоено счетчику, если в настройках счетчика в поле &amp;quot;уровень&amp;quot; написать &amp;quot;scores&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Если помимо поля &amp;quot;уровень&amp;quot; задано поле &amp;quot;игра&amp;quot;, то значение для счетчика будет искаться&lt;br /&gt;
не в глобальных параметрах опций, а в разделе, определяемом полем &amp;quot;игра&amp;quot;.&lt;br /&gt;
Если строка в поле &amp;quot;игра&amp;quot; разделено точками, то они определяют подразделы.&lt;br /&gt;
Так, если &amp;quot;уровень&amp;quot;=&amp;quot;scores&amp;quot;, а &amp;quot;игра&amp;quot;=&amp;quot;puzzle.pack1&amp;quot;, а xml файл options.xml &lt;br /&gt;
будет выглядеть примерно так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;obj nm=&amp;quot;options&amp;quot; &amp;gt;&lt;br /&gt;
   &amp;lt;puzzle&amp;gt;&lt;br /&gt;
      &amp;lt;pack1 scores=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/puzzle&amp;gt;&lt;br /&gt;
&amp;lt;/obj&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
то начальное значение счетчика будет равно 3. Если такого раздела или поля не окажется,&lt;br /&gt;
то счетчик будет невидимым.&lt;br /&gt;
&lt;br /&gt;
Напомним, что объект  [[Options]] в игре существует в единственном экземпляре и должен находиться на экране, помеченном как глобальный.&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Counter&amp;diff=7020</id>
		<title>Counter</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Counter&amp;diff=7020"/>
		<updated>2015-04-20T13:49:09Z</updated>

		<summary type="html">&lt;p&gt;Beletsky: /* Основные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Counte.jpg|right]]&lt;br /&gt;
'''Counter''' - [[Object|объект]], который хранит значение целого положительного числа, значение которого могут изменять другие объекты. Используется для визуализации числа сделанных ходов или кликов в игре, количества оставшихся подсказок и т.п. Он может быть скрыт и использоваться для хранения целого числа, необходимого для работы других объектов, например, [[Machine|машинами состояний]].&lt;br /&gt;
== Общие параметры ==&lt;br /&gt;
Смотреть описание [[Object|Object]].&lt;br /&gt;
== Основные параметры ==&lt;br /&gt;
*'''res''' ('' res '') - Графический ресурс для отображения цифр ([[Интерфейс_ResourceEditor|анимированный клип]] из 10 фреймов: первый фрейм - 0, последний 9). Перетаскивается мышкой из редактора ресурсов.&lt;br /&gt;
*'''min''' ('' min '') - Минимальное значение счетчика.&lt;br /&gt;
*'''max''' ('' max'') - Максимальное значение счетчика.&lt;br /&gt;
*'''val''' ('' val '') - Начальное (текущее)  значение счетчика.&lt;br /&gt;
*'''val2''' ('' val2 '') - Дополнительное значение счетчика. Только для время == 2.&lt;br /&gt;
*'''new_val''' ('' new_val '') - Новое значение. Будет записано в val при вызове состояния save.&lt;br /&gt;
*'''шаг (inc, dec)''' ('' dval '') - Величина, на которую изменяется счетчик при inc и dec ( min=1)  ( если меняем значение во вьювере, после задания значения - инитим счётчик).&lt;br /&gt;
*'''dx между цифрами''' ('' digShift '') - Расстояние между цифрами.&lt;br /&gt;
*'''выравнивание''' ('' left ''):&lt;br /&gt;
:'''1''' - число будет выравниваться по левому краю (цифры числа сдвигаются слева направо); &lt;br /&gt;
:'''2''' - будет выравниваться по центру;&lt;br /&gt;
:'''0''' - выравнивание по правому краю.&lt;br /&gt;
*'''время''' ('' time ''):&lt;br /&gt;
:'''1''' - число будет считаться временем в секундах и отображаться в виде mm:ss. Двоеточие должно быть 11 кадром графического ресурса;&lt;br /&gt;
:'''2''' - будет отображаться разделитель и второе значение из поля val2, разделитель также из 11 кадра графики;&lt;br /&gt;
:'''0''' - будет отображенно число без форматирование во временную единицу.&lt;br /&gt;
'''Группа - времена''':&lt;br /&gt;
:'''невидимости''' ('' tmBeg '') - Время невидимости перед открытием;&lt;br /&gt;
:'''открытия''' ('' tmOpn '') - Время проявления от полной прозрачности к прозрачности, заданной в модификаторах;&lt;br /&gt;
:'''закрытия''' ('' tmCls '') - Время исчезания до полной прозрачности;&lt;br /&gt;
:'''изменения''' ('' tmChg '') - Время, за которое счетчик изменяется (inc, dec);&lt;br /&gt;
:'''шага изменения''' ('' tmChgIt '') - Скорость, с которой счетчик изменяется (inc, dec).&lt;br /&gt;
:'''скорость изменения''' ('' velChg'') - Время промежутков, через которые происходит обновление счетчика при изменении (inc, dec).&lt;br /&gt;
*'''сохранять в профиль''' ('' prof ''):&lt;br /&gt;
:'''1''' - значение будет сохранено в текущий профиль;&lt;br /&gt;
:'''0''' - сохранено глобально.&lt;br /&gt;
*'''игра''' ('' game '') - Имя игры (раздела в опциях), который надо вычитать для получения начального значения счетчика (например, для отображения результатов).&lt;br /&gt;
*'''уровень''' ('' level '') - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения счетчика (например, для отображения результатов). Раздел равен: game.level.&lt;br /&gt;
&lt;br /&gt;
*'''Группа - шрифт''':&lt;br /&gt;
:'''имя''' ('' fn ''):&lt;br /&gt;
::'''число, начиная с 0''' - порядковый номер шрифта (чтобы отобразился шрифт, нужно каунтеру задать ресурс (res), ресурс во вьювере отображён не будет);&lt;br /&gt;
::'''-1''' - рисовать каунтер клипами.&lt;br /&gt;
:'''размер''' ('' fs '') - Размер шрифта в пикселях;&lt;br /&gt;
:'''цвет 1''' ('' fc '') - Цвет текста.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Counte_1.png|right]]&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по нажатию правой кнопки мыши.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''dec: при уменьшении изменить объект''' ('' decChg '') - При уменьшении значения счетчика, изменить объект:&lt;br /&gt;
*'''объект''' ('' obj '') - При уменьшении значения счетчика, изменить этот объект;&lt;br /&gt;
*'''состояние''' ('' obj '') - Состояние в которое переводится объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Параметр, который мы изменяем; &lt;br /&gt;
*'''значение''' ('' st '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''условие при котором происходят изменения из раздела dec''' ('' decIf '') - Условие при выполнении которого происходят изменения из раздела dec. Их может быть несколько (логический AND):&lt;br /&gt;
*'''объект''' ('' obj '') - Объект, свойства которого мы проверяем;&lt;br /&gt;
*'''состояние''' ('' st '') - Находится ли в этом состоянии объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Имеет ли объект параметр в значении следующего поля; &lt;br /&gt;
*'''значение''' ('' val '') - Имеет ли объект параметр из следующего поля в этом значении;&lt;br /&gt;
*'''куплено''' ('' val '') - Имя фичи для проверки её купленности;&lt;br /&gt;
*'''нет''' ('' not '') : Это условие должно не выполняться:&lt;br /&gt;
:'''1''' - если условие не выполняется, работает '''dec: при уменьшении изменить объект''';&lt;br /&gt;
:'''0''' - если условие выполняется, работает '''dec: при уменьшении изменить объект'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''при опускании под min изменить объект''' ('' minChg '') - При уменьшении значения счетчика ниже min, изменить объект:&lt;br /&gt;
*'''объект''' ('' obj '') - При уменьшении значения счетчика ниже min, изменить этот объект;&lt;br /&gt;
*'''состояние''' ('' st '') - Состояние в которое переводится объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Параметр, который мы изменяем; &lt;br /&gt;
*'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''условие при котором происходят изменения из раздела min''' ('' minIf '') - Условие при выполнении которого происходят изменения из раздела min. Их может быть несколько (логический AND):&lt;br /&gt;
*'''объект''' ('' obj '') - Объект, свойства которого мы проверяем;&lt;br /&gt;
*'''состояние''' ('' st '') - Находится ли в этом состоянии объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Имеет ли объект параметр в значении следующего поля; &lt;br /&gt;
*'''значение''' ('' val '') - Имеет ли объект параметр из следующего поля в этом значении;&lt;br /&gt;
*'''куплено''' ('' buy '') - Имя фичи для проверки её купленности;&lt;br /&gt;
*'''нет''' ('' not '') : Это условие должно не выполняться:&lt;br /&gt;
:'''1''' - если условие не выполняется, работает '''при опускании под min изменить объект''';&lt;br /&gt;
:'''0''' - если условие выполняется, работает '''при опускании под min изменить объект'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''inc: при увеличении изменить объект''' ('' incChg '') - При увеличении значения счетчика, изменить объект:&lt;br /&gt;
*'''объект''' ('' obj '') - При уменьшении значения счетчика, изменить этот объект;&lt;br /&gt;
*'''состояние''' ('' st '') - Состояние в которое переводится объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Параметр, который мы изменяем; &lt;br /&gt;
*'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''условие при котором происходят изменения из раздела inc''' ('' incIf '') - Условие при выполнении которого происходят изменения из раздела inc. Их может быть несколько (логический AND):&lt;br /&gt;
*'''объект''' ('' obj '') - Объект, свойства которого мы проверяем;&lt;br /&gt;
*'''состояние''' ('' st '') - Находится ли в этом состоянии объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Имеет ли объект параметр в значении следующего поля; &lt;br /&gt;
*'''значение''' ('' val '') - Имеет ли объект параметр из следующего поля в этом значении;&lt;br /&gt;
*'''куплено''' ('' buy '') - Имя фичи для проверки её купленности;&lt;br /&gt;
*'''нет''' ('' not '') : Это условие должно не выполняться:&lt;br /&gt;
:'''1''' - если условие не выполняется, работает '''inc: при увеличении изменить объект''';&lt;br /&gt;
:'''0''' - если условие выполняется,работает '''inc: при увеличении изменить объект''';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''при превышении max изменить объект''' ('' maxChg '') - При увеличении значения счетчика более max, изменить объект:&lt;br /&gt;
*'''объект''' ('' obj '') - При увеличении значения счетчика более max, изменить этот объект;&lt;br /&gt;
*'''состояние''' ('' st '') - Состояние в которое переводится объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Параметр, который мы изменяем; &lt;br /&gt;
*'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''условие при котором происходят изменения из раздела max''' ('' maxIf '') - Условие при выполнении которого происходят изменения из раздела max. Их может быть несколько (логический AND):&lt;br /&gt;
*'''объект''' ('' obj '') - Объект, свойства которого мы проверяем;&lt;br /&gt;
*'''состояние''' ('' st '') - Находится ли в этом состоянии объект;&lt;br /&gt;
*'''параметр''' ('' par '') - Имеет ли объект параметр в значении следующего поля; &lt;br /&gt;
*'''значение''' ('' val '') - Имеет ли объект параметр из следующего поля в этом значении;&lt;br /&gt;
*'''куплено''' ('' buy '') - Имя фичи для проверки её купленности;&lt;br /&gt;
*'''нет''' ('' not '') : Это условие должно не выполняться:&lt;br /&gt;
:'''1''' - если условие не выполняется, работает '''при превышении max изменить объект''';&lt;br /&gt;
:'''0''' - если условие выполняется,работает '''при превышении max изменить объект''';&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
Объект '''Counter''' обладает рядом состояний:&lt;br /&gt;
*'''dec''' - Уменьшить значение счетчика на 1;&lt;br /&gt;
*'''inc''' - Увеличить значение счетчика на 1;&lt;br /&gt;
*'''min''' - Установить счетчик в минимальное значение;&lt;br /&gt;
*'''max''' - Установить счетчик в максимальное значение;&lt;br /&gt;
*'''init''' - Переинициализировать счетчик;&lt;br /&gt;
*'''reset''' - Переустановить счетчик;&lt;br /&gt;
*'''read''' - Прочитать значение счетчика из опций;&lt;br /&gt;
*'''save''' - Сохранить значение счетчика в опции.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве графического ресурса в счетчик перетаскивается анимационный клип из 10 кадров&lt;br /&gt;
с цифрами от 0 до 9 (кадров может быть больше, но первые 10 - это цифры). Диапазон изменения задается в полях '''min''', '''max'''. Начальное значение в поле '''val'''. Счетчик можно увеличивать или уменьшать, меняя ему состояния '''inc''' (увеличить на 1) и '''dec''' (уменьшить на 1).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим пример использования. Пусть есть счетчик и четыре кнопки. При помощи клика правой кнопки мыши, добавим каждой кнопке раздел &amp;quot;изменить состояние объекта&amp;quot;, в котором при нажатии на кнопку будет вызываться состояние счетчика '''dec''', '''inc''', '''min''', '''max''' соответственно.&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:test_cnt_1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
В результате, при клике на кнопку '''inc''' будет происходить увеличение цифр 0 до 30 . После достижения максимальной границы, равной 30, счетчик перестанет увеличиваться. Аналогично, при клике на кнопку '''dec''', можно уменьшить значения счетчика. Клик на кнопку '''min''' и '''max''' переводят значение счетчика в минимальное и максимальное значение соответственно.&lt;br /&gt;
&lt;br /&gt;
По умолчанию, разряды числа счетчика сдвигаются справа налево от его положения в редакторе (неподвижен правый край числа). Если в свойствах счетчика поле &amp;quot;'''выравнивание'''&amp;quot; установить в 1, то неподвижным будет левый край. При значении этого параметра 2, неподвижным будет центр числа. Параметр &amp;quot;'''dx между цифрами'''&amp;quot; задает дополнительное расстояние между цифрами в числе (если он меньше нуля, цифры будут ближе).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Прямое изменение значения.'''&lt;br /&gt;
&lt;br /&gt;
Значение счетчика можно изменить напрямую, например, их машины состояний:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
st = &amp;quot;wait&amp;quot;                          &lt;br /&gt;
{&lt;br /&gt;
   click { go=&amp;quot;change&amp;quot; }                  // при клике - идем в состояние &amp;quot;change&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
st = &amp;quot;change&amp;quot;                            &lt;br /&gt;
{&lt;br /&gt;
   set { obj=counter par=&amp;quot;val&amp;quot;  val=&amp;quot;5&amp;quot; } // меняем значение счетчика&lt;br /&gt;
   set { obj=counter st=&amp;quot;reset&amp;quot; }         // переустанавливаем его&lt;br /&gt;
   wait{ go=&amp;quot;wait&amp;quot; }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
При клике на машину, она переходит в состояние &amp;quot;change&amp;quot;. &lt;br /&gt;
В этом состоянии устанавливается параметр счетчика '''val''' в значение 5, после чего он перезапускается, переводясь в состояние &amp;quot;'''reset'''&amp;quot; (параметр '''val''' является строковым и счетчику его нужно перечитать, что и делается в состоянии &amp;quot;reset&amp;quot;). Аналогично счетчик можно было бы перевести в состояние &amp;quot;init&amp;quot;, но тогда он бы полностью переинитился (обновились бы все его параметры из начальных настроек). В состоянии &amp;quot;reset&amp;quot; обновляется только поле &amp;quot;val&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Достижение границ.'''&lt;br /&gt;
&lt;br /&gt;
Пусть после серии уменьшений счетчика (состояния &amp;quot;dec&amp;quot;) он достиг минимального значения '''min''' и попытался снизиться ниже. Этого не произойдет (ограничения не дают выйти за них).&lt;br /&gt;
При достижении границ счетчика можно изменить состояния или параметры других объектов.&lt;br /&gt;
Для этого необходимо в свойствах при помощи правой кнопки мыши добавить раздел:&lt;br /&gt;
 &lt;br /&gt;
[[Файл:+.png]] '''при опускании под min изменить объект''':&lt;br /&gt;
:'''объект''' - При уменьшении значения счетчика ниже min, изменить этот объект;&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;
Пусть к примеру, разрешено 3 раза нажать на некоторую кнопку (например, хинт в игре). После 3-х изменений должно появляться окно с надписью &amp;quot;подсказки кончились&amp;quot; с кнопкой &amp;quot;close&amp;quot;. При закрытии окна и повторной попытке нажать на кнопку, окно должно появляться снова.&lt;br /&gt;
Это можно сделать при помощи счетчика, двух кнопок, и машины состояний в виде окна (верхняя таблица справа - это машина состояния окна, ниже - свойства кнопки и счетчика):&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:counter3a.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Значение из options.'''&lt;br /&gt;
&lt;br /&gt;
Начальное значение счетчика можно задавать не только в редакторе (поле '''val'''), но и получать его сохраненное значение в [[Options|опциях игры]]. Пусть некоторая миниигра сохранила в опциях целое значение в переменной, например, с именем &amp;quot;scores&amp;quot;. Тогда это значение будет присвоено счетчику, если в настройках счетчика в поле &amp;quot;уровень&amp;quot; написать &amp;quot;scores&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Если помимо поля &amp;quot;уровень&amp;quot; задано поле &amp;quot;игра&amp;quot;, то значение для счетчика будет искаться&lt;br /&gt;
не в глобальных параметрах опций, а в разделе, определяемом полем &amp;quot;игра&amp;quot;.&lt;br /&gt;
Если строка в поле &amp;quot;игра&amp;quot; разделено точками, то они определяют подразделы.&lt;br /&gt;
Так, если &amp;quot;уровень&amp;quot;=&amp;quot;scores&amp;quot;, а &amp;quot;игра&amp;quot;=&amp;quot;puzzle.pack1&amp;quot;, а xml файл options.xml &lt;br /&gt;
будет выглядеть примерно так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;obj nm=&amp;quot;options&amp;quot; &amp;gt;&lt;br /&gt;
   &amp;lt;puzzle&amp;gt;&lt;br /&gt;
      &amp;lt;pack1 scores=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/puzzle&amp;gt;&lt;br /&gt;
&amp;lt;/obj&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
то начальное значение счетчика будет равно 3. Если такого раздела или поля не окажется,&lt;br /&gt;
то счетчик будет невидимым.&lt;br /&gt;
&lt;br /&gt;
Напомним, что объект  [[Options]] в игре существует в единственном экземпляре и должен находиться на экране, помеченном как глобальный.&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Beletsky</name></author>
		
	</entry>
</feed>