Top.Mail.Ru

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

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

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

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

x
Сборка: L2l_Monius 0 x' R: ~( Y" ^+ Y
Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.# v& c$ H& [5 X; X
/ |. W3 r6 m/ M( D) A5 X
: K6 m6 D* B# W- q
Иди и убей X монстров / Возвращение - награда.  [" ^0 Q9 s! V
Q00529_RegularBarrierMaintenance4 g5 e" D+ }0 T. R. A6 R

, X+ B  T6 y0 ]7 E  ^( G9 |Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.
; w, X- t0 Y5 g1 a1 Z( bQ00683_AdventOfKrofinSubspecies
, }" }. Q* A: {( J# v$ B
3 s9 u/ @$ M" [: ~: ?1 w5 _Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда./ J, T2 i. L( T' s0 y+ P1 P
Q10516_UnveiledFafurionTemple
& g4 ?0 F3 l" X8 I4 N7 C' R7 Q' k) I* N+ `
Убейте X монстров, а также соберите X предметов / Возврат - награда.
) F- m; \2 y: k! H6 OQ10517_FafurionsMinions
! D% l. m+ Y2 f
/ [& E, g1 l0 V  G3 |% SИди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.
* V6 |/ s" s) }Q10529_IvoryTowersResearchFloatingSeaJournal
3 z% K# z- m# [7 U
# h) o  y! o& a3 |% M: _7 E/ jИди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.
5 s* D5 b, Z0 \. C! iQ10518_SucceedingThePriestess
9 _" z3 a( c" E- K/ ?
. J% C; T# f5 G4 u! ZУчаствуйте в убийстве рейдбосса / Возврат - награда.
6 e$ Q* @! t2 Z+ x1 S" `Q10519_контролирование вашей температуры! J& R( m. |% y2 y) L1 i- _& p
/ {9 @( V0 k# n6 A; ^
Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда., l8 e8 N& l( Z8 @. ]+ i
Q10533_OrfensAmbition
) ~. z9 H0 q% z# Z% g( k3 u' e4 [. L4 i3 J1 a& d$ d2 \1 Y
- t+ P4 L  s2 N" m

2 |& x" `* t( |7 xРуководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!
, ~8 J* e: |. m0 L% B
, W6 {5 F6 |# Q/ D
Шаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest"., [+ D' j7 x0 \6 H: `( r( k5 y- o. R
, o; E, f# T1 F2 J; Y! n
Шаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
0 N+ @7 c+ m0 l+ t/ Z9 ]) x6 l/ Q; J# m8 w
Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".
5 V6 o9 x1 f0 b3 e* q5 i+ t
' k5 d9 a7 p$ Q% ^( J5 E) r! {Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.6 ]0 M3 a+ R& a8 f1 _9 M. l

  E- t+ g) @/ W- o! l1 rШаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.6 U$ ?  ~/ x+ w7 g; Z  T9 R
  p; Y' E7 E3 v, Y4 m
Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".
6 }( b9 c+ t$ E8 Z2 P, C# t9 D9 m0 {* M
Если я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.
! v2 M  h8 ?: F
* b, t" r5 [  Z/ E1 k5 `  Y1 lШаг 2:
2 |0 M9 O( q+ {9 }" R' k3 O# S
; S) _3 w8 L6 `" G9 e2 I- \Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:
: F% O5 R) M( X- t9 A, F5 |! R$ {0 U6 |: ?; f
1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест. + \4 R+ o: z: ?$ M9 Y/ L* J7 M
Например:3 v3 H9 |" J& n+ r) f
$ F+ y( N: w3 T" ~8 m
  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>;* [3 g  `6 D0 V
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:5 M$ q- p, l* u) m
: b6 A! r( G, d5 u# x7 r+ `
  1. /**6 w3 t4 t- ~9 M) h" m
  2. * @author NosBit
    , _9 Y0 D! a& F8 c% D7 Q: @4 [
  3. */! z0 j4 ~' Y: L7 U; c
  4. public class QuestMasterHandler
    6 D& n) S  O$ e  C
  5. {
    / ]4 O1 R3 ^* g3 @
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());
    + g3 E* M2 c6 \' ~9 x
  7.         - [) K, k( b+ @: p# S8 r
  8.         private static final Class<?>[] QUESTS =
    . x+ Z; ~- G( ]5 n  W) V* W6 e
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.
& d& a, R1 [7 G7 G7 j9 O: y7 d: N- m6 {
5 _0 Z: g; }4 N. [# K8 [; W/ J
Шаг 3:
% W' p0 N% o: J. Z+ B% L3 D
" q5 o: T- ]9 UФайл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д. 9 I+ m6 X0 o+ `5 t" v
Давайте разберем все поля на основе примера:
* ^; x) \9 G& Z9 d8 C  Q  X" N1 A6 T' ]7 y1 b( Z2 R! Y% Q: E- i7 n
  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  ^5 f3 D9 `+ }$ j: h0 }6 ^* }. t- f
Скопировать код
Поля данных:
  • quest_begin — начало записи для квеста.
  • tag — идентификатор типа данных. Может использоваться для группировки квестов или идентификации квестов по определённым категориям.
  • id — уникальный идентификатор квеста. Должен быть уникален для каждого квеста.
  • level — уровень сложности квеста. Используется для группировки и показа квестов, подходящих по уровню.
  • title — название квеста, которое отображается в интерфейсе. Заключено в квадратные скобки.
  • sub_name — подзаголовок квеста, используется для дополнительного описания. Заключен в квадратные скобки.
  • desc — описание квеста, которое появляется при его принятии или выполнении. Здесь также используется разметка с символами переноса строки (\n).
  • goal_id — идентификатор цели квеста. Может содержать ID объекта или персонажа, который нужно достичь.
  • goal_type — тип цели. Указывает, какого типа задача ставится перед игроком (например, убить монстров, собрать предметы).
  • goal_num — количество необходимых действий для завершения цели. Например, количество монстров для убийства или предметов для сбора.
  • target_loc — координаты (X, Y, Z), куда должен отправиться игрок для выполнения задачи. Координаты указываются в формате {X;Y;Z}.
  • add_target_locs — дополнительные целевые локации, если квест предполагает несколько мест назначения.
  • q_level — уровень сложности или рекомендованный уровень для выполнения квеста.
  • lvl_min — минимальный уровень персонажа, с которого квест доступен.
  • lvl_max — максимальный уровень персонажа для выполнения квеста. Если не указан, то квест доступен на любом уровне выше минимального.
  • journal_disp — параметр, определяющий отображение квеста в журнале квестов (например, на каком этапе он должен отображаться).
  • entity_name — имя NPC или объекта, который связан с выполнением квеста (например, кто выдаёт квест или с кем нужно взаимодействовать).
  • get_item_in_quest — указывает, должен ли игрок получать предметы в ходе выполнения квеста. 0 — нет, 1 — да.
  • unk1 — неизвестное поле, возможно зарезервировано для будущих функций или модификаций.
  • unk2 — аналогично, поле с неизвестным назначением.
  • start_npc_id — ID NPC, который выдаёт квест. ID указан в фигурных скобках {}.
  • start_npc_loc — координаты NPC, который выдаёт квест. Используется формат {X;Y;Z}.
  • q_requirement — дополнительные требования к выполнению квеста, например, наличие определённого статуса или ранга (например, "Дворянин").
  • quest_intro — вводное описание квеста, которое отображается при первом контакте с NPC.
  • class_limit — ограничения по классам персонажа. Указываются ID классов, которым доступен квест.
  • have_item — список предметов, которые должны быть у игрока для выполнения квеста.
  • clan_pet_quest — указывает, является ли квест клановым или петом. 1 — да, 0 — нет.
  • cleared_quest — указывает, выполнен ли квест или нет. 1 — выполнен, 0 — не выполнен.
  • mark_type — тип метки, связанной с квестом. Используется для отображения различных иконок или маркеров на карте.
  • category_id — ID категории, к которой относится квест. Может использоваться для фильтрации квестов по категориям.
  • priority_level — уровень приоритета квеста. Чем выше значение, тем приоритетнее квест для отображения и выполнения.
  • search_zoneid — ID зоны, в которой происходит действие квеста. Определяет область, в которой игрок должен выполнять задание.
  • iscategory — указывает, является ли квест частью категории квестов (например, кампаний или цепочек заданий).
  • reward_id — ID награды за квест. Может быть несколько наград, указываются через точку с запятой.
  • reward_num — количество каждой награды, соответствующее полю reward_id.
  • pre_level — предварительный уровень или дополнительные условия, которые должны быть выполнены до начала квеста.
  • faction_id — ID фракции, к которой относится квест. Может быть использован для фракционных квестов.
  • faction_level_min — минимальный уровень фракции, необходимый для выполнения квеста.
  • faction_level_max — максимальный уровень фракции, при котором квест доступен.
  • quest_end — завершение записи для квеста.) g; Q9 I, Q. C% J

# C6 b, P( L( M! ]5 M* n! H8 e( `( _( v+ o& k5 O, @
Файл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре.
2 Q; ^$ o& |  t) z$ JПример соодержания
* N, f7 j6 ^2 ]$ hВот описание структуры строки:! F5 a+ B( i: Y# Z8 B+ e: N
  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
Скопировать код
Давайте разберем все поля на основе примера:( L0 i, l+ B, f( z8 s
- R* W3 Z8 |, |; R! l3 m
  • questmark_begin: Указывает на начало записи о квесте.
  • quest_id=10331: Идентификатор квеста. В данном случае, квест с ID 10331.
  • npc_id=32153: Идентификатор NPC (неигрового персонажа), с которым игрок должен взаимодействовать для начала или выполнения условий квеста.
  • race_filter={0}: Фильтр по расе. Указывает, какие расы могут участвовать в квесте. В данном примере {0} может означать, что квест доступен для всех рас или для определённой расы (например, 0 - для всех) .
  • class_filter={0;10}: Фильтр по классу. Указывает, какие классы могут участвовать в квесте. В этом случае {0;10} может означать, что квест доступен для классов с ID 0 и 10.
  • start_npc_loc={-118017.0;255965.0;-1320.0}: Координаты начала взаимодействия с NPC. Эти координаты определяют место, где находится NPC в игровом мире (X, Y, Z).
  • questmark_end: Указывает на конец записи о квесте." C  Y9 Z" K& D5 S
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.9 l0 `4 v6 L9 b) S9 q( I3 x
4 E3 @6 n; E) U6 V
. W# @* O  j8 ~
$ X, k" `$ F* A, ?, W# X" N* x
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
* a! Y+ l- A3 ~2 s
! m# O# H9 L* x5 gШаг 4
4 O7 v( t( f: eДля того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
* b4 K$ u2 e0 |5 F" t: pПример добавления нового квеста:. m$ s: n+ b3 w% A0 T
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">% H/ a% T9 f( Q4 [, j: `. y* j- q
  2.     <locations>6 d! u6 O7 K9 }) w
  3.         <param name="startLocationId">2001</param>
      y6 {. ~: l6 H- u( T
  4.         <param name="endLocationId">2002</param>
    # F" W/ R$ J' R( {
  5.         <param name="questLocationId">2003</param>/ M7 e' p' J# S/ {
  6.     </locations>
    7 {* W& u. Q- X4 O0 B; n; [; W
  7.     <conditions>, x# N( F0 T" a0 r2 n. C# Z- Z1 R
  8.         <param name="preQuestId">20000</param>- ]& {' B# j5 U
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->
    + Z* L- d' E$ D: W
  10.     </conditions>
    0 t- h. P/ V# `$ M
  11.     <rewards>- C+ i# C, n  M# r
  12.         <param name="rewardLevel">50</param>) ^  h* Z5 r& i% T- H
  13.         <param name="rewardSp">5000</param>* T3 e3 Y% Q* h+ Z7 z7 `, R0 ?
  14.         <param name="rewardItemId">57</param> <!-- Adena -->' ~- g2 A8 k5 U- A' T7 f
  15.         <param name="rewardItemCount">10000</param>
    ) }& P) c; C) c( h0 ~
  16.     </rewards>1 Q4 E) O  q9 H6 g" I
  17.     <goals>
    ! n! x0 H; w5 Z8 ^. g
  18.         <param name="goalCount">10</param>' {) D8 P- F0 U* }, O+ f
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param>* j" I# ^, Z' F7 L
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->3 Z! N- K+ F) ]5 T! D( Q
  21.         <param name="goalItemCount">1</param>
    & u! E! ^; Y, ~
  22.     </goals>( A! w6 F- @& ~) l8 H8 C
  23. </quest>5 Z0 u3 O) L, n) ]5 D! U8 D# ~' v6 S
Скопировать код
Описание структуры:+ A0 B8 G$ A+ y2 A3 K
  • quest: Основной элемент квеста, содержащий атрибуты:
    5 a* _+ B: Y1 f& @6 K
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается.1 R' h! q; p8 Q- Z& f8 x+ G
  • locations: Указывает места начала, окончания и квестовой активности.  E0 @, r+ R/ L* i
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.7 y+ z! X, R/ a4 G* Z4 p
  • conditions: Условия для начала квеста.
    0 q& ~% M3 B6 b  S
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.% j: N( O& f( ^0 }) z
  • rewards: Награды за выполнение квеста.
    - _$ F# @" V% D  q0 @" b
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.6 j7 \' s' a! m* Z- `: p
  • goals: Цели квеста.
    8 f3 E- S& Y+ `5 j8 \
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели.
      ( l% o; B  Y) u1 }& i
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.# K+ N, Z; U( X$ ]0 w. E

- V; ?1 c! w3 x& h/ M' c/ {# NШаг 5
* o+ p* x1 y) R' |$ \$ ^Файл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:! f; r. S' M# A7 o
Структура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.; ]2 s& U+ l5 R& ]2 ^
' g' }6 Y% g/ d/ A- N+ Y# m
Пример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:
( {+ k/ f1 j/ @1 m  l
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end! G1 B# e/ P; m5 C" U) C
Скопировать код
Разъяснение полей:6 d' f( ^/ D1 ?$ Q
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).$ m# Y1 P5 w" R- Z* Y: H# c

3 c- s, N# }8 g! W7 |- L1 K, f" Y8 b5 f% S. F& f. L
Что можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.% F- R; E* v  h0 d# f! K
. p9 B5 i9 w! B2 H' V( {% X$ ~
Файл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:  w, X+ L0 Y' c5 m: b
, m  k" i; r4 Q' W1 `' _' I: o
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста.5 ?3 o1 n4 \: I) s3 o  N1 F
    • 1 обычно означает стандартный квест.& [" d2 i6 d  h, U8 m7 H' Y+ R6 W, W
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста.! y6 W4 X' Y7 T0 r# F& Y: ^; B' f1 X
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню.
      # B  M5 P5 X& ^! k
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста./ o+ q5 L$ x1 K
    • В данном случае он пустой {}, что означает, что нет предварительных требований.7 A5 `( P% q; [
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.7 T: r; s6 v$ b- [' F
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
      . _' t( a8 D6 ], n
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.
    % t$ ?8 w4 E6 w# J) j
    • В данном случае это предмет с ID 82948.: `) ~4 J0 c2 s, Q4 H/ c: Z! F
  • start_item=0: Предмет, который выдается при начале квеста.
    - i0 P$ D9 I9 U& N! t* j1 s2 c' c  M
    • Значение 0 означает, что предмет не выдается., c. y# b( M! y" B# E$ U
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.
    + v- [3 E. u$ R5 R6 F
    • Это ID локации, где находится стартовый NPC./ ]- O4 ^& w8 U1 y3 u2 \
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест.* c3 G# S" F4 M0 K' z5 q; s
    • Это ID локации, где находится конечный NPC.
      * f" b1 {6 ?) y/ g3 f+ {
  • quest_loc=1003: Основная локация выполнения квеста.( G& o( M' ]1 K/ o7 P) A+ F
    • Это ID зоны, где нужно выполнять основные задачи.
      ! d+ ^2 x) X, G' X" k
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.5 Z! G: c0 x1 T6 H8 d
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.8 D/ X' H2 q+ ]1 a& f/ p
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).0 `# _+ N  C3 v( u; h- w. U
    • В данном случае нужно выполнить одно действие (1).  k# m6 k; X1 k" G0 Z: w
  • reward_level=65535: Уровень, при котором можно получить награду.
    1 p; C# |# t6 U( _0 t1 S
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда.  r# T+ p) d/ u) u2 L
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.6 O' V$ T0 o* x+ x( S/ Y' \7 \
    • В данном случае опыт не выдается.
      % J( c- ]4 F4 F
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.
    3 o( c" `8 v5 ]# S. }; n) o
    • Здесь тоже 0, значит, SP не выдаются.
      6 M2 l4 n* x; K( h$ S& D
  • reward_item={}: Наградные предметы.8 ?0 ?# L$ A" o2 x+ _9 J+ \
    • В данном случае наградные предметы отсутствуют.$ k/ I2 s4 i& r- S+ \/ ?) p# g0 P+ n( r
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.
. i" T$ n" L$ }  n! |" U% u6 |# z

9 d# |- C* ~( J% x' k' L4 U2 |8 y# b
0 [& K+ H" {' ]. E; y+ Q) K0 L3 Q4 `' |0 L4 b! u

! K5 R1 R$ u+ z6 C% Q5 |; ~$ u5 T+ c/ X; U0 b, h; h

- ^3 B; y3 L( E. N0 L& Y
3 Q9 K, j1 t' Z; M  s1 j5 B2 Q$ a3 I/ r- y7 ~, l' {
" V9 t' u9 T6 o' O1 K. f& B
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

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

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

638638758

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

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

admin@artace.ru Онлайн

QR-код

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