Slotmachine — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
м (Общие параметры)
Строка 20: Строка 20:
 
** '''scale x''' - масштаб по оси х: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
 
** '''scale x''' - масштаб по оси х: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
 
** '''scale y''' - масштаб по оси y: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
 
** '''scale y''' - масштаб по оси y: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
 +
* '''файл уровня''' (''levelFile'') - Имя файла с уровнями
 
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок"  ''calcsize'': размер графики = 0, размер объекта = 1
 
* '''вычислять размер''' (''calcsize'') - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок"  ''calcsize'': размер графики = 0, размер объекта = 1
 
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.
 
* '''сдвиг по y''' (''y_shift'') - Смещение иконок по y.
Строка 27: Строка 28:
 
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)
 
* '''эффект линии''' (''line_obj'') - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)
 
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]
 
[[Файл:Slot_2.PNG|200px|thumb|right|пример машины для анимации линий]]
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии.
+
* '''ribbon''' (''ribbon_obj'') - Объект типа [[Ribbon]] для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.
 
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.
 
* '''смещение ribbon''' (''ribbon_y_shift'') - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.
 
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).
 
* '''последовательные эффекты''' (''order_effects'') -  0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).
 
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.
 
* '''линии или пути''' (''linespath'') - Использовать для вычисления выигрыша линии или пути.
 
* '''макс. число линий"''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.
 
* '''макс. число линий"''' (''max_lines'') - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.
 +
* '''последовательные эффекты''' (''order_effects'') - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.
 
* '''видимых строк''' (''max_rows'') - "высота" слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.
 
* '''видимых строк''' (''max_rows'') - "высота" слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.
 
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)
 
* '''подсчет бонусных иконок''' (''bonuscalc'') - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства.
+
* '''считать линии в обе стороны''' (''twowayscalc'') - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)
 +
* '''время подсветки всех линий''' (''allLinesTime'') - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).
 
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.
 
* '''прятать иконки линий''' (''lineicohide'') - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.
 +
* '''показывать все линии при добавлении''' (''alllineswhenadd'') - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).
 
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.
 
* '''чит''' (''cheat'') - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.
 
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.
 
* '''число симуляций перед спином''' (''simNum'') - Перед спином будет проведено n симуляций и выбрана лучшая.
Строка 41: Строка 45:
 
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.
 
** '''economics''' (''economics'') - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.
 
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.
 
** '''использовать''' (''use'') - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке.
+
** '''значения ставок''' (''betValues'') - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.
 
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.
 
** '''уровни ставок''' (''betLevels'') - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.
 
* '''счетчики''':
 
* '''счетчики''':
Строка 48: Строка 52:
 
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.
 
** '''итого''' (''cntTotalBet'') - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.
  
* '''копилка''':
+
* '''копилка''': при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.
 
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)
 
** '''ключ в опциях''' (''mboxOptions'') - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)
 
** '''процент min''' (''mboxMin'') - процент min.
 
** '''процент min''' (''mboxMin'') - процент min.
Строка 59: Строка 63:
 
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.
 
** '''ячеек для интриги''' (''numi'') - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.
 
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.
 
** '''эффект интриги''' (''intrigue_obj'') - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния '''hide_animation''' или в начале спина.
 +
 +
*'''расширение wild по вертикали''' - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей.
 +
