Top.Mail.Ru

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

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

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

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

x
Сборка: L2l_Monius
; M" E6 m6 _6 T) c" {+ B3 z3 aСледующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.
/ E" q, z5 H- M& z$ d4 r$ L- Y  J# e! Q
  k$ e% y$ N9 R$ w! W
Иди и убей X монстров / Возвращение - награда.
1 r+ {. t" `' ~Q00529_RegularBarrierMaintenance
5 x6 R0 V% e. I0 H. w, W) N: `- Z3 B4 S1 Z
Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.
7 I8 b% _4 u: T3 s! ^0 |Q00683_AdventOfKrofinSubspecies6 h4 Y9 V8 ^! ^" d9 |9 _

7 f1 n8 Q3 ]* N7 \& b" o" L8 TПоговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.
- X5 ]/ y% U6 ^9 g. `' q9 VQ10516_UnveiledFafurionTemple
4 Z1 C; y; s( l6 k0 F* ~8 @' y# i. a5 c5 f, X; L$ [
Убейте X монстров, а также соберите X предметов / Возврат - награда.
9 M. u6 [& e* i9 a( L: ]5 VQ10517_FafurionsMinions3 N( G% @& }* D1 \, p: c

1 B+ G! ^  Z  h" C2 s' d& S' lИди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.
# h' E$ Y3 |0 z, g5 YQ10529_IvoryTowersResearchFloatingSeaJournal4 t+ C: m- T3 }- J. o, x

- m! y* v$ G) L/ OИди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда./ n8 t; c$ ~& w. J5 t7 n3 O, e
Q10518_SucceedingThePriestess
# A) N; v3 L" c; F$ f( ]3 e) F$ {3 w
. W/ h0 s/ s# r: i; T" ]5 I6 TУчаствуйте в убийстве рейдбосса / Возврат - награда.
7 v; ^: x3 z/ ~- S6 {9 r2 k% YQ10519_контролирование вашей температуры
( E3 |& B/ y0 a5 d2 X& S/ A7 P' o/ C  N
Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.- U1 L; H+ G2 q% o: b! D, v2 E
Q10533_OrfensAmbition
& C& y2 L3 I* K9 P2 A, a: A) ?. }* y( s  F6 }6 K) V

' y! f5 }2 s# B3 Z- `( E1 z. c* m' J& X
Руководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!

6 h9 ^# h4 ^) W; ~; d& U! D" _1 W0 v$ O: ~; A1 o! C0 b
Шаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".( m2 J# C8 Z0 q* M4 y
% s, R9 P4 j# \* x1 a/ h
Шаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".- o5 b7 d1 Z$ B
, D% [* ]+ E$ D( Y! A
Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".
% r: K9 f- t7 g6 F" o+ H  t
' t2 h9 G* R& \& }7 |% {# b6 o+ D& ?7 D7 AСледующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.0 ]7 |  T/ P: E% \& ~& a8 i+ e
$ l$ g; a) _& U* A
Шаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.
+ ~- h) w) S4 s& U+ H; j; X& X+ r/ z' B! q' h4 ]
Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".+ Q3 T% G; R: I+ o4 ?3 T! s: g5 _
' a- M5 }; d, n" K! b$ k
Если я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.: L: E5 ?9 _0 H& _" l- `: \
7 |8 u" w. A1 G8 d3 ^1 [
Шаг 2:
7 A9 k. X: S5 U9 F) v" E3 M, m- O* I& X
- R3 Q7 S! r1 N. X9 VСледующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:4 y) {( C. q' n6 P7 _

6 m: q* C# L; Q1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест.
) P8 [! l2 i* SНапример:3 O9 t$ ~. z3 M( A7 N
8 s( Z6 u2 ~; p# V/ \2 y9 y# b
  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>;
    / U2 S' K5 I4 N% a1 o! U, m+ v
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:
8 {- S- d6 p+ F/ f  C8 ]( f$ ]5 W# p$ ?6 I1 e8 `
  1. /**
    8 q! f( O7 l: F, W$ n; X
  2. * @author NosBit
    , m4 Z. G& f1 U0 Y3 B
  3. */# G8 i8 }, _) J% l1 F1 R
  4. public class QuestMasterHandler3 k; v* R5 W; o" L- i* i
  5. {  A; _, |+ \) M! p& \
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());
    2 U) Y; s& P6 ~( Y
  7.         + ^1 w* V* O% [0 b! n* j% F/ C' I
  8.         private static final Class<?>[] QUESTS =; D8 T  H  B5 p3 }5 d" Y& w  B  u
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.
4 Q( D. V3 A; a9 [) w- X" p' d8 S* D( L% k  s
% `: Q/ x1 ?: c5 n5 k7 F' |
Шаг 3:
5 d6 X  u1 v7 T6 z0 g7 K% p3 R  ~# k) F. T- l5 `* ^, j& @4 }3 d
Файл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д. 5 V2 k* n# b& h! F/ J
Давайте разберем все поля на основе примера:4 `  Q( S& I4 @: f  t2 v+ j, i

4 ]* B* C( S, {- u4 Z0 I% L
  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
    9 N- ~: {* j, S7 Q$ 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 — завершение записи для квеста.
    3 R6 F3 s8 J. C, W% [' i
% N+ {% P$ U7 T

4 q3 ]* a* X* U9 D' e' k! f# CФайл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре.
) E0 V& K) G3 }3 Y# Y) }Пример соодержания  z. S/ }  c, Q0 X" ~. j
Вот описание структуры строки:' r" _- b7 ?" c$ _2 L# I# Z2 `$ Z8 c
  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
Скопировать код
Давайте разберем все поля на основе примера:3 F2 _( F* ]5 S0 j

! Z. d8 L5 x) \, j
  • 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: Указывает на конец записи о квесте.- J$ }: C" k1 m! i' E
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.
( {$ J' U: B+ L9 S, a9 \& v0 R# j# r$ B9 z, m6 Z& V8 ]0 t6 [
0 c  d- r- t! a; r
! G) _0 w" b  n* n. r) m5 h  p6 a+ s
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.- z% W8 c& @. B9 n5 }# @/ E
& l9 }. J1 W" i
Шаг 4
+ V( x' y. L8 k% v: rДля того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
0 q: \6 }! G# F2 p. Y- e& |Пример добавления нового квеста:
: }2 b: x* i% I. r
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">
      l7 `  e6 R  D" T
  2.     <locations>
    + P& j. @! J: w* U% i) r9 x7 q
  3.         <param name="startLocationId">2001</param>1 ?/ y  o. ~+ J' \2 ~! K3 n
  4.         <param name="endLocationId">2002</param>
    1 `- G4 f) m9 R' ?7 |6 E* N
  5.         <param name="questLocationId">2003</param>
    9 c* c4 s% o. V, P
  6.     </locations>
    . c' s* H( G0 Y3 _6 f& s$ M7 e
  7.     <conditions>
    ) F. {* Z+ G: t) h* X7 Q& I# X5 P
  8.         <param name="preQuestId">20000</param># q3 g1 W' C6 n2 Q: k8 W- M
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас --># G! Y9 H; p% h
  10.     </conditions>. m1 g1 v8 b# ]$ P) o: B4 r  a
  11.     <rewards>: L0 s6 ^' d5 l9 W- m" E8 i9 L
  12.         <param name="rewardLevel">50</param>$ @& L+ K( E$ h( D: K+ }
  13.         <param name="rewardSp">5000</param>
    - J* C7 S* Q9 w$ u/ V9 R& E4 Y
  14.         <param name="rewardItemId">57</param> <!-- Adena -->
    + U: m4 W. t  v" u
  15.         <param name="rewardItemCount">10000</param>! ~" t8 z$ b2 a0 }7 t) S; Y3 h
  16.     </rewards>
    ' Y0 W2 g2 e, v
  17.     <goals>. y! _& X4 c: ~5 r. l8 a1 M
  18.         <param name="goalCount">10</param>
    ) ~, l" m! C' G7 z6 q/ Q
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param>6 D5 a1 f- _* x8 D1 W* P$ `9 Z8 ~: i0 o& [
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->7 t( P4 q: N; K  V2 A
  21.         <param name="goalItemCount">1</param>
    ; b( B+ a% P! w
  22.     </goals>
    5 o* \: S4 {. v7 J7 k- @
  23. </quest>$ e8 _0 W& P9 S; `1 L
