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

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 21.05.2009, 11:19   #1
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию Автозаточка, просто и сердито!

Расчитано на пвп серваки и изобилие блес точек...
Использование: включаем скрипт,
включаем скрипт << СМОТРЕТЬ
забиваем ник и уровень точки, точим нужную шмотку на +1(не важно со скольки), скрипт запоминает необходимые данные, 1е соц действие включает и выключает автозаточку.
1е соц действие << СМОТРЕТЬ
Скорость заточки выставлена 500мс(+2 в секунду), можно ускорять или замедлять в зависимости от сервака...

>>>1-й скрипт от mks<<<

Переделал для тех у кого 1й скрипт работает, но не останавливается заточив до указанного уровня:

>>>2-й скрипт от mks<<<


Переделал слегка для Грации Файнал.
Холява закончилась, если выставляешь интервал заточки меньше чем 2100мс получаешь авто-бан(возможно не везде так)

>>>3-й скрипт от mks<<<

для Грации Файнал.
4-й скрипт от mks
добавлен 2й таймер

Последний раз редактировалось NLObP, 08.12.2009 в 23:07.
mks вне форума   Ответить с цитированием
Старый 15.04.2010, 18:13   #331
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию

проверь правильность ввода переменных
Sashafaq вне форума   Ответить с цитированием
Старый 17.04.2010, 12:41   #332
Новичок
 
Регистрация: 17.04.2010
Сообщений: 2
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
a1a2 пока неопределено
По умолчанию

все не прочел, но мб все равно что нибудь посоветуете, в общем играю на пвп серве , естественно точить ручками оч оч напряжно поэтому начинаю осваивать пакетхак ну в принципе все норм но после 9 пакета выкидывает с игры (просто логаут)
лог пакетхака
Код:
18.04.2010 11:36:56 Стартует L2phx 3.4.1.83
18.04.2010 11:36:56 Успешно загрузили inject.dll
18.04.2010 11:36:56 Thread Start: основной поток ServerListen 316/2392
18.04.2010 11:36:56 На 56574 зарегистрирован локальный сервер
18.04.2010 11:36:59 Библиотека inject.dll успешно выгружена
18.04.2010 11:37:01 Альтернативно пропатчен новый клиент l2.exe (1052) 
18.04.2010 11:37:15 Коннект на 213.5.30.5:2106 проигнорирован
18.04.2010 11:37:17 Перехвачен коннект на 213.5.30.4:7777
18.04.2010 11:37:17 Thread Start: поток сервера Thread[0].SH 468/1520 SSock=364
18.04.2010 11:37:17 Thread Start: поток клиента Thread[0].CH 480/3128 CSock=492
18.04.2010 11:37:18 Считываем имя соединения...
18.04.2010 11:37:18 Имя соединения:Waterbot
18.04.2010 11:38:16 Disconnect: отвалился клиент Thread[0].CH 480/3128 CSock=492
18.04.2010 11:38:16 Сохраняем лог пакетов...
18.04.2010 11:38:16 Disconnect: отвалился сервер Thread[0].SH 468/1520 SSock=364
18.04.2010 11:38:16 Thread Exit: поток клиента Thread[0].CH 480/3128 CSock=492
18.04.2010 11:38:16 Thread Exit: поток сервера Thread[0].SH 468/1520 SSock=364
a1a2 вне форума   Ответить с цитированием
Старый 07.05.2010, 23:53   #333
Новичок
 
Регистрация: 07.05.2010
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
ZISTORM пока неопределено
По умолчанию

Люди, подскажите пжст почему скрипт точит только 1 раз, потом открывает окно заточки и все?
ZISTORM вне форума   Ответить с цитированием
Старый 13.05.2010, 12:03   #334
Новичок
 
Регистрация: 10.05.2010
Сообщений: 6
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
ildarado пока неопределено
По умолчанию

