Top.Mail.Ru

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

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

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

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

x
Сборка: L2l_Monius
; o: w+ t+ h" U2 j. o/ D/ e# j3 jСледующие квесты можно использовать в качестве шаблонов для создания практически любого простого квеста go kill или go talk.
+ t7 g  I% x- \/ @- P
( I( F8 y( U4 n% A% q4 R9 z
! p6 L! R3 f, H1 q) P% `* y
Иди и убей X монстров / Возвращение - награда.
( z2 U3 v$ e$ i4 LQ00529_RegularBarrierMaintenance) T" s3 i5 K5 R/ ^& [8 c

" T- Z; P5 ^+ ?; C' ?3 zПолучите квест от любого из двух разных NPC / Убейте X монстров / Вернитесь с наградой.
5 L$ ^* M, G8 pQ00683_AdventOfKrofinSubspecies0 A4 S8 @5 N& ~3 p1 n1 Q

2 E. e6 ^- |) n: hПоговори с NPC 1 / Поговори с NPC 2 / Поговори с завершающим NPC / Награда.
" I& r& Q8 H0 \/ zQ10516_UnveiledFafurionTemple
* O6 O( z2 P: }% T( i* X" R3 d
0 k# C: _$ u% G" Q7 JУбейте X монстров, а также соберите X предметов / Возврат - награда., m- z  k4 {3 [" U& A: K
Q10517_FafurionsMinions- z6 y! N6 Z. Y

5 b9 `+ E* a6 f0 u5 [Иди собери X капель монстров / Вернись - убей X монстров / Вернись - награда.* J" C! {- g2 y& {3 y- q
Q10529_IvoryTowersResearchFloatingSeaJournal
! e" O' T6 J. c9 d8 D4 p- i4 N3 f( k% r) r& h2 m% c6 A; U* \
Иди убей X монстров, а также собери X предметов / Возвращение - иди собери X предметов / Возвращение - награда.
# c: P. N8 K! a$ }' sQ10518_SucceedingThePriestess
. @& n7 r, M. X7 b+ [
3 \! o* f5 ~4 G4 ?! i' XУчаствуйте в убийстве рейдбосса / Возврат - награда.
: {8 b& P$ v3 ~2 E/ ~$ aQ10519_контролирование вашей температуры
# F) y) q3 H* {8 u( y9 ?% S& w* V/ l5 f7 Y
Поговорите с NPC 1 / Примите участие в убийстве рейдбосса / Возвращение - награда.
! H; q& M. w& u1 B% tQ10533_OrfensAmbition8 C# d# b6 F1 A% ?
, C( S. E# N, W! Y  z
, I6 M0 v% r' g% @$ _; |4 ?' D+ Z
9 a4 O* B6 I7 y9 p$ |+ P0 `
Руководство требует обновления. И, к сожалению, с самыми последними хрониками вы не сможете избежать модификаций клиента. Поэтому, исключительно в образовательных целях, я предлагаю свой опыт по добавлению нового квеста!

: Y& }, X% X* H+ ?; a: \3 I( s5 e5 B  h: D& I; c- W
Шаг 1:
Создайте свой квест с уникальным ID. В этом примере я буду ссылаться на квест как "Q98765_NewQuest".
" {3 Q  S+ a* J9 ]  L
( r2 `( d! i7 k2 [4 uШаг 2: Когда вы успешно создали свой квест и Eclipse не выдает ошибок, добавьте название квеста и импортируйте его в файл "QuestMasterHandler.java".2 @9 R9 |' T; h& i

) y) M- _" X4 Y" RШаг 3: Перейдите в клиент и с помощью редактора клиента добавьте квест в следующие файлы .dat: "questname-ru.dat" и "QuestMarkConditionData.dat".8 Y1 v0 K9 }2 S7 U2 o% [
; ~- a4 M8 v( M2 I6 r
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.) Q) j3 I1 ^- Z! `0 P* D4 O5 O
% F( T* c0 P! {. _0 o' R" _1 v
Шаг 4: Найдите в серверных файлах файл с названием "NewQuestData.xml" и добавьте туда свой квест.
3 ~% ^+ o: l/ `% Q
. D9 p. v5 ~+ f% b) w1 d7 z- h; `Шаг 5: Найдите в клиенте следующие файлы и добавьте туда свой квест: "NewQuestData-ru.dat", "NewQuestDialog-ru.dat" и "NewQuestNpcPortrait.dat".; G6 y. I, i( O6 S- x. m- R

5 Y7 p1 P1 x( x5 W% @7 f4 EЕсли я что-то забыл, не стесняйтесь исправить меня. Это руководство создано исключительно в образовательных целях.
# o, Z6 i- {. |% P3 ]1 Z9 ]! f
- v6 v+ d+ z/ n# [Шаг 2:7 P: w- u& y% J( m+ t
  J8 [3 a3 G1 Y# N, t* q
Следующий шаг заключается в добавлении вашего квеста в QuestMasterHandler.java. Вот общий план:
% ]. ]/ g- g" t
, b& H8 V& L7 r; Y1. Импорт вашего квеста: В начале файла после всех существующих импортов добавьте строку, которая будет импортировать ваш квест.
- \, `6 a& D  U/ D& lНапример:
( |. r% T% `" e8 v# q  C( N* H- X& ~& T6 O4 y; ^. o9 Y4 F. [8 o
  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>;
    ( ]( ]" w, U1 m+ J" a" G
Скопировать код
1. Регистрация квеста: Найдите метод, который отвечает за регистрацию всех квестов. Обычно это делается в статическом блоке или методе init, где происходит инициализация квестов. В этом блоке добавьте строку, которая будет регистрировать ваш квест:% a  T3 @3 J: Y8 C$ S

% C9 j9 P# i3 Z0 Y% C* I
  1. /**
    3 ~7 ]4 I# i% P1 u8 }2 S; Q* |
  2. * @author NosBit
    6 t- q4 `3 Z! e! s) K- F
  3. */
    6 b; h( ]2 w6 ~
  4. public class QuestMasterHandler( L9 |; m# u* |' I$ p% F/ }
  5. {
    : B# G" R0 V6 L$ b4 ?5 `
  6.         private static final Logger LOGGER = Logger.getLogger(QuestMasterHandler.class.getName());; q: z# m7 s4 m$ @. Y
  7.         
    . q: K" G: v4 ?& r, Z7 L) E
  8.         private static final Class<?>[] QUESTS =
    " D( w+ b' Z: ^
  9.         {
Скопировать код
Проверка: Убедитесь, что идентификатор вашего квеста (в данном случае Q98765_NewQuest.class) уникален и не конфликтует с уже существующими квестами.8 I6 c1 B0 G6 p* ?, V/ q
, [% I- W% Q2 g- R# r/ b

& `0 d: [7 |. u+ ~. xШаг 3:1 R' X/ S4 N  O
5 y- I% e1 k9 i' v) ?
Файл QuestName-ru.dat используется для описания квестов и содержит различные параметры, которые задают характеристики квеста, его цели, награды, ограничения и т.д.
- I& I$ [" x0 X1 SДавайте разберем все поля на основе примера:& l4 n8 Q/ U' ?# e% a  @9 P7 Y
+ G/ \* i$ P; O0 e1 ^
  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_end5 L: i! G  {. s1 y$ e
Скопировать код
Поля данных:
  • 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/ u5 q9 w1 k8 ~7 `7 _3 |

# m# u' A0 P3 U6 t* R. y. N% z0 Q: Z8 v* Z% v: ]3 N# B5 \- b0 O
Файл клиента QuestMarkConditionData.dat содержит информацию о квестах, связанных с условиями, необходимыми для активации или завершения определённых действий в игре. ! M& b& H% n# i: H
Пример соодержания4 `1 O0 m5 _+ @3 {1 z
Вот описание структуры строки:  L& N+ W) a  t7 `5 g. s
  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
Скопировать код
Давайте разберем все поля на основе примера:/ L+ {1 L5 u4 ?8 M
% U' a; X9 U8 ]3 f& A+ Z
  • 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: Указывает на конец записи о квесте.
    4 Y5 r! |9 _4 M; k
Эта структура помогает клиенту определять условия, при которых игрок может начать или выполнить квест, а также идентифицировать необходимые взаимодействия с NPC.
- U& _6 e3 @1 |+ K; |8 N
& m/ g! n, k9 \7 y3 z4 r% Y% |6 L7 K3 l5 n$ e
# L/ z1 b$ L6 c+ |+ V) t5 u
Следующие шаги относятся к любым новым хроникам, которые используют всплывающие окна квестов.
5 `" p$ o& c* a0 ?
3 P& ?, I: e& MШаг 4
" g; ]& h4 K7 r& G0 X  N$ RДля того чтобы добавить свой квест в файл NewQuestData.xml, нужно следовать структуре, аналогичной приведенному вами примеру. Вот как это может выглядеть:9 {6 O/ Z- z# Q/ a+ {1 L2 w1 O
Пример добавления нового квеста:
6 e  K8 [% r/ A
  1. <quest id="20001" type="1" name="Mystery of the Lost Relic" startNpcId="30050" endNpcId="30051">  F5 y5 |9 O+ d. `
  2.     <locations>& ^- o! v! U; e# J# k/ w2 R/ {
  3.         <param name="startLocationId">2001</param>2 W; W* ]$ j: _( J
  4.         <param name="endLocationId">2002</param>
    4 V% f9 |( Z1 r6 y
  5.         <param name="questLocationId">2003</param>! N8 }" Z5 t0 N) v1 k! y) k! U* Y
  6.     </locations># [: G3 Z' C; S9 m1 p7 A$ K
  7.     <conditions>
    ) @; V, q; r  J
  8.         <param name="preQuestId">20000</param>
    . ?1 c( M0 N+ C3 V8 w; f5 r
  9.         <param name="classIds">0;1;2;3;4;5;6</param> <!-- доступ для всех рас -->
    8 ]% H$ `$ j. o4 y1 g& z
  10.     </conditions>- A: ^' |5 I% S! ~( l9 h
  11.     <rewards>
    1 \8 R, R$ I4 ?0 p6 v; V, s
  12.         <param name="rewardLevel">50</param>
    % [6 ^6 Y" m* t" B0 x9 h
  13.         <param name="rewardSp">5000</param>+ @; B$ M4 j3 c3 B1 h7 P
  14.         <param name="rewardItemId">57</param> <!-- Adena -->
    + `3 e. r* [& W' P( t6 g
  15.         <param name="rewardItemCount">10000</param>! f# H/ x2 B9 B
  16.     </rewards>
    . S6 a" d7 o8 F9 y: _8 P# m
  17.     <goals>9 l2 ]$ R7 G$ i% R
  18.         <param name="goalCount">10</param>
    ! R$ G& o+ R' W2 @! I
  19.         <param name="goalString">Defeat monsters in the Ancient Forest</param># T: [# K! L6 O" K
  20.         <param name="goalItemId">92000</param> <!-- некий квестовый предмет -->
    ' t/ z: E% ~# E: z5 }2 X
  21.         <param name="goalItemCount">1</param>9 h! d$ z4 \. z( J! r
  22.     </goals>' x3 ~4 ^6 z& _# k
  23. </quest>
    7 v0 }+ p/ M* C. X' g  G" X+ A$ n
Скопировать код
Описание структуры:3 y( ]6 J- k; g- H
  • quest: Основной элемент квеста, содержащий атрибуты:
    , T3 I/ R% g2 @5 _# R
    • id: ID квеста, уникальный для каждого квеста.
    • type: Тип квеста (1 – обычный квест).
    • name: Название квеста.
    • startNpcId: ID NPC, с которого начинается квест.
    • endNpcId: ID NPC, у которого квест заканчивается.: m8 Y* V: a* P* q7 q' Q
  • locations: Указывает места начала, окончания и квестовой активности.
    & u( |9 I6 L- U* g
    • startLocationId: ID места, где начинается квест.
    • endLocationId: ID места, где квест заканчивается.
    • questLocationId: ID квестовой зоны.
      7 Q; y* ]1 r! j
  • conditions: Условия для начала квеста.
    ! n. w# I: L7 A; K8 V0 v
    • preQuestId: ID предварительного квеста (если есть).
    • classIds: ID классов или рас, которым доступен квест.) s' u/ d' a; h& U
  • rewards: Награды за выполнение квеста.+ e9 R  ]- z$ G" [6 @
    • rewardLevel: Минимальный уровень для получения награды.
    • rewardSp: Количество опыта (SP).
    • rewardItemId: ID предмета (например, Adena).
    • rewardItemCount: Количество предметов.
      ' @' L; \2 Y( o' \( p
  • goals: Цели квеста.
    # c) Q: ]( `' c5 B) l1 B
    • goalCount: Количество монстров, которых нужно убить или предметов, которые нужно собрать.
    • goalString: Описание цели.
    • goalItemId: ID квестового предмета (если требуется).
    • goalItemCount: Количество квестовых предметов для завершения цели.
      % D& N/ q* X- A& k
После того как вы добавите квест в файл NewQuestData.xml, нужно перезапустить сервер, чтобы изменения вступили в силу.; Z8 ^' ]$ x6 x8 H7 @9 P
/ h: o2 Q1 W; p6 J/ z1 a
Шаг 53 n7 Y. Y1 @1 X2 M4 @7 f( y) {1 f$ B
Файл NewQuestDialog-ru.dat используется для хранения диалогов, связанных с квестом. Он определяет тексты, которые отображаются в окнах диалогов с NPC во время выполнения квеста. Вот разбор ключевых элементов строки и структура файла:5 }2 h: P% L0 P! q2 j
Структура данных
  • NewQuestDialog_begin — начало записи квеста в файле диалогов.
  • QuestId=10001 — идентификатор квеста (должен соответствовать ID, который ты используешь в других файлах).
  • Text0=... — первый диалог, который обычно отображается при старте квеста.
  • Text1=... — дополнительный текст, который отображается на различных этапах квеста.
  • Text2=... — текст, который отображается после выполнения определенных действий (например, после выполнения части задания).
  • Text3=... — дополнительный диалог, например, при встрече с NPC на следующем этапе квеста.
  • Text4=... — финальный текст или инструкции по следующему шагу для игрока.
  • NewQuestDialog_end — завершение записи для этого квеста.: E6 u6 {. C0 z  D! e: o

/ j+ e4 I; W0 U! k8 ?Пример записи для нового квеста (ID 98765) Если ты хочешь создать диалоги для нового квеста с ID 98765, твой файл может выглядеть так:& H! a- A" x/ N% Z8 A$ e& J
  1. NewQuestDialog_begin        QuestId=98765        Text0=[Вы готовы принять новый вызов и доказать свою силу?]        Text1=[Как вы себя чувствуете? Вы выглядите уверенно. Это хороший знак, но не расслабляйтесь — впереди много испытаний. Примите это задание, если готовы.]        Text2=[Пора приступить к тренировкам. Идите за мной в тренировочную зону.]        Text3=[Следуйте моим указаниям, и вы раскроете весь свой потенциал.]        Text4=[Поговорите с Дарти. Кликните на него и начните диалог.]        NewQuestDialog_end" u& b- g- G' A* G* I4 @
Скопировать код
Разъяснение полей:
/ o6 }  ^, e- y9 X
  • QuestId=98765 — уникальный идентификатор нового квеста.
  • Text0 — вводный текст квеста. Отображается при первом контакте с NPC.
  • Text1 — дополнительный диалог, который дается игроку для создания контекста.
  • Text2 — текст, который отображается на следующем этапе квеста, например, после выполнения части задания.
  • Text3 — описание следующего шага или инструкции для игрока.
  • Text4 — финальный диалог или текст с указанием цели (встреча с другим NPC).
    ( U6 j% t& z7 Z8 m7 C
. F( R( Z+ J# g. Q

. N' Y7 T) B, Y% e5 VЧто можно изменить:
  • Тексты диалогов (Text0, Text1 и так далее) можно адаптировать под конкретные ситуации в квесте.
  • Количество текстов можно варьировать в зависимости от сложности квеста.
    + P( ~6 R' ~8 K) M: A- z

& X+ U" S7 H% f& EФайл NewQuestData-ru.dat содержит параметры, связанные с квестом в игре Lineage II, и описывает условия, NPC, цели и награды. Рассмотрим параметры этого файла:
8 V) v: J9 Q% h% _$ O5 u, `2 t% k( Y! U, H- a
  • newquestdata_begin / newquestdata_end: Эти параметры обозначают начало и конец блока данных квеста.
  • quest_id=10001: Уникальный идентификатор квеста (ID). В данном случае это квест с ID 10001.
  • quest_type=1: Тип квеста.# s% Y  m( [5 D
    • 1 обычно означает стандартный квест.) B3 |8 g% T, M$ F. o, I0 W
  • quest_name=[Новый путь]: Название квеста. Здесь указано "[Новый путь]" — это имя, отображаемое в игре.
  • quest_level={0;0}: Уровневые ограничения квеста.5 }" L/ Y7 \3 ]  R# S% K  U
    • Первое значение указывает минимальный уровень, второе — максимальный уровень.
    • {0;0} означает, что нет ограничений по уровню.
      1 a+ |* J% j; L" H8 B7 s, V
  • pre_quest={}: Предварительный квест, который нужно выполнить перед началом этого квеста.
    % d/ ]* u+ m; m/ s& |' d
    • В данном случае он пустой {}, что означает, что нет предварительных требований.
      7 e8 i9 |1 V* B$ z% w, z
  • class={0;10;18;25;31;38;44;49;53;123;124}: Классы или расы, которые могут брать квест.2 G9 {, C2 B) Q
    • Номера классов указывают на те классы, которым доступен этот квест. В данном примере классы, такие как 0 (человеки), 10 (рыцари) и другие, имеют доступ.
      + n7 `' f% p$ z
  • quest_item=82948: ID квестового предмета, необходимого для выполнения цели или этапа квеста.& k- s2 P8 T7 i% W- ~3 D
    • В данном случае это предмет с ID 82948.
      ! L* ]9 c4 L9 C: n( m* u
  • start_item=0: Предмет, который выдается при начале квеста.
    ) S' R# |6 `- R7 B' Z
    • Значение 0 означает, что предмет не выдается.  X6 Q9 {$ ~7 @% y; l
  • start_npc=34505: ID NPC, у которого начинается квест.
  • start_npc_loc=1002: Локация NPC, у которого начинается квест.
    ' X  i4 U, v0 A$ [  `" @, T
    • Это ID локации, где находится стартовый NPC.
      + o8 U5 i" K, e, R8 u- `8 t, g) h8 S
  • end_npc=34696: ID NPC, у которого завершается квест.
  • end_npc_loc=1003: Локация NPC, у которого завершается квест.
      I- y" V/ J0 L( p
    • Это ID локации, где находится конечный NPC.' k. T" f3 Y$ a! ^$ e" r$ h+ i
  • quest_loc=1003: Основная локация выполнения квеста.- Y7 T& _( Z! u- t  U
    • Это ID зоны, где нужно выполнять основные задачи.
      ( M9 m# A6 J' C$ l: [# R9 P1 r
  • goal_string=[Дарти (Зона Тренировки)]: Описание цели квеста.
    ' g/ a1 v6 d( a7 d4 U8 D: F+ `
    • В данном случае цель связана с персонажем по имени "Дарти" в Зоне Тренировки.
      3 @! O1 o3 y: p4 h" P
  • goal_num=1: Количество действий, необходимых для выполнения цели (например, убийств монстров или сбора предметов).$ Z  P2 e% n3 ~; g0 t& h1 `
    • В данном случае нужно выполнить одно действие (1).* @+ @' x+ v# X3 \
  • reward_level=65535: Уровень, при котором можно получить награду.
    ( V: ~% m$ z2 F9 Z% s
    • В данном случае это максимальное значение, указывающее, что награда доступна всегда.3 m- X1 x8 P( t9 P1 W0 W
  • reward_exp=0: Опыт (EXP), выдаваемый в качестве награды.8 o( B+ g' ?( u5 P5 V
    • В данном случае опыт не выдается.1 e; G+ U/ z) }) K1 ^0 \
  • reward_sp=0: Количество SP (Skill Points), выдаваемых в качестве награды.* S) Q' Y. N/ u- {
    • Здесь тоже 0, значит, SP не выдаются.$ F. M1 p8 N. O- P5 g! a2 V0 a
  • reward_item={}: Наградные предметы.
      i% g" B: v. x2 i
    • В данном случае наградные предметы отсутствуют.) J8 M* X/ j" c! T
Этот файл определяет основной функционал и настройки для конкретного квеста в игре.2 U; M8 V  Q0 t5 L- y
! O" u" O: `  r$ ~

0 g- t4 N5 T+ \+ e  o+ `" x; v% `4 a' Q' O1 ]0 d

0 A# h5 ~- V3 [  Z, d- ]" i6 {- t9 J1 K/ F

9 _5 X, ^+ P# X1 @% I( ]. G2 S! e3 z% K' r

& t% _' C& Y2 B( o6 U- C3 p' r  x. w6 h$ H  r
9 J: Y. c( {, s# E, c
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

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

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

638638758

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

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

admin@artace.ru Онлайн

QR-код

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