Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
1 ^5 _- t. y4 p1 C; ~$ W) X$ [6 Q; X0 {; K0 `6 T p3 g& a0 o: {: ~
, A3 }, d: ~5 D0 D. U* Y; I7 ?" j& XФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
, Q9 ]) a) L" z' i/ D 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
1 F7 j# U8 |* ]1 {Пример записи квеста в NewQuestData.xml:! E7 C% W8 T4 F
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
7 t% z2 ~ K2 v/ s- p2 A - <locations>( G# g6 w3 s1 S- S7 c0 u, t
- <param name="startLocationId">1015</param># }2 G* z6 B' [5 k% a) [
- <param name="endLocationId">1002</param>& W3 e( X; F0 J$ l: S E
- <param name="questLocationId">1020</param>- e7 ?2 h, K) A& x" `
- </locations>
5 N, c0 }. ?" p& h* a6 c6 V4 |% \ - <conditions>
; S1 q- f$ s; W: S - <param name="preQuestId">10019</param>& Y. T/ u6 o! t% C
- <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>4 u4 V" L1 E8 o' ^) S. m
- </conditions>3 m, x1 ^' j) p! a" O2 F
- <rewards>
( R5 I2 ~! Y9 d2 G - <items>" ^1 B- w8 x* L: n, U( W
- <item id="57" count="240000" />
$ M# y6 W/ a9 }3 O - </items>
7 h6 ?" m% P/ C7 ~0 X - <param name="rewardLevel">76</param>& ~, \6 `) X5 q! \3 s
- <param name="rewardSp">84</param>5 U! h2 _* Z2 v% b9 d
- </rewards>7 V c* ?! X2 t! t$ B z
- <goals>
5 Q! s' u( ^" l; f# k3 C - <param name="goalCount">30</param> v; q5 V1 k3 q
- <param name="goalString">Monsters on the Windy Hill</param>
8 [5 e4 S5 G/ Q) j' G - </goals>
# V& T- `% j, {8 n - </quest>
8 k; r! ]* j( R
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:1 Q$ L7 g- E8 p4 R4 a
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.0 h/ z3 a5 \$ J+ I
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:) D0 X/ N- c: @) l) M) x
2 Y5 z/ {6 ?: }0 S
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
- E5 D# L( m- X% n5 K' G 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
- O/ h( n6 M3 S( O- j9 N- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.0 g! d0 g/ N8 Y" G0 I' i
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:- {) h: b0 p x' a) C' x
- <items> — внутренняя секция с наградами в виде предметов.
' H7 M* @# @" F e- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.7 H P+ k# C: N" d& P# @: [3 S
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.' u: W* A5 h' L/ a/ j# {4 z9 c- x
2.5. Тег <goals>Этот блок определяет цели квеста:" Q0 H; m/ A4 U4 p. l: O
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
) O2 d$ l) }6 s' }
3. Пример полного квеста* i! Z1 F# B, e0 l$ Z2 h
9 Y) X' D4 E0 F, g) U
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
* r! p2 E) X7 I- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
6 \3 S# Y3 h8 Z% o2 X( d - <locations>! @: Z( I5 Q; j( a9 z
- <param name="startLocationId">1015</param>
% p7 r3 c: T% w; r* h& f0 { - <param name="endLocationId">1015</param>1 Y3 g; y) U& W4 W+ I' a, U6 J
- <param name="questLocationId">1020</param>9 x7 J$ P* Z. ?# J5 I/ v! Z
- </locations>
! u* `$ A) Q O: k. ]4 ^1 k - <conditions>9 X4 O' y. g" k8 x; G, `% q
- <param name="preQuestId">10099</param>5 g; S* ]! L/ P& ^$ R2 O
- <param name="classIds">1;2;3;4;5</param>
5 ^# W! Z2 z1 Z, h - </conditions>
. K! ]& a M ]4 ?4 ^5 {1 N - <rewards>( |; S; m7 N* i( T
- <items>; G; ~$ r. e9 V* x2 l
- <item id="57" count="50000" />* y7 x4 G- a/ W
- </items>
% ?( t9 s; Z3 E; b6 n- u9 \ - <param name="rewardLevel">50</param>
$ A- O8 t r: G0 |+ x/ Z8 g - <param name="rewardSp">1000</param>
$ v* P) I/ C4 i. f5 b- `% ?+ t - </rewards>
0 k) S Q+ q3 l/ Q2 D - <goals>
( x* U. N3 O- C* ]( m Z - <param name="goalCount">10</param>
. N, }% {6 K. L - <param name="goalString">Demons in the cursed forest</param>8 j: c& u6 ?# u; u
- </goals>
+ ]2 W" [% R' K - </quest>
, V3 d7 o( @- \( d% w3 n1 K
Скопировать код Здесь:
e4 i. R: |5 S. F, b! C3 f- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
) t0 C7 u U- Q8 E
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.4 Y" [2 L/ q4 n' q+ K: B I( E+ r
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.+ @( S: h9 h V! m% s- N: [
- _' o- P3 C- M; D; X |