L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
а теперь пошевелим мозгами.
инит вызываеться при включении скрипта. правильно ?
SendToServer отсылает данные из buf от имени текущего соединения.
текущее соединение назначается только в момент отработки тела скрипта (переменные connectionname и connectionid заполнены только в теле "begin .... end.", в инит, фри и событиях таймера они не заданы.)
вывод: "голый" SendToServer не будет отправлять данные в ините. т.к. не задано имя соединения.
2 решения.
1. использовать sendtoserverex
2. задать useforconnectionname в начале инита, в таком случае sendtoserver будет знать кому отправлять данные. и будет это делать.
зы. когда ставишь галочку напротив скрипта "чтото" точно происходит.
Это уже через чур для простенького скрипта =)
Спасибо за ответы, значит буду как то по другому выкручиваться =)
Добавлено через 1 час 20 минут
Хотелось бы еще вот что узнать: для каждого соединения запускается отдельная копия скрипта? Или для всех соединений один скрипт?
Последний раз редактировалось guplen, 17.11.2009 в 21:21.
Причина: Добавлено сообщение
для всех соединений один экземпляр фастскрипта (скрипт).
в момент прихода пакета от/к клиенту ему присываиваются переменные (пцк, коннектионнейм, коннектионайди) и он запускается на исполнение (тело скрипта).
Хм.. а есть ли проверка FromServer, только для конкретного соединения (что-то вроде FromServerEx(name))? А то когда заношу свой OID в переменную, то туда попадает ОИД с того окна, в котором последним пришел пакет UserInfo. Возможно ли делать проверку под конкретного чара?
Вспомнил! Я делал так когда-то. Надо в условие добавить проверку connectname=name.
ПС: в версии пакет хака 3.4 я спокойно из инита отправлял пакет на сервер. Почему в версии 3.5 так нельзя? Логика работы со скриптом поменялась?
Последний раз редактировалось guplen, 17.11.2009 в 22:04.
логика.. хм.
сейчас, в момент когда не выполняется тело скрипта переменные по которым sento отпределяет каковому из соединений пакет слать - обнуляются. что есть правильно по многим соображениям.
раньше этого не было.
Цитата:
Надо в условие добавить проверку connectname=name.
либо назначить useforconnectionname = 'xxxx'; в ините. тогда тело скрипта будет выполняться только для данного соединения и игнорироваться для остальных. так же sendtoserver будет работать аналогично sendtoserverex(useforconnectionname)
это вообще, замечательная переменная. снижающая нагрузку на скриптовый енджин и сокращающая кол-во кода.
все функции описаны в faq... кстати..
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 17.11.2009 в 22:32.