добавил мож правильно а там хз
delphi Код: Код:
//-----------
HPLevel = 70; // Уровень жизни в %, при котором начинаем глотать банки
//наверно лучше увеличить до 85-90
HPBottleID = 1539; // ItemID 1060=Lesser Healing Potion; 1061=Healing Potion; 1539=Greater Healing
Potion;
DrinkDelay = 14; // минимальное время задержки повторного питься HP-бутылки (10 - 20 сек).
// наверно лучше уменьшить до12
//--------
//можно добавить Уровень жизни в %, при котором бот остановиться для востоновления жизни
HPpauseLevel = 30; // Уровень жизни в %, при котором бот остановиться для востоновления жизни можно менять
CurHP = 100; // разница между макс HP и текушей при которой бот продолжит действовать можно менять
//======
// если добавили HPpauseLevel = 30; и CurHP = 100; то в скрипте дополняем вот так
// здесь
//--------
MyX, MyY, MyZ : integer; // Мои статы
MyID, MyHP, MyMaxHP: integer;
MyMP, MyMaxMP, MyCP, MyMaxCP: integer;
HPlevelProcent : integer;
HPpauseProcent: integer; // добавить
HPpause:Boolean; // добавить
//--------
// здесь
procedure Init; //Вызывается при включении скрипта
var
i,n : integer;
begin
HPpause:=false; // добавить
//=====
// и здесь
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 HPpause and (CurHP<=MyMaxHP-MyHP) then // добавить
PauseGame; // добавить
HPpause:=false; // добавить
end;
if MyMaxHP > 0 then HPlevelProcent:= Round((MyMaxHP/100)*HPLevel);
if MyMaxHP > 0 then HPpauseProcent:= Round((MyMaxHP/100)* HPpauseLevel);// вот эту строку добавить
end;
//также здесь
#$0E: if MyID=ReadD(2) then // StatusUpdate:h(ObjectID)d(Attributes)
begin
StatusUpdate;
if (MyHP > 0) and (MyHP < HPlevelProcent) then if Wait(time1,DrinkDelay) then DrinkBottle; // пьем бутылки
if MyHP > HPlevelProcent then time1:=1;
if MyHP = 0 then // Проверка не убили ли нас...
begin
SendMsg_to_CL('Нас убили...');
log.Lines.Add('Нас убили...');
StopGame;
end;
if (MyHP > 0) and (MyHP < HPpauseProcent) then begin // добавить
HPpause:=true; // добавить
SendMsg_to_CL(' перекур...'); // добавить
log.Lines.Add(' перекур...'); // добавить
end;
end;