Salesmanager — различия между версиями
Vefimov (обсуждение | вклад) (→Окно настройки) |
Vefimov (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{TOC right}} | {{TOC right}} | ||
− | |||
[[Object|Объект]] '''Salesmaneger''' предназначается для управления всплывающими окошками с различными акциями: скидками, выгодными предложениями и т. д. Для того, чтобы наиболее выгодным образом показывать человеку акции, этот объект будет сам определяет категорию пользователя, и в зависимости от нее показывает игроку различные события. За основу взято окно настройки локации из объекта [[Economics|Economics]]. | [[Object|Объект]] '''Salesmaneger''' предназначается для управления всплывающими окошками с различными акциями: скидками, выгодными предложениями и т. д. Для того, чтобы наиболее выгодным образом показывать человеку акции, этот объект будет сам определяет категорию пользователя, и в зависимости от нее показывает игроку различные события. За основу взято окно настройки локации из объекта [[Economics|Economics]]. | ||
− | ==Окно | + | ==Окно акций== |
− | [[Файл: | + | [[Файл:SM Actions.png|600 px|right]] |
+ | В данном окне добавляются и редактируются акции, которые потом включаются в сценарии. Каждая запись слева представляет одну акцию. Справа расположены настройки акции. Некоторые из них оставлены для совместимости с [[Salesmanager (Предыдущая версия)|предыдущей версией]] менеджера акций. | ||
− | + | Используемые параметры: | |
+ | *'''id события''' - id акции, берется из текстовой базы ресурсов. | ||
+ | *'''объект''' - Машина-обработчик акции должна иметь состояния '''show_first''' (первый показ акции), '''show'''(показать акцию), '''delete''' - удалить акцию; также в эту машину пишется id сценария, в который входит акция, как параметр '''sales_scenario'''. | ||
+ | *'''Длительность акции''' - время в секундах, в течении которого, акция активна. | ||
+ | *'''Количество показов ''' - сколько раз акция будет показана игроку (для акции будет вызвано show и show_first) | ||
+ | Также можно добавить произвольное количество условий окончания акции. Все условия объединяются логическим "И". | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==Окно групп пользователей== | |
+ | [[Файл:SM Groups.png|600 px|right]] | ||
+ | Есть 6 групп пользователей, в зависимости от их действий в игре: | ||
+ | *1. Не платившие, покинувшие игру; | ||
+ | *2. Платившие, но переставшие платить, продолжающие играть; | ||
+ | *3. Платившие, покинувшие игру; | ||
+ | *4. Не платившие, продолжающие играть; | ||
+ | *5. Платящие, играющие; | ||
+ | *6. Сломали игру. | ||
+ | Изменить количество групп в редакторе нельзя. Но это можно сделать через редактирование лейаута (Но я вам об этом не говорил.) | ||
+ | Эти группы определяются рядом параметров, по которым происходит определение игрока в одну из них. Эти параметры на протяжении игры меняются, поэтому одни и те же игроки со временем могут менять группу. | ||
+ | '''Важно!''' Данные параметры нужно подобрать таким образом, что бы группы не имели пересечений, т.е. в один момент времени игрок может попасть только в одну группу. Иначе сценарии будут отрабатывать некорректно. | ||
+ | [[Файл:SM Switch.png|400 px|right]] | ||
+ | Параметры группы: | ||
*'''от последней сессии мин''' ''(t_last_ses_min)'' - Время от последней сессии в полных сутках. | *'''от последней сессии мин''' ''(t_last_ses_min)'' - Время от последней сессии в полных сутках. | ||
*'''от последней сессии макс''' ''(t_last_ses_max)'' - Время от последней сессии в полных сутках. | *'''от последней сессии макс''' ''(t_last_ses_max)'' - Время от последней сессии в полных сутках. | ||
Строка 26: | Строка 38: | ||
*'''суток в игре макс''' ''(t_days_max)'' - Количество проведенных в игре полных суток. | *'''суток в игре макс''' ''(t_days_max)'' - Количество проведенных в игре полных суток. | ||
+ | Для каждой группы мы можем добавлять произвольное количество сценариев. Сценарий может включать произвольное количество акций. Для добавления акций в сценарий нужно переключить вид окна групп (кнопка "Switch") и выбрать нужные акции для сценария. | ||
− | + | Для активации сценария должны быть выполнены все его условия. Каждый сценарий имеет следующие параметры (описаны только актуальные параметры): | |
− | *'''id | + | *'''id сценария''' - id сценария, берется из текстовой базы ресурсов. |
− | *''' | + | *'''события сценария''' - список акций, которые входят в этот сценарий. |
− | *'''min уровень''' | + | *'''поле в опциях''' - Поле в опциях, откуда будет взят прогресс игрока. |
− | *'''уровни''' | + | *'''min уровень''' - Минимальный уровень при котором срабатывает событие. |
− | *'''события до''' | + | *'''уровни''' - Через запятую значения для предыдущего поля, при которых сработает событие. |
− | *'''время от инсталла min''' | + | *'''события до''' - События, которые должны были сработать до этого. |
− | *'''время от покупки min''' | + | *'''время от инсталла min''' - Время от инстала в секундах. |
− | *'''время от события min''' | + | *'''время от покупки min''' - Время от последней покупки в секундах. |
− | *'''время от инсталла max''' | + | *'''время от события min''' - Время от последнего события в секундах. |
− | *'''время от покупки max''' | + | *'''время от инсталла max''' - Время от инстала в секундах. |
− | *'''время от события max''' | + | *'''время от покупки max''' - Время от последней покупки в секундах. |
− | *'''использовать дату''' | + | *'''время от события max''' - Время от последнего события в секундах. |
− | *'''год''' | + | *'''использовать дату''' - 0 - не использовать, 1 - проверять месяц и день, 2 - проверять и год тоже. |
− | *'''месяц''' | + | *'''год''' - Год, когда сработает оповещение. |
− | *'''день''' | + | *'''месяц''' - Месяц, когда сработает оповещение. |
− | + | *'''день''' - День, когда сработает оповещение. | |
− | + | *'''повторяемое''' - Повторяемое ли событие нет=0, да=1. | |
− | *'''повторяемое''' | + | Также для сценария можно добавить произвольное количество условий начала сценария. |
− | == | + | ==Состояния== |
− | + | ==Принцип работы== | |
− | + | При вызове объекту состояния "check_multiple" сначала определяется группа игрока, после чего проверяются все сценарии этой группы. | |
+ | Если есть сценарий, для которого выполнились условия, то он активируется. При этом машина-обработчик первой акции в сценарии переходит в "show_first". В этом состоянии обработчика настраиваем первый показ акции. | ||
+ | Если на момент вызова состояния "check_multiple" были активные акции, то информация о них будет обновлена а машина-обработчик акции перейдет в "show". В этом состоянии настраиваем обновление акции (оставшееся время и т.д.). | ||
+ | Если акция закончилась (по времени или количеству показов), то при следующей проверке будет показана следующая акция из данного сценария. | ||
+ | Сценарий может закончиться 3 способами: | ||
+ | # Закончились все акции сценария | ||
+ | # Отменой акции | ||
+ | # Покупкой акции | ||
+ | При отмене/покупки акции Salesmanager'у нужно указать сценарий и вызвать состояние "cancel"/"ok", при этом обработчик перейдет в состояние "delete". | ||
+ | |||
+ | ==Запись в опции== | ||
+ | объект пишет опции в текущего пользователя, в следующем виде: | ||
+ | <salesmanager5 ev3="1" act_group="4" last_ev="1459770112"> | ||
+ | <ev3 tl="915" skip="0" aen="-1" aes="1459770112" ae="0"/> | ||
+ | </salesmanager5> | ||
[[Category:Options|*]] | [[Category:Options|*]] |
Версия 14:00, 4 апреля 2016
Объект Salesmaneger предназначается для управления всплывающими окошками с различными акциями: скидками, выгодными предложениями и т. д. Для того, чтобы наиболее выгодным образом показывать человеку акции, этот объект будет сам определяет категорию пользователя, и в зависимости от нее показывает игроку различные события. За основу взято окно настройки локации из объекта Economics.
Окно акций
В данном окне добавляются и редактируются акции, которые потом включаются в сценарии. Каждая запись слева представляет одну акцию. Справа расположены настройки акции. Некоторые из них оставлены для совместимости с предыдущей версией менеджера акций.
Используемые параметры:
- id события - id акции, берется из текстовой базы ресурсов.
- объект - Машина-обработчик акции должна иметь состояния show_first (первый показ акции), show(показать акцию), delete - удалить акцию; также в эту машину пишется id сценария, в который входит акция, как параметр sales_scenario.
- Длительность акции - время в секундах, в течении которого, акция активна.
- Количество показов - сколько раз акция будет показана игроку (для акции будет вызвано show и show_first)
Также можно добавить произвольное количество условий окончания акции. Все условия объединяются логическим "И".
Окно групп пользователей
Есть 6 групп пользователей, в зависимости от их действий в игре:
- 1. Не платившие, покинувшие игру;
- 2. Платившие, но переставшие платить, продолжающие играть;
- 3. Платившие, покинувшие игру;
- 4. Не платившие, продолжающие играть;
- 5. Платящие, играющие;
- 6. Сломали игру.
Изменить количество групп в редакторе нельзя. Но это можно сделать через редактирование лейаута (Но я вам об этом не говорил.) Эти группы определяются рядом параметров, по которым происходит определение игрока в одну из них. Эти параметры на протяжении игры меняются, поэтому одни и те же игроки со временем могут менять группу. Важно! Данные параметры нужно подобрать таким образом, что бы группы не имели пересечений, т.е. в один момент времени игрок может попасть только в одну группу. Иначе сценарии будут отрабатывать некорректно.
Параметры группы:
- от последней сессии мин (t_last_ses_min) - Время от последней сессии в полных сутках.
- от последней сессии макс (t_last_ses_max) - Время от последней сессии в полных сутках.
- от последней покупки мин (t_last_buy_min) - Время от последней покупки в полных сутках.
- от последней покупки макc (t_last_buy_max) - Время от последней покупки в полных сутках.
- суток в игре мин (t_days_min) - Количество проведенных в игре полных суток.
- суток в игре макс (t_days_max) - Количество проведенных в игре полных суток.
Для каждой группы мы можем добавлять произвольное количество сценариев. Сценарий может включать произвольное количество акций. Для добавления акций в сценарий нужно переключить вид окна групп (кнопка "Switch") и выбрать нужные акции для сценария.
Для активации сценария должны быть выполнены все его условия. Каждый сценарий имеет следующие параметры (описаны только актуальные параметры):
- id сценария - id сценария, берется из текстовой базы ресурсов.
- события сценария - список акций, которые входят в этот сценарий.
- поле в опциях - Поле в опциях, откуда будет взят прогресс игрока.
- min уровень - Минимальный уровень при котором срабатывает событие.
- уровни - Через запятую значения для предыдущего поля, при которых сработает событие.
- события до - События, которые должны были сработать до этого.
- время от инсталла min - Время от инстала в секундах.
- время от покупки min - Время от последней покупки в секундах.
- время от события min - Время от последнего события в секундах.
- время от инсталла max - Время от инстала в секундах.
- время от покупки max - Время от последней покупки в секундах.
- время от события max - Время от последнего события в секундах.
- использовать дату - 0 - не использовать, 1 - проверять месяц и день, 2 - проверять и год тоже.
- год - Год, когда сработает оповещение.
- месяц - Месяц, когда сработает оповещение.
- день - День, когда сработает оповещение.
- повторяемое - Повторяемое ли событие нет=0, да=1.
Также для сценария можно добавить произвольное количество условий начала сценария.
Состояния
Принцип работы
При вызове объекту состояния "check_multiple" сначала определяется группа игрока, после чего проверяются все сценарии этой группы. Если есть сценарий, для которого выполнились условия, то он активируется. При этом машина-обработчик первой акции в сценарии переходит в "show_first". В этом состоянии обработчика настраиваем первый показ акции. Если на момент вызова состояния "check_multiple" были активные акции, то информация о них будет обновлена а машина-обработчик акции перейдет в "show". В этом состоянии настраиваем обновление акции (оставшееся время и т.д.). Если акция закончилась (по времени или количеству показов), то при следующей проверке будет показана следующая акция из данного сценария. Сценарий может закончиться 3 способами:
- Закончились все акции сценария
- Отменой акции
- Покупкой акции
При отмене/покупки акции Salesmanager'у нужно указать сценарий и вызвать состояние "cancel"/"ok", при этом обработчик перейдет в состояние "delete".
Запись в опции
объект пишет опции в текущего пользователя, в следующем виде:
<salesmanager5 ev3="1" act_group="4" last_ev="1459770112"> <ev3 tl="915" skip="0" aen="-1" aes="1459770112" ae="0"/> </salesmanager5>