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

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 12.03.2009, 20:44   #1
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию Передача указателя на процедуру в DLL

Подскажите плиз, как можно в подключенную к скрипту dll передать параметром указатель на процедуру (функцию).
Никак не получается выполнить ее внутри DLL, такое ощущение что dll в другом адресном пространстве загружается

Добавлено через 8 минут
Пробую так:
script:
Код:
var
  lib: integer;

procedure Init; //Вызывается при включении скрипта
begin
  lib := loadLibrary('dll\Utils\Utils.dll');
  try
    CallFunction(lib,'PacketProcess',1,[@test]);
  finally
    FreeLibrary(lib);
  end;
end;

procedure test;
begin
  showmessage('Test message');
end;
dll:
Код:
type
  TScriptProc = procedure;

procedure PacketProcess(PScriptProc: Pointer);  stdcall;
var
  ScriptProc: TScriptProc;
begin
  ScriptProc := TScriptProc(PScriptProc);
  ScriptProc;
end;

Последний раз редактировалось lexayar, 12.03.2009 в 20:44. Причина: Добавлено сообщение
lexayar вне форума   Ответить с цитированием
Старый 12.03.2009, 22:19   #2
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

lexayar, тебе оно зачем? для каких целей?
QaK вне форума   Ответить с цитированием
Старый 12.03.2009, 23:30   #3
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию

Да пробовал в dll передать функции ReadD,ReadH....WriteD и т.д. для обработки пакета, а они никак не хотят
А вообще хочу всю основную функциональность в DLL вынести, такую как Статы персонажа, инвентарь и т.д. Чтоб при написании нового макроса не надо было этой ерундой заниматься.
lexayar вне форума   Ответить с цитированием
Старый 13.03.2009, 08:21   #4
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

lexayar, стукни в аську, или в ПМ.
QaK вне форума   Ответить с цитированием
Старый 19.05.2009, 16:14   #5
Новичок
 
Регистрация: 19.05.2009
Сообщений: 3
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Ezhik пока неопределено
По умолчанию

Цитата:
Подскажите плиз, как можно в подключенную к скрипту dll передать параметром указатель на процедуру (функцию).
Я вотъ тоже дошел до этого момента, когда мне стало это интересно: как вызвать процедуру из моей ДЛЛ, которая описана в скрипте. Подозреваю, что никак Собстно обратной связи нет. (кроме результата)
Я так думаю, что можно в ДЛЛ организовать виртуальный стек: какаето структура ожидаемых для выполнения процедур или функций. И функцией возвращать этот стек с уже расчитаными параметрами в скрипт. Это пока идея, но сразу отчетливо видны ряд недостатков:
1) теряется многопотоковость;
2) нет мгновенного реагирования;
Чтобы реагирование было максимально быстрым придется задать таймеру малый интервал, что подгрузит впринципе систему
и др.

Есть какието соображения или советы на это счет?

Хочу подчеркнуть: я не прошу готовый результат, а лишь ваши соображения и идеи
Ezhik вне форума   Ответить с цитированием
Старый 22.05.2009, 13:11   #6
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

мб. просто в DLL-плагин добавить FS и запускать скрипты из плагина?
PanAm вне форума   Ответить с цитированием
Старый 22.05.2009, 13:41   #7
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

проще написать оконный обработчик для формы и использовать sendmessage из длл в хендл окна создаваемого скриптом для передачи данных.
во всяком случае будет работать.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



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

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


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

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

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