Вернуться   CoderX :: Forums > Lineage II > L2Walker Corrector
Войти через OpenID

L2Walker Corrector Изначальный проект закрыт, однако на его основе появился новый от Alexxxxx

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 08.09.2017, 21:02   #1
Пользователь
 
Регистрация: 19.08.2014
Сообщений: 58
Сказал Спасибо: 12
Имеет 0 спасибок в 0 сообщенях
cvillian пока неопределено
По умолчанию Пишу бота, нужна помощь

Привет всем кто ещё здесь появляется
Есть вопрос - как внедрить карты подземелий, т.е. как понять когда нужно подсунуть нужную карту? Есть какой-то пакет с кодом локации?
cvillian вне форума   Ответить с цитированием
Старый 08.09.2017, 21:05   #2
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

эм... а разве третья координата в loc - как раз не высота? по ней наверное ориентироваться над. ежели ниже по высоте, значит под землей - каты.
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
Старый 08.09.2017, 22:07   #3
Пользователь
 
Регистрация: 19.08.2014
Сообщений: 58
Сказал Спасибо: 12
Имеет 0 спасибок в 0 сообщенях
cvillian пока неопределено
По умолчанию

Да, но речь идёт не только о катах, а например о ТоИ или круме. Волкер и L2Net как-то могут показывать карты этажей и не понятно как огранчить радиус действия карты по X Y.

Вот ещё есть системное сообщение о Проклятом Оружии. В нём даются координаты, надо как-то перевести их в локацию

Код:
LA2:      "SystemMessage"                    size: 35     prot: 268  $10C
Addr:  Size:    Type:         Description:     Value:
0000     2   word          psz               35         | $0023
0002     1   byte          ID                98         | $62 'b'
0003     4   integer       MsgID             $s2 was dropped in the $s1 region.  ($00000717)
0007     4   integer       typesCount        2          | $00000002
000B     4   integer       type              7          | $00000007
000F     0   vardat        caseTypeZone      
000F     4   integer       x                 7218       | $00001C32
0013     4   integer       y                 -17066     | $FFFFBD56
0017     4   integer       z                 -3632      | $FFFFF1D0
001B     4   integer       type              3          | $00000003
001F     0   vardat        caseTypeItem      
001F     4   integer       ItemID            Demonic Sword Zariche  ($00001FFE)
cvillian вне форума   Ответить с цитированием
Старый 09.09.2017, 00:53   #4
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

эм... как бы я сделал: взял скриншот карты ладвы. и побежал бы в один из краев. куда можно добежать. кароче нашел бы самые большие значения Х и У, так-же самые малые. что-то типа креста на карте получилось бы. вот от них уже потом и строй примерное местоположение меча.

твой бот l2ultra случаем шифрацию не обходит? ))
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
Старый 09.09.2017, 13:11   #5
Пользователь
 
Регистрация: 19.08.2014
Сообщений: 58
Сказал Спасибо: 12
Имеет 0 спасибок в 0 сообщенях
cvillian пока неопределено
По умолчанию

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
эм... как бы я сделал: взял скриншот карты ладвы. и побежал бы в один из краев. куда можно добежать. кароче нашел бы самые большие значения Х и У, так-же самые малые. что-то типа креста на карте получилось бы. вот от них уже потом и строй примерное местоположение меча.
Цитата:
Сообщение от Smwr Посмотреть сообщение
про многоэтажные локации: пробежаться по ним, глянуть высоту на каждом этаже и выдавать карту в зависимости от высоты.
Впринципе карты катакомб я так и делал, только не бегал по углам а кликал по карте и переводил координаты, но думал можно как-то ещё.

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
твой бот l2ultra случаем шифрацию не обходит? ))
Шифрация это не про меня

покопался немного в L2Net - там используется файл такого формата: 19_18.jpg|19|18|-4599|32767, т.е. по всей видимости карты действительно подсовываются по высоте.

С сообщением о проклятом оружие пока не понятно

Последний раз редактировалось cvillian, 09.09.2017 в 13:18.
cvillian вне форума   Ответить с цитированием
Старый 09.09.2017, 14:13   #6
Пользователь
 
Регистрация: 14.07.2016
Сообщений: 59
Сказал Спасибо: 6
Имеет 10 спасибок в 9 сообщенях
Smwr на пути к лучшему
По умолчанию

