Как лучше поступить?
Вар.1: хранить большую БД, с тремя десятками полей для каждого задания (описания, требования для получения, награды, к чему открывает доступ и т.д.) и десятком для кв-итема.
Вар.2: по завершению каждого кв-итема вызывать ф-цию, в которой руками прописывать все необходимые действия.

Если умеешь в ООП, то можно сделать конструктор заданий, которые будут набираться из его деталей (структур).
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
GF RaiseD:
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
ответ
Можно:
  • Создать проект, пройти модерацию и добавить в него ресурс с вакансией — он появится в ленте ресурсов.
  • Написать в свой блог, запись будет в ленте блогов, соответственно.
  • Обратиться сюда (но этот ресурс, вроде, не особо активен.
Но в «Вопросы» писать не надо.
ответ
Нестандартная арена.
ответ
Как хочешь
ответ
Если квест активен и не выполнен, а убитый - волк, то прибавляем 1 к переменной-счётчику для квеста. Если переменная равна 5, то засчитать выполнение квеста.

20
совместить оба способа, если есть бд - часть данных можно брать оттуда
лично я предпочитаю писать все руками, подзадалбывает, да, но зато легче чекать код\гуи и вносить нужные правки
26
ssbbssc, ну второй способ и подразумевал 50:50, я полагал, что те кто делал - догадаются (:
Я вот изначально хотел делать все на БД и фулл автоматизации.
А потом как расписал все на бумаге и понял сколько факторов придется учитывать, то меня посетила мысль, что проще сделать полуавтомат.
30
Если умеешь в ООП, то можно сделать конструктор заданий, которые будут набираться из его деталей (структур).
Принятый ответ
26
Clamp, как реализовать - я разберусь. Я не могу вкурить суть твоего конструктора.
На какие детали ты предлагаешь делить задания?
26
Clamp, у меня на данный момент есть кучка модулей, каждый из которых вызывается в зависимости от данных в БД.
Каждый модуль отвечает за свой участок работ (визуализация заданий в журнале, отслеживание прогресса выполнения разных типов заданий, продвижение по этапам задания итд).
Но это же явно не то, что ты имел в виду, да?
28
avuremybe, каждый квест будет иметь 3 поля
событие при котором запускается квест
условие прохождения
и награда при прохождении
для каждого из 3 полей создай по 1 классу которые ничего не делают и только содержат необходимые методы
далее создай классы наследующие базовый и переопределяющие эти методы
советую чтобы среди этих классов были классы контейнеры способные хранить другие объекты своего типа
например класс GroupEvent наследует класс Event и содержит в себе список объектов класса Event
класс Event содержит метод check который возвращает true
класс GroupEvent переопределяет метод check который возвращает true лишь в том случае если все содержащиеся в нём объекты класса Event вернут true
с точки зрения использования система будет выглядеть следующим образом
Quest q=new Quest();
GroupEvent gr=new GroupEvent();
Event e0=new EventGoldMore(5000); // класс у которого check возвращает true если золота больше чем 5000
Event e1=new EventQuestDone(myQuest); //класс у которого check возвращает true если квест myQuest был завершён
gr.addEvent(e0);
gr.addEvent(e1);
q.setEvent(gr); // в результате квест q будет начат тогда когда у игрока более 5000 золота и он выполнил квест myQuest
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.