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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 15.02.2010, 22:26   #11
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

в блок инит пихни ваще его - оно выполняется лишь при запуске скрипта
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
Старый 16.02.2010, 00:33   #12
Новичок
 
Регистрация: 30.06.2009
Сообщений: 26
Сказал Спасибо: 19
Имеет 3 спасибок в 2 сообщенях
Hworang пока неопределено
По умолчанию

Цитата:
Сообщение от Breadfan Посмотреть сообщение
в блок инит пихни ваще его - оно выполняется лишь при запуске скрипта
Код:
procedure Init;
begin
buf:=HStr('0F ');
SendToServerEx(nik);
end;
в остальных местах удалил

скрипт выполняется 3-4 раза и потом стоит
после закрытия и открытия рюкзака продолжает работу (еще несколько раз выполняется и опять стоит)

p.s. с прошлой версией скрипта вроде особых проблем не было
но вот иногда, особенно при загрузке канала, вылетала ошибка Last Index Out Of Bounds 4995 (4994-4999 примерно такие числа)
что неприятно (
Hworang вне форума   Ответить с цитированием
Старый 16.02.2010, 12:34   #13
Новичок
 
Регистрация: 30.06.2009
Сообщений: 26
Сказал Спасибо: 19
Имеет 3 спасибок в 2 сообщенях
Hworang пока неопределено
По умолчанию

наконецто я могу сказать, что написал свой 1й скрипт для phx )))
жаль только кнопка 'Стоп' не работает



delphi Код:
////////////////////////////////////////////////////////////////////// // Продавалка v 1.0 от Hworang /////////////////////////////////////// // на основе скриптов от Qak ///////////////////////////////////////// // CoderX.ru ///////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// // Настроена для сервера l2mw.ru ///////////////////////////////////// // создайте чара и почистите рюкзак ////////////////////////////////// // стартовые условия - 100kk и 1 голд бар и болше ничего (2/200) ///// // впишите свой ник в соотв. поле (в скрипте) //////////////////////// // подойдите к ГМшопу и возьмите его в таргет //////////////////////// // запускайте скрипт и радуйтесь, видя как адена льётся в рюкзак))) // // все изменения - на свой страх и риск ////////////////////////////// // за последствия работы скрипта автор ответственности не несет :D /// ////////////////////////////////////////////////////////////////////// var i,c,g:integer;     s:string;     Main : TForm;     Timer : TTimer;     Button : TButton;     Edit,Edit1: TEdit;     Start : Boolean = False;     Pos_i : Integer; const nik = 'Char'; // Сюда вписать имя чара       it  = 195// скрипт покупает 195 итемов - можете править этот параметр [1..198]     x   = 1680; // введите разрешение вашего монитора     y   = 1050; //  procedure Init; begin   g:=1;   buf:=HStr('0F ');   SendToServerEx(nik); Pos_i:=1; //формочка Main := TForm.Create(nil); Main.Caption := 'Продавалка v 1.0'; Main.BorderStyle := bsSizeable; Main.Position := poDesigned; Main.Left :=x-400; Main.Top :=y-200; Main.Width :=300; Main.Height :=80; Edit := TEdit.Create(Main); Edit.Parent := Main; Edit.Left := 90; Edit.Top := 10; Edit.Width := 114; Edit1 := TEdit.Create(Main); Edit1.Parent := Main; Edit1.Left := 214; Edit1.Top := 10; Edit1.Width := 62; //таймер Timer := TTimer.Create(Main); Timer.Interval := 400// задержка // если поставить меньше - адена пойдет быстрее, но будет лагать Timer.Enabled := False; Timer.onTimer := @TimerTimer; Button := TButton.Create(Main); Button.Parent := Main; Button.Caption := 'Старт'; Button.Left := 10; Button.Top := 10; Button.onClick := @ButtonClick; Main.Show; end; procedure Free; begin Edit.Free; Edit1.Free; Timer.Free; Button.Free; Main.Free; end; //обработчик таймера procedure TimerTimer(Sender : TTimer); var i,a:integer; begin   if (pck[1]=#$1B) then   begin     if (ReadD(12)=57) then     begin       Edit.Text:='Adena ( '+IntToStr(ReadD(16))+' )';       Edit1.Text:='Gold ( '+IntToStr(ReadD(52))+' )';     end     else if (ReadD(48)=57) then     begin       Edit.Text:='Adena ( '+IntToStr(ReadD(52))+' )';       Edit1.Text:='Gold ( '+IntToStr(ReadD(16))+' )';     end;   end;   inc(g);   if pck='' then exit;   if (g mod 2 = 0) then    // запрос на рюкзак - через раз, иначе спамим сервер   begin        buf:=HStr('0F ');        SendToServerEx(nik);   end;   if FromServer and (ConnectName=nik) and (pck[1]=#$1B) and (ReadH(4)<10) then      begin                    buf:=#$A7;                    WriteD(90010);                    WriteD(900000);                    WriteD(it);                    WriteH(0);                    SendToServerEx(nik);      end;   if FromServer and (ConnectName=nik) and (pck[1]=#$1B) then      begin               c:=ReadH(4)-2;               buf:=#$1E;               WriteD(0);               WriteD(c);               if (ReadD(12)=2414) then                 for i:=1 to c do                 begin                   WriteD(ReadD(i*36-28));                   WriteD(2414);                   WriteD(1);                 end               else if (ReadD(48)=2414) then               for i:=1 to c do               begin                 WriteD(ReadD(i*36+8));                 WriteD(2414);                 WriteD(1);               end               else if (ReadD(84)=2414) then               for i:=1 to c do               begin                 WriteD(ReadD(i*36+44));                 WriteD(2414);                 WriteD(1);               end;               if (c>=1) then               SendToServerEx(nik);      end;      if ((ReadD(16)>700000000) and (ReadD(12)=57)) or ((ReadD(52)>700000000) and (ReadD(48)=57)) and (pck[1]=#$1B) then      begin          buf:=#$38;          WriteS('.deposit');          WriteD(0);          SendToServerEx(nik);      end; end; //запуск procedure ButtonClick(Sender : TButton); begin Start := Not (Start); Timer.Enabled := Start; If Start    then Button.Caption:='Стоп'    else Button.Caption:='Старт'; end; begin end.

