Taskorganizer — различия между версиями
Sadovoy (обсуждение | вклад) (→Свойства) |
Lkunica (обсуждение | вклад) (→Свойства) |
||
Строка 12: | Строка 12: | ||
*'''шаблон предмета''' - Объект типа etaskitem будет использоваться при показе превью задания. | *'''шаблон предмета''' - Объект типа etaskitem будет использоваться при показе превью задания. | ||
*'''фильтрация''' - Категория, которые должны будут отобразиться в таблице логов при вызове состояния logbook. Пустая строка - все. | *'''фильтрация''' - Категория, которые должны будут отобразиться в таблице логов при вызове состояния logbook. Пустая строка - все. | ||
− | *'''таблица логов''' - Таблица куда будут помещены записи | + | *'''таблица логов''' - Таблица куда будут помещены записи логбука. |
*'''новая запись''' - Объект, которому будет вызвано состояние show при добавлении новой записи в логбук. | *'''новая запись''' - Объект, которому будет вызвано состояние show при добавлении новой записи в логбук. | ||
*'''новое задание''' - Графический ресурс, который будет отмечать новые задания. Смещение должно достигаться пивотом. | *'''новое задание''' - Графический ресурс, который будет отмечать новые задания. Смещение должно достигаться пивотом. | ||
Строка 21: | Строка 21: | ||
*'''выполнять непрочитанные''' - 1 - выполнять непрочитанные таски, 0 - нет. | *'''выполнять непрочитанные''' - 1 - выполнять непрочитанные таски, 0 - нет. | ||
*'''хронологический порядок''' - 1 - записывать задачи в хронологическом порядке, 0 - нет. | *'''хронологический порядок''' - 1 - записывать задачи в хронологическом порядке, 0 - нет. | ||
+ | *'''картинки в логбук''' - Расположение картинки до или после текста. | ||
+ | |||
+ | <pre> | ||
+ | Для огранизации логбука необходимо текст поместить в sentenсe 1. Картинка, что будет отображаться с этим текстом, должна быть icon 2. Также есть возможность использовать эту картинку в качестве фона. Тогда текст, который будет отображаться поверх этой картинки, нужно разместить в sentenсe 2. | ||
+ | </pre> | ||
+ | |||
'''Группа угадайка''' | '''Группа угадайка''' | ||
Версия 12:33, 7 июля 2015
Объект Taskorganizer - Менеджер задач и квестов
Свойства
Общие параметры
- economics - Объект типа экономикс.
- предметы - Объект типа eitems.
- таблица - Таблица куда будут помещены иконки заданий. При тапе на таблицу объекту Taskorganizer вызывается состояние show. Иконки подтягиваются из текстовой базы (icon1).
- добавлять иконки - 1 - добавлять в таблицу иконки, 0 - тексты из текстового id (поле word).
- шаблон предмета - Объект типа etaskitem будет использоваться при показе превью задания.
- фильтрация - Категория, которые должны будут отобразиться в таблице логов при вызове состояния logbook. Пустая строка - все.
- таблица логов - Таблица куда будут помещены записи логбука.
- новая запись - Объект, которому будет вызвано состояние show при добавлении новой записи в логбук.
- новое задание - Графический ресурс, который будет отмечать новые задания. Смещение должно достигаться пивотом.
- прочитанное задание - Графический ресурс, который будет отмечать прочитанные задания. Смещение должно достигаться пивотом (возможно указать анимацию, скорость смены кадров указываем в ресурсной базе).
- выполненное задание - Графический ресурс, который будет отмечать выполненные задания. Смещение должно достигаться пивотом (возможно указать анимацию, скорость смены кадров указываем в ресурсной базе)
- уведомление - Текстовый айди заголовка связанных с задачами уведомлений.
- вероятность уведомления - Подменная вероятность нахождения предмета нужного для задания по уведомлению с которого мы пришли. 0 - использовать значение по умолчанию.
- выполнять непрочитанные - 1 - выполнять непрочитанные таски, 0 - нет.
- хронологический порядок - 1 - записывать задачи в хронологическом порядке, 0 - нет.
- картинки в логбук - Расположение картинки до или после текста.
Для огранизации логбука необходимо текст поместить в sentenсe 1. Картинка, что будет отображаться с этим текстом, должна быть icon 2. Также есть возможность использовать эту картинку в качестве фона. Тогда текст, который будет отображаться поверх этой картинки, нужно разместить в sentenсe 2.
Группа угадайка
Угадайка - задание, в котором игроку предлагается вспомнить или угадать, кто из персонажей просил тот или иной коллекционный предмет. Владелец предмета указывается в настройке подзадачи.
- показывать через - Через какое количество обычных задач показывать угадайку.
- с уровня - Угадайка будет генерироваться только начиная с данного уровня.
- машина - Объект, которому при активации будет вызвано состояние show. Она же после угадайки будет переведена в состояние win или fail.
- иконка - Объект, в который сложим иконку предмета.
- иконка для таблицы - Иконка соответствующая угадайке в таблице задач.
- ресурс 1 - Деньги даваемые за выполнение задания.
- ресурс 2 - Кристаллы даваемые за выполнение задания.
- опыт - Опыт даваемый за выполнение задания.
- награда ресурс 1 - Счетчик, которому будет присвоено количество призового ресурса 1.
- награда ресурс 2 - Счетчик, которому будет присвоено количество призового ресурса 2.
- награда опыт - Счетчик, которому будет присвоено количество призового опыта.
Группа рулетка
На самом деле название "рулетка" весьма условное. В этом разделе можно поместить любое периодически повторяющееся задание.
- показывать через - Через какое количество обычных задач показывать рулетку.
- с уровня - Рулетка будет генерироваться только начиная с данного уровня.
- машина - Объект, которому при активации будет вызвано состояние show.
- иконка для таблицы - Иконка соответствующая рулетке в таблице задач.
Группа генерируемые
В этой группе находятся периодически генерируемые задания на прохождение локаций.
- активных задач - Эти задачи будут генерироваться, когда активных задач столько или меньше.
- с уровня - Эти задачи будут генерироваться только начиная с данного уровня.
- максимально - Будет сгенерированно случайное количество задач от 1 до n.
- машина - Объект, которому при активации будет вызвано состояние show. Она же после угадайки будет переведена в состояние win или fail.
- название - Текстовый объект, в который будет сложено название локации.
- превью - Объект, в который сложим превью локации для генерируемой задачи.
- иконка для таблицы - Иконка соответствующая генерируемому таску в таблице задач.
- ресурс 1 - Деньги даваемые за выполнение задания.
- ресурс 2 - Кристаллы даваемые за выполнение задания.
- опыт - Опыт даваемый за выполнение задания.
- награда ресурс 1 - Счетчик, которому будет присвоено количество призового ресурса 1.
- награда ресурс 2 - Счетчик, которому будет присвоено количество призового ресурса 2.
- награда опыт - Счетчик, которому будет присвоено количество призового опыта.
Если перед генерацией случайного таска на исследование локации указать параметру gen_loc значение от 0 до n, то ближайшая генерируемая задача будет для конкретной локации под указанным номером. После генерации параметр gen_loc становится -1.
Если перед генерацией случайного таска от персоанжа указать параметру gen_face значение от 0 до n, то ближайшая генерируемая задача будет от персонажа под указанным номером. После генерации параметр gen_face становится -1.
Группа угадаечные задачи
В этой группе указываем диапазоны для генерации тасков-викторин и способ генерации.
- стандартная генерация:
- нет - особая генерация задач, при которой с начало генерируем задачи из _очереди 1_, потом задачи из _очереди 2_ ( Если в первой очереди мы не можем сгенерировать задачу, пытаемся сгенерировать из второй очереди). Если мы не сгенерировали задачу из обоих очередей, то мы обнуляем все таски из обоих очередей ( и сразу генерим из _очереди 1_ задачу);
- да - стандартная генерация одной угадайки ( начинаем сверху вниз генерить;
- очередь 1 - Основная очередь, пытаемся из неё сгенерировать задачу, при получении Taskorganizer сост. _generate_guess_, если в предыдущем поле стоит нет. Каждая задача из этой очереди имеет условия для появления ( прохождение сюжетного таска к примеру);
- очередь 2 - Очередь затычка, задачи из этой очереди без условий. Предназначена когда в первой очереди нету доступных тасков для генерации;
Taskorganizer setup
- id - Идентификатор задания. Используется в других заданиях. По общей концепции - строковый айди. Перетаскивается из текстовой базы.
Для каждого задания(записи в logbook) должен быть свой уникальный id.
- хинт - Список строк-подсказок для задачи. Перетаскиваются из текстовой базы. Таким образом, добавив несколько записей из базы, увидим выпадающий список.
- название (объект) - Текстовый объект, в который мы сложим название задания. Описание подтягивается из текстовой базы из первого столбика (word) текстового id задания.
- машина - Объект, которому при активации задания будет вызвано состояние show, а при повторном открытии задания show_old.
- портрет - Объект, которому при активации задания будет устанорвлен графический ресурс рожи.
- таблица - Таблица куда будут помещены темплейты предметов данного задания.
- описание (объект) - Текстовый объект, в который мы сложим описание задания. Описание подтягивается из текстовой базы из второго столбика (sentence1) текстового id задания.
- награда (ресурс 1) - Счетчик отображающий награду в ресурсе 1 за выполнение задания.
- награда (ресурс 2) - Счетчик отображающий награду в ресурсе 2 за выполнение задания.
- награда (опыт) - Счетчик отображающий награду в опыте за выполнение задания.
- таблица хинта - Таблица, в которую будем складывать хинты.
Необходимое для логбука
- для журнала - 0 - задача предназначена для списка задач, 1 - задача предназначена для журнала.
- категория - Категория к которой относится задача/запись. Пока используется только задачами для логбука.
Критерии появления
- уровень - Минимальный уровень, при котором может появиться задание.
- аномалия - В какой-либо локации присутствует аномалия данного типа. -1 - не учитывать условие.
- локация - Локация для которой будем проверять мастерство. -1 - не учитывать условие.
- мастерство - Уровень мастерства, который должен быть достигнут в локиции. -1 - не учитывать условие.
- завершены до - Задания, которые должны быть завершены до появления этого.
- получены до - Задания, которые должны быть получены до появления этого.
- не завершены до - Задания, которые должны быть НЕ завершены до появления этого.
- объект до - Объект, который должен находиться в состоянии_до для появления задания.
- состояние до - Состояние объекта_до, в котором вызывается генерация задания.
- коллекционные - Коллекционные предметы, которые должны быть найдены для появления задания.
- вероятность нужного - Когда мы будем проходить локации, в которых есть предметы необходимые для задания - мы будем подменять вероятность из локации вот этой вероятностью. 0 - использовать дефолтную.
Критерии завершения
- с аномалией - Задача выполняется при нахождение локации с аномалией данного типа. Не путать с аномалией необходимой для возникновения задания. -1 - не учитывать аномалию.
- задачи - Задания, выполнение которых требуется для выполнения данной.
- предметы - Задание завершается, когда получены следующие предметы (коллекционные и инвентарные единым списком).
- объект - Объект, который должен находиться в определенном состоянии,для завершения задания.
- состояние - Состояние объекта, в котором вызывается проверка задания.
Награда
- ресурс 1 - Деньги даваемые за выполнение задания.
- ресурс 2 - Кристаллы даваемые за выполнение задания.
- опыт - Опыт даваемый за выполнение задания.
- перевести объект - При выполнении задания этот объект будет переведен в новое состояние.
- в состояние - Состояние для объекта из предыдущего поля.
Изменить состояние объекта - новое задание
Позволяет изменять состояние объекту каждый раз при появлении нового задания, находится в taskorganizer setup.
Состояния
- show - При вызове этого состояния из таблицы с иконками заданий открывается соответствующая машина задания, прописанная в группе задание.
- check - При вызове проверяется выполнение текущих заданий(заданий добавленных в таблицу). Для того чтобы таскорганайзер добавил таски в таблицу после загрузки приложения ему нужно передать refresh.
- generate - При вызове подбирается подходящее задание в зависимости от прогресса игрока.
- log_check - При вызове состояния проверяется доступны ли новые записи в логбук.
- log_show - Заполняет таблицу логбука записями с текущим фильтром.
- refresh - Удаляет иконку выполненного задания из таблицы. Лучше всего вызывать после Check.
- cancel - Удаляет задание без награды, которое указано как ID в параметре param таскорганайзера, т.е. объекту Taskorganizer в param указываем ID таска (например 1933 - берется из options.xml или текстовой базы), а потом вызываем состояние cancel.
- add_hint - Добавляет в таблицу хинтов следующий текстовый ID из поля хинты текущего таска. Если все хинты показаны, то в опции записывается параметр haveHints=0.
- task_prev - Используется, если открыта машина-шаблон текущего задания. В этом состоянии показывается предыдущее по списку таблицы задание.
- task_next - Показывает следующее по списку таблицы задание.
Состояния task_prev и task_next работают циклически, после первой задачи показывают последнюю и наоборот.
- show_id - Показать окно задачи, взяв ее id из параметра.
- show_last_plot - Открыть последнюю сгенерированную сюжетную задачу.
- guess - Ответить на текущую угадайку, взяв ответ из параметра (param). Taskorganizer также хранит правильный ответ на текущую угадайку в параметре guess_answer, его можно использовать, если нужно оставить игроку меньше вариантов для угадывания.
- add_hint_last - Добавить подсказку последней добавленной задаче.
- add_hint_top - Добавить подсказку верхней задаче в таблице.
- guess_who_reward - начислить награду за последнюю угадайку.
- roulette_complete -состояние, вызываемое при выполнении текущей задачи "рулетка".
- cheat_complete - если его вызвать, то при следующем check выполнится задача, для которой последней показывали превью.
- skip - При вызове этого состояния выполнится последний открытый таск. Цена скипа указывается внутри самого таска.
- check_multiple - Проверить выполнение задач не выходя из проверки после первой найденной.
Состояния для работы с тасками-угадайками по типу викторины ( в taskorganizer_setup - тип = "угадайка"):
- answer - ответить на открытую угадайку ( в поле param должно находиться число, номер нажатой кнопки от 0 до 3 ). Вешаем на кнопки варианты-ответа ( пишем param = 0 - 3 , после передаёт _answer_);
- generate_guess - сгенерировать угадайку-викторину ( выберет доступные задачи из диапазона указанном в очередях ( 1 и 2) поле _угадаечные задачи_ taskorganizer). При открытии угадайки, в поле _cur_guess_answer_ объекта Taskorganizer записывается номер кнопки где лежит правильный ответ ( от 0 до 3 );
ПРИМЕЧАНИЕ: при проверке задач для логбука для последней выполненной будет перезаписано поле filter автоматически.
При кажом refresh таскорганайзер заполняет у себя поля:
- tasks_in_table - задач в таблице
- tasks_total - задач в таблице + скрытых задач
Запись в опции
В процессе работы таскорганайзер записывает параметры в опции. Для конкретной задачи этот параметр представляет следующую строку:
"tasks(id таскорганайзера в проекте).t(id текстового объекта - идентификатора задания).s".
Возможные значения:
- 0 - таск не активен (не добавлен путем вызова generate таскорганайзеру);
- 1 - таск сгенерирован ;
- 2 - таск прочитан (вызвано состояние show);
- 3 - таск выполнен;
- 4 - отложенное состояние таска (условия появления выполнены, но время его появления еще не прийшло);
- 5 - таск выполнен, но награда ещё не забиралась ( таск будет оставаться в таблице, если таски не выполняются автоматически);
Сопутствующие объекты
Объекты, которые используются вместе с объектом economics и имеют с ним непосредственную связь:
- - Eitems - объект, служащий для связи инвентаря(магазина) и экономики.
- - Estoreitem - шаблон для ячейки магазина.
- - Einventoryitem - шаблон для ячейки инвентаря.
- - Ecraftitem - шаблон для ячейки создания предмета.
- - Taskorganizer - органайзер заданий.
- - Etaskitem - шаблон для ячейки задания.
- - Ecollection - шаблон для строки в таблице коллекции.
- - Economics - глобальная настройка игр типа ферма\билдер
Пример проекта
S:\!MOBILE\!!!EditorGames\Wiki_sample\Taskorganizer