Показать сообщение отдельно
Старый 22.05.2009, 01:57   #1
Пользователь
 
Регистрация: 22.04.2009
Сообщений: 72
Сказал Спасибо: 25
Имеет 19 спасибок в 9 сообщенях
Lynx пока неопределено
По умолчанию Новый скрипт на невидимость.

Улучшил ckрипт на нeвидимость. Теперь ты видишь мобов, а они тебя-нет.
Работает не у всех. У меня работает
Код:
//Invisible Mode
var 
  pck48:string;
  hidden,bi:boolean;
  i,x,y,targetid:integer;
  timer1:ttimer;
procedure Init; 
begin 
  hidden:=false; 
  pck48:=''; 
  randomize; 
  timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer; //
timer1.enabled:=false; //
timer1.interval:=200;
end; 

procedure Free; //Вызывается при выключении скрипта
begin
 timer1.free;
end;
procedure OnTimer(Sender: TObject);
begin
bi:=false;
timer1.enabled:=false;
  end;
procedure SendMsg(msg:string); 
begin 
  buf:=#$4A; 
  WriteD(0); 
  WriteD(2); 
  WriteS('hLaPEx'); 
  WriteS(msg); 
  SendToClient; 
end; 

 begin
if FromServer then begin
case ord(pck[1]) of
$28:pck:=#$48;
    $12:if bi=true then pck:=#$48;
    $2A:if bi=true then pck:=#$48;
end;
end;
if FromServer then exit;
  case ord(pck[1]) of 
    $04:targetid:=ReadD(2);
    $1B:case ord(pck[2]) of
      $05:begin 
        SendMsg('invisible_mode: Off'); 
        pck:=#$30; 
        hidden:=false; 
        timer1.enabled:=true;
        bi:=true;

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; 
        timer1.enabled:=true;
        bi:=true;
        end;
    end; 
    $48:pck48:=pck; 
    $30:if hidden then pck:=''; 

    end;
end.

Последний раз редактировалось Lynx, 23.05.2009 в 15:02. Причина: добавил, чтоб не слетал ваш таргет, и не исчезали мобы
Lynx вне форума   Ответить с цитированием
За это сообщение Lynx нажился 5 спасибками от: