Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
) }0 P) A, H3 g* F/ [8 ^0 g- ^; U1 |- c/ ?, p
6 V* e0 x) L5 c% F4 lФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.' J% ^9 s5 d1 g2 l; V! T4 \" t
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
( n" T! f- k$ _0 A( J+ {Пример записи квеста в NewQuestData.xml:
! g" ]4 G+ Y- _. p* l! }' B- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">5 }( [! x3 g. B( X7 m8 h/ I/ u
- <locations>
K- t2 Z! {( { - <param name="startLocationId">1015</param> K( x+ y; L! p2 E
- <param name="endLocationId">1002</param>
) ^* z8 F% @5 L - <param name="questLocationId">1020</param>
# e& M# I& W# X; F - </locations>; H" e, x2 V; T1 ?% p- I
- <conditions>
3 A2 P6 Z! m0 ]4 Q0 ]3 H - <param name="preQuestId">10019</param>
8 e# Q9 j9 s! H. E0 z5 P6 n7 P; A - <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>
3 n c+ {* a8 U9 B9 _- h' H# \ - </conditions>
" R$ F; `3 D1 Q5 z5 s7 m - <rewards>
$ ~; \) j. D) y6 q7 |1 F4 ` - <items>
! L& d% f" G0 G/ f' B - <item id="57" count="240000" />' c4 n9 B; f8 y9 Q. c- @( ^
- </items># u" Z7 j6 R3 d& s2 F2 h# E1 w1 D+ t* C
- <param name="rewardLevel">76</param>0 I" J8 |3 m3 d& R# b3 e3 i* j
- <param name="rewardSp">84</param>
( U3 a2 \ h' p! q" G! V - </rewards>
; } Z# |) ]0 q& d/ J5 H% K - <goals>) @0 j2 t& ]% _3 ]
- <param name="goalCount">30</param>
( n% ], ^5 \+ x, d - <param name="goalString">Monsters on the Windy Hill</param>
; Z5 O8 S' ?& H - </goals>7 ]# V$ b2 k! J: W9 z9 U* t3 [7 q
- </quest>
3 O7 D9 n* Q& D4 X2 O9 C
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:) K% `0 g$ G, g, D3 B" G, _
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
9 Z" p. B$ i' \( ~0 m. M; T' K 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
2 l) ] W; B1 m
r: i7 |# T- j b- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.1 a' N* T# N. v5 t
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:- w4 m. j/ \* r% } [7 j* _
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
( w! c* z9 n9 \) n( i2 { 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:+ g8 H/ c, H ]0 P
- <items> — внутренняя секция с наградами в виде предметов.
: G2 f. Q$ w: D. U) x( W' ~9 x- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.6 L+ @0 d1 B& N9 Z. l5 r! ~
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.! ^0 C. a" R; W- N
2.5. Тег <goals>Этот блок определяет цели квеста:
" }7 h S' w; ~ |6 z- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).# A6 M4 k1 B! ~9 [) O( g' N
3. Пример полного квеста: i% g0 _- U& x$ u1 I2 i7 t8 {
6 `* O8 Q r U1 q9 c1 [$ p# @# `& @Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:: z! k3 ?. X g$ T& c# t
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">' a- c( z9 C# c. z) |4 W; g
- <locations>
' t- ]1 z; Q+ {0 f: E- y* w5 O6 G - <param name="startLocationId">1015</param>0 J5 p9 u) J! T \
- <param name="endLocationId">1015</param>, }4 F D& b4 p$ E6 b0 J# K
- <param name="questLocationId">1020</param>) O( y3 J* j! K: b' a
- </locations>
) i8 v n& C- S" j( `* E - <conditions>
/ K- z& C3 i& f: K) F/ u3 B4 B - <param name="preQuestId">10099</param>( ` L7 S: |" [" N
- <param name="classIds">1;2;3;4;5</param>
! B% y- j. F* } - </conditions>% D" a) L1 ^, J E" f8 ]
- <rewards>6 _ \# p0 w& L* o
- <items>
' ]' W2 Z9 U5 W, X - <item id="57" count="50000" />7 @" d& z8 x3 d
- </items>
5 k3 j; s$ j9 I, {5 k8 u - <param name="rewardLevel">50</param>1 g& D8 N+ Z1 R. d9 Q
- <param name="rewardSp">1000</param>( p/ M! G9 @$ E: i
- </rewards>& G& q. S% V+ u$ B, _. ^, ~
- <goals>% m: O: E: ]/ b% B3 E' K
- <param name="goalCount">10</param>
: F* D; i) }2 |+ l/ g, I; y. S! c - <param name="goalString">Demons in the cursed forest</param>
' ?0 B) X9 n$ ]! F1 L7 z [ - </goals>& ]" v, ~- R3 {6 F: ? [
- </quest>/ g" @( G8 j1 A# _
Скопировать код Здесь:
- d/ j2 x- [ C8 P5 g4 Z- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.! |( w# b' l p4 `5 I
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.8 J5 g) J4 ]# A, K: D, o6 q
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.& L% a# B$ T, l1 o
4 P; t" A( ~# I+ s0 z, Z) p5 h. Q |