Top.Mail.Ru

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

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

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

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

x
Сборка: L2l_Monius : m5 k3 @) j: x  o. x  A  w
Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.
2 h( x5 u7 ?* d+ L/ ~0 S. W' R6 w! f- T+ Z, [- W( |
- @0 R4 h, f9 {# V
Иди и убей X монстров / Возвращение - награда.
: j$ x8 c7 j# s' L9 v# G( YQ00529_RegularBarrierMaintenance7 w$ `1 n3 z% T0 U" s9 E
; z  m+ U; X5 I& O% d
Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.8 d9 v4 U9 J) r) X& P) O+ t
Q00683_AdventOfKrofinSubspecies
# t( n/ ~+ _/ S. j/ Y
$ L; L& e" n1 C) n$ v4 A3 `# ?Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.' ?' |6 D; z. G, d6 L1 O, K
Q10516_UnveiledFafurionTemple
" N) H; N9 ?. J6 `% G4 W: g  ?* h5 x: C- S
Убейте X монстров, а также соберите X предметов / Возврат - награда.
9 h3 L) a: F2 i' M9 r/ h* [Q10517_FafurionsMinions, {2 I* `3 ~) V" @2 p& `; H4 h
( a2 j2 ^" b& C6 n
Иди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.
! T$ ]# H: m* cQ10529_IvoryTowersResearchFloatingSeaJournal
2 l* L8 B9 k6 ?. }4 s- ^
+ T: ~3 [6 x. qИди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.) y. t* w4 E4 A% Z* F1 k
Q10518_SucceedingThePriestess( \+ k  G: @) {: o

; s7 \$ g! o8 a. ]) TУчаствуйте в убийстве рейдбосса / Возврат - награда.
& d. d0 |2 ?# K6 }2 G6 `' kQ10519_контролирование вашей температуры
& f9 F4 {# m. Y5 a$ J1 {
$ F5 w; f, S! Y; z& _Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.' l3 Y0 u& z1 g* W% j: D
Q10533_OrfensAmbition
, f7 M6 V9 B8 J$ J
/ j" ?0 V  O5 a1 {; c/ H  `3 B
2 L& b! [/ r( X1 Y4 m/ d
8 K; D4 J7 \( nРуководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!
5 B/ j4 R1 }% q$ L1 w
! K6 Z7 O3 j4 _) g4 f& u
Шаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".# {; c& k* V* n  g( j+ d6 |

$ k: y8 l: U+ @: c+ VШаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
% l  e$ _6 ^8 K& r0 D# |0 [2 L9 O: c- r# O$ V; ^
Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".- o) W0 [5 _5 T; J! K
  H; _4 Y1 L' b( d3 X% D1 h
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
* H# d2 a8 F' X# ?1 \& m) ^' Z$ x1 X$ h8 Q, h. e5 l
Шаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.
8 Z' s/ v) G. H( W$ S, n6 s9 j1 K
Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".
2 X1 T( l( m( H7 b- r* `( ]3 I5 a, E0 \% J' l( d& Y
Если я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.
& E5 e2 h* T% s* k' q* O6 A% l. A' _( t& U
Шаг 2:
& v- B1 ]5 r+ Y* T4 ?" E
/ d& C7 d+ E+ p" p- I- c: ^Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:5 N+ H+ C8 d8 O, s; a! K

" y9 B$ I  q2 \2 ]( O) j' b3 x1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест. 2 d" A  p$ ]% T0 T( a, P
Например:
' R' Z! e% F. ~. h* t, U2 f; W: E0 G+ u+ P+ B9 i; r* u
  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 h# {* q) f! y% x* L) @
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:
' x" o% _/ e! ]( Z# G5 ?  q7 I
& q1 m. f9 r% \9 B4 O* d
  1. /**6 n; [- j7 M3 c: u6 x/ F- s2 {
  2. * @author NosBit
    ' H: S) k: s- @
  3. */
    , F7 }/ E( O3 P. A
  4. public class QuestMasterHandler
    ) x! m3 X" I" j. m0 H; C6 c! K
  5. {
    ) l5 Q) U: H" p+ H- h2 g4 h
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());% k8 r4 q! a8 g# ]7 ?
  7.         $ s- }' u7 ?% Z9 k8 W! [
  8.         private static final Class<?>[] QUESTS =* N; I5 m5 a: v$ A, H" [+ y
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.5 Z6 V$ L2 v$ p% O

9 v" A# e. E" w' w' Q
* q- f/ R( w' NШаг 3:
7 i, h: h% y) K) `" _
& u0 _& J7 O: [! kФайл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д.
8 Y) o1 s& Z% f" Y% MДавайте разберем все поля на основе примера:
8 e+ Q! `2 t, m6 r. X% L' S; ]# X1 \
  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
      O1 m5 C' ^. _1 l+ W/ ?
Скопировать код
Поля данных:
  • 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 — завершение записи для квеста., U6 ]1 t$ q- l1 Z/ ?2 `% Z2 Y
, \. }, S. z/ j) N0 d: [! k

- z2 H- Q! q7 _9 B2 i' M/ JФайл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре. 4 X$ j0 u& e# X3 L$ A; N
Пример соодержания
1 Y9 S1 `: I9 s0 IВот описание структуры строки:
3 w6 }# u( o9 s# Z( G
  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
Скопировать код
Давайте разберем все поля на основе примера:# G. P# W; c; }& P. r" ^! q
8 Z. o3 |- c* O: Y; o) ~! 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: Указывает на конец записи о квесте.) D* A8 V9 }+ e8 T6 D8 X
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.
& r' e: {1 o1 h4 h; k$ G! J
5 z# Y$ j& ^) ?
" j& Q/ s% R6 Q7 j# P) G/ k

$ U2 @2 R% x0 ]5 ?3 j) E; YСледующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
; X+ O' n( M2 k- l) ]
, k+ b8 n% F( T( {* PШаг 4; C. r1 u- ?3 |# \, @3 [! R
Для того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
/ I! q* R/ |3 L0 kПример добавления нового квеста:
- ^! ^1 _0 c2 n  n
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">
    * _0 R5 s6 k7 O/ g) D; M3 C9 e
  2.     <locations>0 k& V. U0 |1 a6 B! S- z6 @3 i
  3.         <param name="startLocationId">2001</param>9 O' _( k! G* F9 i, C
  4.         <param name="endLocationId">2002</param>
    3 P; f% v2 l9 V! `: _+ E8 J
  5.         <param name="questLocationId">2003</param>1 C% S* U/ J/ M" Z8 o; ~: K0 \
  6.     </locations>
    0 h. H# w% C0 i1 [
  7.     <conditions>
      r+ v2 p  j: v! j. G+ d1 ?7 z: z! x
  8.         <param name="preQuestId">20000</param>! y8 m& j+ `! q$ i( ^
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->
    * Q& O+ C. y7 V3 ^
  10.     </conditions>. }8 x* c6 ]3 c% n+ X" ?
  11.     <rewards>
    * j8 @$ r/ H$ s7 |! y
  12.         <param name="rewardLevel">50</param>% d1 q' A! v  H. N' {1 X
  13.         <param name="rewardSp">5000</param>% Q& p0 B  Z! W+ @; i: b" A
  14.         <param name="rewardItemId">57</param> <!-- Adena -->" e$ I& _( k6 S* q2 ^
  15.         <param name="rewardItemCount">10000</param>
    : f" z1 u! G* Q3 L! }
  16.     </rewards>
    1 V( C( i$ p/ v
  17.     <goals>% t- v+ x0 u! F5 C' w! n
  18.         <param name="goalCount">10</param>
    6 c# F9 }# _$ E5 y) Q$ t7 i
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param>
    2 v: W, Y' N6 e" G% Y( T
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->
    ' D9 ^9 k0 I( `) f. K
  21.         <param name="goalItemCount">1</param>& Z: x' ~4 W* C6 ~2 U9 t1 Q
  22.     </goals>' g; Z1 Y! V( j
  23. </quest>7 Z+ p9 j5 P+ K; N1 V
Скопировать код
Описание структуры:7 q9 \$ B  r7 _
  • quest: Основной элемент квеста, содержащий атрибуты:
    7 Z- l; [% A* J$ l0 s8 m  ?
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается.1 p1 D( q( i' r" w
  • locations: Указывает места начала, окончания и квестовой активности.
    7 f% O9 Y" F! [8 M
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.
      & L& ?1 W7 L, d  b- y5 ~& Y
  • conditions: Условия для начала квеста.
    4 N# a. B% Z9 f8 O/ O
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.
      " u, f2 `* K$ r; K# }1 [
  • rewards: Награды за выполнение квеста.
    : V) Q% \. Z# n2 P
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.
      - Y, a, u6 {; T8 |
  • goals: Цели квеста." }1 ~5 G/ ~! V
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели.
      4 S0 A$ ~/ }1 K
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.8 v" Z' w9 Q* G; t6 K1 k* X
6 v% v. }9 ]1 L- p; C) C3 L1 w3 J
Шаг 5% t' W  ~8 G: f$ i4 Q; W; b
Файл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:
+ h% Y, d1 p& y) b  |, Q% eСтруктура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.4 }5 B; \- y  b+ L3 o5 A. X

