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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 08.06.2008, 17:45   #1
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

там решений куча в теме, с чего ты взял что если у тябя нет времени учить язык программирования скриптов, то у кого то другого будет время спецом для тебя писать скрипт . направление поиска указал ищи там есть готовые скрипты для бд и свса
Grinch вне форума   Ответить с цитированием
Старый 08.06.2008, 18:26   #2
Гость
 
Сообщений: n/a
По умолчанию

В том то и дело что мне не нужны готовые скрипты, я хочу сам разобратся. Вот я полный нуб обьясни мне где в этом скрипте строчка которая отвчеает за то чтоб через каждые 2 минуты танцевал?!

Код:
//Скрипт на БД чтобы танцевал каждые 2 минуты и бегал за командиром
const //Dance
    d1='2F 11 01 00 00 00 00 00 00 00';    // Dance of Mystic
    d2='2F 15 01 00 00 00 00 00 00 00';    // Dance of Light
    d4='2F 10 01 00 00 00 00 00 00 00';    // Inspirations
    d3='2F 12 01 00 00 00 00 00 00 00';    // Dance of Fire
    d5='';    // Dance of Concentration

    var
    IDPartyMember, IDAssistTarget: String; //ИД командира и ИД его таргета и Собственный ИД
    CoordBDX, CoordBDY, CoordBDZ :String; //координаты бота
    NameBD, NameKomandos : String; // Имена
    x: integer;
    timerBD: TTimer;
    timerBD1: TTimer;

procedure OnTimerBD(Sender: TObject);
    begin
    Case x of
    1:  begin
        buf:=hstr(d1);
        SendToServerEx(NameBD);
        x:=x+1;
        end;
    2:  begin
        buf:=hstr(d2);
        SendToServerEx(NameBD);
        x:=x+1;
        end;
    3: begin
       bRun;
       x:=0;
       timerBD.enabled:=false;
       end;
    end;
    end;

procedure OnTimerBD1(Sender: TObject);
    begin
         timerBD.enabled:=true;
         x:=1;
    end;

procedure bRun;
     begin
         if (CoordBDX <> '') and (IDPartyMember <> '') then
         begin
              //выделяем командира, эмулируя щелчек мыши
              buf:=hstr('04') + IDPartyMember + CoordBDX + CoordBDY + CoordBDZ + hstr('00');
              SendToServerEX(NameBD);
              //бежим за командиром эмулируя повторный щелчек мыши по таргету
              buf:=hstr('04') + IDPartyMember + CoordBDX + CoordBDY + CoordBDZ + hstr('00');
              SendToServerEX(NameBD);
         end;
    end;

procedure Init; //Вызывается при включении скрипта
begin
     NameBD:='НИК БД;
     NameKomandos:='НИК КОМАНДИРА';
     timerBD:=TTimer.Create(nil);
     timerBD.OnTimer:=@OnTimerBD;
     timerBD.enabled:=false;
     timerBD.interval:=2000;
     x:=0;
     timerBD1:=TTimer.Create(nil);
     timerBD1.OnTimer:=@OnTimerBD1;
     timerBD1.enabled:=false;
     timerBD1.interval:=120000;
end;

