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

Разработка Раздел для совместной разработки/доработки программы

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 30.06.2014, 01:48   #1
Новичок
 
Регистрация: 18.05.2013
Сообщений: 13
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
VitaminPSG пока неопределено
Восклицание procedure OnPacket. pck возвращает nil

Начал писать скрипт. Хочу посмотреть пакеты которые мне приходят через дебаг.Скрин с дебага



Строчка 82 возвращает экзепшен.

Может кто-нибудь выложить рабочий пример Dll, со всеми юнитами к ней.
Код DLL
Код:
library La2DLL;

uses
  FastMM4 in '..\fastmm\FastMM4.pas',
  FastMM4Messages in '..\fastmm\FastMM4Messages.pas',
  Classes,
  Contnrs,
  System.SysUtils,
  Generics.Defaults,
  Generics.Collections,
  Windows,
  L2Class in 'L2Class.pas',
  usharedstructs in 'usharedstructs.pas' ;
//==============================================================================
//Константы
const
//Список ошибок
RESULT_OK = 0;
RESULT_SESSION_KEY_NOT_FOUND = 2;
RESULT_NPC_KEY_NOT_FOUND = 4;
RESULT_NPC_IS_CONTAIN = 8;
//==============================================================================
//Переменные
var
  min_ver_a: array[0..3] of Byte = ( 3,5,23,141);
  min_ver: LongWord absolute min_ver_a; // минимальная поддерживаемая версия программы
  ps: TPluginStruct; // структура передаваемая в плагин
  ppck: string;


// Обязательно вызываемая функция.
// Должна вернуть описание плагина,
// заодно может проверить версию программы
function GetPluginInfo(const ver: LongWord): PChar; stdcall;
begin
  if ver<min_ver then
    Result:='MyBotTest'+sLineBreak+
            'Old version'
  else
    Result:='MyBotTest';
end;
// Обязательно вызываемая функция.
// Получает структуру с ссылками на все функции основной программы,
// которые могут вызываться из плагина.
// Если вернёт False то плагин выгружается.
function SetStruct(const struct: PPluginStruct): Boolean; stdcall;
begin
  ps := struct^;
  Result:=True;
end;
//**************************************************************************************
// Необязательно вызываемая функция. (может отсутствовать в плагине)
// Вызывается при выгрузке плагине
procedure OnFree; stdcall;
begin
end;

// Необязательно вызываемая функция. (может отсутствовать в плагине)
// Вызывается при загрузке плагине
procedure OnLoad; stdcall;
begin

end;



procedure Say(msg:string; cnt : Integer );
var
  buf: string;
begin
  with ps do begin
    buf:=HexToString('4A 00 00 00 00');
    WriteD(buf,2);
    WriteS(buf,'AutoHP');
    WriteS(buf,msg);
    SendPacketStr(buf,cnt,False);
  end;
end;
procedure OnPacket(const cnt: Cardinal; const fromServer: Boolean; var pck: TPacket); stdcall;
var id : byte;
begin
if pck.Size < 3 then exit;

end;

//Export function
exports
  GetPluginInfo,
  SetStruct,
  OnFree,
  OnLoad,
  OnPacket;
//Enter Point
begin
//ssionList:= TDictionary<Integer, TSession>.Create;
end.
Ещё заметил что в описании DLL в L2ph, только первая буква
VitaminPSG вне форума   Ответить с цитированием
Старый 30.06.2014, 03:56   #2
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Компилить на D7 или чём-нибудь похожем если не хочешь геморроя с строками и хз чем ещё
Вложения
Тип файла: rar SoundPlugin_source.rar (1.17 Мб, 33 просмотров)
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
За это сообщение supernewbie нажился спасибкой от:
Старый 30.06.2014, 03:58   #3
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Если охота геморроиться - копать в сторону строк, менять с обычных на Ansi
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 30.06.2014, 04:23   #4
Новичок
 
Регистрация: 18.05.2013
Сообщений: 13
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
VitaminPSG пока неопределено
По умолчанию

Я тоже подумал, про версию. Но это решило только проблему с описанием плагина. PCK по прежнему 0. Попробую твой плагин скомпилить, и посмотреть.
VitaminPSG вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Разработка


Опции темы
Опции просмотра

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

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


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

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

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