Вернуться   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 спасибками от:
Старый 10.06.2008, 14:48   #6
Новичок
 
Аватар для AHAPXNCT
 
Регистрация: 02.06.2008
Сообщений: 24
Сказал Спасибо: 4
Имеет 3 спасибок в 1 сообщении
AHAPXNCT пока неопределено
По умолчанию

Вообщем собсно такой вопросец.
Имееться сервер С4, не ява. Куча багов пофиксено, но и много осталось.
Где то я читал за подмену ID предмета. Ну тоесть покупаеш один предмет, а получаешь совершенно другой.
Поскольку я не понимаю в Л2ПХ ничерта, обьясните мне возможно ли это. И если можна подкиньте скриптик для такой подмены.
__________________
Я не злопамятный, я добрый, просто память хорошая.
Не#^^й ржать с некоторых моих сообщений - ибо все мы когда то были нубами в этом нелёгком деле БОТОВОДСТВО.
AHAPXNCT вне форума   Ответить с цитированием
Старый 12.06.2008, 17:17   #7
Пользователь
 
Аватар для metalFan
 
Регистрация: 26.10.2007
Сообщений: 43
Сказал Спасибо: 8
Имеет 21 спасибок в 8 сообщенях
metalFan
По умолчанию

вопрос: как работает оператор XOR?
metalFan вне форума   Ответить с цитированием
Старый 12.06.2008, 19:12   #8
Новичок
 
Регистрация: 12.06.2008
Сообщений: 24
Сказал Спасибо: 7
Имеет 1 спасибку в 1 сообщении
-=Ma}{imuS=- пока неопределено
По умолчанию

в таком случае вот такой скрипт:
Код:
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;
procedure OnTimerBD(Sender: TObject);
    begin
    Case x of
    1:  begin
        buf:=hstr(d1);
        SendToServer;
        x:=x+1;
        end;
    2:  begin
        buf:=hstr(d2);
        SendToServer;
        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;
end.
я немагу понять чем его закончить?! ошибка у последнего слова "end" хотя вроде бы все правильно.
-=Ma}{imuS=- вне форума   Ответить с цитированием
Старый 12.06.2008, 23:05   #9
Пользователь
 
Аватар для APXAHGEJI
 
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
APXAHGEJI
По умолчанию

Ну как минимум не хватаем begin перед end. , а вообще у тебя только три процедуры, а собственно того что их бы запускало нет, как раз между этими begin end.

Добавлено через 17 минут
А вообще канешн жуть понадела что, ты бы не мудорствовал и велосипед не изобретал,а посматрел бы сначало похожее готовое.
У тя дохрена ошибок, я бы даже сказал у тебя мало что правильно.
Не определена переменная x; процедура OnTimerBD1 должна быть без параметра и она нигде не запускается; если даже переделаешь что бы запускалось, то будешь ждать 2 минуты прежде чем первый раз бафнет; бафнет он скорее всего только первый баф, ну может и второй в очередь встанет, но не факт, а третий баф точно не будет кастоваться, т.к. у тебя нету перерыва между отправками пакетов и тд и тп))

Последний раз редактировалось APXAHGEJI, 12.06.2008 в 23:05. Причина: Добавлено сообщение
APXAHGEJI вне форума   Ответить с цитированием
Старый 13.06.2008, 13:57   #10
Пользователь
 
Регистрация: 13.10.2007
Сообщений: 40
Сказал Спасибо: 14
Имеет 6 спасибок в 5 сообщенях
Silmaril
По умолчанию

лин, ксор это ЛОГИЧЕСКАЯ операция, и не вычитания, а исключения
а калькулятор есть в ввинде, он вполне такие операции понимает
Silmaril вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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