|
ei3.0传奇服务端插件源代码
unit _MonsterInfo;
interface
Uses SysUtils,Classes,Windows,Dialogs;
const
TClassMonster:array[1..15] of DWORD=($45848C,$4C39C8,$4C3AAC,$4C3B24,$4C3B90,$4C889C,$4C896C,$4C8B9C,$4C8C60,$4C8CC4,$4C8F30,$4C8F98,$4C9008,$4C90D0,$4C9138);
EnlargeSize = $10;
ymaLull = 0;
yAc = 1;
yMac = 2;
yRecor = $4;
yLTime = $c;
ymcztime = 15000;
var RcdTMons:array[1..16] of DWORD;
RecTMonB:array[1..16] of DWORD;
function GetIDType(PID:DWORD):integer;
function IsAMon(PID:DWORD):boolean;
implementation
Uses _const;
function IsAMon(PID:DWORD):boolean;
var i:integer;
T:DWORD;
begin
ReSult:=False;
T:=PDWORD(PID)^;
for i:=1 to 15 do
begin
if T=RcdTMons then
begin
ReSult:=TRUE;
break
end;
end;
end;
procedure Initializ;
var I:integer;
begin
for i:=1 to 15 do
begin
RcdTMons[I]:=PDWORD(TClassMonster-$8)^;
RecTMonB[I]:=PDWORD(RcdTMons[I]-$28)^;
PDWORD(RcdTMons[I]-$28)^:=PDWORD(RcdTMons[I]-$28)^+EnlargeSize;
end;
RcdTMons[16]:=$4D0018;
RecTMonB[16]:=maLull;
end;
function GetIDType(PID:DWORD):integer;
var I:integer;
begin
ReSult:=0;
for i:=1 to 16 do
if PDWORD(PID)^=RcdTMons[I] then
begin
ReSult:=I;
break;
end;
end;
Initialization
Initializ;
end.
|
|