Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
8 M- \, @1 f7 u+ {" n- W1 k+ `/ T4 L; h1 s
9 d( a9 f9 _; Q; r0 J4 [2 ^
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
" L& o+ h# w( ?+ S( R3 H 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
4 {, X& a# i. u. C/ ]6 W! kПример записи квеста в NewQuestData.xml:
9 g6 a8 X3 X* E+ ~* S$ j/ p3 t- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">$ @0 Z3 G' r) j1 r, e- \. f6 y
- <locations>: ~/ {# _6 Q* W$ A
- <param name="startLocationId">1015</param># }+ |0 Z+ s- _" K/ Q* [. i
- <param name="endLocationId">1002</param>4 d) f3 V6 l# P. K. s: l4 G
- <param name="questLocationId">1020</param>
5 n f, o& Z! ]' ] - </locations>
, J. L x# P4 E& w/ B! ~( k - <conditions>
' D9 W' r" |7 H: E; | - <param name="preQuestId">10019</param>- V8 R& r( {, m$ l4 c' I
- <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>
9 K6 C. V: C. w; X" M9 B; T. t - </conditions>* \* M3 D4 k8 A; ]0 X
- <rewards>
! a4 O$ Z! Q( k& Q# T. e, D6 p' E' x - <items>8 e# W) U0 O! }: Z; V7 v8 g+ ~7 U
- <item id="57" count="240000" />
' z0 |5 ~& n8 |/ S, m - </items>
% q9 z4 l3 @& _/ ^8 K - <param name="rewardLevel">76</param>3 ?6 X0 w& h/ Q- @" u! N# X& x
- <param name="rewardSp">84</param>
$ R) _% V) }5 G3 c3 c - </rewards>' H" O. a9 G9 Z/ @7 C
- <goals>- w, o* |" x2 D5 F
- <param name="goalCount">30</param>9 X& t* D( M" j3 |. }* t
- <param name="goalString">Monsters on the Windy Hill</param>
4 x; K. E% c! @* m N6 k - </goals>
1 A; ]# l% A. V: {5 C* H5 J - </quest>
( N! n+ K+ F, G) n$ ]
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
: k2 x, X% }/ C2 w( x- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
0 f: w0 `: R# |' K" e 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
, w& V* {* V' Z p2 W" d" _- }/ R. A) \
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.) X4 h6 o9 M9 }: {! l. J3 y P
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
2 N d' N1 T2 q: c1 k, ?- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.- B j2 g& J2 t7 ~6 B- e
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:1 o1 w1 r/ t+ N
- <items> — внутренняя секция с наградами в виде предметов.
2 u: P0 m4 G9 Y; ?% }& D% z2 q- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
7 Y4 P. q& q% v3 K
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.3 S6 _. J$ i3 x+ [
2.5. Тег <goals>Этот блок определяет цели квеста:# U; J. R. Q# H7 _- p
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).- C' F3 Q- e; i
3. Пример полного квеста
" u# O0 _. c+ C. h7 u3 K- K
- r: n1 d U; Q/ d6 p* N# EПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:/ C7 N( _% u% @( v# L
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">, q8 s* T3 ?" [- u/ C
- <locations>
2 |0 Z: g Y8 J - <param name="startLocationId">1015</param>0 ?- Z7 n, ^2 J! i6 T' E* }
- <param name="endLocationId">1015</param>
0 E1 U. l9 l5 |+ n# \ - <param name="questLocationId">1020</param>, [+ E/ D( j5 e6 _3 G) L( e
- </locations>
- V4 c2 t) d1 |5 D7 ?! H+ k - <conditions>
! B) _: Q: ]( Y' W. G7 A - <param name="preQuestId">10099</param>3 i3 o$ [2 @6 a9 \, u, @; s- v1 C
- <param name="classIds">1;2;3;4;5</param>
z$ z# N6 x- c8 u - </conditions>
2 O) p1 m) f! C9 @2 u - <rewards>1 r; \' a- O+ ~
- <items>
) |. n# N! {" C' b6 D - <item id="57" count="50000" />" ?7 O# O4 |- }# h
- </items>
! L/ s5 j c' _+ I7 R- k - <param name="rewardLevel">50</param>: l2 s9 W0 j" Z( Y" d
- <param name="rewardSp">1000</param>
& L3 c! u0 M9 t) z9 U - </rewards>
2 i+ u; S6 M T; ?1 G - <goals>
$ G; f5 l5 E. ?8 N+ U - <param name="goalCount">10</param>
2 q; k5 y. Z' ^# T - <param name="goalString">Demons in the cursed forest</param> a' E2 u( `4 b
- </goals>/ i8 _" F# c8 W5 K9 B3 z" F) Q9 W
- </quest>
9 h! Z5 N# S, R# F5 T
Скопировать код Здесь:/ g1 m5 X( q9 v( W7 `+ ]9 u. x; h$ }# B
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.# A, F; ?9 n4 u8 l& `) `# ^" W: C
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.) i2 j- b! x! z0 V" ^4 h# J/ F
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
) f+ ?9 v6 P& ~1 C" T' A9 M8 {
3 h+ r4 i* k6 j6 D |