- ^( ?. M" r. zПример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:
# R9 j$ k% e) c2 z8 d, I; \# D% L2 W" p
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end7 ?, b8 J1 H  V: T8 G5 D/ e
Скопировать код
Разъяснение полей:
, s4 j0 a" K  e
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).
    % N  L0 w* V9 _# `- G/ t) x7 @

1 M# x. [0 v6 Q& m3 a4 S+ ?9 V2 C+ @" f% j# L! I7 n& W
Что можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.
    ; M: @1 e* j( c6 A6 h! g7 X

/ e7 E& T9 @) ?" |: U8 v' |& E" ~Файл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:
# e* {5 P1 {' X8 U# E
" z3 F- I' x4 q* j
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста.! q0 d' v6 ]$ K5 N
    • 1 обычно означает стандартный квест.
      # Y: Y- [5 t8 E
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста.0 Q) O- ?5 k# ]) ~* L3 m
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню.
      : z" x6 g' V# A4 C: ]
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.4 w; K7 {/ k0 N1 p5 j2 ]8 Z( T3 X$ J
    • В данном случае он пустой {}, что означает, что нет предварительных требований.) j$ u9 D) A7 x+ R
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.! w5 W$ a& [6 f
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
      9 S3 g: d7 A/ q7 x) `2 Y
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.5 Y) m" v5 N- ^" V$ _9 M
    • В данном случае это предмет с ID 82948.9 a" x+ k! c3 |: K& G& P2 ^8 k5 r8 u
  • start_item=0: Предмет, который выдается при начале квеста.9 A' m" p, U8 [0 w9 H" y2 I9 I! u
    • Значение 0 означает, что предмет не выдается.2 x# o3 L: v1 W' ]+ [2 o
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.
    & a* }3 N5 B: _
    • Это ID локации, где находится стартовый NPC.; f: [. ?4 j% a  U" A; N3 X
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест.8 U4 p& a& U$ K6 m: G0 ?( v' s
    • Это ID локации, где находится конечный NPC.
      ( d; E. |9 b+ B4 C2 W% |/ a" ~
  • quest_loc=1003: Основная локация выполнения квеста.; J' W) m8 c( a$ B
    • Это ID зоны, где нужно выполнять основные задачи.
      9 P0 }+ f. k1 A  O6 j" C
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста., r5 i0 f5 r  D" h2 {4 `" z
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.
      5 g. t: \/ v- U3 K% C
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).
    - s% f0 b+ a7 D$ ~/ E3 T) B
    • В данном случае нужно выполнить одно действие (1).
      5 K6 C$ i! |8 s9 a
  • reward_level=65535: Уровень, при котором можно получить награду.( T3 z% Y9 i. I4 o" I. H2 Q9 P
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда.4 G6 e7 z" A) X6 r, f
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.3 b' r9 U  G; B9 `
    • В данном случае опыт не выдается.! p  |7 h( s( g: t' X& t' y
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.
    2 g! X) f( j% t, d) J
    • Здесь тоже 0, значит, SP не выдаются.+ o! Z5 Q% ~+ a! m: s9 d8 C# v& }  _
  • reward_item={}: Наградные предметы.
    % e% Q. n% K5 E. e4 x
    • В данном случае наградные предметы отсутствуют.3 k6 X# M( o. S4 l7 Z5 _) U5 Q
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.2 u! e8 ]% w: f* ^0 V8 k' P+ M& a

: m" f0 C* B, q% Y5 N2 Z, `5 j5 K3 W4 b  H: T7 O" s9 f
. z+ I, ?  c) l5 k4 `! _

, P5 w' y/ Z: {" @5 L6 [& [  `% s  k8 @' U) m. S8 d( Z

) o9 z+ P# T) j; r* \0 x
% E, j2 F  R! m: S$ i
8 h/ `) J: E4 r1 F4 {
' l0 R7 w. m( l# u: Q' [! m! M1 `/ X' j( R
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

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

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

638638758

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

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

admin@artace.ru Онлайн

QR-код

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