Top.Mail.Ru

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

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

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

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

x
Сборка: L2l_Monius ; u9 }! u3 ^/ m7 s* Y2 E2 Q
Следующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.% u0 ?8 F+ x- o
& u: O5 c6 p5 |& {! M# y
; P$ i) T: |6 k$ O4 K$ q& f" l
Иди и убей X монстров / Возвращение - награда.. ^+ s0 @( J5 U8 [4 ]4 z8 l/ P
Q00529_RegularBarrierMaintenance
% H% M! k2 Y3 `1 E. E1 o4 t: h5 [' @7 w; ?* C
Получите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.
) Q4 v4 _' V( C  [- s+ {Q00683_AdventOfKrofinSubspecies0 N! c* _, J4 X. f/ @/ g
  z2 H  n$ i( W) K2 n, H' {- x: |
Поговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.2 m2 B$ F6 [) x: u
Q10516_UnveiledFafurionTemple
+ Y4 v8 i+ k( J  K3 p; h
& g; K+ [, b" J1 X( x! pУбейте X монстров, а также соберите X предметов / Возврат - награда.
0 v. w# I7 A4 ]* x; F+ wQ10517_FafurionsMinions
, w: M- c% o3 T$ O, b9 g8 Z- V/ d9 Q7 _/ q* Y
Иди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.
0 |0 W3 x3 e; D' @5 e, FQ10529_IvoryTowersResearchFloatingSeaJournal
9 e3 i6 M9 D7 J. k
0 Y9 w* G/ Q3 d, Y; r& _+ e2 ^Иди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.. U% d+ H9 x- ]. v
Q10518_SucceedingThePriestess6 C  H6 D. K6 x! y
, C: k  T9 R, u. O7 @, W
Участвуйте в убийстве рейдбосса / Возврат - награда.7 ?; h0 T' ], Y' f3 Y& G
Q10519_контролирование вашей температуры
  f5 y% m6 |# M& w! |8 ^4 e5 `- Y" {' W5 v
Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.
) [2 }( W& q) R( H1 {$ iQ10533_OrfensAmbition# V* g' e6 j9 L' }
% S% T; Z8 |' i' |9 t0 d
# n0 O) N" c& f9 h/ d
- D: M! J! ?+ e* o8 r
Руководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!
# ^" B+ e* |" D$ o

) n/ S4 C3 g% G8 G1 o  k! o! W8 VШаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".
' j6 E7 v! E# T& U1 Q. b7 D* T! Z! m( H" O9 n- e0 ]! w5 v3 O# Z4 ]
Шаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".
4 X$ g% s3 V; d' X6 A, [# Y
, H2 F& K8 [, M6 @, T7 TШаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat"." n& N; n2 L1 S* ]

- h( V( t: e- m# m# QСледующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
$ X% j* @/ _3 q' k) k8 r
' v# d- X  {9 T- y3 QШаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.% g0 ]% H- \" l  }, H" |

$ E5 m' \/ Y  ]6 U" b, ZШаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".4 _' C/ {0 e5 G  H) W& R! [

) e/ n- d* [* ~/ QЕсли я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.$ O5 t( O5 y0 I. a) Y5 o2 k: F+ _; R
* U  L8 }0 Q. J; E
Шаг 2:
/ D. H+ F- V/ {5 z) w+ q' m3 E: v$ C
Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:
% [8 U  z& l) _( v' n* Q1 H
3 m: ]$ l  H/ O  v1 H* h1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест.
) j: l9 z* B$ c9 r0 j' ~Например:
& {- r  K, ]7 N5 H* \; I" K* e  G" Y6 K
  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>;
    2 c3 E7 I  B2 d2 w# s& F+ L
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:+ p( N# x3 p( n

. T4 u$ ~% [9 \/ W* F% [
  1. /**( ~4 k0 r7 F; E' S% {( u/ `. g3 E( ?
  2. * @author NosBit
    ) ]* u+ S2 h, Y" `! i
  3. */
    - m- {+ w5 a) D$ |; }- ~) r
  4. public class QuestMasterHandler7 n( j. }5 H% m4 R4 ~
  5. {
    * y, y( A0 m5 a  N; B% o& F2 L  S
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());( I$ X0 @2 m' B  D/ M& c7 x: H
  7.         & q3 C& T4 o6 }
  8.         private static final Class<?>[] QUESTS =
    3 f1 E& P3 `* Q+ x- i
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.
, T! Q- N+ s6 T4 x2 H
. ^. |7 i; n  a9 r# O5 v/ n- j
) c6 M6 |, Y! gШаг 3:3 b6 f3 f1 {/ s2 b; b1 x" x

" F1 G( s9 A' i1 e7 c7 T7 |7 sФайл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д. ' h6 t# r9 D2 E2 z
Давайте разберем все поля на основе примера:
. [' |0 \( F: X. c9 z0 O. F- M- _0 p4 Q. h& o& `8 r
  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+ W) c$ M& j' l/ h. s- z# E2 N( x
Скопировать код
Поля данных:
  • 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 — завершение записи для квеста.
    ( q- j2 a, z3 X0 X, V

+ ^: A5 y0 A! p' `' H& u* ^( l& V8 n. S0 e3 [9 U7 @
Файл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре. 6 Q' H, P) ~& h
Пример соодержания
+ s6 y( l: G  B/ I- Y# p) WВот описание структуры строки:
( ?1 J# U6 ^* h/ P4 G2 u( V
  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
Скопировать код
Давайте разберем все поля на основе примера:
2 z+ q$ q/ m' a: E# R7 J4 E& i* \! b& [9 K7 `
  • 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: Указывает на конец записи о квесте.+ Y& v, f# }' Z7 P7 m3 G
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC., ^: Y/ R8 J" ?2 ^- O4 ]' }- b5 o
% \+ d! g: }" r# N0 K2 U* ~! {

6 n0 N. Q3 Y  p6 f" ^3 D$ }
4 S1 e3 ?, O  f6 E# P
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.' R# ~6 C- ]3 C1 d$ g

8 j- }) _- H4 h" c+ [0 dШаг 49 X( J, q8 }- `& v" ?. e, l
Для того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:
7 B- I7 H( Q) NПример добавления нового квеста:
6 v% @3 x; C4 k( v" m' }
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">( D: a- V6 k  r, r) m) B  y8 H0 F
  2.     <locations>
    ( T% S/ u4 i$ d, \
  3.         <param name="startLocationId">2001</param>
    $ o+ Y9 h" V" `7 _/ W: T
  4.         <param name="endLocationId">2002</param>
    7 u" f9 h7 L. ^8 H# S6 q) G
  5.         <param name="questLocationId">2003</param>/ e, t; O3 d9 P2 u
  6.     </locations>
    ! H- T: {4 W' {+ V6 o9 {
  7.     <conditions>8 V( L" h& k* o& t, J) `9 W8 o7 d
  8.         <param name="preQuestId">20000</param>; W; j6 L4 t- r8 F0 _& {
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->
    * _; X/ S8 |) }9 X& q& l/ w2 @5 O
  10.     </conditions>
    6 h& x5 l9 J% a9 T: X
  11.     <rewards>+ }: Y9 a. S/ A: x  c5 c% m, k
  12.         <param name="rewardLevel">50</param># ^/ K. H: E. Y$ h: H1 p0 S
  13.         <param name="rewardSp">5000</param>* ~3 A) Z, b: i+ R! O% R
  14.         <param name="rewardItemId">57</param> <!-- Adena -->
    ! Y  U7 L) C4 j: e
  15.         <param name="rewardItemCount">10000</param>. R/ A( a5 L" X' i
  16.     </rewards>
    0 ^5 G9 h2 }5 z' `( s- P
  17.     <goals># ?! u$ ^* h6 K4 M! V6 l$ ?
  18.         <param name="goalCount">10</param>% c0 W! w6 [( n) Y% `
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param>
    # q* z9 {! m9 r$ X, U; P- }
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->
    9 U% w3 J7 G2 y
  21.         <param name="goalItemCount">1</param>  P, L0 d' ]2 e9 t8 `0 [  g
  22.     </goals>
    ) i: @2 u5 _4 i8 m
  23. </quest>6 ^+ }* f$ z5 a0 }2 T1 e) r
Скопировать код
Описание структуры:
. `* h. ^. x; t8 {
  • quest: Основной элемент квеста, содержащий атрибуты:; A# B) F- Q  O& A1 n
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается.* ^4 n; S) A: M3 Z/ J( [
  • locations: Указывает места начала, окончания и квестовой активности.6 V/ F7 p# o; C
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.+ g+ Q, \1 P$ d  D
  • conditions: Условия для начала квеста.2 h- m- G( L8 a3 v2 D8 z4 h4 b1 q
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.3 t; J7 U* A# @  Z5 h9 G' H
  • rewards: Награды за выполнение квеста.
    ( n) ]' Z1 e: p3 V5 V3 b8 G5 R/ k
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.
      5 h% B) b! \! _# I
  • goals: Цели квеста.
    5 w0 N5 _0 |8 l4 L& s
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели.% b3 U/ V2 C) C* M1 v& G; _
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.
) f! R, S; R& K- S
% C. H6 z/ t+ [: a$ d% }( O5 KШаг 5
3 `  L5 L; U, g) Z- KФайл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:
0 r' c* ?1 Y/ S' Z, c' t/ ]) j1 }6 MСтруктура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.. f+ P+ i2 ~0 y7 T4 c1 }

