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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 27.11.2009, 14:57   #1
Новичок
 
Аватар для Djekc
 
Регистрация: 15.11.2009
Сообщений: 17
Сказал Спасибо: 6
Имеет 1 спасибку в 1 сообщении
Djekc пока неопределено
По умолчанию Автозакупка из ГМ шопа(Помогите создать)

Доброго времени суток!

Помогите если не затруднит.Как реализовать скрипт на авто закупку из ГМ шопа?На сервере проблем с деньгами нет 21кол=2.1ккк.
Итак:Есть ГМ шоп в пункте обменник нужно поменять 20 кол на адену,потом из пункта шоп выбрать к примеру свитки->заточки и купить 100 блес Ы випон.Пробывал ловить по 1му пакету и отправлять на сервер смог получить только нажатие кнопочки купить,пробывал словить ряд пакетов(очищаю лог пакетов произвожу обмен коинов на адену и покупку скролов,копирую все полученные пакеты и отправляю серверу),результат нулевой.
Играю на сервере l2rx.com хроники камаэль-Хелбаунд.
Djekc вне форума   Ответить с цитированием
Старый 27.11.2009, 19:09   #2
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

поменять 21 кол на адену
0x23 (RequestBypassToServer)
Код:
23 6D 00 65 00 6E 00 75 00 5F 00 73 00 65 00 6C 00 65 00 63 00 74 00 3F 00 61 00 73 00 6B 00 3D 00 2D 00 31 00 31 00 26 00 72 00 65 00 70 00 6C 00 79 00 3D 00 31 00 39 00 30 00 30 00 31 00 00 00
0xB0 (MultiSellChoose
Код:
B0 39 4A 00 00 01 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
купить 100 блес Ы випон.
0x23 (RequestBypassToServer)
Код:
23 6D 00 65 00 6E 00 75 00 5F 00 73 00 65 00 6C 00 65 00 63 00 74 00 3F 00 61 00 73 00 6B 00 3D 00 2D 00 39 00 26 00 72 00 65 00 70 00 6C 00 79 00 3D 00 31 00 34 00 30 00 30 00 31 00 00 00
0xB0 (MultiSellChoose)
Код:
B0 B1 36 00 00 25 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
вот пакеты какие ты должен выловит и потом отправить

нпс должен быть в таргете
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать
TAMBIK вне форума   Ответить с цитированием
За это сообщение TAMBIK нажился 2 спасибками от:
Старый 28.11.2009, 01:22   #3
Новичок
 
Аватар для Djekc
 
Регистрация: 15.11.2009
Сообщений: 17
Сказал Спасибо: 6
Имеет 1 спасибку в 1 сообщении
Djekc пока неопределено
По умолчанию

Мучался весь вечер и всю ноч,я только начал писать по этому прошу прощения за неграмотность...
Код:
begin
  if FromClient and (ConnectName='xxx') 
  and (pck=HStr('1b 04 00 00 00')) then begin //Если l2ph получил этот пакет от ххх то --->
    buf:=HStr('B0 39 4A 00 00 03 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
');//<---отправить это
    SendToServerEx('xxx');//<--- от имени
    pck:='';
  end;
end.
Я так понимаю что при нажатии соц Виктори должно обменяться 20 колов на Адену?Но почему то л2пнх не ловит нажатие соц действия=\
P.S:Нпц был в таргете,версия л2пнх 3.5.28.151
P.P.S:При отправки пакета MultiSellChoose
Код:
B0 39 4A 00 00 03 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20 колов меняеться на 2ккк адены.НПЦ выбран в таргет.Еси не выбрать НПЦ и отправить пакет кикает с серва(эт я наверно зря дописал,но мало ли,может это важно)

Последний раз редактировалось Djekc, 28.11.2009 в 01:27.
Djekc вне форума   Ответить с цитированием
Старый 28.11.2009, 02:09   #4
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Код:
and (pck=HStr('1b 04 00 00 00'))
1b это для интерлюда
а для камель надо 34 пакет соцдействия
04 само действие
если не в таргенте то кому предназначен пакет ??
поэтому и кикает
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать
TAMBIK вне форума   Ответить с цитированием
Старый 28.11.2009, 03:57   #5
Новичок
 
Аватар для Djekc
 
Регистрация: 15.11.2009
Сообщений: 17
Сказал Спасибо: 6
Имеет 1 спасибку в 1 сообщении
Djekc пока неопределено
По умолчанию

Спасибо исправил,заработало на половину...
Обмен коинов
Код:
begin
  if FromClient and (ConnectName='Djekc') 
  and (pck=HStr('34 02 00 00 00 ')) then begin 
    buf:=HStr('B0 39 4A 00 00 03 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  '); 
    SendToServerEx('DJekc');
    pck:='';
  end;
end.
Покупка 100 блесов
Код:
begin
  if FromClient and (ConnectName='Djekc') 
  and (pck=HStr('34 03 00 00 00 ')) then begin 
    buf:=HStr('B0 B1 36 00 00 25 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '); 
    SendToServerEx('DJekc');
    pck:='';
  end;
end.
Просидел пол ночи так и не дошло как обьеденить всё это в 1 скрипт,еще проблема в том что пакет мультиСеллЧёйс посылаеться,кот выбран в таргет,но ничего не происходит пока сам не зайдёш в ГМ шоп и не поменяеш коины/купиш блесы,потом начинает по соц действию покупать тока что нить одно(то чно было куплено последним).
Пробовал обьеденить скрипт в один что бы просто клацать на 2 соц действия...Не вышло,скрипт запускаеться,но походу не совсем работает
Код:
begin
  if FromClient and (ConnectName='Djekc') 
  and (pck=HStr('34 02 00 00 00 ')) then begin 
    buf:=HStr('B0 39 4A 00 00 03 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  '); 
    SendToServerEx('DJekc');
    pck:='';
  end;
  if FromClient and (ConnectName='Djekc') 
  and (pck=HStr('34 03 00 00 00 ')) then begin 
    buf:=HStr('B0 B1 36 00 00 25 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '); 
    SendToServerEx('DJekc');
    pck:='';
  end;
end.
Короче литр кофе,мигрень и практически ни какой результат,делаю вывод что скриптописатель из меня никакй,если у кого есть рабочий скрипт на автозакупку или комуто не сложно написать поделитесь.Чесно,приложил все усилия но ничего не вышло,вообще задумка была такая:
Подходиш к НПЦ меняеш n колов на адену(ловим пакет мультиСелЧёйс),потом покупаеш необходимый предмет или n-кол-во предметов(ловим второй пакет МультиСелЧёйс),указываеш сколько раз повторить и жмёш к примеру соц действие ДА тем самым запуская цикл на указанное количество раз.
P.S:Честно я старался!Но толи мозги у мя не те,то ли поздно и голова в поряде болит,обидно,а ведь это довольно простой скрипт=\
Djekc вне форума   Ответить с цитированием
Старый 28.11.2009, 10:46   #6
Новичок
 
Аватар для Djekc
 
Регистрация: 15.11.2009
Сообщений: 17
Сказал Спасибо: 6
Имеет 1 спасибку в 1 сообщении
Djekc пока неопределено
По умолчанию

Цитата:
Сообщение от nneett Посмотреть сообщение
Ловлю пакет колы-адена, ловлю пакет адена-точки, ставлю в посылку и то время которое нужно.
И как?Всё чётко срабатывает?Просто у меня чз отправку вроде тож всё работает но иногда при посылки МультиСелЧёйс тупо нет реакции пока не купиш то что посылаеш руками...Та же беда со скриптом

Добавлено через 31 минуту
Проснулся с утра ис новыми силами поштудировал не много инет на предмет оператора if then else и смог таки более мение ровно слепить 2 скрипта в 1
Код:
//автоматизация закупки
const
//==========================================================================================
   myname='xxx'; //<<== пишем свой НИК
//==========================================================================================   
begin
//начало условия                                              
  if FromClient and (ConnectName='myname') 
  and (pck=HStr('34 02 00 00 00 ')) //Соц.действие hello
  then 
   begin 
//=================================Обмен коинов==============================================   
    buf:=HStr(''); //пакет RequestBypassToServer обмена колов
    SendToServerEx('myname');
    pck:='';
//между этими 2мя пакетами хотел бы поставитбь задержку в 100 мс,но не знаю как...    
    buf:=HStr('');//пакет MultiSellChoose обмена колов
    SendToServerEx('myname');
    pck:='';
   end
//===========================================================================================   
  else 
//=============================Покупка необходимого============================================  
  if FromClient and (ConnectName='myname') 
  and (pck=HStr('34 03 00 00 00 '))//Соц.действие victory 
  then 
   begin 
    buf:=HStr(''); //пакет RequestBypassToServer покупаемой вещи
    SendToServerEx('myname');
    pck:='';
//между этими 2мя пакетами хотел бы поставитбь задержку в 100 мс,но не знаю как...    
    buf:=HStr('');////пакет MultiSellChoose покупаемой вещи
    SendToServerEx('myname');
    pck:='';
   end;
//============================================================================================   
//конец условия                                              
end.
Сей час нет возможности зайти в игру,но надеюсь будет работать.
P.S:Просьба к TAMBIK если не тяжело подскажи чз какие функции(или где можно об этом доступно почитать)можно сделать так что бы не приходилось ловит каждый раз по новой пакеты мультиселчёйс если захочиться сменить покупку блесов на чё нить еще или поменять колво обмениваемых коинов/покупаемых точек.

Последний раз редактировалось Djekc, 28.11.2009 в 11:14. Причина: Добавлено сообщение
Djekc вне форума   Ответить с цитированием
Старый 28.11.2009, 12:06   #7
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Код:
 // =================================================================
  const
   Name='ххххх';

    var
    Timer01: TTimer;
   x :integer;

procedure OnTimer01(Sender:TObject);// процедурa таймера
begin
  case x of
  1: begin
     buf:=hstr('пакет №1');
     SendToServerEx(Name);
     inc(x);
     end;
  2: begin
     buf:=hstr('пакет №2');
     SendToServerEx(Name);
     inc(x);
     end;
  3: begin
     buf:=hstr('пакет №3');
     SendToServerEx(Name);
     inc(x);
     end;
   4:begin
     buf:=hstr('пакет №4');
     SendToServerEx(Name);
     Timer01.enabled:=false; // отключили таймер
     x:=0;
     end;
end;
end;
procedure Init;
begin
  x:=0;
  Timer01:=TTimer.Create(nil);
  Timer01.OnTimer:=@OnTimer01;
  Timer01.enabled:=false;
  Timer01.interval:=2000; //<<== время  интервал  1000 = 1 секунда
end;

procedure Free; 
begin
 Timer01.free;
end;
//-------------------------
begin 
 // при приходе пакета № 34 от клиента  и если выполнена соцдействие victory = 3 
  if FromClient and (pck[1]=#$34) and (ReadD(2) = 3) then begin // 
      x:=1; // указатель какое действие в процедуре таймера начать выполнять
      Timer01.enabled:=true; // включить таймер
      pck:='';
     exit; 
   end;    
end.
Добавлено через 2 минуты
Код:
можно сделать так что бы не приходилось ловит каждый раз по новой пакеты
посмотри тему автозаточка просто от MKS
там как запомнить пакет
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать

Последний раз редактировалось TAMBIK, 28.11.2009 в 12:06. Причина: Добавлено сообщение
TAMBIK вне форума   Ответить с цитированием
За это сообщение TAMBIK нажился 2 спасибками от:
Старый 28.11.2009, 12:22   #8
Новичок
 
Аватар для Djekc
 
Регистрация: 15.11.2009
Сообщений: 17
Сказал Спасибо: 6
Имеет 1 спасибку в 1 сообщении
Djekc пока неопределено
По умолчанию

Спасибо за помощь,вроде разобрался что и к чему,есть догадка что все 4 пакета будут посылаться друг за другом без задержки,но думаю я это смогу исправить,тему от MKS гляну,может выйдет вставить считывание пакетов.
Djekc вне форума   Ответить с цитированием
Старый 28.11.2009, 16:00   #9
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Djekc,
Код:
есть догадка что все 4 пакета будут посылаться друг за другом без задержки,
Код:
 Timer01.interval:=2000; //<<== время  интервал  1000 = 1 секунда
интервал между пакетами
Код:
2000; //<<== время  интервал
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать
TAMBIK вне форума   Ответить с цитированием
Старый 29.11.2009, 04:07   #10
Новичок
 
Аватар для Djekc
 
Регистрация: 15.11.2009
Сообщений: 17
Сказал Спасибо: 6
Имеет 1 спасибку в 1 сообщении
Djekc пока неопределено
По умолчанию

Странно,вроде всё должно работать Но при попытке начать скрипт,тобиш по нажатию соц.Виктори как раз чз 2 секунды кикает)))
Код:
case x of
  1: begin
