Некоторые ddf для Helios - Страница 6 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Игровой клиент

Игровой клиент Есть вопросы по поводу редактирования dat, utx и других файлов клиента, пожалуйста, задавайте их здесь.

Ответ
Опции темы
Непрочитано 28.03.2017, 23:21   #51
Пользователь

По умолчанию Re: Некоторые ddf для Helios

Цитата:
Сообщение от Mantra Посмотреть сообщение
Пробывал сделать сравнение zonaname-ru в 109

По этому мануалу, летит ошибка и название столбца. Что я не так делаю или метод не работает уже со всеми датками?
не, это не сработает. Разобрать структуру можно выдрав ее из клиента или вывести ее саму, просматривая декодированный файл.

Последний раз редактировалось Melcor; 29.03.2017 в 14:46.
Melcor на форуме Ответить с цитированием
Непрочитано 29.03.2017, 20:21   #52
Аватар для Mantra
Пользователь

По умолчанию Re: Некоторые ddf для Helios

Вытащил структуру skillname из Engine.dll

Цитата:
skill_begin;
skill_id;
level;
sub_level;
name;
desc;
desc_param;
enchant_name;
enchant_name_param;
enchant_desc;
enchant_desc_param;
skill_end;
Непонятно следующее, откуда взять UWORD,WORD,ASCF,INT итд?
__________________
Разработка Lineage II Classic: Saviors 2.0
Mantra вне форума Ответить с цитированием
Непрочитано 30.03.2017, 02:21   #53
Пользователь

По умолчанию Re: Некоторые ddf для Helios

Цитата:
Сообщение от Mantra Посмотреть сообщение
Вытащил структуру skillname из Engine.dll



Непонятно следующее, откуда взять UWORD,WORD,ASCF,INT итд?
по сути структура правильная, вот только fileedit уже не подойдет.
корейцы оптимизаторы хреновы, накидали типа такого
Код:
a,Рывок\a //name
12 //id
a,В течение $s1 Скорость +$s2.\a
13
//и так далее, по нарастающей
//тут непонятно только одно: как определить конец таблицы
теперь обычный даш выглядит так вот примерно
Код:
=====================
4 //id
1 //level && sublevel
0 //тут id с которого берется описание 
-1 // тут level  && sublevel с которого берется описание 
12 //вот а здесь и ниже уже оптимизация, берется данные из примера выше
13
14
3
3
3
3
Melcor на форуме Ответить с цитированием
Непрочитано 30.03.2017, 09:01   #54
Аватар для Zubastic
ZG troll squad

По умолчанию Re: Некоторые ddf для Helios

Цитата:
Сообщение от Melcor Посмотреть сообщение
по сути структура правильная, вот только fileedit уже не подойдет.
корейцы оптимизаторы хреновы, накидали типа такого
И что плохого в L2GameDataName?

Теперь они строки хранят не в том же файлике, а в отдельном, тем самым экономя место и время загрузки. Там есть ряд веселых моментов, это вы еще до армора и веапона не добрались
__________________
Zubastic на форуме Ответить с цитированием
Непрочитано 30.03.2017, 10:39   #55
Аватар для Mantra
Пользователь

По умолчанию Re: Некоторые ddf для Helios

По поводу армора, вообще хз как он открывает, там не хватает 4 столбцов в конце. Видимо по этому и не сохраняет, а только открывает.

С L2GameDataName давно разобрался ничего там сложного нет, главное чтобы строки не повторялись, минус в этом только в том что трудно локализовать, если с кореи например. Раньше можно было экселем теперь видимо вручную.
__________________
Разработка Lineage II Classic: Saviors 2.0
Mantra вне форума Ответить с цитированием
Непрочитано 30.03.2017, 10:47   #56
Пользователь

По умолчанию Re: Некоторые ddf для Helios

Цитата:
Сообщение от Zubastic Посмотреть сообщение
И что плохого в L2GameDataName?

Теперь они строки хранят не в том же файлике, а в отдельном, тем самым экономя место и время загрузки. Там есть ряд веселых моментов, это вы еще до армора и веапона не добрались
так вот со skillname они заморачиваться не стали, и в L2GameDataName не запихнули, а прямо там и оставили.
Melcor на форуме Ответить с цитированием
Непрочитано 30.03.2017, 11:02   #57
Аватар для Mantra
Пользователь

