Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Сборка: L2l_Monius 0 x' R: ~( Y" ^+ Y
Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.# v& c$ H& [5 X; X
/ |. W3 r6 m/ M( D) A5 X
: K6 m6 D* B# W- q
Иди и убей X монстров / Возвращение - награда. [" ^0 Q9 s! V
Q00529_RegularBarrierMaintenance4 g5 e" D+ }0 T. R. A6 R
, X+ B T6 y0 ]7 E ^( G9 |Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.
; w, X- t0 Y5 g1 a1 Z( bQ00683_AdventOfKrofinSubspecies
, }" }. Q* A: {( J# v$ B
3 s9 u/ @$ M" [: ~: ?1 w5 _Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда./ J, T2 i. L( T' s0 y+ P1 P
Q10516_UnveiledFafurionTemple
& g4 ?0 F3 l" X8 I4 N7 C' R7 Q' k) I* N+ `
Убейте X монстров, а также соберите X предметов / Возврат - награда.
) F- m; \2 y: k! H6 OQ10517_FafurionsMinions
! D% l. m+ Y2 f
/ [& E, g1 l0 V G3 |% SИди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.
* V6 |/ s" s) }Q10529_IvoryTowersResearchFloatingSeaJournal
3 z% K# z- m# [7 U
# h) o y! o& a3 |% M: _7 E/ jИди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.
5 s* D5 b, Z0 \. C! iQ10518_SucceedingThePriestess
9 _" z3 a( c" E- K/ ?
. J% C; T# f5 G4 u! ZУчаствуйте в убийстве рейдбосса / Возврат - награда.
6 e$ Q* @! t2 Z+ x1 S" `Q10519_контролирование вашей температуры! J& R( m. |% y2 y) L1 i- _& p
/ {9 @( V0 k# n6 A; ^
Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда., l8 e8 N& l( Z8 @. ]+ i
Q10533_OrfensAmbition
) ~. z9 H0 q% z# Z% g( k3 u' e4 [. L4 i3 J1 a& d$ d2 \1 Y
- t+ P4 L s2 N" m
2 |& x" `* t( |7 xРуководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!, ~8 J* e: |. m0 L% B
, W6 {5 F6 |# Q/ D
Шаг 1: Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest"., [+ D' j7 x0 \6 H: `( r( k5 y- o. R
, o; E, f# T1 F2 J; Y! n
Шаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
0 N+ @7 c+ m0 l+ t/ Z9 ]) x6 l/ Q; J# m8 w
Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".
5 V6 o9 x1 f0 b3 e* q5 i+ t
' k5 d9 a7 p$ Q% ^( J5 E) r! {Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.6 ]0 M3 a+ R& a8 f1 _9 M. l
E- t+ g) @/ W- o! l1 rШаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.6 U$ ? ~/ x+ w7 g; Z T9 R
p; Y' E7 E3 v, Y4 m
Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".
6 }( b9 c+ t$ E8 Z2 P, C# t9 D9 m0 {* M
Если я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.
! v2 M h8 ?: F
* b, t" r5 [ Z/ E1 k5 ` Y1 lШаг 2:
2 |0 M9 O( q+ {9 }" R' k3 O# S
; S) _3 w8 L6 `" G9 e2 I- \Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:
: F% O5 R) M( X- t9 A, F5 |! R$ {0 U6 |: ?; f
1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест. + \4 R+ o: z: ?$ M9 Y/ L* J7 M
Например:3 v3 H9 |" J& n+ r) f
$ F+ y( N: w3 T" ~8 m
- import quests.<span style="background-color: rgb(255, 255, 255);">Q98765_NewQuest</span>.<span style="background-color: rgb(255, 255, 255);">Q98765_NewQuest</span>;* [3 g `6 D0 V
Скопировать код 1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:5 M$ q- p, l* u) m
: b6 A! r( G, d5 u# x7 r+ `
- /**6 w3 t4 t- ~9 M) h" m
- * @author NosBit
, _9 Y0 D! a& F8 c% D7 Q: @4 [ - */! z0 j4 ~' Y: L7 U; c
- public class QuestMasterHandler
6 D& n) S O$ e C - {
/ ]4 O1 R3 ^* g3 @ - private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());
+ g3 E* M2 c6 \' ~9 x - - [) K, k( b+ @: p# S8 r
- private static final Class<?>[] QUESTS =
. x+ Z; ~- G( ]5 n W) V* W6 e - {
Скопировать код Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.
& d& a, R1 [7 G7 G7 j9 O: y7 d: N- m6 {
5 _0 Z: g; }4 N. [# K8 [; W/ J
Шаг 3:
% W' p0 N% o: J. Z+ B% L3 D
" q5 o: T- ]9 UФайл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д. 9 I+ m6 X0 o+ `5 t" v
Давайте разберем все поля на основе примера:
* ^; x) \9 G& Z9 d8 C Q X" N1 A6 T' ]7 y1 b( Z2 R! Y% Q: E- i7 n
- 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 ^5 f3 D9 `+ }$ j: h0 }6 ^* }. t- f
Скопировать код Поля данных:- 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 — завершение записи для квеста.) g; Q9 I, Q. C% J
# C6 b, P( L( M! ]5 M* n! H8 e( `( _( v+ o& k5 O, @
Файл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре.
2 Q; ^$ o& | t) z$ JПример соодержания
* N, f7 j6 ^2 ]$ hВот описание структуры строки:! F5 a+ B( i: Y# Z8 B+ e: N
- 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
Скопировать код Давайте разберем все поля на основе примера:( L0 i, l+ B, f( z8 s
- R* W3 Z8 |, |; R! l3 m
- 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: Указывает на конец записи о квесте." C Y9 Z" K& D5 S
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.9 l0 `4 v6 L9 b) S9 q( I3 x
4 E3 @6 n; E) U6 V
. W# @* O j8 ~
$ X, k" `$ F* A, ?, W# X" N* x
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
* a! Y+ l- A3 ~2 s
! m# O# H9 L* x5 gШаг 4
4 O7 v( t( f: eДля того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
* b4 K$ u2 e0 |5 F" t: pПример добавления нового квеста:. m$ s: n+ b3 w% A0 T
- <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">% H/ a% T9 f( Q4 [, j: `. y* j- q
- <locations>6 d! u6 O7 K9 }) w
- <param name="startLocationId">2001</param>
y6 {. ~: l6 H- u( T - <param name="endLocationId">2002</param>
# F" W/ R$ J' R( { - <param name="questLocationId">2003</param>/ M7 e' p' J# S/ {
- </locations>
7 {* W& u. Q- X4 O0 B; n; [; W - <conditions>, x# N( F0 T" a0 r2 n. C# Z- Z1 R
- <param name="preQuestId">20000</param>- ]& {' B# j5 U
- <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->
+ Z* L- d' E$ D: W - </conditions>
0 t- h. P/ V# `$ M - <rewards>- C+ i# C, n M# r
- <param name="rewardLevel">50</param>) ^ h* Z5 r& i% T- H
- <param name="rewardSp">5000</param>* T3 e3 Y% Q* h+ Z7 z7 `, R0 ?
- <param name="rewardItemId">57</param> <!-- Adena -->' ~- g2 A8 k5 U- A' T7 f
- <param name="rewardItemCount">10000</param>
) }& P) c; C) c( h0 ~ - </rewards>1 Q4 E) O q9 H6 g" I
- <goals>
! n! x0 H; w5 Z8 ^. g - <param name="goalCount">10</param>' {) D8 P- F0 U* }, O+ f
- <param name="goalString">Defeat monsters in the Ancient Forest</param>* j" I# ^, Z' F7 L
- <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->3 Z! N- K+ F) ]5 T! D( Q
- <param name="goalItemCount">1</param>
& u! E! ^; Y, ~ - </goals>( A! w6 F- @& ~) l8 H8 C
- </quest>5 Z0 u3 O) L, n) ]5 D! U8 D# ~' v6 S
Скопировать код Описание структуры:+ A0 B8 G$ A+ y2 A3 K
- quest: Основной элемент квеста, содержащий атрибуты:
5 a* _+ B: Y1 f& @6 K- id: ID квеста, уникальный для каждого квеста.
- type: Тип квеста (1 – обычный квест).
- name: Название квеста.
- startNpcId: ID NPC, с которого начинается квест.
- endNpcId: ID NPC, у которого квест заканчивается.1 R' h! q; p8 Q- Z& f8 x+ G
- locations: Указывает места начала, окончания и квестовой активности. E0 @, r+ R/ L* i
- startLocationId: ID места, где начинается квест.
- endLocationId: ID места, где квест заканчивается.
- questLocationId: ID квестовой зоны.7 y+ z! X, R/ a4 G* Z4 p
- conditions: Условия для начала квеста.
0 q& ~% M3 B6 b S- preQuestId: ID предварительного квеста (если есть).
- classIds: ID классов или рас, которым доступен квест.% j: N( O& f( ^0 }) z
- rewards: Награды за выполнение квеста.
- _$ F# @" V% D q0 @" b- rewardLevel: Минимальный уровень для получения награды.
- rewardSp: Количество опыта (SP).
- rewardItemId: ID предмета (например, Adena).
- rewardItemCount: Количество предметов.6 j7 \' s' a! m* Z- `: p
- goals: Цели квеста.
8 f3 E- S& Y+ `5 j8 \- goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
- goalString: Описание цели.
- goalItemId: ID квестового предмета (если требуется).
- goalItemCount: Количество квестовых предметов для завершения цели.
( l% o; B Y) u1 }& i
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.# K+ N, Z; U( X$ ]0 w. E
- V; ?1 c! w3 x& h/ M' c/ {# NШаг 5
* o+ p* x1 y) R' |$ \$ ^Файл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:! f; r. S' M# A7 o
Структура данных- NewQuestDialog_begin — начало записи квеста в файле диалогов.
- QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
- Text0=... — первый диалог, который обычно отображается при старте квеста.
- Text1=... — дополнительный текст, который отображается на различных этапах квеста.
- Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
- Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
- Text4=... — финальный текст или инструкции по следующему шагу для игрока.
- NewQuestDialog_end — завершение записи для этого квеста.; ]2 s& U+ l5 R& ]2 ^
' g' }6 Y% g/ d/ A- N+ Y# m
Пример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:
( {+ k/ f1 j/ @1 m l- NewQuestDialog_begin QuestId=98765 Text0=[Вы готовы принять новый вызов и доказать свою силу?] Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.] Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.] Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.] Text4=[Поговорите с Дарти. Кликните на него и начните диалог.] NewQuestDialog_end! G1 B# e/ P; m5 C" U) C
Скопировать код Разъяснение полей:6 d' f( ^/ D1 ?$ Q
- QuestId=98765 — уникальный идентификатор нового квеста.
- Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
- Text1 — дополнительный диалог, который дается игроку для создания контекста.
- Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
- Text3 — описание следующего шага или инструкции для игрока.
- Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).$ m# Y1 P5 w" R- Z* Y: H# c
3 c- s, N# }8 g! W7 |- L1 K, f" Y8 b5 f% S. F& f. L
Что можно изменить:- Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
- Количество текстов можно варьировать в зависимости от сложности квеста.% F- R; E* v h0 d# f! K
. p9 B5 i9 w! B2 H' V( {% X$ ~
Файл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла: w, X+ L0 Y' c5 m: b
, m k" i; r4 Q' W1 `' _' I: o
- newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
- quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
- quest_type=1: Тип квеста.5 ?3 o1 n4 \: I) s3 o N1 F
- 1 обычно означает стандартный квест.& [" d2 i6 d h, U8 m7 H' Y+ R6 W, W
- quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
- quest_level={0;0}: Уровневые ограничения квеста.! y6 W4 X' Y7 T0 r# F& Y: ^; B' f1 X
- Первое значение указывает минимальный уровень, второе — максимальный уровень.
- {0;0} означает, что нет ограничений по уровню.
# B M5 P5 X& ^! k
- pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста./ o+ q5 L$ x1 K
- В данном случае он пустой {}, что означает, что нет предварительных требований.7 A5 `( P% q; [
- class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.7 T: r; s6 v$ b- [' F
- Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
. _' t( a8 D6 ], n
- quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.
% t$ ?8 w4 E6 w# J) j- В данном случае это предмет с ID 82948.: `) ~4 J0 c2 s, Q4 H/ c: Z! F
- start_item=0: Предмет, который выдается при начале квеста.
- i0 P$ D9 I9 U& N! t* j1 s2 c' c M- Значение 0 означает, что предмет не выдается., c. y# b( M! y" B# E$ U
- start_npc=34505: ID NPC, у которого начинается квест.
- start_npc_loc=1002: Локация NPC, у которого начинается квест.
+ v- [3 E. u$ R5 R6 F- Это ID локации, где находится стартовый NPC./ ]- O4 ^& w8 U1 y3 u2 \
- end_npc=34696: ID NPC, у которого завершается квест.
- end_npc_loc=1003: Локация NPC, у которого завершается квест.* c3 G# S" F4 M0 K' z5 q; s
- Это ID локации, где находится конечный NPC.
* f" b1 {6 ?) y/ g3 f+ {
- quest_loc=1003: Основная локация выполнения квеста.( G& o( M' ]1 K/ o7 P) A+ F
- Это ID зоны, где нужно выполнять основные задачи.
! d+ ^2 x) X, G' X" k
- goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.5 Z! G: c0 x1 T6 H8 d
- В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.8 D/ X' H2 q+ ]1 a& f/ p
- goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).0 `# _+ N C3 v( u; h- w. U
- В данном случае нужно выполнить одно действие (1). k# m6 k; X1 k" G0 Z: w
- reward_level=65535: Уровень, при котором можно получить награду.
1 p; C# |# t6 U( _0 t1 S- В данном случае это максимальное значение, указывающее, что награда доступна всегда. r# T+ p) d/ u) u2 L
- reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.6 O' V$ T0 o* x+ x( S/ Y' \7 \
- В данном случае опыт не выдается.
% J( c- ]4 F4 F
- reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.
3 o( c" `8 v5 ]# S. }; n) o- Здесь тоже 0, значит, SP не выдаются.
6 M2 l4 n* x; K( h$ S& D
- reward_item={}: Наградные предметы.8 ?0 ?# L$ A" o2 x+ _9 J+ \
- В данном случае наградные предметы отсутствуют.$ k/ I2 s4 i& r- S+ \/ ?) p# g0 P+ n( r
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.
. i" T$ n" L$ } n! |" U% u6 |# z
9 d# |- C* ~( J% x' k' L4 U2 |8 y# b
0 [& K+ H" {' ]. E; y+ Q) K0 L3 Q4 `' |0 L4 b! u
! K5 R1 R$ u+ z6 C% Q5 |; ~$ u5 T+ c/ X; U0 b, h; h
- ^3 B; y3 L( E. N0 L& Y
3 Q9 K, j1 t' Z; M s1 j5 B2 Q$ a3 I/ r- y7 ~, l' {
" V9 t' u9 T6 o' O1 K. f& B
|