PDA

Просмотр полной версии : PK Scanner (Gracia)


metalFan
30.11.2008, 18:44
// Авторы: Furious, metalFan
// Отдельное спасибо PanAm за помощь в написании
// Версия: Gracia 1.5 PreFinal
Const UserName=('онатоле');
var
ObjectID, KarmaPK, TargetPK, MessagePK, ClassPK, i, x, y, z, TempPK: Integer;
NamePK, CvarPK : String;
ClassName: TStringList;
procedure Init;
begin
MessagePK:=1;
TargetPK:=0;
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS('PK Scanner for Gracia 1.5 by Furious, metalFan');
SendToClientEx(UserName);
ClassName :=TStringList.Create;
ClassName.LoadFromFile('ClassName.ini');
end;
procedure Free;
begin
ClassName.free;
end;
procedure OnConnect(WithClient: Boolean);
begin
end;
procedure OnDisonnect(WithClient: Boolean);
begin
end;
procedure MessageSend(Msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(Msg);
SendToClientEx(UserName);
end;
procedure TargetingPK(ObjectID: Integer);
begin
if TargetPK=1 then begin
buf:=#$1F;
WriteD(ObjectID); WriteD(0); Writed(0); Writed(0); WriteC(0);
SendToServerEx(UserName); end;
end;
procedure KillRadar;
begin
buf:=#$F1;
WriteD(0);
WriteD(1);
WriteD(0);
WriteD(0);
WriteD(0);
SendToClientEx(UserName);
end;
function GetClassName(CID : integer) : string;
begin
result:=ClassName.Strings[CID];
end;
begin
if (FromServer) and (ConnectName=UserName) and (pck[1]=#$31) then
begin
x:=ReadD(2);
y:=ReadD(6);
z:=ReadD(10);
i:=22;
NamePK:=ReadS(i);
ClassPK:=ReadD(i+8);
KarmaPK:=ReadD(i+176);
if (KarmaPK>0) then
begin
ObjectID:=ReadD(18);
TargetingPK(ObjectID);
if MessagePK=1 then begin MessageSend(''+NamePK+' | '+GetClassName(ClassPK)+' | '+IntToStr(KarmaPK)+) end;
buf:=#$F1;
WriteD(0);
WriteD(1);
WriteD(X);
WriteD(Y);
WriteD(Z);
SendToClientEx(UserName);
end;
end;
if (FromServer) and (ConnectName=UserName) and (pck[1]=#$08) then begin
TempPK:=ReadD(2);
case TempPK of ObjectID:
KillRadar;
end;
end;
if (FromClient) and (ConnectName=UserName) and (pck[1]=#$49) then
begin
CvarPK:=ReadS(2);
case CvarPK of
'\start':
begin
TargetPK:=1;
MessageSend('Search On!');
pck:='';
end;
'\stop':
begin
TargetPK:=0;
MessageSend('Stopped all services!');
pck:='';
end;
'\radar':
begin
MessageSend('Radar Killed');
KillRadar;
pck:='';
end;
end;
end;
end.
Киньте файл classname.ini в папку пакетхака
Тестился на L2F Gracia, L2J Gracia
Может будет пахать на руоффе.
Будьте здоровы :drinks:

xkor
01.12.2008, 04:04
metalFan, и что он делает при появлении ПК?

Добавлено через 1 минуту
берёт ПК в таргет чтоль?

metalFan
23.12.2008, 12:59
xkor, да пишет инфу про чара, и берет в таргет, взятие в таргет моа контролировать и т.п.

metalFan
23.12.2008, 13:00
почемуто класейм иник не скинулся надо будет кинуть

Damiencs
29.11.2010, 14:25
Доброго всем дня! подскажите пожалуйста где взять classname.ini(файл). я думал он в папке system а поиском не нашел его на компьюторе вообще! подскажите где взять или скиньте ссылку на него. (В Яндексе нет не советуй там искать:))

NLObP
01.12.2010, 15:21
Damiencs, это скорее всего файл classid.ini из поставки пакетхака, но я не уверен.