Скопировать код
Описание структуры:- M) @) H( T. ^! u6 f
  • quest: Основной элемент квеста, содержащий атрибуты:
    ' Y3 h4 F2 U" B3 Y
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается., F- L( \, t4 m. y
  • locations: Указывает места начала, окончания и квестовой активности.
    " P& ?+ o8 V, }9 {+ }6 b  B. t$ J
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.
      & `. R; [! ~% R( A& i
  • conditions: Условия для начала квеста.
    # ~4 m" z" l7 q" m$ A" u
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.9 s5 j* t1 ?" H3 F+ @/ c
  • rewards: Награды за выполнение квеста.1 }" O: Z, r( {7 t0 C1 V/ W4 y5 H$ h
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.5 q/ U) z8 Z4 G! }! @
  • goals: Цели квеста.* ?3 u& k3 z1 F# k
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели., d8 Z, }, y' r9 ~" L4 `$ ]
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.
8 D+ u- c) U  E# H0 E( J( z  @0 p6 h5 M- P" F5 `  N
Шаг 5
, A2 f2 `4 e9 Z0 E, jФайл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:4 }8 h- E! V7 E% P; ]
Структура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.
    3 \6 Q5 b2 T, M2 N& V4 A3 H% J

; A# C) d0 J8 E) {+ KПример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:
9 {. |, u: ]' r
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end
      r1 G  I7 d. E8 }/ E
Скопировать код
Разъяснение полей:
2 }4 s" K2 B# I5 o1 [6 o& A. g0 D
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).
    0 s6 b* s! }9 C- S" @$ E- j3 S4 U

2 Z9 G( y/ h9 t5 O# L6 e2 w$ _! R1 c6 E
Что можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.
    : N" T* O7 h# n" f& ^- w

( d1 k1 n- D0 l2 a5 V. s6 L) BФайл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:
0 ^8 v6 w! ]  L% o$ p* [! z
  D5 i7 G/ i) W; t0 L
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста.0 v% y8 O6 f3 @$ F; K2 G: K! I. @4 Y
    • 1 обычно означает стандартный квест.
      " G1 F' \, W: b; U
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста.
    . i0 N7 C8 v! U, q
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню.6 ^/ S1 V% V# C; A! I6 K0 u# c
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.
    + l! k; o. H0 K. g2 [  J
    • В данном случае он пустой {}, что означает, что нет предварительных требований.
      * i! V5 I6 ]" }! T. a
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.3 i* L) U& i- ]" T2 d9 P
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
      1 P5 e+ T, G7 J" ?6 O
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.  q/ r! Y5 M* g
    • В данном случае это предмет с ID 82948.
      0 }  J) x0 U+ \" {& M/ H; e
  • start_item=0: Предмет, который выдается при начале квеста.8 T/ d, [& Q( ]6 O: O
    • Значение 0 означает, что предмет не выдается.+ m) F; C4 L( u9 ^/ g& b$ {8 b) @) N
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.
    + R4 E# O9 v1 i. |& @) _
    • Это ID локации, где находится стартовый NPC.% ~7 n" D7 T3 I8 E. q9 _
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест./ F$ |' G. ?* E3 W
    • Это ID локации, где находится конечный NPC.
      " M4 K# ?7 [0 B- s8 Q6 P
  • quest_loc=1003: Основная локация выполнения квеста.4 @# S5 S6 d2 N. m) H
    • Это ID зоны, где нужно выполнять основные задачи.  l. V9 ^" M" \$ q: _* b. m% P
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.
    & S, d- C2 a/ m2 r3 K: `' I0 o8 ~
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.
      : T" ~, U# j% O) g' o7 g# Y
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).
    $ `) \6 {! D. R* Q- B
    • В данном случае нужно выполнить одно действие (1).
      0 T( t2 H' C+ N) g) R
  • reward_level=65535: Уровень, при котором можно получить награду.0 f7 @% _$ E# h- }1 Y
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда.
      1 D7 H  Q7 v' x4 u' a! ^, R& Y# r
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.
    % o; ~  ?4 {$ [& o$ d* U0 J" Y
    • В данном случае опыт не выдается.
      8 ]" B1 _3 C1 K. O$ q* y+ }( ^
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.6 g+ O1 h7 ~. r. W
    • Здесь тоже 0, значит, SP не выдаются.
      0 M' i5 b1 l1 x% J
  • reward_item={}: Наградные предметы.+ g9 I  v' z: _% E( Q+ P: }
    • В данном случае наградные предметы отсутствуют.
      2 B9 \- e( r4 e$ q0 `4 I
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.
$ |( C6 G+ y, c/ z6 z( z1 Z* K2 G
/ r0 a" B* `  P' k7 r; G) G1 I2 r2 f# R: f+ G: }6 K# }! C$ ?

7 V" H8 ?; z; C( \* r  y8 d' G1 m$ `# r; \/ a
8 o. ~1 u+ L( {1 i, |) o1 A. w
% d$ O- `. k# J0 x9 d. B" t
: E. Q  [& a5 x/ N9 N
0 B4 ~% u2 v$ ~% ~. t
( y4 Z8 O4 C+ I" {- ~3 O

8 X4 t3 E; `, r  W1 u; T
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

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

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

638638758

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

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

admin@artace.ru Онлайн

QR-код

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