! T( F# k( c( k+ LПример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:, P' q. M/ z" Y+ _
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end
    7 p4 {: v  w! \! K/ o7 H
Скопировать код
Разъяснение полей:
6 }- }4 A. w4 _5 y
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).
    * W0 w* w, U, }; n

3 O) A; s) R9 M& }5 B% q0 C+ ~% `9 O& \5 A2 k, K$ B
Что можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.
      E  J7 M; ^: P4 D
- h! D6 o& ]" a) y0 J5 D
Файл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:
3 p8 o7 R6 S7 j
! q. l6 i) e9 j( H1 a6 y+ E5 z3 i
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста.& s1 X# r) U9 v% H5 e3 _( Z) b
    • 1 обычно означает стандартный квест.
      * G- t$ _, n$ p0 v! o  H
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста.
    4 h7 H- z  x" k" h8 O$ e) z1 `
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню.% L5 b- n4 d, |3 D, Y
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.
    ) L: [. X& ~$ A0 \; D) o( {7 o. d2 Y
    • В данном случае он пустой {}, что означает, что нет предварительных требований.
      9 M/ K* n4 `( _1 ^3 n  s0 F
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.2 Z) U) m. H& h, n
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
      ) Z& \- J$ X" x5 D) w5 f# ^4 c
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.0 N9 `) v* P/ ^% d- ]3 W! ~
    • В данном случае это предмет с ID 82948.4 R7 J  t% P3 T, q# i+ f
  • start_item=0: Предмет, который выдается при начале квеста.) [1 ^" g* h" c' a
    • Значение 0 означает, что предмет не выдается.
      , b# S( T$ H: ]. `4 l0 k, x0 I
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.: p+ R: V5 K( g4 U* L
    • Это ID локации, где находится стартовый NPC.
        }& {- h5 p) G/ C/ F
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест.2 x% c! q/ b  ?. y
    • Это ID локации, где находится конечный NPC.6 p0 W) ?7 i& J# R; D
  • quest_loc=1003: Основная локация выполнения квеста.
    6 e2 e6 s5 c) h3 q% J- Z1 w3 n
    • Это ID зоны, где нужно выполнять основные задачи.
      4 W) Y! N! l0 x2 L% {  D3 D
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.8 L3 p: y6 S. @# a9 `  o; ?
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.9 x! G/ R' G. O  ~2 Z. ~% f
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).3 m: g9 W2 v  f1 z
    • В данном случае нужно выполнить одно действие (1).8 H* E! Q; X$ t: r( p
  • reward_level=65535: Уровень, при котором можно получить награду.- G" ~" K. {, e
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда.- s, H; z1 G2 d5 P
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.3 U& V' R  @1 u$ H* E+ T
    • В данном случае опыт не выдается.# _" ~* `: Z+ E
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.) b8 i- V  a( `% O1 \& v
    • Здесь тоже 0, значит, SP не выдаются., l: F5 P2 G  [% `0 G% m& S
  • reward_item={}: Наградные предметы.7 `+ ~% j7 i1 w5 o
    • В данном случае наградные предметы отсутствуют.1 _( p. n' G; t# ~/ S  i" s
Этот файл определяет основной функционал и настройки для конкретного квеста в игре./ T4 h& `# v1 P/ {, k
/ Y2 _* q" P* |2 w* ~9 e
! M' f' G6 N, z: h  t6 F5 w# K7 h; w
# ~' O0 e' o: V1 {5 P4 `$ \1 `! c& i
" r$ @# X1 c8 W) J  ^/ E6 R
: }& `7 W& G! w0 b0 z/ t. K

  ?& {1 N# s* m3 e# A$ d
+ }1 N) _, T. h& }1 y2 ~5 s+ E2 d4 j# t7 `7 v

' S% h! M9 I% d( J( j! c0 ?8 Y! i0 S* S7 `; B
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

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

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

638638758

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

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

admin@artace.ru Онлайн

QR-код

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