Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Обкаст на ZuluHotel

Only working scripts
Post Reply
AloneHunter
Posts: 1
Joined: 08.12.2011 17:47

Обкаст на ZuluHotel

Post by AloneHunter »

Парни ситуация следующая...Есть скрипт, когда-то работал...Щас с ним какие-то проблемы не кастует тех, кто говорит команду. + не различает свой чужой, кастует всех подряд, если есть возможность доработать , буду очень признателен.


Code: Select all

Program Cast;

{$Include 'hungry.inc'}

var
 t: TDateTime;
 i: integer;

 
function CheckReags: boolean;
var
 Reags: array[0..10] of integer;
 
begin
 Reags[1]:=BM;
 Reags[2]:=BP;
 Reags[3]:=GA;
 Reags[4]:=GS;
 Reags[5]:=MR;
 Reags[6]:=NS;
 Reags[7]:=SA;
 Reags[8]:=SS;
 
 for i:=1 to 8 do
  begin
   FindTypeEx(Reags[i], $FFFF, backpack, true);
   if FindFullQuantity < 10 then
    begin
     UOSay('Нет регов');
	 result:=false;
	 AddToSystemJournal(IntToStr(i));
	 break;
	end
   else
    begin
	 result:=true;
	end;
  end;
end;
	
	
procedure OpenPack;
begin
 if FindType($0E75, $FFFF) > 0 then
  for i:=1 to FindCount do
   begin
    FindType($0E75, $FFFF);
    UseObject(FindItem);
   	repeat
	 Wait(50);
	until LastContainer=FindItem;
	Ignore(FindItem);	
   end; 
   
 if FindType($0E76, $FFFF) > 0 then
  for i:=1 to FindCount do
   begin
    FindType($0E76, $FFFF);
    UseObject(FindItem);
   	repeat
	 Wait(50);
	until LastContainer=FindItem;
	Ignore(FindItem);	
   end; 
end;


procedure CheckCon;
begin
 if Connected=False then
  begin;
   repeat
    Wait(1000);
   until Connected=True;
   Wait(5000);
   OpenPack;
  end;
end; 


procedure CheckMana;
begin
 if Mana < 70 then
  begin 
   Hungry(2, ground);
   t:=now;
   UseSkill('Meditation');
   if WaitJournalLine(t, 'enter|again|focus', 5000) then
    begin
     if FoundedParamID <> 0 then 
	  begin
	   Wait(10000);
	   CheckMana;
	  end;
	end
   else
    begin
	 UOSay('Медитация неудачна');
     exit;
	end;
   repeat
    Wait(2000);
	UOSay('Мана: '+IntToStr(Mana)+'\'+IntToStr(MaxMana));
   until InJournalBetweenTimes('lost|stop', t, now) > 0;
  end;
end;  


procedure CastSpell(Spell: string; Target: integer);
begin
 if TargetPresent then CancelTarget;
 Cast(Spell);
 WaitForTarget(3000);
 if TargetPresent then 
  TargetToObject(Target)
 else 
  begin
   UOSay(Spell+': ошибка');
   exit;
  end;
end;


procedure CheckHeal;
var
 i,c,tg: integer;
 List: TStringList;
 HType: array [0..10] of integer;

begin
 HType[0]:=$0190;
 HType[1]:=$0191;
 
 for c:=0 to 1 do
  begin
   FindDistance:=4;
   FindType(HType[c], ground);
   List:=TStringList.Create();
   GetFindedList(List);
   
   for i:=0 to List.Count-1 do
    begin
	 tg:=StrToInt('$'+List.Strings[i]);
     if IsPoisoned(tg) then
	  begin
	   UOSay('Compassion heals all!');
	   CastSpell('Cure', tg);
	   Wait(2000);
	  end;
	  
     if GetHP(tg) < GetMaxHP(tg)/1.20 then
	  begin
	   UOSay('Compassion heals all!');
	   CastSpell('Greater Heal', tg);
	   Wait(2000);
	  end;
    end;
   List.Free;
  end;
end;


procedure Blessing(Target: integer);
begin 
 Hungry(2, ground);
 CastSpell('Bless', Target);
 Wait(200);
 CastSpell('Strength', Target);
 CastSpell('Cunning', Target);
 CastSpell('Agility', Target);
 CastSpell('Greater Heal', Target);
 CastSpell('Arch Protection', Target);
 Wait(2000);
end;


procedure WaitForRequest;
begin
 CheckCon;
 t:=now;
 CheckMana;
 CheckHeal;
 if WaitJournalLine(t, 'cast|dispel', 1000) then                                   
  if CheckReags then
   begin
    CastSpell('Magic Arrow', LineID);
    case FoundedParamID of
     0: Blessing(LineID);
	 1: CastSpell('Dispel', LineID);
    end;
   end;
end; 
begin 
 CheckCon;
 OpenPack;
 while not Dead do
  WaitForRequest;
end.
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Re: Обкаст на ZuluHotel

Post by Fenix »

Тебе сюда.
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
Post Reply