var
initok : boolean;
maskval : array[0..10] of variant;
procedure Init; //will be called on script initialization
begin
initok := ChatLoadAndInit('c:\test\ChatServer.dll');
if not initok then
ShowMessage('Dll Load Fail!!');
end;
procedure Free;
begin
end;
begin
if fromserver and initok then
if pck[1] = #$4a then
begin
readmask('dss',6,maskval);
chatsay(maskval[0],maskval[1],maskval[2]);
end;
end.
по формату калбек.. хм.. в общем сейчас инит вот такой.
function (saycallback : pointer):integer; stdcall;
допустим туда я буду передавать поинтер на вот такую ф-ю.
function (MsgTypeword; Target, Msg : pchar):boolean;
Добавлено через 9 минут
мла.. напортачил с кодироффкой
Добавлено через 15 минут
нифига не пойму. попытка вывести русский текст в консольку - фигвамс.
Добавлено через 6 минут
эээ млять. в твоей консольке же CP866
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 28.09.2009 в 19:33.
Причина: Добавлено сообщение
Сделай вызов такой вот функции поинтер на которую лежит в калбак инита
и добавь для теста вызов каллбэка с заранее известными параметрами (можно прям в ините). и выкладывай сюды. чтобы я мог плагин и скрипт не только поправить, но и протестить.
Добавлено через 3 минуты
про кодировку - я сказал чтобы ты не ругался что русский не отображает.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 28.09.2009 в 21:31.
Причина: Добавлено сообщение
1)выровнял имена экспорта < !
2)то что передаеш в указателе, вызывается прям из init
3)DWORD __stdcall CallbackMsg (DWORD Type, wchar_t* Msg); < возвращаем DWORD, под коды ошибок
Последний раз редактировалось destructor, 28.09.2009 в 22:59.