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.
еще проблемка - чтобы совсем как вжизни - без палева - брать квест надо так:
таргет (выделился нпс)
таргет (начался разговор)
послать пакет нажатия "квест"
послать пакет выбора "я на все согласная"
то есть таким алгоритмом никакой сутки неспящий админ не запалит. по сути все как в клиенте. НО! таргет зараза - как седня выяснил - ID таргета разное. я думал нпс имеют постоянный ID навтыкал в скрипт готовые пакеты наведения таргета (Action). а седня утром смотрю ID поменялись... как быть?
можно конечно сразу слать пакет нажатия квеста и помчался на точку фарма мобов, но ведь палевно сервер потом недосчитается двух Action и одного RequestBypassToServer.
конечно я подозреваю что чтение логов это страшные сказки админов, своим непослушным детям - однако шанс спалится таким образом несомненно выше, чем если бы все было построено по науке.
как можно сделать аналогично команде в клиента - "/target Arin" - такой команде пофигу до изменяющегося ID.
ну это то понятно. вот и интересуюсь аналогичной текстовой командой в скрипте. если нет - так нет... будем что-нибуть придумывать... типа запустить из скрипта опредленную внешнюю програмку, которая сэмулирует нажатие F1, на которой будет торчать макрос "/target Arin"
все через ж... получится конечно
а как ты предусмотришь вот это:
к примеру ты зашел в игру в деревне гномов, поболтал в личке с подружкой-гномкой, и только потом запускаешь скрипт - и он работать не будет - ведь пакеты учета нпс уже пролетели, пока ты заходил в игру. перс будет ждать на одном месте, пока инфорация об нпсях не обновится. вот в чем загвоздка
хотя... теоритически, если так сказать прозевал пакеты с инфой об нпсях, надо воспользоватся сое - по идее информация об нпсях обновится и тогда будут данные.
выходит запускать скрипт надо еще до входа в игру. тогда при входе он сразу получит всю информацию, что нам нужна.
а как ты предусмотришь вот это:
к примеру ты зашел в игру в деревне гномов, поболтал в личке с подружкой-гномкой, и только потом запускаешь скрипт - и он работать не будет - ведь пакеты учета нпс уже пролетели, пока ты заходил в игру. перс будет ждать на одном месте, пока инфорация об нпсях не обновится. вот в чем загвоздка
.
теперь значит вот. сделал я проверку нпс, если ловит ID по базе который надо - запоминает его ID серверный. но теперь что-то я сформировать пакет не могу.
Код:
*********** тут типа строим пакет в baffer должно содержатся ID и координаты
bafarroy[1]:=hstr('04')+baffer;
bafarroy[2]:=hstr('04')+baffer;
bafarroy[3]:=hstr('21 6D 00 65 00 6E 00 75 00 5F 00 73 00 65 00 6C 00 65 00 63 00 74 00 3F 00 61 00 73 00 6B 00 3D 00 2D 00 37 00 26 00 72 00 65 00 70 00 6C 00 79 00 3D 00 32 00 00 00');
************* отправка потом по таймеру выглядит так
buf:=bafarroy[bafX];
SendToServerEx('SereZa');
*************
begin
//учет нпс.
if FromServer and (ConnectName='SereZa') and (pck[1]=#$16) then
begin
idnpc:=pck[6]+pck[7]+pck[8]+pck[9];
if (idnpc='F1 5F 0F 00') then baffer:=pck[2]+pck[3]+pck[4]+pck[5]+pck[14]+pck[15]+pck[16]+pck[17]+pck[18]+pck[19]+pck[20]+pck[21]+pck[22]+pck[23]+pck[24]+pck[25]+hstr('00'); //присвоение ID и координат бафера переменной baffer
end;
end.
это участки кода. что-то я с синтаксисом напутал. вобщем у меня не складывается в пакет. только 04 потом отправляется в пакете - без ID и координат. не пойму в каком месте неверно считает. толи внизу, где поиск идет, толи вверху, где формирование пакета. отравка вроди бы правильная.
потом и вовсе из игры стало отфутболивать. вместо пакета Action стал слатся РеквестВерсионИнфо чтоли... вобщем гдето у меня "математика" не пашет
нет ли в программе внутренней команды типа Debug baffer;? чтобы окошко маленькое выскакивало и там светило что содержится в переменной baffer - а то как отлавливать что там в скрипте происходит. можно самому себе сообщения слать в чате. но оно не отображает если переменные в 16ном коде были.
теперь значит вот. сделал я проверку нпс, если ловит ID по базе который надо - запоминает его ID серверный. но теперь что-то я сформировать пакет не могу.
по ID нпс:
Код:
0006 d NpcTypeId: Каторжник ID:1020235
запомнить его ObjectID :
Код:
0002 d ObjectID: 292044262 (0x11683DE6
наверно так правильней и отправлять :
Код:
WriteD(ObjectID);
я так делаю .NpcId задано зарание
Код:
if FromServer and (pck[1]=#$0С) then begin
NpcTypeId:=ReadD(6);
CASE NpcTypeId OF
NpcId1,NpcId2:begin
ObjectID:=ReadD(2);
NpcX:=ReadD(14);
NpcY:=ReadD(18);
NpcZ:=ReadD(22);
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать
Последний раз редактировалось TAMBIK, 16.08.2009 в 20:20.