* '''''' ('''') -
 +
* '''''' ('''') -
 +
* '''''' ('''') -
 +
* '''''' ('''') -
 +
 
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log.  
 
* '''рельсы''' - пять полей с номерами иконок. '''ВАЖНО:''' Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log.  
 
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу
 
** '''рельса N''' (''r1..r5'') - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу

Версия 12:42, 30 мая 2016

Slotmachine является объектом для реализации игр с механикой игровых автоматов. Slotmachine не просто управляет движением иконок на барабанах - он отвечает за анимацию выигранных линий и добавления новых линий для подсчета очков.

Общие параметры

(см. описание Object)

Slot settings.png
  • тип - тип объекта
  • имя - имя объекта
  • синхронизация - синхронизация между лейаутами
  • положение
    • x - положение объекта по оси х
    • y - положение объекта по оси y
  • размер
    • w - ширина объекта в пикслях
    • h - высота объекта в пикселях
  • модификаторы
    • alpha - прозрачность объекта от 0 (прозрачен) до 1 (не прозрачен)
    • angle - угол поворота в градусах. 0 - не повернут. Отсчитывается от оси х вниз. Вверх идут отрицательные углы.
    • scale x - масштаб по оси х: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
    • scale y - масштаб по оси y: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
  • файл уровня (levelFile) - Имя файла с уровнями
  • вычислять размер (calcsize) - Вычислять размер исходя из ширины и высоты объекта или использовать размер картинок" calcsize: размер графики = 0, размер объекта = 1
  • сдвиг по y (y_shift) - Смещение иконок по y.
  • множитель скорости (speedm) - Множитель скорости для изменения направления вращения барабана.
  • эффект ячейки (effect_obj) - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов
  • доп. эффект ячейки (effect_obj2) - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов. Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей "эффект ячейки".
  • эффект линии (line_obj) - Машина, обеспечивающая анимацию выигравших линий. Должна иметь состояния line_0 ... line_N (N от 4 до 24)
пример машины для анимации линий
  • ribbon (ribbon_obj) - Объект типа Ribbon для эффекта линии. В нем будут использоваться ресурсы, указанные в доп.параметре с эффектом линии.
  • смещение ribbon (ribbon_y_shift) - Смещение объекта ribbon вниз в % от высоты ячейки. Задается в единицах процентов от 1 до 100.
  • последовательные эффекты (order_effects) - 0 - эффект ячейки выбирается случайно, 1 - эффект ячейки выбирается последовательно (для первой выигравшей - первый по порядку, второй - второй и т.д), 2 - по номеру линии (каждой линии будет соответствовать ресурс для ribbon и ресурс для эффекта ячейки, взятый по порядку из добавляемых свойств. Т.е если комбинация выпала на линии 14, то для неё будут использованы ресурсы, указанные в 14том по порядку добавляемом свойстве).
  • линии или пути (linespath) - Использовать для вычисления выигрыша линии или пути.
  • макс. число линий" (max_lines) - Если задано больше 0, то нельзя поставить более чем на столько линий. Не может превышать число реально заданных линий. При вызове add_bet ставка не сможет превысить это значение.
  • последовательные эффекты (order_effects) - 0 - эффект ячейки выбирается рандомно (описано ниже, исторический параметр, не используется), 1 - эффект ячейки выбирается последовательно (выиграли линии 4,12,25. Для 4 - первый эффект, 12 - второй добавленные и т.д), 2 - по номеру линии (выиграли линии 4,12,25. Для 4 - эффект 4 (порядковый номер в списке добавленных), для 12 - 12-й и т.д). Сделано для того, чтобы номер линии всегда был связан с определенным цветом. Иконка линии обычно окрашена в этот же цвет.
  • видимых строк (max_rows) - "высота" слота. Количество строк для отображения. Пр.: Если слот 5х3, то 3.
  • подсчет бонусных иконок (bonuscalc) - 0 - на любом месте на поле, 1 - на активной линии (если играем на 9 линий, а иконки выпали на 11той - бонусная игра не будет запущена), 2 - на активной линии подряд (аналогично предыдущему, но без пропуска иконок по столбцам, т.е на линии и последовательно, как обычная иконка)
  • считать линии в обе стороны (twowayscalc) - 0-нет, 1-да (обычно линии считаются с самой левой иконки в сторону правой. Есть случаи, когда отдельная иконка или все линии считаются как слева-направо так и справа-налево. В таком случае обязательно (и это учтено в объекте), что награда за 5 выпавших иконок НЕ УДВАИВАЕТСЯ)
  • время подсветки всех линий (allLinesTime) - время, которое будут показываться ribbon для всех выигравших линий. После окончания этого времени будет вызван обработчик из добавляемого свойства. Если значение 0 - сразу идем перебирать эффекты линий (запускается обработчик для начала этой процедуры, которая запускается и управляется НЕ ИЗ ОБЪЕКТА).
  • прятать иконки линий (lineicohide) - 0 - не прятать, 1 - по видимости (если линий меньше N, то по vis будут выключены все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N), 2 - первый второй фрейм (если графика доб. объектов-иконок была фреймовой анимацией, то если N меньше максимального кол-ва линий - все объекты иконок линий из добавляемого свойства, порядковый номер которых больше N отобразят второй фрейм). Это сложно описано, я знаю.
  • показывать все линии при добавлении (alllineswhenadd) - при изменении кол-ва активных линий (вызове состояний add_line dec_line) показывать или не показывать эффекты для ВСЕХ активных линий. Вызываются последовательно эффекты для каждой линии (выглядит как отрисовка абсолютно всех риббонов, учитывая настройку выше).
  • чит (cheat) - Желаемый результат. Будет выпадать всегда, пока это поле заполнено. По сути - это порядковый номер иконки в каждой рельсе. Имеет вид (1, 5, 6, 2, 4). Т.е на поле в позиции [1,1] будет иконка 1 (не id, а порядковый номер в r1[1]), [1,2]==r2[5] и так далее.
  • число симуляций перед спином (simNum) - Перед спином будет проведено n симуляций и выбрана лучшая.
  • ставки:
    • economics (economics) - объект экономики, чтобы объект знал о всех параметрах игрока и его прохождении.
    • использовать (use) - Автоматическое снятие и начисление монет и опыта. Нет - не снимаем ставки, не начисляе выигранное; да - снимаем и начисляем.
    • значения ставок (betValues) - УПОРЯДОЧЕННЫЙ (я не просто так выделил) массив значений ставки. Значения могут нелинейно расти и шаг может меняться от ставки к ставке. РАЗМЕР этого массива должен точно совпадать с размером следующего.
    • уровни ставок (betLevels) - упорядоченный массив уровней к предыдущему. Обязательно должны совпадать по размеру. Каждому значению из betValues[i] соответствует betLevels[i]. Означает уровень, на котором станет доступной то или иное значение ставки.
  • счетчики:
    • число линий (cntLinesNum) - изменяется при вызове add_line, remove_line и отображает текущее число активных линий.
    • ставка на линию (cntLineBet) - изменяется при вызове add_bet, dec_bet и отображает текущую ставку.
    • итого (cntTotalBet) - отображает суммарную ставку (перемноженные значения из полей выше). Изменяется автоматически при вызове предыдущих состояний.
  • копилка: при каждом начале спина - происходит снятие ресурса за спин в размере суммарной ставки и в отдельное укромное место (mboxOptions) помещается сумма, равная rand(min;max)*total_bet, если в укромном месте не накопилась сумма большая или равная значению из mboxValues при текущем уровне XP.
    • ключ в опциях (mboxOptions) - Ключ в опциях (КОРРЕКТНОСТЬ ЗНАЧЕНИЙ НА ПОЛЬЗОВАТЕЛЕ)
    • процент min (mboxMin) - процент min.
    • процент max (mboxMax) - процент max.
    • значения предела (mboxValues) - Значения предела
    • уровни предела (mboxLevels) - Уровни предела
  • интрига:
    • множитель интриги (speedi) - Множитель скорости для режима интриги.
    • ячеек для интриги (numi) - Сколько иконок одного типа должны выпасть (учитывая условия активации бонуса), чтобы запустился режим интриги.
    • эффект интриги (intrigue_obj) - Машина, обеспечивающая анимацию при режиме интриги. Будет склонирована в центр рельсы, должна иметь состояние beg. Объект будет скопирован для каждой рельсы, где будет запущен режим. Прячется или при вызове состояния hide_animation или в начале спина.
  • расширение wild по вертикали - срабатывает (при wildexp_t != -1), когда wild участвует в построении выигрышной цепочки. Расширяется на весь барабан (реализовано для высоты барабана == 3 иконка). После чего происходит еще одна итерация проверки выигрышей.
  • ' (') -
  • ' (') -
  • ' (') -
  • ' (') -
  • рельсы - пять полей с номерами иконок. ВАЖНО: Появление в рельсе иконки с порядковым номером выше, чем максимальное кол-во иконок - вызовет падение viewer с ошибкой в log.
    • рельса N (r1..r5) - Рельса N - номера иконок (начиная с 0) через запятую. Пустая строка - игнорировать рельсу
  • параметры вращения:
    • time (spin_t) - Время вращения левого барабана.
    • time step (spin_t_step) - Время на которое каждый последующий барабан крутится дольше предыдущего. (таким образом был реализован эффект последовательной остановки барабанов, как в механической версии данного автомата)
    • time delta - Случайная погрешность для времени вращения барабана. Нужна для исключения появления устойчивых наборов иконок. Составляет обычно 10% от времени вращения барабана.
    • vel min (min_vel) - Минимальная скорость вращения (левый барабан)
    • vel max (max_vel) - Максимальная скорость вращения (правый барабан).
  • звуки:
    • барабан вращается (sndspin) - барабан вращается.
    • запуск барабанов (sndstart) - запуск барабанов.
    • остановка барабана (sndstop) - остановка барабана.
    • выигрыш (sndwin) - выигрыш.
    • проигрыш (sndfail) - проигрыш.
    • особая комбинация (sndspecial) - особая комбинация.
  • иконка (slotico) - добавляемый параметр с настройками иконки:
    • графика (icores) - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Можно использовать фреймовую анимацию, которая будет использовать все настройки редактора ресурсов.
    • тип (icotype) - Тип иконки. 0 - обычная, 1 - Bonus, 2 - Wild, 3 - Scatter.