Цитата:
Сообщение от cvillian Посмотреть сообщение
С сообщением о проклятом оружие пока не понятно
в клиенте есть метод
Код:
wchar_t *__thiscall FL2GameData::GetZoneName(FL2GameData *this, float, float, float)
либо ручками из датника (скорее всего, ZoneName-e.dat)
Smwr вне форума   Ответить с цитированием
Старый 09.09.2017, 16:14   #7
Пользователь
 
Регистрация: 19.08.2014
Сообщений: 58
Сказал Спасибо: 12
Имеет 0 спасибок в 0 сообщенях
cvillian пока неопределено
По умолчанию

Цитата:
Сообщение от Smwr Посмотреть сообщение
в клиенте есть метод
Код:
wchar_t *__thiscall FL2GameData::GetZoneName(FL2GameData *this, float, float, float)
либо ручками из датника (скорее всего, ZoneName-e.dat)
судя по разбору скорей подходит HuntingZone-e.dat
Код:
id	hunting_type	level	unk_1	loc_x	loc_y	loc_z	extra	affiliated_area_id	name
4	1	25	0	5106.00000000	126916.00000000	-3664.00000000	a,	1	a,Cruma Marshlands\0
Только как это можно понять если в файле координата всего одной точки. Нужно хотябы две чтобы построить квадрат, я х.з.

Но конечно если не разобрать 1 системное сообщение - то не страшно

Последний раз редактировалось cvillian, 10.09.2017 в 01:11.
cvillian вне форума   Ответить с цитированием
Старый 09.09.2017, 11:08   #8
Пользователь
 
Регистрация: 14.07.2016
Сообщений: 59
Сказал Спасибо: 6
Имеет 10 спасибок в 9 сообщенях
Smwr на пути к лучшему
По умолчанию

вся карта поделена на регионы.
Код:
public static int WORLD_X_MIN = 15;
public static int WORLD_X_MAX = 26;
private static short getRegionOffset(int x, int y)
{
	int rx = x >> 11; // =/(256 * 8)
	int ry = y >> 11;
	return (short) (((rx + Config.WORLD_X_MIN) << 5) + (ry + Config.WORLD_Y_MIN));
подсмотреть значения x/y min можно в исходниках явы своих хроник (код выше из lucera interlude). вообще, мне кто то говорил, что они везде одинаковы, однако значения с интерлюда не подошли к хф (хотя вероятно я где то накосячил), но т.к. я у себя карты не использую забил на это дело.

про многоэтажные локации: пробежаться по ним, глянуть высоту на каждом этаже и выдавать карту в зависимости от высоты.
Smwr вне форума   Ответить с цитированием
Старый 09.09.2017, 12:13   #9
Местный
 
Аватар для ScythLab
 
Регистрация: 24.10.2014
Сообщений: 190
Сказал Спасибо: 4
Имеет 42 спасибок в 40 сообщенях
ScythLab пока неопределено
По умолчанию

Я отдал это на откуп пользователю, если в текущем регионе несколько слоев карт, то пользователю показывается ComboBox с выбором слоя, не думаю что ты сможешь это грамотно разрулить в автоматическом режиме.
Игровые координаты в координаты игровой зоны переводятся очень просто:
BlockX = (X div 32767) + OffsetX
__________________
Хобби: разработка бота для Lineage.
ScythLab вне форума   Ответить с цитированием
Старый 09.09.2017, 20:30   #10
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

кстати! а можно ли как-то узнать коим образом файлы клиента запакованы? user.ini хочу с валхаком - так как не тормозит, когда там все полосами вместо текстур. прям кайф играть и на замесах, ну и на последнем месте конечно видно за стеной всех врагов. этой цели даж и не было... но файлик чем-то сверху накрыт и file edit'ы - ни один из всей кучи не читает. там даж хедера нет. обычно там пишет линейдж 413 скажем. а тут-же нет такого. вот хотелось бы расковырять, подставить эти вх параметры и запаковать. попытался взять незапакованный user.ini с вх и вписал туда айпи сервера и подсунул. логин прошел, а вот дальше пишет что user.ini изменен, дескать пройдитесь обновлятором клиента для восстановления. хотя раз логин прошел, значит клиент может понимать и стандартную запаковку... просто где-то стоит проверка на размер или хэш файла - как узнать где и как исправить?
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2Walker Corrector


Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

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

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


Часовой пояс GMT +4, время: 12:04.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!