Тема: <(Auto Target)>
Показать сообщение отдельно
Старый 16.05.2008, 15:32   #4
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Этот скрипт формирует не правильный пакет. Вот немного исправленный.
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.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 5 спасибками от: