Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
% l% q- t X u5 ]2 T
6 G9 v" @# E' F4 G9 \* Q" ~2 j+ v3 U& Y" b! }; p) {4 F
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.$ Z! y P8 t' c/ I6 P% T6 n
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.+ t8 H% G7 u' W3 F
Пример записи квеста в NewQuestData.xml:
7 Z) y; ^6 D% p, S: H4 x" }' l- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">& D8 N, E3 F4 _; y: X+ d i
- <locations>/ \( E* ]% G; I; J
- <param name="startLocationId">1015</param>9 P0 Z9 E5 |: v: B# O$ Q
- <param name="endLocationId">1002</param>0 x% P" D3 Y+ D% d& a- |' z: y
- <param name="questLocationId">1020</param>
/ H, w$ N$ u, q D- z Y6 j% N - </locations>1 n# }% s/ i" S5 F; x k
- <conditions>
* T8 A' R5 N& w V6 @) _4 u9 U - <param name="preQuestId">10019</param>
! d% h( }0 g6 a2 M - <param name="classIds">2;3;5;6;8;9;12;13;14;16;17;20;21;23;24;27;28;30;33;34;36;37;40;41;43;46;48;51;52;55;57;127;128;129;130</param>, u8 L3 `6 B# x1 @# d- F
- </conditions>9 f! x' S% s; n. q$ D! w7 G
- <rewards>0 b; C @8 N% }2 R3 ]0 F. h
- <items> B. ~9 f, p$ T: x: ~/ i" k$ C
- <item id="57" count="240000" />, ~ y: d0 l* |8 O" `
- </items>+ h3 ^3 s0 w' o: ^
- <param name="rewardLevel">76</param>
" R# C* O7 J% Y9 T4 U7 l7 E$ g7 c2 b - <param name="rewardSp">84</param>
0 x$ c e/ E5 u - </rewards>) C2 ?; D! c. _
- <goals>
8 N5 J) O5 A& v$ J; O6 M A - <param name="goalCount">30</param>2 W9 {4 x+ c$ N$ A# ]) R
- <param name="goalString">Monsters on the Windy Hill</param>; J% R k- r1 r) ^' ^9 ^
- </goals>; \1 S3 b9 k0 r- t. i9 N$ P
- </quest>
7 B3 [, s" ~ m9 J
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:/ Q7 w, I/ s) w+ W6 ^, s
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.* f w E7 O- p' u
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:1 q% ]8 G1 S+ I @' r- t3 {6 e
' k7 V9 a5 `; \) f- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
3 Z# r" ]) U) p! X7 K 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:0 u9 q% @, E2 L$ }: w; J- B
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.6 U: T, |- s! f3 m
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
. l. ~* d5 s9 x# d- <items> — внутренняя секция с наградами в виде предметов. r8 X' n- ]. B# E c$ W
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
" \. \% u6 L2 n
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.9 _6 S/ {6 L$ f
2.5. Тег <goals>Этот блок определяет цели квеста:
5 x; o' C4 W& W6 l1 b- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
7 l Y5 v v- p" f, n! Z
3. Пример полного квеста, c9 Z9 O! G8 m
' ~ Q, B0 O9 c7 b* a" @2 J
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:' O" ~ a6 M2 M. N1 _$ q
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
4 H+ H* k$ V" w" C - <locations>
, s ?3 A5 Y8 W& e - <param name="startLocationId">1015</param>
% f" H2 q. P: P - <param name="endLocationId">1015</param>
$ c; D4 I* U# o8 {) C/ u - <param name="questLocationId">1020</param>
1 S7 E6 X: M% E, i$ Z1 l+ l - </locations>
e+ S9 F5 }* K/ O4 m( Z - <conditions>
& Q0 N: Y- M1 P! g - <param name="preQuestId">10099</param>6 N/ r( Y% N- R. n5 p3 E: N
- <param name="classIds">1;2;3;4;5</param> s8 m- q4 l) k% r5 R
- </conditions>
, y/ H5 Y& P U/ B - <rewards>4 {- p* I' ?8 x- b4 k! W. O
- <items>
0 V8 A8 I7 p8 _ - <item id="57" count="50000" />! O3 ^3 n0 l0 Q1 J9 l; ?; u
- </items>5 z) z1 {9 d1 c4 D
- <param name="rewardLevel">50</param>
/ s" j; p b) M5 P - <param name="rewardSp">1000</param>
) t% P) v, ]! K' @) \8 ` - </rewards>: D9 Y0 ]* B8 ~4 U
- <goals>3 ^5 r; k3 k# T- e% m- S9 A, ^5 {
- <param name="goalCount">10</param>
1 c/ W! f- i8 W- F" }! @. T8 b - <param name="goalString">Demons in the cursed forest</param>5 B# ?1 ~* }' Z
- </goals>
e/ e% @; b. d - </quest>
% B; _* L: y! m
Скопировать код Здесь:
( A0 c2 \& \( u- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
5 H6 @4 P4 G$ u
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно./ d3 W+ m6 U" ^( A. |/ w
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
) n+ O- A, S) t! B0 F
/ a& \ R" J$ ?, Z" }& C) ^5 H |