Добавил код для прерывания каста на 7990 мс.
Не подскажите, почему вылетает? Потом напишу автоопределение, когда прерывать
Код:
var
Status, socialid, Magic1: 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; //Отправил пакет дальше
buf:=#$73; //Открыть продажу
SendToServer;
buf:=#$76; //Закрыть продажу
SendToServer;
pck:='';
end;
//Добавил
if FromClient and (pck[1]=#$2f) then
begin
buf:=pck;
SendToServer;
delay(7990);
buf:=#$48#$00#$00#$FE#$FF#$7F#$AB#$03#$00#$E9#$F1#$FF#$FF#$88#$D4#$00#$00#$00#$00#$00#$00;
SendToServer;
buf:=#$30#$00#$00;
SendToServer;
pck:='';
end;
end;
end.