Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius6 j4 k1 @& r& m7 r' i. P$ U# ], ]
& X7 P4 y8 D- k7 M) C) N, Q9 F/ Y. A7 ?. h7 D. Q. w
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.8 ^: ~- e3 M, s$ W9 @
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.* S% E7 C3 z# s; a
Пример записи квеста в NewQuestData.xml:
: v" K4 u$ R8 A$ U& Z2 M- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
$ t- J. ?$ B3 s - <locations>8 a+ E, ?! F3 f7 j& _
- <param name="startLocationId">1015</param>6 q( _+ t) H3 H) Q, P# P$ J) L
- <param name="endLocationId">1002</param>0 s" e- \( R0 h) {5 I
- <param name="questLocationId">1020</param>
' N0 A$ u4 O# m. ]' _ - </locations>" j3 o3 u( F! b1 Z, b$ @- q
- <conditions>
2 Z3 [& i+ [5 Y' l) E - <param name="preQuestId">10019</param>
" Y2 r; m( j2 d C7 x - <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>
& z- E y& s/ V: l - </conditions>6 Z& `' C0 B$ m& u; H9 d" ^5 g) T
- <rewards>
' X) r- o' v/ y) r- R! i' |) b, \ - <items>4 |) L& ]# q: Q( e
- <item id="57" count="240000" />1 |, @( ?6 O# ]3 j0 Q+ F/ P
- </items>
* w) i1 E/ e1 K# _8 R5 A, ^6 I: Z* N/ x - <param name="rewardLevel">76</param>9 v# j' Q+ x& e5 Y% @. x: J
- <param name="rewardSp">84</param>
/ ~- c9 ?" D1 R$ \! R - </rewards>
- N D7 h. G2 ?* u) W - <goals># o- P" d: g+ V" E2 d* c
- <param name="goalCount">30</param>% m& w9 n6 Z" V# B
- <param name="goalString">Monsters on the Windy Hill</param>% ~5 Y! z0 D5 i1 \8 B% A$ G, \
- </goals># Q: ]: B% A) N
- </quest>
+ M" I5 A; q: A, t5 A6 l
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
8 Q1 o4 k$ b' Z6 E1 ~1 u1 l9 [- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
) \- D+ s! C2 k2 V3 h# q, V! O. l 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
- h. b7 K, m" ~
4 u! ]. n- T1 G- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
& }" G8 x: ]. |, k' ` 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
; m5 I) T7 P2 m; {2 d- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.; Q+ E& ^) Z3 E1 r6 O# s0 {7 m
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
! K* k; e$ q+ T: j! C4 `- <items> — внутренняя секция с наградами в виде предметов.) ~4 W0 c" s X- {
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.& U! v1 U( G/ k$ F7 e
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
6 |" q) H O) @# e5 U# }; E# i 2.5. Тег <goals>Этот блок определяет цели квеста:3 C8 }0 J! T. N# w( b9 \0 K
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
( P4 B/ O; s7 V
3. Пример полного квеста' F- x1 c7 f M5 R& `
' Z1 `2 L. |9 _" i0 F; N2 x
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
- r' l) ^2 |+ z+ m J, J- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
" T- |( G% _" J0 N; M4 z8 \ - <locations>7 \- G" G% w. M. h
- <param name="startLocationId">1015</param>
+ w7 ]& C5 l4 D8 S2 N" ` - <param name="endLocationId">1015</param>4 }- A; x0 z3 e" v* u
- <param name="questLocationId">1020</param>
! @2 X) G$ j: d5 ?+ o1 J$ M2 R/ ? - </locations>) Q$ H+ w1 s# `$ D3 h. P
- <conditions>1 ?) U3 N: v# Y' a9 s
- <param name="preQuestId">10099</param>
# s S4 ~* [; c0 C8 h* U - <param name="classIds">1;2;3;4;5</param>4 z7 b6 u9 o/ R' Q
- </conditions>
9 g6 h ] {2 D7 u3 U, |4 ^ - <rewards>
! c0 O& }( T4 G - <items>
/ r& j1 w; d. C5 x( y - <item id="57" count="50000" />
' J$ M5 C, ]- n. U6 r - </items>- Z4 ~6 w" ?1 f3 b( }& W
- <param name="rewardLevel">50</param>, o; U+ ^8 h, Y
- <param name="rewardSp">1000</param>
+ W* ~. A1 \, q6 ^% f - </rewards>" t' v& C# B6 V2 h1 J
- <goals>/ C( Z8 S9 k& n2 W0 a" ~& i
- <param name="goalCount">10</param>
7 U9 {7 H% e0 U! k9 \ - <param name="goalString">Demons in the cursed forest</param>
( S1 q* }; t1 r7 u- j2 D! ^ - </goals>: W5 t1 i3 z5 g* r2 J7 [
- </quest>
+ n9 m8 |! ]" T1 Y
Скопировать код Здесь:' L, ^5 x) n: n0 y0 e
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
6 `% ^% g$ j' H. j( G( M
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.2 T% d8 g- R( s- }: g0 u, f" Z
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.9 {! }2 v2 m- t2 E& R1 |5 u
6 G+ J- D, ?# U
|