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.
Пакеты берутся из строковой переменной 'buf'. Поэтому создав переменную например:
Код:
test: string;
можно ей присвоить пакет из переменной buf
Код:
test:=buf;
Подправте плз.
Часть скрипта
Код:
var
PAName: String;
BafNaBibor: String;
Lider: integer;
begin
if FromServer and (ConnectName=Name) and (pck[1]=#$39) then begin //от сервера получен пакет $39
Lider:= 2;
PAName:= ReadS(Lider);
if (PAName = 'Сэд') then begin
buf:=Hstr('43 01 00 00 00');
end else
buf:=hstr('43 00 00 00 00'); //Создаем пакет "Отказать от пати"
pck :=''; //убиваем этот пакет
SendToServer;
end;
if FromServer and (pck[1] = #$4A) and (ConnectName=name) then begin //Кто то написал
BafNaBibor:= ReadS(Lider+5);
if (BafNaBibor='4') then begin //Если нам в чат написали 4-ре , то выполняем действие дельше
timer.enabled:=true;
TimerStep:=606;
end;
end;
Подскажите , как переменную BafNaBibor , увиличить на длину ника и плюс еще на 5-ть байт ?
вот этот пакет
4A 33 D8 20 10 03 00 00 00 21 04 4D 04 34 04 40 04 38 04 3A 04 00 00 FF FF FF FF 34 00 00 00
Часть обозначеная синем - Эта часть постоянно меняеться , так как это есть Ник игрока .
Мне нужно начать читать с 34 00 00 00
Последний раз редактировалось semiromid, 07.10.2011 в 15:15.
var
PAName, Name: String;
BafNaBibor: String;
Lider, Index: integer;
procedure Init; //Вызывается при включении скриптаbeginend;
procedure Free; //Вызывается при выключении скриптаbeginend;
//основная часть скрипта//вызывается при приходе каждого пакета если скрипт включенbeginif FromServer and(ConnectName=Name)and(pck[1]=#$39)thenbegin//от сервера получен пакет s39=AskJoinParty:s(requestorName)d(itemDistribution)
Lider:= 2;
PAName:= ReadS(Lider);
if(PAName = 'Сэдрик')then
buf:=Hstr('43 01 00 00 00')//Создаем пакет "Принять пати" c43=RequestAnswerJoinParty:d(Response) else
buf:=hstr('43 00 00 00 00'); //Создаем пакет "Отказать от пати" c43=RequestAnswerJoinParty:d(Response)
pck :=''; //убиваем пакет s39
SendToServer;
end;
if FromServer and(pck[1] = #$4A)and(ConnectName=name)then//s4A=CreatureSay:d(ObjectID)d(textType:Get.FSay2)s(charName)d(npcString)s(Message)begin//Кто-то написал в чат
Index:=10; //смещение для charName
ReadS(Index); //Index - начальная позиция чтения, которая модифицируется функцией (сдвигается на число считанных байт)
ReadD(Index); //читаем в никуда, чтобы пропустить ещё 4 байта
BafNaBibor:=ReadS(Index); //считываем Messageif(BafNaBibor='4')thenbegin//Если нам в чат написали 4-ре, то выполняем действие дельше
timer.enabled:=true;
TimerStep:=606;
end;
end;
end.
Код:
Tèï: 0x4A (CreatureSay)
Размер: 31+2
Время прихода: 14:32:27:024
0002 d ObjectID: 270587955 (0x1020D833)
0006 d textType: # PARTY ID:3 (0x0003)
0010 s charName: Сэдрик
0024 d npcString: -1 (0xFFFFFFFF)
0028 s Message: 4
Коннектюсь я к серверу,захожу,всё норм.Выдаёт те пакеты,которые мне нужны,но со временем л2пх просто заваливается пакетами unknown и спустя какое-то время в списке моего соединения появляется надпись proxy с какими-то цифрами.Пакеты после релога меняются.Это какая-то защита?Если так то можно ли её как-то обойти?
//J-Fobos: Если у вас такая ситуация не только на одном сервере, то проблема с настройками пакетхака. Если только на одном, скорее всего защита. В любом случаи просмотрите эту тему, возможно найдете полезную информацию.
Последний раз редактировалось J-Fobos, 10.10.2011 в 10:36.
Подскажите . Почему у меня проходят 2-а условия одновременно ?
begin
//////////////////////////////////////////////////////////////
///////////////Блок сп /////////////////
Код:
if FromServer and (pck[1]=#$18) and (ConnectName=name777) then begin
CP:= ReadD(54);
t:= 10;
if (CP=4517) then
begin
buf:=Hstr('49 3A 04 43 04 00 00 00 00 00 00');
timer.enabled:=false;
SendToServer;
end
else if (CP<>4517) then
begin
timer.enabled:=true;
TimerStep:=1;
end;
end;
можно сделать макрос и убивать пакет, тот что пишется чатом в макросе, либо вроде можно с ДЛЛ поколдовать
Не очень вас понял .
1.Я сделал макрос на употребление СП .
2.Юзнул макрос (Кнопкой F1)
3.Отловил пакет с клиента Tип: 0x19 (UseItem) (19 D2 85 1F 10 00 00 00 00 )
Какой пакет нужно убивать ?
Добавлено через 1 час 13 минут
Где можно узнать как пишиться самый просненький комбобокс?
Наподобие того что использовал NLObP в отличном скрипте на заточку (За что ему большое спасибо)
Код:
//Автоматизация заточки предметов до необходимого уровня by NLObP
//version 0.10 от 12.08.2010г.
//J-Fobos: вот небольшое описание компонента ComboBox и пример работы с ним. Подобные вещи можно найти в книгах по Object Pascal и Delphi
Последний раз редактировалось J-Fobos, 11.10.2011 в 21:12.
Причина: Добавлено сообщение
//J-Fobos: подозреваю что вылетает клиент, непонятно почему, что-то связано с социальными действиями (если верить коду ошибки). Такое со всеми пакетами или только с каким-то конкретным?
Последний раз редактировалось J-Fobos, 11.10.2011 в 21:13.