Последний раз это сообщение было отредактировано Astraliya в 2024-10-20 11:24 , ?1 O7 F; \4 N, f2 k- l
$ d- r/ N4 I! g8 h0 D8 ~Файл NewQuestData-ru.dat является важным компонентом клиентской части Lineage 2, отвечающим за локализацию квестов, их отображение на русском языке, а также за их интеграцию с игровым процессом. Этот файл содержит информацию о квестах, такую как название, описание, цели, требования, награды и другие параметры, которые отображаются на клиенте игрока.
0 M( B3 T3 a& r7 P! fСтруктура файла NewQuestData-ru.datКаждая запись в файле состоит из нескольких полей, каждое из которых содержит важную информацию о квесте.' G* {( k% R& f, J
1 l: W9 }" I2 z+ P: s( H1 [Пример записи:
3 l* ~- {- |" |, K! T& {- 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
' @* J% N! g# j/ |# H( e3 X, `
Скопировать код Описание полей:
4 f- k* i1 |. w" P. `- 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 — конец записи о квесте.
# n9 c/ P8 j0 F9 C' H
1 I9 J, z' c/ Z; I4 }6 s, c5 |6 A1 v/ T0 ^; ] Q
Пример добавления нового квеста в NewQuestData-ru.dat
7 q+ [. m% A7 b: c4 K* TДопустим, вы хотите создать новый квест, в котором игрок должен убить 15 волков и получить 50 000 аден. Вот как может выглядеть запись для этого квеста:! E# |- R: r d4 J( C
- 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: g7 u: C5 K( ^+ \) N
Скопировать код Пояснение:' m9 N( h" q/ k- f- \0 }$ I
- 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 аден.4 b. j9 q9 f# g; q4 ~
Заключение5 _0 Y, Y1 e% p" r9 [) b3 ]' z
Файл NewQuestData-ru.dat — это основа для локализации и отображения квестов в Lineage 2. Он делает квесты понятными для игроков, определяя цели, NPC, награды и условия. Теперь, зная структуру этого файла, вы можете легко создавать свои собственные квесты, добавляя уникальные задания и награды на сервере.; o) M: t* M) E9 U& t3 @, a% s
И небольшой совет напоследок: если при создании нового квеста ваш NPC решит не разговаривать с игроками, не паникуйте! Просто посмотрите в файл и убедитесь, что не забыли указать ID или случайно не сделали его слишком застенчивым. Ведь даже виртуальным героям иногда требуется хороший мотивационный толчок… в виде кода!6 @2 ^8 n$ [; O. C
Так что, если вдруг ваш квест отказывается работать, просто помните: всегда есть шанс, что NPC просто ушёл на перерыв, а не вы забыли запятую. 😉
* ?3 P ?7 U; { C3 y
9 K: l7 |2 U6 \/ [7 tФайл для правки декомпилированного NewQuestData-ru.dat
& T0 z O O: K3 `/ I: J( l+ I: B! {0 P" n
Скачать Exel таблицу для редоктирования dat:
! g' h4 e' u) I0 d' |( f8 ` f& \# Y- W
2 Q7 C( F" s# |$ ~2 V0 a- V
8 Z. e* {) V7 {& y1 ?9 W' I 1 z1 P8 @0 K' \! ^5 R
6 k9 L/ w M' q
9 @5 D: U2 F/ O% _+ p9 p8 J& M# M( |% f$ p6 |. I
# a% D& o" u2 p* S6 E' b8 S; B
: k! k: I4 H6 D3 ?7 y& y |
|