procedure Free; //Вызывается при выключении скрипта
begin
     timerBD.Free;
     timerBD1.Free;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
      if pck='' then exit;

         //если от сервака принят пакет с ИД и Координатами членов пати то
         if FromServer and (pck[1]=#$a7) then
         begin
              //запоминаем ИД командира
              IDPartyMember:=pck[6] + pck[7] + pck[8] + pck[9];
         end;

       //если принят пакет от клиента с кординатами бд то
       if FromClient and (ConnectName=NameBD) and (pck[1]=#$48) then
       begin
            //запоминаем координаты
            CoordBDX:= pck[6] + pck[7] + pck[8] + pck[9];
            CoordBDY:= pck[10] + pck[11] + pck[12] + pck[13];
            CoordBDZ:= pck[14] + pck[15] + pck[16] + pck[17];
       end;


     //далее идут управляющие команды

       //если КОМАНДИР пишет в любой чат цифру "1" то
       if FromClient and (ConnectName=NameKomandos)and (pck[1]=#$38) then
          if (pck[2]=#$31) and (pck[3]=#$00) then
          begin
               //убиваем этот пакет, чтоб сервер его не получил
               pck:='';
               //БД БЕЖИТ за КОМАНДИРОМ
               bRun;

               //выйти из рабочей части скрипта чтобы другие услови не проверяли убитый пакет нулевой длинны
               exit;
          end;
// запускаем танцы
    if FromClient and (ConnectName=NameKomandos)and (pck[1]=#$38) then
           if (pck[2]=#$38) and (pck[3]=#$00) then
           begin
                //убиваем этот пакет, чтоб сервер его не получил
                pck:='';

                // бафы
                timerBD1.enabled:=true;
                timerBD.enabled:=true;
                x:=1;
           exit;
           end;

// остановить танцы
     if FromClient and (ConnectName=NameKomandos)and (pck[1]=#$38) then
           if (pck[2]=#$39) and (pck[3]=#$00) then
               begin
                //убиваем этот пакет, чтоб сервер его не получил
                pck:='';

                timerBD1.enabled:=false;
                exit;
                end;
end.
  Ответить с цитированием
Старый 08.06.2008, 20:53   #3
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

Цитата:
Сообщение от ;9304
procedure Init; //Вызывается при включении скрипта
begin
NameBD:='НИК БД;
NameKomandos:='НИК КОМАНДИРА';
timerBD:=TTimer.Create(nil);
timerBD.OnTimer:=@OnTimerBD;
timerBD.enabled:=false;
timerBD.interval:=2000;
x:=0;
timerBD1:=TTimer.Create(nil);
timerBD1.OnTimer:=@OnTimerBD1;
timerBD1.enabled:=false;
timerBD1.interval:=120000;
end;
вот она
Grinch вне форума   Ответить с цитированием
Старый 10.06.2008, 14:37   #4
Гость
 
Сообщений: n/a
По умолчанию

можно поподробней узнать как работает процедура таймера, и привести для примера рабочий скрипт, который бы отправлял определенный пакет каждые 2 минуты?
  Ответить с цитированием
Старый 10.06.2008, 14:52   #5
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Вот смотри: сначала описываем таймер и бафы:
delphi Код:
const //Dance     d1='2F 11 01 00 00 00 00 00 00 00';    // Dance of Mystic     d2='2F 15 01 00 00 00 00 00 00 00';    // Dance of Light     d4='2F 10 01 00 00 00 00 00 00 00';    // Inspirations     d3='2F 12 01 00 00 00 00 00 00 00';    // Dance of Fire     d5='';    // Dance of Concentration var TimerBD:TTimer; procedure INIT; begin timerBD:=TTimer.Create(nil); timerBD.OnTimer:=@OnTimerBD; timerBD.enabled:=false; timerBD.interval:=120000; end;
потом пишешь что будет делаться каждые 120000 милисекунд или 2 минуты.
delphi Код:
procedure OnTimerBD(Sender: TObject);     begin     Case x of     1begin         buf:=hstr(d1);//сюда баф         SendToServerEx(NameBD);         x:=x+1;         end;     2begin         buf:=hstr(d2);//сюда баф         SendToServerEx(NameBD);         x:=x+1;         end;     3: begin        buf:=hstr(d3);//сюда баф        x:=0;        timerBD.enabled:=false;        end;     end;     end;
и наконец - при каком-либо условии включаем таймер баффов:
delphi Код:
TimerBD.Enabled:=true;
Вот и все - дальше - сам разбирайся =) а лучше книжку купи или скачай по основам дельфи/паскаля.
QaK вне форума   Ответить с цитированием
За это сообщение QaK нажился 2 спасибками от:
Старый 12.06.2008, 12:29   #6
Гость
 
Сообщений: n/a
По умолчанию

вылазит ошибка в самом конце, у последнего слова end "Begin expected"
и вобще скрипт не запускается когда ставлю на нем галочку
  Ответить с цитированием
Старый 12.06.2008, 12:59   #7
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

Цитата:
Сообщение от -=Ma}{imuS=- Посмотреть сообщение
вылазит ошибка в самом конце, у последнего слова end "Begin expected"
и вобще скрипт не запускается когда ставлю на нем галочку
нам всё понятно, фотографию свою дай мы по фотографии скрипт посмотрим, без неё не видим ни хрена экстрасенсы из нас хреновые.
Grinch вне форума   Ответить с цитированием
Старый 12.06.2008, 13:03   #8
Гость
 
Сообщений: n/a
По умолчанию

подскажите что в этом скрипте не так, ставлю галочку но он не танцует, и через 2 минуты тоже не танцует:

Код:
var
  Timer1 : TTimer; 
  q : Integer;  // счетчик 
procedure Init;
begin
  Timer1 := TTimer.Create(nil);
  Timer1.Interval := 120000;  // задержка таймера 12к мс
  Timer1.Enabled := False;
  Timer1.OnTimer := @OnTimer;   // имя процедуры, которая будет выполнятся при проходе таймера
end;
procedure Free;
begin
  Timer1.Free;
end;
procedure OnTimer;
begin
buf:=HStr('2F 0F 01 00 00 00 00 00 00 00');     //attack
SendToServer;

buf:=HStr('2F 13 01 00 00 00 00 00 00 00');     //haste
SendToServer;

buf:=HStr('2F 12 01 00 00 00 00 00 00 00');     //focus
SendToServer;
  Inc(q);
  if q = 4 then  // если выполнилось уже 4 раза, то останавливаем таймер
    Timer1.Enabled := False;
end;
begin
    begin
      Timer1.Enabled := True;
      q := 0;  //счетчик ставим у 0
    end;
end.
  Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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