Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 17.11.2009, 19:28   #1
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию Не срабатывает Init

Нужно чтобы при включении скрипта у сервера запрашивался инвентарь. Делаю это так:

procedure Init; //Вызывается при включении скрипта
begin
buf:=#$14;
SendToServer;
end;

Но ничего не происходит.
В чем проблема?

ПС: вчера мучился, не всегда запускался скрипт... то есть ставишь галочку и ничего не происходило.
guplen вне форума   Ответить с цитированием
Старый 17.11.2009, 19:36   #2
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

а теперь пошевелим мозгами.
инит вызываеться при включении скрипта. правильно ?
SendToServer отсылает данные из buf от имени текущего соединения.
текущее соединение назначается только в момент отработки тела скрипта (переменные connectionname и connectionid заполнены только в теле "begin .... end.", в инит, фри и событиях таймера они не заданы.)
вывод: "голый" SendToServer не будет отправлять данные в ините. т.к. не задано имя соединения.
2 решения.
1. использовать sendtoserverex
2. задать useforconnectionname в начале инита, в таком случае sendtoserver будет знать кому отправлять данные. и будет это делать.

зы. когда ставишь галочку напротив скрипта "чтото" точно происходит.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Старый 17.11.2009, 19:41   #3
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Спасибо за разъяснение.
Т.е. сделать универсальный запрос инвентаря из Init для любого чара не получится?
guplen вне форума   Ответить с цитированием
Старый 17.11.2009, 19:57   #4
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Разве что реализовать функцию бродкаста с помошю плагинов. и использовать ее в скриптах.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 17.11.2009, 21:21   #5
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Это уже через чур для простенького скрипта =)
Спасибо за ответы, значит буду как то по другому выкручиваться =)

Добавлено через 1 час 20 минут
Хотелось бы еще вот что узнать: для каждого соединения запускается отдельная копия скрипта? Или для всех соединений один скрипт?

Последний раз редактировалось guplen, 17.11.2009 в 21:21. Причина: Добавлено сообщение
guplen вне форума   Ответить с цитированием
Старый 17.11.2009, 21:25   #6
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

для всех соединений один экземпляр фастскрипта (скрипт).
в момент прихода пакета от/к клиенту ему присываиваются переменные (пцк, коннектионнейм, коннектионайди) и он запускается на исполнение (тело скрипта).
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 17.11.2009, 21:42   #7
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Хм.. а есть ли проверка FromServer, только для конкретного соединения (что-то вроде FromServerEx(name))? А то когда заношу свой OID в переменную, то туда попадает ОИД с того окна, в котором последним пришел пакет UserInfo. Возможно ли делать проверку под конкретного чара?

Вспомнил! Я делал так когда-то. Надо в условие добавить проверку connectname=name.

ПС: в версии пакет хака 3.4 я спокойно из инита отправлял пакет на сервер. Почему в версии 3.5 так нельзя? Логика работы со скриптом поменялась?

Последний раз редактировалось guplen, 17.11.2009 в 22:04.
guplen вне форума   Ответить с цитированием
Старый 17.11.2009, 22:28   #8
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

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

Цитата:
Надо в условие добавить проверку connectname=name.
либо назначить useforconnectionname = 'xxxx'; в ините. тогда тело скрипта будет выполняться только для данного соединения и игнорироваться для остальных. так же sendtoserver будет работать аналогично sendtoserverex(useforconnectionname)
это вообще, замечательная переменная. снижающая нагрузку на скриптовый енджин и сокращающая кол-во кода.

все функции описаны в faq... кстати..
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 17.11.2009 в 22:32.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Старый 17.11.2009, 22:36   #9
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Да, с такой штукой скрипт работает нормально.
Цитата:
либо назначить useforconnectionname = 'xxxx'; в ините.
Пробовал как написано, выдавало ошибку. Если убрать красное, то все пучком =)
guplen вне форума   Ответить с цитированием
Старый 17.11.2009, 22:37   #10
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

ну, я по памяти пишу... а так... ctrl+space..
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 14:36.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!