Использую 4-й скрипт от mks. Приходят такие пакеты:http://img.uz/s?fdch1g
delphi Код:
const    nik='WoWoWo';    Enchant=24; var    UseItem, SelectItem, EnchantItem: string;    Count, CurrentEnch, key, ItemID: integer;    Timer01: TTimer; procedure Init; begin    Timer01:=TTimer.Create(nil);    Timer01.OnTimer:=@OnTimer01;    Timer01.enabled:=false;    Timer01.interval:=2500; end; procedure OnTimer01(Sender: TObject); begin    case key of       1: begin          buf:=UseItem;          SendToServerEx(nik);          buf:=SelectItem;          SendToServerEx(nik);          end;       2: begin          buf:=EnchantItem;          SendToServerEx(nik);          end;    end; end; procedure Free; begin   Timer01.free;   count:=0;   CurrentEnch:=0; end; begin     if FromServer and (pck[1]=#$87) then case ReadD(2) of        0: begin           CurrentEnch:=CurrentEnch+1;           if CurrentEnch=Enchant then Timer01.enabled:=false;           end;        3: CurrentEnch:=0;        end;     if FromServer and (pck[1]=#$0C) then        if ReadD(4)=ItemID then key:=2 else key:=1;     if FromClient and (pck[1]=#$FE) then UseItem:=pck;     if FromClient and (pck[1]=#$65) then        begin        ItemID:=ReadD(4);        SelectItem:=pck;        end;     if FromClient and (pck[1]=#$87) then EnchantItem:=pck;     if FromClient and (pck[1]+pck[2]=#$56#$0C) then        begin           pck:='';           Timer01.enabled:=not(Timer01.enabled);        end; end.
Правельно ли я все сделал и это за строчка
if FromClient and (pck[1]+pck[2]=#$56#$0C) then???

Последний раз редактировалось NLObP, 22.08.2010 в 16:43.
ildarado вне форума   Ответить с цитированием
За это сообщение ildarado нажился спасибкой от:
Старый 13.08.2010, 00:33   #335
Новичок
 
Регистрация: 13.08.2010
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Azhole пока неопределено
По умолчанию

//J-Fobos: Вариант "сделайте все за меня и чтоб работало" здесь не прокатит
Но помочь не откажемся, спрашивайте что интересует, подскажем.

Раз на то пошло, основы программирования у меня есть но только на языке C++.
Многие функции я просто не перевариваю(здесь нужна помошь, где мне получить эту базу епрст).Что то я находил но там явно не для новичков гайд.
Код:
const
   nik='xxxx';
   Enchant=16;

var
   Useitem2:string; //х3 мои домыслы гм шоп в моём инвентори 
   UseItem, SelectItem, EnchantItem: string;//обьявляем переменные , которые будут изьяты и потока строкой 
   CurrentEnch: integer;//непонятно 
   key: boolean; // не знаю как работате наверное возращает значение true/false или  1\0 ...
   Timer01, Timer02: TTimer; 

procedure Init; // как я понял главный модуль скрипта
begin
   Timer01:=TTimer.Create(nil);
   Timer01.OnTimer:=@OnTimer01;
   Timer01.enabled:=false;
   Timer01.interval:=3000;

   Timer02:=TTimer.Create(nil);
   Timer02.OnTimer:=@OnTimer02;
   Timer02.enabled:=false;
   Timer02.interval:=500;

end;

procedure OnTimer01(Sender: TObject); 
begin
   case key of
      false: begin
         buf:=UseItem;
         SendToServerEx(nik);
         Timer02.enabled:=true;
         end; 
      true: begin
         buf:=EnchantItem;\\шмотка которую энчатим присвоили переменной буф(буфер?)
         SendToServerEx(nik);
         end;
   end;
         key:=not(key); \\ обнуляем переменную?
end;

procedure OnTimer02(Sender: TObject);
begin
         buf:=SelectItem;
         SendToServerEx(nik);
         Timer02.enabled:=false;
end;

procedure Free;\\соц действие )))
begin
  Timer01.free;
  Timer02.free;
  CurrentEnch:=0;
  key:=false;
