Этот скрипт формирует не правильный пакет. Вот немного исправленный.
delphi Код:
// Автоматическое взятие в таргет атакующего вас игрока или моба
// Чтобы включить скрипт используйте в игре социальное действие - Yes
// Чтобы выключить скрипт используйте в игре социальное действие - No
// Автор: Furious
// Версия: 0.4
// исправления by NLObP
const
Name='NLObP'; //имя чара для которого включаем скрипт
var
AttackerID, TargetID, Status: Integer;
MyID, MyXpos, MyYpos, MyZpos, i: integer;
procedure TargetAttacker(Attacker: Integer);
begin
buf:=#$04;
WriteD(Attacker);
WriteD(MyXpos);
WriteD(MyYpos);
WriteD(MyZpos);
WriteC(00);
SendToServerEx(Name);
end;
procedure SendMsg(Msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(Msg);
SendToClientEx(Name);
end;
//***************************************************************
// вызывается при приходе каждого пакета, если скрипт включен
//***************************************************************
begin
//****************************************************************************
if (ConnectName=Name) and FromServer then begin
case pck[1] of
#$04: begin
//пакет с инфой о моём чаре
i:=2;
MyXpos:=ReadD(i); //получаю координату х моего чара
MyYpos:=ReadD(i); //получаю координату у моего чара
MyZpos:=ReadD(i); //получаю координату z моего чара
//Запоминаем ИД
i:=18;
MyID:=ReadD(i); //получаю ид моего чара
end;
//***************************************************************
//05=Attack:d(AttackerID)h(targetID)d(Damage)b(Flags)d(X)d(Y)d(Z)d(ListHits)h(targetID)d(damage)b(flags)
//48=MagicSkillUse:h(CharID)h(targetID)h(skillID)d(skillLvl)d(hitTime)d(reuseDelay)d(X)d(Y)d(Z)w(count)d(d)d(d)d(d)
#$05,#$48: begin
if Status=1 then begin
AttackerID:=ReadD(2);
TargetID:=ReadD(6);
if (AttackerID<>TargetID) and (MyID=TargetID) then TargetAttacker(AttackerID);
end;
end;
end;
end;
//****************************************************************************
if (ConnectName=Name) and FromClient then begin
case pck[1] of
#$1B: begin
//C>Пакет RequestSicialAction #$1B
case ReadD(2) of
//социальное действие Yes для начала ловли
6: begin
Status:=1;
SendMsg('Автоматическое взятие в цель включено!');
//не передаем серверу
pck:='';
end;
//социальное действие No для окончания
5: begin
Status:=0;
SendMsg('Автоматическое взятие в цель включено!');
//не передаем серверу
pck:='';
end;
end;
end;
//ValidatePosition пакет от клиента с моими кординатами
#$48: begin
MyXpos:=ReadD(2); //получаю координату х моего чара
MyYpos:=ReadD(6); //получаю координату у моего чара
MyZpos:=ReadD(10); //получаю координату z моего чара
end;
end;
end;
end.