Top.Mail.Ru

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

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

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

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

x
Сборка: L2l_Monius
& \! X) n. k" \' F& L* [Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.9 u  d, p2 W( i' g6 R( y
" X! ?7 M. T6 ~/ W
# {; f: A9 \1 {- y/ M- ^  x
Иди и убей X монстров / Возвращение - награда.% V8 s* x" Z7 s( I; {: @
Q00529_RegularBarrierMaintenance: |2 n' ]4 U; U1 J9 A! \8 _# X/ D5 }
1 P9 K/ _8 i, v! {  y3 z
Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.
' {  N" ?% i0 D' m9 o8 x+ `Q00683_AdventOfKrofinSubspecies
) B6 M" s( E- _, H
9 j+ F+ O7 \, h3 h" gПоговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.
4 G  C' |* |, ^3 e; f# j  m5 z' b7 C5 sQ10516_UnveiledFafurionTemple8 ~3 j1 p7 t' H4 _  ?
9 P/ s( N8 j! v; ~$ C
Убейте X монстров, а также соберите X предметов / Возврат - награда.
1 G; L3 |4 l0 `. Z' z( RQ10517_FafurionsMinions
4 V5 w8 M  E9 F3 V" z; [5 |4 ^
4 ^- U* i% l$ `# QИди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.0 \& P2 l; h* s$ v( w$ `7 L
Q10529_IvoryTowersResearchFloatingSeaJournal
6 ?7 c2 f) |& y6 W/ k9 \! l/ ?! u, J
Иди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.$ t( ~; c9 `; U' F
Q10518_SucceedingThePriestess
* e5 E5 V. W: O  ?9 G* }
" }- P- F, o+ YУчаствуйте в убийстве рейдбосса / Возврат - награда.
, x' T0 l) K8 `+ f; m8 v& cQ10519_контролирование вашей температуры* A# V6 m" H) b/ A! m
0 z9 R0 k+ H7 b; v
Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.& }. c' A' S6 G$ A& \% H% Q
Q10533_OrfensAmbition- U# {! q+ m/ l

" j. `! |% n  u) e$ r  G+ L" u6 z6 n. f2 I3 O' T3 h5 ]
3 T* H" }. |; K# b" K
Руководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!

- x: X5 t9 ]2 @- y9 |; E" C: J* P+ Q' W% R1 ^5 |
Шаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".
$ B; |6 |3 K' u; Y( {2 z! i* M) ?# n: ^  Y( E& [/ D
Шаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
$ m) L5 R* _7 A: c5 \: T! G( p7 ]/ Y; d) }& m
Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".
  o8 m4 e- M+ w& L" |( p2 s9 h$ G" X' y2 I. R$ O6 K+ l
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
4 x* `* r. A3 w4 I  q$ N
0 \! {* u: K$ h8 c9 W8 N; iШаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.8 i$ p8 b" G3 f
" W" q2 Z. }) u; _+ J, i
Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".
( w2 b) S  F3 L; d; q% W* ^- k! Q3 @$ N% N; [2 d4 x. L
Если я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.
$ A5 h8 U1 C1 k6 B8 ^5 o: T9 @. L$ g! z- L3 g
Шаг 2:) ]' ^% ^/ e( m) E7 M! o4 J

( y% L( G( k# _7 g) UСледующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:
; U4 F" d" x1 P9 \
) ^' Q- _+ K% g. C- e$ a1 I: r1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест.
$ P5 B9 V5 d* ]5 z" ?; \Например:3 Q! J, s# p; d. l0 b

2 Y3 j9 ?; ^- B5 j! F. h
  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>;
    . L4 v% s& J" k2 w
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:1 o2 I2 L  K5 T4 q4 W, l4 Y

. [& }3 K  Y9 V9 O
  1. /**7 j8 R! p) t& M  U0 X4 f+ ~  x, W* F
  2. * @author NosBit
    . E1 w7 J$ d0 d9 o2 G
  3. */
    6 @. ?+ a7 Q4 R, ]
  4. public class QuestMasterHandler! M1 b+ b' [4 X* |8 T/ |# l
  5. {
    + G9 L! |7 Z* n$ N; I' ?. Y' U
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());
    7 y! D  C2 k9 C' X( ]# z7 y
  7.         & N+ d3 D5 A6 p0 `
  8.         private static final Class<?>[] QUESTS =
    2 Q  J+ q$ A6 s( ?+ k
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.: }, [: X8 ?- T; B- ]

# a3 a7 J- A: `# z+ c6 j( V( Q3 T8 f+ V1 A
Шаг 3:
8 d0 r9 Y2 y" w- O# I
4 W+ `, q- K1 T# j  I7 DФайл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д.
" V. o5 P4 ]$ h+ GДавайте разберем все поля на основе примера:
$ Y! t  y- K/ n
0 ~  j& d( s6 R  g) u1 D
  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_end3 ^# ]* a! c2 n$ ~( E! M
Скопировать код
Поля данных:
  • 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 — завершение записи для квеста.3 {1 h4 s" ?' ^2 ~$ a# c% {
; Q/ v4 A0 w! j) Q, D2 U5 e0 U

$ y$ B' |) U) i6 OФайл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре.
4 H: D) D) x: N8 h3 A7 E4 b* AПример соодержания
6 }; X: \& O' \# `% g! m+ }Вот описание структуры строки:
/ A% o: e, L5 d! P/ W
  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
Скопировать код
Давайте разберем все поля на основе примера:
2 Q! e. {: }& b3 F4 }
' m9 h. T6 s- K$ o
  • 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: Указывает на конец записи о квесте." c8 Z) u5 F$ B6 n0 a& B
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.- p) t- x. P! b: T. D
2 c' C1 P2 A3 p( \
- a! B& g$ S) w' T+ l5 d, d
5 g6 l4 G( ?& [9 a: h. M; {
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.3 i& ~; L8 u& C, y% h4 W: [
2 l" ?* H$ J9 K3 {" |2 c3 f
Шаг 4  u8 m: i  b1 I5 o! ]
Для того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
- W! F. B: K6 X* R1 x  v2 L0 SПример добавления нового квеста:
. H/ K" d+ B; @: @8 N9 A+ u7 Y+ v7 y
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">
    7 r6 ]6 r- v! E( G' A
  2.     <locations>
    / V; G' u% D! j4 N2 _
  3.         <param name="startLocationId">2001</param>
    9 \9 U& }9 n; L
  4.         <param name="endLocationId">2002</param>- k! k# y& `8 H. Z# J5 W, k* {
  5.         <param name="questLocationId">2003</param>
    ( P% A9 s8 V8 B0 {
  6.     </locations>8 @9 B& m; d( u1 @
  7.     <conditions>
    3 R; p3 l& \" G+ N
  8.         <param name="preQuestId">20000</param>
    9 T# |) R9 l$ H6 a  Y
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->/ E9 g3 E8 _2 A. m0 T
  10.     </conditions>7 O) n1 X4 S3 {$ \) H: g& R% Z
  11.     <rewards>
    ' V9 c& z1 m! @2 r+ [7 |
  12.         <param name="rewardLevel">50</param>3 L: N3 J1 ~; U
  13.         <param name="rewardSp">5000</param>  |9 ~2 J# U' l4 H5 R7 i  W
  14.         <param name="rewardItemId">57</param> <!-- Adena -->- e9 Z1 p/ s/ }, n2 k8 K
  15.         <param name="rewardItemCount">10000</param>% p% o/ Y# H/ j
  16.     </rewards>
    4 {# Z9 e4 b# B( B8 O. P- M" o9 L0 J
  17.     <goals>
    5 ^2 |2 g% H+ w, H; ^: {+ T
  18.         <param name="goalCount">10</param>
    ) A3 ^6 i, H# K! I/ b" m$ T
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param>, F; {+ F6 W, F# D8 [9 F, k
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->
    1 d2 j7 j6 o/ p1 ]; f
  21.         <param name="goalItemCount">1</param>5 ^; K$ x. v. W( ?3 H( [( x
  22.     </goals>
    / \$ C, x: X- z, P( q) X" x' q
  23. </quest>
    1 o8 F6 m" G" n( ~  ?( \6 v+ q
Скопировать код
Описание структуры:# F  _' R) j# i( _- G% |
  • quest: Основной элемент квеста, содержащий атрибуты:
    7 o3 }- z1 Z1 |+ [
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается.: f2 }. q- u6 M) \7 j1 V
  • locations: Указывает места начала, окончания и квестовой активности.) H* ~* s' R; {: @0 D# d; B
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.
      / n$ u, W6 m4 d# a( J) s; ~" ~
  • conditions: Условия для начала квеста.% @' p7 F$ B) R( n& n
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.9 k- R2 p* ~+ }6 w+ k
  • rewards: Награды за выполнение квеста.
    ; S  ~" p' J: q1 Y
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.
      " M4 p+ z4 i" ]$ s" Q/ e
  • goals: Цели квеста.; u! h4 n2 {6 w+ Z, f2 g  j
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели.. k) H3 c' ]  \. l  R4 P$ V  T" \
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.
% }, o4 E& N4 O  ]9 A: ?: N  D- q" S7 ]7 @' H
Шаг 51 H1 ~9 ^0 X& b0 W2 v0 R
Файл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:
5 C( S$ |+ g$ F) A, U+ f1 pСтруктура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.2 i5 b5 E$ g4 n1 d) q0 g

$ }( S2 C. e$ s+ UПример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:! \- @; T, c% z9 o! m4 R; ]& Q( ~
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end$ S& M1 j5 L% V6 y3 U8 Y) f3 W  u
Скопировать код
Разъяснение полей:
' y- T# ]/ I7 r$ T8 p4 R8 q* L
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC)., o# {! ~5 ?" T
& O4 |# v/ n* |) E! q- Z: d

