L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
Name='DeVolf'; //??? ????
mp='8A CC F3 00 10';
hp='8A AA B7 00 10';
cp='8A A8 B7 00 10';
var
CharObjID,MyCorX,MyCorY,MyCorZ: integer;
MaxHP,CurHP,MaxMP,CurMP,MaxCP,CurCP: integer;
CharName: string;
TimerHP, TimerCP, TimerMP: TTimer;
procedure Init; //?????????? ??? ????????? ???????
begin
timerHP:=TTimer.Create(nil);
timerHP.OnTimer:=@OnTimerHP;
timerHP.enabled:=False;
timerHP.interval:=100;
timerCP:=TTimer.Create(nil);
timerCP.OnTimer:=@OnTimerCP;
timerCP.enabled:=False;
timerCP.interval:=100;
timerMP:=TTimer.Create(nil);
timerMP.OnTimer:=@OnTimerMP;
timerMP.enabled:=False;
timerMP.interval:=100;
end;
procedure OnTimerHP(Sender: TObject);
begin
buf:=hstr(hp);
SendToServerEx(Name);
end;
procedure OnTimerCP(Sender: TObject);
begin
buf:=hstr(cp);
SendToServerEx(Name);
end;
procedure OnTimerMP(Sender: TObject);
begin
buf:=hstr(mp);
SendToServerEx(Name);
end;
procedure InitStats;
var
i: integer;
begin
CharObjID:=ReadD(18);
MyCorX:=ReadD(2);
MyCorY:=ReadD(6);
MyCorZ:=ReadD(10);
i:=22;
CharName:=ReadS(i);
i:=i+44;
MaxHP:=ReadD(i);
CurHP:=ReadD(i);
MaxMP:=ReadD(i);
CurMP:=ReadD(i);
i:=i+363;
MaxCP:=ReadD(i);
CurCP:=ReadD(i);
//????????? ???????? ?? ?????
if (CurHP<=MaxHP-500) then TimerHP.enabled:=true else TimerHP.enabled:=false;
if (CurCP<=MaxCP-500) then TimerCP.enabled:=true else TimerCP.enabled:=false;
if (CurMP<=MaxMP-500) then TimerMP.enabled:=true else TimerMP.enabled:=false;
end;
procedure StatsUpdate;
var
i: integer;
begin
for i:=0 to ReadD(6)-1 do
case pck[i*8+10] of
#$09: CurHP:=ReadD(i*8+14);
#$0A: MaxHP:=ReadD(i*8+14);
#$0B: CurMP:=ReadD(i*8+14);
#$0C: MaxMP:=ReadD(i*8+14);
#$21: CurCP:=ReadD(i*8+14);
#$22: MaxCP:=ReadD(i*8+14);
end;
//????????? ???????? ?? ?????
if (CurHP<=MaxHP-500) then TimerHP.enabled:=true else TimerHP.enabled:=false;
if (CurCP<=MaxCP-500) then TimerCP.enabled:=true else TimerCP.enabled:=false;
if (CurMP<=MaxMP-500) then TimerMP.enabled:=true else TimerMP.enabled:=false;
end;
procedure CorsUpdate;
begin
MyCorX:=ReadD(2);
MyCorY:=ReadD(6);
MyCorZ:=ReadD(10);
end;
BEGIN
//--- STATS BEGIN ---//
if FromServer and (ConnectName=Name) and (pck[1]=#$04) then InitStats;
if FromServer and (ConnectName=Name) and (pck[1]=#$0E) and (CharObjID=ReadD(2)) then StatsUpdate;
if FromClient and (ConnectName=Name) and (pck[1]=#$48) then CorsUpdate;
//--- STATS END ---//
END.
пакеты те что в константах ето использование итема петом (мп банок цп банок и хп банок)
так как сервер скручен через жо... то получился такой интересный баг что у пета нету перевеса... я поставил пета в городе и ....
а вот сделать ето ст твоим примером не выходит так ака не ус итем , не скилы , не помогут мне использовать етот баг
пакеты те что в константах ето использование итема петом (мп банок цп банок и хп банок)
так как сервер скручен через жо... то получился такой интересный баг что у пета нету перевеса... я поставил пета в городе и ....
а вот сделать ето ст твоим примером не выходит так ака не ус итем , не скилы , не помогут мне использовать етот баг
Не понял юмора. Ну выпьет пет банку и что будет, на чара начинает лекарство действовать?
Интересно, это только на твоем сервере или везде так? А что в скрипте твоем, по конкретнее, не работает? На первый взгляд все правильно и должно работать.
Интересно, это только на твоем сервере или везде так?
ну сервер такой )
Цитата:
А что в скрипте твоем, по конкретнее, не работает?
а как ето можно понять?
ну захожу я ... запускаю скрипт ... сливаю ХП а банки не пёт
думал может гдето ошибся... получается что нет...
что ж тогда делатЬ?
Попробуй потестить, сделай формочку и лабел(например) и после каждого действия, чтоб туда выводиась какая-нить инфа, например после проверки на количество ХП или выводи само каличество ХП.
Есть пакет npcinfo начинающийся на 16 потом идет обж ид (как я понял pck[2-5])а за ним номер НПС (как я понял pck[6-9])...
я делаю так
var
a:string
if (FromServer) and (pck[1]=#$16) then begin
дальше нужно получить из шестнадцатиричного десятичное число - номер нпc и присвоить строке, как это сделать?
есть идея ...но не знаю верна ли - a:=inttostr(ReadD(6));
и еще вопрос - подскажите код чтобы при target присвоить переменной номер нпc (не обжект,а npcid вроде)