PDA

Просмотр полной версии : Бoт - локомотив от Alexus


nezabudkin
10.04.2008, 13:47
В этой теме обсуждается моя разработка:
скрипт Бот - Локомотив
для L2PacketHack.

Хочу выразить благодарность создателю программы PacketHack и этого форума, xKor'у,
а так же всем авторам скриптов, выложенных на этом форуме.

И отдельное спасибо компании NCSoft за создание Линейки, для которой так интересно писать ботов :)

История версий:
0.2 - куча глюков, первая рабочая версия!
0.3 - первая стабильная безглючная версия, с минимальной функциональностью
0.3.1 -
исправления:
- скрипт доработан для новых версий пакетхака
- устранена ошибка, связянная с неправильным распознованием пакета 01 - MoveToLocation
- убрана вся шелуха из кода

0.4 - изменения:
- радиус кача можно задать в секции настройки
- бот теперь сразу видит всю локацию с самого запуска скрипта
- автоопределение размера инвентаря
- ID мобов можно теперь задавать в секции настройки
- ускорен процесс добавление мобов через клиент (теперь их не надо гасить)
- отключена ф-ция автоопределения своего ID и инвентаря, по этому запускать теперь бот надо до запуска клиента
- обновлено окно вывода информации (теперь его нельзя случайно закрыть!)
- на форму добавлены кнопки управления
- добавлен механизм глотания баф-банок
- оптимизирован алгоритм выбора ближайшего моба
0.4.1
- в режиме кача, при отсутствии мобов в радиусе, бот возвращается в центр кача
- скрипт доработан для новых версий пакетхака
- убрана критическая ошибка, часто вылезающая при нажатии кнопки Start
- устранена ошибка, связянная с неправильным распознованием пакета 01 - MoveToLocation

0.5 - модификация под РУ-ОФФ Gracia
- Добавлен СПОИЛ



Версия 0.3 - во вложении
Самая простая, надежная и нетребовательная по ресурсам компьютера. Подходит как шаблон для написания разнообразных скриптов.

скрипт - воин ассистент в каче - во вложении
Все описание внутри скрипта. Скрипт можно размножить под разными именами, и получить себе до 9 помошников!!! Может работать совместно со скриптом Локомотивом версий 0.3 и 0.4.

Версия 0.4 - перейти к просмотру (http://coderx.ru/showpost.php?p=16691&postcount=18)
Эта версия является логическим продолжением разработки скрипта. У бота появилось очень много интересных возможностей. Но есть один существенный недостаток - скрипт кушает слишком много процессорного времени. Не рекомендую его для серьезного применения на слабых компьютерах.

Версия 0.5 - перейти к просмотру (http://coderx.ru/showpost.php?p=20573&postcount=29)
Работает только под Gracia. На данный момент продолжаются работы только над этой версиией скрипта. Во всех предыдущих версиях, при нахождении ошибок вводятся соответствующие изменения. Так что кому интересно, рекомендую иногда их просматривать.

NLObP
10.04.2008, 13:55
В информационной панели слева под не хватает чекбоксов для настройки на ходу. Можно еще Имя, радиус кача ID пошинов туда сунуть и кнопку старт/стоп. :good:
Может стоит в отдельную тему ботика выложить? И прикрепить.

nezabudkin
10.04.2008, 15:16
В информационной панели слева под не хватает чекбоксов для настройки на ходу. Можно еще Имя, радиус кача ID пошинов туда сунуть и кнопку старт/стоп. :good:
Может стоит в отдельную тему ботика выложить? И прикрепить.

Предложение хорошее, тока я не очень умею windows - конроллы ручками писать. Но пожелание учту в следующей версии.

В отдельную тему выкладывать не хочу, а то куча нубов - ботоводеров появится :D
Этот скрипт скорее для постоянных посетителей форума. Кому надо, тот найдет!!!

Добавлено спустя 42 минуты 33 секунды:
Единственное, может эти 2 скрипта прикрепить к 1-му сообщению темы (там где все скрипты выложены)?

QaK: Сделано =)

poizon
06.05.2008, 10:51
короче я сделал сюда пару строчек чтобы спойлить можно было для этого надо ещё запустить скрипт (был выложен в да будет бот)

//Автоматизация sweep'а by APXAHGEJI
//Свип производится тока при условии что моб был ,хоть один раз, ударен ВАМИ и
//находится в списке нужных мобов.
//Возможность работы нескольких одновременных скриптов
//Социальное действие YES - запусстить/приостановить запись/АвтоСвип мобов
//Социальное действие NO остановиться - завершить запись мобов и перейтии к АвтоСвип
//После того как скрипт запущен нажимаете Yes и атакуете мобов
//которых собираетесь спойлить. Атакуете до тех пор пока не появилась запись
//что моб записан. Для удобства процесс записи можно приостановить нажатие той же
//клавиши Yes. После того как все нужные мобы записаны жмакаете NO, запись мобов
//завершается, АвтоСвип запускается, можете приступать к спойлу. АвтоСвип можно
//приостановить нажав всю туже клавишу соцдействия Yes, но запись мобов под АвтоСвип
//не остановится, и снова активировав, все нужные мобы просвипятся.

Const
Name='имя перса';
Sweep='2F 2A 00 00 00 00 00 00 00 00';
Var
TimerSweep,TimerDel: TTimer;
N,M,i,NpcNum: Byte;
X,Y,Z,CharID: Integer;
NpcTypeID,TargetID: array of Integer;
NeedSweep,Dead: array of Boolean;
Switch,SaveID,HaveNpc: Boolean;
//************************************************** ****************************
// Вызывается при включении скрипта
//************************************************** ****************************
Procedure Init;
begin
N:= 1;
M:= 1;
Switch:= False;
SaveID:= True;
SetLength( NpcTypeID, N );
SetLength( TargetID, N );
TimerSweep:=TTimer.Create(nil);
TimerSweep.OnTimer:=@Sweeper;
TimerSweep.Enabled:= False;
TimerSweep.Interval:= 1000;
TimerDel:=TTimer.Create(nil);
TimerDel.OnTimer:=@Del;
TimerDel.Enabled:= False;
TimerDel.Interval:= 5000;
Say('Нажмите Yes, чтобы начать/приостановить');
Say('запись мобов или АвтоСвип.');
Say('Нажмите No, чтобы завершить запись мобов');
Say('и приступить к сполйу.');
end;
//************************************************** ****************************

//************************************************** ****************************
// Вызывается при выключении скрипта
//************************************************** ****************************
Procedure Free;
begin
TimerSweep.Free;
TimerDel.Free;
end;
//************************************************** ****************************

//************************************************** ****************************
// Посылаем сообщение, которое видно только в окне бота
//************************************************** ****************************
Procedure Say(msg:string);
begin
buf:=hstr('4A 00 00 00 00');
WriteD(2);
WriteS(Name);
WriteS(msg);
SendToClientEx(Name);
end;
//************************************************** ****************************

//************************************************** ****************************
// Проверка наличия ИД моба в массиве
//************************************************** ****************************
Procedure FindMob(ObjectID: Integer);
begin
HaveNpc:= False;
NpcNum:= M;
For i:=0 to (M-1) do
If (ObjectID=TargetID[i]) then begin
NpcNum:= i;
HaveNpc:= True;
break;
end Else
If (TargetID[i]= 0) and (NpcNum = M) then NpcNum:= i;
end;
//************************************************** ****************************

//************************************************** ****************************
// Запуск свипа каждые n секунд (n= Timer.Interval)
//************************************************** ****************************
Procedure Sweeper(Sender: TObject);
begin
For i:=0 to (M-1) do
If NeedSweep[i] and Dead[i] then begin
buf:= #$04;
WriteD(TargetID[i]);
WriteD(X);
WriteD(Y);
WriteD(Z);
WriteC(00);
SendToServerEx(Name);
buf:=HStr(Sweep);
SendToServerEx(Name);
NeedSweep[i]:= False;
exit;
end;
end;
//************************************************** ****************************

//************************************************** ****************************
//Удаление списка при отстуствии записей о мобах
//************************************************** ****************************
Procedure Del(Sender: TObject);
begin
For i:=0 to (M-1) do
If (TargetID[i]<>0) then exit;
M:= 0;
SetLength(TargetID, M);
SetLength(NeedSweep, M);
SetLength(Dead, M);
TimerDel.Enabled:= False;
TimerSweep.Enabled:= False;
end;
//************************************************** ****************************

//************************************************** ****************************
// Вызывается при приходе каждого пакета, если скрипт включен
//************************************************** ****************************
Begin

//************************************************** **************************
//Не обрабатываем пустые пакеты
If pck='' then exit;
//************************************************** **************************

//************************************************** **************************
//Если от сервака принят пакет UserInfo. Запоминаем собственный ИД.
If FromServer and (ConnectName=Name) and (pck[1]=#$04) then CharID:= ReadD(18);
//************************************************** **************************

//************************************************** **************************
//Переключение между записью ИД и АвтоСвипом
If SaveID then begin
//************************************************** ************************
//Делаем выборку нужных для свипа видов мобов
//************************************************** ************************
if Switch then
if FromServer and (ConnectName=Name) then
if (pck[1]=#$05) and (ReadD(2)=CharID) then begin
FindMob(ReadD(6));
If not HaveNpc then begin
TargetID[N-1]:= ReadD(6);
Inc(M);
SetLength( TargetID, M );
end;
end;
If (pck[1]=#$16) then
For i:=0 to (M-1) do
if (ReadD(2) = TargetID[i]) then begin
For NpcNum:= 0 to (N-1) do
If (ReadD(6)= NpcTypeID[NpcNum]) then exit;
NpcTypeID[N-1]:= ReadD(6);
Say(IntToStr(N)+' вид мобов записан');
Inc(N);
SetLength( NpcTypeID, N );
exit;
end;
//************************************************** ************************
//Управление записью мобов
//************************************************** ************************
If FromClient and (ConnectName=Name) and (pck[1]=#$1B) then begin
If (ReadD(2)=6) then
if Switch then begin
pck:='';
Switch:= False;
Say('Запись мобов приостановлена');
end
else begin
pck:='';
Switch:= True;
Say('Начата запись мобов, атакуйте нужных мобов');
end;
If (ReadD(2)=5) then begin
pck:='';
Dec(N);
M:= 0;
SetLength(NpcTypeID, N);
SetLength(TargetID, M);
SetLength(NeedSweep, M);
SetLength(Dead, M);
SaveID:= False;
Switch:= True;
Say('Запись мобов завершена, АвтоСвип активирован');
Say('Удачного спойла');
end;
end;
//************************************************** ************************
end
//************************************************** **************************

//************************************************** **************************
//Переходим от записи нужных мобов к АвтоСвипу
Else begin
//************************************************** **************************

//************************************************** ************************
//Записываем текущие координаты
if FromClient and (ConnectName=Name) and (pck[1]=#$48) then begin
X:= ReadD(2);
Y:= ReadD(6);
Z:= ReadD(10);
end;
//************************************************** ************************

//************************************************** ************************
//Анализ мобов :=))
If FromServer and (ConnectName=Name) then begin
//************************************************** **********************
//Записываем всех атакованых нами мобов (пакет Attack, причем Attacker=CharID)
If ((pck[1]= #$05) and (ReadD(2)= CharID)) then begin
FindMob(ReadD(6));
If not HaveNpc then
If (NpcNum <> M) then begin
TargetID[NpcNum]:= ReadD(6);
NeedSweep[NpcNum]:= False;
Dead[NpcNum]:= False
end Else begin
Inc(M);
SetLength(TargetID, M);
SetLength(NeedSweep, M);
SetLength(Dead, M);
TargetID[M-1]:= ReadD(6);
NeedSweep[M-1]:= False;
Dead[M-1]:= False;
If Switch then TimerSweep.Enabled:= True;
TimerDel.Enabled:= True;
end;
end;
//************************************************** **********************
//Проверяем есть ли в списке мобы
if (M <> 0) then begin
//************************************************** ********************
//Проверяем тот ли вид моба атакован (пакет NpcInfo)
If (pck[1]= #$16) then begin
FindMob(ReadD(2));
If HaveNpc and (not NeedSweep[NpcNum]) then begin
For i:=0 to (N-1) do
If (ReadD(6)= NpcTypeID[i]) then begin
HaveNpc:= False;
Break;
end;
If not HaveNpc then NeedSweep[NpcNum]:= True;
end;
end;
//************************************************** ********************
//Записываем что атакованый моб умер (пакет Die, причем Sweepable=1)
If (pck[1]= #$06) and (pck[22]= #$01) then begin
FindMob(ReadD(2));
If HaveNpc then Dead[NpcNum]:= True;
end;
//************************************************** ********************
//Удаляем записи об атакованом мобе (пакет DeleteObject)
If (pck[1]= #$12) then begin
FindMob(ReadD(2));
If HaveNpc then begin
TargetID[NpcNum]:= 0;
NeedSweep[NpcNum]:= False;
Dead[NpcNum]:= False;
end;
end;
//************************************************** ********************
end;
//************************************************** **********************
end;
//************************************************** ************************

//************************************************** ************************
//Запускаем/приостанавливаем АвтоСвип
//************************************************** ************************
If FromClient and (ConnectName=Name) and (pck[1]=#$1B) and (ReadD(2)=6) then
if Switch then begin
pck:='';
TimerSweep.Enabled:= False;
Switch:= False;
Say('АвтоСвип приостановлен');
end
else begin
pck:='';
TimerSweep.Enabled:= True;
Switch:= True;
Say('АвтоСвип запущен');
end;
//************************************************** ************************
end;
//************************************************** **************************
End.
//************************************************** ****************************этот скрипт запускаем настраиваем

а в боте незабудкина процедуру phisicalattack меняем на вот такую
procedure PhisicalAttack; // команда атаки
var
ppp1: integer;
begin

buf:=#$04; //action
WriteD(TargetID);
WriteD(MyX);
WriteD(MyY);
WriteD(MyZ);
WriteC(0);
SendToServerEx(NickName);


if ppp1 = targetid then begin
ppp1:= targetid
end
else
begin
buf:=HStr('2F FE 00 00 00 00 00 00 00 00'); //spoil
SendToServerEx(NickName);

End;
ppp1:= targetid
end;всё работает кидает спойл на моба 1 раз а другой крипт свипит

MHz
20.05.2008, 17:15
всё работает кидает спойл на моба 1 раз а другой крипт свипит

Спасибо тебе, действительно работает, только было бы вообще здорово если бы спойлило как человек. Т.е. если я кого-то спойлю, то сначала пытаюсь его заспойлить и только потом убиваю, в общем если будет возможность то было бы здорово:
1. Чтобы спойл бросался до тех пор пока он не пройдет а не 1 раз.
2. Чтобы свипало 1 раз, а то сейчас он раза по 2 точно пытается, бывает и 2 раза (это палево).
3. Если локомотив оказался в паровозе, то 100% свипается только последний убитый моб, а убитые раньше часто так и лежат синие.

DashKAaa
20.05.2008, 17:39
на ассистанта вешаешь спойлера и локомотива пускаешь другого перса, а скриптов нормальных для споила уйма. не каких мозгоипаний не надо

nezabudkin
21.05.2008, 18:17
Удалите плизз ВиНиПуХ'а от сюдова нахрен. Пускай где угодно гадости говорит, но тока не в моем топике!

QaK
21.05.2008, 21:13
Так, Винипуху бан неделя, для начала, остальным - устное предупреждение. Убедительная просьба не сраться в топиках, они не для этого, для этого есть личка.

Grinch
21.05.2008, 21:23
Так, Винипуху бан неделя, для начала, остальным - устное предупреждение. Убедительная просьба не сраться в топиках, они не для этого, для этого есть личка.

От себя считайте форум печатным изданием т.е. правила теже НЕТ мату, имхо админу можно :pardon: чисто для связи слов в предложении...

dfackk
22.05.2008, 01:58
админу можно :pardon: чисто для связи слов в предложении...
и мы, как дети "чистые и не разумные", у админа этому научимся :pleasantry:
http://orthodox.etel.ru/2001/10/omate.htm

nezabudkin
23.05.2008, 15:07
Елы - палы!!! Почти уже была готова новая версия бота-локомотива, так ввели на моем серве шифрование трафика, теперь мучаюсь, ксорю ключи) Работы над ботом пока приостановлены...

NLObP
23.05.2008, 16:51
Давай мы ее на своих серверах потестим. =)

dfackk
23.05.2008, 19:02
nezabudkin, заодно, пока ты шифровку ломаешь мы возможные "дырки" поищем....

ChiterEPT
23.05.2008, 21:49
Давай мы ее на своих серверах потестим. =)
+1 :)

Давай давай мы готовы тебе ПОМОЧЬ :)))

Гостььь
22.09.2008, 04:13
Бот просто супер! Спасибо за него огромное!

Подскажите пожалуйста, есть ли скрипт бота бафера для совмесного использования с данным скриптом? Чтобы он каждые 20 минут сам бафал.

VismuT
30.09.2008, 10:18
Бот просто весч, спасибо огромное, хоте лось бы что бы запоминалась хоть одна конфигурация(место кача, список мобов и дропа).

nezabudkin
16.10.2008, 14:54
Ну вот, вроде готова новая версия бота-локомотива. Это, наверное, почти предел, чего можно добиться на скриптах. Постоянно приходилось балнсировать между производительностью скрипта и логикой поведения бота.
Дальнейшее развитие этого бота будет иметь смысл, когда xkor с NLObP'ом отладят плагины в новой версии пакетхака. Мелкие ошибки готов исправлять и сейчас, только требуется мастабное тестирование.
Скрипт разработан под пакетхак весрий 3.2.0 и выше.

nezabudkin
16.10.2008, 15:05
ВНИМАНИЕ! Обновление версии

Версия 0.4 - во вложении
Собственно, на данный момент, самая продвинутая версия моего бота под хроники C4 и Interlude.

DashKAaa
16.10.2008, 16:31
Бот просто весч, спасибо огромное, хоте лось бы что бы запоминалась хоть одна конфигурация(место кача, список мобов и дропа).
мобов и так запоминает, когда в ручную прописываешь мобов тебе пишет их ИД, этот ид можно использовать в таком случае, если ты качаешься всегда в 1 месте то,
NpcTypeID1 ставим равным не нуля как стоит по дефаулту, а иду который тебе показывают при ручном режиме т.е в идеале вот так

NpcTypeID1 = 1021163;
NpcTypeID2 = 1021206;
NpcTypeID3 = 1021185;
NpcTypeID4 = 1021254;
NpcTypeID5 = 0;
NpcTypeID6 = 0;
NpcTypeID7 = 0;
NpcTypeID8 = 0;
NpcTypeID9 = 0;
NpcTypeID10 =0;

Дроп который выбивает бот так же помнит и пикапит его по дефаулту в течение 30секунд, если попытка не удачна, то начинает рубцать другого моба.

На место кача приводить самому надо и нажимать достаточно только кнопку старт при забитой базе мобов в боте, читай выше как забивать.

mexxus
16.10.2008, 16:37
Бот очень добротный, использую этот код в качестве основы в скрипте для варкраера.
Товарисчь, правильной дорогой идете :)

Breadfan
17.10.2008, 18:45
С любезного разрешения автора вариант под Камаель:

//xkor: удалено из за большого размера

PS В данной версии кнопка "Init" не работает, делайте рестарт вручную или запускайте скрипт во время выбора персонажа.

Тестил. Слов нет ).Супер )

Acdsee
28.10.2008, 15:07
Вчера включал все работало. Сегодня пришёл в новую локацию, все сделал как обычно пишу команду "start" и тут все стоит.
Выдает ошибку
Overflow while converting variant of type (Double) into type (Integer).

Версия : 0.4 (альфа 6)

Добавлено через 57 минут
Исправил, видимо ошибка была в радиусе либоо в бутылках хасте поитион

Эх все же что-то не получается, это ошибка порой всплывает.

На некоторых локациях радиус как я понял может быть в районе 1500 а на иных работает только при радиусе в районе 800, хотя местность большая.

В принципе разобрался со всем. Бот очень даже ничего. Автору спасибо большое.

nezabudkin
29.10.2008, 14:06
Об ошибке знаю, она почти всегда вылезает при нажатии кнопки старт. Перед началом кача (при нажатии кнопки старт) проверяются все заданные параметры в скрипте, чтобы не тратить время на их проверку в процессе кача. Вот на этом этапе какой-то параметр и вылезает. Где-от есть ошибка в вичислениях. Я пока сам ее не нашел :(
Если такая ошибка вылезла, небеда, жмем на ней ОК, переключаемся на клиента, и немного побегаем вокруг центнра кача, потом пробуем еще раз нажать старт!

-=Ma}{imuS=-
04.12.2008, 00:53
на руссоффе скрипт не работает ((

QaK
04.12.2008, 09:21
на руссоффе скрипт не работает ((потому, что адаптировать под грацию надо, а автор канул в лету.

nezabudkin
04.12.2008, 14:00
потому, что адаптировать под грацию надо, а автор канул в лету.

Тута Я :)

Не получается у меня почему-то первый топик в теме править (зависает при попытке сохранить изменения)...
Хотя потихоньку изменения в проге произвожу!

Под РуОфф буду модифицировать бота, когда закончаться Там все бета-тесты.
И будет ли Там автобан, и как он будет работать?
Как с этим разберусь, так и сделаю новую версию!

NLObP
04.12.2008, 16:27
Не получается у меня почему-то первый топик в теме править (зависает при попытке сохранить изменения)...
Хотя потихоньку изменения в проге произвожу!

Новым сообщением вставляй.

-=Ma}{imuS=-
09.12.2008, 02:48
на русофе вроде как с волкером борятся, а про L2packetHack ни сном не духом... на абусе тоже стояла крутая антибот защита, пришлось отказатся от волкера в пользу пакетхака, кач-бот просто супер скрипт, ждем с нетерпением :)

nezabudkin
29.12.2008, 14:40
ВНИМАНИЕ, обновление скрипта!


Новая модификация моего скрипта "Бот-Локомотив" полностью переделан под РУ ОФФ Gracia!
Скриптом можно будет пользоваться на РУ ОФФ только тогда, когда пакетхак победит shieldconsole!

Скрипт изначально настраивался на соло-кач; бот непалиться автобаном, потому как предельно аккуратно симулирует поведение геймера.

Версия 0.5.2 от 22.01.09 под Пакетхак 3.4.1.69 и новее Во вложении
//xkor: удалил скрипт из хайда ибо слишком большой, его только во вложениях можно выкладывать!

alexsl
14.01.2009, 23:49
классный скрипт, респект автору.
маленькое замечание по скрипту
1. чтоб небыло автобана в #$21 пакете от сервера:
if Bottle_1_ID <> 0 then Bottle_1_Count:=getinv(Bottle_1_ID, 2,3);
if Bottle_2_ID <> 0 then Bottle_2_Count:=getinv(Bottle_2_ID, 2,3);
(без проверки при Bottle_1_ID=0 и Bottle_2_ID=0 в кол-во записывается левые данные)
2. в фун-ции rastoyanie заключить try except
(иногда возникает ошибка "Overflow while converting variant of type (Double) into type (Integer)")

зы: имхо видать из за 21 пакета 1 эксперемент закончился автобаном (
зыы: тестирую... 30 мин ... пока норм :)
зыы: сервер ХБ Т1.5
----
неудача :( автобан
зы: гг не стоит, юзал 1 клиент, пх 3.4.1.68
зыы: при работе примерно 10 - 15 минут все норм.

-=Ma}{imuS=-
20.01.2009, 23:32
все, разобрался я просто юзал версию 3.4.1.61, а 69 нашел случайно на форуме. было бы неплохо в файловый архив выложить

все работает, но минуты через 2-3 вылазит ошибка shiedCONSOL.exe обнаружена ошибка и линейка всинет

NLObP
21.01.2009, 00:18
я просто юзал версию 3.4.1.61, а 69 нашел случайно на форуме. было бы неплохо в файловый архив выложить

Загляни сюда (http://coderx.ru/showpost.php?p=12525&postcount=1), тут всё есть, даже новее.

nezabudkin
21.01.2009, 00:26
Скрипт включай за долго до места кача, чтобы на месте кача скрипту были известны присутствующие мобы.
Уже давно как не требуется!
Есть замечательная кнопка Init. Своеобразный авто-релогин!!!

NLObP
21.01.2009, 00:41
Мне подсказали замечательную команду:
//by Xelat
{я видел у тебя там проблемы с пакетом UserInfo - отправляешь на сервер пакет 6E
- RequestRecordInfo и тебе придёт и юзеринфо, и инфа о всех нпц и игроках,
которые тут есть}
buf:=#$6E;
SendToServerEx(Name);

-=Ma}{imuS=-
21.01.2009, 02:40
а что делать с ошибкой shieldCONSOL.exe ?

nezabudkin
21.01.2009, 12:02
а что делать с ошибкой shieldCONSOL.exe ?
Ждать новый антифрост от XKOR`а

nezabudkin
22.01.2009, 18:13
зы: имхо видать из за 21 пакета 1 эксперемент закончился автобаном (
зыы: тестирую... 30 мин ... пока норм
зыы: сервер ХБ Т1.5
----
неудача автобан
зы: гг не стоит, юзал 1 клиент, пх 3.4.1.68
зыы: при работе примерно 10 - 15 минут все норм.

если не секрет, чего за сервер?

alexsl
23.01.2009, 00:24
Сервер локальный.
В клиенте прикручен файр.длл из за которого были проблемки, т.к. не в курсе методов защиты сразу не заметил (думал, что на стороне сервера стоит анализатор ответов клиента. :) ).
решилось так: линейка->софтина перенаправления траффика->локальный прокси->л2пх(инжект в прокси)->сервер
зы: тестирую, вроде пока нормально.

gmb
25.01.2009, 13:48
Люди , что за ошибка и как с ней бороться?
http://pic.ipicture.ru/uploads/090125/thumbs/UWy6Z8GQw7.jpg (http://ipicture.ru/Gallery/Viewfull/12188884.html)
сервер l2world rash

QaK
25.01.2009, 19:40
gmb, при каких условиях выскакивает эта ошибка?

Murdoc
26.01.2009, 13:40
Сервер локальный.
В клиенте прикручен файр.длл из за которого были проблемки, т.к. не в курсе методов защиты сразу не заметил (думал, что на стороне сервера стоит анализатор ответов клиента. :) ).
решилось так: линейка->софтина перенаправления траффика->локальный прокси->л2пх(инжект в прокси)->сервер
зы: тестирую, вроде пока нормально.

Эта защита проверяет клиента на инжекты. вот на этом ты и спалился. более того автобан срабатывает взависимости от настройки - можно настроить чтоб тебя банило за 5й вход в игру с инжектом в клиент(а можно на 10й или через 5 часов работы клиента с инжектом). проще всего примотать сокс к л2пх. на форуме даже исходники лежали с соксом где то.

alexsl
26.01.2009, 18:29
угу, разобрался, поставил виртуальную машину с проксей и там пхикс :)
зы: хотя было так: линейка->софтина перенаправления трафика->локальный прокси->л2пх(инжект в прокси)->сервер
т.е. не было инжекта непосредственно в клиент, походу защита палит все процессы/трафик

gmb
27.01.2009, 21:41
gmb, при каких условиях выскакивает эта ошибка?
После кнопки start , ваще заглючивает всё и прога и л2.:(

QaK
27.01.2009, 21:58
gmb, значит что-то с шифрацией/самим скриптом, еще что-то хз что ...

nezabudkin
29.01.2009, 00:56
После кнопки start , ваще заглючивает всё и прога и л2
У тебя другие скрипты работатют? Только мой скрипт глючит или все?
Какую версию скрипта используешь?

gmb
29.01.2009, 18:59
У тебя другие скрипты работатют? Только мой скрипт глючит или все?
Какую версию скрипта используешь?

Другие норм , версия 0,5 .

nezabudkin
01.02.2009, 02:10
Эта версия только под Gracia РУ ОФФ,
а там сейчас новая защита, и после запуска скрипта дисконект получаешь очень быстро((
Я на днях выложил обновленную версию, там исправлено несколько багов, но дисконект всеравно получишь...

Murdoc
02.02.2009, 15:23
зы: хотя было так: линейка->софтина перенаправления трафика->локальный прокси->л2пх(инжект в прокси)->сервер
т.е. не было инжекта непосредственно в клиент, походу защита палит все процессы/трафик

А! ну да! забіл написать. защита(фире.длл) еще ищет во всех папках откуда что нить запущено файл newxor.dll. Ну и еще ищет инжект.длл(я как раз поэтому когда то просил сделать возможность произвольных имен этих файлов с возможностью выбора).

cd0p3
02.02.2009, 22:26
Есть проблема, настроил скрипт под себя (ник, дистанции, хп, мп и т.д.) и при первых его действиях клиент делает логоф без каких либо ошибок.
пробовал отключать части shieldcontrol, но бестолку та же история, есть какие нибудь соображения?


Версия скрипта 0.5
сервер l2.ru

vhl000
02.02.2009, 22:53
есть какие нибудь соображения?
есть! поднять глаза не 1 пост выше.

lexayar
25.03.2009, 12:01
Исправил две нехорошие ошибки в боте:
тут, бот брал не ближайшего моба, а первого попавшегося.
function GetMinDistID : integer; // функция поиска ближайшего моба в БД
var
i, Dist, MinDist : integer;
begin
result:= 0;
if MobsLastIndex = 0 then exit;
MinDist:=RastoyanieToMe(MobsXYZ[1,OX], MobsXYZ[1,OY]);
for i:=1 to MobsLastIndex do if (MobsDist <= Radius) and (MobsIsAttackable) then
begin
Dist:= RastoyanieToMe(MobsXYZ[i,OX], MobsXYZ[i,OY]);
if Dist <= MinDist then
begin
MinDist:= Dist;
result:= i;
end; // если нашли хоть одного моба или несколько, товозращаем индекс ближайшего
end;
end;

А тут, если вы качаетесь не один, то бот бегал и пытался убить уже убитых не вами мобов.
procedure Die06;
var
i: integer;
begin
i:= TestPovtor(ReadD(2));
if i > 0 then begin
MobsIsAttackable[i]:= false;
MobsAgression[i]:= false;
if MobsObjID[i] = TargetID then
begin
TimerCombat.enabled:= false;
if Spoil and Spoiled then
if ReadD(22) = 1 then RequestMagicSkillUse(42);
LastKilledMobObjID:=TargetID;
inc (MobsKilled); // подводим статистику
Spoiled:= false;
TargetID:= 0;
TimerCombat.enabled:= true;
end;
end;
end;

Делал раньше еще какие то доработки, уже не помню.

[I]Добавлено через 3 минуты
Раньше бот тупил ппц из за этого, и сразу было видно. А теперь точно не отличишь от человека:)

[I]Добавлено через 9 минут
Еще вспомнил одну фишку, я играю на хеллбоунде может с этим связано, а может это ошибка, но в процедуре InventoryCreate начальное смещение у меня почему то не 76 а 76-4, вот так:
offset:= 76-4;

crol
25.03.2009, 12:01
работает на l2.ru ?

QaK
25.03.2009, 12:09
crol, нет.

nezabudkin
27.03.2009, 16:18
работает на l2.ru ?
когда пакетхак сделают под l2.ru тогда и заработает.

Murdoc
30.03.2009, 13:32
Что то я в версии для ХБ не нашел процедуры Die06... А за исправление с дистанцией спасибо :) теперь гораздо "человечнее" ботик бегает

lexayar
01.04.2009, 10:34
Что то я в версии для ХБ не нашел процедуры Die06...
Смотри версию 0.5.2 от 22.01.09. (http://coderx.ru/showpost.php?p=20573&postcount=29)

Murdoc
01.04.2009, 12:28
Смотри версию 0.5.2 от 22.01.09. (http://coderx.ru/showpost.php?p=20573&postcount=29)

Спасибо! Я прозевал обновление скрипта :) А он на хеллбаунде без правки пакетов работет?

lexayar
01.04.2009, 12:50
Работает

MaRLiN
06.04.2009, 10:19
ребят, всё врое бы работает неплохо, но бот не автономен, мин 20 покачается и зависает=(( причем и клиент и программа, а потом в клиенте пишет дисконект! в чём проблемка?

Murdoc
06.04.2009, 13:47
ребят, всё врое бы работает неплохо, но бот не автономен, мин 20 покачается и зависает=(( причем и клиент и программа, а потом в клиенте пишет дисконект! в чём проблемка?

Неправда. это что то у тебя или с коннектом или с сервом. сегодня в 9.00 запустил и все работает без зависаний(и так каждый день с 9.00 до 17.00 ;) ). Не отваливается если не пропадает инет.

MaRLiN
06.04.2009, 22:53
Значит проблема может быть в интернет коннекте? потомучто я замечал что нет нет тупит интернет или подвиснет и выбивает или отрубается напрочь но эт редко! но всёже спасибо за ответ=)

MaRLiN
07.04.2009, 09:39
вот оставил наночь бить колы, а утром проснулся и увидел вот это!! что жто такое?

MaRLiN
08.04.2009, 08:11
вот опять таже история, скрипт не автономен, вылетает страшно ктонить подскажие в чем дело?

MaRLiN
08.04.2009, 11:09
как заметил проблема не в интернете, переустановил винду поменял дрова модема провайдер тоже всё проверил, интернет работает на УРА, проблема в скрипте скорее всего, наврено гдето идет утечка!

lexayar
09.04.2009, 13:31
У меня тоже скрипт нормально работает. У тебя случаем "Запоминать пакеты" не активировано?

NLObP
09.04.2009, 14:27
У меня тоже скрипт нормально работает. У тебя случаем "Запоминать пакеты" не активировано?

Судя по скринам ошибка конвертации данных. Может быть она не часто и не у всех появляется?

alexteam
09.04.2009, 14:44
не утечка идет.. переполнение..
дабл 64битная,инт 32битная.
думаю стоит в разборе использовать int64 вместо интежер дабы исключить такое.
интересно только в каком месте, и при каких обстоятельствах.. вылетает..

DashKAaa
09.04.2009, 15:57
пробовал кто на абу-с-с_е на новой грации скрипт локомотива? вышло что у кого?

MaRLiN
09.04.2009, 16:27
Народ, ну а что мне делать то? Запоминать пакеты не стоит!

lexayar
09.04.2009, 17:26
не утечка идет.. переполнение..
дабл 64битная,инт 32битная.
Да как раз хотел написать... убегать надо было. Возможно база объектов переполнятся, может где то удаление не всегда происходит. Щас поищу.

Добавлено через 9 минут
Хм... В скрипте вообще нет преобразования double к int, более того тип double вообще не используется. Возможно по каким то причинам у самого phx крышу сносит.
MaRLiN, проверь у тебя последняя версия скрипта? И проверь, что будет, если оставить пакетхак без запуска этого скрипта. Да и надесь, другие скрипты у тебя в этот момент не были запущены?

Добавлено через 5 минут
Смысл в том, что где-то стоит счетчик типа double, который что то считает. А какая то функция его использует и преобразует как целое, вот и получается, когда счетчик выходит за пределы integer, эта функция во время преобразования дает сбой. Возможно проблема в исходниках пакетхака. А какой счетчик? первым, что в голову пришло, это счетчик пакетов, вот и предложил отключить опцию сохранения.

MaRLiN
09.04.2009, 19:31
версия пакетхака в поряде, сам Луп дал=) тебе если не сложно дай аську сваю там можно более подробно рассказать и своевременно понять в чём дело! я Пакетхак оставлял без ничего наночь и всё впоряде, одновременно несколько скриптов не запускал, а разьве так мона? я думал пахать не будет!

DashKAaa
10.04.2009, 10:22
Возможно ли переделать слово pos на другое действие, допустим на социальное? что то найти не могу...

MaRLiN
10.04.2009, 10:48
нашол выход перестало зависать, врубил сохранение пакетов, по работало так чуть и отрубил и всё стало нормально, может и сама посебе наладилось, а может от действий маих!

MaRLiN
11.04.2009, 16:32
Беру сваи слова обратно, опять всё также каскадом вылазиет таже ошибка по прохождению некоторого времени! ну ктонить помогите, что делать?

MaRLiN
13.04.2009, 17:06
решил сменить версию пакетхака, новый пакетхак тварит чудеса, проц и оперативу жрет ппц страшно, вы даёт вот такую вот ошибку по прохождению часа примерно! ну что мне делать? подскажите ктонить!

PanAm
13.04.2009, 17:20
0X0EEDFADE (http://0x0eedfade.fileapplicationerror.com/)
и на скрине не видно на сколько "много" ПХ жрет.

MaRLiN
13.04.2009, 20:38
со старым пакетхаком ниче подобного небыло, подскажите что за ошибка это

Niksan
22.04.2009, 23:22
Народ, хэлп, почему то не юзаются Хэлинг поушина, написал АйДи его 1061 и пофик ему...почему у меня так? сервер грация

и еще, когда оставляю на ночь, тупо вылетает l2phx...

и как добавить еще манор? Что бы и спойл и манор был?


1) разобрался с хэлом сделал по тупому конечно)) но вроде работает(у меня определяет Кол-во лезердов, а вот обынчх хэлинг поушен пишет -1) покупаю 10 лезерда булылок, и многа обычных) и вот - получается))

.. и вот вопрос, если в инвентареь уже нету ХП бутылей, и он пытается их юзать - ГМы могут заменить что это бот?

сделал это вот так:

procedure DrinkBottle; // пьем бутылки и следим за их количеством
begin
if (HPBottleCount > 0) and (HPBottleObjID > 0)then
begin
UseItemObjID(268597640);
dec (HPBottleCount);
end;
end;
тупо вбил в UseItemObjID бутылочки.
2) так и не разобрался почему вылетает
3)нашел строчку где юзается спойл и добавил манор семки(определенной, то есть юзаю ее и все)
if Spoil and (not Spoiled) then
begin
RequestMagicSkillUse(254); // заспойлим моба если опция включена
UseItemObjID(268514363); //зажаем семку
end
else PhisicalAttack;
но почему то не юзается серп(((( сделал вот так(понимаю что серп будет юзаться, если спойл прошел))

if Spoil and Spoiled then
if ReadD(22) = 1 then
begin
UseItemObjID(268514433);
RequestMagicSkillUse(42);


end;


на счет серпа.. получилось) просто сделал воттак


UseItemObjID(268514433);
if Spoil and Spoiled then
if ReadD(22) = 1 then RequestMagicSkillUse(42);




СТранно, всер анво тепрь банки не определят что есть.... Пишет тупо -1 банка в инвентаре



сделал вот так, на счет банок:

procedure DrinkBottle; // пьем бутылки и следим за их количеством
begin
if (HPBottleCount > -3) and (HPBottleObjID > -2)then
begin
UseItemObjID(268597640);
dec (HPBottleCount);
end;
end;



))тупо конечно...но работает...

а вот теперь вопрос...как это было надо сделать НОРМАЛЬНО и по человечески?))))))0

Niksan
25.04.2009, 20:50
на счет манора это для определенного семени...как сделать так, что бы он определял какие семена есть - и манорил их все по очереди)...
это типа

var
semki : integer;
begin

If колвоItemObjID(268597640)>0 then // если есть такие семки(я буду знать из обджект айди
semki:=ItemObjID(268597640) //то присываевыем номер семок в переменную
else колвоItemObjID(уже других семок)>0 then .... и т.д...

а потом уже



UseItemObjID(semki);
if Spoil and Spoiled then
if ReadD(22) = 1 then RequestMagicSkillUse(42);


как это будет выглядеть?)) помогите плз... я просто не знаю что отвечает за что((((((

Добавлено через 2 часа 16 минут
почему то после 50 минут где то,у клиента типа разрыв связи(анимация работает, но тупро стоит на месте, нажимюа идти - игнорит, инте работает, ла2пкикс тоже) что это?

VORON
26.04.2009, 02:48
на счет манора это для определенного семени...как сделать так, что бы он определял какие семена есть - и манорил их все по очереди)...
это типа

var
semki : integer;
begin

If колвоItemObjID(268597640)>0 then // если есть такие семки(я буду знать из обджект айди
semki:=ItemObjID(268597640) //то присываевыем номер семок в переменную
else колвоItemObjID(уже других семок)>0 then .... и т.д...

а потом уже



UseItemObjID(semki);
if Spoil and Spoiled then
if ReadD(22) = 1 then RequestMagicSkillUse(42);


как это будет выглядеть?)) помогите плз... я просто не знаю что отвечает за что((((((

Добавлено через 2 часа 16 минут
почему то после 50 минут где то,у клиента типа разрыв связи(анимация работает, но тупро стоит на месте, нажимюа идти - игнорит, инте работает, ла2пкикс тоже) что это?

думаю работай с инвентарем.. синтаксис конечно посложней твоего будет выглядеть.. просканировать инвентарь найти в нем все ИД из списка семян.. узнать количество итемов в инвентаре из етого списка.. ну а потом перебирать их по твоему желанию.. что именно не выходит- пиши..

Niksan
26.04.2009, 08:44
вот опять таже история, скрипт не автономен, вылетает страшно ктонить подскажие в чем дело?
у меня такая же фигня... юза версию пакетхака 3,4,1,83.... но, когда юзал последнюю версию...у меня тупо вылетал пакетхак....


че делать, посоветуйте?

Добавлено через 4 минуты
думаю работай с инвентарем.. синтаксис конечно посложней твоего будет выглядеть.. просканировать инвентарь найти в нем все ИД из списка семян.. узнать количество итемов в инвентаре из етого списка.. ну а потом перебирать их по твоему желанию.. что именно не выходит- пиши..

вчера ночью вот додумался сделать, опять же по тупому))))

begin
RequestMagicSkillUse(254); // заспойлеваем моба, если функция включена
UseItemObjID(268583886);//сажаем семки
UseItemObjID(268583873);
UseItemObjID(268583872);

end

тоьлко надо самому вписывать ItemObjID, его находил из пакетов))

получилось что сажаются семена)) рэндомно))что успеет посадиться)) воть

lamer
26.04.2009, 13:36
БОТ - Воин помошник от Alexus
не смог я его под грацию переделать сам, может есть у кого готовый?

Niksan
26.04.2009, 14:29
БОТ - Воин помошник от Alexus
не смог я его под грацию переделать сам, может есть у кого готовый?

на первой странице там есть для грации, последняя версия бота

MaRLiN
26.04.2009, 19:45
у меня проблемка пакетхак перестал работать вобще, я обновил клиент стал грация парт 1 пакетхак не видит окна линейки точнее видит в логе, а так пишет но коннект и всё! при запускании скрипта не видит инвентарь просто комбоксы показывает и всё

nezabudkin
27.04.2009, 20:50
пакетхак перестал работать вобще, я обновил клиент стал грация парт 1

Что за сервер? Какие хроники были/стали? Расставляй знаки препинания в тексте, а то понимать приходится с 5-го раза :)

Добавлено через 10 минут
Задумываюсь о новой версии бота, хочу сделать модификацию под все известные хроники сразу. Наверное это будет последняя версия на скриптах, начинает существенно нехватать производительности fastscript.
Принимаю предложения по функциональности.
Основные фишки в новой версии:
- обход препядствий
- окно управления ботом прямо в клиенте

NLObP
27.04.2009, 22:54
nezabudkin, твой скрипт просто класс, я его к своему WalkerScriptRunner.script прикрутил, управляю через
CallSF ('Locomotiv-05_wsr', 'setVar', [s, i]);

Жду слеедующей версии.

Niksan
28.04.2009, 17:03
неазабудкин)) скажи мне плз..в чем дело?? граци, твоя последняя версия скрипта... качается где то пол часа..потом пакет хак или зависает, или выкидывает его, или просто в клинете написнао соединение разорвано... Воть)

и еще я выше писал на счет манора))) собираешься его реолизовывать в следущей версии?)

Добавлено через 4 минуты
ссори за оффтоп... как узнать обджектАЙДи по его айди? или ваще как его узнать ?

nezabudkin
28.04.2009, 19:22
неазабудкин)) скажи мне плз..в чем дело?? граци, твоя последняя версия скрипта... качается где то пол часа..потом пакет хак или зависает, или выкидывает его, или просто в клинете написнао соединение разорвано... Воть)

и еще я выше писал на счет манора))) собираешься его реолизовывать в следущей версии?)

Добавлено через 4 минуты
ссори за оффтоп... как узнать обджектАЙДи по его айди? или ваще как его узнать ?

Я не телепат! Предоставь мне ссылку на сервер, архивную копию паки system твоего клиента, тестовый акк, настройки моего скрипта, номер версии пакетхака, тогда я готов позырить из-за чего у тебя вылеты происходят.

Про манор.... а споил то хоть нормально работает? С манором опять же, на чем то надо тестить, смотреть как это клиент делает, и переводить на скрипты... Сейчас самое главное - это обход препядствий!


Для того чтобы узнать ItemObjectID зная его ItemID, надо обрабатывать пакеты инвентаря от сервера, почитай на форуме, где-то уже были примеры как это все работает. Или посмотри как в моем скрипте узнаются ItemObjectID бутылок.

Niksan
28.04.2009, 23:25
Спойл работает замечательно)) бот просто супер... Токо у мну клиент видимо тупой..если у народа норм идет, а у мну нет((

Lynx
29.04.2009, 01:49
Добавил в версию 0.4 споил и свип. При том спойле, который предложил poizon спойлится не всегда. А скрипт на свип(?у меня?) сбивает атаку на следующего моба.

dmn-synthet
02.07.2009, 18:08
На сервере Камаэль пришлось поменять смещение в инвентаре.


procedure InventoryCreate;
var
i,k, offset : integer;
begin
offset:= 72;

ulfsdair
27.07.2009, 20:13
спасибо за скрипт.
реально ли встроить при атаке использование скиллов?
допустим, если глад - заряд соник до 7, затем бьем моба 2умя скилами, и добиваем пока не убьем.
сам код атаки.
вообщем на 70% я разобрался.

помогите написать проверку:
1. Юзаем скилл sonic focus
2. если заряд скила = 7
3. дальнейшие дествия
4. else
5. пункт 1.

TAMBIK
05.08.2009, 11:28
Мне подсказали замечательную команду:

//by Xelat
{я видел у тебя там проблемы с пакетом UserInfo - отправляешь на сервер пакет 6E
- RequestRecordInfo и тебе придёт и юзеринфо, и инфа о всех нпц и игроках,
которые тут есть}
buf:=#$6E;
SendToServerEx(Name);

а КАК часто можно отправлять эту команду ?
а то наверно спалишся

xkor
07.08.2009, 17:55
подправил сообщения на первой странице дабы они не убивали своим размером БД...

LiS
07.08.2009, 22:23
Доброго времени суток!
Ребят, скрипт действительно очень интересный.
Я сам позавчера только впервые скачал и начал работать с пакетхаком, пытаюсь писать и модифицировать скрипты. Вроде получается ;)
Я задам всего 2 вопроса, не сосчитайте за нубство, просто хочется от действительно знающих людей узнать (сорри, если оффтоп, не вели казнить, модер)):
1. Можно ли запускть в пакетхаке 2 одинаковых (ну или разных) скрипта на 2 разных окна LA2?
2. Если запустить на одно окна линейки 2 разных скрипта (можно ли так вообще?) и в обоих скриптах отслеживается один и тот же пакет, скрипты отработают нормально?

Заранее спасибо.
С уважением, LiS.

Breadfan
08.08.2009, 00:40
1. Да
2. Да - при условии что пакет не будет модифицирован скриптом который обрабатывает его первым

NLObP
08.08.2009, 02:19
LiS, можно запустить 64 скрипта на одно окно или на 64. Лишь бы комп потянул.

Добавлено через 1 минуту
а КАК часто можно отправлять эту команду ?
а то наверно спалишся

Трудно сказать. Надо смотреть как часто её клиент посылает и исходить из этого.

alexteam
08.08.2009, 11:43
можно запустить 64 скрипта
2^32

BolkoB
09.08.2009, 02:20
такой вопросик автору скрипта, либо тем, кто поймет о чем речь:
позавчера перешел играть на клиент Грация финал, до этого играл на С4 х1, юзал твоего бота (респектищще огромный, месяц на том серваке не играю а в топе все еще на 4-ом месте ))))...) дык пришлось обновлять версию пакетхака, версию бота, в итоге - попотел, но вроде разобрался, настроил скрипт под своего персонажа, и все...тут начинаються запары - пишет:
"Ошибка задания начальных параметров!
Еще не все параметры заданы. Проверьте параметры..." - хотя все выставил (в С4 же все работало...), вот собственно и суть моего вопроса - помогите, объясните мне, что я делаю не так, заранее извиняюсь, если вопрос покажеться "типичным", но "чтоб-меня", маялся 2 дня !
З.Ы. сервер - http://crumagaming.ru/
З.З.Ы. верно-ли я понял: настройки выставляються в полях:
NickName = 'PHX';
CharNumber = 0;
Radius_Kacha = 100;
Spoil = false;
???
З.З.З.Ы. - контакты: скайп - bolkob_danil / ICQ - 431-845-526

QaK
09.08.2009, 13:40
BolkoB, хроники поменялись - значит нужно править процедуры считывания данных и ИД пакетов в условиях обработки.

Kostya
05.09.2009, 22:30
Бот очень хорош и работает на многих серверах, сам тестил, сам бегал и качался, но есть несколько но... допустим я б хотел что б версию interlude добавили такую шнягу, чтоб он валил только тогда когда у него ХП выше 30% или 50%, а до этого времени пил ХП банки, и ещё чтоб он мог использовать хоть 1 скилл на мобе ( боевой ), допустим он его будет использовать каждые 20секунд во время боя, будет очень даже кстате, а так большой респект!

alexteam
05.09.2009, 23:26
поймай пакет на использование скила и всунь в отправку.

Kostya
05.09.2009, 23:50
да дело то в том что в програменге вообще 0((.. вот и ищу помощи, можете помоч чтоб допустим вызывалась команда с /useshortcut 1 2 или /useshortcut 1 3 , так как бы будет проще) Да и что нащет хп?

TAMBIK
05.09.2009, 23:54
Kostya,
какую версию бота используешь

Kostya
06.09.2009, 00:22
Бот - локомотив от Alexus
версия : 0.4 (бета)
дата: 03.01.09

Necrolity
06.09.2009, 00:36
Спасибо автору за отличного бота.
У меня следующая проблема:
Есть две версии пакетхака, 3.5.2.102 и последний 3.5.15.126. На первом через какое-то время phx вылетает с ошибкой (чуть позднее дам саму ошибку), а на последнем бот-локомотив работает нормально, а вот бот-хелпер: как только включаешь происходят три сценария.
Как только чар хелпер переходит к атаке (не уверен точно), клиент дисконнектит;
без всяких ошибок вылетает phx;
phx критует

Хроники - Interlude, пакетхак работает корректно,
Bot-helper от Alexus
версия: 0.3 (бета)
дата: 08.04.08
---------------
Бот - локомотив от Alexus
версия : 0.3.1 (бета)
дата: 03.01.09

http://i012.radikal.ru/0909/f4/083f61a28a71t.jpg (http://radikal.ru/F/i012.radikal.ru/0909/f4/083f61a28a71.jpg.html)

alexteam
06.09.2009, 12:26
после вылета ошибки - текст ошибки (полный, его можно скопировать) в студию . на скрине нихрена кроме того что происходит это при вызове сендтуклиент/сервер не видно.

freel
06.09.2009, 19:40
Всем доброго вечера, сразу напишу версия пнх 3.4.1.83 версия бота 0.4(бета), клиент С6.
Вобщем проблема такая, он не хочет собирать дроп, то есть убил моба и побежал бить следующего, а на дроп ему по боку. Настройки по поводу дропа стоят стандартные(то есть какие и были) частота срабатывания сбора дропа -500, время на сбор дропа -10, кто может подсказать в чем проблема? Пробовал менять эти цифры, толку 0.

TAMBIK
06.09.2009, 20:16
freel,
посмотри пакет от сервера 0C дроп падает приходит и
покажи какой

TAMBIK
06.09.2009, 21:56
добавил мож правильно а там хз

//-----------
HPLevel = 70; // Уровень жизни в %, при котором начинаем глотать банки
//наверно лучше увеличить до 85-90
HPBottleID = 1539; // ItemID 1060=Lesser Healing Potion; 1061=Healing Potion; 1539=Greater Healing

Potion;
DrinkDelay = 14; // минимальное время задержки повторного питься HP-бутылки (10 - 20 сек).
// наверно лучше уменьшить до12
//--------
//можно добавить Уровень жизни в %, при котором бот остановиться для востоновления жизни
HPpauseLevel = 30; // Уровень жизни в %, при котором бот остановиться для востоновления жизни можно менять
CurHP = 100; // разница между макс HP и текушей при которой бот продолжит действовать можно менять

//======
// если добавили HPpauseLevel = 30; и CurHP = 100; то в скрипте дополняем вот так
// здесь
//--------
MyX, MyY, MyZ : integer; // Мои статы
MyID, MyHP, MyMaxHP: integer;
MyMP, MyMaxMP, MyCP, MyMaxCP: integer;
HPlevelProcent : integer;
HPpauseProcent: integer; // добавить
HPpause:Boolean; // добавить
//--------
// здесь
procedure Init; //Вызывается при включении скрипта
var
i,n : integer;
begin
HPpause:=false; // добавить
//=====
// и здесь
procedure StatusUpdate; // обновление данных о себе
var
i:integer;
begin
for i:=0 to ReadD(6)-1 do
case pck[i*8+10] of
#$09: MyHP:=ReadD(i*8+14);
#$0A: MyMaxHP:=ReadD(i*8+14);
#$0B: MyMP:=ReadD(i*8+14);
#$0C: MyMaxMP:=ReadD(i*8+14);
end;
if HPpause and (CurHP<=MyMaxHP-MyHP) then // добавить
PauseGame; // добавить
HPpause:=false; // добавить
end;
if MyMaxHP > 0 then HPlevelProcent:= Round((MyMaxHP/100)*HPLevel);

if MyMaxHP > 0 then HPpauseProcent:= Round((MyMaxHP/100)* HPpauseLevel);// вот эту строку добавить
end;

//также здесь
#$0E: if MyID=ReadD(2) then // StatusUpdate:h(ObjectID)d(Attributes)
begin
StatusUpdate;
if (MyHP > 0) and (MyHP < HPlevelProcent) then if Wait(time1,DrinkDelay) then DrinkBottle; // пьем бутылки
if MyHP > HPlevelProcent then time1:=1;
if MyHP = 0 then // Проверка не убили ли нас...
begin
SendMsg_to_CL('Нас убили...');
log.Lines.Add('Нас убили...');
StopGame;
end;
if (MyHP > 0) and (MyHP < HPpauseProcent) then begin // добавить
HPpause:=true; // добавить
SendMsg_to_CL(' перекур...'); // добавить
log.Lines.Add(' перекур...'); // добавить
end;
end;

freel
07.09.2009, 00:55
Не приходит пакет 0C, сейчас попробую с добавлением твоим, заранее спасибо.

nezabudkin
07.09.2009, 01:13
freel, если у тебя интерлюд, кроме Аббиса наверное, после того как ты моба шлепнешь, неважно ботом или руками, может дропнуться вещь какая-нибудь. Так вот ели ты в клиенте увидел, что вещь дропнулась, то просто обязан был прийти пакет от сервера вида: 0C=DropItem:d(PlayerID)d(ObjectID)d(ItemID:Get.Fun c01)d(X)d(Y)d(Z)d(Stackable)d(Count)d(d).
В окне бота в списке дропа что-нибудь показывается?
Кроме поднятия вещей бот себя ведет адекватно?
Может что-нибудь с номерами пакетов на твоем сервере нахимичили?

freel
07.09.2009, 03:13
В окне бота в списке дропа пусто, ничего не показывается, но дроп есть, после кача приходится в ручную бегать собирать.
Всем спасибо за помощь, помог человек играющий на серве, таже самая проблема с этим ботом была, он его изменил, все работает теперь.

NLObP
07.09.2009, 03:43
В окне бота в списке дропа пусто, ничего не показывается, но дроп есть, после кача приходится в ручную бегать собирать.
Всем спасибо за помощь, помог человек играющий на серве, таже самая проблема с этим ботом была, он его изменил, все работает теперь.

А с другими поделиться?

Necrolity
07.09.2009, 04:00
пока крит поймать не получается, но вот окно с бот хелпером дисконнектит стабильно после 10-20 секунд. а еще чаще без ошибок просто закрывается phx.

nezabudkin
07.09.2009, 10:51
Мдя, надо будет этого Хелпера под Грацию и Интерлюд переписать!

MaRK
19.09.2009, 13:22
ку люди скрипт супер слов нету пользуюсь сам есть одна проблема скрипт токо на воина =( а на мага можна зделать чтоби когда перс брал моба в (таргет тоесть вибрал его) он нажмал f1 или по порядку =) клацал F1 F2 F3 МОЖНА ТАКОЕ =) ЗДЕЛАТЬ НАПИШИТЕ ЧТО ВИ ОБ ЕТОМ ДУМАТЕ =)))))))))))

alexteam
19.09.2009, 15:17
клацал F1 F2 F3
во всяком случае я начинаю думать что 2х недельных банов подряд видимо тебе было недостаточно...

во первых там не просто клацаюццо ф1 ф2 ф3. все гораздо сложнее.
нужно учитывать ману, откат скилов, дистанцию до моба, системные сообщения "цель не видна" и еще кучу плюшек.

сделать для милишника подобное - в принципе легко, он в близи кастовать будет. после первого же прошедшего своего "атака" можно использовать скилл. по идее даже скрипт не надо заюзывать. просто в отправку пакетов реквайстскиллюзы всунуть.
а вот у мага ренж большой - соответственно и проблем нааамного больше.

если никто не сделал что-то подобное и не выложил - это означает две вещи. либо человек посчитал что трудоемкость работы слишком большая и забил на эту идею, либо писал для себя и под свои нужды и врядли делал это скриптом.

Добавлено через 1 минуту
может скоро будет в паблике скомпилированный плагин.. реализующий "урезаного" волкера

http://i.piccy.info/i4/78/f8/08d30a89d61f4d9294d47f40fd6c.jpeg (http://i.piccy.info/i4/bd/dd/ac84c44ee1bc54589484c60c1fd6.png)

zotrussia
22.09.2009, 00:41
ребят какой скрипт нужен для интерлюда и какой phx ,и ещё скажите плз я вроде заполнил всё верно , но всегда он гворит ошибку , типо не всё настроено провете настройки...

Liiion911
23.09.2009, 00:56
вроде все логично ,но моба не спойлит, или спойлит но через раз... в чем проблема ? (Грация Финал):eek:

скрипт приложил )))

nezabudkin
23.09.2009, 01:51
какой скрипт нужен для интерлюда и какой phx
Для интерлюда лучше всего версию 0.4. Все скрипты последний раз были тестированы под l2phx.3.4.1.83

Liiion911
23.09.2009, 01:53
А по моему вопросу че-нить есть ? ;)

nezabudkin
23.09.2009, 01:59
но моба не спойлит, или спойлит но через раз
под финалом не тестил, но споил действительно иногда вел себя странно. У тебя константа Radius_Kacha слишком большая, сделай поменьше раза в 4, меньше глюков будет.

Добавлено через 2 минуты
Liiion911, а все остальное в скрипте работает нормально?

zotrussia
23.09.2009, 01:59
Ребята я всё настраивал всё что можно... но скрипт всё равно говорит что я не всё настроил (((( Поалуйсто выложит скрин скипта 0.4 ) желательно подчеркинет что настраивать (((( а то я уже незнаю что делать...
зы играю на серве la2.meganet.org.ua/

Liiion911
23.09.2009, 02:01
не, я на поляне большой, в принцыпе было 9к, но потом поставил 13к, типа клан орал бот не бегает нифига xD

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

Добавлено через 37 секунд
все остальное пашет )) я там поправочки вношу, тебе скинул почти чистую версию ,а так у мя там еще скилы разные вписаны на атаку )

Добавлено через 49 секунд
http://depositfiles.com/files/omx5tfgsb

мошт поможет ?! я клан учил ботоводить вроде как ))

nezabudkin
23.09.2009, 02:22
играю на серве la2.meganet.org.ua
у тебя трафик нормально дешифруется? другие скрипты работают?

Добавлено через 7 минут
все остальное пашет )) я там поправочки вношу

полезные изменения можно и тут выкладывать, только обязательно описывать чего-где поменял!

zotrussia
23.09.2009, 02:26
Ребят а моежет скрин скинуть а нанём выделить что настраивать обязательно ... а то я никак не могу...

Liiion911
23.09.2009, 02:54
ну дописываю кусочки , чтобы бот скилами дрался, уже танк под этим ботом и крафтер... если что будет сделано существенное выложу, но вроде никаму ненужен бот для финалки .

Liiion911
24.09.2009, 18:43
АП !

вроде все логично ,но моба не спойлит, или спойлит но через раз... в чем проблема ? (Грация Финал)

nezabudkin
25.09.2009, 01:44
в чем проблема ? (Грация Финал)
Думай, ищи, разбирайся...

ramblik
25.09.2009, 16:25
Бот при уровне заданном вами ХП садится и накапливает ХП до заданных вами в настройке. Спойлит и свипает с здержкой на команду.
Кто протестил пишите ошибки какие есть..

ramblik
25.09.2009, 18:19
как я понял пакет на манор каждый день меняеться?

zotrussia
25.09.2009, 20:51
а что делать если на сервере шифрованые пакеты?

nezabudkin
26.09.2009, 00:36
а что делать если на сервере шифрованые пакеты? курить ветку Шифрации серверов, но дело это гиблое, на меганете очень нестандартный алгоритм, с помощью пакетхака расшифровать не удасться, даже если алгоритм шифрования вскроешь.

SaNeK_BF
15.10.2009, 00:03
Так. Говорю сразу:
1. ПакетХак оч заинтересовал. Оч класная идея и реализация. Пакеты еще не ловил. Ну и толком скрипты не получаются. Нуб наверное.
2. nezabudkin, твой локомотив оценил. Классная штука, батоны поставил, самонастройка... В общем очень клево и интерестно! Молодцы, ребята, респект за вашу работу.

Теперь конретно о проблемах. При запуске локомотива 0.5 на Грация финал сервер www.asterios.tm
Не грузица форма с кнопками.
Что использую:l2phx.3.5.24.142 От сервера пакеты перехватывает.
В закладке "дополнительно" открываю скрипт локомотив 0.5. Вставляю нейм персонажа. Нажимаю "выполнить скрипт" 2 сек и кнопка отжимается. По идее должна загрузится форма с кнопками. ее нет.
Подскажите что нужно правльно сделать? Благодарю

TAMBIK
15.10.2009, 00:14
SaNeK_BF,
вкладка скрипты
http://img7.imageshost.ru/imgs/091014/32319dcd47/e16ea.jpeg (http://imageshost.ru/)

SaNeK_BF
15.10.2009, 01:58
решил не спешить. Попробывал простой скрипт на знед мсджа в чат. Никакого результата. Мне кажется не определяется имя персонажа и другие параметры. Ниже скрин с скриптом. и в закладке "????" предпологаю там должно быть имя перса.

спустя некоторое время:
Так, перечитал еще раз гайд по пакетхаку. Дайте плз ктото сервер где можно спокойно попробывать возможности проги. А то возможно у меня проблемы с определением пакетов. Спасибо

TAMBIK
15.10.2009, 10:34
SaNeK_BF,
Грация финал сервер www.asterios.tm
не работает
там шифрование.пакеты неправильно определяются

SaNeK_BF
15.10.2009, 17:11
фух, TAMBIK, большое спасибо. я уже думал я полный нуб )
Подскажи сервер на котором интересно потестить. Может на котором сам тестишь. Благодарю.
ПакетХак очень хорошая идея и реализация!

kostik789
24.10.2009, 22:11
Кто знает, почему он у меня подбегает и начинает моба аркой лупить, вместо того чтоб просто кастонуть?

dmitry501
26.10.2009, 07:13
Кто знает, почему он у меня подбегает и начинает моба аркой лупить, вместо того чтоб просто кастонуть?

потому что не настроен

AZIZ
26.10.2009, 18:19
Привет всем,пользуюсь 05 ботом),он хилки не пьет 1539 в иконке управления ботом -1,Винда 7 lineage final,так что выбор ботов не велик ).Читал всю тему на 8 странице подымался етот вопрос ,но я как бы только готовый скрипт могу (присабачить)).Если кто может решить проблемку отпишитесь пзжл.Приму в дар ссылку на L2PacketHack скрипт автоквикер под 7 Винду и финалку.

hackbozb
02.11.2009, 18:28
Интересует такой вопрос, возможно ли настроить приоретет мобов, то есть на кого нападать первым, на кого вторым и т.д. Если это уже есть плз, объясните как использовать....
И небольшой вопросик по самому локомативу, установка флажка фильтры==>радиус для чего и что дает???

Jack
04.11.2009, 08:56
Возникла небольшая проблема с ботом. Он не реагирует на маг.дамаг. Дело в том что мобы не попавшие в "радиус" кача, но с агриевшиеся от атаки на соседних (те что в зоне кача) начинают атаковать исключительно магией (урон 700-800) и даже если они попадают в заданную зону бот на них не реагирует пока у моба манна не кончится и он не ударит физически. Клиент грация финал, версия 3.4.1.83 (мне в ней удобней), locomotiv-05.

tiranosaur
05.11.2009, 18:30
А у меня почему то не подбирает дроп((( пакеты 1F и на аттаку и подбор дропа. локомотив05 я только вчера на грацию перешел. может кто нить помочь
пакет дроп итем -16 E2 6C 10 10 6A 6D 10 10 9B 21 00 00 B7 C7 01 00 7E 03 FD FF 50 F2 FF FF 00 00 00 00 01 00 00 00 01 00 00 00

Рбята помогите пжл. а то нифига не получается. Ужо голова болит. подбирает только ивент итем. Пакеты dropItem приходят перед пакетом Die. а кто нибудь делал помошника под грацию?

YakudzA
06.11.2009, 21:51
Народ, у кого HellBound и выше и не видно банок, вместо колличества (-1) поменяйте в скрипте ofset:=76 на ofset:=72
и все банки увидятся. )
Хотя про сервер выше HellBound не уверен ) но на Helle точно работает.

tiranosaur
07.11.2009, 02:51
Спс разработчикам разобрался)))) отлично пашет

PIONER
12.11.2009, 16:05
Хелпер под грацию не подойдёт?

8tomat8
18.11.2009, 17:36
а у менея траблы когда юзаю варлорда(версия скрипта 0,4), после того как куча мобов начинает его атаковать бот останавливается, то е5сть считывает всю инфу про окружающих мобов, пьет бафы, но не атакует даже когда его атакуют.

tiranosaur
22.11.2009, 18:25
Под грацию помощник идет. только пакеты поправить нуно. Мужики подскажите как вставить в хелпера спойл?. а то гномик сливается быстро.

hackbozb
22.11.2009, 21:04
Полностью тему прочитай, если не ошибаюсь там есть кусок для спойла........ Если мозг мой меня в очередной раз подвел, то извини.....

tiranosaur
22.11.2009, 23:37
Про спойл есть и в локомотиве. в памощнике атака оформлена два раза procedure Action. а как туда еще спойл фпихнуть хз. хитро больно.

nneett
26.11.2009, 03:33
freel, если у тебя интерлюд, кроме Аббиса наверное, после того как ты моба шлепнешь, неважно ботом или руками, может дропнуться вещь какая-нибудь. Так вот ели ты в клиенте увидел, что вещь дропнулась, то просто обязан был прийти пакет от сервера вида: 0C=DropItem:d(PlayerID)d(ObjectID)d(ItemID:Get.Fun c01)d(X)d(Y)d(Z)d(Stackable)d(Count)d(d).
В окне бота в списке дропа что-нибудь показывается?
Кроме поднятия вещей бот себя ведет адекватно?
Может что-нибудь с номерами пакетов на твоем сервере нахимичили?

Привет. Незабудкин вот ты кому то отвечал, у меня такая же проблема, все прекрасно работает, но не собирает дроп, пакет приходит, в окне бота в дропе пусто. Вот сам пакет , если нужен, как можно решить эту проблему ?
0C 54 B8 00 10 5C B8 00 10 C5 0F 00 00 F6 4D 00 00 A2 DD FF FF 4F F5 FF FF 01 00 00 00 60 37 00 00 01 00 00 00

tiranosaur
26.11.2009, 04:54
Там нужно ковырятся в скрипте. посмотри когда приходит ДропИтем до или после смерти моба?

nneett
26.11.2009, 10:58
DropItem приходит перед пакетом Die(это он я так понял за смерть отвечает).

tiranosaur
26.11.2009, 21:07
Тогда поменяй LastKilledMob на TargetID

nneett
26.11.2009, 22:47
Где именно заменить? Или все подряд на TargetID менять?

tiranosaur
27.11.2009, 05:44
if pck = '' then exit;
if (ConnectName = NickName) and FromServer then // разбор пакетов от сервера
и там меняешь
#$16: if TargetID = ReadD(2) then // DropItem:h(PlayerID)h(ObjectID)i(ItemID)d(X)d(Y)d( Z)d(Stackable)d(Count)
begin
AddDroppedItem(ReadD(6), ReadD(10), ReadD(14), ReadD(18), ReadD(22));
end;
У мну все норм. только ивентовые итемы не поднимает. они приходят после пакета die

nneett
27.11.2009, 17:56
if pck = '' then exit;
if (ConnectName = NickName) and FromServer then // разбор пакетов от сервера
и там меняешь
#$16: if TargetID = ReadD(2) then // DropItem:h(PlayerID)h(ObjectID)i(ItemID)d(X)d(Y)d( Z)d(Stackable)d(Count)
begin
AddDroppedItem(ReadD(6), ReadD(10), ReadD(14), ReadD(18), ReadD(22));
end;
У мну все норм. только ивентовые итемы не поднимает. они приходят после пакета die

Помогло. От души.

tiranosaur
04.12.2009, 21:30
procedure OnTimer1(Sender: TObject);
begin
case x of
0: begin
RequestMagicSkillUse(1239);
timer1.interval := 200;
end;
1: begin
RequestMagicSkillUse(1148);
timer1.interval := 200;
end;
2: begin
timer1.enabled := false;
x := 0;
end;
end;
end;

procedure PhisicalAttack; // команда атаки
begin
timer1.enabled:=true;
end;



procedure RequestMagicSkillUse (SkillID: integer); // маг атака
begin
buf:=#$39;
WriteD(SkillID);
WriteD(0);
WriteC(0);
SendToServerEx(NickName);
end;
подскажите пжл где ошибка? в таргет не берет а постоянно бьет.

TAMBIK
04.12.2009, 21:54
tiranosaur,
к какому скрипту хочешь добавить

tiranosaur
05.12.2009, 16:39
Локомотив

tiranosaur
08.12.2009, 15:26
Подскажите пжл а как сделать проверку(по типу проверки спойла) на проход ослабления к ветру?

Вопрос к рыцарям- Имеется недоработанный скипт на сх производная локомотива нужно ли выкладывать?

И ышо вопрос как в этом таймере сделать запуск с 0 позиции а продолжение со 2ой? Зараннее спс

const
Name='ххххх';

var
timer1: TTimer;
x: integer;


procedure OnTimer1(Sender: TObject);
begin

case x of
0: begin
timer1.interval := интервал_через_который_будет_отослан_первый_пакет;
end;

1: begin
buf:=hstr('пакет №1');
SendToServerEx(Name);
timer1.interval := интервал_через_который_будет_отослан_второй_пакет;
end;

2: begin
buf:=hstr('пакет №2');
SendToServerEx(Name);
timer1.interval := интервал_через_который_будет_отослан_третий_пакет;
end;

3: begin
buf:=hstr('пакет №3');
SendToServerEx(Name);
end;

else
begin
timer1.enabled := false;
x := 0;
end;
end;
inc(x);
end;

//************************************************** ****************************
// Вызывается при включении скрипта
//************************************************** ****************************
procedure Init;
begin
x := 0;
timer1:=TTimer.Create(nil);//выделяем памать и т.п.
timer1.OnTimer:=@OnTimer1;//привязываем процедуру к событию
timer1.enabled:=true;//начальное положение true-включен/false-выключен
timer1.interval:=1;//интервал
end;

procedure Free;
begin
timer1.free;
end;

begin
end.

NLObP
08.12.2009, 19:30
как в этом таймере сделать запуск с 0 позиции а продолжение со 2ой?

В кейсах изменяй значение X на требуемый порядок обхода, т.е.: x=0, x=2, x=1 и т.д.

tiranosaur
31.01.2010, 18:37
Подскажите пжл как в этой части бота
if MinDistID > 0 then // иначе ищем ближайшего
begin
TargetID:= MobsObjID[MinDistID];
PhisicalAttack; // берем вражину в таргет
AttackCycle:= 0;
exit;
end;
// if (abs(MyX-CenterX) > 20) and (abs(MyY-CenterY) > 20) then MoveTo (CenterX, CenterY, CenterZ);
end;
сделать чтобы пакет moveto в центр приходил один раз а не спамился постоянно?

Breadfan
01.02.2010, 05:58
Прикрути какуюнть флаговую переменную RunToPoint(boolean), и в проверку ее:
if ((abs(MyX-CenterX) > 20) and (abs(MyY-CenterY) > 20) then begin
if (!RunToPoint) then begin
RunToPoint:=true;
MoveTo (CenterX, CenterY, CenterZ);
end;
end
else
RunToPoint:=False;
end;
end;
(синтаксис может и хромать)примерно так вобщем

///так если точка к которой надо бежать, будет находиться на одной оси с текущим положением, эта проверка ж провалится - if ((abs(MyX-CenterX) > 20) and (abs(MyY-CenterY) > 20) then ..... и вроде никуда он не побежит...Может там OR уместнее? или ошибаюсь я....

tiranosaur
12.02.2010, 02:03
Подскажите где ошибка. должен не добавлять дроп в бд если итем ид = чему-то


#$16:begin
if (ReadD(10)!=(12051)) then
begin

if TargetID = ReadD(2) then // DropItem:h(PlayerID)h(ObjectID)i(ItemID)d(X)d(Y)d( Z)d(Stackable)d(Count)
begin
AddDroppedItem(ReadD(6), ReadD(10), ReadD(14), ReadD(18), ReadD(22));
end;
if LastKilledMobObjID = ReadD(2) then // DropItem:h(PlayerID)h(ObjectID)i(ItemID)d(X)d(Y)d( Z)d(Stackable)d(Count)
begin
AddDroppedItem(ReadD(6), ReadD(10), ReadD(14), ReadD(18), ReadD(22));
end;
end;
end;

end;

NLObP
12.02.2010, 02:13
tiranosaur, попробуй сравнивать не с PlayerID, а с ObjectID

if TargetID = ReadD(6) then
...
if LastKilledMobObjID = ReadD(6) then

dast panda
15.03.2010, 19:44
юзал поиск курил мануалы, решил написать в этой теме.
Возможно ли посредством скрипта делать релог персу по приближении любого перса, обычный релог или выход, или экстренное закрытие соеденения, как, допустим в валкере ? Заранее благодарен.

QaK
15.03.2010, 21:50
dast panda, можно =)

dast panda
15.03.2010, 23:06
QaK, подскажи будь добр, я иду правильным путем ?
begin
if FromServer and (ConnectName='****') and (pck=#$31) then begin
buf:=#"пакет на релог";
end.
end;

если да, то есть вопросы. Будет ли он работать :) нужно ли сюда циклинчность проверки на пакет, или он сам по мере поступления реагирует. Как его можно припаять в скрипт локомотивовский, или проще отдельным запустить.

и вопрос по локомотиву. Тыкните где можно поковырять в скрипте, чтобы перс через определенное кол-во времени, или же если он не в атаке, перебегал на другое место. Тоесть заменить валкеровское
moveto -> start -> stop -> moveto.

Vilson
16.03.2010, 01:26
Дело в том что если ты просто пошлешь buf:=#$00; в то время как твой бот будет фармить сервер ответит стандартным cannot logout in combat и ничего не произойдет. Следовательно тебе надо заранее остановить бота, выждать время (примерно 20 сек) и только потом посылать пакет. Проблема в том что за это время вражина скорее всего начнет бить бота и он уже никогда не залогаутится. Можно конечно тупо рвать конект, но тогда бот будет болтаться там около минуты и его все равно убьют..

На ГФШ х1000 где я временами играю мои боты ТХ с хайдом, при приближении врага бот останавливает фарм, юзает хайд и если вражина за 5 сек до окончания хайда не уйдет бот делает логаут.

maa
18.03.2010, 04:13
MHz, мож скинуть скрипт на спойл? Заранее благодарна а тоя тут не могу разобрать что скопировать

kallifan
09.04.2010, 22:45
дайте сылку на скачку а то с тех не качает(

catchy
14.05.2010, 15:12
А можно в локомотива 0.4 вшить функцию спойла(на интерлюд нада) ?

Xen
14.05.2010, 16:25
А в чем собсно проблема, бери и вшивай -)

catchy
14.05.2010, 16:53
Простите грешного, поискал - нашёл

Geral
11.06.2010, 22:49
Подскажите можно ли в этом скрипте добавить использование скиллов?
Или дайте ссылку где уже это сделано (если сделано:))

sylar777
12.06.2010, 01:23
так, на 12.06.10 это дело работает на руоффе ??? чтоб все разьяснить

Xen
12.06.2010, 09:49
В procedure OnTimerCombat (Sender: TObject);

Есть вызов

if TargetID > 0 then // если в прицеле есть моб, то
begin // валим вражину
if ((AttackCycle mod 5) = 0) then
begin
if Spoil and (not Spoiled) then RequestMagicSkillUse(254) // заспойлим моба если опция включена
else PhisicalAttack; // Тип атаки <-----------------------------------------------
end;
inc(AttackCycle);


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

procedure MagAttack;
RequestMagicSkillUse(id_skill);
end;

QaK
12.06.2010, 21:09
sylar777, нет

supernewbie
29.06.2010, 03:00
Переписал скан ЛистИтем и ИнвентарьАпдейт под Грацию Эпилог, пока вроде пашет, но реакция скрипта на предметы которые выше 2^32 пока неизвесна. PS ну думаю врятли у кого там банок больше 2ккк ;)

PSS научите скрывать текст под "Оффтоп"ом)

J-Fobos
29.06.2010, 20:17
PSS научите скрывать текст под "Оффтоп"ом)

Можно использовать тег [ OFF ] текст [ /OFF ] или еще вариант с тегом [ HIGHLIGHT="текст1" ]текст2[ /HIGHLIGHT ]

afonbka
08.07.2010, 18:13
Прошу помоч, локомотив 0.5 для Грация Епилога. Проблемы следующие:
1. ставлю бота, все окей, бегает качается, ложусь спать, просыпаюсь через 4 часа, phx и окно линаги тупо лагнуло и все стоит. (версия l2phx 3.4.1.83 ) функция "Сохранять пакеты" включена.
2. Не видит и не пьет банки хп, банки на хаст и алакрити (все грейженое за АА) Приходится юзать 3 окна программы АЦ тул и вбиватьт ему время и какую кнопку жать, и так конечно же нормально, но всеж хотелось бы все через бота.

И вопрос, где хранится база этой программы, куда идут все записи мобов и тд ?

J-Fobos
08.07.2010, 20:38
Прошу помоч, локомотив 0.5 для Грация Епилога. Проблемы следующие:
1. ставлю бота, все окей, бегает качается, ложусь спать, просыпаюсь через 4 часа, phx и окно линаги тупо лагнуло и все стоит. (версия l2phx 3.4.1.83 ) функция "Сохранять пакеты" включена.
2. Не видит и не пьет банки хп, банки на хаст и алакрити (все грейженое за АА) Приходится юзать 3 окна программы АЦ тул и вбиватьт ему время и какую кнопку жать, и так конечно же нормально, но всеж хотелось бы все через бота.

И вопрос, где хранится база этой программы, куда идут все записи мобов и тд ?
1. Используйте последнюю версию.
2. Не вижу проблемы, реализуйте, никто не запрещает редактировать и добавлять свои функции.
И по последнему вопросу: в папке settings есть ини файлы, но в программе также есть возможность использовать и свои файлы (многие этой возможностью пользуются).

afonbka
08.07.2010, 21:05
спасибо. а последнию версию чего? программы l2phx или скрипта последнию версию? на сколько я знаю последняя версия скрипта и есть 0.5

J-Fobos
08.07.2010, 21:25
спасибо. а последнию версию чего? программы l2phx или скрипта последнию версию? на сколько я знаю последняя версия скрипта и есть 0.5
Последнюю версию пакетхака :) Когда делали 3.4 эпилога еще не было.

afonbka
08.07.2010, 21:27
l2phx.3.5.33.164.rar вот эта?

J-Fobos
09.07.2010, 00:31
l2phx.3.5.33.164.rar вот эта?
Да, пока новее нету (и мне кажется в ближайшее время не будет).

afonbka
09.07.2010, 17:26
Все хорошо. Теперь работает постоянно и не вырубается. Спасибо тебе и разработчикам за обновление программы (вид понравился)

xSTRONGx
30.07.2010, 04:55
Народ помогите плз! как сделать чтоб чар не бил чужих(каторых уже атакуют) мобов?

J-Fobos
30.07.2010, 11:27
Народ помогите плз! как сделать чтоб чар не бил чужих(каторых уже атакуют) мобов?
Написать условие которое бы исключало этих мобов из списка доступных для атаки не пробовали?

xSTRONGx
30.07.2010, 16:24
Написать условие которое бы исключало этих мобов из списка доступных для атаки не пробовали?

еслиб знал как попробывал бы.....напишите кто-то плиз если не сложно :)
или хотяб какой-то пример дайте( помогите нубу :(

J-Fobos
30.07.2010, 17:19
еслиб знал как попробывал бы.....напишите кто-то плиз если не сложно :)
или хотяб какой-то пример дайте( помогите нубу :(
В пакете NpcInfo есть параметр IsAttackable, он показывает находится ли нпц/моб в боевом режиме(атакован он кем-то, либо он атакует кого-то). Отталкиваясь от этого параметра можно влиять на выбор цели для следующей атаки. Собственно если моб боевом режиме, значит он с кем-то бьется и вам его не следует атаковать. Только учтите, моб также находится в боевом режиме если вы его атакуете или он атакует вас (если вы этого не будете учитывать, то бот начнет собирать парики.

xSTRONGx
30.07.2010, 17:54
В пакете NpcInfo есть параметр IsAttackable, он показывает находится ли нпц/моб в боевом режиме(атакован он кем-то, либо он атакует кого-то). Отталкиваясь от этого параметра можно влиять на выбор цели для следующей атаки. Собственно если моб боевом режиме, значит он с кем-то бьется и вам его не следует атаковать. Только учтите, моб также находится в боевом режиме если вы его атакуете или он атакует вас (если вы этого не будете учитывать, то бот начнет собирать парики.

спасибо конешн, но как это всё реализовать в боте?:eek:

NLObP
30.07.2010, 18:03
xSTRONGx, к сожалению все хотелки нет возможности реализовывать в скриптах. Только самостоятельное изучение языка паскаля, скриптов выложенных на форуме сможет вам помочь.

QaK
31.07.2010, 12:58
В пакете NpcInfo есть параметр IsAttackable, он показывает находится ли нпц/моб в боевом режимехмм, а мне казалось, что этот флажок отвечает за тип НПЦ, 0 - НПЦ, 1 - МОБ. Различие: НПЦ нельзя атаковать, только принудительно зажав контрол, моба - можно ... но, могу и ошибаться ...
Узнать, мочит ли кто-то моба или нет можно по выделению, если моб у кого-то в таргете - лучше его не трогать ... ИМХО )

Breadfan
31.07.2010, 16:08
По Attack:d(AttackerObjID)d(TargetObjID)d(Damage)c(Fl ags)d(X)d(Y)d(Z)h(HitsLength:Loop.01.0003)d(Target ID)d(Damage)c(Flags)d(TargetX)d(TargetY)d(TargetZ) от сервера - и если: (атакующийОИД<>MyID) AND (текушаяцельботаИД<>TargetObjID) - то моба с базы удалить (это вариант с мили атакой). Так же надо предусмотреть возвращение моба в базу, в случае если он успешно слил напавшего на него игрока.

QaK
31.07.2010, 19:20
Breadfan, ну, или так, так даже правильнее будет

J-Fobos
31.07.2010, 22:03
Можно еще так же скилы обрабатывать и атаки мобов, чтобы бот не атаковал мобов которые агрятся на других чаров.

зы: это на порядок лучше и проще чем мой вариант.

Breadfan
01.08.2010, 04:19
Ну вот как вариант, #$05: if (ReadD(6) = MyID) and (not InitMode) then Attack05; видоизменить в процедуру на основе
#$05: begin
if (ReadD(6) = MyID) and (not InitMode) then Attack05;
//-------Начало "если ктото начал бить какого-либо моба...."
if ((ReadD(2))<>MyID) and ((ReadD(6))<>MyID) then begin //если не я и не меня
if (TargetID<>(ReadD(6))) then begin //и если "это" не у меня на прицеле
Die06; //убрать моба из БД
DeleteObject12;
end else begin //а вот если "это" находилось в таргете - то не отдам
SendMsg('Моего Моба атакуют, но я не отдам!');
end;
end;
end;
//-------Конец "если ктото начал бить моба...."
end;

Принцип такой: "если ОИД атакующего не мой И ОИД атакуемого не мой - то убрать моба из базы". Но: если будут использоваться "вагончики"-хелперы - этот способ категорически не подойдет, т.к. он будет убирать моба в случае если "вагончик" первым ударит цель (рассматривал только мили атаки). Если будут вагончики - то необходимо узнать их ОИД и использовать в условии.
PS: кусочки кода из Lokomotiv-04 Interlude

BioDread
29.09.2010, 22:10
Люди подскажите как этот скрипт на мага настроить а то арканой мобов неочень быстро убивать))
А вообще для ближнего боя скрипт супер автору респект)
Просвятите плиз можно ли на мага скрипт настроить?

peganov1987
29.10.2010, 21:05
а вот подскажите скрипт на автобафф через определенный промежуток времени у гмбаффера и куда встроить его можно в "локомотив"?возможно ли это реализовать посредством пакетхака?
зы:ребят ,я понимаю,что мне здесь никто ничем не обязан,но все же может подскажете ?

Breadfan
03.11.2010, 09:34
1. Да, где-то лежит обсуждение автобафа у гмбафера....
2. А для чего его встраивать в локомотив? Это ж придется делать "баф упал, то -> тп город -> бег к баферу -> баф -> бег на место" Можно отдельным скриптом обрисовать это, но в зависимости от места - постоянно придется менять координаты...Может бд\свс\варка качнуть проще будет?

L2.exe
06.03.2011, 16:34
Языков не знаю,поэтому прошу у вас помощи,допишите что бы в случаи смерти он нажимал "в деревню";)

dyh9l
06.03.2011, 17:30
смотри пакетстатус апдейта) если текущее хп = 0 то отправлять пакет в город)

L2.exe
07.03.2011, 01:08
ошибка какая то вылетает когда я скрипт включаю
http://s13.radikal.ru/i186/1103/47/d1dccb59163b.jpg
всё сделал!)))

L2.exe
13.03.2011, 14:12
Переписал скан ЛистИтем и ИнвентарьАпдейт под Грацию Эпилог, пока вроде пашет, но реакция скрипта на предметы которые выше 2^32 пока неизвесна. PS ну думаю врятли у кого там банок больше 2ккк ;)

PSS научите скрывать текст под "Оффтоп"ом)

Банки хп не кушает...что делать?
Пишет что бутылей -1

Yuriy
10.08.2011, 13:12
ребят на фрее работает?

L2.exe
04.12.2011, 03:40
Работает всё!Если нет,значит руки кривые!
Только что в очередной раз убедился

kristalik
03.02.2012, 11:29
Банки хп не кушает...что делать?
Пишет что бутылей -1

У меня тоже эта проблема, бот не видит количества банок, ID предметов сверял все норм. Сервер хроник хай файв 5, версия скрипта 0.5