Последний раз это сообщение было отредактировано Astraliya в 2024-10-20 11:24
5 H) x7 R( o: A+ Z+ {3 E2 Q# J, i
: R" h" }% ?( w/ P7 T% r3 D/ }+ F( LФайл NewQuestData-ru.dat является важным компонентом клиентской части Lineage 2, отвечающим за локализацию квестов, их отображение на русском языке, а также за их интеграцию с игровым процессом. Этот файл содержит информацию о квестах, такую как название, описание, цели, требования, награды и другие параметры, которые отображаются на клиенте игрока.
$ h* c: p1 l$ R3 t) P! z8 ?: CСтруктура файла NewQuestData-ru.datКаждая запись в файле состоит из нескольких полей, каждое из которых содержит важную информацию о квесте.
3 ~, D# M: T0 g q- g8 S% e: r: e3 c$ O% d/ F
Пример записи:
; a) J0 f- d- M4 K- newquestdata_begin quest_id=10020 quest_type=1 quest_name=[Попытка успокоить лес] quest_level={0;0} pre_quest={10019} class={2;3;5;6;8;9;12;13;14;16;17;20;21;23;24;27;28;30;33;34;36;37;40;41;43;46;48;51;52;55;57;127;128;129;130} quest_item=0 start_item=0 start_npc=33963 start_npc_loc=1015 end_npc=34505 end_npc_loc=1002 quest_loc=1020 goal_string=[Монстры на Холме Ветров ] goal_num=30 reward_level=76 reward_exp=0 reward_sp=84 reward_item={{57;240000}} newquestdata_end
5 |, d* ]& K% a- A! ], ~1 h( ^
Скопировать код Описание полей:
& A8 h% w. H/ S- newquestdata_begin — начало записи о квесте.
- quest_id=10020 — уникальный идентификатор квеста. Каждый квест на сервере имеет свой уникальный ID, который связывает его с другими файлами, такими как серверные скрипты или другие файлы локализации.
- quest_type=1 — тип квеста. Обычно используется значение 1 для стандартных квестов. Другие значения могут обозначать особые типы квестов (например, ежедневные или специальные события).
- quest_name=[Попытка успокоить лес] — название квеста, которое будет отображаться в клиенте игрока. В данном случае это "Попытка успокоить лес".
- quest_level={0;0} — минимальный и максимальный уровни для взятия квеста. Здесь указаны значения {0;0}, что может означать, что ограничений по уровню нет.
- pre_quest={10019} — идентификатор предварительного квеста. Это значит, что перед началом этого квеста игрок должен завершить другой квест с ID 10019. Если поле пустое, значит, предварительные условия отсутствуют.
- class={2;3;5;6;8;9...} — список классов, которые могут принять квест. Здесь указаны ID классов персонажей, которым доступен этот квест.
- quest_item=0 — это поле указывает на предмет, необходимый для начала квеста. В данном случае значение 0 означает, что для начала квеста не требуется никаких предметов.
- start_item=0 — предмет, который игрок получает в начале квеста. Значение 0 указывает на отсутствие предметов.
- start_npc=33963 — ID NPC, у которого игрок начинает квест. В данном случае это NPC с ID 33963.
- start_npc_loc=1015 — локация NPC, где начинается квест. Этот ID соответствует определённой локации на карте.
- end_npc=34505 — ID NPC, у которого игрок завершает квест. Это персонаж, к которому игрок должен вернуться после выполнения всех задач.
- end_npc_loc=1002 — локация завершения квеста.
- quest_loc=1020 — основное место выполнения квеста. Это может быть область, где находятся монстры или объекты, с которыми взаимодействует игрок.
- goal_string=[Монстры на Холме Ветров] — цель квеста, отображаемая в клиенте. Это строка, объясняющая игроку, что нужно сделать. В данном случае это "Убить монстров на Холме Ветров".
- goal_num=30 — количество целей. Например, игрок должен убить 30 монстров.
- reward_level=76 — минимальный уровень, при котором игрок получит награду. В данном случае это 76 уровень.
- reward_exp=0 — количество опыта, которое игрок получит за выполнение квеста. Здесь указано 0, что значит, что опыта за этот квест нет.
- reward_sp=84 — количество SP (Skill Points), которые игрок получит за выполнение квеста.
- reward_item={{57;240000}} — награда в виде предмета. Здесь игрок получит 240 000 аден (ID 57).
- newquestdata_end — конец записи о квесте.
9 g8 Q' N) p: S. S5 n6 j& U1 w 0 }- v; A x. q* E" _$ J! s# X
( g, b# [& ^4 _0 s4 t Пример добавления нового квеста в NewQuestData-ru.dat
4 a. N) |6 k% U! n! LДопустим, вы хотите создать новый квест, в котором игрок должен убить 15 волков и получить 50 000 аден. Вот как может выглядеть запись для этого квеста:6 x' p+ u# z" K* v& z1 p
- newquestdata_begin quest_id=10101 quest_type=1 quest_name=[Охота на волков] quest_level={10;20} pre_quest={} class={1;2;3;4;5;6} quest_item=0 start_item=0 start_npc=34001 start_npc_loc=1010 end_npc=34001 end_npc_loc=1010 quest_loc=1020 goal_string=[Убить волков в лесу] goal_num=15 reward_level=10 reward_exp=0 reward_sp=100 reward_item={{57;50000}} newquestdata_end. w% G; j: a1 h/ @ |4 e# `5 T! S
Скопировать код Пояснение:
: B1 }$ Y& w* H- K- quest_id=10101 — уникальный ID нового квеста.
- quest_name=[Охота на волков] — название квеста "Охота на волков".
- quest_level={10;20} — игроки уровня от 10 до 20 могут принять этот квест.
- start_npc=34001 — NPC, у которого начинается квест.
- goal_string=[Убить волков в лесу] — цель квеста — убить волков.
- goal_num=15 — необходимо убить 15 волков.
- reward_item={{57;50000}} — награда за выполнение — 50 000 аден." T! k K+ q) y1 l) e! P5 S9 a
Заключение
! k4 ~1 {/ _( f% {9 x6 r2 WФайл NewQuestData-ru.dat — это основа для локализации и отображения квестов в Lineage 2. Он делает квесты понятными для игроков, определяя цели, NPC, награды и условия. Теперь, зная структуру этого файла, вы можете легко создавать свои собственные квесты, добавляя уникальные задания и награды на сервере.
- [2 u- {9 D' L/ q2 i d& VИ небольшой совет напоследок: если при создании нового квеста ваш NPC решит не разговаривать с игроками, не паникуйте! Просто посмотрите в файл и убедитесь, что не забыли указать ID или случайно не сделали его слишком застенчивым. Ведь даже виртуальным героям иногда требуется хороший мотивационный толчок… в виде кода!
% V: l( _9 b5 Y+ \Так что, если вдруг ваш квест отказывается работать, просто помните: всегда есть шанс, что NPC просто ушёл на перерыв, а не вы забыли запятую. ?
9 b# S$ E: ]' V7 H+ K$ V7 g3 Y6 @- D$ T
Файл для правки декомпилированного NewQuestData-ru.dat5 a- c1 Q( k8 W( X5 D. b2 l
- a% ?2 T, a2 _+ h( n0 d% A4 D1 `Скачать Exel таблицу для редоктирования dat: 2 w4 a. T: r# L- l: ^: ]1 {+ W
# s$ Z$ ~3 d3 ?4 O- N, ^! z# J$ e- y# L" M
. K: [/ E) I5 D# x7 I; y
" l0 @+ c3 o) J8 S0 i
/ T' \: m9 w! x4 U- V: N6 B
$ B% s7 @# b+ n, z
9 I8 I, y O/ g( n: G) b% M
3 S/ l; Q) D" q* k* a& U K
, d% \$ L2 U( ~% h( o |
|