Показать сообщение отдельно
Старый 24.07.2008, 15:34   #463
Пользователь
 
Аватар для metalFan
 
Регистрация: 26.10.2007
Сообщений: 43
Сказал Спасибо: 8
Имеет 21 спасибок в 8 сообщенях
metalFan
По умолчанию

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.
так определенно лучше
metalFan вне форума   Ответить с цитированием
За это сообщение metalFan нажился спасибкой от: