Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius6 ^3 s" {3 C ?4 ]
# c0 f- `$ D: L6 w
( _0 j) E# h1 r* k: ?8 o
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
$ H# Z9 l( E9 a/ H 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
8 V4 R! A% U, A5 \1 nПример записи квеста в NewQuestData.xml:2 S0 \3 B$ e, Y/ W) G% |
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">7 P& b1 I9 y: A1 y$ I0 M
- <locations>' Z4 U0 U# I* A/ T2 t- T3 I3 X9 Y
- <param name="startLocationId">1015</param>
7 x% ^- } k b8 r! o7 t' m( y$ s - <param name="endLocationId">1002</param>+ u* A$ Y) [. ^) J2 G: |
- <param name="questLocationId">1020</param>7 C) b* x, o: _% h
- </locations>
5 a$ z# U2 A9 ?% _' `6 T - <conditions>
& {0 g8 O5 j+ d4 c$ s- r& Q2 d - <param name="preQuestId">10019</param>
# u- X) I# v# _6 P0 f8 ?" t - <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 @6 g: X& p I
- </conditions>
# I/ |: V( p* F9 V. n5 J; G" o - <rewards>, X* \& o2 d; @' q4 m! C' Y
- <items>' Z3 V1 u: o. S: l! K1 v0 B: B& t
- <item id="57" count="240000" />
5 N* o( F" x+ F - </items>
5 W. `4 k! A9 o3 [9 a8 z M9 } - <param name="rewardLevel">76</param>
! x9 w+ A0 b$ z, W - <param name="rewardSp">84</param>
. E' Z y; j$ L* {4 K - </rewards>/ _- `1 r* y& ?0 j3 B, r
- <goals> S$ E1 H+ o$ B! d% A ], H7 p" t5 m
- <param name="goalCount">30</param>
q& ]9 H9 a. l/ [9 f - <param name="goalString">Monsters on the Windy Hill</param>
) J6 v9 M# H: d7 r; W - </goals>7 B2 [; O$ M3 |
- </quest>1 d: F, p- V. a; R$ a
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:7 X6 j$ Y$ U; I# F
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
! B& R' G% T. x9 ^1 C+ }0 W 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
3 u; R W$ _! h6 F
% f: [, m" z( T9 L- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.2 ~1 j7 y9 H t# A
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
: N7 @7 ^; w9 C9 T/ a; U) Z/ V" g- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
" s+ i) Q: P( ~% r$ @% p7 R 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
) X: ~( C' l; P7 u# c- <items> — внутренняя секция с наградами в виде предметов.# p6 L6 v$ Y8 r2 u8 y
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.+ R1 g- l: j" p) O9 f4 S ?" e
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.6 n! i$ q7 Q9 N: j( r7 v
2.5. Тег <goals>Этот блок определяет цели квеста:
* H, x. d6 f: \ Q4 [2 l- l/ _- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).$ }9 ] c" y& v+ g# a
3. Пример полного квеста
) b/ u9 I6 v# u0 J
0 C( S j5 ^5 J% f& nПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
2 S" s; f& b4 f1 _6 ]# N3 d- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
: D1 E5 l b4 b+ Z1 Y! x w - <locations>3 |3 r" b$ Q6 q! ?
- <param name="startLocationId">1015</param>
) _2 Z6 o8 ^/ h! a9 ?; ] - <param name="endLocationId">1015</param>
4 g( p- X; i7 G1 F/ g: s - <param name="questLocationId">1020</param># n# c: h$ X/ q- ]! d* f- W
- </locations>% [- b4 n+ f2 p* f4 V& @4 Q! x
- <conditions>
( L) j" n+ m) e - <param name="preQuestId">10099</param>
! W3 y a4 t0 Y. B7 V* E - <param name="classIds">1;2;3;4;5</param>- s1 B: l* I! _
- </conditions># S# D9 U, `( i Z# ]
- <rewards>
$ z5 Q& N9 s7 b" ?, i4 `% q# q0 o - <items>
~+ K2 z& P8 C/ l$ [/ h- Y4 I - <item id="57" count="50000" />, u+ |1 ?" [0 f. V+ |# ?
- </items>
) X7 V7 _6 j' S* W - <param name="rewardLevel">50</param>
3 v# i; y3 N& v# i) _; ^: U - <param name="rewardSp">1000</param>
9 u$ s' j( ]6 f6 N% I5 N; u - </rewards>
# \6 T) X/ \& O' R! [ - <goals>
& Z9 P, j- [. O: H) M: o2 o V* `( r - <param name="goalCount">10</param>1 W% j6 j3 f* W6 L1 _; ^* o7 i( i' X
- <param name="goalString">Demons in the cursed forest</param>
6 h3 M# b& _, A( k$ y9 S3 ?$ [ - </goals>! r( S I" \ c1 H
- </quest>
: W, {/ F$ k% S# H4 |+ P5 V
Скопировать код Здесь:
1 a9 F/ A: @; C0 P+ _- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
4 I# w& k& V. y& e! g7 |" O& a% n
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
7 ~) ]* T4 _5 r
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.) H, Z6 \# f# u0 s
9 @1 o6 z5 `# L* c# [4 {6 n |