//пакет на обмен коинов RequestBypassToServer
     buf:=hstr('23 6D 00 65 00 6E 00 75 00 5F 00 73 00 65 00 6C 00 65 00 63 00 74 00 3F 00 61 00 73 00 6B 00 3D 00 2D 00 31 00 31 00 26 00 72 00 65 00 70 00 6C 00 79 00 3D 00 31 00 39 00 30 00 30 00 31 00 00 00 ');
     SendToServerEx(Name);
     inc(x);
     end;
  2: begin
//пакет на обмен коинов MultiSellChoose
     buf:=hstr('B0 39 4A 00 00 03 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ');
     SendToServerEx(Name);
     inc(x);
     end;
  3: begin
//пакет на покупку точек RequestBypassToServer (Какойто он сомтительно длинный=\ )
P.S:Понял ошибку 15 минут спустя,словил не тот пакет нужен был ('23 6D 00 65 00 6E 00 75 00 5F 00 73 00 65 00 6C 00 65 00 63 00 74 00 3F 00 61 00 73 00 6B 00 3D 00 2D 00 39 00 26 00 72 00 65 00 70 00 6C 00 79 00 3D 00 31 00 34 00 30 00 30 00 31 00 00 00')
/===================================================
     buf:=hstr('D0 24 00 1C 00 00 00 D9 46 11 40 00 00 00 00 D7 46 11 40 01 00 00 00 D6 46 11 40 02 00 00 00 D5 46 11 40 03 00 00 00 D4 46 11 40 04 00 00 00 D3 46 11 40 05 00 00 00 D2 46 11 40 06 00 00 00 D1 46 11 40 07 00 00 00 D0 46 11 40 08 00 00 00 CF 46 11 40 09 00 00 00 CE 46 11 40 0A 00 00 00 CD 46 11 40 0B 00 00 00 C6 46 11 40 0C 00 00 00 BE 46 11 40 0D 00 00 00 BD 46 11 40 0E 00 00 00 BB 46 11 40 0F 00 00 00 BA 46 11 40 10 00 00 00 B9 46 11 40 11 00 00 00 B8 46 11 40 12 00 00 00 B5 46 11 40 13 00 00 00 B4 46 11 40 14 00 00 00 B2 46 11 40 15 00 00 00 B1 46 11 40 16 00 00 00 B0 46 11 40 17 00 00 00 AF 46 11 40 18 00 00 00 AE 46 11 40 19 00 00 00 AD 46 11 40 1A 00 00 00 AC 46 11 40 1B 00 00 00 ');
     SendToServerEx(Name);
     inc(x);
     end;
   4:begin
