Суббота, 25.01.2025, 02:20 Приветствую Вас Гость


Ultima-Online (AoP)

Главная | Регистрация | Вход | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Ветеренария или Арчери, Хилинг. Стелс
imbaqДата: Воскресенье, 05.10.2008, 04:37 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 52
Репутация: 1
Статус: Offline
Персонаж атакует и лечит цель. В зависимости от вашего желания это может быть зверушка(ветеренария) или человек (хилинг). Для этого нужно вставить тайп цели. В данный момент стоит тайп девушки Enemy := $0191;.По надобности замените на любой другой.
Ложим в пак стрелы, нюбикросбоу, бинты и еду. И приятной стрельбы.

Макрос одевает арбалет с пака, если у цели меньше 30% жизни, снимает с рук арбалет и лечит.

Program Veterinary;
var
Enemy : Cardinal;
r : integer;

//***************************************************************
//ОЖИДАНИЕ КОНЕКТА
//***************************************************************
procedure WaitConnection;
begin
if Connected then exit;
while not Connected do wait(100);
wait(3000);
end;

//***************************************************************
// РЕСЕНД
//***************************************************************
procedure Resend;
begin
Wait(1000);
UOSay(Chr(39)+'resend');
Wait(5000);
end;

//***************************************************************
// ХИЛ
//***************************************************************
Procedure healing;
Begin
If isDead(self) then exit;
WaitConnection;
if r = 1 then
begin
useobject(FindType($0E21, backpack));
WaitTargetObject(FindType(Enemy, Ground));
wait(2150);
r := 0;
end
else
begin
UOSay(Chr(39)+'pc heal lt');
wait(2150);
end;
end;

//***************************************************************
// ОДЕВАЕТ НЮБИ КРОСБОУ
//***************************************************************
Procedure Arbalet;
begin
If FindType($0F50, self) = 0 then
begin
WaitConnection;
Disarm;
wait(1000);
If FindType($0F50, backpack) = 0 then UOSay('Арбалет в сумке не найден');
If FindType($0F50, backpack) <> 0 then Equip(RhandLayer, finditem);
wait(1000);
end;
end;

//***************************************************************
// ФУНКЦИЯ ЖИЗНИ
//***************************************************************
function EnemyHPControl : Double;
begin
Finddistance := 7;
Result := 100 * GetHP(FindType(Enemy, Ground)) / GetMaxHP(FindType(Enemy, Ground));
end;

BEGIN
Enemy := $0191;
r := 1;
Ignore(self);
while not dead do
begin
WaitConnection;
if EnemyHPControl < 30.0 then Disarm;
if EnemyHPControl > 90.0 then begin Arbalet; attack(FindType(Enemy, Ground)); wait(2000); end;
if EnemyHPControl < 95.0 then Healing;
wait(50);
end;
END.

 
  • Страница 1 из 1
  • 1
Поиск: