L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
Можно ли как-то запускать скрипты сразу в 5 клиентах??
Когда использую 1 клиент - все работает на ура... когда подгружаю ещё 2.... скрипты перестают работать...
т.е. выбираю соединение.. активирую скрипт...выбираю другое соединение... там уже скрипты активированы с прошлого...
при нажатии на тэст Инит скрипт не работает не в одном соединении....
ПакетХак 18, скрипт на сдачу манора с этого форума..
заранее спасибо.
Добавлено спустя 54 минуты 15 секунд:
все клиенты пытаются сдать одни и те же семена... то есть скрипт вычитывает пакет с 1 клиента и посылает его всем...
Могу подсазать куда копать.
На примере рыбалки. Скрипты копируешь в восемь разных файлов: scr1.txt, scr2.txt,...scr8.txt. В каждом исправляешь значение константы "NAME" на имена твоих восьми чаров:
Код:
const
Name='NLObP'; //<-- вписать имя чара
[skipped]
//ItemList
if FromServer and (ConnectName=Name) and (pck[1]=#$1B) then CreateItemBase; //проверка принадлежности пакета
[skipped]
Запускаешь пакетхак. Запускаешь восемь клиентов Ла2, заходишь поочереди своими восемью чарами. Ставишь в пакетхаке галочки напротив восьми твоих скриптов. Инициализируешь каждый скрипт отдельно, как написано в самом начале скрипта. После этого можно ловить всеми восемью сразу.
Я с такой фигней столкнулся, когда начал скрипты писать. Дело в том, что скрыпты пропускают через себя все пакеты в независимости кому и чьи они. Порядок прохождения пакета через все скрипты определяется положением скрипта в списке скриптов. Начинается с самого верхнего и заканчивается самым нижним. Необходимо проверять каждый пакет на принадлежность определенному чару, например так:
Код:
if FromServer and (ConnectName=Name) and (pck[1]=#$27) then
[skipped]
В каждом скрипте значение Name должно быть разным(Name='First'; Name='Second' и так далее), если конечно это копии одного и того же скрипта, и соответствовать одному конкретному чару.
//by VORON//СКРИПТ АВТОМАТИЧЕСКОЙ СДАЧИ МАНОРА//использование: скрипт запускается за несколько минут до объявления об олимпиаде//при получении системного сообщения об ее начале засекается системное время и вычисляется время//сдачи манора, также активируется таймер с интервалом ХХХ МС для контроля системного времени.//после этого пытаемся сдать свои всходы- вручную. при этом мы получим ошибку что-//манор система: выключена в данный момент. но при етом пакет на сдачу манора- скрипт запомнит в//память для дальнейшего использования. через заданное время скрипт отправит 10 раз запомненный//пакет с интервалом 0,3сек.//проверено что: если манор сдастся примерно на 4-й раз (4-й повтор пакета) то остальные 6 повторов//сервер принимает без ошибок, хотя в инвенторе отсутствуют нужные всходы- сервер на это не ругаетсяconst
Name='GManor'; //ник персаvar
PaketManora: string; //Пакет на сдачу манора, который мы отправим серваку зараннее с помощью клиента// и запомним его для того чтобы вручную не формировать его кодом.//важно что оправлять его нужно после после объявления об олимпиаде.//так как в пакете манора используются ИД сессии, которые изменяются//каждый ровный час.
timer1: TTimer; //таймер контролирующий системное время
StartTime: TDateTime;
EndTime: TDateTime;
x:integer;
procedure Init; //Вызывается при включении скриптаbegin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer; //
timer1.enabled:=false; // таймер по умолчанию выключен
timer1.interval:=400; // через каждые 0,4сек будем засекать контрольное время сдачи манора
x:=0;
end;
procedure Free; //Вызывается при выключении скриптаbegin
timer1.Free; //освобождаем занимаемую память таймеромend;
//вызывается при срабатывании таймераprocedure OnTimer(Sender: TObject);
begin//если наступило время сдавать манор и скрипт пока еще не отправил 30 попыток его сдать тоif(time >= EndTime)and(x<30)thenbegin//пишем сами себе в чат - что "ПОПЫТКА"
buf:=hstr('4A AB F6 A0 48 02 00 00 00 2D 00 3E 00 56 00 4F 00 52 00 4F 00 4E 00 37 00 00 00 3F 04 3E 04 3F 04 4B 04 42 04 3A 04 30 04 20 00 41 04 34 04 30 04 42 04 4C 04 00 00');
SendToClient;
// отправляем пакет на сдачу манора.
buf:=PaketManora;
SendToServer;
//счетчик попыток
x:=x+1;
end;
end;
begin//если перехвачен пакет на сдачу манора тоif FromClient and(ConnectName=Name)and(pck[1]=#$D0)and(pck[2]=#$09)and(pck[3]=#$00)thenbegin//запоминаем его полностью
PaketManora:=pck;
end;
//если получен пакет об начале олимпиады тоif FromServer and(ConnectName=Name)and(pck[1]=#$64)and(pck[2]=#$69)and(pck[3]=#$06)thenbegin//засекаем текущее время
StartTime:=time;
//вычисляем время сдачи манора (прибавляем нужное время которое нужно засеч после получения сообщения об илимпиаде)
EndTime:=StartTime + EncodeTime(0,5,49,0); // изменяем и корректируем ето число в формате (ЧЧ,ММ,СС,МС)//активируем таймер
timer1.enabled:=true;
//а ето- отправка сам себе сообщения о том что ВРЕМЯ ПОШЛО
buf:=hstr('4A AB F6 A0 48 02 00 00 00 2D 00 3E 00 56 00 4F 00 52 00 4F 00 4E 00 37 00 00 00 32 04 40 04 35 04 3C 04 4F 04 20 00 3F 04 3E 04 48 04 3B 04 3E 04 00 00');
SendToClient;
end;
end.
вот что я поизменял.... но теперь каждому боты посылаются все 3 пакета на сдачу... 1 суксес и 2 фэйла =))
при этом пишет не что нет семян, а что попытка не удалась...
теоретически можно дать всем наборы из 3 видов семян -шанс сдать выростит =)) но это уже побочный эффект.
А как насчёт таво чтобы в новай верси разбивать пакеты на клиенты,ну тоесть выбрал клиент паставил галку над скриптам #1 , а на другом #2 - удобно же было бы:)