Ветеренария или Арчери, Хилинг

Предыдущая тема Следующая тема Перейти вниз

Ветеренария или Арчери, Хилинг

Сообщение  Mazunchik в Сб Май 15, 2010 2:00 am

Персонаж атакует и лечит цель. В зависимости от вашего желания это может быть зверушка(ветеренария) или человек (хилинг). Для этого нужно вставить тайп цели. В данный момент стоит тайп девушки 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.
avatar
Mazunchik
Admin

К-ть повідомлень : 91
Очки : 233
Дата регистрации : 2010-05-14
Возраст : 30
Звідки : СССР

Посмотреть профиль http://cccp-rip.ukrainianforum.net

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения