Скрипт для того, чтобы бить, не флагаясь, и не агря монстров.
Код:
var
Status, socialid: Integer;
procedure SAY(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;
begin
if FromClient and (pck[1]=#$1B) then //социальное действие
begin
SocialID:=ReadD(2);
case ord(pck[2]) of
$06:begin //socialyes
Status:=1;
SAY('Без флага');
end;
$05:begin //socialno
Status:=0;
SAY('Выключено');
end;
end;
end;
if Status=1 then
begin
if FromClient and ((pck[1]=#$0A) or (pck[1]=#$04)) then //Если атакуем, то:
begin
buf:=pck;
SendToServer; //Отправил пакет дальше
delay(100);
buf:=#$73; //Открыть продажу
SendToServer;
buf:=#$76; //Закрыть продажу
SendToServer;
pck:='';
end;
end;
end.
Последний раз редактировалось Lynx, 23.04.2009 в 02:26.
в данном случае, при приходе пакета атаки скрипт будет
открывать продажу. через 400мс закрывать продажу и уже далее пропустит пакет атаки на сервер.
поясняю.
pck не будет отправлен на сервер до того момента как скрипт не отработает полностью. если описаный мной порядок отправки пакетов неверен - требуется перенести pck в буффер либо временную а сам pck обнулить. переменную либо буффер отправить в нужный момент.
честно, вообще не понял что требуется от скрипта, при чем тут продажа, если надо что б не атаковал, не проще гасить пакет:
if FromClient and (pck[1]=#$0A) then pck:='';