Последний раз это сообщение было отредактировано Astraliya в 2024-10-20 11:24 ; ]" ^% p& T+ K8 \; e- \
, o% c5 V0 k0 _) ~6 ?. a: i
Файл NewQuestData-ru.dat является важным компонентом клиентской части Lineage 2, отвечающим за локализацию квестов, их отображение на русском языке, а также за их интеграцию с игровым процессом. Этот файл содержит информацию о квестах, такую как название, описание, цели, требования, награды и другие параметры, которые отображаются на клиенте игрока.) u4 `" h( N' Z& F2 N: Y/ A
Структура файла NewQuestData-ru.datКаждая запись в файле состоит из нескольких полей, каждое из которых содержит важную информацию о квесте.
5 a, `2 B5 C z4 ~" E+ E% J L1 V& C6 j* g p1 T# q
Пример записи:
* b- ^! C0 |8 x2 I4 k+ c- 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
. T( f' E9 L& `+ q; n
Скопировать код Описание полей:
0 F& A5 b4 q1 `0 _3 |& U- 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 — конец записи о квесте.
' a( r" |' Z5 l+ u5 `8 K : G7 x; x% u+ t- g' P2 x0 N( _8 l
I1 a8 u: t& `; Y8 b& d4 a+ ~ Пример добавления нового квеста в NewQuestData-ru.dat
! F4 |5 x. y# T/ P5 _Допустим, вы хотите создать новый квест, в котором игрок должен убить 15 волков и получить 50 000 аден. Вот как может выглядеть запись для этого квеста:
# C1 Z5 {+ a4 V' L. @- 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' ~: v: u. _& M' b% r0 o) c1 Y
Скопировать код Пояснение:$ D' m# a1 H' R! m: `5 Y. J1 b
- 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 аден.9 A) Q- ~: t% s. I& P% o% v1 m# T
Заключение
* N5 P; m$ g# E. ?/ c# Z8 zФайл NewQuestData-ru.dat — это основа для локализации и отображения квестов в Lineage 2. Он делает квесты понятными для игроков, определяя цели, NPC, награды и условия. Теперь, зная структуру этого файла, вы можете легко создавать свои собственные квесты, добавляя уникальные задания и награды на сервере.1 {7 [8 c, ]7 Y; {2 K* Q. r
И небольшой совет напоследок: если при создании нового квеста ваш NPC решит не разговаривать с игроками, не паникуйте! Просто посмотрите в файл и убедитесь, что не забыли указать ID или случайно не сделали его слишком застенчивым. Ведь даже виртуальным героям иногда требуется хороший мотивационный толчок… в виде кода!" N/ D8 |1 x9 p9 a) ~7 v/ D
Так что, если вдруг ваш квест отказывается работать, просто помните: всегда есть шанс, что NPC просто ушёл на перерыв, а не вы забыли запятую. ?
/ u! Q, U2 g; Y0 M7 f+ r3 ~
2 x9 p- E: J [. M( c0 Q. }Файл для правки декомпилированного NewQuestData-ru.dat
5 Z2 s, r+ @# f |. k4 L: i2 J/ i: ~5 S q; V0 {
Скачать Exel таблицу для редоктирования dat: ' X4 e3 I5 |0 P2 O4 A$ |* O
+ S. S$ ? g" Y8 V
4 A+ } D! T; d. h+ X1 E
. T$ g8 x$ l0 v9 }
( @1 v# A' J( S9 D. g- p, f) R
$ ?* ^1 V p7 S5 U! d" W
/ R6 ~- |8 r$ Y8 m1 M2 R8 x: w% L* L
4 P6 k, y9 N( |, W
' L6 B+ O9 y8 b$ S
|
|