Veterinary
Posted: 09.03.2008 16:09
Давно не писал скрипты на стэлс, немного на сфере писал, помогаю админу одному =)
Решил прокачать ветеринарию и написал себе скриптик. Но есть пару вопросов.
Скрипт работает отлично, но в журнале проскакивает строка: System: Unexpected target info. Не знаю из-за чего.
Хочу чтобы при выключении скрипта сбрасывался вар режим, такое возможно ?
Проверьте пожалуста на корректность скрипта тоже если не лень =)
Что вспомню допишу.
Update: Процедура CleenBandages не вызывается или не работает.
Решил прокачать ветеринарию и написал себе скриптик. Но есть пару вопросов.
Скрипт работает отлично, но в журнале проскакивает строка: System: Unexpected target info. Не знаю из-за чего.
Хочу чтобы при выключении скрипта сбрасывался вар режим, такое возможно ?
Проверьте пожалуста на корректность скрипта тоже если не лень =)
Что вспомню допишу.
Update: Процедура CleenBandages не вызывается или не работает.
Code: Select all
Program Veterinary;
// made by -=JoKeR=- ©
// For Forest Wars Shard ©
// v1.4
{$Include 'all.inc'}
const
Animal = $000DBE9B;
Bandages = $0E21;
BlBandages = $0E20;
Wash = $400C9D71;
WeaponBag = $400E0C0A;
WeaponType = $13F8;
MaxBlBandages = 200;
// берём оружие с сумки на полу
procedure GetWeapon;
Begin
if ObjAtLayer(LhandLayer) = 0 then
AddToSystemJournal('Открываем сумку');
checklag;
checksave;
UseObject(WeaponBag);
wait(2000);
AddToSystemJournal('Ищем оружие');
FindType(WeaponType,WeaponBag);
if FindCount >= 1 then
begin
wait(1000);
checklag;
checksave;
MoveItem(FindItem,1,backpack,0,0,0);
AddToSystemJournal('Взял оружие из сумки');
wait(1000);
end
else
begin
AddToSystemJournal('Не нашол оружия в сумке! -=Exit=-');
SetWarMode(false);
exit;
SetARStatus(false);
Disconnect;
end;
FindType(WeaponType,backpack);
if FindCount >=1 then
begin
checklag;
checksave;
UseObject(FindItem);
AddToSystemJournal('Одел оружие');
wait(2000);
canceltarget;
end
else
begin
AddToSystemJournal('Не нашол оружия в бэкпаке! -=Exit=-');
SetWarMode(false);
exit;
SetARStatus(false);
Disconnect;
end;
End;
// берём бинты с пола
procedure GetBandages;
Begin
FindType(Bandages,ground);
if FindCount >= 0 then
begin
checklag;
checksave;
Grab(FindItem,100);
wait(2000);
AddToSystemJournal('Взял бинты с пола');
end
else
begin
AddToSystemJournal('Нет бинтов на полу! -=Exit=-');
SetWarMode(false);
exit;
SetARStatus(false);
Disconnect;
end;
End;
// моем бинты
procedure CleenBandages;
Begin
checklag;
checksave;
AddToSystemJournal('Начинаю мыть бинты');
UseObject(BlBandages);
WaitForTarget(5000);
if TargetPresent then TargetToObject(Wash);
AddToSystemJournal('Вымыл бинты');
End;
function AnimalHPControl : Double;
begin
Result := 100 * GetHP(Animal) / GetMaxHP(Animal);
end;
Begin
AddToSystemJournal('START');
FindDistance := 3;
SetARStatus(true);
While not Dead do
begin
if (AnimalHPControl > 30.0) then
if ObjAtLayer(LHandLayer) = 0 then
GetWeapon;
if not WarMode then SetWarMode(true);
AddToSystemJournal('Начинаем атаку');
Attack(Animal);
repeat
if TargetPresent then CancelTarget;
wait(2000)
FindType(Bandages,backpack);
if FindCount >= 1 then
checklag;
checksave;
UseType(Bandages,$FFFF);
WaitForTarget(5000);
If TargetPresent then TargetToObject(Animal);
until (Count(Bandages) <= 0);
FindType(Bandages,backpack);
if FindCount <= 0 then
AddToSystemJournal('Нет бинтов в бэкпаке, будем добирать');
GetBandages;
FindType(BlBandages,backpack);
if FindCount >= MaxBlBandages then
CleenBandages
else
begin
SetWarMode(false);
wait(500);
end;
end;
End.