Последний раз редактировалось Hworang, 16.02.2010 в 13:04.
Hworang вне форума   Ответить с цитированием
Старый 16.02.2010, 12:59   #14
Новичок
 
Регистрация: 14.01.2010
Сообщений: 13
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
SmertoO пока неопределено
По умолчанию

алекс, ты забыл еще про не возможность дюпов написать, там ж проверки xD
SmertoO вне форума   Ответить с цитированием
Старый 16.02.2010, 13:21   #15
Новичок
 
Регистрация: 30.06.2009
Сообщений: 26
Сказал Спасибо: 19
Имеет 3 спасибок в 2 сообщенях
Hworang пока неопределено
По умолчанию

вопросы:

1)
delphi Код:
if (g mod 2 = 0) then    // запрос на рюкзак - через раз, иначе спамим сервер   begin        buf:=HStr('0F ');        SendToServerEx(nik);   end;
без этого условия скрипт всё время вылетает, но такая реализация мне самому не нравится, а как иначе?
(если потереть совсем и оставить 0F только в Init - скрипт останавливается через несколько выполнений)

2)
Окошко с информацией не привязывается к phx и исчезает куда-то при сворачивании окна phx - как исправить?

3)
почему кнопка Стоп не работает?

кто знает ответ на какой-либо вопрос - поделитесь
буду признателен
Hworang вне форума   Ответить с цитированием
Старый 16.02.2010, 13:26   #16
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

как он у тебя вообще работает, или не на последней версии пх ?
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 16.02.2010, 13:29   #17
Новичок
 
Регистрация: 30.06.2009
Сообщений: 26
Сказал Спасибо: 19
Имеет 3 спасибок в 2 сообщенях
Hworang пока неопределено
По умолчанию

Цитата:
Сообщение от alexteam Посмотреть сообщение
как он у тебя вообще работает, или не на последней версии пх ?
phx 3.4.1.82 english

последняя версия не работает на моем серваке ((

неужели у них скрипты не совместимы?

во время работы скрипта (качественной работы, больше часа без сбоев) запустил 2е окно Ла2
phx умер (

хотя комп тянет фулку
вот канал мог подкачать (1 Mb)
или всё же в скрипте или в phx дело?? интересно попробовать несколько чаров погонять скриптом

Последний раз редактировалось Hworang, 16.02.2010 в 13:41.
Hworang вне форума   Ответить с цитированием
Старый 16.02.2010, 13:37   #18
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

нет, совместимы, просто на последних версиях в таком виде он точно работать не будет.
ибо в последней версии когда код между begin и end. отработал pck обнуляется.
1я ошибка. самая серьезная у тебя считывание пакета идет в таймере. а вся обработка пакетов должна быть между begin и end. иначе львиная чатсь пакетов просто пропускается.
схема:
1.приходит пакет от клиента\сервера
2.пх назначает переменную pck и вызывает скрипт (место между begin и end-с точкой, которое у тебя пустует)

у тебя чтение этого пцк по таймеру происходит, естественно он легко пропускает нужные пакеты.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Старый 16.02.2010, 14:32   #19
Новичок
 
Регистрация: 30.06.2009
Сообщений: 26
Сказал Спасибо: 19
Имеет 3 спасибок в 2 сообщенях
Hworang пока неопределено
По умолчанию

Новый дизайн окошка



скрипт не проходит по форумным ограничениям (5000 символов)
теперь буду прикреплять
Вложения
Тип файла: txt Prodavalka.txt (5.5 Кб, 34 просмотров)
Hworang вне форума   Ответить с цитированием
Старый 16.02.2010, 14:53   #20
Новичок
 
Регистрация: 30.06.2009
Сообщений: 26
Сказал Спасибо: 19
Имеет 3 спасибок в 2 сообщенях
Hworang пока неопределено
По умолчанию

Цитата:
Сообщение от alexteam Посмотреть сообщение
нет, совместимы, просто на последних версиях в таком виде он точно работать не будет.
ибо в последней версии когда код между begin и end. отработал pck обнуляется.
1я ошибка. самая серьезная у тебя считывание пакета идет в таймере. а вся обработка пакетов должна быть между begin и end. иначе львиная чатсь пакетов просто пропускается.
схема:
1.приходит пакет от клиента\сервера
2.пх назначает переменную pck и вызывает скрипт (место между begin и end-с точкой, которое у тебя пустует)

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

да, работает со всеми пакетами
да, быстрее фармит
но:
1) скрипт запускается сразу, а не после нажатия кнопочки Старт
решил основную программу запускать по условию if start
не работает вообще
2) если без условия - работает быстро
и очень скоро останавливается: или вылетает ошибка, или phx виснет, или, что чаще всего ГМшоп отказывается покупать - я выключаю скрипт, вручную жму диалог и кнопку Продать - и всё, диалог исчезает а селл лист не появляется

я конечно может и чего-то не понимаю
но видимо слишком большая скорость (в данном случае хотябы) хорошего не сулит
и оставлю скрипт как есть, пока не пойму почему он не работает как должен (в основной программе)
Hworang вне форума   Ответить с цитированием
Ответ

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



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

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


Часовой пояс GMT +4, время: 21: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

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