L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
Добрый день! у меня такая проблема, в пакетнике соединения без имени только надпись [Proxy]#464 и число, коннект соединения. А я запускаю несколько скриптов, и надо отловить соединение и чтоб только ему слался готовый измененый пакет. В переменной ConnectName ничего нет, пробовал выводить её содержимое в сообщении от чара, пусто. В переменной ConnectID значение 464, но один неприятный момент алгоритм начинает выполняться независимо от того какое значение коннекта, хоть 0 ставь туда. И на форуме читал что этот ИД всегда меняется если у тебя несколько персов.
У кого есть какие предложения по решению этой проблемы, или есть какойнибудь скрипт который вернёт имя чара в соединениях пакетхака. Или есть какие нибудь предложения по этой проблеме. мне надо так. Заранее подготовленые скрипты с пакетами, точнее 2 скрипта. И 3 перса. От первого перса идет пакет Социал Акшион, и сразу два скрипта срабатывают на этот пакет и каждый шлет заранее готовый пакет на сервер. Делается это для дюпа, и надо добиться почти идеальной отправки двух пакетов одновременно, с точностью до мсек. Так как если слать одним скриптом сначала одному персу а потом другому то все равно один пакет раньше другого будет послан и дюп не прокатит Жду помощи от вас дорогие друзья
Добавлено через 1 час 29 минут
Добавлю что важно то как слать определенному окну пакет а не во все окна чтоб скрипт слал готовый пакет
Последний раз редактировалось Хламчег, 13.10.2014 в 15:29.
Причина: Добавлено сообщение
Добрый день! у меня такая проблема, в пакетнике соединения без имени только надпись [Proxy]#464 и число, коннект соединения. А я запускаю несколько скриптов, и надо отловить соединение и чтоб только ему слался готовый измененый пакет. В переменной ConnectName ничего нет, пробовал выводить её содержимое в сообщении от чара, пусто. В переменной ConnectID значение 464, но один неприятный момент алгоритм начинает выполняться независимо от того какое значение коннекта, хоть 0 ставь туда. И на форуме читал что этот ИД всегда меняется если у тебя несколько персов.
У кого есть какие предложения по решению этой проблемы, или есть какойнибудь скрипт который вернёт имя чара в соединениях пакетхака. Или есть какие нибудь предложения по этой проблеме. мне надо так. Заранее подготовленые скрипты с пакетами, точнее 2 скрипта. И 3 перса. От первого перса идет пакет Социал Акшион, и сразу два скрипта срабатывают на этот пакет и каждый шлет заранее готовый пакет на сервер. Делается это для дюпа, и надо добиться почти идеальной отправки двух пакетов одновременно, с точностью до мсек. Так как если слать одним скриптом сначала одному персу а потом другому то все равно один пакет раньше другого будет послан и дюп не прокатит Жду помощи от вас дорогие друзья
Добавлено через 1 час 29 минут
Добавлю что важно то как слать определенному окну пакет а не во все окна чтоб скрипт слал готовый пакет
Я могу ошибаться, но скрипты выполняються сверху вниз по списку и первый сработает сначала один и потом второй, разница во времени будет, одновременно ты отправить с точностью до мс не сможешь
Могу ошибаться конечно
Я могу ошибаться, но скрипты выполняються сверху вниз по списку и первый сработает сначала один и потом второй, разница во времени будет, одновременно ты отправить с точностью до мс не сможешь
Могу ошибаться конечно
Ну в случае когда отправлял из одного скрипта двум персам по очередности разница была 0.1 мсек. а когда из двух разных скриптов то около 0.008 мсек, что хватало для дюпа. Но проблема не в этом. Как мне слать пакеты в разные окна.
Если отправить просто SendtoServer то отправляется нормально , а вот SendtoServerEX с указанием имени соединения не работает потомучто вместо имени соединения как я уже сказал стоит [Proxy]#464 , есть зацепка это ConnectID но как отправлять использовав этот ConnectID в данном примере коннект ид 464. Отправлять так SendtoserverEx(464) не получается и так тоже SendtoserverEx([Proxy]#464). Ничего не выходит. Что делать????
Добавлено через 1 минуту
В случае когда не указывается имя соединения просто SendtoServer два скрипта шлют пакеты в каждое окно. А мне надо чтоб каждый скрипт знал своё окно.
Последний раз редактировалось Хламчег, 15.10.2014 в 14:56.
Причина: Добавлено сообщение
Ну в случае когда отправлял из одного скрипта двум персам по очередности разница была 0.1 мсек. а когда из двух разных скриптов то около 0.008 мсек, что хватало для дюпа. Но проблема не в этом. Как мне слать пакеты в разные окна.
Если отправить просто SendtoServer то отправляется нормально , а вот SendtoServerEX с указанием имени соединения не работает потомучто вместо имени соединения как я уже сказал стоит [Proxy]#464 , есть зацепка это ConnectID но как отправлять использовав этот ConnectID в данном примере коннект ид 464. Отправлять так SendtoserverEx(464) не получается и так тоже SendtoserverEx([Proxy]#464). Ничего не выходит. Что делать????
Добавлено через 1 минуту
В случае когда не указывается имя соединения просто SendtoServer два скрипта шлют пакеты в каждое окно. А мне надо чтоб каждый скрипт знал своё окно.
Покажи пожалуйста на небольшом примере как делать так чтобы скрипт работал только с соединением с ид 464 например. Как использовать эту функцию? и её надо вписывать в отрезке кода где выполняется кусок при включении скрипта? покажи на примере фрагментов где используется эта функция, и там где уже отсылаем готовый пакет на соединение. И еще я встречался с такой проблемой. к примеру
begin
if fromServer and ConnectId=464 and (Pck[1]=#$1B)
then
В этому случае независимо какой ConnectID условие выполняется и скрипт начинает своё дело. Это косяк пакетхака или чё я не пойму. еслиб это срабатывало то я бы сразу написал 2 скрипта и в каждый работал бы только с тем соединением которое указано в условии. тоесть условие выполнено ИД совпадает с тем что в скрипте и пошла работа скрипта и в соседние окна не шлёт пакеты, каждый со своим соединением пашет.
Последний раз редактировалось Хламчег, 15.10.2014 в 22:43.
Покажи пожалуйста на небольшом примере как делать так чтобы скрипт работал только с соединением с ид 464 например. Как использовать эту функцию? и её надо вписывать в отрезке кода где выполняется кусок при включении скрипта? покажи на примере фрагментов где используется эта функция, и там где уже отсылаем готовый пакет на соединение. И еще я встречался с такой проблемой. к примеру
begin
if fromServer and ConnectId=464 and (Pck[1]=#$1B)
then
В этому случае независимо какой ConnectID условие выполняется и скрипт начинает своё дело. Это косяк пакетхака или чё я не пойму. еслиб это срабатывало то я бы сразу написал 2 скрипта и в каждый работал бы только с тем соединением которое указано в условии. тоесть условие выполнено ИД совпадает с тем что в скрипте и пошла работа скрипта и в соседние окна не шлёт пакеты, каждый со своим соединением пашет.
Ну ты говоришь у тебя нету Connectname есть только ID=464 так вот и отправляй
Короче теперь такая борода выходит , на примере этого скрипта показываю
Код:
begin
if FromClient and (ConnectName=(ConnectNameByID(456))) and (pck[1]=#$56) then
begin
pck:='';
buf:=#$49;
Writes('HELLO');
Writed(0);
SendtoserverEx(ConnectNameByID(456));
end;
end.
В весиях пакетхака l2phx.3.5.33.166 и l2phx.3.5.34.176 скрипт шлёт в окно пакет независимо от того какое число указывать, хоть 456 хоть 1 хоть 0. Если в начале (ConnectName=(ConnectNameByID(456))) тут указывать любое число он ловит соединение и шлёт на него пакет. Если тут указывать SendtoserverEx(ConnectNameByID(456)); то же самое. Короче что хочешь пиши всё равно работает. Это что касается этих версий пакетхака.
Что касается версии l2phx.3.5.33.171. Тут вообще наоборот. Всё прекрасно и перехватывает строго нужный коннект и шлёт строго на него. если не тот коннект скрипт не отсылает пакет на него. Но вот самый большой косяк, if FromClient and (pck[1]=#$56) then сделал вот так, и никакой реакции, вообще не работает, этот пакетхак не рабочий. Никакой реакции на пакеты, вот такой простой пример
Код:
begin
if FromClient and (pck[1]=#$56) then
begin
pck:='';
buf:=#$49;
Writes('HELLO');
Writed(0);
SendtoServer;
end;
end.
FromServer Тоже не дает никакого эффекта.
Добавлено через 3 минуты
Я вспомнил что раньше уже встречался с этой проблемой , Хламчег, http://coderx.ru/showthread.php?t=8537 . Но всё равно интересно почему некорректно работают функции ConnectNameByID. И как это исправить.
Последний раз редактировалось Хламчег, 17.10.2014 в 22:10.
Причина: Добавлено сообщение
вставлю свои нубские 5 копеек на случай если команды такой действительно нет в синтаксисе... сразу скажу не проверял, но в теории будет работать:
1. заходим в папку с ладвой, копируем л2.ехе два раза.
2. одну копию называем что-то типа L2.VASYA.EXE или VASYA.L2.EXE - я забыл в каком варианте ладва запускается, а в каком нет... кароче или тот или тот
3. вторую копию L2.FEDYA.EXE или FEDYA.L2.EXE
4. запускаем две копии л2пх.
5. в одной копии ставим галку работать как прокси сервер и указываем порт... эм... какой там порт? 7788?
6. в другой копии ставим галку работать как прокси сервер и порт скажем 7789
7. запускаем проксифиер и создаем там правила перехвата для ехе файла федя - адрес 127.0.0.1 порт 7788, для ехе файла васи - 127.0.0.1 и порт 7789
8. после запускаем одну копию ладвы и вторую и логинимся каждый на своего персонажа.
в теории каждый л2пх будет видеть только один коннект, а значит сендтусервер будет слать только тому, кому надо. останется решить вопрос с синхронизацией... эм... заводим третьего персонажа, с третьего ехе файла, на которого нет правил в проксифиере и следовательно он не светится в л2пх, а в скриптах добавляем условие: если темный эльф кидает зигу, то запускать скрипты. правда один хрен там будет небольшой рассинхрон.... )))
п.с.: рекомендации для мазохистов, любящих сложности. я все-таки думаю что какая-то команда для такого "proxy" случая есть... пинайте атцов-основателей, чтоб они дали творческого пинка в ответ в нужном направлении