//пакет на покупку точек MultiSellChoose
     buf:=hstr('B0 B1 36 00 00 25 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ');
     SendToServerEx(Name);
     Timer01.enabled:=false; // отключили таймер
     x:=0;
     end;
end;
В общем ковыряюсь,щас буду пробовать выкинуть 2 действия отправки и отправлять только пакет MultiSellChoose.

Добавлено через 7 минут
Короче попробовал вот так изменить
Код:
case x of
  1: begin
     buf:=hstr('B0 39 4A 00 00 03 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ');
     SendToServerEx(Name);
     inc(x);
     end;
  2: begin
     buf:=hstr('B0 B1 36 00 00 25 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ');
     SendToServerEx(Name);
     Timer01.enabled:=false; // отключили таймер
     x:=0;
     end;
  end;
Всё таже беда,даже если слать пакеты с задержкой 1.2.3.4.5 секунд ни чего не покупает,отслеживаю чз лог пакеты посылаються.Если самому обменять кионы-->-Адена и купить Точки,то ответ от сервера приходит только на 2ой пакет тобиш на покупку точек ну и сообвецвенно на оборот еси купить точки потом коины,то приходит ответ ток на пакет коинов...Ломаю голову,думаю как это можно исправить=\

После исправления пакета,по новой пробывал отправлять скрипотом 4 пакета,ничё не пойму,продолжает кикать с серва=(((
Есть догатка что кикает из за пакета RequestBypassToServer...

Моя догадка подтвердилась...
Код:
23 6D 00 65 00 6E 00 75 00 5F 00 73 00 65 00 6C 00 65 00 63 00 74 00 3F 00 61 00 73 00 6B 00 3D 00 2D 00 31 00 31 00 26 00 72 00 65 00 70 00 6C 00 79 00 3D 00 31 00 39 00 30 00 30 00 31 00 00 00
После этого пакета кикает с сервера,хотя по идее не должно,кот выбран был в таргет,пробовал с открытым окном ГМ шопа и с закрытым результат 1 и тот же...
Ложусь наверно спать,утро вечера мудренее

Последний раз редактировалось Djekc, 29.11.2009 в 04:27. Причина: Добавлено сообщение
Djekc вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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