• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
[Мануал] Отображение цели задания на карте
Rendrak
Рыцарь
Всем привет. smile Сегодня мы научимся добавлять цель квеста на карте, это позволит игрокам не заморачиваться с поиском нужных мобов. Теперь можно просто открыть карту и мы сразу узнаем куда нам идти. smile

Для начала добавляем в quest_poi наши цели (кого убить/лутануть/кому сдавать и прочее):
Код
insert into `quest_poi` (`questId`, `id`, `objIndex`, `mapid`, `WorldMapAreaId`, `FloorId`, `unk3`, `unk4`) values('100','0','-1','0','30','0','0','1');

где
questId - ID квеста
id - порядок
objIndex - 0 если это цель для кв, -1 если сдача (вопрос на карте)
mapid - карта (0 восточные королевства, 1 - калимдор и пр.)
WorldMapAreaId - не принципиально, ID зоны
`FloorId`, `unk3`, `unk4` оставляем как здесь

Далее в quest_poi_points пишем координаты на карте
Код
insert into `quest_poi_points` (`questId`, `id`, `idx`, `x`, `y`) values('100','0','0','-9711','-5555');

questId - ID квеста
id - порядок как в quest_poi
idx - всегда 0
x - координата Х
у - координата У

Пример:
У меня в квесте 1 цель и сдача квеста
Код
insert into `quest_poi` (`questId`, `id`, `objIndex`, `mapid`, `WorldMapAreaId`, `FloorId`, `unk3`, `unk4`) values('100013','0','0','0','44','0','0','1');
insert into `quest_poi` (`questId`, `id`, `objIndex`, `mapid`, `WorldMapAreaId`, `FloorId`, `unk3`, `unk4`) values('100013','1','-1','0','44','0','0','1');

insert into `quest_poi_points` (`questId`, `id`, `idx`, `x`, `y`) values('100013','0','0','-9737','-3148');
insert into `quest_poi_points` (`questId`, `id`, `idx`, `x`, `y`) values('100013','0','0','-9677','-3156');
insert into `quest_poi_points` (`questId`, `id`, `idx`, `x`, `y`) values('100013','0','0','-9706','-3221');
insert into `quest_poi_points` (`questId`, `id`, `idx`, `x`, `y`) values('100013','0','0','-9744','-3209');

insert into `quest_poi_points` (`questId`, `id`, `idx`, `x`, `y`) values('100013','1','0','-9375','-3068');


Почему 4 цели? Ниже на скриншоте видно "квадрат" т.е. это зона, где данный квест можно выполнять (к примеру мобы могут находиться в этой зоне) так же можно просто указать конкретную координату где находится моб.

Сообщение # 1 написано 31.07.2014 в 20:47
Low
Центурион
Супер, давно искала, большое спасибо автору!
Рисовщица, выполняю любые заказы, босы, итемы, квесты, вендоры, кастомные нпс, ворлд ивенты (платно)
Сообщение # 2 написано 01.08.2014 в 17:53
msuu
Капрал
Благодарю вас Rendrak не знал даже что можно так сделать + твой!)
Сообщение # 3 написано 02.08.2014 в 01:27
p620
Маршал
Поправлю:
Цитата Rendrak ()
objIndex - 0 если это цель для кв, -1 если сдача (вопрос на карте)

0-3, для убийства НИПов/активации ГО.
4-х, для лутания предметов.
Цитата Rendrak ()
WorldMapAreaId - не принципиально, ID зоны

Это ID карты из WorldMapArea.dbc.
Цитата Rendrak ()
`unk4` оставляем как здесь

Есть информация, что этот параметр влияет определенным образом на отрисовку. Например, устанавливать здесь значение *3* для создания единичной точки, 1 - для выделения зоны.

П.С. Хотелось бы задать вопрос людям, кто копал эту тему усерднее. Частенько встречаюсь с крайне неприятными багами отрисовки такого вида:

На данный момент я не могу решить эту проблему и был бы признателен за помощь.
(Стоит отметить, что с одной из зон на втором скриншоте все в порядке, однако, 2 другие работают криво, хотя сделаны тем же самым способом.)
Сообщение # 4 отредактировано p620 - Вторник, 02.09.2014, 18:43
  • Страница 1 из 1
  • 1
Поиск: