Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 17.05.2011, 21:14   #11
Новичок
 
Регистрация: 09.01.2011
Сообщений: 5
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Velizarx пока неопределено
По умолчанию

Это печать сообщения, с вашего форума:
Код:
procedure SendMsc(msc:string); 
begin 
    buf:=#$4A; 
    WriteD(0); 
    WriteD(10); 
    WriteS(''); 
    WriteS(msc); 
    SendToClientEx(Name); 
end;
Без этой функции в процедуре Инит тоже ничего не работает, не создается экземпляр таймера. Пока обошел этот лаг написав буквальный вызов процедуры Init в основном коде обработки пакетов. При первом её вызове она выставляет параметр в труе и больше не запускается, а как быть с функцией запускаемой при остановке скрипта - Free?
Вот весь код скрипта:
Код:
const 
//====================================== 
Name='BOPOH'; //<-----Ник Персонажа 
//====================================== 
var                 
//a:integer;
//x:integer;
//MyID:string; 
//y:integer;
//z:integer; 
//ValidatePosition:string; 

b:boolean;
InitStart:boolean;
timer:TTimer;

procedure Init; //Вызывается при включении скрипта
begin
    SendMsc('Скрипт стартовал');
    UseForConnectName:=Name;
    timer:=TTimer.Create(nil);
    timer.interval:=500; //Скорость распития ЦП в мили. сек., чем меньше число тем быстрее
    timer.OnTimer:=@OnTimer;
    timer.enabled:=false;  
    InitStart:=true;
end;


procedure OnTimer(Sender: TObject);
begin 
   SendMsc('Съел ЦП баночку)');
end;

procedure SendMsc(msc:string); 
begin 
    buf:=#$4A; 
    WriteD(0); 
    WriteD(10); 
    WriteS(''); 
    WriteS(msc); 
    SendToClientEx(Name); 
end;

procedure UseCP;
begin
    buf:=#$19;
    WriteD(268907985);
    WriteD(0);
    SendToServerEx(Name);
end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
    if InitStart<>true then Init();
    //Нечитаем пустые пакеты 
    if pck='' then exit; 
    //Если Имя соединения Name 
    //И Пакет Action от клиента то  
    if FromClient and (ConnectName=Name) 
        and (pck=hstr('49 2E 00 61 00 75 00 74 00 6F 00 63 00 70 00 00 00 00 00 00 00'))  //пакет сказать в чат .autocp
    then  begin     
        if b=true then begin 
            b:=false;
            timer.enabled:=false;
            SendMsc('режим autocp выключен'); //Оповещаем юзера
        end     
        else begin  
            b:=true;
            timer.enabled:=true;
            SendMsc('режим autocp включен'); //Оповещаем юзера
        end;  
        pck:='';
    end; 
    
    if FromServer and (ConnectName=Name) and (pck[0]='#$18') then
    begin 
        SendMsc('Пакет пойман!');
    end;
end.

procedure Free; //Вызывается при выключении скрипта
begin
    timer.free;
end;
Это недоделка для автохаванья ЦП банок, пока только по таймеру выводит надпись "Съел ЦП баночку)"

Последний раз редактировалось Velizarx, 17.05.2011 в 21:19.
Velizarx вне форума   Ответить с цитированием
 

  CoderX :: Forums > Lineage II > L2PacketHack


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 04:19.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!