delphi Код:
//монитор, показывает хп\мп\вес\имя
//мспользуется в процессах когда нужно nofreeondisconect
//ну или когда вам захочется//тестировался на l2c6 alpha
//v0.1b - первая версия
//v0.2b - изменет алгоритм принудительного обновления
//v0.3b - исправлена ошибка закрытия хандлера
//(c)metalFan
const
name=('metalFan');
//Warning! Не поставишь имя - вылетишь из игры! xD
var frm: TForm; m: TMemo; Button: TButton; MaxHP,CurHP,MaxMP,CurMP,CurLoad,MaxLoad,i: integer;
CharName: string;
procedure Init;
begin
//формочка
frm := TForm.Create(nil);
frm.Caption := 'Info by metalFan v0.3b';
frm.BorderStyle := bsDialog;
frm.Position := poScreenCenter;
frm.Width:=250;frm.Height:=125;
frm.OnClose := @FormClose;
m:=TMemo.Create(frm);
m.parent:=frm;
m.align:=alClient;
m.ReadOnly:=true;
m.ScrollBars:=ssBoth;
Button := TButton.Create(frm);
Button.Parent := frm;
Button.Caption := 'Refresh';
Button.Left := 125;
Button.Top := 15;
Button.onClick := @ForceUpdate;
frm.show;
end;
//закрываем формочку
procedure free;
begin
m.free;
Button.Free;
frm.free;
end;
//принудительное обновление
procedure ForceUpdate;
begin buf:=Hstr('45 01 00 00 00 00 00 00 00 00');
SendToServerEx(name);
delay(50); buf:=Hstr('45 01 00 00 00 00 00 00 00 00');
SendToServerEx(name);
end;
//(c)NLObP скажи нет случайному закрытию формы
procedure FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caNone;
end;
procedure OnDisconnect(WithClient: Boolean); //Вызывается при установке соединения
begin
NoFreeOnClientDisconnect;
NoFreeOnServerDisconnect;
end;
//думалка
begin
if FromServer and (ConnectName=name) and (pck[1]=#$04) then begin
i:=22; CharName:=ReadS(i); i:=i+48; MaxHP:=ReadD(i); CurHP:=ReadD(i); MaxMP:=ReadD(i); CurMP:=ReadD(i); i:=i+4; CurLoad:=ReadD(i); MaxLoad:=ReadD(i);
//выводим на экран это дело
m.lines.add('Name ' + CharName);
m.lines.add('Health ' + inttostr(CurHP) +'\' + inttostr(MaxHP));
m.lines.add('Mana ' + inttostr(CurMP)+'\' + inttostr(MaxMP));
m.lines.add('Load ' + inttostr(CurLoad)+'\' + inttostr(MaxLoad)); end;
end.
так определенно лучше