5 I- n% ?8 G7 q9 Q$ iЧто можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.
    4 j/ K- m% c; R
6 ^, H4 Q9 z, i0 x& Y3 g) d
Файл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:5 |4 N5 M* h% y2 K" M
, Q$ A! {* E& a" A9 G, `2 q) N8 E2 }
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста.
    ! K7 ]$ X1 [1 A0 ]( d
    • 1 обычно означает стандартный квест.
      ) Z1 |! O- V, @
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста.
    6 K% V4 q6 Z; c0 `: X
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню.
      2 E+ Z- Y$ |4 {- w6 U9 y
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.# g) t: M9 o" C3 M1 X2 L
    • В данном случае он пустой {}, что означает, что нет предварительных требований.; x5 Y+ L- m9 Y9 p
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест." V# T/ S5 y" [) g: _$ M8 {. b& [
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
      , Q# a: {- @1 t3 y: j
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.0 h4 C5 U1 d' e8 S5 W1 m) j: p  X
    • В данном случае это предмет с ID 82948.4 G: V2 Q& r9 V
  • start_item=0: Предмет, который выдается при начале квеста.
    6 B* a- U! R( P$ {+ ^" z8 P
    • Значение 0 означает, что предмет не выдается.( T: G3 _1 a. J. ^2 [, f! n
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.$ e! O, b2 Y+ V
    • Это ID локации, где находится стартовый NPC.
      8 D2 y# N( y+ N. u+ N2 V7 }: [
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест.( ~$ S" r+ p1 |) E6 H  m
    • Это ID локации, где находится конечный NPC.
      ( {7 }8 n7 N, J. s
  • quest_loc=1003: Основная локация выполнения квеста.
    ! `% r( S5 U6 e6 D2 z
    • Это ID зоны, где нужно выполнять основные задачи.
      $ [0 N7 n* p6 G' r9 z* \
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.
    9 D& `6 X4 C9 O/ \+ z4 j
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.
      8 P  n: D- W% y7 T" K9 e
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).
    6 U, {+ c- ~+ ^! r2 r
    • В данном случае нужно выполнить одно действие (1).
      ! I: M: d: E) |, o" h
  • reward_level=65535: Уровень, при котором можно получить награду.% t% I# y, `* [  S+ F
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда.7 r' W6 d1 C$ ^. N
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды./ E# I  T! A6 U
    • В данном случае опыт не выдается.: V. ~% w9 w1 I0 d9 [, O
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.
    & C; i2 M2 H0 i0 R; S7 e
    • Здесь тоже 0, значит, SP не выдаются.7 d- {7 Z; O! ]5 J* u
  • reward_item={}: Наградные предметы.
    8 P  w$ x0 Q. {* B
    • В данном случае наградные предметы отсутствуют.
      5 C8 h8 k# v5 A* `& t5 W/ K
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.$ _: W: l+ ]* o, Z+ N8 ]
( a+ P& E/ l5 C; N

  j, o4 H6 D) Q' `9 J" N2 ]+ f
8 M4 A% K5 k% B9 U" {
$ ]/ h2 [. L' q0 p. _+ C) `7 F, n9 @4 P; O: H9 o% E3 h
9 W2 e# @+ ?  h* Y4 W+ _

/ l! P( s* z0 d: D1 d
8 u: Y, x2 s+ \+ T8 U4 Y- ~% y7 L
! u# ~  l- P) q1 e' A: ]8 j
+ ]9 h! U' I! b/ q! y0 Z) R) H3 R' L
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

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

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

638638758

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

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

admin@artace.ru Онлайн

QR-код

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