Smile Re: Некоторые ddf для Helios

Цитата:
Сообщение от Melcor Посмотреть сообщение
по сути структура правильная, вот только fileedit уже не подойдет.
корейцы оптимизаторы хреновы, накидали типа такого
Код:
a,Рывок\a //name
12 //id
a,В течение $s1 Скорость +$s2.\a
13
//и так далее, по нарастающей
//тут непонятно только одно: как определить конец таблицы
теперь обычный даш выглядит так вот примерно
Код:
=====================
4 //id
1 //level && sublevel
0 //тут id с которого берется описание 
-1 // тут level  && sublevel с которого берется описание 
12 //вот а здесь и ниже уже оптимизация, берется данные из примера выше
13
14
3
3
3
3
Если я не ошибаюсь это добавили еще в 24 или 28 протоколе. Ради интереса попробую сравнить столбцы с 28 и 64+ протокола из двух дампов. Интересно что добавили.

Цитата:
Сообщение от Melcor Посмотреть сообщение
так вот со skillname они заморачиваться не стали, и в L2GameDataName не запихнули, а прямо там и оставили.
npcname вообще не разу не менялся вроде как.
__________________
Разработка Lineage II Classic: Saviors 2.0
Mantra вне форума Ответить с цитированием
Непрочитано 31.03.2017, 17:03   #58
Пользователь

По умолчанию Re: Некоторые ddf для Helios

Кто в курсе, что с заголовком в декодированном skillname? Как его расшифровать то? 3 байта вместо обычных 4.
Melcor на форуме Ответить с цитированием
Непрочитано 02.04.2017, 18:46   #59
Аватар для Mifesto
Пользователь

По умолчанию Re: Некоторые ddf для Helios

Как я понял, файл состоит из 2х частей, и у него 2 размера таблиц.
1 - 3х байтовый, брал за основу себе тулзу asmi, и там оно реализовано как compactInt:
Код:
public int readCompactInt() throws IOException
	{
		int output = 0;
		boolean signed = false;
		for (int i = 0; i < 5; i++)
		{
			int x = in.read();
			if (x < 0)
			{
				throw new EOFException();
			}
			if (i == 0)
			{
				if ((x & 0x80) > 0)
				{
					signed = true;
				}
				output |= (x & 0x3F);
				if ((x & 0x40) == 0)
				{
					break;
				}
			}
			else if (i == 4)
			{
				output |= (x & 0x1F) << (6 + (3 * 7));
			}
			else
			{
				output |= (x & 0x7F) << (6 + ((i - 1) * 7));
				if ((x & 0x80) == 0)
				{
					break;
				}
			}
		}
		if (signed)
		{
			output *= -1;
		}
		return output;
	}
Формат первой таблицы прост:
Код:
	public String str;
	private int str_id;
2 - стандартный размер.
Формат второй примерно такой:
Код:
public int id;
	public short lvl;
	public short sub_lvl;
	public int pr_id;
	public short pr_lvl;
	public short pr_sblvl;
	public int name_id;
	public int info_id;
	public int stats_id;

	private int enchant_name_id;
	private int enchant_name_param_id;
	private int enchant_desc_id;
	private int enchant_desc_param_id;
Mifesto вне форума Отправить сообщение для Mifesto с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 02.04.2017, 19:16   #60
Пользователь

По умолчанию Re: Некоторые ddf для Helios

Цитата:
Сообщение от Mifesto Посмотреть сообщение
quote:
Свернуть ↑Развернуть ↓
Огромное спасибо! Работает как надо.
Melcor на форуме Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Куплю] ddf helios 64 whatswrong Рынок / Marketplace 53 07.07.2016 14:15
L2asm-disasm ddf HELIOS 64 protocol gordo Игровой клиент 5 11.06.2016 23:14
Lineage Helios Antonio Работа со скриптами 2 30.05.2016 16:03
Некоторые ddf для Ertheia (l2.ru) Hint Игровой клиент 4 21.08.2014 18:18
Некоторые ddf для Tauti (l2.ru PTS) Hint Игровой клиент 0 06.07.2012 17:48


© 2007–2019 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 06:49. Часовой пояс GMT +3.

Вверх