0 - обычная иконка. 1 - при выпадении 3 и больше иконок на барабанах не зависимо от их расположения - запускается бонусная игра (пока не реализовано). 2- бонусная иконка, при попадании ее в линию - может заменить любую иконку и даёт возможность продолжить/начать/закончить игровую линию. 3 - механика схожа с бонусной иконкой, но вызывает уже бесплатные спины (пока не реализовано).

    • выигрыш (icowin) - Выигрыш по иконке. За 1, 2, 3 и т.д. иконку в линии.
    • эффект ячейки (icoeffect) - Объект, который склонируем для выигрышной ячейки. Флаер или машина с состоянием beg без подобъектов
    • доп. эффект ячейки (icoeffect2) - Дополнительный объект удобно использовать для копирования различный flyer-анимаций выигрыша ячейки, при этом основной эффект чаще всего является объектом, которому заменяется графика из полей "эффект ячейки".

если эти поля не заполнены - используются эффекты по умолчанию

Пример:

0, 1, 0, 0 - за строку начисляется выигрыш (1), если подряд попадается одна такая иконка. 

0, 0, 10, 0 - за строку начисляется выигрыш (10 очков), если подряд попадаются две таких иконки. 

0, 0, 0, 5 - за строку начисляется выигрыш (5 очков), если подряд попадаются три таких иконки.
пример расположения линий

