Просмотр полной версии : нужен бот который просто кричит(хелп)
Legioner_noob
19.11.2009, 20:21
Здравствуйте. Уж простите нуба:( я искал на форуме, нашел вот эту тему http://coderx.ru/showthread.php?t=747
Я впервые с этим связался, мне просто нужен "рекламщик". Сначала думал что это можно зделать через phx, но все результаты находил тока на L2Walker (боты). Вот решил спросить у знающих, где можно нечто подобное достать и что лучше зделать? Мне ненужны все эти функции которые встроены в ботов, только чат и чтоб сообщения кричал через заданное время. Спасибо!
Присоединяюсь.
Может, продаст кто-ть дешевле, чем ASI 1.52?
вот под l2phx
const
message := 'Ваше сообщение в чат';
var
Timer01: TTimer;
procedure Init; //will be called on script initialization
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=60000; //1 раз в минуту
end;
procedure Free; //This method calls when script don't need anymore
begin
Timer01.free;
end;
procedure OnTimer01(Sender: TObject);
begin
say();
end;
procedure say(msg:string);
begin
buf:=#$4A;
WriteS(msg);
WriteD(1); // ALL = 0; SHOUT(!) = 1; PARTY(#) = 3; CLAN(@) = 4;
SendToServer();
end;
//Primary part of dcript
//calls alltime when l2ph got new packet
begin
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
Timer01.enabled:=not(Timer01.enabled);
end;
end.
О, спаcибо. А l2phx работает на РуОффе?
Запустил игру, потом l2phx 3.5.30.159. В настройках указал протокол T2 Gracia Final, поставил галочку на Gracia (off server) хотя написано устарело для l2.ru. А мне именно для l2.ru надо...
В процессах найденного клиента (бота) не обнаружил.
Может прослушиваемый порт надо указать или еще что?
alexteam
23.11.2009, 13:30
А l2phx работает на РуОффе
нет.
Legioner_noob
23.11.2009, 15:06
atukal Спасибо огромное! :respect:
alexteam и Вам спасибо за участие! ;) :good:
Cкажите, для l2.ru только ASI может помочь?
Legioner_noob
24.11.2009, 17:13
Чет оштбка в строке
message := 'Ваше сообщение в чат';
попробовал заменить:
...
message = 'Ваше сообщение в чат';
...
procedure OnTimer01(Sender: TObject);
begin
say('111');
end;
....
непомогло так же:...
message = 1000;
...
procedure OnTimer01(Sender: TObject);
begin
say('111');
end;
....
версия l2phx 3.5.24.142
может плагин какой нужен или еще что?
alexteam
24.11.2009, 17:37
в секции const присвоение делаеться обычным = а не :=
т.е:
message = 'Ваше сообщение в чат';
а тут, ктото просто забыл вызывать say с этим параметром.
procedure OnTimer01(Sender: TObject);
begin
say(message);
end;
Legioner_noob
24.11.2009, 22:18
alexteam спасибо!
Вот я тока не пойму как он работать должен? вроде все запустилось но ничего в чате не пишет:unknw:
Legioner_noob,
надо запустить
в кнопках соцдействие. какая хз тыкай подряд
alexteam
25.11.2009, 12:30
а... ну еще
SendToServer();
заменить на SendToServerEx('имя соединения');
Добавлено через 2 минуты
+ заменить
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
на
if fromserver and (length(pck) > 1) and (pck[1]+pck[2]=#$56#$0C) then
дабы внутри пх не возникало ошибок при pck длинной в 1 байт.
Legioner_noob
25.11.2009, 15:13
alexteam Спасибо еще раз! Я все изменил, но в чате так ничего и непишет. Где SendToServerEx('имя соединения'); там нужно ник персонажа вписать, я правильно понял?
alexteam
25.11.2009, 15:52
да. есть еще вариант что нужно изменить номер пакета в конструкторе say
+ если это руофф то там он и не запашет. -)
Legioner_noob
25.11.2009, 17:09
нет не руофф, там понимаю - хорошая защита. А какой нужно номер пакета, отправил сообщение через клиент, l2phx перехватил 2 пакета:тип 0x49, Say2, размер-13
49 31 00 31 00 00 00 00 00 00 00
Детальная расшифровка
тип: 0x49(Say2)
Размер: 11+2
Время прихода: 17:47:21:118
0002s Text: 11
0008d Type: 0 (0x00000000)
и
тип 0x4A, CreatureSay, размер-33
4A E5 D3 15 10 00 00 00 00 46 00 6F 00 6F 00 6C 00 4D 00 61 00 67 00 00 00 31 00 31 00 00 00
Детальная расшифровка
Тип: 0x4A (CreatureSay)
Размер: 31+2
Время прихода: 17:47:21:413
0002 d ObjectID: 269865957 (0x1015D3E5)
0006 d TextType: 0 (0x00000000)
000A s CharName: FoolMag
001A s Text: 11
тип 0x49, Say2, размер-13
те надо в пакетах разобраться
от сервера приходят клиенту
от клиента отправляешь серверу
Legioner_noob
25.11.2009, 17:56
не совсем понял в чем разобраться? от серверра - CreatureSay, от клиента - Say2.
alexteam
25.11.2009, 18:13
Legioner_noob, достаточно было просто пойманый пакет say2 всунуть в отправку и включить отправку по таймеру...
но мы как всегда пойдем дальше...
const
player = 'yourNickName'; //Заполнить имя персонажа. и включить.
var
Form : Tform;
Text : Tedit;
Interval : Tedit;
Btn : Tbutton;
Timer: TTimer;
L,l2,l3 : Tlabel;
cb : tcombobox;
procedure Init; //will be called on script initialization
begin
UseForConnectName := player;
Form := Tform.create(nil);
l := Tlabel.create(form);
l.parent := form;
l.caption := 'Текст:';
l.top := 4;
Text := Tedit.create(form);
text.parent := form;
Text.Width := 200;
text.left := 90;
cb := tcombobox.create(form);
cb.parent := form;
cb.left := 90;
cb.width := 100;
cb.style := csDropDownList;
cb.top := 28;
cb.items.add('Simple message'); //0
cb.items.add('Shout (!)'); //1
cb.items.add('Trade (+)'); //8
cb.items.add('Hero chat (17)'); //17
cb.itemindex := 1;
l2 := Tlabel.create(form);
l2.parent := form;
l2.caption := 'Тип чата:';
l2.top := 32;
Interval := Tedit.create(form);
Interval.parent := form;
Interval.Width := 100;
Interval.top := 56;
Interval.left := 90;
Interval.text := '60';
l3 := Tlabel.create(form);
l3.parent := form;
l3.caption := 'Интервал(сек):';
l3.top := 60;
Btn := Tbutton.create(form);
Btn.parent := form;
Btn.height := 52;
Btn.width := 90;
Btn.left := 200;
Btn.top := 28;
Btn.caption := 'Start';
Btn.OnClick := @BtnHandler;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.enabled:=false;
Form.caption := 'ГоворилкО';
form.formstyle := fsstayontop;
form.borderstyle := bsToolWindow;
form.autosize := true;
form.bordericons := nil;
form.borderwidth := 5;
form.onclosequery := @FormCloseQuery;
form.show;
end;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := false;
end;
procedure BtnHandler(Sender: TObject);
begin
try
timer.interval := strtoint(interval.text)*1000;
except
timer.interval := 60000;
interval.text := '60';
end;
timer.enabled := not timer.enabled;
Interval.enabled := not timer.enabled;
text.enabled := not timer.enabled;
if timer.enabled then
btn.caption := 'Stop'
else
btn.caption := 'Start';
end;
procedure Free; //This method calls when script don't need anymore
begin
timer.free;
Form.Free;
end;
procedure OnTimer(Sender: TObject);
var
chattype:integer;
begin
if text.text = '' then exit;
case cb.itemindex of
0 : chattype := 0;
1 : chattype := 1;
2 : chattype := 8;
3 : chattype := 17;
else
chattype := 1;
end;
buf := '';
writemask('csd',[$49, text.text, chattype]);
SendToServer;
end;
begin
end.
как вариант можешь вообще обойтись без бота
покупаешь программируемую мышку типа Х7 серии К
набираешь в клиенте макрос на нужные чаты а на мышке ставишь периодичность включения и усе
как вариант можешь вообще обойтись без бота
покупаешь программируемую мышку типа Х7 серии К
набираешь в клиенте макрос на нужные чаты а на мышке ставишь периодичность включения и усе
А такой выриант на РуоФФе пойдет? :)
Legioner_noob
25.11.2009, 22:12
Ура Ура!!
alexteam Спасибо Вам за помощ! Все получилось! Скрипт работает!:good: А про посылку пакета по таймеру это здорово придумано, чет я ступил:confused:
покупаешь программируемую мышку типа Х7 серии К У меня как раз такая, тока вот драйвера под вин7 лень искать, я слышал есть спец. программа для эмуляции движения мышки, для руофа должно подойти.
vBulletin® v3.6.11, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot