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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Окно настройки)
Строка 1: Строка 1:
 
{{TOC right}}
 
{{TOC right}}
==Общие сведения==
 
  
 
[[Object|Объект]] '''Salesmaneger''' предназначается для управления всплывающими окошками с различными акциями: скидками, выгодными предложениями и т. д. Для того, чтобы наиболее выгодным образом показывать человеку акции, этот объект будет сам определяет категорию пользователя, и в зависимости от нее показывает игроку различные события. За основу взято окно настройки локации из объекта [[Economics|Economics]].
 
[[Object|Объект]] '''Salesmaneger''' предназначается для управления всплывающими окошками с различными акциями: скидками, выгодными предложениями и т. д. Для того, чтобы наиболее выгодным образом показывать человеку акции, этот объект будет сам определяет категорию пользователя, и в зависимости от нее показывает игроку различные события. За основу взято окно настройки локации из объекта [[Economics|Economics]].
  
==Окно настройки==
+
==Окно акций==
  
[[Файл:Salesmeneger.png|600 px|right|Окно настройки]]
+
[[Файл:SM Actions.png|600 px|right]]
 +
В данном окне добавляются и редактируются акции, которые потом включаются в сценарии. Каждая запись слева представляет одну акцию. Справа расположены настройки акции. Некоторые из них оставлены для совместимости с [[Salesmanager (Предыдущая версия)|предыдущей версией]] менеджера акций.
  
С помощью кнопок "Добавить локацию" и "Удалить локацию" можем менять количество групп пользователей в колонке1. "Добавить уровень мастерства" и "Удалить уровень мастерства" добавляют и удаляют акции в колонке 3.
+
Используемые параметры:
 +
*'''id события'''  - id акции, берется из текстовой базы ресурсов.
 +
*'''объект'''  - Машина-обработчик акции должна иметь состояния '''show_first''' (первый показ акции), '''show'''(показать акцию), '''delete''' - удалить акцию; также в эту машину пишется id сценария, в который входит акция, как параметр '''sales_scenario'''.
 +
*'''Длительность акции'''  - время в секундах, в течении которого, акция активна.
 +
*'''Количество показов '''  - сколько раз акция будет показана игроку (для акции будет вызвано show и show_first)
 +
Также можно добавить произвольное количество условий окончания акции. Все условия объединяются логическим "И".
  
Для примера выделим 5 групп пользователей:
 
*1. Не платившие, продолжающие играть;
 
*2. Платившие, но переставшие платить, продолжающие играть;
 
*3. Платившие, покинувшие игру;
 
*4. Не платившие, покинувшие игру;
 
*5. Платящие, играющие.
 
  
Все эти группы отличаются рядом параметров (колонка 2) по которым происходит определение игрока в одну из них. Эти параметры на протяжении игры меняются, поэтому одни и те же игроки со временем могут менять группу.
+
==Окно групп пользователей==
  
 +