Важно! Иконки в линии считаются слева направо. На изображении линии 6 и 7 перепутаны.

Текущий выигрыш можно узнать считав параметр current_win у объекта. Количество линий, эффект для которых нужно показать отображает параметр lines_num. Считывается у объекта. Обновляется каждый раз при выполнении next_line_effect.

Состояния

  • Основные:
    • spin - запустить барабаны
    • add_line - добавить еще одну линию как игровую. При этом автоматически запускается эффект линии и переводится в состояние, соответствующее номеру последней добавленной линии.
    • remove_line - убирает одну линию. Одна линия для проверки - минимум, убрать её нельзя.

Оба состояния add_line и remove_line передаются с параметром кол-ва линий. par=param val=кол-во линий, аналогично dval у counter.

    • clear - убрать все строки (кроме первой) для проверки выигрыша
    • next_line_effect - вызывает эффект для следующей линии. Одновременно с этим вызывается эффект для ячейки.
    • stop - остановить барабаны. Вызывается с параметром param от 0 до 4 для остановки конкретного барабана. Примечание: перевод объекта в состояния

add_line и clear во время вращения барабана - приводит к его остановке.

    • stop_all - останавливает барабаны и пересчитывает награду (выпавшие линии), предназначено для остановки барабана по рычагу/кнопке .
    • shuffle - новое начальное положение барабана (выбирается случайная иконка на всей рельсе и от неё отображаются иконки на всех рельсах).
    • hide_animation - спрятать все эффекты линии и ячейки, которые были склонированы. Удобно использовать при досрочном закрытии мини-игры. Если вам нужно открывать что-то поверх активного слота ( во время показа анимации), вам нужно эти окна положить в отдельную сцену поверх сцены со слотом, т.к. анимация копируется в сцену со слот машиной.
    • add_bet - увеличить ставку (значение ставки берется из соответствующего поля. Максимальное и минимальное значения зависят от уровня опыта игрока)
    • dec_bet - уменьшить ставку
    • start_free_spins - начать режим бесплатных спинов (если scatter_num > 0).
    • pause_free_spins - приостановить режим бесплатных спинов. Скопирует значение из scatter_num в опции по ключу slot%id%.saved_scatter. При этом scatter_num обнуляется.
    • resume_free_spins - продолжить бесплатные спины. Скопирует значение по ключу и вставит его в scatter_num.
    • autotest - для текущего lvlNum запустит автоматический спин с текущей ставкой и кол-вом линий N раз. N берется из param у объекта.
    • ' -
    • ' -

