Top.Mail.Ru

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

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

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

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

x
Сборка: L2l_Monius ) Y5 A. V: R% s6 ^* s& Z# A. E
Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.& V* @& D4 f3 @. Z8 S6 o/ {+ i

) F" j' j& P3 W4 U9 B
( K6 [! e$ {$ {% g
Иди и убей X монстров / Возвращение - награда.
! `/ Q: r; u5 b0 d8 F9 y% @2 j! ?3 JQ00529_RegularBarrierMaintenance0 ~4 B  h2 x1 ?
6 k4 e3 P4 `1 Z% w* `
Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.5 X9 v# [4 I! r/ y; i$ l
Q00683_AdventOfKrofinSubspecies4 M" F5 r  o$ }  \! B9 W' R
1 d, G; |9 s3 Q0 ?; x
Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.( _# n% V4 ]5 ^) ^. }" ]5 G) J
Q10516_UnveiledFafurionTemple% ?- h, K# w" a  T7 Q

& z. o/ k2 g" b7 TУбейте X монстров, а также соберите X предметов / Возврат - награда.' h: \& V# m  P% \) q3 z( o
Q10517_FafurionsMinions  r6 d6 d  X+ W3 g. W' l. w

. {; m% `/ V( d& [% {Иди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.2 a4 w" i: G/ K5 n5 O! @! r+ k1 I
Q10529_IvoryTowersResearchFloatingSeaJournal: Y% ]1 {1 c: i$ x  }* p, m
* O. g4 U2 f& w: x; a1 B
Иди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда." X: m5 k2 H" d$ F5 s. a
Q10518_SucceedingThePriestess% a! E' G" z- C* C
$ W  e# @% p; r# |5 s! q
Участвуйте в убийстве рейдбосса / Возврат - награда.
+ w7 N" d# k  i4 c$ h5 @: XQ10519_контролирование вашей температуры$ }9 ~5 w6 l3 |: h. _" t2 `

/ U4 b3 i) h2 w  oПоговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.2 p* M6 L4 v. \, L5 ~2 |' e
Q10533_OrfensAmbition
1 ~8 f. o+ p* W; w9 z( Z/ x  [: x( W, }5 p: d/ t' I( i

% l0 j" {6 F6 ^8 v1 u
, u; x4 D' {8 jРуководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!

* p2 A' a: k. M# V% q; T1 \8 R1 R# \2 ~  O1 F4 Z3 X* g7 L4 I
Шаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".0 a+ |* n& H% i: S: r

( l8 ?: R! y+ s1 L5 y1 qШаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
: u( D& }" t: U+ H- B* S: i8 V5 X9 Z' q; |0 X5 B9 T8 w
Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".5 \9 R1 Z: U( {/ n2 F+ u" J* I

9 x3 f& _; h, U# I' e: iСледующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.. ?& g6 o8 T& F; a. x9 L

+ J1 M9 }% ]9 \) I' n5 A/ cШаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.
0 q2 t# K! ]/ m. s& v2 a0 q
1 _4 n" l8 C7 g) W+ c6 s/ cШаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".
3 b  U; C* g% E
, E% @/ ^6 i/ UЕсли я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.( T) n  e9 g2 N/ b8 n+ s( g
  `9 f$ b, t+ z- P, E  k/ {( N
Шаг 2:$ Q8 q! z3 t1 L1 Q/ r
, A/ c# h' A& J- F0 Q
Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:
7 f* H" ^! Z, Y* r. p: H+ {+ w: ]( b9 r  u
1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест.
4 W* L( K6 X, `8 C; F5 vНапример:! F9 `9 F, B$ \" ?" h$ t
- d3 R7 P4 G; w
  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>;( ]5 K4 L' ]  b0 T# o0 i$ T
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:
, M; U6 b. u! w1 `9 J0 U# C( }9 `  L" Z- Q0 V) {
  1. /**
    3 K  C1 q- K, k& P) Z" ?
  2. * @author NosBit
    1 s0 z3 J9 [7 }9 `% }
  3. */
    0 w! O9 l! m; [/ B$ F  c% G; ?
  4. public class QuestMasterHandler# G6 d. u3 @9 `0 b' |
  5. {* f5 [4 U) O' {. R4 h3 @
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());9 D! ~5 J. n+ u- Z! y
  7.         
    0 Z* S9 \0 R, K  A2 a' p$ J* H
  8.         private static final Class<?>[] QUESTS =& Q* K3 i# C' M7 `$ }+ \
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами./ x5 f8 q8 C. a
7 m8 A: k$ _) I' z; n& S
) E1 ?) L, `, J
Шаг 3:; D3 _2 `) g: j+ M* c1 P, x
& |5 ^2 ?& Y- g) m, j% y
Файл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д.
( }. K, M, B+ L' {. `  K( zДавайте разберем все поля на основе примера:
2 D! Q5 o' j2 s# O7 h- p* a
" J% q7 @4 l3 y+ Z' {; {" K
  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_end
    + `1 e' x* M6 z" m2 M$ x! I
Скопировать код
Поля данных:
  • 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 — завершение записи для квеста.
    % ]. i( M4 ?1 @) h; Z, I0 q

8 i/ k8 c9 k3 K0 a- @6 v. X) t. @/ ~2 [$ y7 M
Файл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре.
- ^0 P. W2 s& a1 r/ {6 Y; w3 ^Пример соодержания
1 c7 I6 O1 f( \5 oВот описание структуры строки:
% c* w+ J0 P( q# n: Z
  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
Скопировать код
Давайте разберем все поля на основе примера:6 V$ `; L+ [% t+ [/ N9 p' R& W

2 D7 H; b3 p7 ?) S6 g8 ]' ^
  • 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 ^( L& {9 k" T" s) E# }, v
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.
4 O  r* s  @  f. a0 p$ N# _0 J( c* V2 B: D6 u/ R
; f9 H6 K# d: ~/ c- D

3 d2 {" _0 y2 s4 |) l) Q* cСледующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
8 E: R- S$ p0 @! E8 h3 O$ X1 b$ D1 g( H; v' o/ @
Шаг 4
' ?& N5 d/ ~8 X6 nДля того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:+ {0 i% c: F/ l) w, E  j
Пример добавления нового квеста:
0 X1 r- Y( x4 f* v0 n
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">. I0 x$ [1 ~2 x( n, a
  2.     <locations>' @5 q$ ]: U- H8 j5 ^3 P/ ]( i
  3.         <param name="startLocationId">2001</param>
    ! W/ O) F' ]! a4 n
  4.         <param name="endLocationId">2002</param>
    * u0 X" J+ }4 L* B% o
  5.         <param name="questLocationId">2003</param>3 J6 x3 \' n6 ?6 w" g2 t
  6.     </locations>) Y5 i1 N) t  [4 J+ f
  7.     <conditions>
    # ~1 \# I6 J; V  w
  8.         <param name="preQuestId">20000</param>7 n7 X; ?4 I: ]8 R
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->1 E* a- u0 r2 _& G5 ]8 F
  10.     </conditions>" i7 \' U$ k  d5 z0 `8 \
  11.     <rewards>
    * h1 r; b/ l- m2 V
  12.         <param name="rewardLevel">50</param>
    ! h9 v7 X8 R8 q5 ?' a& v2 H
  13.         <param name="rewardSp">5000</param>
    1 }* s9 i. S5 O1 {
  14.         <param name="rewardItemId">57</param> <!-- Adena -->
    - B: Q: L  T9 p4 o; P
  15.         <param name="rewardItemCount">10000</param>& L) M5 K* s, J
  16.     </rewards>
      V7 t0 z! I7 ^% T
  17.     <goals>
    3 p" d. q/ n, k4 g
  18.         <param name="goalCount">10</param>
    4 m+ G" R  V- k# R
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param>
    4 d$ y! q  \: E1 M9 b' ?" L+ z5 r9 I
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->
    7 P5 C. V5 S6 q* }
  21.         <param name="goalItemCount">1</param>
    2 A) ^5 Z5 B7 x' t7 T0 h  V- r+ m
  22.     </goals>2 N2 f! l) F0 Q# \" l( B& N
  23. </quest>2 |3 k; s' `- l# p
Скопировать код
Описание структуры:
+ ]9 X* x. j) S& T
  • quest: Основной элемент квеста, содержащий атрибуты:7 F0 e4 k7 Y4 }& X. ^
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается.
      1 u; C6 g4 {4 h# f
  • locations: Указывает места начала, окончания и квестовой активности.8 P/ p/ Y" Z9 W5 y' U. s# u0 h
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.) q$ F& ]8 K. T3 p. K4 |4 `
  • conditions: Условия для начала квеста.
    * |) {+ E. ^( V  Z2 S1 O
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.. H: m9 @$ S+ d- b
  • rewards: Награды за выполнение квеста.
    ! I" f% w  ^6 \% W, s
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.
      7 q! s* K8 y+ I- u5 W0 I5 i1 U
  • goals: Цели квеста.
    ' W/ r8 g4 h( D" o' Y5 }
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели.0 }' z" K8 o8 v6 {1 ?4 s: o
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.; g0 z- \; |5 c: v+ E
5 |% X8 n' e; Y/ ?2 d
Шаг 5! B7 C0 Q* `- y# f! U) s5 ~: G
Файл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:! f+ M; N; {  k0 b, }, m
Структура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.& W. E; w& Y+ L8 q: W
# h3 D: r/ P( ^/ }
Пример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:
6 X# Q* \- f' \$ F
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end
    5 y& l- k- k6 `) ?, G
Скопировать код
Разъяснение полей:. \& D# l5 f) W5 S% x
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).0 U+ Y- [" S/ ?1 [
. f4 r. J* o( m$ O$ o

( e& y! X& L7 e" i1 Y: k4 uЧто можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.
    , V; G2 s. c6 ~7 k
" f0 N1 ?; ~: R/ p
Файл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:+ {2 b2 t9 m2 A
- Z9 L9 R2 h: p
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста.
    ! Q- q, r; f3 K. N' Z
    • 1 обычно означает стандартный квест.* f' B( Z: j1 N5 Q- G* U
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста.8 k9 g8 w' A+ p0 [8 u( ^
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню.% ]" W# y7 F  x! I" p
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста." C1 c  `2 C; `) f
    • В данном случае он пустой {}, что означает, что нет предварительных требований.
      2 T( R# I  Q) n6 L6 m& F
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.
    + I$ l7 _* u& J& f. l
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
      # E$ A% ?( A1 M% {( G
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.
    1 {9 `7 G5 X1 e) E4 }' A
    • В данном случае это предмет с ID 82948.
      5 o+ x+ M- i1 l
  • start_item=0: Предмет, который выдается при начале квеста.
    % c0 \) j7 h& w  o/ D+ Y4 k
    • Значение 0 означает, что предмет не выдается.
      , _. S" A! b3 v7 {( u
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.
    - c5 ]  o3 W7 h' U$ A
    • Это ID локации, где находится стартовый NPC.
      2 a, ~9 n5 G; v9 I% \$ Y8 J0 F3 S( N
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест.5 I' N- x7 J- F# }$ O! [: s
    • Это ID локации, где находится конечный NPC., N3 I6 l& _" ^( B6 H/ T9 U+ B
  • quest_loc=1003: Основная локация выполнения квеста.
    ) v- h! J0 d  @% M" }( Q4 R
    • Это ID зоны, где нужно выполнять основные задачи." q+ a2 ?5 S' Z6 ?& C! M
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.
    , Z2 v% b& R8 O( Y
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.
      * y  h5 t: p4 l$ D  G
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).
    , ]; N: a8 `7 \) ]5 }, b
    • В данном случае нужно выполнить одно действие (1).
      $ V$ x# Z) A2 I% z# O; w& b
  • reward_level=65535: Уровень, при котором можно получить награду.
    " Y5 f7 U* K/ h( {0 k* [) m7 K  n
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда./ {/ w2 e) ]5 t: U' q5 R
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.
    8 x. U3 a" D/ K
    • В данном случае опыт не выдается.
      1 Y8 ~2 m5 _9 S* \
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.
    & G9 r. W# u* b( q$ N+ b# x
    • Здесь тоже 0, значит, SP не выдаются.
      " g! t" r+ d. y. n$ X) E
  • reward_item={}: Наградные предметы.
    / K+ E1 A" Q) \3 f$ T
    • В данном случае наградные предметы отсутствуют.
      7 {. T% w) \- D7 T) w; _
Этот файл определяет основной функционал и настройки для конкретного квеста в игре." b% z2 z" y' J7 B/ f/ B

; I( }- K, U- d9 {) b  `3 \) D7 D$ k

0 x  \5 y  ~( Z: U0 r$ Z$ _: Y; G8 d# Y  j: n( Z/ t
1 `. k/ J6 b/ c: K+ K6 l
0 X3 H  H9 f& Q! F

8 q* k" u4 N6 ?6 T1 E
) N+ S) W8 G" {0 _  Y) @- Q- T) c8 m- h. _
7 t3 x  B  g2 B# r' a' M5 U
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

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

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

638638758

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

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

admin@artace.ru Онлайн

QR-код

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