[[Файл: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") и выбрать нужные акции для сценария.
  
В зависимости от группы мы ожидаем различное поведение акций и предложений. Поэтому в 4 колонке определяется логика появления событий.
+
Для активации сценария должны быть выполнены все его условия. Каждый сценарий имеет следующие параметры (описаны только актуальные параметры):
  
*'''id события''' ''(ev_id)'' - id события, берется из текстовой базы ресурсов.
+
*'''id сценария''' - id сценария, берется из текстовой базы ресурсов.
*'''поле в опциях''' ''(ev_opt)'' - Поле в опциях, откуда будет взят прогресс игрока.
+
*'''события сценария'''  - список акций, которые входят в этот сценарий.
*'''min уровень''' ''(ev_lev)'' - Минимальный уровень при котором срабатывает событие.
+
*'''поле в опциях''' - Поле в опциях, откуда будет взят прогресс игрока.
*'''уровни''' ''(ev_levs)'' - Через запятую значения для предыдущего поля, при которых сработает событие.
+
*'''min уровень''' - Минимальный уровень при котором срабатывает событие.
*'''события до''' ''(ev_before)'' - События, которые должны были сработать до этого.
+
*'''уровни''' - Через запятую значения для предыдущего поля, при которых сработает событие.
*'''время от инсталла min''' ''(ev_inst_min)'' - Время от инстала в секундах.
+
*'''события до''' - События, которые должны были сработать до этого.
*'''время от покупки min''' ''(ev_purch_min)'' - Время от последней покупки в секундах.
+
*'''время от инсталла min''' - Время от инстала в секундах.
*'''время от события min''' ''(ev_ev_min)'' - Время от последнего события в секундах.
+
*'''время от покупки min''' - Время от последней покупки в секундах.
*'''время от инсталла max''' ''(ev_inst_max)'' - Время от инстала в секундах.
+
*'''время от события min''' - Время от последнего события в секундах.
*'''время от покупки max''' ''(ev_purch_max)'' - Время от последней покупки в секундах.
+
*'''время от инсталла max''' - Время от инстала в секундах.
*'''время от события max''' ''(ev_ev_max)'' - Время от последнего события в секундах.
+
*'''время от покупки max''' - Время от последней покупки в секундах.
*'''использовать дату''' ''(ev_date)'' - 0 - не использовать, 1 - проверять месяц и день, 2 - проверять и год тоже.
+
*'''время от события max''' - Время от последнего события в секундах.
*'''год''' ''(ev_year)'' - Год, когда сработает оповещение.
+
*'''использовать дату''' - 0 - не использовать, 1 - проверять месяц и день, 2 - проверять и год тоже.
*'''месяц''' ''(ev_month)'' - Месяц, когда сработает оповещение.
+
*'''год''' - Год, когда сработает оповещение.
*'''день''' ''(ev_day)'' - День, когда сработает оповещение.
+
*'''месяц''' - Месяц, когда сработает оповещение.
*'''объект''' ''(ev_obj)'' - При активации события перевести объект в состояние из следующего поля.
+
*'''день''' - День, когда сработает оповещение.
*'''состояние''' ''(ev_st)'' - Новое состояние для объекта из предыдущего поля.
+
*'''повторяемое''' - Повторяемое ли событие нет=0, да=1.
*'''повторяемое''' ''(ev_repeat)'' - Повторяемое ли событие нет=0, да=1.
+
Также для сценария можно добавить произвольное количество условий начала сценария.
  
==Особенности использования==
+
==Состояния==
  
Добавляемых параметров данный объект не имеет. Для запуска проверки условия появления акции объекту нужно передать состояние '''check'''.
+
==Принцип работы==
Других состояний объект не имеет.
+
При вызове объекту состояния "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.

Окно акций

SM Actions.png

В данном окне добавляются и редактируются акции, которые потом включаются в сценарии. Каждая запись слева представляет одну акцию. Справа расположены настройки акции. Некоторые из них оставлены для совместимости с предыдущей версией менеджера акций.

Используемые параметры:

  • id события - id акции, берется из текстовой базы ресурсов.
  • объект - Машина-обработчик акции должна иметь состояния show_first (первый показ акции), show(показать акцию), delete - удалить акцию; также в эту машину пишется id сценария, в который входит акция, как параметр sales_scenario.
  • Длительность акции - время в секундах, в течении которого, акция активна.
  • Количество показов - сколько раз акция будет показана игроку (для акции будет вызвано show и show_first)

Также можно добавить произвольное количество условий окончания акции. Все условия объединяются логическим "И".


Окно групп пользователей

SM Groups.png

Есть 6 групп пользователей, в зависимости от их действий в игре:

  • 1. Не платившие, покинувшие игру;
  • 2. Платившие, но переставшие платить, продолжающие играть;
  • 3. Платившие, покинувшие игру;
  • 4. Не платившие, продолжающие играть;
  • 5. Платящие, играющие;
  • 6. Сломали игру.

Изменить количество групп в редакторе нельзя. Но это можно сделать через редактирование лейаута (Но я вам об этом не говорил.) Эти группы определяются рядом параметров, по которым происходит определение игрока в одну из них. Эти параметры на протяжении игры меняются, поэтому одни и те же игроки со временем могут менять группу. Важно! Данные параметры нужно подобрать таким образом, что бы группы не имели пересечений, т.е. в один момент времени игрок может попасть только в одну группу. Иначе сценарии будут отрабатывать некорректно.

SM Switch.png

Параметры группы:

  • от последней сессии мин (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 способами:

  1. Закончились все акции сценария
  2. Отменой акции
  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>