Цитата:
Сообщение от Rity
как подобнам способом узнать хп цп мп
|
Примерно так. По ObjectID узнавай чьи данные в этом пакете.
delphi Код:
procedure TargetStatusUpdate; //обновление данных о цели
var
i: integer;
begin
for i:=0 to ReadD(6)-1 do
case pck[i*8+10] of
#$09: AttackerHP:=ReadD(i*8+14);
#$0A: AttackerMaxHP:=ReadD(i*8+14);
end;
end;
//***************************************************************
procedure StatusUpdate; //обновление данных о себе
var
i: integer;
begin
for i:=0 to ReadD(6)-1 do
case pck[i*8+10] of
#$09: MyHP:=ReadD(i*8+14);
#$0A: MyMaxHP:=ReadD(i*8+14);
#$0B: MyMP:=ReadD(i*8+14);
#$0C: MyMaxMP:=ReadD(i*8+14);
end;
if (MyMaxHP<>0) then //вычисляем процентное соотношение хп
begin
PercentHP:=strtoint(EditHealt.Text);
NeedBuy:=strtoint(EditLure.Text);
but:=Round((MyMaxHP/100)*PercentHP); //при каком количестве хп юзать бутылку лечения
end;
end;
begin
...
if FromServer and (pck[1]=#$0E) then begin
//msg.Lines.Add('S>Пакет StatusUpdate #$0E');
if (MyOID=ReadD(2)) then StatusUpdate; //обновление информации о хп
if (AttackerOID=ReadD(2)) then TargetStatusUpdate; //обновление информации о хп
end;
...
end.