Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Сборка: L2l_Monius . ^# ]& W2 {+ m" E6 W- z
Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.- U6 ~) c9 r* e0 Z6 o6 y; R5 r
" C6 M% W4 o7 s2 s( ]: T& T4 s& d9 }. H3 W" h8 I
Иди и убей X монстров / Возвращение - награда.# W7 f9 [7 m+ a) r/ c; Q
Q00529_RegularBarrierMaintenance
% K4 E9 d8 l" V7 ` H* }% h* ~4 g. }' w' L- l# r% O1 N
Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.
% n$ k6 M) G* r( O, ?6 W! C6 jQ00683_AdventOfKrofinSubspecies; l8 c$ Z8 j% ^. }: F2 E! p
c6 o* D6 V0 {& e
Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.
: b# E8 j W' k3 o9 S8 a+ zQ10516_UnveiledFafurionTemple
+ s0 m) F! Y& b: E) E( P
1 |* l4 d1 l4 |5 z0 u' {Убейте X монстров, а также соберите X предметов / Возврат - награда.
( l( j5 R, l6 K5 [$ d7 ^ h$ b. ~Q10517_FafurionsMinions
( B5 h- e! l C7 Y9 F- S( e# |2 o: i6 {: h& M# f! k$ a P S9 c
Иди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.3 ^- O, W$ }- p
Q10529_IvoryTowersResearchFloatingSeaJournal0 R) k" M6 F$ C! C7 _
9 F& @& V, ~3 @1 v$ t9 V9 W! W* XИди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.
4 l* J: V3 q' S! X, |Q10518_SucceedingThePriestess8 H: @" N# `+ v* p
6 C& l1 p. e' U" J$ j9 @Участвуйте в убийстве рейдбосса / Возврат - награда.
7 X# K4 ~" g- aQ10519_контролирование вашей температуры( k/ a, L5 e# u: E( r, ?: v
0 D s h3 f) M& F \( ]6 v; ]# vПоговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.) l6 A. {3 G2 y. Q
Q10533_OrfensAmbition
& D; m3 C( w( B" x% n% h
, O4 [% [' B- X5 k; ^2 r, Y4 y3 i2 U3 o2 m& G0 {+ w$ N7 K
7 `+ O; m1 u% X! r
Руководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!0 ^8 H. k; s: G5 g. G
\2 d$ g8 Q8 A) G) X8 A
Шаг 1: Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".
" a2 Y7 N7 L# K v
9 E. _( K' K7 W T% lШаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
1 n. c2 p: L, c6 S
2 T0 E1 A' k$ C1 W2 i9 i8 qШаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".
) U: C$ Y U9 u( \8 j& N2 C* v) g# O# ?4 ~7 c/ x
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
# e4 y) J3 L) a0 o3 t( d9 n$ \6 }% N! l# b
Шаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.
8 U ^7 h v0 }3 _/ _, R& l: B" E" r% E7 m5 S8 A, L/ L3 Q: u- }
Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".2 d' r q a3 B1 L, D
: D9 T4 ?7 H; J( t' |6 F
Если я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.7 F6 c( T; }% r6 o6 K3 x
* a+ u3 b; T* K2 [3 k
Шаг 2:$ P% r& ]& G- b: j
7 V3 h8 l. U' }, b5 g2 r% j! _Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:3 t7 A- Y' b% z) I8 p
/ t `, `& V" M3 F! w1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест.
' `3 e1 x$ W; k& f0 fНапример:
' u3 h! T, x' c/ I; j( d
' x/ k% h2 ]4 s5 l, p& u- import quests.<span style="background-color: rgb(255, 255, 255);">Q98765_NewQuest</span>.<span style="background-color: rgb(255, 255, 255);">Q98765_NewQuest</span>;1 x8 I( @5 e$ k9 g0 h
Скопировать код 1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:
' i- {$ D- R" I: ~- k; w+ v+ U$ Q+ T
- /**
. }0 d5 _3 P! ~9 ]0 c7 n# Q+ Q - * @author NosBit; o/ U5 e9 n8 w0 G, P- v h
- */
* G0 h* r$ K1 t - public class QuestMasterHandler O0 I$ J: |+ @( p% d- `' [$ q
- {* F( X: \6 q( a ^0 p8 p
- private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());, m/ k% P; r* T% o+ }& k% X
-
6 K* y8 Z# x: n0 v- A7 P# U( w; [ - private static final Class<?>[] QUESTS =
[$ s9 [0 e% d& k/ p4 X% k - {
Скопировать код Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.# i- |, W5 o) k7 X
9 O. o1 J% n8 M2 Q+ v2 w, t& T9 h3 t) Y8 \
Шаг 3:+ _9 l" j6 ?+ z: y7 c9 a5 j1 I
7 q/ I* U* B3 _0 A# h {/ e7 Y$ {
Файл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д.
3 e& ~ b8 S2 t# v5 ~Давайте разберем все поля на основе примера: y6 ^' H2 L' [: {
( E, G( Q4 |. ~- b. S N; q1 j- 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* |/ k( o# `4 g! S
Скопировать код Поля данных:- 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 — завершение записи для квеста.
) ^" D8 A, @# R$ i8 c9 r/ d% Q7 h
1 @; O1 K, `2 K* K0 F; }6 f- w4 p8 }6 m$ L
Файл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре. / c" E8 |9 p! j+ e, t4 r
Пример соодержания
& v8 D ]5 N! m6 JВот описание структуры строки:5 c+ x' l/ }; y! Z* X
- 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
Скопировать код Давайте разберем все поля на основе примера:
: e7 s- X9 H) t R8 X1 M$ _# l2 w. W: T$ z
- 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: Указывает на конец записи о квесте.. H( u9 v8 w& S7 ]) U
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.1 N( G6 D% q% I
( C& @1 J0 L' @
$ D4 W2 z. u/ N/ h% b" y4 C) q9 _: |, n
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
2 w8 f2 J+ x2 r# t! |
6 l3 k- k4 O% U F% \Шаг 4: l; ~# C/ A2 H0 e# l+ A4 \. I# ~
Для того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
7 J+ C# X/ C# h1 O; ~+ ~) o* b, D4 DПример добавления нового квеста:
/ ^4 d; P/ {4 w. x" q- <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">2 Q3 t: _) m6 _3 Z% ^( j
- <locations>
, `4 U6 a7 Q/ g* b! v) [" V - <param name="startLocationId">2001</param>
. g: z( e2 W6 h" M3 {: B - <param name="endLocationId">2002</param>
' `4 w. b9 Q- b* {1 W* S8 Q* | - <param name="questLocationId">2003</param>
4 m |6 Z4 D* z9 Z3 w - </locations>
" h6 {) D6 r% O0 f1 b - <conditions>
! e5 D( t {! L# g - <param name="preQuestId">20000</param>
3 ]9 C. z& a# A - <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас --> N/ W8 Y) Y6 |- P8 `
- </conditions>& Y& t9 B+ [. ]3 O) F
- <rewards>% u1 K6 L, |: Z7 X
- <param name="rewardLevel">50</param>( h0 y. S# \8 X; b
- <param name="rewardSp">5000</param>
M/ N- ~, s, |9 a1 ^ - <param name="rewardItemId">57</param> <!-- Adena -->! D! {1 C' D% F' c* ]: F, Y
- <param name="rewardItemCount">10000</param>
, \5 d9 _$ A! j1 L - </rewards>0 j9 P8 {) T$ T9 a( T. n
- <goals>
$ X ?2 K) P- R - <param name="goalCount">10</param>
6 _$ N; }4 V( ^3 q$ J - <param name="goalString">Defeat monsters in the Ancient Forest</param>- N* c6 {: d i( h% l3 l
- <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->
$ B3 Q) o$ P7 r; @ - <param name="goalItemCount">1</param>' J) M; x' N8 w {) J3 u( Q
- </goals>9 z: ~, h. W/ \6 L& B1 D' |. [( f
- </quest>$ `# P0 Y; a. m6 M4 \
Скопировать код Описание структуры:$ ]! u6 Z, C) U3 m1 W' J
- quest: Основной элемент квеста, содержащий атрибуты:
, h, k) M* r7 f, t8 w0 z G, C- id: ID квеста, уникальный для каждого квеста.
- type: Тип квеста (1 – обычный квест).
- name: Название квеста.
- startNpcId: ID NPC, с которого начинается квест.
- endNpcId: ID NPC, у которого квест заканчивается.: v9 ` ~( |" \9 }4 N/ X
- locations: Указывает места начала, окончания и квестовой активности.
# {/ b ?9 \3 X p+ N! j' M- startLocationId: ID места, где начинается квест.
- endLocationId: ID места, где квест заканчивается.
- questLocationId: ID квестовой зоны.
& _8 D: ?) b2 w/ K
- conditions: Условия для начала квеста.
) n: `! L1 U/ k* b( d0 B: t0 |- preQuestId: ID предварительного квеста (если есть).
- classIds: ID классов или рас, которым доступен квест.
' |+ ~9 b3 _! \0 d
- rewards: Награды за выполнение квеста.
5 v9 g8 v+ c" @# X @+ E- rewardLevel: Минимальный уровень для получения награды.
- rewardSp: Количество опыта (SP).
- rewardItemId: ID предмета (например, Adena).
- rewardItemCount: Количество предметов.
: ]6 |" N: @8 I7 o! Z+ |
- goals: Цели квеста.
( C$ T* z8 Y* P0 n# R; G4 u2 @& h- goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
- goalString: Описание цели.
- goalItemId: ID квестового предмета (если требуется).
- goalItemCount: Количество квестовых предметов для завершения цели.. |, q0 D4 d8 ~+ c% }
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.
9 o% K' z7 J* j4 J4 Y1 B0 r& @' n8 K8 i! j( [
Шаг 52 `3 n* \. @% Q
Файл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:; a2 |" @( H j- O
Структура данных- NewQuestDialog_begin — начало записи квеста в файле диалогов.
- QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
- Text0=... — первый диалог, который обычно отображается при старте квеста.
- Text1=... — дополнительный текст, который отображается на различных этапах квеста.
- Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
- Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
- Text4=... — финальный текст или инструкции по следующему шагу для игрока.
- NewQuestDialog_end — завершение записи для этого квеста.
) N. g4 t' U; ^ V0 {3 j# ~" m6 r# b
( E: O0 ~( Y. z. d0 tПример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:
" M; F+ T: C; z3 D( E- NewQuestDialog_begin QuestId=98765 Text0=[Вы готовы принять новый вызов и доказать свою силу?] Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.] Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.] Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.] Text4=[Поговорите с Дарти. Кликните на него и начните диалог.] NewQuestDialog_end6 t8 a1 f) W' x3 k
Скопировать код Разъяснение полей:* P% r5 ^+ ?4 q
- QuestId=98765 — уникальный идентификатор нового квеста.
- Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
- Text1 — дополнительный диалог, который дается игроку для создания контекста.
- Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
- Text3 — описание следующего шага или инструкции для игрока.
- Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).
; J: [& ~- V! |
n& U/ _- p4 y7 q: D# `5 @$ C& r- r- V+ _" J) k9 D2 D
Что можно изменить:- Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
- Количество текстов можно варьировать в зависимости от сложности квеста.8 g/ d9 V, U3 m4 T, `+ Y9 q8 \
) l$ I! V- n- M: y# W$ u. DФайл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:! |8 s" y6 g* c
1 X- F# q1 B/ @
- newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
- quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
- quest_type=1: Тип квеста.
9 y, _; R( P. G" p- 1 обычно означает стандартный квест.
* L& n+ n8 Q! d8 n
- quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
- quest_level={0;0}: Уровневые ограничения квеста.
$ [7 w9 H( J3 K3 j: f- Первое значение указывает минимальный уровень, второе — максимальный уровень.
- {0;0} означает, что нет ограничений по уровню.
" L, V, X. `+ V. r
- pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.
8 b( t2 k3 f! l) V- В данном случае он пустой {}, что означает, что нет предварительных требований.( E0 l# m7 ^7 v9 D
- class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.
! `, o, U% o0 W5 _- Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
6 y, c4 t% B1 I6 C3 p+ `- c; O: b
- quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.
) P0 t9 N6 E2 u' y# R, z- В данном случае это предмет с ID 82948.+ M8 v8 d' g% o. A; T
- start_item=0: Предмет, который выдается при начале квеста.
+ z7 J/ ~% l. Y5 m2 ^2 Z; M v- Значение 0 означает, что предмет не выдается.' n+ K ?/ V1 [; t7 w% G
- start_npc=34505: ID NPC, у которого начинается квест.
- start_npc_loc=1002: Локация NPC, у которого начинается квест./ [5 |7 `" {% v" D
- Это ID локации, где находится стартовый NPC.3 q; v" {$ d% q4 P6 W. x$ A! B
- end_npc=34696: ID NPC, у которого завершается квест.
- end_npc_loc=1003: Локация NPC, у которого завершается квест.
( j- [) h/ ]$ \! I" ] M( Z1 ^. i- Это ID локации, где находится конечный NPC.
, c# h7 f9 F: s. P+ ~( I
- quest_loc=1003: Основная локация выполнения квеста.$ L- @& T2 p/ h! \
- Это ID зоны, где нужно выполнять основные задачи.6 E, f) }# ?) P3 R; k$ Q
- goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.
+ T$ X2 v: e; F7 k- В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.+ Y2 h: C/ ^# B# l
- goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).2 R5 v6 I) s2 p8 R! E0 h" g0 E0 c
- В данном случае нужно выполнить одно действие (1).( i5 [& { F: _3 i' L; M
- reward_level=65535: Уровень, при котором можно получить награду.; W6 \, v) q9 b% F
- В данном случае это максимальное значение, указывающее, что награда доступна всегда., T4 M' u6 |! j
- reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.
, @7 }6 J, G ] b" ]. i5 K- В данном случае опыт не выдается.
, Z) K9 e, }% E7 L0 I* O$ N0 p
- reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.' _$ \9 e0 G3 `' G$ m9 {
- Здесь тоже 0, значит, SP не выдаются.( A, u. t: j) ~2 p) i
- reward_item={}: Наградные предметы.! W) V# ~( ^5 J0 O* r1 K2 C
- В данном случае наградные предметы отсутствуют.
- w5 O: ~) ]/ j& ^
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.
( e- }4 f- x; S5 ~) e! u3 _: o! i+ ~' R
0 ~3 N' Z y6 ?9 h2 F# O. q; `/ e
( [( M% l) t* _& |* t7 H
+ e% i3 ]- `& |) ~" Z7 U
7 y- Y1 t0 @4 r
& e, ~5 }6 W& s. g
0 a3 d. G' i& N5 S- H9 {3 a" m
% }2 h; K; |2 v7 `9 m
4 U, ?( s$ C+ ]( H
2 K) D0 N. v$ d' h& ^! B( m1 ^ |