Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
4 d( y( S% r M, F+ r9 ]
, |+ M% z3 k2 }+ t% G
. \/ Q# B' y: P3 rФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере., ]1 I6 J; |4 P# Y% F4 i- i; [
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.. H6 m4 L- s B3 u( V- g; E
Пример записи квеста в NewQuestData.xml:0 @- A$ K: ^: u" ~- P% [2 ~
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
4 z4 r1 ]$ F* y4 ~+ o1 b - <locations>
) H D& _6 Z3 {# t - <param name="startLocationId">1015</param>. t9 v. B! V% n' O
- <param name="endLocationId">1002</param>$ p# N; J! i& D5 s
- <param name="questLocationId">1020</param>
+ @% _( O* ?; P& D! @* v - </locations>5 l' P) E( I3 m# F& O" U/ k' c4 }
- <conditions>9 X+ G0 E/ j$ n5 K5 `; I
- <param name="preQuestId">10019</param>3 w4 Q4 Q) _, w. s
- <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>/ @' t6 W- l0 J8 b! x1 w
- </conditions>8 [0 g; Q l6 `, l( v) }
- <rewards>6 c- }3 D3 R3 r4 k7 _& P4 s, p$ r- Q0 k
- <items>' `0 w2 R8 y' C5 T0 g U
- <item id="57" count="240000" />
) d+ C; d" l! \' e3 t; k0 R - </items>0 t) E' \8 n# |1 ~
- <param name="rewardLevel">76</param>
8 \7 r% @5 v1 |0 w - <param name="rewardSp">84</param>4 Q. N( c- A/ T( J! x) {4 I& \. y
- </rewards>6 b( H. I& I* Y& a: X- @% P
- <goals>
9 ?! @- q" [ }6 y1 Y% d n - <param name="goalCount">30</param>
- b/ m7 ~, H! U0 H3 @ - <param name="goalString">Monsters on the Windy Hill</param>' e6 s, H' L* t2 ]
- </goals># I: g9 |& A3 ^$ M* N- a6 h# H
- </quest>% N' p- ?, M; ?9 L( e, H
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:7 m# {* m- g; H7 F0 p8 ~1 v+ |
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
8 P1 \" M& W( h 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
' j, G; Q/ c$ ?' H! _8 H& b! \+ L* f% m) y
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
; L6 J u: O4 |& }' [5 D 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
# c9 |6 n7 V5 F& C5 n- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
5 b! a8 A! p: _% D- F 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
- o; P. ^9 B% B- <items> — внутренняя секция с наградами в виде предметов.8 z& c0 G5 A$ b O: g# E. a
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.2 _/ ~3 }. h4 t# P
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
, f4 h8 d, Z* o4 g M 2.5. Тег <goals>Этот блок определяет цели квеста:; H5 p# T5 W2 n, `, ~' ~
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
$ d3 E0 z" n2 N0 e. b& ~# D
3. Пример полного квеста
% h: y3 j0 O; X5 G) y1 C' x. l) n, f. W& M/ b# C, C
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
3 [$ h& @! C- f- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">, p: k* V5 f; G- k; G( h! |- v
- <locations>
6 ?7 ?2 f& N9 v" w- @7 p - <param name="startLocationId">1015</param>
! U# L- `( I( {( A - <param name="endLocationId">1015</param>
0 b# J( |; Y' n" {& x - <param name="questLocationId">1020</param>
% c% }" ^3 [; b% q k3 H - </locations>
+ ~* G3 \& O5 g - <conditions>
' F1 F* x6 d) m - <param name="preQuestId">10099</param>
0 j o& ]* Y7 |. L - <param name="classIds">1;2;3;4;5</param>$ W: w3 h+ U$ q2 j) t$ Y0 ?
- </conditions>7 j2 K5 ^! Z# t; r
- <rewards>
% O1 m+ S6 j' k' g8 `0 r - <items>& w. a8 K0 u( k2 m0 W
- <item id="57" count="50000" />" h* f& R* f& I) W! d/ A+ Y
- </items>+ t, V' B9 Z- D5 R- b1 \: u
- <param name="rewardLevel">50</param>
' R# T5 ~+ @. \- K; T - <param name="rewardSp">1000</param>
5 Q, F+ Q# V3 F( Q" u% e- ] - </rewards>
& `- d: J; O; r - <goals>/ P3 U; x3 d) y$ S8 I& \: u7 M, @
- <param name="goalCount">10</param>8 [; ~+ n5 C. K3 T- F B2 o- ?5 ]
- <param name="goalString">Demons in the cursed forest</param>7 `! K8 q9 J; A2 D2 A
- </goals>
3 Y& C5 C5 W% J - </quest>/ L4 D: ^7 a) o6 N5 E* J
Скопировать код Здесь:4 q& K9 F5 F! ~# b9 w' O" h
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
# w+ f3 G0 |0 l- A; J& m/ h
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.* `; M$ [7 e$ t9 q
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
% [8 q) ^ r* H4 g: N- K) e* X& G" x- R; }% A
|