Economics — различия между версиями
Podkor (обсуждение | вклад) (→Окошко поздравления с получением уровня) |
Dopryshko (обсуждение | вклад) |
||
(не показана 131 промежуточная версия 15 участников) | |||
Строка 1: | Строка 1: | ||
− | Объект Economics служит для реализации сложной игровой механики типа "ферма". Он осуществляет связь между игровыми локациями, накопленным опытом, текущим количеством энергии, денег и кристаллов (можно использовать и другие названия ресурсов), а также управляет объектами коллекций, магазина, инвентаря и игровых заданий. | + | [[Object|Объект]] '''Economics''' служит для реализации сложной игровой механики типа "ферма". Он осуществляет связь между игровыми локациями, накопленным опытом, текущим количеством энергии, денег и кристаллов (можно использовать и другие названия ресурсов), а также управляет объектами коллекций, магазина, инвентаря и игровых заданий. |
= Свойства = | = Свойства = | ||
− | *'''предметы''' - Объект типа eitems. | + | *'''предметы''' - Объект типа [[eitems]]. |
− | *'''задачи''' - Объект типа taskorganizer. | + | *'''задачи''' - Объект типа [[taskorganizer]]. |
==Параметры== | ==Параметры== | ||
===Основные параметры=== | ===Основные параметры=== | ||
− | + | *'''disable''' - выключена ли экономика, если 1 - то экономика не реагирует на состояния и не сейвится в опции. Чтобы изменить параметр, меняем его и вызываем сост. "init" | |
+ | *'''Сдвиг уровней''' ( ''levels_shift'' ) - число на которое сдвинется анлок уровней в economics setup; после задания параметра нужно проинитить экономику; | ||
*'''Уровни''' - опыт, необходимый для перехода на следующий уровень. Последовательность чисел через запятую. | *'''Уровни''' - опыт, необходимый для перехода на следующий уровень. Последовательность чисел через запятую. | ||
*'''Уровни парабола''' - Три числа через запятую, задающие коэффициенты параболы, которые определяют необходимый опыт после уже перечисленных уровней. | *'''Уровни парабола''' - Три числа через запятую, задающие коэффициенты параболы, которые определяют необходимый опыт после уже перечисленных уровней. | ||
Строка 19: | Строка 20: | ||
*'''нач. ресурс 2''' - Начальное значение ресурса 2. | *'''нач. ресурс 2''' - Начальное значение ресурса 2. | ||
*'''время напоминания''' - время напоминания о задачах на каждом из уровней. Записывается в виде последовательности чисел через запятую. Последнее значение будет зациклено для всех последующих уровней. Время изменяется в часах. | *'''время напоминания''' - время напоминания о задачах на каждом из уровней. Записывается в виде последовательности чисел через запятую. Последнее значение будет зациклено для всех последующих уровней. Время изменяется в часах. | ||
− | *'''напоминание об энергии''' - уведомление перетаскивается с текстового редактора, представляет собой напоминание о том что энергия восстановилась. Например, "Ваше энергия полностью восстановлена". | + | *'''напоминание об энергии''' - уведомление перетаскивается с текстового редактора, представляет собой напоминание о том что энергия восстановилась. Например, "Ваше энергия полностью восстановлена". (устанавливается, когда энергии становится меньше 30%). |
+ | *'''опции для facebook''' - поле в опциях, куда мы будем записывать 32 битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние | ||
+ | *'''перегрузить очки из опций''' - если поле не пустое - будут взяты очки из поля опций текущего пользователя, указаного в этой строке. | ||
+ | *'''во временные отправлять''' - какие очки будут отправлены во временные лидерборды esocial'ом. При выборе '''кастомное заполнение''' будут отправлены очки из поля temporary_lb_score в опциях текущего пользователя (p0.temporary_lb_score например). Кастомные очки нужно добавлять вручную, по окончанию периода они будут обнулены автоматически. | ||
+ | *'''округление res1 и т.п. до кратных 5''' ( ''bonusroundup'' ) - нужно ли округлять бонусные монеты и опыт для локации до кратных 5. | ||
===Основные счетчики=== | ===Основные счетчики=== | ||
Строка 41: | Строка 46: | ||
Настройка окна, которое всплывает перед посещением локации. В этом окне отображается информация о локации которую мы хотим посетить. | Настройка окна, которое всплывает перед посещением локации. В этом окне отображается информация о локации которую мы хотим посетить. | ||
− | *'''Окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояния ''open'' - открыта, ''open_lvl'' - не хватает лвл, ''open_buy'' - разница в уровнях позволяет нам купить анлок, ''open_item'' - не хватает предмета для анлока, ''open_unlock'' - состояние вызываемое окну перед локацией после успешной покупки предмета для анлока, ''open_energy'' - состояние вызываемое окну перед локацией в случае нехватки энергии. | + | *'''Окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояния ''open'' - открыта, ''open_lvl'' - не хватает лвл, ''open_buy'' - разница в уровнях позволяет нам купить анлок, ''open_item'' - не хватает предмета для анлока, ''open_unlock'' - состояние вызываемое окну перед локацией после успешной покупки предмета для анлока, ''open_energy'' - состояние вызываемое окну перед локацией в случае нехватки энергии, ''open_need_item'' - состояние, вызываемое окну перед локацией в случае нехватки предмета, ''open_need_item_energy'' - состояние, вызываемое окну перед локацией в случае нехватки энергии и предмета. |
*'''Превью локации''' - графический ресурс для отображения превью локации. В это поле можно поставить любую картинку для того, чтобы корректно разместить ее в "окне перед локацией". Далее экономикс сам будет подставлять нужные превью. | *'''Превью локации''' - графический ресурс для отображения превью локации. В это поле можно поставить любую картинку для того, чтобы корректно разместить ее в "окне перед локацией". Далее экономикс сам будет подставлять нужные превью. | ||
*'''Название локации''' - текстовый объект, в который будет подставляться название локации. | *'''Название локации''' - текстовый объект, в который будет подставляться название локации. | ||
Строка 58: | Строка 63: | ||
''для закрытой по уровню локации'' | ''для закрытой по уровню локации'' | ||
− | *'''Режим игры''' - машина, которой будут устанавливаться состояния в зависимости от режима игры (может быть смешанный, текст или силуэт). TODO пока обладает только режимом text. | + | *'''Режим игры''' - машина, которой будут устанавливаться состояния в зависимости от режима игры (может быть смешанный, текст или силуэт). TODO пока обладает только режимом text и icon. Эта машина будет передавать настройки таблице, в которую помещаются поисковые объекты, поэтому важно, чтобы к этой таблице был доступ (например она может находится на глобальном экране). |
*'''индикатор уровня''' - счетчик с необходимым для локации уровнем. | *'''индикатор уровня''' - счетчик с необходимым для локации уровнем. | ||
Строка 75: | Строка 80: | ||
*'''кнопка купить''' - Будет видна, если предмет нужно купить. Передает экономиксу состояние unlock_item. | *'''кнопка купить''' - Будет видна, если предмет нужно купить. Передает экономиксу состояние unlock_item. | ||
*'''кнопка искать''' - Будет видна, если предмет поисковый. | *'''кнопка искать''' - Будет видна, если предмет поисковый. | ||
− | *'''блок аномалии''' - контейнер, представляющий собой машину, которая содержит всю информацию про аномалию. Должна содержать в себе состояния hide и | + | *'''блок аномалии''' - контейнер, представляющий собой машину, которая содержит всю информацию про аномалию. Должна содержать в себе состояния hide, show и remov (состояние после прогона аномалии, чтобы сделать красивые эффекты, после которого машина попадет в состояние hide). |
*'''иконка аномалии''' - иконка аномалии. | *'''иконка аномалии''' - иконка аномалии. | ||
*'''название аномалии''' - текстовый объект, который будет отображать название аномалии. | *'''название аномалии''' - текстовый объект, который будет отображать название аномалии. | ||
Строка 82: | Строка 87: | ||
*'''кнопка прогнать предметом''' - кнопка по нажатию которой, можно прогнать аномалию используя предмет. | *'''кнопка прогнать предметом''' - кнопка по нажатию которой, можно прогнать аномалию используя предмет. | ||
*'''кнопка купить предмет''' - кнопка по нажатию которой, можно купить предмет для прогона аномалии. | *'''кнопка купить предмет''' - кнопка по нажатию которой, можно купить предмет для прогона аномалии. | ||
− | *'''кнопка прогнать миниигрой''' - кнопка по нажатию которой, можно прогнать аномалию | + | *'''кнопка прогнать миниигрой''' - кнопка по нажатию которой, можно прогнать аномалию мини игрой. |
+ | *'''корневой объект''' - некая машина, олицетворяющая собой блок перехода в связанную локацию. Должно иметь состояния enable и disable. | ||
+ | *'''таблица артефактов''' - в таблицу будут сложены предметы, необходимы для переключения локации. | ||
+ | *'''галочка в таблице''' - графический ресурс поверх найденных предметов. | ||
+ | *'''иконка ключа''' - сюда сложим иконку предмета необходимого для переключения на альтернативную локацию. | ||
===Окно после локации=== | ===Окно после локации=== | ||
Строка 103: | Строка 112: | ||
===Окно перед монстром=== | ===Окно перед монстром=== | ||
− | *'''окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open. | + | *'''окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open - все условия выполнены, open_energy - не хватает энергии для игры, но предмет для прогона есть, open_item - есть энергия, но не хватает предмета для прогона, open_item_energy - не хватает энергии для игры и нет предмета для прогона. |
*'''превью монстра ''' - картинка, отображающая превью монстра. | *'''превью монстра ''' - картинка, отображающая превью монстра. | ||
*'''название монстра''' - текстовый объект, показывающий название монстра. | *'''название монстра''' - текстовый объект, показывающий название монстра. | ||
Строка 109: | Строка 118: | ||
*'''необходимая энергия''' - счетчик, отображающий количество необходимой энергии. | *'''необходимая энергия''' - счетчик, отображающий количество необходимой энергии. | ||
*'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег. | *'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег. | ||
+ | *'''бонусный ресурс 1''' - счетчик дополнительной награды res1, которая дается за амулеты. | ||
*'''призовой опыт''' - счетчик, отображающий количество призового опыта. | *'''призовой опыт''' - счетчик, отображающий количество призового опыта. | ||
+ | *'''бонусный опыт''' - счетчик дополнительного опыта, который дается за амулеты. | ||
*'''таблица коллекции''' - таблица, в которой будут отображаться предметы, которые можно отжать у данного монстра. | *'''таблица коллекции''' - таблица, в которой будут отображаться предметы, которые можно отжать у данного монстра. | ||
*'''иконка предмета''' - картинка, которая отображает предмет необходимый для игры с монстром. | *'''иконка предмета''' - картинка, которая отображает предмет необходимый для игры с монстром. | ||
Строка 121: | Строка 132: | ||
*'''окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open. | *'''окно''' - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open. | ||
− | *'''превью | + | *'''превью монстра''' - картинка, отображающая превью монстра. |
*'''название монстра''' - текстовый объект, показывающий название монстра. | *'''название монстра''' - текстовый объект, показывающий название монстра. | ||
*'''описание монстра''' - текстовый объект, показывающий описание монстра. | *'''описание монстра''' - текстовый объект, показывающий описание монстра. | ||
*'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег. | *'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег. | ||
+ | *'''бонусный ресурс 1''' - счетчик дополнительной награды res1, которая дается за амулеты. | ||
*'''призовой опыт''' - счетчик, отображающий количество призового опыта. | *'''призовой опыт''' - счетчик, отображающий количество призового опыта. | ||
+ | *'''бонусный опыт''' - счетчик дополнительного опыта, который дается за амулеты. | ||
*'''таблица коллекции''' - таблица, в которой будут отображаться предметы, которые можно отжать у данного монстра. | *'''таблица коллекции''' - таблица, в которой будут отображаться предметы, которые можно отжать у данного монстра. | ||
*'''ничего не найдено''' - любой объект, сообщающий игроку, так или иначе, что он не нашел ничего ценного на данной локации. | *'''ничего не найдено''' - любой объект, сообщающий игроку, так или иначе, что он не нашел ничего ценного на данной локации. | ||
Строка 151: | Строка 164: | ||
*'''окно''' - некая машина,содержащая необходимую информацию, олицетворяющая само окно предмета. Должна иметь в себе состояние open. | *'''окно''' - некая машина,содержащая необходимую информацию, олицетворяющая само окно предмета. Должна иметь в себе состояние open. | ||
− | *'''иконка''' - картинка отображающая иконку предмета-награды | + | *'''иконка''' - картинка отображающая иконку предмета-награды ( в параметр reward_text_id - запишется текстовый ID итогового предмета из текстовой базы); |
*'''текст(объект)''' - текстовый объект, отображающий название коллекции. | *'''текст(объект)''' - текстовый объект, отображающий название коллекции. | ||
*'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег. | *'''призовой ресурс 1''' - счетчик, отображающий количество призовых денег. | ||
Строка 174: | Строка 187: | ||
− | *'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само | + | *'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само поздравительное окошко. Должна иметь состояние open. |
*'''уровень''' - счетчик, отображающий номер полученного уровня. | *'''уровень''' - счетчик, отображающий номер полученного уровня. | ||
Строка 187: | Строка 200: | ||
*'''описание локации''' - текстовый объект, который отображает описание локации, которая стала доступна. | *'''описание локации''' - текстовый объект, который отображает описание локации, которая стала доступна. | ||
+ | |||
+ | ===Окошко получения уровня на локации=== | ||
+ | |||
+ | *'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само поздравительное окошко. Должна иметь состояние open. | ||
+ | *'''спецпредмет''' - объект, в который положится иконка коллекционного предмета, полученного за достижение очередного уровня мастерства на локации (настройки предмета в уровнях мастерства). | ||
+ | *'''опции''' - поле в опциях, в которое записывается уровень по локации. | ||
+ | |||
+ | ===Окошко, когда не хватает чарджера (общее) === | ||
+ | |||
+ | *'''окно''' - некая машина, содержащая необходимую информацию, олицетворяющая собой само уведомительное окошко. Должна иметь состояние open. | ||
+ | *'''иконка''' - картинка, отображающая иконку предмета, который игрок получит за сдачу коллекции. | ||
+ | *'''текст''' - текстовый объект, который будет отображать описание коллекции. | ||
+ | *'''суммарная цена ресурса 1''' - счетчик, отображающий суммарную цену всех необходимых чарджеров, представлена в виде ресурса 1 (деньги). | ||
+ | *'''суммарная цена ресурса 2''' - счетчик, отображающий суммарную цену всех необходимых чарджеров, представлена в виде ресурса 2 (кристаллы). | ||
+ | *'''кнопка купить все''' - кнопка, по нажатию которой, происходит покупка необходимых предметов. Если в кнопке есть необходимость она будет появляться, в противном случае - сама исчезать. | ||
+ | |||
+ | ===Окошко, которое выезжает когда найден коллекционный предмет === | ||
+ | |||
+ | *'''окно''' - некая машина, содержащая необходимую информацию, олицетворяет собой само поздравительное окошко. Должна иметь состояние show. | ||
+ | *'''текст''' - текстовый объект, который используется для отображения названия коллекции. | ||
+ | *'''таблица''' - таблица, в которую складываются объекты коллекции. | ||
+ | |||
+ | ===Окошко покупки артефакта=== | ||
+ | |||
+ | Кратко об артефактах. Артефакты это инвентарные предметы, которые можно найти либо купить. Они необходимы для того, чтобы была возможность играть в связанную локацию. Связанная локация - локация, которая имеет свой уникальный порядковый номер в списке локаций, но тем не менее логически привязана к локации с другим порядковым номером. Когда все артефакты, необходимые для игры в связанную локацию собраны, то при вызове состояния ''location'' объекту economics локация выбирается случайным образом между оригинальной и связанной. При этом есть возможность сменить локацию (ротация между оригинальной и связанной локацией) вызвав состояние ''location_switch''. Чтобы сменить локацию нужен предмет, который перетаскивается в поле "предмет переключения" настроек локации. | ||
+ | |||
+ | *'''окно''' - Некая машина, олицетворяющая собой само окошко покупки. Должна иметь состояние show | ||
+ | *'''таблица''' - Таблица должна иметь две строки и заполнение по столбцам. В верхнюю попадут иконки артефактов, в нижнюю - кнопки купить | ||
+ | *'''кнопка 1''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact | ||
+ | *'''кнопка 2''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact | ||
+ | *'''кнопка 3''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact | ||
+ | *'''кнопка 4''' - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact | ||
+ | |||
+ | ===Дополнительные достижения === | ||
+ | |||
+ | В этом разделе указаны некоторые достижение, которые отправляются объектом economics в gamecenter. | ||
+ | |||
+ | *'''достижение на трату ресурса 1''' - id достижения, отправляемого за трату ресурса 1 (когда игрок потратит сумму ресурса из следующего поля отправляется достижение 100%). | ||
+ | *'''количество ресурса 1''' - сумма ресурса 1, которую необходимо потратить для получения достижения. | ||
+ | *'''достижение на трату ресурса 2''' - id достижения, отправляемого за трату ресурса 2 (когда игрок потратит сумму ресурса из следующего поля отправляется достижение 100%). | ||
+ | *'''количество ресурса 2''' - сумма ресурса 2, которую необходимо потратить для получения достижения. | ||
+ | *'''достижение на число открытых локаций''' - id достижения, отправляемого за открытия количества локаций из следующего поля (при открытии нужного количества локаций отправляется 100% достижения). | ||
+ | *'''количество локаций''' - кол-во локаций, которое необходимо открыть для получения достижения. | ||
+ | *'''достижение за покупки чего-либо''' - id достижения, отправляемого за совершенное количество покупок из следующего поля (при покупке нужного количества отправляется 100% достижения). | ||
+ | *'''количество покупок''' - количество покупок, которое необходимо свершить для получения достижения. | ||
+ | |||
+ | ===Покупка рандомного предмета=== | ||
+ | |||
+ | При вызове объекту economics состояния ''buy_random_col'' покупается случайный коллекционный предмет. Визуализацией покупки служит выпадающий на сцену объект из вкладки настроек "Летающий объект" | ||
+ | |||
+ | *'''res1''' - цена предмета в ресурсе 1. | ||
+ | *'''исключения''' - id предметов, которые не попадут в случайный выбор. Перетаскиваются из текстовой базы. | ||
+ | *'''каунтер''' - объект типа counter в который сложится цена предмета. | ||
+ | |||
+ | === Статус === | ||
+ | Статус - дополнительный экономический параметр игрока, который зависит от внутриигровых действий. Статус определяется кол-вом статусных очков, которые начисляются за совершение in-app покупки и при достижении нового уровня (exp). | ||
+ | |||
+ | Тесно связан с [[Wallet|Wallet]]. | ||
+ | |||
+ | *'''очки для повышения''' - массив чисел, указываем через запятую. Обозначает нужное кол-во очков статуса для перехода на следующий уровень. Пример: 0, 150, 3850. Изначальный уровень уже получен при инициализации экономики. Для перехода на следующий (2-й) нужно получить 150 очков. На 3-й - 3850 и т.д. | ||
+ | *'''множитель статуса при покупке''' - массив чисел, указываем через запятую. Обозначает коэф., на который домножим базовое значение статусных очков при покупке. Зависит от текущего статуса. Пример: 1,2,3. Базовое значение за покупку - 18 очков статуса. При совершении покупки, имея 1-й статус - получаем 18 очков. Имея второй статус - 36, третий - 54. | ||
+ | *'''множитель монет при покупке''' - Аналогично предыдущему пункту. | ||
+ | *'''прибавка за уровень''' - массив чисел, указываем через запятую. Показывает сколько статусных очков будет получено при достижении уровня exp, учитывая текущий статус. | ||
+ | *'''множитель дейли-бонуса''' - массив чисел, указываем через запятую. Множитель, который можно использовать при начислении ежедневного бонуса. Зависит только от текущего статуса. | ||
+ | |||
+ | '''Поля в опциях''' | ||
+ | * ecomics%d.stlev - текущий уровень статуса (начиная с 0!) | ||
+ | * ecomics%d.stpoints - поинты внутри текущего уровня | ||
+ | * comics%d.stdaily - множитель для дейли бонуса | ||
+ | * ecomics%d.stmult - множитель для монеток | ||
+ | |||
+ | === Настройки симуляции === | ||
+ | |||
+ | *'''время''' - время симуляции, измеряется в секундах. | ||
+ | |||
+ | *'''минимум в локации''' - нижняя граница диапазона времени проводимого игроком в хиддене. Отображается в виде доли от времени из настроек локации. | ||
+ | |||
+ | *'''максимум в локации''' - верхняя граница диапазона времени проводимого игроком в хиддене. Отображается в виде доли от времени из настроек локации. | ||
+ | *'''порог покупки''' - число, указывающее какую долю, от ресурсов игрока, должна составлять цена локации, что бы он решился её купить. | ||
+ | *'''порог покупки предмета''' - число, указывающее какую долю,от ресурсов игрока, должна составлять цена предмета, что бы он решился его купить. | ||
+ | *'''вероятность задачи''' - число, отображающее вероятность того, что симуляция будет выбирать не из всех доступных локаций, а из связанных с заданиями. | ||
+ | *'''вероятность матча''' - число, отображающее вероятность того, что симуляция будет играть в матч. | ||
+ | *'''изначально хинтов''' - изначальное количество хинтов. | ||
+ | *'''предметов на хинт''' - на сколько найденных предметов игрок израсходует хинт. | ||
+ | *'''цена хинта монеты''' - сколько монет (ресурс 1), стоит некий усредненный хинт. | ||
+ | *'''цена хинта кристаллы''' - сколько кристаллов (ресурс 2), стоит некий усредненный хинт. | ||
+ | *'''хидденов подряд''' - игрок будет пытаться пройти не менее данного числа хидденов подряд. | ||
+ | *'''восстановить энергии''' - некое усредненное количество энергии для восстановления. | ||
+ | *'''цена энергии монеты''' - сколько монет стоит энергия (цена в ресурсе 1). | ||
+ | *'''цена энергии кристаллы''' - сколько кристаллов стоит энергия (цена в ресурсе 2). | ||
+ | *'''вероятность победы в матче'' - число, отображающее вероятность победы в матче. | ||
+ | *'''время в матче''' - условное время пребывания в матче. | ||
+ | *'''вероятность покупки за реал''' - каждый раз когда игроку не хватает денег или кристаллов - проверяем эту вероятность. | ||
+ | *'''цена монеты в деньгах''' - цена монеты в деньгах. | ||
+ | *'''количество монет в покупке''' - количество монет в покупке. | ||
+ | *'''цена кристаллов в деньгах''' - цена кристаллов деньгах. | ||
+ | *'''количество кристаллов в покупке''' - количество кристаллов в покупке. | ||
+ | |||
+ | |||
+ | === Настройки равномерной экономики === | ||
+ | |||
+ | Нужно в случае, если мы хотим давать за локации и монстров одинаковую награду (опыт, затрата энергии, вне зависимости от настроек в economics_setup). Награда может отличаться только для монстров (если в economics_setup мы укажем монстру в поле награда опыт - 0, то экономика начислять опыт не будет). | ||
+ | |||
+ | *'''локация энергия''' - стоимость энергии на игру хидн или монстр; | ||
+ | *'''локация опыт''' - награда за успешное прохождение локации/монстра ( при условии что для монстра в поле награды не стоит 0 ); | ||
+ | *'''коллекция опыт min''' - минимальный опыт за успешную сдачу коллекции; | ||
+ | *'''коллекция опыт max''' - максимальный опыт за успешную сдачу коллекции; | ||
+ | *'''коллекция монеты min''' - минимальная награда за успешную сдачу коллекции; | ||
+ | *'''коллекция монеты max''' - максимальная награда за успешную сдачу коллекции; | ||
==Поле economics setup== | ==Поле economics setup== | ||
Строка 193: | Строка 315: | ||
[[Файл:Economics 1.jpg|500px]] | [[Файл:Economics 1.jpg|500px]] | ||
− | Economics setup содержит | + | Economics setup содержит 11 вкладок : локация хидден, коллекция, предметы, окошко когда не хватает чарджера (чарджер), нехватка ресурсов на чарджер, монстр, летающий объект, аномалия, сдача коллекции, временный эффект, достижение. |
Вверху можно увидеть ряд кнопок для добавления и удаления: справа для локаций, слева для уровней мастерства. | Вверху можно увидеть ряд кнопок для добавления и удаления: справа для локаций, слева для уровней мастерства. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
===Локация хидден=== | ===Локация хидден=== | ||
Строка 216: | Строка 342: | ||
*'''достижение''' - достижение, которое будет открываться по мере игры в эту локацию. | *'''достижение''' - достижение, которое будет открываться по мере игры в эту локацию. | ||
*'''процент''' - проценты достижения из предыдущего поля. | *'''процент''' - проценты достижения из предыдущего поля. | ||
+ | *'''объект для музыки''' ('''musObj''') - объект которому в поле "location_music" будет записан id музыки из поля "музыка", при запуске локации; | ||
+ | *'''музыка''' ('''musId''') - id музыки локации; | ||
В третей колонке записываются уровни мастерства. Их можно переименовать. Добавляются кнопкой ''Добавить уровень мастерства''. Удаляются кнопкой ''Удалить уровень мастерства''. В четвертой колонке настраивается выделенный уровень мастерства. | В третей колонке записываются уровни мастерства. Их можно переименовать. Добавляются кнопкой ''Добавить уровень мастерства''. Удаляются кнопкой ''Удалить уровень мастерства''. В четвертой колонке настраивается выделенный уровень мастерства. | ||
[[Файл:Economics 3.jpg|right]] | [[Файл:Economics 3.jpg|right]] | ||
+ | ====Уровень мастерства==== | ||
*'''энергия''' - энергия требуемая для того, чтобы играть в локацию. | *'''энергия''' - энергия требуемая для того, чтобы играть в локацию. | ||
*'''ресурс 1''' - деньги даваемые за прохождение локации. | *'''ресурс 1''' - деньги даваемые за прохождение локации. | ||
Строка 226: | Строка 355: | ||
*'''кол-во объектов''' - максимальное количество доступных для поиска объектов в одной игровой сессии. | *'''кол-во объектов''' - максимальное количество доступных для поиска объектов в одной игровой сессии. | ||
*'''время игры''' - общее время игры (если -1, то игнорируется). | *'''время игры''' - общее время игры (если -1, то игнорируется). | ||
− | *'''режим игры''' - режим игры: 0 - случайный, 1- слова, 2 - силуэты. | + | *'''время игры (блиц)''' - время игры с аномалией "блиц". |
+ | *'''время игры (аном)''' - время игры с остальными аномалиями. | ||
+ | *'''режим игры''' - режим игры: 0 - случайный, 1- слова, 2 - силуэты, 3 - поиск отличий; | ||
+ | *'''использовать различия''' - да - будут генирироватся режим поиска отличий, нет - не будут; Для корректной работы, следующей за сценой с хидн предметами, должна находиться пустая сцена с такими же параметрами как и у сцены с хидн предметами. Также между двумя сценами ( хидн и fake-сценой) должна быть связь по тасканию; | ||
*'''аномалия''' - вероятность возникновения аномалии в локациях. | *'''аномалия''' - вероятность возникновения аномалии в локациях. | ||
− | *'''доступные аномалии''' - перечень доступных на данном уровне мастерства аномалий. Записываются в виде чисел через запятую. Доступные значения 0, 1, 2, 3. | + | *'''доступные аномалии''' - перечень доступных на данном уровне мастерства аномалий. Записываются в виде чисел через запятую. Доступные значения 0, 1, 2, 3, 4. |
*'''множитель''' - коэффициент, на который умножаются набранные очки. при расчете перехода на следующий уровень. Может быть меньше 1. | *'''множитель''' - коэффициент, на который умножаются набранные очки. при расчете перехода на следующий уровень. Может быть меньше 1. | ||
*'''постоянный прирост''' - постоянный прирост, если он больше 0, то будет использоваться ВМЕСТО реально набранных в хиддене очков и множителя. | *'''постоянный прирост''' - постоянный прирост, если он больше 0, то будет использоваться ВМЕСТО реально набранных в хиддене очков и множителя. | ||
Строка 240: | Строка 372: | ||
*'''Вероятность инв. 2''' - вероятность найти один из инвентарных предметов из предыдущего поля. | *'''Вероятность инв. 2''' - вероятность найти один из инвентарных предметов из предыдущего поля. | ||
*'''Вероятность инв. 3''' - вероятность найти один из инвентарных предметов из предыдущего поля. | *'''Вероятность инв. 3''' - вероятность найти один из инвентарных предметов из предыдущего поля. | ||
+ | *'''Коллекционный предмет''' - предмет из коллекций, который будет дан игроку по достижению этого уровня мастерства. | ||
+ | |||
+ | ====Ивентовые предметы==== | ||
+ | Предметы будут доступны для выпадения с локации, пока активно поле в опциях. | ||
+ | *'''Поле в опциях''' - поле в опциях для проверки активности ивента(в юзере); | ||
+ | *'''Значение''' - значение поля для проверки ивента; | ||
+ | *'''Предметы''' - айдишники добавляемых предметов (в дроп локации, на всех уровнях мастерства); | ||
+ | |||
+ | ---- | ||
===Коллекция=== | ===Коллекция=== | ||
Строка 252: | Строка 393: | ||
*'''награда''' - предмет даваемый за сдачу коллекции. Перетаскивается из текстовой базы. | *'''награда''' - предмет даваемый за сдачу коллекции. Перетаскивается из текстовой базы. | ||
*'''заряжатели''' - Предметы инвентаря, необходимые для сдачи коллекции. ВНИМАНИЕ: будут использоваться не более первых 4х элементов списка. | *'''заряжатели''' - Предметы инвентаря, необходимые для сдачи коллекции. ВНИМАНИЕ: будут использоваться не более первых 4х элементов списка. | ||
+ | *'''достижение''' - достижение, которое будет открываться по мере сдачи этой коллекции. | ||
+ | *'''процент''' - проценты достижения из предыдущего поля. | ||
+ | *'''уровень для подарка''' - уровень, начиная с которого предметы этой коллекции можно дарить | ||
===Предметы=== | ===Предметы=== | ||
Строка 273: | Строка 417: | ||
*'''можно продать''' - возможность продавать предмет: 1 - можно продать, 0 - нельзя продать. | *'''можно продать''' - возможность продавать предмет: 1 - можно продать, 0 - нельзя продать. | ||
− | *'''уникальный''' - если 1 - то предмет уникальный пропадает после покупки, если 0 - предмет после покупки не пропадает | + | *'''уникальный''' - если 1 - то предмет уникальный пропадает после покупки, если 0 - предмет после покупки не пропадает, если 3 - предмет покупается один раз, остальные разы только применяется |
*'''res1''' - цена предмета в ресурсе 1. | *'''res1''' - цена предмета в ресурсе 1. | ||
Строка 285: | Строка 429: | ||
*'''en''' - восстанавливает энергии единовременно. | *'''en''' - восстанавливает энергии единовременно. | ||
− | *'''tm''' - длительность действия в секундах. | + | *'''tm''' - длительность действия в секундах. Если поставить "-1", то действие предмета будет вечным, отображаться в таблице амулетов он не будет. Можно активировать сколько угодно раз. "-2" - действие предмета будет вечным, но активно не более одной копии. |
*'''dTm''' - уменьшение времени восстановления энергии в %. | *'''dTm''' - уменьшение времени восстановления энергии в %. | ||
Строка 298: | Строка 442: | ||
*'''dOvP''' - увеличение перегруженной вероятности нахождения предметов в %. | *'''dOvP''' - увеличение перегруженной вероятности нахождения предметов в %. | ||
+ | |||
+ | *'''dMaxEn''' - увеличение максимума энергии в %. | ||
+ | |||
+ | *'''dBonus1''' - накопительный монетный бонус (в случае, если предмет дает ежедневный денежный прирост). Суммируется (от всех предметов имеющих это поле отличное от 0) и записывается в поле total_amulet_bonus1 экономикса. Автоматически не начисляется. | ||
+ | |||
+ | *'''dBonus1''' - накопительный кристальный бонус (в случае, если предмет дает ежедневный денежный прирост). Суммируется (от всех предметов имеющих это поле отличное от 0) и записывается в поле total_amulet_bonus2 экономикса. Автоматически не начисляется. | ||
+ | |||
+ | *'''dPurchase''' - к каждой покупке предмета добавляется еще столько таких же предметов. Актуально в тех случаях, когда приобретение предмета активирует акцию 1+1. | ||
+ | |||
+ | *'''dIsomover''' - ускорение взаимодействия изомуверов в %. (Каждому изомуверу, на который должно распространяться действие, нужно включить флаг "использовать бонусы ко времени"). | ||
+ | |||
+ | *'''область применения''' - область, в которой будет учитываться бонус от предмета (везде, локация, монстр). | ||
+ | |||
+ | *'''KOfflineRep''' - пока действует предмет, меняем KOffline репутации (настраивается в свойствах экономики в группе репутации) на этот параметр. Область действия от -1 до 1. Поэтому дефолтное значение этого параметра "-2". | ||
+ | |||
+ | *'''dHdnConst''' - Увеличение значения поля постоянный прирост в % | ||
*'''num''' - число предметов в сундуке. Выбираются случайно из следующего поля. При 0 - следующее поле не используется. | *'''num''' - число предметов в сундуке. Выбираются случайно из следующего поля. При 0 - следующее поле не используется. | ||
Строка 312: | Строка 472: | ||
*'''владелец''' - на данный момент - номер правильной кнопки в окне угадайки (если -1. то игнорируется). | *'''владелец''' - на данный момент - номер правильной кнопки в окне угадайки (если -1. то игнорируется). | ||
+ | |||
+ | *'''монстр''' - номер монстра, в игре с которым нужно применить этот предмет. Актуально для задач на применение хинтов в мини играх. | ||
+ | |||
+ | *'''обработчик конца действия''' - объект, обработчик конца действия амулета. | ||
+ | |||
+ | *'''состояние обработчика''' - состояние обработчика конца действия амулета (объект из поля выше будет переведен в это состояние по окончанию действия амулета). | ||
+ | |||
+ | *'''дарить с уровня''' - уровень с которого возможно дарить этот предмет | ||
+ | |||
+ | *'''кнопка применить - поле в опциях''' ( '''btn_use_field''' ) - для применяемого предмета, указываем поле для проверки значения, если условие истинно - кнопка применить будет доступна; иначе - выключена ("disable"); | ||
+ | *'''кнопка применить - значение''' ( '''btn_use_val''' ) - значение для проверки условия, в поле '''кнопка применить - поле в опциях'''; | ||
+ | *'''кнопка применить - НЕ''' ( '''btn_use_not''' ) - от результата сравнения взять обратное; | ||
+ | |||
+ | ====Создание предметов (крафт)==== | ||
+ | |||
+ | В третьей колонке можно добавлять ингридиенты из которых состоит предмет. Ингридиенты сами по себе являются также инвентарными предметами. В четвертой колонке указывается текстовый id ингридиента и необходимое количество данного ингридиента. | ||
===Окошко когда не хватает чарджера=== | ===Окошко когда не хватает чарджера=== | ||
Строка 319: | Строка 495: | ||
*'''иконка''' - иконка чарджера. | *'''иконка''' - иконка чарджера. | ||
*'''описание''' - текстовый объект в который вкладывается название чарджера. | *'''описание''' - текстовый объект в который вкладывается название чарджера. | ||
− | *'''купить''' - кнопка покупка чарджера. | + | *'''купить''' - кнопка покупка чарджера, передает economics состояние buy_charger. |
− | *'''искать''' - кнопка поиска чарджера. | + | *'''искать''' - кнопка поиска чарджера, передает economics состояние search_charger. |
*'''есть''' - счетчик, который показывает сколько чарджеров есть сейчас. | *'''есть''' - счетчик, который показывает сколько чарджеров есть сейчас. | ||
*'''нужно''' - счетчик, который показывает сколько чарджерова необходимо для сдачи коллекции. | *'''нужно''' - счетчик, который показывает сколько чарджерова необходимо для сдачи коллекции. | ||
Строка 334: | Строка 510: | ||
Во второй колонке отображаются свойства выделенной колонки. | Во второй колонке отображаются свойства выделенной колонки. | ||
− | *'''Объект на карте''' - объект, который представляет монстра на карте. Как правило окно, которое должно иметь состояние hide и | + | *'''Объект на карте''' - объект, который представляет монстра на карте. Как правило окно, которое должно иметь состояние hide (скрыт),show и disappear (прогнали). |
*'''Имя монстра''' - текстовый id из которого берется иконка, имя и описание монстра. | *'''Имя монстра''' - текстовый id из которого берется иконка, имя и описание монстра. | ||
*'''Экран''' - экран в котором расположена локация. | *'''Экран''' - экран в котором расположена локация. | ||
Строка 341: | Строка 517: | ||
*'''необходимый предмет''' - предмет необходимый для игры с духом. | *'''необходимый предмет''' - предмет необходимый для игры с духом. | ||
*'''количество''' - количество предметов из поля "необходимый предмет". | *'''количество''' - количество предметов из поля "необходимый предмет". | ||
− | *'''связанный баттл''' - поле в котором указывается связанный | + | *'''связанный баттл''' - поле в котором указывается связанный объект типа matchbattle. |
− | *'''связанный матч''' - | + | *'''связанный матч''' - поле в котором указывается связанный матч. |
+ | *'''окно внутри монстра''' - объект, который покажем в экране с мини игрой в случае победы. Должен иметь состояния open - в случае обычной победы, open_win - если перешли на следующий уровень мастерства. Чтобы это окно перешло в одно из этих состояний передаем экономике состояние ''monster_win_wnd''. | ||
+ | *'''текст внутри монстра''' - текстовый объект, в который сложим поздравительный текст о переходе на следующий уровень мастерства. | ||
+ | *'''очищать statesmanager''' - 1 - при передаче экономике состояния monster_play для этого монстра все очереди statesmanager будут чиститься; 0 - не будут. | ||
В третей колонке записываются уровни мастерства. Их можно переименовывать. Добавляются уровни кнопкой "Добавить уровень мастерства", удаляются кнопкой "Удалить уровень мастерства". | В третей колонке записываются уровни мастерства. Их можно переименовывать. Добавляются уровни кнопкой "Добавить уровень мастерства", удаляются кнопкой "Удалить уровень мастерства". | ||
Строка 351: | Строка 530: | ||
*'''опыт''' - опыт даваемый за прохождение локации. | *'''опыт''' - опыт даваемый за прохождение локации. | ||
*'''постоянный прирост''' - постоянный прирост. | *'''постоянный прирост''' - постоянный прирост. | ||
+ | *'''штраф за поражение''' - кол-во очков, которые отнимаются за проигрыш. | ||
*'''очки''' - количество очков, которое необходимо набрать для перехода на следующий уровень мастерства. | *'''очки''' - количество очков, которое необходимо набрать для перехода на следующий уровень мастерства. | ||
*'''предметы''' - id коллекционных предметов, которые можно найти на локации. Предметы не обязательно должны быть из одной коллекции. Необходимые предметы перетаскиваются из текстового редактора, при этом будет использоваться их иконка. | *'''предметы''' - id коллекционных предметов, которые можно найти на локации. Предметы не обязательно должны быть из одной коллекции. Необходимые предметы перетаскиваются из текстового редактора, при этом будет использоваться их иконка. | ||
Строка 360: | Строка 540: | ||
*'''Вероятность инв. 2''' - вероятность найти один из инвентарных предметов из поля "инвентарь". | *'''Вероятность инв. 2''' - вероятность найти один из инвентарных предметов из поля "инвентарь". | ||
*'''Вероятность инв. 3''' - вероятность найти один из инвентарных предметов из поля "инвентарь". | *'''Вероятность инв. 3''' - вероятность найти один из инвентарных предметов из поля "инвентарь". | ||
+ | *'''текст при разлочке уровня''' - текстовый id из которого возьмем поздравительный текст о разлочке нового уровня. | ||
*'''жизни врага''' - записываются значения вражеских жизней. | *'''жизни врага''' - записываются значения вражеских жизней. | ||
*'''начальные жизни врага''' - начальное значение вражеских жизней. | *'''начальные жизни врага''' - начальное значение вражеских жизней. | ||
*'''регенерация врага''' - время (в ms), за которое у противника отрастает жизнь. Если установлено -1, то отрастания жизни противника на происходит. | *'''регенерация врага''' - время (в ms), за которое у противника отрастает жизнь. Если установлено -1, то отрастания жизни противника на происходит. | ||
*'''число цветов''' - это число будет записываться в параметр numTokenNums матча. | *'''число цветов''' - это число будет записываться в параметр numTokenNums матча. | ||
+ | |||
+ | Автоматические уровни мастерства отличаются всего несколькими дополнительными полями. | ||
+ | |||
+ | *'''количество''' - количество автоматических уровней. | ||
+ | *'''энергия''' - начальное значение энергии за игру. | ||
+ | *'''энергия прирост''' - прирост энергии за каждый уровень мастерства. | ||
+ | *'''ресурс 1''' - начальное значение ресурса1, который мы получаем за прохождение. | ||
+ | *'''ресурс 1 прирост''' - прирост ресурса1 за каждый уровень мастерства. | ||
+ | *'''опыт''' - начальное значение опыта, который мы получаем за прохождение. | ||
+ | *'''опыт прирост''' - прирост опыта за каждый уровень мастерства. | ||
+ | *'''нулевой штраф каждые n уровней''' - раз в столько уровней штраф за поражение будет нулевым (-1 - не использовать). | ||
+ | |||
+ | Также есть возможность перегружать некоторые параметры уровней мастерства. Для этого нужно выбрать монстра и в выпадающем списке вверху выбрать пункт "перегрузка параметров".Перегрузок может быть несколько. | ||
+ | |||
+ | Для настройки перегрузки нужно выбрать ее в 3 колонке, при этом в 4 колонке отобразятся параметры перегрузки. | ||
+ | Сейчас перегрузку можно привязать к уровням XP игрока и к уровню монстра. Под уровнем монстра имеется ввиду уровень мастерства, отсчет начинается с 0. Перегружать можно энергию, затрачиваемую на монстра, награду (золото и опыт), а также инвентарные и коллекционные предметы. | ||
+ | |||
+ | ''Важно!'' Если поля инвентарных и коллекционных предметов оставить пустыми - то предметы выпадать не будут. | ||
===Летающий объект=== | ===Летающий объект=== | ||
Впервой колонке кнопкой "Добавить локацию" добавляется летающий объект - объекты которые вылетают после прохождения локации или после покупки сундуков. Удаляется кнопкой "Удалить локацию". Во второй колонке добавляется объект выделенного летающего объекта. Состояния hide, wait, inventory и collection - обязательны для этого предмета. | Впервой колонке кнопкой "Добавить локацию" добавляется летающий объект - объекты которые вылетают после прохождения локации или после покупки сундуков. Удаляется кнопкой "Удалить локацию". Во второй колонке добавляется объект выделенного летающего объекта. Состояния hide, wait, inventory и collection - обязательны для этого предмета. | ||
+ | |||
+ | ''hide'' - состояние, когда объект не видно на экране. В этом состоянии можно указать свойство alpha=0. | ||
+ | |||
+ | ''wait'' - состояние, в которое попадают летающие объекты, которые отображают коллекционные предметы до того, как объекту economics будет вызвано состояние col_item_found. | ||
+ | |||
+ | ''collection'' - состояние, которое будет вызвано летающему объекту, который отображает коллекционный предмет после того как объекту economics будет вызвано состояние col_item_found (он может лететь в таблицу с нужной коллекцией). | ||
+ | |||
+ | ''inventory'' - состояние, которое вызывается летающему объекту в случае, если он отображает инвентарный объект (в этом состоянии предмет становится видимым и в дальнейшем может перемещаться). | ||
===Аномалия=== | ===Аномалия=== | ||
+ | В хидден-локации могут присутствовать аномалии, затрудняющие ее прохождение. | ||
Впервой колонке добавляется аномалия, добавляется кнопкой "Добавить локацию", можно переименовывать, удаляется кнопкой "Удалить локацию". | Впервой колонке добавляется аномалия, добавляется кнопкой "Добавить локацию", можно переименовывать, удаляется кнопкой "Удалить локацию". | ||
Во второй колонке отображаются свойства выделенной аномалии. | Во второй колонке отображаются свойства выделенной аномалии. | ||
*'''id''' - поле в которое перетаскивается текстовый id, из которого используется название, описание и иконка аномалии. | *'''id''' - поле в которое перетаскивается текстовый id, из которого используется название, описание и иконка аномалии. | ||
*'''предмет''' - предмет необходимый для того, что бы изгнать аномалию. | *'''предмет''' - предмет необходимый для того, что бы изгнать аномалию. | ||
− | *'''экран''' - в этом поле указывается экран, в котором расположена | + | *'''экран''' - в этом поле указывается экран, в котором расположена мини игра. |
*'''прибавка к энергии''' - указывается прибавка к энергии, поскольку для игры в аномалию будет нужно больше энергии. Например, при значении 0,5 - энергии потребуется больше в полтора раза. | *'''прибавка к энергии''' - указывается прибавка к энергии, поскольку для игры в аномалию будет нужно больше энергии. Например, при значении 0,5 - энергии потребуется больше в полтора раза. | ||
*'''прибавка к опыту''' - указывается прибавка к опыту, поскольку игра в локацию с аномалией будет давать больше опыта. Например, при значении 0,5 - опыта приобретается больше в полтора раза. | *'''прибавка к опыту''' - указывается прибавка к опыту, поскольку игра в локацию с аномалией будет давать больше опыта. Например, при значении 0,5 - опыта приобретается больше в полтора раза. | ||
Строка 381: | Строка 589: | ||
===Сдача коллекции=== | ===Сдача коллекции=== | ||
− | В первой колонке добавляется | + | В первой колонке добавляется событие на сдачу коллекции кнопкой "Добавить локацию", удаляется кнопкой "Удалить локацию". |
Во второй колонке устанавливается состояние объекту сдачи коллекции. | Во второй колонке устанавливается состояние объекту сдачи коллекции. | ||
===Временный эффект=== | ===Временный эффект=== | ||
− | + | Временный эффект - визуализация действия различных инвентарных объектов, которые применил игрок. | |
+ | В первой колонке создается временный эффект, добавляется кнопкой "Добавить локацию", удаляется кнопкой "Удалить локацию". | ||
Во второй колонке устанавливаются свойства выделенного временного эффекта. | Во второй колонке устанавливаются свойства выделенного временного эффекта. | ||
Строка 403: | Строка 612: | ||
*'''режим игры''' - указывается режим игры, ели 0 - режим игры не важен для достижения, 1 - режим игры слова, 2 - режим игры силуэты. | *'''режим игры''' - указывается режим игры, ели 0 - режим игры не важен для достижения, 1 - режим игры слова, 2 - режим игры силуэты. | ||
− | *'''аномалия''' - указывается аномалия необходимая для достижения, если указывается -2 - то аномалия не важна для достижения, если указывается -1 - то для достижения может использоваться любая аномалия. | + | *'''аномалия''' - указывается аномалия необходимая для достижения, если указывается -2 - то аномалия не важна для достижения, если указывается -1 - то для достижения может использоваться любая аномалия. 0 - текстовая аномалия, 1 - ночь, 2 - трансформация цвета, 3 - дым. |
==Состояния== | ==Состояния== | ||
Строка 411: | Строка 620: | ||
<br clear /br> | <br clear /br> | ||
− | + | *'''idle''' - состояние по умолчанию. | |
− | *'''completed''' - передает состояние окончания исследования локации (необходим параметр номера локации). | + | *'''completed''' - передает состояние окончания исследования локации (необходим параметр номера локации), перед вызовом состояния, можно экономике заполнить поле '''additional_inv''' - перечнем инвентарных предметов которые хотим добавить пользователю ( поместить в таблицу + чтобы экономика поместила их в летающие объекты), через запятую (к примеру additional_inv="12345,25841") . |
*'''exp''' - передает состояние начисления опыта (необходим параметр количества опыта). Нужен больше для тестирования, чем для самой игры. | *'''exp''' - передает состояние начисления опыта (необходим параметр количества опыта). Нужен больше для тестирования, чем для самой игры. | ||
− | *'''play''' - передает состояния перехода на локацию для исследования. | + | *'''play''' - передает состояния перехода на локацию для исследования(при условии что хватит энергии и выполнены прочие условия). |
*'''location''' - открывает окно перед локацией (необходим параметр номера локации). | *'''location''' - открывает окно перед локацией (необходим параметр номера локации). | ||
− | *'''collection''' - заставляет экономикс заполнить таблицу коллекций. Лучше вызывать сразу перед открытием окна коллекций или во время его открытия. | + | *'''collection''' - заставляет экономикс заполнить таблицу коллекций. Лучше вызывать сразу перед открытием окна коллекций или во время его открытия. Для применения фильтрации коллекций перед вызовом состояния задать параметр ''collectionFilter'' (0 - все, 1 - все предметы, 2 - не хватает одного, 3 - новые). Для определения коллекции в категорию "новые" указать в настройках коллекции ''cnew'' (''новая'' - признак новизны для фильтра. >0 - новая). |
*'''collections_scroll''' - заполняет таблицу коллекций и проматывает на коллекцию содержащую последний предмет для которого было показано окошко с информацией о предмете. | *'''collections_scroll''' - заполняет таблицу коллекций и проматывает на коллекцию содержащую последний предмет для которого было показано окошко с информацией о предмете. | ||
+ | *'''collections_custom''' - перематывает таблицу к нужной коллекции. id коллекции записывается предварительно в param. | ||
*'''item_collections''' - заставляет экономикс показать окошко с информацией о коллекционном предмете. Вызывается при тапе на таблицу в темплейте коллекций (объект ecollection). | *'''item_collections''' - заставляет экономикс показать окошко с информацией о коллекционном предмете. Вызывается при тапе на таблицу в темплейте коллекций (объект ecollection). | ||
+ | *'''item_effect''' - сообщает economics, что необходимо показать окошко предмета от таймэфекта (необходим параметр номера эффекта) | ||
*'''item_preview''' - заставляет экономикс показать окошко с информацией о предмете, который можно найти при обыске локации. Вызывается при тапе на таблицу с предметами в окне перед локацией. | *'''item_preview''' - заставляет экономикс показать окошко с информацией о предмете, который можно найти при обыске локации. Вызывается при тапе на таблицу с предметами в окне перед локацией. | ||
*'''item_review''' - заставляет экономикс показать окошко с информацией о предмете, который нашли после обыска локации. Вызывается при тапе на таблицу с предметами в окне после локации. | *'''item_review''' - заставляет экономикс показать окошко с информацией о предмете, который нашли после обыска локации. Вызывается при тапе на таблицу с предметами в окне после локации. | ||
+ | *'''item_monster_preview''' - заставляет экономикс показать окошко с информацией о предмете, который можно найти при игре с монстром. Вызывается при тапе на таблицу с предметами в окне перед монстром. | ||
+ | *'''item_monster_review''' - заставляет экономикс показать окошко с информацией о предмете, который нашли после игры с монстром. Вызывается при тапе на таблицу с предметами в окне после монстра. | ||
*'''completed_animation''' - состояние запускает анимацию полученной награды за прохождение локации после "окна после локации". Можно запускать из состояния закрытия окна после локации. | *'''completed_animation''' - состояние запускает анимацию полученной награды за прохождение локации после "окна после локации". Можно запускать из состояния закрытия окна после локации. | ||
+ | *'''unlock_item''' - передает состояние покупки предмета, необходимого для открытия локации. Как правило, предмет находится в окне перед локацией. | ||
+ | *'''unlock''' - передает состояние при котором происходит разлочка локации если текущий уровень на один ниже, чем необходимый для открытии локации или значение ''разница в уровнях'', позволяет разлочить локацию. Как правило кнопка для разблокирования локации размещается в окне перед локацией. Когда разница уровней достаточна, чтобы разлочить локацию машина локации переводится в состояние '''can_buy'''. | ||
*'''completed_reward''' - вызывается объектом анимации награды после прохождения локации. Если объектов несколько (опыт, монеты, кристаллы), то вызывается только один раз одним из объектов. | *'''completed_reward''' - вызывается объектом анимации награды после прохождения локации. Если объектов несколько (опыт, монеты, кристаллы), то вызывается только один раз одним из объектов. | ||
+ | *'''search_charger''' - производит поиск недостающего чарджера. Пока только по монстрам. Номер чарджера 0 или 1 - в парам. | ||
+ | *'''buy_charger''' - производит покупку недостающего чарджера (номер в параметре, -1 - купить все). | ||
+ | *'''update''' - обновить все локации на карте. | ||
+ | *'''level_up''' - проверяет получение нового уровня. Чтобы окно с получением нового уровня не открывалось самостоятельно, мы вызываем это состояние, когда нам удобно. Проверяется был ли получен новый уровень, если был, то вызывается окно с получением нового уровня. | ||
+ | *'''res1''' - Добавить ресурс 1 (значение в параметре). | ||
+ | *'''res2''' - Добавить ресурс 2 (значение в параметре). | ||
+ | *'''res1s''' - скорректировать статистику по ресурсу 1 (значение в параметре, когда, например, ресурс не заработан, а выигран в казино). | ||
+ | *'''res2s''' - скорректировать статистику по ресурсу 2 (значение в параметре, когда, например, ресурс не заработан, а выигран в казино). | ||
+ | *'''energy''' - Добавить энергию (значение в параметре). | ||
+ | *'''energy_no_max''' - Добавить энергию перманентно - без ограничения перевала за максимум (значение в параметре). | ||
+ | *'''failed''' - текущая локация провалена (не дается опыта и прочих наград за прохождение локации). Требует параметра локации. | ||
+ | *'''item_effect''' - показать окошко предмета от таймэффекта. В param - номер эффекта. | ||
+ | *'''item_effect_last''' - показать окошко предмета от последнего активированного таймэффекта. У машины окошка должно быть состояние "open_last". | ||
+ | *'''search_collection''' - проскроллить карту на локацию где можно найти коллекционный предмет. При этом машина локации (Объект на карте) будет переведена в состояние highlight, в котором локацию можно посветить или выделить ее каким-то образом. | ||
+ | *'''search_task''' - проскроллить карту на локацию где можно найти предмет из задания. При этом машина локации (Объект на карте) будет переведена в состояние highlight, в котором локацию можно посветить или выделить ее каким-то образом. | ||
+ | *'''search_charger''' - проскролить карту на монстр, в котором можно найти чарджер (необходимо значение чарджера в параметре 0 или 1). | ||
+ | *'''monster''' - Открыть превью для монстра с номером указанном в поле параметр. | ||
+ | *'''monster_play''' - Играть в мини игру выбранного монстра (при условии, что хватит энергии и выполнены прочие условия). | ||
+ | *'''monster_removed''' - Монстра прогнали предметами. Вычесть предметы и успешно завершить. | ||
+ | *'''monster_completed''' - Текущая мини игра так или иначе пройдена, перед вызовом состояния, можно экономике заполнить поле '''additional_inv''' - перечнем инвентарных предметов которые хотим добавить пользователю ( поместить в таблицу + чтобы экономика поместила их в летающие объекты), через запятую (к примеру additional_inv="12345,25841") . | ||
+ | *'''monster_failed''' - Текущая мини игра провалена, отличается от предыдущего тем, что не дается бонусного опыта и прочих наград. | ||
+ | *'''monster_buy''' - попытаться докупить предметы, необходимые для игры с монстром. | ||
+ | *'''col_item_param''' - Добавить коллекционный предмет, взяв его айди из параметра. | ||
+ | *'''anomaly_item''' - попытаться прогнать аномалию в текущей локации предметом. В зависимости от номера аномалии, машина локации (Объект на карте) переводится в состояние anomaly_N, где N - номер аномалии начиная с 0. (anomaly_0, anomaly_1 и т.д.). Таким образом можно визуализировать аномалию на карте. | ||
+ | *'''anomaly_game''' - попытаться прогнать аномалию в текущей локации мини игрой. | ||
+ | *'''anomaly_completed''' - мини игра по прогону аномалии успешно завершена. | ||
+ | *'''anomaly_buy''' - показать окно покупки для предмета прогона аномалии (в текущей локации). | ||
+ | *'''cheat_loc_level''' - "накачать" всем локациям скилл левел до максимума (для тестирования). | ||
+ | *'''chest_animation''' - анимировать последний использованный сундук. | ||
+ | *'''col_item_found''' - показать окошко с коллекцией для одного найденного коллекционного предмета из очереди. | ||
+ | *'''cheat_one_level''' - просимулировать один уровень развития игрока. | ||
+ | *'''purchase_ok''' - сообщает economocs что произошла покупка. Сформировать событие флури. | ||
+ | *'''buy_random_col''' - купить случайный коллекционный предмет. | ||
+ | *'''location_switch''' - переключить локацию на связанную (если есть предмет и собраны все артефакты, необходимые для перехода). | ||
+ | *''' anomaly_set_everywhere''' - генерация аномалии. Если в объекте Economics в параметре param указан номер аномалии, то состояние добавляет аномалию всем локациям, а если -1, то убирает аномалию из всех локаций. | ||
+ | *''' buy_artefact''' - осуществляет покупку артефакта для локации. Для этого у объекта economics в param должен быть записан номер локации, а в param2 номер артефакта (номер по порядку начиная с 0). | ||
+ | *'''show_artefacts''' - Показать таблицу покупки артефактов в param - номер локации | ||
+ | *'''location_buy_all_switchers''' - Купить все артефакты доступные для данной локации | ||
+ | *'''search_ingridient''' - переход в локацию для поиска ингредиента, который указан в param. | ||
+ | *'''search_needitem''' - поиск необходимого для исследования локации предмета из окна перед локацией. В param должен быть указан id необходимого предмета. | ||
+ | *'''copy''' - скопировать основные параметры (опыт, уровень, энергия) и количество предметов из одной экономики в другую. Перед вызовом указать в поле "param" id экономики куда перенесём значение. Если экономика в кот. копируем выключена по disable="1" - нужно с начало установить disable="0", вызвать сост. "init", а уже после в неё копировать. | ||
+ | *'''set_was_visited_flag''' - установить флаг посещаемости локации (loc%n%.wv="1") для календаря. В param должен быть указан id необходимого предмета. | ||
+ | *'''clear_was_visited_flag''' - снять флаг посещаемости локации (loc%n%.wv="0") для календаря.В param должен быть указан id необходимого предмета. | ||
+ | *'''srand_hidden''' - перетряхнуть связанный с хидденом генератор псевдослучайных чисел. Можно вызывать перед локацией, если возникает зацикливание хидденов. '''''КАТЕГОРИЧЕСКИ НЕЛЬЗЯ вызывать его при честном мультиплеере - в нем все определяется сидом от сервера''''' | ||
+ | *'''download_pack''' - попросить экономику скачать пак для локации из поля param (используется при использовании динамических паков - конфигов, [https://docs.google.com/document/d/13UUOKf_iJNzFx0PjU4JQIfYDX7NhK7dyfJAR3I-SWlQ/edit детальнее]). | ||
+ | *'''temporary_unlock''' - открывает доступ в хидден-локацию на время. Применение - передать это состояние экономике и одновременно запустить глобалтаймер, который по окончанию действия закроет эту локацию. | ||
+ | *'''clear_temporary_unlock''' - закрывает доступ в хидден-локацию, если она была открыта временно. | ||
+ | *'''search_task_only_open''' - вызываем из окна таска, откроет превью локации в которой можно найти требуемый предмет. Аналог search_task, но ищет только в открытых локациях; | ||
+ | *'''search_task_only_week''' - вызываем из окна таска, откроет превью локации в которой можно найти требуемый предмет. Аналог search_task, но ищет только в открытых локациях текущей недели (работа по календарю). | ||
+ | |||
+ | Календарь (локации заполняем в таблицу как календарь): | ||
+ | *'''unlock_for_today''' - попросить экономику разблокировать диапазон локации до конца текущего дня (диапазон указываем посредством полей "param" и "param2" - [param,param2]) . | ||
+ | *'''today_table''' - промотать таблицу до текущего дня. | ||
+ | *'''location_table_get_name''' - открыть превью локации, по нажатой ячейке таблицы календаря. | ||
+ | *'''clear_packs''' - очистить паки которые не использовались n-н дней (где n - параметр '''packDeleteDays'''). | ||
+ | |||
+ | При начислении экономикой res1 и res2 во флурри отправляются события coins_get, diams_get. Для того чтобы источники монет/кристаллов (параметр source) в событии приходили с адекватными значениями, перед вызовом состояния начисления экономике нужно записать параметр "res_source" в соответствии со значениями в списке: | ||
+ | |||
+ | SOURCE_UNKNOWN = 0, //!< неизвестный источник | ||
+ | SOURCE_PURCHASE = 1, //!< покупка | ||
+ | SOURCE_HIDDEN_WIN = 2, //!< выигрыш в хиддене | ||
+ | SOURCE_MINIGAME_WIN = 3, //!< выигрыш в миниигре | ||
+ | SOURCE_DAILY_BONUS = 4, //!< дейли бонус | ||
+ | SOURCE_SOCIAL_BONUS = 5, //!< бонусы за социалку | ||
+ | SOURCE_CASINO = 6, //!< казино | ||
+ | SOURCE_EXCHANGE = 7, //!< биржа | ||
+ | SOURCE_DEPOSIT = 8, //!< депозит | ||
+ | SOURCE_COLLECTION_GOT = 9, //!< сдача коллекций | ||
+ | SOURCE_GUES = 10, //!< угадайка | ||
+ | SOURCE_TASK_COMPLETE = 11, //!< выполнена задача | ||
+ | SOURCE_TRIVIA = 12, //!< миллионер | ||
+ | SOURCE_REDEEM = 13, //!< начисление из админки | ||
+ | SOURCE_LEVEL_UP = 14, //!< достижение уровня | ||
+ | SOURCE_USE_ITEM = 15, //!< использование предмета | ||
+ | SOURCE_PET_GOLD_COLLECTED = 16, //!< собрали бонус животного у пэта | ||
+ | SOURCE_PET_COLLECTION_GOT = 17, //!< сдача коллекции животных | ||
+ | SOURCE_SLOTMACHINE = 18, //!< слотмашина | ||
+ | SOURCE_RPGBATTLE = 19, //!< псевдоРПГ бой | ||
+ | SOURCE_SLOTFALLING = 20, //!< вторая слотмашина | ||
+ | SOURCE_MAP_CHEST = 21 //!< сундуки на карте | ||
+ | SOURCE_ADVERTISEMENT = 22, //!< реклама | ||
+ | SOURCE_CONTEST_PRIZE = 23 //!< соревнования | ||
+ | |||
+ | |||
+ | П.С. для мануального начисления (уникальный источник под каждый проект) | ||
+ | 31 // игровая награда №1 | ||
+ | 32 // игровая награда №2 | ||
+ | 33 // игровая награда №3 | ||
+ | 34 // игровая награда №4 | ||
+ | 35 // игровая награда №5 | ||
+ | 36 // игровая награда №6 | ||
+ | 37 // игровая награда №7 | ||
+ | 38 // игровая награда №8 | ||
+ | 39 // игровая награда №9 | ||
+ | 40 // игровая награда №10 | ||
+ | |||
+ | =Коды ошибок:= | ||
+ | При скачивании паков, посредством фоновой загрузки или через состояние "download_pack" могут возникать ошибки (которые можем словить через еррорменеджер): | ||
+ | *'''1''' - ошибка не классифицирована | ||
+ | *'''2''' - отсутствует соединение с интернетом | ||
+ | *'''3''' - отсутствуют ресурсы по данному запросу | ||
+ | *'''4''' - недостаточно оперативной памяти для загрузки | ||
+ | *'''5''' - недостаточно памяти в файловой системе для загрузки | ||
+ | *'''6''' - ошибка работы с файловой системой во время загрузки | ||
+ | *'''7''' - недостаточно оперативной памяти для распаковки | ||
+ | *'''8''' - недостаточно памяти в файловой системе для распаковки | ||
+ | *'''9''' - ошибка работы с файловой системой во время распаковки | ||
+ | *'''10''' - ошибка проверки распакованного пака | ||
+ | *'''11''' - ошибка распаковки | ||
+ | |||
=Сопутствующие объекты= | =Сопутствующие объекты= | ||
Строка 428: | Строка 753: | ||
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь: | Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь: | ||
− | * [[Файл: | + | * [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря(магазина) и экономики. |
− | * [[Файл: | + | * [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина. |
− | * [[Файл: | + | * [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря. |
− | * [[Файл:Kub.png]] - [[Taskorganizer]] - органайзер заданий. | + | * [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета. |
− | * [[Файл: | + | * [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий. |
− | * [[Файл: | + | * [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания. |
+ | * [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции. | ||
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер | * [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер | ||
+ | |||
+ | =Вычитаемые параметры= | ||
+ | Данные параметры можно вычесть с помощью команды "var" в машине состояний. Параметры нужно вычитать из профиля, если не сказано обратное. | ||
+ | [id] - числовой id экономики в проекте, если не указана другая информация. | ||
+ | |||
+ | *'''ecomics[id].res1sp''' - количество потраченного ресурса_1 за все время игры; | ||
+ | *'''ecomics[id].res2sp''' - количество потраченного ресурса_2 за все время игры; | ||
+ | *'''ecomics[id].res1log''' - текущее значение ресурса_1 выраженное в логарифмической шкале; | ||
+ | *'''ecomics[id].res1logfl''' - текущее значение ресурса_1 выраженное в логарифмической шкале с учётом депозитов и биржи; | ||
+ | *'''ecomics[id].level''' - текущий уровень игрока; | ||
+ | *'''ecomics[id].res1''' - текущее количество ресурса_1; | ||
+ | *'''ecomics[id].res2''' - текущее количество ресурса_2; | ||
+ | *'''ecomics[id].res1ea''' - количество заработанного ресурса_1 за все время игры; | ||
+ | *'''ecomics[id].res2ea''' - количество заработанного ресурса_2 за все время игры; | ||
+ | *'''economics[id].stat.energy_spent''' - количество потраченной энергии за все время игры; | ||
+ | *'''ecomics[id].mplayed''' - количество сыгранных миниигр (монстр) за все время; | ||
+ | *'''ecomics[id].lplayed''' - количество сыгранных хидденов за все время; | ||
+ | *'''ecomics[id].total_score''' - количество заработанного опыта за все время игры; | ||
+ | *'''ecomics[id].exp''' - текущий опыт на уровне; | ||
+ | *'''ecomics[id].energy''' - текущий уровень энергии; | ||
+ | *'''ecomics[id].loc[loc_id].an''' - номер аномалии, которая будет в локации loc_id; | ||
+ | *'''amulets_bonus_res1''' - множитель монет за бонусы от амулетов, при начислении по сост. "res1"; | ||
+ | *'''amulets_bonus_res2''' - множитель кристаллов за бонусы от амулетов, при начислении по сост. "res2"; | ||
+ | *'''amulets_bonus_exp''' - множитель опыта за бонусы от амулетов, при начислении по сост. "exp"; | ||
+ | |||
+ | |||
+ | Каждая экономика пишет в пользователя следующие параметры: | ||
+ | *'''public.EconomicsRes1''' - текущее количество ресурса_1; | ||
+ | *'''public.EconomicsRes2''' - текущее количество ресурса_2; | ||
+ | *'''public.EconomicsLevel''' - текущий уровень игрока; | ||
+ | *'''public.EconomicsEnergy''' - текущий уровень энергии; | ||
+ | *'''public.EconomicsTotalScore''' - количество заработанного опыта за все время игры; | ||
+ | *'''public.EconomicsCollectionsUniq''' - количество сданных коллекций ( значение повышается каждый раз при сдаче коллекции), пишется Экономикой только если поле - '''fbopt''' не пустое; | ||
+ | |||
+ | =Календарь и всё про него= | ||
+ | Данный режим позволяет создавать клонированные превью локаций и располагать локации по датам (одна локация - конкретная дата). | ||
+ | Визуально выглядит вот так: | ||
+ | |||
+ | [[Файл:Econom calendar viewer.png|400px|center]] | ||
+ | |||
+ | Настраивается рядом параметров (режим работы, визуальное оформление - таблица настраивается отдельно - ) | ||
+ | [[Файл:Econom calendart.jpg|400px|right]] | ||
+ | *'''шаблон объекта на карте''' ('''tmplIco''') - превью локации - может быть как машинкой или "elocationpreview"(в этом случае, за превью локации берётся машинка из поля "иконка" - ей будут вызываться состояния и писаться параметры). | ||
+ | Должны быть подключены все состояния для машинки превью локации ("highlight","level_0","level_1"...) и дополнительно: | ||
+ | **'''apply''' - обновление имени локации (название дата) - в данном состоянии можно изменять параметры текста - выравнивание, размер шрифта и т.д. | ||
+ | **'''not_played''' - игрок заходил в день локации, но не играл в HG; | ||
+ | **'''not_visited''' - игрок не заходил в день локации; | ||
+ | **'''future''' - локация закрыта и находится в будущем; | ||
+ | Параметры которые пишутся в превью локации: | ||
+ | **'''season''' - сезон локации (0 - зима; 1 - Весна; 2 - Лето; 3 - Осень); | ||
+ | **'''in_past''' - находится локаций ранее текущей недели (0 - нет; 1 - да); | ||
+ | **'''cellShift''' - смещении локации от центрального элемента таблицы (знак "-" - влево; знак "+" - вправо); | ||
+ | |||
+ | |||
+ | *'''заглушка''' ('''tmplDummy''') - объект-заглушка, добавляется в начало и вконец таблицы - для правильной работы круговой таблицы; | ||
+ | *'''количество заглушек''' ('''tmplDummyNum''') - количество добавляемых заглушек; | ||
+ | *'''таблица''' ('''tableIco''') - таблица в которую будут складываться превью локации (должна иметь память - чтобы создались один раз); | ||
+ | *'''разлочить дней от текущего влево''' ('''daysunlock''') - указываем крайнее левое значение диапазона локаций текущей недели ( относительно, текущего, календарного дня); | ||
+ | *'''разлочить дней от текущего влево''' ('''daysunlockr''') - указываем крайнее правое значение диапазона локаций текущей недели( относительно, текущего, календарного дня); | ||
+ | *'''очищать все коллекционные предметы при смене дня''' ('''clearcollections''') - при смене календарного дня - очистить все полученные коллекционные предметы; | ||
+ | *'''прогресс загрузки''' ('''packProgress''') - прогресс загрузки пака, в окне перед локацией; | ||
+ | |||
+ | Формат даты (можно использовать переменные в тексте _day - число, _weekDay - день недели, _mon - полное название месяца, _short - сокращенное название месяца): | ||
+ | *'''формат даты центр''' ('''dateFormatCenter''') - текстовый ресурс, который будет помещён в имя локации (дата) центрального элемента таблицы; | ||
+ | *'''формат даты лево''' ('''dateFormatLeft''') - текстовый ресурс, который будет помещён в имя локации (дата) всем элементам левее центрального элемента таблицы; | ||
+ | *'''формат даты право''' ('''dateFormatRight''') - текстовый ресурс, который будет помещён в имя локации (дата) всем элементам правее центрального элемента таблицы; | ||
+ | *'''дни недели''' ('''dateWeekDays''') - перечень текстовых ресурсов, которые будут браться для каждого дня недели ( первый текст - понедельник, второй - вторник ...); | ||
+ | *'''месяцы''' ('''dateMonthes''') - перечень текстовых ресурсов для месяцев ( начинаем с января; sense0 - полное название, sense1 - короткое); | ||
+ | |||
+ | Фоновая прогрузка паков (при смене дня и при старте сессии): | ||
+ | *'''автозакачка паков влево''' ('''packNLeft''') - указываем крайную левую локацию диапазона; | ||
+ | *'''автозакачка паков вправо''' ('''packNRight''') - указываем крайную правую локацию диапазона; | ||
+ | |||
+ | *'''поправка на 29 февраля''' ('''tableFeb29Adjust''') - обрабатываем 29 Февраля или нет; | ||
+ | *'''начальная дата''' ('''startDate''') - Дата самой первой локации (unix time); | ||
+ | *'''удалять паки не используемые (дней)''' ('''packDeleteDays''') - количество дней,спустя которое пак считается устаревшим, при превышении - пак удалится с устройства при вызове состояния '''clear_packs'''. По сути это разница между текущей датой и датой последнего использования пака. Дата последнего использования пака обновляется после игры в локацию (через сост. "play") или при успешной распаковке пака. | ||
+ | |||
+ | =Динамические паки= | ||
+ | Функционал позволяет уменьшить размер приложения, посредством разбиения арта на паки, и в процессе игры их скачивания [https://docs.google.com/document/d/13UUOKf_iJNzFx0PjU4JQIfYDX7NhK7dyfJAR3I-SWlQ/edit# (см. документ)]. | ||
+ | |||
+ | [[Category:Game mechanic]] | ||
+ | [[Category:Economics|*]] |
Текущая версия на 09:03, 2 августа 2021
Объект Economics служит для реализации сложной игровой механики типа "ферма". Он осуществляет связь между игровыми локациями, накопленным опытом, текущим количеством энергии, денег и кристаллов (можно использовать и другие названия ресурсов), а также управляет объектами коллекций, магазина, инвентаря и игровых заданий.
Содержание
- 1 Свойства
- 1.1 Параметры
- 1.1.1 Основные параметры
- 1.1.2 Основные счетчики
- 1.1.3 Окно перед локацией
- 1.1.4 Окно после локации
- 1.1.5 Окно перед монстром
- 1.1.6 Окно после монстра
- 1.1.7 Окно коллекций
- 1.1.8 Окошко коллекционного предмета
- 1.1.9 Окошко поздравления со сдачей коллекции
- 1.1.10 Окошко инвентарного предмета
- 1.1.11 Окошко поздравления с получением уровня
- 1.1.12 Окошко поздравления с получением уровня и открытием локации
- 1.1.13 Окошко получения уровня на локации
- 1.1.14 Окошко, когда не хватает чарджера (общее)
- 1.1.15 Окошко, которое выезжает когда найден коллекционный предмет
- 1.1.16 Окошко покупки артефакта
- 1.1.17 Дополнительные достижения
- 1.1.18 Покупка рандомного предмета
- 1.1.19 Статус
- 1.1.20 Настройки симуляции
- 1.1.21 Настройки равномерной экономики
- 1.2 Поле economics setup
- 1.3 Состояния
- 1.1 Параметры
- 2 Коды ошибок:
- 3 Сопутствующие объекты
- 4 Вычитаемые параметры
- 5 Календарь и всё про него
- 6 Динамические паки
Свойства
- предметы - Объект типа eitems.
- задачи - Объект типа taskorganizer.
Параметры
Основные параметры
- disable - выключена ли экономика, если 1 - то экономика не реагирует на состояния и не сейвится в опции. Чтобы изменить параметр, меняем его и вызываем сост. "init"
- Сдвиг уровней ( levels_shift ) - число на которое сдвинется анлок уровней в economics setup; после задания параметра нужно проинитить экономику;
- Уровни - опыт, необходимый для перехода на следующий уровень. Последовательность чисел через запятую.
- Уровни парабола - Три числа через запятую, задающие коэффициенты параболы, которые определяют необходимый опыт после уже перечисленных уровней.
- Энергия - максимум энергии на каждом из уровней. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.
- Энергия прибавка - Число определяющее прибавку к максимуму энергии после уже перечисленных уровней.
- Ресурс 1 - количество ресурса 1 добавляемое за уровень. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.
- Ресурс 2 - количество ресурса 2 добавляемое за уровень. Последовательность чисел через запятую. Последнее значение будет зациклено для всех последующих уровней.
- Перезарядка - время за которое восстанавливается единица энергии в ms.
- нач. ресурс 1 - Начальное значение ресурса 1.
- нач. ресурс 2 - Начальное значение ресурса 2.
- время напоминания - время напоминания о задачах на каждом из уровней. Записывается в виде последовательности чисел через запятую. Последнее значение будет зациклено для всех последующих уровней. Время изменяется в часах.
- напоминание об энергии - уведомление перетаскивается с текстового редактора, представляет собой напоминание о том что энергия восстановилась. Например, "Ваше энергия полностью восстановлена". (устанавливается, когда энергии становится меньше 30%).
- опции для facebook - поле в опциях, куда мы будем записывать 32 битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние
- перегрузить очки из опций - если поле не пустое - будут взяты очки из поля опций текущего пользователя, указаного в этой строке.
- во временные отправлять - какие очки будут отправлены во временные лидерборды esocial'ом. При выборе кастомное заполнение будут отправлены очки из поля temporary_lb_score в опциях текущего пользователя (p0.temporary_lb_score например). Кастомные очки нужно добавлять вручную, по окончанию периода они будут обнулены автоматически.
- округление res1 и т.п. до кратных 5 ( bonusroundup ) - нужно ли округлять бонусные монеты и опыт для локации до кратных 5.
Основные счетчики
Этот раздел содержит необходимые объекты для подсчета (counter, timer, progressbar).
- Уровень - счетчик текущего уровня игрока.
- Прогресс в уровне (счетчик) - Набранный на этом уровне опыт и остаток до следующего уровня (счетчик).
- Прогресс в уровне (бар) - Набранный на этом уровне опыт и остаток до следующего уровня (прогрессбар).
- Опыта до уровня - счетчик показывающий сколько опыта необходимо для перехода с текущего уровня на следующий.
- Текущая энергия - прогрессбар текущей энергии.
- Максимальная энергия - счетчик, который отображает значение максимальной энергии.
- Таймер энергии - таймер отображающий время до восстановления единицы энергии.
- Таймер всей энергии - таймер, который отображает время до восстановления всей энергии.
- Ресурс 1 - счетчик первого ресурса (денег).
- Ресурс 2 - счетчик второго ресурса (кристаллов).
- анимация рес.1 - Анимационный объект награды в ресурсе 1. Должен иметь состояние show.
- анимация рес.2 - Анимационный объект награды в ресурсе 2. Должен иметь состояние show.
- анимация опыт - Анимационный объект награды в опыте. Должен иметь состояние show.
Окно перед локацией
Настройка окна, которое всплывает перед посещением локации. В этом окне отображается информация о локации которую мы хотим посетить.
- Окно - некая машина, олицетворяющая собой само окно превью. Должна иметь состояния open - открыта, open_lvl - не хватает лвл, open_buy - разница в уровнях позволяет нам купить анлок, open_item - не хватает предмета для анлока, open_unlock - состояние вызываемое окну перед локацией после успешной покупки предмета для анлока, open_energy - состояние вызываемое окну перед локацией в случае нехватки энергии, open_need_item - состояние, вызываемое окну перед локацией в случае нехватки предмета, open_need_item_energy - состояние, вызываемое окну перед локацией в случае нехватки энергии и предмета.
- Превью локации - графический ресурс для отображения превью локации. В это поле можно поставить любую картинку для того, чтобы корректно разместить ее в "окне перед локацией". Далее экономикс сам будет подставлять нужные превью.
- Название локации - текстовый объект, в который будет подставляться название локации.
- Описание локации - текстовый объект, в который будет подставляться описание локации.
- Уровень мастерства - счетчик уровня мастерства.
- Прогрессбар уровня мастерства - прогрессбар, который отображает уровень мастерства.
- Текущий уровень - счетчик текущего уровня мастерства.
- Необходимая энергия - счетчик необходимой энергии.
- Аномальная энергия - счетчик, который отображает дополнительную энергию при наличии аномалии в локации.
- Призовой ресурс 1 - счетчик призовых денег.
- Аномальный ресурс 1 - счетчик, который отображает количество дополнительных призовых денег, которые даются за игру в локацию с наличием аномалии.
- Призовой ресурс 2 - счетчик призовых кристаллов.
- Призовой опыт - счетчик призового опыта.
- Аномальный опыт - счетчик, который отображает значение дополнительного опыта, который дается за игру в локацию с наличием аномалии.
- Таблица коллекции - таблица, в которой будут отображаться предметы, которые можно найти в данной локации.
для закрытой по уровню локации
- Режим игры - машина, которой будут устанавливаться состояния в зависимости от режима игры (может быть смешанный, текст или силуэт). TODO пока обладает только режимом text и icon. Эта машина будет передавать настройки таблице, в которую помещаются поисковые объекты, поэтому важно, чтобы к этой таблице был доступ (например она может находится на глобальном экране).
- индикатор уровня - счетчик с необходимым для локации уровнем.
для локации c ценой
- цена ресурс 1 - Стоимость анлока локации в ресурсе 1.
- цена ресурс 2 - Стоимость анлока локации в ресурсе 2.
для локации c требуемым предметом
- предмет - иконка необходимого для локации предмета.
- название предмета - в этом поле указывается название, необходимого для локации предмета.
- счетчик цены - счетчик, который отображает стоимость предмета.
- иконка цены - иконка цены предмета, представляет собой картинку, которая перетаскивается из базы ресурсов.
- кнопка купить - Будет видна, если предмет нужно купить. Передает экономиксу состояние unlock_item.
- кнопка искать - Будет видна, если предмет поисковый.
- блок аномалии - контейнер, представляющий собой машину, которая содержит всю информацию про аномалию. Должна содержать в себе состояния hide, show и remov (состояние после прогона аномалии, чтобы сделать красивые эффекты, после которого машина попадет в состояние hide).
- иконка аномалии - иконка аномалии.
- название аномалии - текстовый объект, который будет отображать название аномалии.
- описание аномалии - текстовый объект, который будет отображать описание аномалии.
- иконка предмета - иконка предмета, необходимого для того что бы прогнать аномалию.
- кнопка прогнать предметом - кнопка по нажатию которой, можно прогнать аномалию используя предмет.
- кнопка купить предмет - кнопка по нажатию которой, можно купить предмет для прогона аномалии.
- кнопка прогнать миниигрой - кнопка по нажатию которой, можно прогнать аномалию мини игрой.
- корневой объект - некая машина, олицетворяющая собой блок перехода в связанную локацию. Должно иметь состояния enable и disable.
- таблица артефактов - в таблицу будут сложены предметы, необходимы для переключения локации.
- галочка в таблице - графический ресурс поверх найденных предметов.
- иконка ключа - сюда сложим иконку предмета необходимого для переключения на альтернативную локацию.
Окно после локации
Настройка окна, которое всплывает после посещения локации. В этом окне отображается информация о полученных очках и предметах за исследование локации.
- Окно - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open.
- Название локации - текстовый объект, в который будет подставляться название локации.
- Описание локации - текстовый объект, в который будет подставляться описание локации.
- Уровень мастерства - счетчик уровня мастерства.
- Прогрессбар мастерства - прогрессбар, который отображает уровень мастерства.
- Текущий уровень - счетчик текущего уровня мастерства.
- Призовой ресурс 1 - счетчик призовых денег.
- Аномальный ресурс 1 - счетчик, который отображает количество дополнительных денег за прохождение локации с аномалией.
- Призовой ресурс 2 - счетчик призовых кристаллов.
- Призовой опыт - счетчик призового опыта.
- Аномальный опыт - счетчик, отображающий дополнительный призовой опыт, который дается за прохождение локации с аномалией.
- Таблица коллекции - таблица, в которой будут отображаться предметы, которые можно найти в данной локации.
- ничего не найдено - Любой объект, так или иначе сообщающий игроку, что он не нашел ничего ценного.
Окно перед монстром
- окно - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open - все условия выполнены, open_energy - не хватает энергии для игры, но предмет для прогона есть, open_item - есть энергия, но не хватает предмета для прогона, open_item_energy - не хватает энергии для игры и нет предмета для прогона.
- превью монстра - картинка, отображающая превью монстра.
- название монстра - текстовый объект, показывающий название монстра.
- описание монстра - текстовый объект, показывающий описание монстра.
- необходимая энергия - счетчик, отображающий количество необходимой энергии.
- призовой ресурс 1 - счетчик, отображающий количество призовых денег.
- бонусный ресурс 1 - счетчик дополнительной награды res1, которая дается за амулеты.
- призовой опыт - счетчик, отображающий количество призового опыта.
- бонусный опыт - счетчик дополнительного опыта, который дается за амулеты.
- таблица коллекции - таблица, в которой будут отображаться предметы, которые можно отжать у данного монстра.
- иконка предмета - картинка, которая отображает предмет необходимый для игры с монстром.
- нужно предметов - счетчик, который отображает необходимое количество предметов.
- есть предметов - счетчик, который отображает текущее количество предметов, находящееся в наличии.
- суммарная стоимость - счетчик, который отображает суммарную стоимость недостающих предметов.
- кнопка купить - кнопка, по нажатию которой, происходит покупка недостающих предметов.
- кнопка прогнать - кнопка, по нажатию которой, можно прогнать монстра не играя в игру, эту кнопку можно не задавать.
Окно после монстра
- окно - некая машина, олицетворяющая собой само окно превью. Должна иметь состояние open.
- превью монстра - картинка, отображающая превью монстра.
- название монстра - текстовый объект, показывающий название монстра.
- описание монстра - текстовый объект, показывающий описание монстра.
- призовой ресурс 1 - счетчик, отображающий количество призовых денег.
- бонусный ресурс 1 - счетчик дополнительной награды res1, которая дается за амулеты.
- призовой опыт - счетчик, отображающий количество призового опыта.
- бонусный опыт - счетчик дополнительного опыта, который дается за амулеты.
- таблица коллекции - таблица, в которой будут отображаться предметы, которые можно отжать у данного монстра.
- ничего не найдено - любой объект, сообщающий игроку, так или иначе, что он не нашел ничего ценного на данной локации.
Окно коллекций
- Шаблон коллекции - ссылка на объект типа ecollection который будет использоваться в качестве исходного для всех коллекций.
- Таблица - таблица, куда по ссылке будут добавлены шаблоны коллекции.
- алерт - некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open. Окно с информацией о предмете всплывает в окне с коллекциями.
- иконка - Иконка предмета.
- текст (объект) - Текстовый объект в окошке.
- описание (объект) - Текстовый объект в окошке, в который сложим описание предмета.
- имя коллекции (объект) - В это поле будет записано имя коллекции, к которой относится предмет.
- цифры - фреймовая анимация содержащая в себе цифры. Последний фрейм анимации - отметка много.
Окошко коллекционного предмета
- окно - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open. Окошко всплывает при клике на предмет в таблице окна перед/после локации.
- иконка - Иконка предмета.
- текст (объект) - Текстовый объект в окошке.
- описание (объект) - Текстовый объект в окошке, в который сложим описание предмета.
- имя коллекции (объект) - В это поле будет записано имя коллекции, к которой относится предмет.
Окошко поздравления со сдачей коллекции
- окно - некая машина,содержащая необходимую информацию, олицетворяющая само окно предмета. Должна иметь в себе состояние open.
- иконка - картинка отображающая иконку предмета-награды ( в параметр reward_text_id - запишется текстовый ID итогового предмета из текстовой базы);
- текст(объект) - текстовый объект, отображающий название коллекции.
- призовой ресурс 1 - счетчик, отображающий количество призовых денег.
- призовой опыт - счетчик, отображающий количество призовых денег.
Окошко инвентарного предмета
- окно - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open. Окошко всплывает при клике на предмет в таблице окна перед/после локации.
- иконка - Иконка предмета.
- текст (объект) - Текстовый объект в окошке.
- описание (объект) - Текстовый объект в окошке, в который сложим описание предмета.
Окошко поздравления с получением уровня
- окно - некая машина, содержащая необходимую информацию, олицетворяющая собой само окно предмета. Должна иметь состояние open.
- уровень - счетчик, отображающий номер полученного уровня.
- энергия - счетчик, отображающий количество энергии, которая прибавляется к максимуму.
- ресурс 1 - счетчик, отображающий количество денег.
- ресурс 2 - счетчик, отображающий количество кристаллов.
Окошко поздравления с получением уровня и открытием локации
- окно - некая машина, содержащая необходимую информацию, олицетворяющая собой само поздравительное окошко. Должна иметь состояние open.
- уровень - счетчик, отображающий номер полученного уровня.
- энергия - счетчик, отображающий количество энергии, которая прибавляется к максимуму.
- ресурс 1 - счетчик, отображающий количество денег.
- ресурс 2 - счетчик, отображающий количество кристаллов.
- иконка локации - картинка, отображающая иконку локации, которая стала доступна
- описание локации - текстовый объект, который отображает описание локации, которая стала доступна.
Окошко получения уровня на локации
- окно - некая машина, содержащая необходимую информацию, олицетворяющая собой само поздравительное окошко. Должна иметь состояние open.
- спецпредмет - объект, в который положится иконка коллекционного предмета, полученного за достижение очередного уровня мастерства на локации (настройки предмета в уровнях мастерства).
- опции - поле в опциях, в которое записывается уровень по локации.
Окошко, когда не хватает чарджера (общее)
- окно - некая машина, содержащая необходимую информацию, олицетворяющая собой само уведомительное окошко. Должна иметь состояние open.
- иконка - картинка, отображающая иконку предмета, который игрок получит за сдачу коллекции.
- текст - текстовый объект, который будет отображать описание коллекции.
- суммарная цена ресурса 1 - счетчик, отображающий суммарную цену всех необходимых чарджеров, представлена в виде ресурса 1 (деньги).
- суммарная цена ресурса 2 - счетчик, отображающий суммарную цену всех необходимых чарджеров, представлена в виде ресурса 2 (кристаллы).
- кнопка купить все - кнопка, по нажатию которой, происходит покупка необходимых предметов. Если в кнопке есть необходимость она будет появляться, в противном случае - сама исчезать.
Окошко, которое выезжает когда найден коллекционный предмет
- окно - некая машина, содержащая необходимую информацию, олицетворяет собой само поздравительное окошко. Должна иметь состояние show.
- текст - текстовый объект, который используется для отображения названия коллекции.
- таблица - таблица, в которую складываются объекты коллекции.
Окошко покупки артефакта
Кратко об артефактах. Артефакты это инвентарные предметы, которые можно найти либо купить. Они необходимы для того, чтобы была возможность играть в связанную локацию. Связанная локация - локация, которая имеет свой уникальный порядковый номер в списке локаций, но тем не менее логически привязана к локации с другим порядковым номером. Когда все артефакты, необходимые для игры в связанную локацию собраны, то при вызове состояния location объекту economics локация выбирается случайным образом между оригинальной и связанной. При этом есть возможность сменить локацию (ротация между оригинальной и связанной локацией) вызвав состояние location_switch. Чтобы сменить локацию нужен предмет, который перетаскивается в поле "предмет переключения" настроек локации.
- окно - Некая машина, олицетворяющая собой само окошко покупки. Должна иметь состояние show
- таблица - Таблица должна иметь две строки и заполнение по столбцам. В верхнюю попадут иконки артефактов, в нижнюю - кнопки купить
- кнопка 1 - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact
- кнопка 2 - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact
- кнопка 3 - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact
- кнопка 4 - Купить артефакт. Должна в param2 - номер артефекта и вызывать состояние экономике buy_artefact
Дополнительные достижения
В этом разделе указаны некоторые достижение, которые отправляются объектом economics в gamecenter.
- достижение на трату ресурса 1 - id достижения, отправляемого за трату ресурса 1 (когда игрок потратит сумму ресурса из следующего поля отправляется достижение 100%).
- количество ресурса 1 - сумма ресурса 1, которую необходимо потратить для получения достижения.
- достижение на трату ресурса 2 - id достижения, отправляемого за трату ресурса 2 (когда игрок потратит сумму ресурса из следующего поля отправляется достижение 100%).
- количество ресурса 2 - сумма ресурса 2, которую необходимо потратить для получения достижения.
- достижение на число открытых локаций - id достижения, отправляемого за открытия количества локаций из следующего поля (при открытии нужного количества локаций отправляется 100% достижения).
- количество локаций - кол-во локаций, которое необходимо открыть для получения достижения.
- достижение за покупки чего-либо - id достижения, отправляемого за совершенное количество покупок из следующего поля (при покупке нужного количества отправляется 100% достижения).
- количество покупок - количество покупок, которое необходимо свершить для получения достижения.
Покупка рандомного предмета
При вызове объекту economics состояния buy_random_col покупается случайный коллекционный предмет. Визуализацией покупки служит выпадающий на сцену объект из вкладки настроек "Летающий объект"
- res1 - цена предмета в ресурсе 1.
- исключения - id предметов, которые не попадут в случайный выбор. Перетаскиваются из текстовой базы.
- каунтер - объект типа counter в который сложится цена предмета.
Статус
Статус - дополнительный экономический параметр игрока, который зависит от внутриигровых действий. Статус определяется кол-вом статусных очков, которые начисляются за совершение in-app покупки и при достижении нового уровня (exp).
Тесно связан с Wallet.
- очки для повышения - массив чисел, указываем через запятую. Обозначает нужное кол-во очков статуса для перехода на следующий уровень. Пример: 0, 150, 3850. Изначальный уровень уже получен при инициализации экономики. Для перехода на следующий (2-й) нужно получить 150 очков. На 3-й - 3850 и т.д.
- множитель статуса при покупке - массив чисел, указываем через запятую. Обозначает коэф., на который домножим базовое значение статусных очков при покупке. Зависит от текущего статуса. Пример: 1,2,3. Базовое значение за покупку - 18 очков статуса. При совершении покупки, имея 1-й статус - получаем 18 очков. Имея второй статус - 36, третий - 54.
- множитель монет при покупке - Аналогично предыдущему пункту.
- прибавка за уровень - массив чисел, указываем через запятую. Показывает сколько статусных очков будет получено при достижении уровня exp, учитывая текущий статус.
- множитель дейли-бонуса - массив чисел, указываем через запятую. Множитель, который можно использовать при начислении ежедневного бонуса. Зависит только от текущего статуса.
Поля в опциях
- ecomics%d.stlev - текущий уровень статуса (начиная с 0!)
- ecomics%d.stpoints - поинты внутри текущего уровня
- comics%d.stdaily - множитель для дейли бонуса
- ecomics%d.stmult - множитель для монеток
Настройки симуляции
- время - время симуляции, измеряется в секундах.
- минимум в локации - нижняя граница диапазона времени проводимого игроком в хиддене. Отображается в виде доли от времени из настроек локации.
- максимум в локации - верхняя граница диапазона времени проводимого игроком в хиддене. Отображается в виде доли от времени из настроек локации.
- порог покупки - число, указывающее какую долю, от ресурсов игрока, должна составлять цена локации, что бы он решился её купить.
- порог покупки предмета - число, указывающее какую долю,от ресурсов игрока, должна составлять цена предмета, что бы он решился его купить.
- вероятность задачи - число, отображающее вероятность того, что симуляция будет выбирать не из всех доступных локаций, а из связанных с заданиями.
- вероятность матча - число, отображающее вероятность того, что симуляция будет играть в матч.
- изначально хинтов - изначальное количество хинтов.
- предметов на хинт - на сколько найденных предметов игрок израсходует хинт.
- цена хинта монеты - сколько монет (ресурс 1), стоит некий усредненный хинт.
- цена хинта кристаллы - сколько кристаллов (ресурс 2), стоит некий усредненный хинт.
- хидденов подряд - игрок будет пытаться пройти не менее данного числа хидденов подряд.
- восстановить энергии - некое усредненное количество энергии для восстановления.
- цена энергии монеты - сколько монет стоит энергия (цена в ресурсе 1).
- цена энергии кристаллы - сколько кристаллов стоит энергия (цена в ресурсе 2).
- 'вероятность победы в матче - число, отображающее вероятность победы в матче.
- время в матче - условное время пребывания в матче.
- вероятность покупки за реал - каждый раз когда игроку не хватает денег или кристаллов - проверяем эту вероятность.
- цена монеты в деньгах - цена монеты в деньгах.
- количество монет в покупке - количество монет в покупке.
- цена кристаллов в деньгах - цена кристаллов деньгах.
- количество кристаллов в покупке - количество кристаллов в покупке.
Настройки равномерной экономики
Нужно в случае, если мы хотим давать за локации и монстров одинаковую награду (опыт, затрата энергии, вне зависимости от настроек в economics_setup). Награда может отличаться только для монстров (если в economics_setup мы укажем монстру в поле награда опыт - 0, то экономика начислять опыт не будет).
- локация энергия - стоимость энергии на игру хидн или монстр;
- локация опыт - награда за успешное прохождение локации/монстра ( при условии что для монстра в поле награды не стоит 0 );
- коллекция опыт min - минимальный опыт за успешную сдачу коллекции;
- коллекция опыт max - максимальный опыт за успешную сдачу коллекции;
- коллекция монеты min - минимальная награда за успешную сдачу коллекции;
- коллекция монеты max - максимальная награда за успешную сдачу коллекции;
Поле economics setup
По клику на "..." открывается редактор экономикса. В этом редакторе можно задать все настройки локациям и коллекциям, которые используются в игре.
Economics setup содержит 11 вкладок : локация хидден, коллекция, предметы, окошко когда не хватает чарджера (чарджер), нехватка ресурсов на чарджер, монстр, летающий объект, аномалия, сдача коллекции, временный эффект, достижение. Вверху можно увидеть ряд кнопок для добавления и удаления: справа для локаций, слева для уровней мастерства.
Локация хидден
Форма редактора экономикса разделена на 4 колонки. В первой колонке мы видим список локаций, используемых в игре. Имена локаций можно изменять. Добавляются новые локации по нажатию на кнопку Добавить локацию, удаляются кнопкой Удалить локацию. Во второй колонке отображаются свойства выделенной локации.
- Объект на карте - это объект ведущий в локацию с карты. Должен иметь как минимум состояния open и closed, которые ему будет вызывать экономикс.
- индиктор уровня - каунтер, который будет отображать номер уровня, начиная с которого локация доступна.
- Экран - экран, в котором расположен локация.
- Превью локации - графический ресурс для отображения превью локации из базы ресурсов.
- Имя локации - название локации, перетаскивается из текстовой базы.
- Описание локации - описание, перетаскивается из текстовой базы.
- Уровень - уровень требуемый для того, чтобы играть в локацию.
- Результат - имя поля в опциях, куда локацией будет занесен результат. Расчитываем найти там число.
- Связанный хидден лист - хидден-лист, связанный с локацией.
- необходимый предмет - предмет необходимый для входа в локацию. Может быть как коллекционным, так и инвентарным.
- разница в уровнях - разница в уровнях, при которой можно купить доступ в локацию.
- цена ресурс 1 - если наш уровень ниже необходимого на разницу из верхнего поля, мы можем разлочить локацию за деньги.
- цена ресурс 2 - если наш уровень ниже необходимого на разницу из верхнего поля, мы можем разлочить локацию за кристаллы.
- достижение - достижение, которое будет открываться по мере игры в эту локацию.
- процент - проценты достижения из предыдущего поля.
- объект для музыки (musObj) - объект которому в поле "location_music" будет записан id музыки из поля "музыка", при запуске локации;
- музыка (musId) - id музыки локации;
В третей колонке записываются уровни мастерства. Их можно переименовать. Добавляются кнопкой Добавить уровень мастерства. Удаляются кнопкой Удалить уровень мастерства. В четвертой колонке настраивается выделенный уровень мастерства.
Уровень мастерства
- энергия - энергия требуемая для того, чтобы играть в локацию.
- ресурс 1 - деньги даваемые за прохождение локации.
- ресурс 2 - кристаллы даваемые за прохождение локации.
- опыт - опыт даваемый за прохождение локации.
- кол-во объектов - максимальное количество доступных для поиска объектов в одной игровой сессии.
- время игры - общее время игры (если -1, то игнорируется).
- время игры (блиц) - время игры с аномалией "блиц".
- время игры (аном) - время игры с остальными аномалиями.
- режим игры - режим игры: 0 - случайный, 1- слова, 2 - силуэты, 3 - поиск отличий;
- использовать различия - да - будут генирироватся режим поиска отличий, нет - не будут; Для корректной работы, следующей за сценой с хидн предметами, должна находиться пустая сцена с такими же параметрами как и у сцены с хидн предметами. Также между двумя сценами ( хидн и fake-сценой) должна быть связь по тасканию;
- аномалия - вероятность возникновения аномалии в локациях.
- доступные аномалии - перечень доступных на данном уровне мастерства аномалий. Записываются в виде чисел через запятую. Доступные значения 0, 1, 2, 3, 4.
- множитель - коэффициент, на который умножаются набранные очки. при расчете перехода на следующий уровень. Может быть меньше 1.
- постоянный прирост - постоянный прирост, если он больше 0, то будет использоваться ВМЕСТО реально набранных в хиддене очков и множителя.
- очки - очки, которые нужно набрать для перехода на следующий уровень мастерства. Набранные в локции очки умножаются на множитель и суммируются. Когда превысят это значение - произойдет переход.
- Предметы - id коллекционных предметов, которые можно найти на локации. Не обязаны принадлежать к одной коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка.
- Вероятность - вероятность найти один из коллекционных предметов из предыдущего поля.
- Вероятность 2 - вероятность найти один из коллекционных предметов из предыдущего поля.
- Вероятность 3 - вероятность найти один из коллекционных предметов из предыдущего поля.
- Инвентарь - id инвентарных предметов, которые можно найти на локации. Перетаскиваются из текстового редактора.
- Вероятность инв. - вероятность найти один из инвентарных предметов из предыдущего поля.
- Вероятность инв. 2 - вероятность найти один из инвентарных предметов из предыдущего поля.
- Вероятность инв. 3 - вероятность найти один из инвентарных предметов из предыдущего поля.
- Коллекционный предмет - предмет из коллекций, который будет дан игроку по достижению этого уровня мастерства.
Ивентовые предметы
Предметы будут доступны для выпадения с локации, пока активно поле в опциях.
- Поле в опциях - поле в опциях для проверки активности ивента(в юзере);
- Значение - значение поля для проверки ивента;
- Предметы - айдишники добавляемых предметов (в дроп локации, на всех уровнях мастерства);
Коллекция
Во вкладке Коллекция используются только первые две колонки. В первой колонке отображаются добавленные коллекции. Добавляются кнопкой Добавить локацию. Удаляются кнопкой Удалить локацию. Коллекции можно переименовывать. Второй столбик содержит id предметов входящих в коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка. Ресурс 1 и ресурс 2 - ресурсы, которые даются за сдачу коллекции. Опыт - опыт, который дается за сдачу коллекции.
- имя - Имя (а также - описание, если нужно) конкретно коллекции.
- предметы - id предметов входящих в коллекции. Перетаскиваются из текстового редактора. Будет использоваться их иконка.
- ресурс 1 - деньги даваемые за сдачу коллекции.
- ресурс 2 - кристаллы даваемые за сдачу коллекции.
- опыт - опыт даваемый за сдачу коллекции.
- награда - предмет даваемый за сдачу коллекции. Перетаскивается из текстовой базы.
- заряжатели - Предметы инвентаря, необходимые для сдачи коллекции. ВНИМАНИЕ: будут использоваться не более первых 4х элементов списка.
- достижение - достижение, которое будет открываться по мере сдачи этой коллекции.
- процент - проценты достижения из предыдущего поля.
- уровень для подарка - уровень, начиная с которого предметы этой коллекции можно дарить
Предметы
Раздел "Предметы" позволяет добавлять список инвентарных предметов, которые могут использоваться в процессе игры, предоставлять различные бонусы. В первой колонке список предметов. Добавляется кнопкой "Добавить локацию", удаляется кнопкой "Удалить локацию". Предметы могут быть переименованы. Во второй колонке записаны свойства каждого предмета.
- nm - имя предмета
- section - категория предмета.
- use - если 1, то предмет может использоваться (кнопка Use видимая).
- nm - имя предмета (txtID).
- опции - если это поле задано, то в него будет записываться актуальное количество объектов.
- начальное количество - начальное количество предметов данного типа в инвентаре.
- можно продать - возможность продавать предмет: 1 - можно продать, 0 - нельзя продать.
- уникальный - если 1 - то предмет уникальный пропадает после покупки, если 0 - предмет после покупки не пропадает, если 3 - предмет покупается один раз, остальные разы только применяется
- res1 - цена предмета в ресурсе 1.
- res2 - цена предмета в ресурсе 2.
- sres1 - продажа - цена предмета в ресурсе 1.
- sres2 - продаже - цена предмета в ресурсе 2.
- en - восстанавливает энергии единовременно.
- tm - длительность действия в секундах. Если поставить "-1", то действие предмета будет вечным, отображаться в таблице амулетов он не будет. Можно активировать сколько угодно раз. "-2" - действие предмета будет вечным, но активно не более одной копии.
- dTm - уменьшение времени восстановления энергии в %.
- dFnd - увеличение вероятности нахождения предмета в %.
- dExp - увеличение начисляемого опыта в %.
- dRes1 - увеличение полученного ресурса 1 в %.
- dRes2 - увеличение полученного ресурса 2 в %.
- dOvP - увеличение перегруженной вероятности нахождения предметов в %.
- dMaxEn - увеличение максимума энергии в %.
- dBonus1 - накопительный монетный бонус (в случае, если предмет дает ежедневный денежный прирост). Суммируется (от всех предметов имеющих это поле отличное от 0) и записывается в поле total_amulet_bonus1 экономикса. Автоматически не начисляется.
- dBonus1 - накопительный кристальный бонус (в случае, если предмет дает ежедневный денежный прирост). Суммируется (от всех предметов имеющих это поле отличное от 0) и записывается в поле total_amulet_bonus2 экономикса. Автоматически не начисляется.
- dPurchase - к каждой покупке предмета добавляется еще столько таких же предметов. Актуально в тех случаях, когда приобретение предмета активирует акцию 1+1.
- dIsomover - ускорение взаимодействия изомуверов в %. (Каждому изомуверу, на который должно распространяться действие, нужно включить флаг "использовать бонусы ко времени").
- область применения - область, в которой будет учитываться бонус от предмета (везде, локация, монстр).
- KOfflineRep - пока действует предмет, меняем KOffline репутации (настраивается в свойствах экономики в группе репутации) на этот параметр. Область действия от -1 до 1. Поэтому дефолтное значение этого параметра "-2".
- dHdnConst - Увеличение значения поля постоянный прирост в %
- num - число предметов в сундуке. Выбираются случайно из следующего поля. При 0 - следующее поле не используется.
- items - предметы, которые можно найти в сундуке. Перетаскиваются из текстовой базы.
- use_id - задание этого поля говорит о том, что данный предмет является оптовым пучком для предмета указанного у этом поле. Num, в этом случае, - количество.
- объект - связанный объект, будет добавляться в инвентарь.
- достижение - достижение, которое будет открываться по мере применения подобный предметов.
- процент - процент достижения их предыдущего поля.
- владелец - на данный момент - номер правильной кнопки в окне угадайки (если -1. то игнорируется).
- монстр - номер монстра, в игре с которым нужно применить этот предмет. Актуально для задач на применение хинтов в мини играх.
- обработчик конца действия - объект, обработчик конца действия амулета.
- состояние обработчика - состояние обработчика конца действия амулета (объект из поля выше будет переведен в это состояние по окончанию действия амулета).
- дарить с уровня - уровень с которого возможно дарить этот предмет
- кнопка применить - поле в опциях ( btn_use_field ) - для применяемого предмета, указываем поле для проверки значения, если условие истинно - кнопка применить будет доступна; иначе - выключена ("disable");
- кнопка применить - значение ( btn_use_val ) - значение для проверки условия, в поле кнопка применить - поле в опциях;
- кнопка применить - НЕ ( btn_use_not ) - от результата сравнения взять обратное;
Создание предметов (крафт)
В третьей колонке можно добавлять ингридиенты из которых состоит предмет. Ингридиенты сами по себе являются также инвентарными предметами. В четвертой колонке указывается текстовый id ингридиента и необходимое количество данного ингридиента.
Окошко когда не хватает чарджера
Позволяет добавлять окна. Окно добавляется кнопкой "Добавить локацию", окно можно переименовывать, удаляется кнопкой "Удалить локацию".
- название - текстовый объект в который вкладывается название чарджера.
- иконка - иконка чарджера.
- описание - текстовый объект в который вкладывается название чарджера.
- купить - кнопка покупка чарджера, передает economics состояние buy_charger.
- искать - кнопка поиска чарджера, передает economics состояние search_charger.
- есть - счетчик, который показывает сколько чарджеров есть сейчас.
- нужно - счетчик, который показывает сколько чарджерова необходимо для сдачи коллекции.
- цена ресурса 1 - счетчик, который показывает цену чарджера в ресурсе 1.
- цена ресурса 2 - счетчик, который показывает цену чарджера в ресурсе 2.
- достаточно - объект, который отображается вместо кнопки, в тот момент, когда чарджеров достаточное количество.
Нехватка ресурсов на чарджер
Позволяет изменить состояние выбранному объекту при нехватке ресурсов на чарджер. Добавляется кнопкой "Добавить локацию", можно переименовывать, удаляется кнопкой "Удалить локацию".
Монстр
В первой колонке добавляется монстр, добавляется кнопкой "Добавить локацию", если возможность переименовать, удаляется кнопкой "Удалить локацию" Во второй колонке отображаются свойства выделенной колонки.
- Объект на карте - объект, который представляет монстра на карте. Как правило окно, которое должно иметь состояние hide (скрыт),show и disappear (прогнали).
- Имя монстра - текстовый id из которого берется иконка, имя и описание монстра.
- Экран - экран в котором расположена локация.
- min уровень - уровень, при достижении которого, появляется монстр.
- max уровень - уровень, при достижении которого, монстр исчезает.
- необходимый предмет - предмет необходимый для игры с духом.
- количество - количество предметов из поля "необходимый предмет".
- связанный баттл - поле в котором указывается связанный объект типа matchbattle.
- связанный матч - поле в котором указывается связанный матч.
- окно внутри монстра - объект, который покажем в экране с мини игрой в случае победы. Должен иметь состояния open - в случае обычной победы, open_win - если перешли на следующий уровень мастерства. Чтобы это окно перешло в одно из этих состояний передаем экономике состояние monster_win_wnd.
- текст внутри монстра - текстовый объект, в который сложим поздравительный текст о переходе на следующий уровень мастерства.
- очищать statesmanager - 1 - при передаче экономике состояния monster_play для этого монстра все очереди statesmanager будут чиститься; 0 - не будут.
В третей колонке записываются уровни мастерства. Их можно переименовывать. Добавляются уровни кнопкой "Добавить уровень мастерства", удаляются кнопкой "Удалить уровень мастерства". В четвертой колонке настраивается выделенный уровень мастерства.
- энергия - энергия необходимая для того, что бы можно было начать играть в локацию.
- ресурс1 - деньги даваемые за прохождение локации.
- опыт - опыт даваемый за прохождение локации.
- постоянный прирост - постоянный прирост.
- штраф за поражение - кол-во очков, которые отнимаются за проигрыш.
- очки - количество очков, которое необходимо набрать для перехода на следующий уровень мастерства.
- предметы - id коллекционных предметов, которые можно найти на локации. Предметы не обязательно должны быть из одной коллекции. Необходимые предметы перетаскиваются из текстового редактора, при этом будет использоваться их иконка.
- Вероятность - вероятность найти один из коллекционных предметов из поля "предметы".
- Вероятность 2 - вероятность найти один из коллекционных предметов из поля "предметы".
- Вероятность 3 - вероятность найти один из коллекционных предметов из поля "предметы".
- Инвентарь - id инвентарных предметов, которые можно найти на локации. Перетаскиваются из текстового редактора.
- Вероятность инв. - вероятность найти один из инвентарных предметов из поля "инвентарь".
- Вероятность инв. 2 - вероятность найти один из инвентарных предметов из поля "инвентарь".
- Вероятность инв. 3 - вероятность найти один из инвентарных предметов из поля "инвентарь".
- текст при разлочке уровня - текстовый id из которого возьмем поздравительный текст о разлочке нового уровня.
- жизни врага - записываются значения вражеских жизней.
- начальные жизни врага - начальное значение вражеских жизней.
- регенерация врага - время (в ms), за которое у противника отрастает жизнь. Если установлено -1, то отрастания жизни противника на происходит.
- число цветов - это число будет записываться в параметр numTokenNums матча.
Автоматические уровни мастерства отличаются всего несколькими дополнительными полями.
- количество - количество автоматических уровней.
- энергия - начальное значение энергии за игру.
- энергия прирост - прирост энергии за каждый уровень мастерства.
- ресурс 1 - начальное значение ресурса1, который мы получаем за прохождение.
- ресурс 1 прирост - прирост ресурса1 за каждый уровень мастерства.
- опыт - начальное значение опыта, который мы получаем за прохождение.
- опыт прирост - прирост опыта за каждый уровень мастерства.
- нулевой штраф каждые n уровней - раз в столько уровней штраф за поражение будет нулевым (-1 - не использовать).
Также есть возможность перегружать некоторые параметры уровней мастерства. Для этого нужно выбрать монстра и в выпадающем списке вверху выбрать пункт "перегрузка параметров".Перегрузок может быть несколько.
Для настройки перегрузки нужно выбрать ее в 3 колонке, при этом в 4 колонке отобразятся параметры перегрузки. Сейчас перегрузку можно привязать к уровням XP игрока и к уровню монстра. Под уровнем монстра имеется ввиду уровень мастерства, отсчет начинается с 0. Перегружать можно энергию, затрачиваемую на монстра, награду (золото и опыт), а также инвентарные и коллекционные предметы.
Важно! Если поля инвентарных и коллекционных предметов оставить пустыми - то предметы выпадать не будут.
Летающий объект
Впервой колонке кнопкой "Добавить локацию" добавляется летающий объект - объекты которые вылетают после прохождения локации или после покупки сундуков. Удаляется кнопкой "Удалить локацию". Во второй колонке добавляется объект выделенного летающего объекта. Состояния hide, wait, inventory и collection - обязательны для этого предмета.
hide - состояние, когда объект не видно на экране. В этом состоянии можно указать свойство alpha=0.
wait - состояние, в которое попадают летающие объекты, которые отображают коллекционные предметы до того, как объекту economics будет вызвано состояние col_item_found.
collection - состояние, которое будет вызвано летающему объекту, который отображает коллекционный предмет после того как объекту economics будет вызвано состояние col_item_found (он может лететь в таблицу с нужной коллекцией).
inventory - состояние, которое вызывается летающему объекту в случае, если он отображает инвентарный объект (в этом состоянии предмет становится видимым и в дальнейшем может перемещаться).
Аномалия
В хидден-локации могут присутствовать аномалии, затрудняющие ее прохождение. Впервой колонке добавляется аномалия, добавляется кнопкой "Добавить локацию", можно переименовывать, удаляется кнопкой "Удалить локацию". Во второй колонке отображаются свойства выделенной аномалии.
- id - поле в которое перетаскивается текстовый id, из которого используется название, описание и иконка аномалии.
- предмет - предмет необходимый для того, что бы изгнать аномалию.
- экран - в этом поле указывается экран, в котором расположена мини игра.
- прибавка к энергии - указывается прибавка к энергии, поскольку для игры в аномалию будет нужно больше энергии. Например, при значении 0,5 - энергии потребуется больше в полтора раза.
- прибавка к опыту - указывается прибавка к опыту, поскольку игра в локацию с аномалией будет давать больше опыта. Например, при значении 0,5 - опыта приобретается больше в полтора раза.
- прибавка к ресурсу 1 - указывается прибавка к ресурсу 1. поскольку игра в локацию с аномалией будет давать больше ресурса 1. Например, при значении 0,5 - ресурса 1 приобретается больше в полтора раза.
Сдача коллекции
В первой колонке добавляется событие на сдачу коллекции кнопкой "Добавить локацию", удаляется кнопкой "Удалить локацию". Во второй колонке устанавливается состояние объекту сдачи коллекции.
Временный эффект
Временный эффект - визуализация действия различных инвентарных объектов, которые применил игрок. В первой колонке создается временный эффект, добавляется кнопкой "Добавить локацию", удаляется кнопкой "Удалить локацию". Во второй колонке устанавливаются свойства выделенного временного эффекта.
- иконка - из редактора ресурсов, перетаскивается иконка временного эффекта
- таймер - указывается объект типа timer, который соответствует выбранному временному эффекту.
- подложка - из редактора ресурсов, перетаскивается картинка подложки для таймера указанного в поле "таймер".
Достижение
В первой колонке записываются достижения. Добавляются кнопкой "Добавить локацию", удаляются кнопкой "Удалить локацию". Во второй колонке отображаются свойства выбранного достижения.
- достижение - достижение, которое будет открываться по мере применения подобных предметов.
- процент - в виде числа, указывается процент достижения из поля "достижение".
- режим игры - указывается режим игры, ели 0 - режим игры не важен для достижения, 1 - режим игры слова, 2 - режим игры силуэты.
- аномалия - указывается аномалия необходимая для достижения, если указывается -2 - то аномалия не важна для достижения, если указывается -1 - то для достижения может использоваться любая аномалия. 0 - текстовая аномалия, 1 - ночь, 2 - трансформация цвета, 3 - дым.
Состояния
Перед вызовом некоторых состояний объекту economics необходимо передать параметр param и его значение. Например когда нам нужно открыть окно перед локацией мы передаем параметр номера этой локации в списке локаций (начиная с 0).
- idle - состояние по умолчанию.
- completed - передает состояние окончания исследования локации (необходим параметр номера локации), перед вызовом состояния, можно экономике заполнить поле additional_inv - перечнем инвентарных предметов которые хотим добавить пользователю ( поместить в таблицу + чтобы экономика поместила их в летающие объекты), через запятую (к примеру additional_inv="12345,25841") .
- exp - передает состояние начисления опыта (необходим параметр количества опыта). Нужен больше для тестирования, чем для самой игры.
- play - передает состояния перехода на локацию для исследования(при условии что хватит энергии и выполнены прочие условия).
- location - открывает окно перед локацией (необходим параметр номера локации).
- collection - заставляет экономикс заполнить таблицу коллекций. Лучше вызывать сразу перед открытием окна коллекций или во время его открытия. Для применения фильтрации коллекций перед вызовом состояния задать параметр collectionFilter (0 - все, 1 - все предметы, 2 - не хватает одного, 3 - новые). Для определения коллекции в категорию "новые" указать в настройках коллекции cnew (новая - признак новизны для фильтра. >0 - новая).
- collections_scroll - заполняет таблицу коллекций и проматывает на коллекцию содержащую последний предмет для которого было показано окошко с информацией о предмете.
- collections_custom - перематывает таблицу к нужной коллекции. id коллекции записывается предварительно в param.
- item_collections - заставляет экономикс показать окошко с информацией о коллекционном предмете. Вызывается при тапе на таблицу в темплейте коллекций (объект ecollection).
- item_effect - сообщает economics, что необходимо показать окошко предмета от таймэфекта (необходим параметр номера эффекта)
- item_preview - заставляет экономикс показать окошко с информацией о предмете, который можно найти при обыске локации. Вызывается при тапе на таблицу с предметами в окне перед локацией.
- item_review - заставляет экономикс показать окошко с информацией о предмете, который нашли после обыска локации. Вызывается при тапе на таблицу с предметами в окне после локации.
- item_monster_preview - заставляет экономикс показать окошко с информацией о предмете, который можно найти при игре с монстром. Вызывается при тапе на таблицу с предметами в окне перед монстром.
- item_monster_review - заставляет экономикс показать окошко с информацией о предмете, который нашли после игры с монстром. Вызывается при тапе на таблицу с предметами в окне после монстра.
- completed_animation - состояние запускает анимацию полученной награды за прохождение локации после "окна после локации". Можно запускать из состояния закрытия окна после локации.
- unlock_item - передает состояние покупки предмета, необходимого для открытия локации. Как правило, предмет находится в окне перед локацией.
- unlock - передает состояние при котором происходит разлочка локации если текущий уровень на один ниже, чем необходимый для открытии локации или значение разница в уровнях, позволяет разлочить локацию. Как правило кнопка для разблокирования локации размещается в окне перед локацией. Когда разница уровней достаточна, чтобы разлочить локацию машина локации переводится в состояние can_buy.
- completed_reward - вызывается объектом анимации награды после прохождения локации. Если объектов несколько (опыт, монеты, кристаллы), то вызывается только один раз одним из объектов.
- search_charger - производит поиск недостающего чарджера. Пока только по монстрам. Номер чарджера 0 или 1 - в парам.
- buy_charger - производит покупку недостающего чарджера (номер в параметре, -1 - купить все).
- update - обновить все локации на карте.
- level_up - проверяет получение нового уровня. Чтобы окно с получением нового уровня не открывалось самостоятельно, мы вызываем это состояние, когда нам удобно. Проверяется был ли получен новый уровень, если был, то вызывается окно с получением нового уровня.
- res1 - Добавить ресурс 1 (значение в параметре).
- res2 - Добавить ресурс 2 (значение в параметре).
- res1s - скорректировать статистику по ресурсу 1 (значение в параметре, когда, например, ресурс не заработан, а выигран в казино).
- res2s - скорректировать статистику по ресурсу 2 (значение в параметре, когда, например, ресурс не заработан, а выигран в казино).
- energy - Добавить энергию (значение в параметре).
- energy_no_max - Добавить энергию перманентно - без ограничения перевала за максимум (значение в параметре).
- failed - текущая локация провалена (не дается опыта и прочих наград за прохождение локации). Требует параметра локации.
- item_effect - показать окошко предмета от таймэффекта. В param - номер эффекта.
- item_effect_last - показать окошко предмета от последнего активированного таймэффекта. У машины окошка должно быть состояние "open_last".
- search_collection - проскроллить карту на локацию где можно найти коллекционный предмет. При этом машина локации (Объект на карте) будет переведена в состояние highlight, в котором локацию можно посветить или выделить ее каким-то образом.
- search_task - проскроллить карту на локацию где можно найти предмет из задания. При этом машина локации (Объект на карте) будет переведена в состояние highlight, в котором локацию можно посветить или выделить ее каким-то образом.
- search_charger - проскролить карту на монстр, в котором можно найти чарджер (необходимо значение чарджера в параметре 0 или 1).
- monster - Открыть превью для монстра с номером указанном в поле параметр.
- monster_play - Играть в мини игру выбранного монстра (при условии, что хватит энергии и выполнены прочие условия).
- monster_removed - Монстра прогнали предметами. Вычесть предметы и успешно завершить.
- monster_completed - Текущая мини игра так или иначе пройдена, перед вызовом состояния, можно экономике заполнить поле additional_inv - перечнем инвентарных предметов которые хотим добавить пользователю ( поместить в таблицу + чтобы экономика поместила их в летающие объекты), через запятую (к примеру additional_inv="12345,25841") .
- monster_failed - Текущая мини игра провалена, отличается от предыдущего тем, что не дается бонусного опыта и прочих наград.
- monster_buy - попытаться докупить предметы, необходимые для игры с монстром.
- col_item_param - Добавить коллекционный предмет, взяв его айди из параметра.
- anomaly_item - попытаться прогнать аномалию в текущей локации предметом. В зависимости от номера аномалии, машина локации (Объект на карте) переводится в состояние anomaly_N, где N - номер аномалии начиная с 0. (anomaly_0, anomaly_1 и т.д.). Таким образом можно визуализировать аномалию на карте.
- anomaly_game - попытаться прогнать аномалию в текущей локации мини игрой.
- anomaly_completed - мини игра по прогону аномалии успешно завершена.
- anomaly_buy - показать окно покупки для предмета прогона аномалии (в текущей локации).
- cheat_loc_level - "накачать" всем локациям скилл левел до максимума (для тестирования).
- chest_animation - анимировать последний использованный сундук.
- col_item_found - показать окошко с коллекцией для одного найденного коллекционного предмета из очереди.
- cheat_one_level - просимулировать один уровень развития игрока.
- purchase_ok - сообщает economocs что произошла покупка. Сформировать событие флури.
- buy_random_col - купить случайный коллекционный предмет.
- location_switch - переключить локацию на связанную (если есть предмет и собраны все артефакты, необходимые для перехода).
- anomaly_set_everywhere - генерация аномалии. Если в объекте Economics в параметре param указан номер аномалии, то состояние добавляет аномалию всем локациям, а если -1, то убирает аномалию из всех локаций.
- buy_artefact - осуществляет покупку артефакта для локации. Для этого у объекта economics в param должен быть записан номер локации, а в param2 номер артефакта (номер по порядку начиная с 0).
- show_artefacts - Показать таблицу покупки артефактов в param - номер локации
- location_buy_all_switchers - Купить все артефакты доступные для данной локации
- search_ingridient - переход в локацию для поиска ингредиента, который указан в param.
- search_needitem - поиск необходимого для исследования локации предмета из окна перед локацией. В param должен быть указан id необходимого предмета.
- copy - скопировать основные параметры (опыт, уровень, энергия) и количество предметов из одной экономики в другую. Перед вызовом указать в поле "param" id экономики куда перенесём значение. Если экономика в кот. копируем выключена по disable="1" - нужно с начало установить disable="0", вызвать сост. "init", а уже после в неё копировать.
- set_was_visited_flag - установить флаг посещаемости локации (loc%n%.wv="1") для календаря. В param должен быть указан id необходимого предмета.
- clear_was_visited_flag - снять флаг посещаемости локации (loc%n%.wv="0") для календаря.В param должен быть указан id необходимого предмета.
- srand_hidden - перетряхнуть связанный с хидденом генератор псевдослучайных чисел. Можно вызывать перед локацией, если возникает зацикливание хидденов. КАТЕГОРИЧЕСКИ НЕЛЬЗЯ вызывать его при честном мультиплеере - в нем все определяется сидом от сервера
- download_pack - попросить экономику скачать пак для локации из поля param (используется при использовании динамических паков - конфигов, детальнее).
- temporary_unlock - открывает доступ в хидден-локацию на время. Применение - передать это состояние экономике и одновременно запустить глобалтаймер, который по окончанию действия закроет эту локацию.
- clear_temporary_unlock - закрывает доступ в хидден-локацию, если она была открыта временно.
- search_task_only_open - вызываем из окна таска, откроет превью локации в которой можно найти требуемый предмет. Аналог search_task, но ищет только в открытых локациях;
- search_task_only_week - вызываем из окна таска, откроет превью локации в которой можно найти требуемый предмет. Аналог search_task, но ищет только в открытых локациях текущей недели (работа по календарю).
Календарь (локации заполняем в таблицу как календарь):
- unlock_for_today - попросить экономику разблокировать диапазон локации до конца текущего дня (диапазон указываем посредством полей "param" и "param2" - [param,param2]) .
- today_table - промотать таблицу до текущего дня.
- location_table_get_name - открыть превью локации, по нажатой ячейке таблицы календаря.
- clear_packs - очистить паки которые не использовались n-н дней (где n - параметр packDeleteDays).
При начислении экономикой res1 и res2 во флурри отправляются события coins_get, diams_get. Для того чтобы источники монет/кристаллов (параметр source) в событии приходили с адекватными значениями, перед вызовом состояния начисления экономике нужно записать параметр "res_source" в соответствии со значениями в списке:
SOURCE_UNKNOWN = 0, //!< неизвестный источник SOURCE_PURCHASE = 1, //!< покупка SOURCE_HIDDEN_WIN = 2, //!< выигрыш в хиддене SOURCE_MINIGAME_WIN = 3, //!< выигрыш в миниигре SOURCE_DAILY_BONUS = 4, //!< дейли бонус SOURCE_SOCIAL_BONUS = 5, //!< бонусы за социалку SOURCE_CASINO = 6, //!< казино SOURCE_EXCHANGE = 7, //!< биржа SOURCE_DEPOSIT = 8, //!< депозит SOURCE_COLLECTION_GOT = 9, //!< сдача коллекций SOURCE_GUES = 10, //!< угадайка SOURCE_TASK_COMPLETE = 11, //!< выполнена задача SOURCE_TRIVIA = 12, //!< миллионер SOURCE_REDEEM = 13, //!< начисление из админки SOURCE_LEVEL_UP = 14, //!< достижение уровня SOURCE_USE_ITEM = 15, //!< использование предмета SOURCE_PET_GOLD_COLLECTED = 16, //!< собрали бонус животного у пэта SOURCE_PET_COLLECTION_GOT = 17, //!< сдача коллекции животных SOURCE_SLOTMACHINE = 18, //!< слотмашина SOURCE_RPGBATTLE = 19, //!< псевдоРПГ бой SOURCE_SLOTFALLING = 20, //!< вторая слотмашина SOURCE_MAP_CHEST = 21 //!< сундуки на карте SOURCE_ADVERTISEMENT = 22, //!< реклама SOURCE_CONTEST_PRIZE = 23 //!< соревнования
П.С. для мануального начисления (уникальный источник под каждый проект) 31 // игровая награда №1 32 // игровая награда №2 33 // игровая награда №3 34 // игровая награда №4 35 // игровая награда №5 36 // игровая награда №6 37 // игровая награда №7 38 // игровая награда №8 39 // игровая награда №9 40 // игровая награда №10
Коды ошибок:
При скачивании паков, посредством фоновой загрузки или через состояние "download_pack" могут возникать ошибки (которые можем словить через еррорменеджер):
- 1 - ошибка не классифицирована
- 2 - отсутствует соединение с интернетом
- 3 - отсутствуют ресурсы по данному запросу
- 4 - недостаточно оперативной памяти для загрузки
- 5 - недостаточно памяти в файловой системе для загрузки
- 6 - ошибка работы с файловой системой во время загрузки
- 7 - недостаточно оперативной памяти для распаковки
- 8 - недостаточно памяти в файловой системе для распаковки
- 9 - ошибка работы с файловой системой во время распаковки
- 10 - ошибка проверки распакованного пака
- 11 - ошибка распаковки
Сопутствующие объекты
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:
- Eitems - объект, служащий для связи инвентаря(магазина) и экономики.
- Estoreitem - шаблон для ячейки магазина.
- Einventoryitem - шаблон для ячейки инвентаря.
- Ecraftitem - шаблон для ячейки создания предмета.
- Taskorganizer - органайзер заданий.
- Etaskitem - шаблон для ячейки задания.
- Ecollection - шаблон для строки в таблице коллекции.
- Economics - глобальная настройка игр типа ферма\билдер
Вычитаемые параметры
Данные параметры можно вычесть с помощью команды "var" в машине состояний. Параметры нужно вычитать из профиля, если не сказано обратное. [id] - числовой id экономики в проекте, если не указана другая информация.
- ecomics[id].res1sp - количество потраченного ресурса_1 за все время игры;
- ecomics[id].res2sp - количество потраченного ресурса_2 за все время игры;
- ecomics[id].res1log - текущее значение ресурса_1 выраженное в логарифмической шкале;
- ecomics[id].res1logfl - текущее значение ресурса_1 выраженное в логарифмической шкале с учётом депозитов и биржи;
- ecomics[id].level - текущий уровень игрока;
- ecomics[id].res1 - текущее количество ресурса_1;
- ecomics[id].res2 - текущее количество ресурса_2;
- ecomics[id].res1ea - количество заработанного ресурса_1 за все время игры;
- ecomics[id].res2ea - количество заработанного ресурса_2 за все время игры;
- economics[id].stat.energy_spent - количество потраченной энергии за все время игры;
- ecomics[id].mplayed - количество сыгранных миниигр (монстр) за все время;
- ecomics[id].lplayed - количество сыгранных хидденов за все время;
- ecomics[id].total_score - количество заработанного опыта за все время игры;
- ecomics[id].exp - текущий опыт на уровне;
- ecomics[id].energy - текущий уровень энергии;
- ecomics[id].loc[loc_id].an - номер аномалии, которая будет в локации loc_id;
- amulets_bonus_res1 - множитель монет за бонусы от амулетов, при начислении по сост. "res1";
- amulets_bonus_res2 - множитель кристаллов за бонусы от амулетов, при начислении по сост. "res2";
- amulets_bonus_exp - множитель опыта за бонусы от амулетов, при начислении по сост. "exp";
Каждая экономика пишет в пользователя следующие параметры:
- public.EconomicsRes1 - текущее количество ресурса_1;
- public.EconomicsRes2 - текущее количество ресурса_2;
- public.EconomicsLevel - текущий уровень игрока;
- public.EconomicsEnergy - текущий уровень энергии;
- public.EconomicsTotalScore - количество заработанного опыта за все время игры;
- public.EconomicsCollectionsUniq - количество сданных коллекций ( значение повышается каждый раз при сдаче коллекции), пишется Экономикой только если поле - fbopt не пустое;
Календарь и всё про него
Данный режим позволяет создавать клонированные превью локаций и располагать локации по датам (одна локация - конкретная дата). Визуально выглядит вот так:
Настраивается рядом параметров (режим работы, визуальное оформление - таблица настраивается отдельно - )
- шаблон объекта на карте (tmplIco) - превью локации - может быть как машинкой или "elocationpreview"(в этом случае, за превью локации берётся машинка из поля "иконка" - ей будут вызываться состояния и писаться параметры).
Должны быть подключены все состояния для машинки превью локации ("highlight","level_0","level_1"...) и дополнительно:
- apply - обновление имени локации (название дата) - в данном состоянии можно изменять параметры текста - выравнивание, размер шрифта и т.д.
- not_played - игрок заходил в день локации, но не играл в HG;
- not_visited - игрок не заходил в день локации;
- future - локация закрыта и находится в будущем;
Параметры которые пишутся в превью локации:
- season - сезон локации (0 - зима; 1 - Весна; 2 - Лето; 3 - Осень);
- in_past - находится локаций ранее текущей недели (0 - нет; 1 - да);
- cellShift - смещении локации от центрального элемента таблицы (знак "-" - влево; знак "+" - вправо);
- заглушка (tmplDummy) - объект-заглушка, добавляется в начало и вконец таблицы - для правильной работы круговой таблицы;
- количество заглушек (tmplDummyNum) - количество добавляемых заглушек;
- таблица (tableIco) - таблица в которую будут складываться превью локации (должна иметь память - чтобы создались один раз);
- разлочить дней от текущего влево (daysunlock) - указываем крайнее левое значение диапазона локаций текущей недели ( относительно, текущего, календарного дня);
- разлочить дней от текущего влево (daysunlockr) - указываем крайнее правое значение диапазона локаций текущей недели( относительно, текущего, календарного дня);
- очищать все коллекционные предметы при смене дня (clearcollections) - при смене календарного дня - очистить все полученные коллекционные предметы;
- прогресс загрузки (packProgress) - прогресс загрузки пака, в окне перед локацией;
Формат даты (можно использовать переменные в тексте _day - число, _weekDay - день недели, _mon - полное название месяца, _short - сокращенное название месяца):
- формат даты центр (dateFormatCenter) - текстовый ресурс, который будет помещён в имя локации (дата) центрального элемента таблицы;
- формат даты лево (dateFormatLeft) - текстовый ресурс, который будет помещён в имя локации (дата) всем элементам левее центрального элемента таблицы;
- формат даты право (dateFormatRight) - текстовый ресурс, который будет помещён в имя локации (дата) всем элементам правее центрального элемента таблицы;
- дни недели (dateWeekDays) - перечень текстовых ресурсов, которые будут браться для каждого дня недели ( первый текст - понедельник, второй - вторник ...);
- месяцы (dateMonthes) - перечень текстовых ресурсов для месяцев ( начинаем с января; sense0 - полное название, sense1 - короткое);
Фоновая прогрузка паков (при смене дня и при старте сессии):
- автозакачка паков влево (packNLeft) - указываем крайную левую локацию диапазона;
- автозакачка паков вправо (packNRight) - указываем крайную правую локацию диапазона;
- поправка на 29 февраля (tableFeb29Adjust) - обрабатываем 29 Февраля или нет;
- начальная дата (startDate) - Дата самой первой локации (unix time);
- удалять паки не используемые (дней) (packDeleteDays) - количество дней,спустя которое пак считается устаревшим, при превышении - пак удалится с устройства при вызове состояния clear_packs. По сути это разница между текущей датой и датой последнего использования пака. Дата последнего использования пака обновляется после игры в локацию (через сост. "play") или при успешной распаковке пака.
Динамические паки
Функционал позволяет уменьшить размер приложения, посредством разбиения арта на паки, и в процессе игры их скачивания (см. документ).