Цитата:
Сообщение от Lelee
ребят подскажите что не так? или я слепая. но при включении скарипта "пнх" выдает ошибку.
Код:
const
Name='lLelee'; // свой ник
var
timer1: TTimer;
count:integer; //- счетчик
procedure Init; //вызывается при включении скрипта
begin
count:=1;
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer1; //
timer1.enabled:=false; //
timer1.interval:=1000;
end;
procedure Free; //вызывается при выключении скрипта
begin
timer1.Free;
end;
procedure Say(msg:string);
begin
buf:=hstr('4A 00 00 00 00');
WriteD(2);
WriteS(Name);
WriteS(msg);
SendToClientEx(Name);
end;
procedure OnTimer1(Sender: TObject);
begin
if count=1 then
begin
buf:=hstr('19 2A 42 30 10 00 00 00 00');
count:=2;
end
else begin
buf:=hstr('D0 4F 00 AC F4 30 10');
count:=1;
end;
SendToServerEx(Name);
end;
begin
//****************************************************************************
//не обрабатываем пустые пакеты
if pck='' then exit;
//****************************************************************************
//чоц дейтсвие "да" для начало спама пакетов
if FromClient and (ConnectName=Name) and (pck=HStr('34 06 00 00 00')) then begin
Say('Старт!!!');
timer1.enabled:=true;
end;
// соц действие "нет" для отключения спама
if FromClient and (ConnectName=Name) and (pck=HStr('34 05 00 00 00')) then begin
Say('Стопï!!!');
timer1.enabled:=false;
end;
end.
то есть после того как выдал ошибку скрипт не отключается, при нажатии на чоц действие "да" он пишит в пм что старт все нормально, а пакеты отпралять не хочет.
|
у меня получилось посылать пакеты после социального действия, но проблема в том что надо изменить какой то пакет чтобы точка останавливалась, вот сам скрипт если найдете способ остановки заточки поделитесь
Код:
const
Name='/свое имя/';
var
timer:TTimer;
procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=700;
timer.OnTimer:=@fireTimer;
timer.enabled:=false;
end;
procedure Free;
begin
timer.Free;
end;
procedure fireTimer(Sender: TObject);
begin
buf:=hstr('/пакет открытия точки/');
SendToServer;
buf:=hstr('/пакет вещи в слот/');
SendToServer;
buf:=hstr('/пакет завершения точки (для ускорения процеса)/');// необезательно
SendToServer;
end;
begin
//****************************************************************************
//не обрабатываем пустые пакеты
if pck='' then exit;
//****************************************************************************
//социальное действие yes для начало точки
if FromClient and (ConnectName=Name) and (pck=HStr('5A 06 00 00 00')) then begin
timer.enabled:=true;
end;
//****************************************************************************
//социальное действие no для начало точки
if FromClient and (ConnectName=Name) and (pck=HStr('5A 05 00 00 00 ')) then begin
timer.enabled:=false;
end;
if FromServer and (ConnectName=Name) and (pck = HStr('/Сюда пакет с нужной заточкой пухи!(это важно нада пральный пакет)/')) then begin
timer.enabled:=false;
end;
end.