Top.Mail.Ru

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

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

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

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

x
Сборка: L2l_Monius
7 u# G3 `: R: H* Z1 x' [Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.4 q$ F( ?& C' ^9 R. y( a

" t9 o) s! u) z# o. F) b7 C
: u: _% s1 [) U& i; E, r% a
Иди и убей X монстров / Возвращение - награда.7 r7 J6 z2 l" V1 d
Q00529_RegularBarrierMaintenance
# j% w' v8 i* W
2 q  I1 |2 t1 o4 R; G) B3 r" lПолучите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.* N! ]8 d9 L4 D6 r  E
Q00683_AdventOfKrofinSubspecies
: S6 T4 r! \( S8 S3 n5 b" `' U$ G6 X$ o% r% H
Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.) W( _/ E  h+ _0 a2 s9 G; V# _* r
Q10516_UnveiledFafurionTemple4 y6 I, Q4 b3 e, T! v

5 s5 _& w) e! p1 ~4 {8 K; q5 MУбейте X монстров, а также соберите X предметов / Возврат - награда.
, D* e( b, ?4 o; k( WQ10517_FafurionsMinions( T, Y8 e' C9 u" u' h. f7 y. y) ~
+ G$ i5 a* e" e0 t
Иди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.* V% ^* o# u( m9 s. V
Q10529_IvoryTowersResearchFloatingSeaJournal( M% q0 i/ c- q  P2 a. g( j% r8 a

2 N8 h. k, b2 I+ @, i3 aИди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда./ S8 j" A5 u2 A1 w- V% |8 o
Q10518_SucceedingThePriestess
) y! b* h; _# ^* Y8 B8 j% v$ _- |3 C5 L
Участвуйте в убийстве рейдбосса / Возврат - награда.. y5 _! ~. L! x: C% z8 d# R" Y! d. t
Q10519_контролирование вашей температуры7 e. J; w7 [2 a8 l; j7 N; \

1 |+ c2 Y) s$ v! v/ UПоговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.8 e! M# I) q) N: ~2 Q" M8 `6 a
Q10533_OrfensAmbition% W4 L/ v0 v8 F  }4 w, Y4 |
) Y( e. ~6 u) {* u2 h  O0 J2 ^
7 |' B3 w+ M9 F; Y3 Z
# r5 l  W6 V5 v/ p6 v6 _0 J& k* {
Руководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!
% U/ g1 f( [6 K' _! h4 M

0 ?  \/ q( u5 ^; DШаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".
# G" E' V1 S$ d7 Z3 U- ~4 m
1 T- R' r" I' k' m' ]Шаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
, L" Z) ~, ]: @( I! U  j9 S/ T2 f% ^
9 [4 p# g/ G- O" I! G" X& W* |7 ?Шаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".
( X4 P5 d: C! d1 S" D1 u' y4 {+ k
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.& N6 C7 d5 m1 z+ }0 ]9 Q

0 ~, N$ f9 c6 l' c2 @7 K) g, |Шаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест./ c3 M$ \; ?9 S- @9 c, n) `
2 U. K) e: ^* o2 U2 Y( v
Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".
  V4 y7 h" v9 P6 h
$ Y/ O0 M2 H, S4 kЕсли я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.
0 v4 n7 m3 o9 @0 i" T6 W7 ]2 q- U6 D" E8 C
Шаг 2:
1 {5 O5 v9 p' h+ k+ k5 b; F* [" L, a7 Q6 B/ \3 d% \
Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:8 P5 Z  k- F% z; S( N: T
3 Z/ d/ ]8 n; y8 v* |) b
1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест.
% ]% P1 I, W$ ^* rНапример:) T4 H- K" B4 R

0 X: J' ^- p0 [- X) ~; c
  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>;
    1 ^. C1 Q+ I: G+ `7 C7 I. u
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:
  ?; A: e9 y- ?7 L: f* S
( I9 X' X8 |7 ?1 \& ]3 V3 Q
  1. /**
    ! e# R' V0 B# g3 ]) u8 G6 _
  2. * @author NosBit
    0 X/ n: S! f) d* `: |2 e7 f. }
  3. */) a  `% n/ ?# R+ y7 b
  4. public class QuestMasterHandler# `: B9 G; g# @" x! ^$ L
  5. {  K3 `) Y/ t! \' G
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());1 ^' H) n1 \( {
  7.         
    0 ^4 y( l/ o8 i4 Y% t. J% Y
  8.         private static final Class<?>[] QUESTS =% z$ G5 E: `. {2 D) M. n
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.
2 P" m  T& p" f4 {
2 M: x8 {8 B* n0 b/ ~4 ]# N+ S$ L& ]4 B" Q# g/ g; Y
Шаг 3:
. x+ |( z7 b5 H
7 s, G! [# |. l: @2 yФайл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д.
7 J* Q  l8 R* e* x1 _Давайте разберем все поля на основе примера:. e; M. V" k; n1 X) C0 b8 \
% p) N0 G* l  }3 j
  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
    - m5 Y* d& \' @' j  I% K3 ?% P
Скопировать код
Поля данных:
  • 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 — завершение записи для квеста.
    2 H  M/ f4 K7 c, H
) q( u/ z5 ?* \8 Y6 I
; o! N9 S$ {' Y: \  v" X% E3 q
Файл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре. ) ~3 Z$ M9 r: u# ]- p# H  C
Пример соодержания
+ \# p/ E8 a! c6 i4 [Вот описание структуры строки:2 u$ \- Z- M$ `% ~; ^9 t# J
  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
Скопировать код
Давайте разберем все поля на основе примера:* n  B" |, u8 o/ C" R0 l& E

- v! r3 p4 W0 l+ \! v$ X! [
  • 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: Указывает на конец записи о квесте.; P# C# F) T* Z9 K1 O& C
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC./ L4 ^" A5 C4 O3 B( u$ z
: m: N) U8 O: ]

6 E/ k2 y1 f+ }9 g2 d; v* f
# T8 b! G+ t6 {7 U& B$ V" E* d
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
; X+ Q) e  M8 R6 Q8 ]2 z! u2 j9 G+ s3 i6 j& N9 ^  g; m
Шаг 4
. v" J$ F6 U  a2 ~9 r  F9 m  x2 KДля того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
4 P7 b, ^  S- k+ g* N, MПример добавления нового квеста:! W# A2 Q2 M* _1 [) b, F) \
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">$ |5 H) h9 G$ Z. j% e4 z
  2.     <locations>
    0 V8 q6 }' {6 v7 I; g& C
  3.         <param name="startLocationId">2001</param>
    3 N/ h) D" z# ~/ ~
  4.         <param name="endLocationId">2002</param>9 O+ r! Y3 a  Z3 k& g2 d
  5.         <param name="questLocationId">2003</param>
    & X; s( m# h2 \4 p2 e4 ~, _7 j" W
  6.     </locations>; @5 ~: B  o6 @. {( U: G( S
  7.     <conditions>; c6 E5 B: {8 X# ]8 M
  8.         <param name="preQuestId">20000</param>2 b2 C  C( C8 r3 A
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->' y' k/ B- ~+ B/ i, j/ {& ?! _
  10.     </conditions>
    : Y3 }  P7 [7 F) m# `6 r* y& v
  11.     <rewards>
    $ m4 V1 f+ H/ R' F3 C7 P/ C
  12.         <param name="rewardLevel">50</param>& L- X% s, s; G7 G- k- V; O8 l
  13.         <param name="rewardSp">5000</param>
    2 A& _, B+ _3 U3 c6 K
  14.         <param name="rewardItemId">57</param> <!-- Adena -->
    ; x  K; h9 X; i# c" H3 o
  15.         <param name="rewardItemCount">10000</param>; H5 u% s/ [- q+ [" c" V
  16.     </rewards>* \' {; w; T* z: M- O; Y* {
  17.     <goals>
    - S1 V# E& f& u7 m# W1 a( J
  18.         <param name="goalCount">10</param>& H0 N0 }& N0 h4 D. j6 x* r
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param>7 ^/ `- I2 [! g0 W0 H' W$ M/ W# G
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->
    : t( M+ v  ~. i2 a- R
  21.         <param name="goalItemCount">1</param>9 F5 V8 ]7 M- ^7 F( E1 b* V
  22.     </goals>
    & F. o# o: c2 z" o+ r
  23. </quest>% q6 g" x7 i) g2 ~" ?5 c
Скопировать код
Описание структуры:
& A4 d5 ?3 U" A  ^
  • quest: Основной элемент квеста, содержащий атрибуты:
    ) A$ q$ m2 M& T  y9 E. Z
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается.6 j: {- ^) k- W0 v& R% P1 P
  • locations: Указывает места начала, окончания и квестовой активности.# U; o* y( K" R: P
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.
      ' @. T6 F  b" k( }, X
  • conditions: Условия для начала квеста.& O8 l% O. i3 A! c/ b4 ^
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.
        R! j! B; ^! c1 i1 W
  • rewards: Награды за выполнение квеста.
    * Y' q! R' z) x
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.9 b& |5 P7 }# J/ Y( q
  • goals: Цели квеста.
    4 o, d- d: P0 \" [
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели.* s, K* ]' E9 F  x2 E
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу., c* {+ T; z$ Q. X7 @! ?: ~3 K
8 F- ~" D& t, x- k* e& U8 `6 v
Шаг 5" h& k+ d$ o3 J! {" B
Файл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:, l& a+ X( b' I+ f
Структура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.+ f7 x( l4 ?3 }3 v7 f2 K
1 r$ H8 t& Z! h3 v
Пример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:
! W$ F2 R* f5 d# s' A! ?
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end& K7 Z, ?6 I' w: V3 D
Скопировать код
Разъяснение полей:! b1 l; |. ~/ S- M4 w4 v* z, D8 L: t
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).; W1 ?& T2 E4 \( S, P! n9 a9 p# m2 a

. Z) g! l- B  n/ F* W# ~  E3 |2 O5 v! ^6 Z' W: S
Что можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.2 {- F2 [" |! b. H7 j9 Z

7 J5 d/ @. |: tФайл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:
' e/ U( L  R  S: s, {5 j+ B, v* k
0 X4 b% I; f4 M% M! s0 C: q( O3 C% B" u
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста.' y+ U* S9 W% n! r
    • 1 обычно означает стандартный квест.9 }" H0 r3 M- `; i6 A. |: f9 s
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста./ N3 k4 Z4 e, K! r8 `1 z5 M' a
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню.
      ) U0 z; b( @: ^9 Z& o
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.  k( r# N$ e  D6 r
    • В данном случае он пустой {}, что означает, что нет предварительных требований.
      3 T. _/ g4 p4 {  a" t9 U) m7 Z
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.
    5 ]% b3 t0 v( m# G8 F3 n
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.) N+ b1 l( q2 D& W+ l- ~% V8 \
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.
    $ m/ O# P0 R% d2 l- O# l
    • В данном случае это предмет с ID 82948.+ I' G" s) w3 H: Z' h' q
  • start_item=0: Предмет, который выдается при начале квеста.
    2 W; N/ B7 l) i6 o8 q+ m
    • Значение 0 означает, что предмет не выдается.
      ( [& e; o, X' [6 H& f
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.
    3 a# f* J% j& c. [2 `( G
    • Это ID локации, где находится стартовый NPC.1 G8 L2 p- u9 e; b6 A% Z6 C
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест.
    # S6 ]* k( |2 I. q/ j
    • Это ID локации, где находится конечный NPC.3 o1 v+ q6 A& t8 D9 o
  • quest_loc=1003: Основная локация выполнения квеста.
    / Y  e" u2 r: M- |7 ^
    • Это ID зоны, где нужно выполнять основные задачи.
      - Z: p- }; E6 W- A. u& s
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.
    ; m% ~+ H% u7 L# t
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.
        `+ @( T1 E' }& j
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).
    , n; F0 X0 Y2 Q
    • В данном случае нужно выполнить одно действие (1).
      / H: G' }/ `7 F
  • reward_level=65535: Уровень, при котором можно получить награду.$ P  M7 Q) Z' M
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда." M9 a; R7 {- S/ P3 X" w3 [
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.
      T; r* @- J3 i/ B; b
    • В данном случае опыт не выдается./ k# \' k! u. e" h% w
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.
    - `3 P* y. Z$ v# W
    • Здесь тоже 0, значит, SP не выдаются.
      " D$ f3 v% e" z- Q
  • reward_item={}: Наградные предметы.& L( p3 x- s5 G3 s# I
    • В данном случае наградные предметы отсутствуют.
      ! L; w) a, I2 @) ?
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.
& }- k/ }/ {. L4 |! T0 C
" n9 z0 m  J4 d. r1 Y4 |
0 s* B0 q' f( H4 U  {9 ?. h  N
7 S1 F5 @/ K: Z4 C7 K8 P. `: C) v$ c+ v
9 G. p6 f% Z) Z% F

- d$ x+ l$ S4 L5 w; f* Y5 {0 b( Q$ i: h1 w  x0 A/ I9 Z
  G  i  O6 R+ n" q) d2 a6 T

% t4 Q+ J' z5 K3 I8 Y6 ]3 b6 p9 m0 [* a: S" |
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

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

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

638638758

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

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

admin@artace.ru Онлайн

QR-код

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