Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
2 A! A, e, z o6 A& Z8 T8 E# \, G% _
* E4 g; G! j+ s) m: ^( J
4 @5 A; b9 z/ D' P8 P Q6 yФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.4 y- w) b: F0 T: M8 }
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.* I7 ]- N" S% u7 t: X3 X
Пример записи квеста в NewQuestData.xml:
: H0 \9 n" ?1 u1 v) e3 N6 P& G- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
0 ] F- }; W; p( I1 f3 N, {3 h! H* f - <locations>
: p3 a' o$ ^1 K6 N6 Q6 {3 S - <param name="startLocationId">1015</param>
5 \5 @+ b- r7 n H- v4 K# P - <param name="endLocationId">1002</param>! n8 G7 u" x2 s( J$ n3 k4 k9 m( A
- <param name="questLocationId">1020</param>, {* l4 Z9 y1 s6 { Y
- </locations>1 M/ T& L2 V" l- y: ~3 h+ M0 N/ X+ v
- <conditions>
" l8 }8 A; `3 i( e+ \; h" ~ - <param name="preQuestId">10019</param>
4 \9 x* E8 S" z* B. g$ K& Z - <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>- y( [) U- S: n! y( U2 P
- </conditions>
* I+ i) n) U x% F8 y$ ]; a2 T - <rewards>7 E& N6 Q- e/ p+ m
- <items>
) M! y8 t+ ]8 y/ [: B - <item id="57" count="240000" />3 M9 J8 a: ]" @5 V
- </items>
4 C7 ^4 B: Z/ F0 g2 I9 ], | - <param name="rewardLevel">76</param>5 }' t; _0 V$ q- K2 |
- <param name="rewardSp">84</param>7 a" o8 Y+ s( R# q
- </rewards>
& R& c+ }/ t7 c: W. j6 |' H% p$ i - <goals>! r- b2 k+ Z, Z; S) I
- <param name="goalCount">30</param>
- s) e1 B! B, c6 \% Z - <param name="goalString">Monsters on the Windy Hill</param>* O9 D: Z0 w/ b) Q9 u0 Q& W# A
- </goals>
0 u# c/ H8 \8 }- @( @ - </quest>" [% \9 I/ z- n$ [6 l% t
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
3 x3 \, k% x5 K& U- l- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
0 j+ p$ Z! k! L" I% b 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:! m' S6 f- X. }) S3 c, u
$ V( p0 B3 X9 m! |0 Z
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.7 H+ S+ F% J. z& r
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:; b% \ t* H/ C6 u
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.) p: ~" b* g- h9 P. c/ Y+ L5 S
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:! F$ e9 r3 u/ q
- <items> — внутренняя секция с наградами в виде предметов.
8 S K1 U! X) Y7 N: A* Q$ g5 N- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.+ ^: e; ?. O' ?4 D D4 _/ `
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
7 g/ Y9 p5 a+ t! u 2.5. Тег <goals>Этот блок определяет цели квеста:4 P1 a* a6 r" M# i& ~
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).2 y! J& W. A9 v' H$ ?: a3 @
3. Пример полного квеста
0 J4 r4 p0 h* R; R2 D+ x1 P2 ^0 d8 n, j2 H) p
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:1 j0 o3 t& A0 N1 s, t" O2 |
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
+ A, a6 u+ y/ R5 `+ D5 d. K - <locations>8 N! }3 }. y7 ~0 X$ I5 p
- <param name="startLocationId">1015</param>2 t8 ^3 P$ O S! _- k$ H$ N
- <param name="endLocationId">1015</param>
8 q" e* }$ h" j7 o - <param name="questLocationId">1020</param>- |% z j9 G& o
- </locations>
+ P- |2 n/ q: x: N - <conditions>; r2 [4 z" w$ r& U
- <param name="preQuestId">10099</param>
, ~: U5 J8 G! l5 Y - <param name="classIds">1;2;3;4;5</param>
( t" Y" O9 t' F, s B2 M! c7 M - </conditions>
( D' b4 f4 a; n4 W B" _. h. m - <rewards>" w1 H* O4 v7 n7 p9 c. ^
- <items>" |9 K8 l1 b, D. D2 ]/ p
- <item id="57" count="50000" />) B4 ?9 q) k( i- B& [
- </items>
& c4 c3 P8 F% L! X - <param name="rewardLevel">50</param>4 d. J2 s b* ]& R: k z2 }5 C5 K
- <param name="rewardSp">1000</param>1 F% T, g. D( t
- </rewards>
0 b. U7 m$ z* v6 X9 C0 H L; p3 y! N% T - <goals>
9 g( F- t, Q: k: l - <param name="goalCount">10</param>9 e- a2 `; j- u% _6 U5 _
- <param name="goalString">Demons in the cursed forest</param>. S, c& U8 i% q" _2 t
- </goals>9 l4 p# f. @* v, a
- </quest>7 ~, w" ] T( ~. Z& t2 Q$ K
Скопировать код Здесь:0 L) X/ v3 h7 v3 V. ~
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
& C, _0 `" \5 C8 s* r/ b+ a& z1 x
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.9 F- H4 f7 K& o
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
) ~8 _: y' q' ?
8 P' k( |- L4 N* b$ O3 I4 d |