Top.Mail.Ru

[Квесты] Создание квестов L2j_Mobius

[Скопировать ссылку]
admin Опубликовано 2024-9-24 00:52:12 | Показать все сообщения |Режим чтения Распечатать Назад Вперед

Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!

Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться

x
Сборка: L2l_Monius
/ }/ V  B2 W) n* g7 \! WСледующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.
. X  `8 G: ^# e- m( y- c; _. q8 e1 p' J% Y. f. \8 v# L
$ M& E9 Z' ]; @$ ~  n1 r
Иди и убей X монстров / Возвращение - награда.) P. M$ y1 `7 [" _2 r
Q00529_RegularBarrierMaintenance
! i4 Q6 B* b+ C: z" d
5 F2 t. H$ y, ^6 A' A& O) P+ RПолучите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.
! r3 v/ W$ [) v9 R8 n$ P. g! [  Y5 ?Q00683_AdventOfKrofinSubspecies' Y& B; |; Q, F& _
' p1 ~0 C* ^4 h; a# y; F! r9 `
Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.
. K9 v# c& B( P. F' r4 L# M$ T7 LQ10516_UnveiledFafurionTemple7 x$ E% S$ h9 x, K6 Q

6 v+ V* N( [. U! J% E1 D1 KУбейте X монстров, а также соберите X предметов / Возврат - награда.
4 L" D! X0 Y, C* n6 u: pQ10517_FafurionsMinions
& ?9 p+ }8 m. G) J; |& \5 N, b! [& F% O
Иди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.2 e. x/ v( y' J  P
Q10529_IvoryTowersResearchFloatingSeaJournal
/ b! W; K( z/ @% v- y7 f
1 Y- X( T& Z" ~$ eИди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.; R8 {% c4 B1 b2 P
Q10518_SucceedingThePriestess
( P$ N$ C. y, g8 a
9 Y, n; t6 l; |) E5 i3 oУчаствуйте в убийстве рейдбосса / Возврат - награда.
1 J5 V5 C! V3 N+ j0 P+ H1 `Q10519_контролирование вашей температуры2 ?( o% Q3 a* M: r' |- d/ o, t" F
8 z4 |" G8 ]: a# l$ A
Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.
' T( K9 F1 c) s/ X( [2 _Q10533_OrfensAmbition- V4 o- E+ R3 d" j

8 I! r$ \" ^! _1 z8 j
  b" j8 c7 P9 ?/ ]5 _* C( f2 Q2 d$ |& m. G& D/ ^8 d/ a
Руководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!

. d9 Y' l" i7 |! w+ {* M+ r: n) S% z" K5 @
Шаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".; y: {$ r" d: A) s

9 [+ d) p; v; q- L. G+ ^% EШаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
( s; l. Y3 T- n2 Z% Z& e. F  r( M& @
Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".! N0 Z4 m$ L8 i' E1 {# R5 c8 T

, Q6 V5 {% k4 LСледующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.& @! o2 @5 M0 m1 v3 I: V

( m7 N! D& t& S4 ]Шаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.
6 Q' n" `6 E  X; ^1 B, U
$ H& K. t4 T1 }% k0 J/ I  fШаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".
$ _& U& w. h  d1 ?8 W& G' G' l3 Y1 d2 r) j3 d* R- K
Если я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.
2 |4 {" T3 J  F: l2 t* z% s
; w: a0 n% j# Z  aШаг 2:
& l% q" g% K# n! l. q0 r: A, z6 G" u) Y0 U! m: a# {) c
Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:8 j% `0 P+ d. l3 b/ q9 j$ a. x& }
4 Q0 V. F- N% m) x* Q) G
1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест.
4 T& ~/ m6 [0 O5 |Например:
7 `2 C" u- ]! Q9 d* Y: E# I/ }
+ L8 J% l, L% j8 a
  1. import quests.<span style="background-color: rgb(255, 255, 255);">Q98765_NewQuest</span>.<span style="background-color: rgb(255, 255, 255);">Q98765_NewQuest</span>;4 E  [, H9 c/ F3 Y& E- ?
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:
4 K5 r: Q4 f* Y
( o0 k. e. g  L8 l
  1. /**2 q% @( ]) @. R9 w) u  S  `
  2. * @author NosBit5 _: {+ h, Y0 z
  3. */" ~' T" X$ a3 m* E5 M
  4. public class QuestMasterHandler0 R7 }" m$ J9 G7 P5 A/ d4 B
  5. {
    ( q! n" b% K* t8 Z" c* g" [# v4 Z
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());! P$ @1 |* S+ o
  7.         
    * k6 D. e# Y# Y
  8.         private static final Class<?>[] QUESTS =
    " u/ Z: U0 B6 k3 R
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.+ u2 w3 T8 s% ?/ f3 W8 w
. k& B  Z! U2 k' r& L
1 B) m, }/ m* T7 @% y8 I
Шаг 3:
  h, T# Y3 u  T0 V: k4 y, O) T
% w# R$ D9 d9 `! |' i6 |/ t( E1 TФайл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д.
  h; b! ~. C1 i4 E' `% {Давайте разберем все поля на основе примера:" d; F* Z/ i% ?0 w# U5 W

. @& [6 o& ~, b  W% Z; F
  1. 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_end7 f+ ?& Q- s+ \* z: c& J+ a! R
Скопировать код
Поля данных:
  • 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 — завершение записи для квеста.! O6 Y3 L* s2 Q- m% J

( T( l- W( ?  S  E: i0 Y- c+ h: f0 x: j9 {7 C8 W2 n! v
Файл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре. & u, i9 d: n- \8 M" e
Пример соодержания2 C7 G4 {; B. B) X5 T& k) @: @
Вот описание структуры строки:' c8 h, m- Y) I
  1. 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
Скопировать код
Давайте разберем все поля на основе примера:
' `5 _: E7 N! V( g* a. s$ V+ ]" f8 ?8 B; v
  • 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: Указывает на конец записи о квесте.7 G3 u4 D2 D  Q9 X9 A; h" ^
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.4 ]9 A/ K- C' e* H1 }0 {1 Y& ^
5 k. x# I2 V# |. |

+ C$ c, u% A9 D/ A: f4 c

! l* u& s: }) q1 E+ [" }4 SСледующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.# j1 W, C- F  G4 x# `
. N2 E$ O! F6 j# O& B- d
Шаг 4
& v/ L0 z* E* ?: I" Q1 e& {6 v2 ]2 i5 w% {Для того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
$ {* C0 p4 b* vПример добавления нового квеста:8 H4 E' H4 |0 b3 x' X- Z7 H/ w
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">
    4 L! I8 r' t% \+ e3 j2 \
  2.     <locations>2 ^0 D0 J% E: X, ]$ Q! b
  3.         <param name="startLocationId">2001</param>
    3 j# m( G$ X6 D/ G( S' h
  4.         <param name="endLocationId">2002</param>
    9 @! M7 B- o$ e) p2 k* K
  5.         <param name="questLocationId">2003</param>- S+ _& {6 ?- ~9 n1 z. f' E
  6.     </locations>
    / p0 D& y* E. Q7 I" c, F9 |
  7.     <conditions>
    ! u7 E' v0 V% V1 t; G
  8.         <param name="preQuestId">20000</param>/ s( _  H3 h5 t
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->: C$ ^0 Z" F: Y1 Z! \9 Q4 r
  10.     </conditions>" V8 c8 ?. g2 c$ I! A9 t
  11.     <rewards>" P0 N  z$ k2 {6 g% ?
  12.         <param name="rewardLevel">50</param>0 N& V0 j. `+ I
  13.         <param name="rewardSp">5000</param>
    : ^  g0 \0 R7 B
  14.         <param name="rewardItemId">57</param> <!-- Adena -->+ F# U" Y* ?% R
  15.         <param name="rewardItemCount">10000</param>8 ~' Z' B: X6 T7 X( X9 U
  16.     </rewards>
    ( j5 Q- U  |& F( {
  17.     <goals>2 K& {( D; x. C2 z, X, o0 r4 H
  18.         <param name="goalCount">10</param>' x1 @1 ^/ y4 q) l3 m& M  H2 S- h4 q) e
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param>: d& @; E1 C& n
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->, j6 ]: j$ H6 F3 C2 ?/ {9 {; i
  21.         <param name="goalItemCount">1</param>
    & r' I/ {, n# J# P
  22.     </goals>
    : V( e9 v( C: P2 a* m6 b- k
  23. </quest>% |# E" w8 [' C1 v% n( h+ |
Скопировать код
Описание структуры:
9 L) U5 o5 X: {( J) G/ C" t
  • quest: Основной элемент квеста, содержащий атрибуты:* d: l8 i; D& C+ `1 B, d- p. q5 c
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается.
      / |. \0 X$ B/ b4 I2 n5 p
  • locations: Указывает места начала, окончания и квестовой активности.
    ) l$ |) x6 [6 J: s1 ~1 j; M8 j
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.
      7 n5 ?( w0 ?) @% s
  • conditions: Условия для начала квеста.* M1 m8 [' C5 n1 X
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.
      ! Z3 D; X5 [  q
  • rewards: Награды за выполнение квеста.% U! u' ]$ l" M/ D+ H4 C+ F6 }
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.8 M' u9 N' r0 y+ y& m! c
  • goals: Цели квеста., k: u& g/ z9 Z5 b. u( s4 Z- T
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели.
      9 j4 W. M  u) j, z
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.
0 O+ W4 i5 P& P) P) Z6 K* Z' N4 k2 h9 Q+ J( [6 z* G- X9 p% Q, l
Шаг 5
; F& w4 Z" d8 R5 T$ WФайл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:# J/ p  c5 w  {) I. z
Структура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.
    ( r) A; o/ h6 b1 f$ n6 t
& g, P9 R2 L. d$ o
Пример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:
+ C: c+ h8 W  w2 e+ E
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end
    2 |$ B  h. D) e3 u/ M9 r8 B# Z
Скопировать код
Разъяснение полей:
0 o: L& E- L: }8 m+ U
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).
    ; f) T$ h3 D5 I+ w& N9 A

0 ~) \) c) ^4 t& H4 H( y
/ [; A8 A# K3 `( L" A5 ~- n4 ]8 `5 C: mЧто можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.: o2 K# Q) e+ q& P  x/ U

0 m" s/ p0 V& ~! G; M# p. }2 ?9 sФайл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:! F" v- m5 z9 V6 f, r

8 w' K2 u! N# |( d1 ?. N
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста., }+ `7 P3 {- V1 E
    • 1 обычно означает стандартный квест.
      : s3 d- j! N% E: q3 [+ L/ U
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста.
    $ v! w% r5 |7 h1 s/ n& f+ R
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню., l  M7 k1 y( A* \0 l8 ~+ f1 u
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.4 T/ j, m/ V" I5 K9 o
    • В данном случае он пустой {}, что означает, что нет предварительных требований.4 Q- o9 C+ C4 {. \2 e
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.
    " j2 \9 h4 E7 l
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ./ {0 x6 Y" {4 `* x5 m1 h
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.
    0 {% M7 a% F% h/ F" |7 O
    • В данном случае это предмет с ID 82948.. d9 @! ~4 ~$ Q. ~0 c
  • start_item=0: Предмет, который выдается при начале квеста.
    7 H2 R5 R+ k7 c# a. A  L9 M
    • Значение 0 означает, что предмет не выдается.  g3 w8 [+ d( G/ c7 L9 c
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.$ g5 g5 ^7 U: Y. [2 A  M& N
    • Это ID локации, где находится стартовый NPC.
      $ P* O# s& O6 C  H0 t/ Y6 {
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест." A0 q$ y: I; J/ Q. U5 k0 \$ ~7 G
    • Это ID локации, где находится конечный NPC.$ U5 P: _! z/ N' z: ~: S
  • quest_loc=1003: Основная локация выполнения квеста.$ o9 L  _$ g, l4 P, E
    • Это ID зоны, где нужно выполнять основные задачи.
      ' _* `$ t* F7 z+ ?
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.
    8 h1 U% h' [( Q; W1 R
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.1 y: F5 x. h6 P6 P" @8 {1 g
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).
    % d9 t7 H0 n; W% t. z
    • В данном случае нужно выполнить одно действие (1).
      1 @1 M; s1 [0 V8 V+ O
  • reward_level=65535: Уровень, при котором можно получить награду.
    , B6 V5 r* g; `% |: M
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда.- c# s/ B% z5 `% L! W
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.% X1 p' t6 _) M& K0 `& ]3 B) ?; G
    • В данном случае опыт не выдается.0 g/ B$ r: a9 \! s0 q, E' s9 c; l
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.- C6 k7 f8 p" z. c( D- ~
    • Здесь тоже 0, значит, SP не выдаются.
      ( x4 h! Z3 l2 T9 {# q  `) j' F
  • reward_item={}: Наградные предметы.
    6 y" O! o" P' S, P" z0 [
    • В данном случае наградные предметы отсутствуют.
      , ], _/ H4 ~' m& X5 [/ G
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.
3 _3 Y+ S# e, P" }* u- ]5 X3 d0 J' ?! V
% Q% @  i0 n5 z# l6 |

9 J$ N1 D) E* Q
# t! ]' J* V6 }6 k6 D
; q6 Q, z6 O4 O; K& e9 [5 l% c# }6 }# c0 X7 q. w& K7 `* ]4 q# f; Z

' h" s. G0 y5 p. j
8 l4 q" v3 o% T) N5 L* }: y  ~1 L( R

, I3 u  w$ s, y0 F9 N+ w: c
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

Правил начисления баллов

Опубликовать
Сектор творческих людей
Горячая линия

638638758

С понедельника по воскресенье с 9:00 до 23:00

Обратной связь

admin@artace.ru Онлайн

QR-код

Powered by Discuz! X3.5© 2001-2021 Comsenz Inc.