//монитор, показывает хп\мп\вес\имя 

//мспользуется в процессах когда нужно nofreeondisconect
//ну или когда вам захочется//тестировался на l2c6 alpha 
//v0.1b - первая версия
//v0.2b - изменет алгоритм принудительного обновления
//(c)metalFan
const 
name = 'Luda' ;
//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.2b';
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('6e');
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]=#$32) 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.
подскажите пжл в версии 3,4,1,83 работает а в версиях 3,5,28,151 и выше нет? в чем проблема? ошибка выделена красным