L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
//QaK:отдельная тема по подкючению пакетхака к серверу >>>>>>>>тут
любые вопросы по данной тематике в этом топе будут удаляться без предупреждения.
Код:
const
mp='8A 1B 15 01 10';
hp='8A 1A 15 01 10';
begin
if fromclient and (pck[1]=#$38#$F5#$00#$EF#$00#$00#$00#$03#$00#$00#$00) then
begin
buf:=hstr(hp);
SendToServer;
end;
if fromclient and (pck[2]=#$33#$F5#$00#$EF#$00#$40#$00#$03#$00#$00#$00) then
begin
buf:=hstr(mp);
SendToServer;
end;
end.
где я ошибся?
Последний раз редактировалось QaK, 30.08.2010 в 18:56.
почему это нельзя оригинальный вырубать? если окошко рисуется самим л2пх, то это значит просто замечательно это даже афигенски
остается просто подумать что именно мне нужно, и коим образом это выводить, дабы не грузить компьютер полноценным окном ладвы.
а) это ясное море список сопати, где бы работало таргетонаведение по клику и ассист.
б) так-же видимо нужен скролл с таргетами, что находятся в пределах видимости болванки-недобота, чтоб можно было выделить из моего "клиента" если что.
в) как-то сделать проверку на "спотыкание" персонажа. например в варке, там где рб одиночный, там посреди локации лежит сраный недокамень - его почти не видно, однако болванки вечно об него спотыкаются и тормозятся, когда ты уже основным окном убежал далеко вперед. аналогично надо предусмотреть спотыкание в катакомбах и прочих коридорах.
г) отсылка валидейтлокейшн. видимо пока придется забить на этот heading - фигачить наверное туда рандом число, а вот координаты видимо брать из текущей координаты болванки и точки, куда бежит болванка, а именно что-то типа такого:
if currentx > targetx
forvalidatex = (currentx - targetx) / 2
else targetx > currentx
forvalidatex = (targetx - currentx) / 2
end
тоже самое для у
z оставить как у z в итоговой координате
отправка полученного значения как валидейтлокейшн через пол секунды после старта движения
д) по прилету в город организовать автодобегание болванки до бафера, тырк профиля бафа, и ожидание у гк
е) проверка местонахождения бишопа и сопатей, чтобы в случае если сопати умер вне пределов досигаемости - биш не дергался его ресать. чтоб если хп у сопати не 100% и он вне пределов досигаемости - опять таки чтоб биш не дергался.
Пакетхак нужен для перехвата и модификации пакетов, вам же нужен полноценный бот типа адреналина.
... и удержания клиента онлайн, при отключении клиента. весь затык именно в валидейтлокейшн при движении - тут нужно просто реализовать мой алгоритм и будет полноценый саппорт, который кушает ресурсы куда меньше, нежели клиент ладвы а если это скажем автоточер и стоит на месте - то и вовсе красота - ничего придумывать ненадо
Я может не уловил суть последней беседы, но написать OOG бота не слишком сложная задача, а вот разобраться с шифрование трафика, это уже геморройно.
Вроде были какие-то механизмы по отвязыванию клиента после запуска, но это работало только в конкретных случаях (когда трафик шифровался стандартным алгоритмом, а клиент нужен был только для правильного формирования первых пакетов типа LSRequestAuthLogin).
ну... в моем случае нет шифрации. клиентом захожу в игру, жму включение скрипта, после выход из игры. персонаж остается и продолжает делать что он там делает... бывает правда вертолетит, и я не вижу точной причины - пока только теория что из-за рассинхронизации клиента и сервера по местоположению персонажа. ведь мой недобот не шлет пока-что валидейтлокейшн. однако если это скажем фарм рб, где персонажи стоят практически не двигаясь и просто лупят по ассисту - то все работает замечательно.
Добавлено через 12 минут
так... еще момент... скрипты растут в ширь все больше и больше. по началу условий было раз два и обчелся, теперь же это уже вагон условий думаю надо начинать оптимизацию. как, с точки зрения загруженности процессора, правильней подходить к синтаксису этих самых условий?
Код:
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
//кончились бабки
if FromServer and (ConnectName=Name) and (pck=HStr('64 BD 02 00 00 00 00 00 00'))
then begin
iditem:='0';
a:=1;
b:=0;
Timer01.enabled:=false;
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS('бабло кончилось');
SendToClient;
end;
//блокировка перемещения
if FromClient and (ConnectName=Name) and (pck[1]=HStr('01')) and (start=1) and (Target='0')
then begin
pck:='';
end;
end.
то есть перед каждым условием а "это" ли это соединение? а от сервера ли пришло? или правильней сделать сначала проверку это ли соединение, потом от сервера и внутри уже фигачить прочие условия?
Код:
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if (ConnectName=Name) then begin
if FromServer then begin
//кончились бабки
if (pck=HStr('64 BD 02 00 00 00 00 00 00'))
then begin
iditem:='0';
a:=1;
b:=0;
Timer01.enabled:=false;
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS('бабло кончилось');
SendToClient;
end;
//еще стописят других условий
end
else begin //значит фром клиент
//блокировка перемещения
if (pck[1]=HStr('01')) and (start=1) and (Target='0')
then begin
pck:='';
end;
//еще стописят других условий
end;
end;
end.
__________________
хочу картинку в подпись!
Последний раз редактировалось SeregaZ, 09.06.2015 в 23:30.
Причина: Добавлено сообщение