Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Пакеты
Войти через OpenID

Пакеты Форум о форматах отдельных пакетов или групп пакетов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 06.02.2010, 10:28   #1
Новичок
 
Регистрация: 14.01.2010
Сообщений: 7
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
LamerOK пока неопределено
По умолчанию Примерчик плиз

Привет, знатоки, не мог бы ктото выложить пример скрипта, примитивного бота.


начало цикла
взять таргет на сближаюшую цель (моб любой)
пока хп цели >0 атака иначе
следующая
повторить
конец

пытался из других ботов (локомотивов ) разных авторов разобрать процедуру "атак" но хотелось бы отдельно с пояснением где что для чего какой пакет как поймато и тд...


заранее большое спасибо.
(сори кажетсья не втом разделе создал по запарке переместите плз если нада...
LamerOK вне форума   Ответить с цитированием
Старый 06.02.2010, 12:19   #2
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 32
Сказал Спасибо: 0
Имеет 14 спасибок в 12 сообщенях
sinles пока неопределено
По умолчанию

атака моба руками равносильна взятию его в цель 2 раза подряд:
buf:=#$1F;
WriteD(TargetOID); //Object id того кого взять в цель, второй раз произойдет атака.
WriteD(MyX); //х координата моего чара
WriteD(MyY); //у
WriteD(MyZ); //з
WriteC(00); //нажат ли контрол ?
SendToServerEx(Name); //отправка серверу

А что бы сделать выбор мобов по очереди нужно их всех запомнить, а потом при каждом выборе пересчитывать расстояние до каждого и выбирать ближайшего. К сожалению примера нет. Тебе нужно анализировать для этого пакет #$0C от сервера

*все написано относительно ХБ сервера
sinles вне форума   Ответить с цитированием
За это сообщение sinles нажился спасибкой от:
Старый 06.02.2010, 12:31   #3
Новичок
 
Регистрация: 14.01.2010
Сообщений: 7
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
LamerOK пока неопределено
По умолчанию

мобы имеют разные ID ? после того как я убью мобов, появяться новые их опять нада заносить в массив?

за форс атаку (ctrl) разве "00" ? не просто "0" и "1"

Последний раз редактировалось LamerOK, 06.02.2010 в 15:04.
LamerOK вне форума   Ответить с цитированием
Старый 06.02.2010, 16:37   #4
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 32
Сказал Спасибо: 0
Имеет 14 спасибок в 12 сообщенях
sinles пока неопределено
По умолчанию

ID и OID (Object ID) разные понятия. Ид определяет тип монстра, это как класс в программировании. А ОИД это конкретны экземпляр моба (класса) который имеет конкретное место положения в мире хп и т.д.
Заметь что серверу нужно отправлять не ИД (тип) предметов и монстров, а ИД объектов предметов и монстров.
От сервера будут приходить пакеты о создании различных обьектов (#$0C - создание объекта моба) и о их удалении. Вот это тебе нужно просто взять и в режиме просмотра получаемых пакетов выяснить.

*нажат ли контрол - если отправлять 0 то будет бить игроков, а мобов будет. Что бы заставить бить всех отправлять нужно 01
sinles вне форума   Ответить с цитированием
За это сообщение sinles нажился спасибкой от:
Старый 06.02.2010, 18:51   #5
Новичок
 
Регистрация: 14.01.2010
Сообщений: 7
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
LamerOK пока неопределено
По умолчанию

пакет #$0C приодит в клиент с респом каждого моба? при попадении моба или чара в определенный радиус взаимодействия? или каждый интервал времени?

сегодня много наблюдал за пакетам клиент постоянно отправляет один и то же пакет, с одинаквым интервалом времени. чар просто стоит вокруг нет ничего и никого нет флуда в шаут трейд хч и тд.. а пакеты идут и идут обсолютно идентичные. какой их смысл?

Последний раз редактировалось LamerOK, 06.02.2010 в 18:54.
LamerOK вне форума   Ответить с цитированием
Старый 06.02.2010, 22:00   #6
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

который пинг чтоль? это чтобы крикнуть серверу: "эээй! я еще тут, я из игры не вышел, не отключай меня!"
SeregaZ вне форума   Ответить с цитированием
Старый 07.02.2010, 23:19   #7
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 32
Сказал Спасибо: 0
Имеет 14 спасибок в 12 сообщенях
sinles пока неопределено
По умолчанию

Вся игровая область поделена на зоны. Каждый раз когда ты попадаешь в новую зону сервер тебе сообщает обо всем что там находится, в том числе и о мобах(этот самый пакет НПЦинфо). Когда монстр умерает или исчизает, или уходит из области приходит пакет ДэлэйОбжэкт(ид не помню) и обьект который указан в пакете следует удалить, он нам точно не понадобится.
sinles вне форума   Ответить с цитированием
За это сообщение sinles нажился спасибкой от:
Старый 08.02.2010, 01:42   #8
Новичок
 
Регистрация: 14.01.2010
Сообщений: 7
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
LamerOK пока неопределено
По умолчанию

sinles, спс помог, еще есть вопрос, нада отследить когда моб атакует чара.
(понимаю глупо звучит наверно просто хочу сам во всем разобраться, по мере возникая сложностей я упрощаю по ставенную задачу. теперь просто хочу чтобы чар стол среди мобов и давал сдачи полезшим к нему аграм. тем самым избегу пока что непонятного для меня создания БД и массива мобов примрено так

взять данные атакующей цели
убедиться что мертва
ждать атаки дальше

тут проблема...
моб даже мертвый пока не исчез держиться в таргете.. в пакете содержится его ХП?
)
если не тружно конкретизируйте ваши советы для хроник ГрацияФинал, это не потому что мне влом посмотреть пакеты, на моем сервере видимо какято фигня но пости ВСЕ пакеты приходят "unknow(ID)" о оих очень много я не успеваю понять какой за что отвечает
LamerOK вне форума   Ответить с цитированием
Старый 08.02.2010, 10:18   #9
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 32
Сказал Спасибо: 0
Имеет 14 спасибок в 12 сообщенях
sinles пока неопределено
По умолчанию

составил вырезку из своего скрипта рыбалки (он умеет бить тех кто его ударил) Не проверял, но по идеи он должен бить тех кто нападает. Если нападет 2 моба он убьет одного, а потом когда его ударит другой переключится бить его.
delphi Код:
const   Name='Sinner'; var   underAttack : boolean//находимся ли мы в бою    myX,myY,myZ: integer;       //наши статы   myOID: integer;   AttackerOID: integer; procedure Init; begin   underAttack := false; endprocedure Free; begin end; procedure UserInfo; //обновление данных о себе var   i:word; begin   MyOID:=ReadD(18);   MyX:=ReadD(2);   MyY:=ReadD(6);   MyZ:=ReadD(10); end; //1F=Action:d(ObjectID)d(OrigX)d(OrigY)d(OrigZ)c(ActionID) procedure Target(Attacker: Integer); begin   buf:=#$1F;   WriteD(Attacker);   WriteD(MyX);   WriteD(MyY);   WriteD(MyZ);   WriteC(00);   SendToServerEx(Name);   delay(800); end; // вызывается при приходе каждого пакета, если скрипт включен begin     //**************************************************************************     //не обрабатываем пустые пакеты     if pck='' then exit;     if (ConnectName=Name) and FromServer then begin     case pck[1] of       //пакет Die (моб умер)       //00=Die:d(CharID)d(1)d(HasHideout)d(HasCastle)d(Flags)d(Sweepable)d(Access)       #$00: begin            if (AttackerOID=ReadD(2)) then begin               //мы убили свою цель               underattack:=false;            end;            if (MyOID=ReadD(2)) then begin  //нас убили               //тут слудет остановить скрипт, что бы не палиться            end;       end;              #$32: UserInfo; //пакет с инфой о моём чаре                 //************************************************************************       //s33=Attack:d(AttackerID)d(TargetID)d(Damage)c(Flags)d(X)d(Y)d(Z)h(HitsSize:Loop.01.0003)d(TargetID)d(Damage)c(Flags)       #$33: begin         if (MyOID=ReadD(6)) and (MyOID<>ReadD(2)) then begin //на нас напали           if not underattack then begin             underattack:=true;             //сохраним OID напавшего             AttackerOID:=ReadD(2);             Target(AttackerOID)//             Target(AttackerOID)//дабл клик по мобу, начинаем атаку            end;         end;        end;     end;     end; end.
sinles вне форума   Ответить с цитированием
Старый 08.02.2010, 13:49   #10
Новичок
 
Регистрация: 14.01.2010
Сообщений: 7
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
LamerOK пока неопределено
По умолчанию

procedure UserInfo; //обновление данных о себе
var
i:word; для чего это переменная? вроде не используеться нигде...
LamerOK вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Пакеты



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

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


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

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

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