Добавляемые параметры

Меню выбора Добавляемые параметры к объектам активируется по правой кнопки мыши.

+.png изменить состояние объекта - бросок завершен проигрыш - При current_win=0 по завершению вращения перевести слушателя в состояние.

  • объект- объект - состояние которого меняем.
  • состояние- состояние - значение нового состояния


+.png изменить состояние объекта - бросок завершен выигрыш - При current_win!=0 по завершению вращения перевести слушателя в состояние.

  • объект- объект - состояние которого меняем.
  • состояние- состояние - значение нового состояния

+.png иконка линии - При наличии объектов, которые каким-либо образом обозначают начало линии - указываем их через добавляемое свойство по порядку, начиная с нуля. Эффект линии в виде объекта ribbon будет рисоваться начиная (или заканчивая) этими объектами.

  • объект- объект, у которого забираем положение.

+.png эффект ячейки - При current_win!=0 по завершению вращения заменяет из набора ресурсов таких дополнительных свойств графику для клонируемого эффекта ячейки.

  • клип- ресурс. Перетаскивается из базы ресурсов.
Графика в виде фреймовой анимации. Допустим у нас есть набор из 8-ми анимаций.

Работает такая логика при выборе графики:

1. При любом выигрыше графика эффекта ячейки для первой показываемой линии выбирается случайно из набора, но не повторяется с первой выбранной для предыдущего выигрышного спина.

2. Для всех последующих в этом спине выигранных линий — графика последовательно выбирается из набора (оставшейся графики) в произвольном порядке.

3. Если линий больше 8-ми — повторяем с первого пункта, выбирая первой графику отличную от 8-мой.

Пример:

1й спин — выпало 12 линий.

0, 2, 4, 3, 5, 7, 1, 6 … (начинаем не с 6) 4, 0, 3, 1

2й спин — выпало 6 линий.

(начинаем не с 0) 5, 6, 7, 1, 0, 3

где 0..7 — номера анимаций.