//Invisible Mode
var
  pck48:string;
  hidden:boolean;
  i,x,y:integer;

procedure Init;
begin
  hidden:=false;
  pck48:='';
  randomize;
end;

procedure SendMsg(msg:string);
begin
  buf:=#$4A;
  WriteD(0);
  WriteD(2);
  WriteS('hLaPEx');
  WriteS(msg);
  SendToClient;
end;

begin
  if FromServer then exit;
  case ord(pck[1]) of
    $1B:case ord(pck[2]) of
      $05:begin
        SendMsg('invisible_mode: Off');
        pck:=#$30;
        hidden:=false;
      end;
      $06:begin
        if pck48='' then exit;
        SendMsg('invisible_mode: On');
        hidden:=true;
        pck:=pck48;
        i:=2;
        x:=ReadD(i);
        y:=ReadD(i);
        x:=x+1000+round(random*200)-100;
        y:=y+1000+round(random*200)-100;
        buf:=pck;
        WriteD(x,2);
        WriteD(y,6);
        pck:=buf;
      end;
    end;
    $48:pck48:=pck;
    $30:if hidden then pck:='';
  end;
end