end;
//проверка на что та причём работает постоянно я х3 (
//мне нужна такаяже только на кол. точек в инвенторе предположения где будет проверка, сразу при использование
UseItem (как я понял сама точка) поставить счётчик (или тут в моде таймер) и крч если Useitem<=0 то ... то используем Useitem2
а далее шаримся по гм шопу (появляется меню ну тут я не знаю как работать с менюшками , толи остаются пакеты с разделами , либо самому вписывать  а далее всё как обычно в меню Scrolls выбираем точку строго покупаем 50 и дальше точим точим) ...
//вобще программа очень заинтересовала но здесь нету материала от которого можна отталкнутся по крайней мере на виду.
begin
    if FromServer and (pck[1]=#$87) then case ReadD(2) of
       0: begin
          CurrentEnch:=CurrentEnch+1;
          if CurrentEnch=Enchant then Timer01.enabled:=false;
          end;
       3: CurrentEnch:=0;
       end;
    if FromClient and (pck[1]=#$19) then UseItem:=pck;
    if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
    if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
    if FromClient and (pck[1]+pck[2]=#$56#$0C) then
       begin
          pck:='';
          Timer01.enabled:=not(Timer01.enabled);
       end;
end.

Последний раз редактировалось Azhole, 14.08.2010 в 03:40.
Azhole вне форума   Ответить с цитированием
Старый 22.08.2010, 12:50   #336
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Цитата:
Сообщение от Azhole Посмотреть сообщение
Раз на то пошло, основы программирования у меня есть но только на языке C++.
Многие функции я просто не перевариваю(здесь нужна помошь, где мне получить эту базу епрст).Что то я находил но там явно не для новичков гайд.
В прикрепленных темах есть вся нужная информация. Конечно она сделана не в виде гайдов, а как справочник. Вот тот прокоментирую тот скрипт что вы скинули:
Код:
const
   nik='xxxx';  //константа с именем чара
   Enchant=16; //константа с желаемым уровнем заточки

var
   Useitem2:string; //переменная в скрипте не используется. Кажется автор скрипта просто забыл ее убрать, строку вообще можно удалить
   UseItem, SelectItem, EnchantItem: string;//обьявляем переменные , которые будут изьяты и потока строкой 
   CurrentEnch: integer;//уровень заточки предмета в данный момент 
   key: boolean;//так как вы и написали, либо тру, либо фелс
   Timer01, Timer02: TTimer;    //два таймера

procedure Init; //это не главный модуль скрипта, это процедура которая выполняется при старте скрипта. В данном случаи в ней задаются парамерты работы 2-х таймеров.
begin
   Timer01:=TTimer.Create(nil);
   Timer01.OnTimer:=@OnTimer01;
   Timer01.enabled:=false;  //таймер сначала выключен
   Timer01.interval:=3000;

   Timer02:=TTimer.Create(nil);
   Timer02.OnTimer:=@OnTimer02;
   Timer02.enabled:=false; //таймер сначала выключен
   Timer02.interval:=500;

end;

procedure OnTimer01(Sender: TObject); //процеруда которая вылняется первым таймером
begin
   case key of
      false: begin
         buf:=UseItem;//переменная buf испоьзуется для отправки пакета, что в этой переменной бубет находится то и отправится на сервер/клиент
         SendToServerEx(nik);  //   отправка  buf на сервер
         Timer02.enabled:=true;   //вклчюаем второй таймер
         end; 
      true: begin
         buf:=EnchantItem;
         SendToServerEx(nik);//отправка  buf на сервер
         end;
   end;
         key:=not(key); // меняем значение переменной, с тру на фелс или с фелс на тру
end;

procedure OnTimer02(Sender: TObject);    //процеруда которая вылняется первым таймером
begin
         buf:=SelectItem;
         SendToServerEx(nik);      
         Timer02.enabled:=false;   //выклчюем второй таймер
end;

procedure Free; //процедура которая выполняется при остановке скрипта, в данном случаи освобождаем память от таймеров
begin
  Timer01.free;
  Timer02.free;
  CurrentEnch:=0; //не нужная строка, при закрытии скрипта переменная исчезнет
  key:=false;   //не нужная строка, при закрытии скрипта переменная исчезнет
end;


//все ниже написанные строки будут выполнятся при перхвате каждого пакета
//это значит что за секунду они будут выпонятся раз 20-30, в зависимости от количества пакетов что придут от сервера и которые отправит клиент

//материал есть и не спрятанный. абсолютно вся нужная информация находится в закреплнных темах этого и соседних разделов, а также в справке к программе 

begin
    if FromServer and (pck[1]=#$87) then case ReadD(2) of
       0: begin
          CurrentEnch:=CurrentEnch+1;
          if CurrentEnch=Enchant then Timer01.enabled:=false;
          end;
       3: CurrentEnch:=0;
       end;
    if FromClient and (pck[1]=#$19) then UseItem:=pck;
    if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
    if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
    if FromClient and (pck[1]+pck[2]=#$56#$0C) then
       begin
          pck:='';
          Timer01.enabled:=not(Timer01.enabled);
       end;
end.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился 3 спасибками от:
Старый 20.12.2011, 21:00   #337
Новичок
 
Аватар для °Exzest°
 
Регистрация: 20.12.2011
Сообщений: 3
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
°Exzest° пока неопределено
По умолчанию

Можно ли сделать так в этом скрипте, чтоб точилась не одна вещь, а к примеру в инвентаре 4 меча и каждый меч подгонялся под топ точку другого?
°Exzest° вне форума   Ответить с цитированием
Старый 25.02.2012, 15:51   #338
Новичок
 
Регистрация: 19.02.2012
Сообщений: 2
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
FixGM пока неопределено
По умолчанию

Использую 4 скрипт от МКС
Вот пакеты при точке с +3 на +4
19 D8 7C 50 40 00 00 00 00 (UseItem)
D0 4C 00 BA 90 50 40 (RequestExTryToPutEnchantTargetItem)
5F BA 90 50 40 00 00 00 00 (RequestEnchantItem)
87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (EnchantResult)
Вот поломка с +4 на 0
те же 1-ые 3
87 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (EnchantResult)

Результат. На +5 вещь сломалась. Далее точнулась с 0 на 1 и скрипт остановился. Визуально доспех точен на +5, реально +1.

Скрин

Скрипт

Что в скрипте изменить, чтоб корректно работал?
(Может еще какие-нибудь входящие пакеты выложить?)

Последний раз редактировалось FixGM, 25.02.2012 в 16:38.
FixGM вне форума   Ответить с цитированием
Старый 26.02.2012, 11:38   #339
Местный
 
Аватар для Pinko
 
Регистрация: 31.05.2011
Сообщений: 130
Сказал Спасибо: 287
Имеет 23 спасибок в 22 сообщенях
Pinko пока неопределено
По умолчанию

3: CurrentEnch:=0;
1: CurrentEnch:=0;
__________________
Никого нельзя ничему научить,
но всему можно научиться

народная мудрость

"Если любишь в жизни риск - форматируй жесткий диск!"
Pinko вне форума   Ответить с цитированием
За это сообщение Pinko нажился спасибкой от:
Старый 26.02.2012, 12:35   #340
Новичок
 
Регистрация: 30.01.2012
Сообщений: 2
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Piter12 пока неопределено
По умолчанию

Подскажите что может быть Скрипты автоточка отрабатывают только один раз в атоматическом режиме, далее приходится давить на соц действие да либо на точку разок нажать и всё нормально ещё разок точнёт. Всё приятно но хочется полного автоматизма.
Я так понял там проблема с Time03 , он включатся не хочет , а втот почему я не знаю
Скрипт во вложении так он не влазит в одно сообщение кому интересно посмотрите.
Играю на грации финалке.

Я так понял знающих нет. Печально Будим надеется что хоть кто то поможет.
Вложения
Тип файла: txt скрипт.txt (13.8 Кб, 29 просмотров)

Последний раз редактировалось Piter12, 28.02.2012 в 11:09.
Piter12 вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



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

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


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

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

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