Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Сборка: L2l_Monius % E' M/ v/ ^' o$ c$ `, r
Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.
8 L/ o' h2 Q( k2 P' d" ^8 }3 T
6 K1 r& f) k7 i- E4 v- u0 D+ i0 ?8 A+ }4 a o; @
Иди и убей X монстров / Возвращение - награда.
4 N1 i# g* \9 O; t7 A0 lQ00529_RegularBarrierMaintenance$ q6 {& D1 \+ d4 X* b
3 g5 X% `: C0 [8 j1 ^0 g! h2 q$ A
Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.( R; c$ ^( X0 F
Q00683_AdventOfKrofinSubspecies
: M* I6 u4 C: f( T! e: A
' S4 a, W# p" O6 [Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.
/ ]; h3 X6 W& J$ q1 Z( F+ lQ10516_UnveiledFafurionTemple
9 x8 @9 o/ u% Q
, _ w6 F# @( K( XУбейте X монстров, а также соберите X предметов / Возврат - награда.
2 o6 M5 b9 d0 Q$ v1 |Q10517_FafurionsMinions
/ r0 U2 L, F! Y: q! q
) ~) v4 n% p2 H+ KИди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.
8 D! F& G0 u% [+ t. J7 u! MQ10529_IvoryTowersResearchFloatingSeaJournal
1 C) p' a1 n2 Y8 Y
# s% c" x8 a$ r4 R7 wИди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.! j4 D9 q9 W: v! Y* ^
Q10518_SucceedingThePriestess
% W6 G. c/ E. l ~7 s3 x9 X) }- m( F+ t9 \5 O! n0 M" `
Участвуйте в убийстве рейдбосса / Возврат - награда.' t& i: K# L4 K2 s7 O2 \
Q10519_контролирование вашей температуры
" E- o$ V/ M% b! w+ K1 o' e9 O9 M5 n8 v. j
Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.9 l3 a# c% |% a# N1 g, D$ d
Q10533_OrfensAmbition
5 ^$ q! a& Z: \, k6 h6 d! E+ z$ V1 E$ c$ ~. m
/ o; ~$ A! x( ?; A
- Q: T7 K, h \/ ]+ T2 ^Руководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!, w# u" @3 `, Y; b
( H( K* o" _* `/ R- H$ f3 DШаг 1: Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".
1 Z& d( N% N- Z
- N0 `. i9 Z/ o WШаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".3 [, S) Q3 H2 Y0 |* o
9 C/ L, D) C" z' }& W
Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".
& T! F; o4 u4 p9 H9 m1 k# e0 r" d: ]+ p- H4 x* @
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.. L6 O. M+ ^7 }2 M' g( W* C! I* w
$ Q) T( s. J' Q1 h/ u. c3 W" ZШаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.
# ?8 j: A5 U; x0 T; Y. q% l
7 ]' m/ X1 i" K. {! d; u2 }Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat". O1 y: W9 k8 O( t, K8 d/ o
5 D9 K5 T" ], ]! eЕсли я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.1 v6 s! \% t) Y+ t
3 J2 S( X) o T& X6 D) wШаг 2:' Q5 \( e! L- D8 w& x% \
" M& f" c" T# |! ]- T3 vСледующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:5 j+ l: B% ]; w: k0 K
/ T7 K' l) p) a: @* }$ B0 l
1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест. : E. X" w, N0 o5 ~1 D
Например:
* m2 N8 F- R p9 y; J6 ~4 N0 W7 E9 c; I
- import quests.<span style="background-color: rgb(255, 255, 255);">Q98765_NewQuest</span>.<span style="background-color: rgb(255, 255, 255);">Q98765_NewQuest</span>;
, r2 q- U; S8 o/ z
Скопировать код 1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:% ]6 m( I% [, N! {# |+ V' q
! L( g) S% W$ T9 {- [) L
- /**
4 \* ^7 t' s! n% D3 \0 \ - * @author NosBit, X' I8 L% v( v% a c
- */4 b$ f; Y. x2 ~2 \/ m+ G2 T5 z T7 d
- public class QuestMasterHandler
8 O' P) r8 Y( a [6 V5 e - {
. `4 R* j! F2 m* L) J' m7 i, j - private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());" x# j' w+ m/ o8 J4 R
- 6 ]5 U& H0 }8 l5 R
- private static final Class<?>[] QUESTS =1 ` ^9 u9 o% f& }% t7 A/ y& L1 ~
- {
Скопировать код Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.
) |+ C$ J+ R3 B9 k1 }5 T% |) }& M$ j5 e8 \) ]; x
: D2 l; `5 g) |3 h6 ?7 M3 w
Шаг 3:! X- j; t+ L, G0 G* T: [, q* O) `
' P' t1 d. S: ?& q6 {/ v7 }
Файл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д.
' X8 A: V- V/ n! K$ P# WДавайте разберем все поля на основе примера:; [, {+ y$ k' G# Y( E/ S: i
2 B( @+ A* M, n5 x! t/ Z. O) s- quest_begin tag=1 id=10811 level=1 title=[Узнай свой предел] sub_name=[Бремя силы] desc=[Если готовы, то еще раз поговорите с Рыцарем-Хранителем Евы Леонелом Хантером в Хейне.\n] goal_id={} goal_type={} goal_num={} target_loc={111382.0;220905.0;-3544.0} add_target_locs={} q_level={} lvl_min=100 lvl_max=0 journal_disp=3 entity_name=[Рыцарь-Хранитель Евы Леонел Хантер] get_item_in_quest=0 unk1=1 unk2=1 start_npc_id={33907} start_npc_loc={111382.0;220905.0;-3544.0} q_requirement=[Дворянин] quest_intro=[Рыцарь-Хранитель Евы Леонел Хантер из Хейна посоветовал прийти к нему, если Вы желаете узнать предел Ваших возможностей...] class_limit={} have_item={} clan_pet_quest=1 cleared_quest=1 mark_type=-1 category_id=0 priority_level=0 search_zoneid=121 iscategory=3 reward_id={45922;15625} reward_num={1;0} pre_level={0} faction_id=0 faction_level_min=0 faction_level_max=0 quest_end
9 R$ ~5 Y0 `; {" Q7 Q# `1 ^
Скопировать код Поля данных:- quest_begin — начало записи для квеста.
- tag — идентификатор типа данных. Может использоваться для группировки квестов или идентификации квестов по определённым категориям.
- id — уникальный идентификатор квеста. Должен быть уникален для каждого квеста.
- level — уровень сложности квеста. Используется для группировки и показа квестов, подходящих по уровню.
- title — название квеста, которое отображается в интерфейсе. Заключено в квадратные скобки.
- sub_name — подзаголовок квеста, используется для дополнительного описания. Заключен в квадратные скобки.
- desc — описание квеста, которое появляется при его принятии или выполнении. Здесь также используется разметка с символами переноса строки (\n).
- goal_id — идентификатор цели квеста. Может содержать ID объекта или персонажа, который нужно достичь.
- goal_type — тип цели. Указывает, какого типа задача ставится перед игроком (например, убить монстров, собрать предметы).
- goal_num — количество необходимых действий для завершения цели. Например, количество монстров для убийства или предметов для сбора.
- target_loc — координаты (X, Y, Z), куда должен отправиться игрок для выполнения задачи. Координаты указываются в формате {X;Y;Z}.
- add_target_locs — дополнительные целевые локации, если квест предполагает несколько мест назначения.
- q_level — уровень сложности или рекомендованный уровень для выполнения квеста.
- lvl_min — минимальный уровень персонажа, с которого квест доступен.
- lvl_max — максимальный уровень персонажа для выполнения квеста. Если не указан, то квест доступен на любом уровне выше минимального.
- journal_disp — параметр, определяющий отображение квеста в журнале квестов (например, на каком этапе он должен отображаться).
- entity_name — имя NPC или объекта, который связан с выполнением квеста (например, кто выдаёт квест или с кем нужно взаимодействовать).
- get_item_in_quest — указывает, должен ли игрок получать предметы в ходе выполнения квеста. 0 — нет, 1 — да.
- unk1 — неизвестное поле, возможно зарезервировано для будущих функций или модификаций.
- unk2 — аналогично, поле с неизвестным назначением.
- start_npc_id — ID NPC, который выдаёт квест. ID указан в фигурных скобках {}.
- start_npc_loc — координаты NPC, который выдаёт квест. Используется формат {X;Y;Z}.
- q_requirement — дополнительные требования к выполнению квеста, например, наличие определённого статуса или ранга (например, "Дворянин").
- quest_intro — вводное описание квеста, которое отображается при первом контакте с NPC.
- class_limit — ограничения по классам персонажа. Указываются ID классов, которым доступен квест.
- have_item — список предметов, которые должны быть у игрока для выполнения квеста.
- clan_pet_quest — указывает, является ли квест клановым или петом. 1 — да, 0 — нет.
- cleared_quest — указывает, выполнен ли квест или нет. 1 — выполнен, 0 — не выполнен.
- mark_type — тип метки, связанной с квестом. Используется для отображения различных иконок или маркеров на карте.
- category_id — ID категории, к которой относится квест. Может использоваться для фильтрации квестов по категориям.
- priority_level — уровень приоритета квеста. Чем выше значение, тем приоритетнее квест для отображения и выполнения.
- search_zoneid — ID зоны, в которой происходит действие квеста. Определяет область, в которой игрок должен выполнять задание.
- iscategory — указывает, является ли квест частью категории квестов (например, кампаний или цепочек заданий).
- reward_id — ID награды за квест. Может быть несколько наград, указываются через точку с запятой.
- reward_num — количество каждой награды, соответствующее полю reward_id.
- pre_level — предварительный уровень или дополнительные условия, которые должны быть выполнены до начала квеста.
- faction_id — ID фракции, к которой относится квест. Может быть использован для фракционных квестов.
- faction_level_min — минимальный уровень фракции, необходимый для выполнения квеста.
- faction_level_max — максимальный уровень фракции, при котором квест доступен.
- quest_end — завершение записи для квеста.
5 e! G/ U1 a- b: ?0 d' Z ; V5 k. Z: R1 _4 x" i
, Z# D5 T: Y( y/ W* M5 nФайл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре. 0 {0 S, X, D+ d; @9 E3 t# g& @5 n
Пример соодержания6 u# ?# `- l( L
Вот описание структуры строки: ^% l$ \1 R. ~1 w
- questmark_begin quest_id=10331 npc_id=32153 race_filter={0} class_filter={0;10} start_npc_loc={-118017.0;255965.0;-1320.0} questmark_end
Скопировать код Давайте разберем все поля на основе примера: e/ w. x* w. h( f: e: g
, _- A7 ?. ~5 r$ f* W- questmark_begin: Указывает на начало записи о квесте.
- quest_id=10331: Идентификатор квеста. В данном случае, квест с ID 10331.
- npc_id=32153: Идентификатор NPC (неигрового персонажа), с которым игрок должен взаимодействовать для начала или выполнения условий квеста.
- race_filter={0}: Фильтр по расе. Указывает, какие расы могут участвовать в квесте. В данном примере {0} может означать, что квест доступен для всех рас или для определённой расы (например, 0 - для всех) .
- class_filter={0;10}: Фильтр по классу. Указывает, какие классы могут участвовать в квесте. В этом случае {0;10} может означать, что квест доступен для классов с ID 0 и 10.
- start_npc_loc={-118017.0;255965.0;-1320.0}: Координаты начала взаимодействия с NPC. Эти координаты определяют место, где находится NPC в игровом мире (X, Y, Z).
- questmark_end: Указывает на конец записи о квесте.5 l* C6 |! |2 F% x# r+ t
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.
9 B; e4 {0 z' B/ k4 N- \" s% `, T' Q5 q" m2 A' k- \$ `" n, D
1 G- C% g- R- c. y7 V9 [ F2 ], }3 |6 Q' S
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
3 v1 l/ a) v8 z4 n) b7 \) q9 u9 J; n' u: ]/ g7 A7 t7 z/ a. y
Шаг 4
( a" w9 d0 c- _1 e# Z0 O( E, bДля того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
F1 }- G1 m9 j. vПример добавления нового квеста:6 `, n8 C c0 ~0 g% X! ]" }6 \0 f
- <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">
. B) e" M0 f0 D0 R - <locations>' V6 K9 n, `+ x0 s8 P1 ~8 U' B7 S
- <param name="startLocationId">2001</param>
& h: I9 z: C% [9 x' x0 `. H- Q; g! | - <param name="endLocationId">2002</param>
" w/ h: H$ J6 E9 z* l" n; R - <param name="questLocationId">2003</param>
m. Y; K8 N; H - </locations>, q9 J1 ?. L* a) d& f( ?
- <conditions>
; v+ k- d0 C5 D, w7 e6 K6 S - <param name="preQuestId">20000</param>+ m! {7 R5 X* N( K+ Y* b
- <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->
6 o) u# s7 j u- V/ H - </conditions>, d7 Q0 Z6 K/ x2 m8 g, Y8 R
- <rewards>1 P! K/ h: P0 R+ g( e
- <param name="rewardLevel">50</param>
* c% W0 g( \7 `/ D" J - <param name="rewardSp">5000</param>
, Z" V+ ^6 ~" O- a - <param name="rewardItemId">57</param> <!-- Adena -->6 F; n3 }. @- n& f+ K5 l
- <param name="rewardItemCount">10000</param>
0 n/ e) Q0 ^0 r$ l/ @! }9 o( u" f - </rewards>+ v6 J9 |1 a1 E: D
- <goals>" h1 k* M$ N' P' a# ]
- <param name="goalCount">10</param>) M; ~' u) ^7 K# ?* g$ q
- <param name="goalString">Defeat monsters in the Ancient Forest</param>9 r9 V" y, b* a4 o8 A4 H
- <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->1 `3 ^/ u4 S! S( h, j% y
- <param name="goalItemCount">1</param>% ]/ h9 G$ m! N
- </goals>. C' l3 D4 G8 w) n! E
- </quest>& R* Y; E+ v/ N! N9 J
Скопировать код Описание структуры:
& w& _. U @' \8 N8 C- quest: Основной элемент квеста, содержащий атрибуты:3 x5 ?9 {9 A; c( m# m4 A& u) q+ t
- id: ID квеста, уникальный для каждого квеста.
- type: Тип квеста (1 – обычный квест).
- name: Название квеста.
- startNpcId: ID NPC, с которого начинается квест.
- endNpcId: ID NPC, у которого квест заканчивается.( c$ C5 n( R V( k: e( \
- locations: Указывает места начала, окончания и квестовой активности.9 v% l0 x6 Q; r }
- startLocationId: ID места, где начинается квест.
- endLocationId: ID места, где квест заканчивается.
- questLocationId: ID квестовой зоны.
7 m' B. J5 R. r+ ?* w6 U: @- E
- conditions: Условия для начала квеста.
% o8 a T8 A8 F5 S3 H- preQuestId: ID предварительного квеста (если есть).
- classIds: ID классов или рас, которым доступен квест.
- c& Z; `# ~/ |
- rewards: Награды за выполнение квеста.7 d: C- @. k) \
- rewardLevel: Минимальный уровень для получения награды.
- rewardSp: Количество опыта (SP).
- rewardItemId: ID предмета (например, Adena).
- rewardItemCount: Количество предметов.' T6 H7 _ w( g: d+ m8 j
- goals: Цели квеста.
- M! r# F' {# g2 |2 j7 C2 q4 b- goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
- goalString: Описание цели.
- goalItemId: ID квестового предмета (если требуется).
- goalItemCount: Количество квестовых предметов для завершения цели.
; K4 [1 C1 U! ^! {( Q9 ^
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.
+ A5 d( } \$ H
) u# Y& K2 Z1 a# R' U b: \% YШаг 5
9 U- u+ o4 n0 r! L, K# Z' Z/ oФайл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:/ G6 d: c, t) |" v
Структура данных- NewQuestDialog_begin — начало записи квеста в файле диалогов.
- QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
- Text0=... — первый диалог, который обычно отображается при старте квеста.
- Text1=... — дополнительный текст, который отображается на различных этапах квеста.
- Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
- Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
- Text4=... — финальный текст или инструкции по следующему шагу для игрока.
- NewQuestDialog_end — завершение записи для этого квеста.6 u5 f, g# m. P7 N5 M/ U
" `& r% [, }: |2 M3 }1 l* KПример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:) @8 X3 S9 t9 @/ U9 [ ?
- NewQuestDialog_begin QuestId=98765 Text0=[Вы готовы принять новый вызов и доказать свою силу?] Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.] Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.] Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.] Text4=[Поговорите с Дарти. Кликните на него и начните диалог.] NewQuestDialog_end6 @0 w8 r! A$ W
Скопировать код Разъяснение полей:( l: T k0 T) y
- QuestId=98765 — уникальный идентификатор нового квеста.
- Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
- Text1 — дополнительный диалог, который дается игроку для создания контекста.
- Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
- Text3 — описание следующего шага или инструкции для игрока.
- Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).8 ?% ?5 b- m& o/ B
8 h) X& d0 t, ` f* g4 O
$ h4 K, W- k! G
Что можно изменить:- Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
- Количество текстов можно варьировать в зависимости от сложности квеста.$ _- l& b6 x! p- F( C
# j# y: i6 X; X' U2 [/ j5 p
Файл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:
, `' L" p4 u! o) k9 ?1 o
' a* M7 Y7 W7 e( Q( I- newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
- quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
- quest_type=1: Тип квеста.! h' e/ u8 k1 S% h* D9 x# U4 u
- 1 обычно означает стандартный квест.
1 d& `; [( r( l: Y4 ?. O6 ]/ M" E
- quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
- quest_level={0;0}: Уровневые ограничения квеста.
G6 F; x- _# ^ Y, \$ G I- Первое значение указывает минимальный уровень, второе — максимальный уровень.
- {0;0} означает, что нет ограничений по уровню.
* p9 K1 G, x0 F
- pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.; T4 d7 Z r! p. s" g. ], a
- В данном случае он пустой {}, что означает, что нет предварительных требований.
" k% k4 ]9 W9 M; k* _$ v( o
- class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.; s8 |8 s/ l6 K% W0 O1 r# U
- Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
- t( ?. I7 S% n+ K
- quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.
# y# D2 E, U+ i: C e- В данном случае это предмет с ID 82948.
9 V, X& c L- H9 @' }" y6 z# R
- start_item=0: Предмет, который выдается при начале квеста.* R( i- R1 _5 |8 I
- Значение 0 означает, что предмет не выдается.
1 b2 n. B" G& b! @/ u- E% W) Y" q" c
- start_npc=34505: ID NPC, у которого начинается квест.
- start_npc_loc=1002: Локация NPC, у которого начинается квест.1 Q- k' x# T: `5 G7 O) h. f# u/ i: U
- Это ID локации, где находится стартовый NPC.
! ?" y8 _. b P7 R1 o _0 p
- end_npc=34696: ID NPC, у которого завершается квест.
- end_npc_loc=1003: Локация NPC, у которого завершается квест.2 @8 f0 h; N' V; m
- Это ID локации, где находится конечный NPC.
. Z/ [/ |- T$ {+ e5 s$ L6 t! S
- quest_loc=1003: Основная локация выполнения квеста.- `& X" O6 N( p. c
- Это ID зоны, где нужно выполнять основные задачи.
r5 A, h/ m$ f8 O+ T; e6 x
- goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.' {' [4 T2 x$ x! S. C' I
- В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.
* s/ M/ r: [& H
- goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).9 k% B$ N( ~0 Z9 J
- В данном случае нужно выполнить одно действие (1).* n) l8 ?( n4 p( o1 T! q# |
- reward_level=65535: Уровень, при котором можно получить награду.9 S2 b6 y2 W2 E9 \& B+ h
- В данном случае это максимальное значение, указывающее, что награда доступна всегда.+ Q9 H) o( j2 \. n$ l- L
- reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.
" b) Y) M& p8 K, G9 h3 A' n6 Z; r7 _- В данном случае опыт не выдается.( b" [1 H. w# d7 Z# |( k; Z ]. _
- reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.; H! [6 v* R. f8 y+ S
- Здесь тоже 0, значит, SP не выдаются.$ S* y- m- }; k0 d
- reward_item={}: Наградные предметы.6 n* U6 Q" q+ W* A+ k% X1 u- T
- В данном случае наградные предметы отсутствуют., c5 {4 W4 Q( n- u/ Z6 H
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.
0 e X5 l6 B a$ V! h
1 @+ L: o$ G9 `: B5 z
8 j. n9 L9 _! y% J' B
& {9 k h) g7 P Q: r* c% z$ z
. z3 \9 \2 t1 z" `" `8 ]' ?! t
6 L2 ~( i4 J. P! v+ e. e/ F( A/ a, ?: n2 j$ d3 q
+ S! `5 f! b% V$ E, G+ c
# h) B+ J5 P8 K% [% [2 n) F; G; S1 q* Q$ M- V0 P( C* _7 T9 S
9 w# R8 y. v! j9 |0 X |