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

Mining DRW

Only working scripts
Kynep
Neophyte
Neophyte
Posts: 40
Joined: 29.05.2008 6:41

Post by Kynep »

RaTaMaHaTTa wrote:если елем не здохент с первого вортекса будут проблеммы :?
Допиши, проблемма?
RaTaMaHaTTa
Novice
Novice
Posts: 89
Joined: 16.06.2008 12:22
Location: <||TORCHKI||>
Contact:

Post by RaTaMaHaTTa »

Kynep wrote:
RaTaMaHaTTa wrote:если елем не здохент с первого вортекса будут проблеммы :?
Допиши, проблемма?
м ?
Blaze
Neophyte
Neophyte
Posts: 13
Joined: 07.08.2008 5:33
Location: [Dark Nazguls]

Post by Blaze »

Журнал не сохранился, скопирую сюда позже, как ещё чар гостом станет...
Думаю, проблема в том что чар при появлении элементаля сразу же начинает кастовать вортекса, стоя рядом с ним. Элементаль начинает наносить повреждения чару, каст от удара физлится. Чар пытается катовать по-новой, опять получает удар и снова физл. И так до тех пор пока не становится гостом.

Может быть следует сделать так, чтобы чар кастовал вортекса не сразу? Подождать немного, пока элементаль подальше не отойдёт?
Kynep
Neophyte
Neophyte
Posts: 40
Joined: 29.05.2008 6:41

Post by Kynep »

Blaze wrote:Журнал не сохранился, скопирую сюда позже, как ещё чар гостом станет...
Думаю, проблема в том что чар при появлении элементаля сразу же начинает кастовать вортекса, стоя рядом с ним. Элементаль начинает наносить повреждения чару, каст от удара физлится. Чар пытается катовать по-новой, опять получает удар и снова физл. И так до тех пор пока не становится гостом.

Может быть следует сделать так, чтобы чар кастовал вортекса не сразу? Подождать немного, пока элементаль подальше не отойдёт?
А инвизку не судьба выпить?
Blaze
Neophyte
Neophyte
Posts: 13
Joined: 07.08.2008 5:33
Location: [Dark Nazguls]

Post by Blaze »

В паке у чара инвизки, скрипт должен их юзать. Но не успевает, так как чар становится гостом раньше.
Kynep
Neophyte
Neophyte
Posts: 40
Joined: 29.05.2008 6:41

Post by Kynep »

Blaze wrote:В паке у чара инвизки, скрипт должен их юзать. Но не успевает, так как чар становится гостом раньше.
Ну значит инвизку нужно пить до каста, пока чар в хайде, логично?
Blaze
Neophyte
Neophyte
Posts: 13
Joined: 07.08.2008 5:33
Location: [Dark Nazguls]

Post by Blaze »

Kynep wrote:
Blaze wrote:В паке у чара инвизки, скрипт должен их юзать. Но не успевает, так как чар становится гостом раньше.
Ну значит инвизку нужно пить до каста, пока чар в хайде, логично?
То есть приведённый в этом топе скрипт на копку в вип шахте ты предлагаешь переделать, сделав питьё инвизки при появлении элема до каста на него вортекса?
RaTaMaHaTTa
Novice
Novice
Posts: 89
Joined: 16.06.2008 12:22
Location: <||TORCHKI||>
Contact:

Post by RaTaMaHaTTa »

Blaze wrote:
Kynep wrote:
Blaze wrote:В паке у чара инвизки, скрипт должен их юзать. Но не успевает, так как чар становится гостом раньше.
Ну значит инвизку нужно пить до каста, пока чар в хайде, логично?
То есть приведённый в этом топе скрипт на копку в вип шахте ты предлагаешь переделать, сделав питьё инвизки при появлении элема до каста на него вортекса?
А вы не подумали что шас так и есть :roll:
Поиск елема
если нашёл пьёт инвизку
кастует вортекса
ждёт пока елем здохнет
А потом идёт лутает и возрашается на место копки :wink:
Но у меня копают по умному, кастует токо один чар.
Blaze
Neophyte
Neophyte
Posts: 13
Joined: 07.08.2008 5:33
Location: [Dark Nazguls]

Post by Blaze »

То есть у тебя один чар копает, а другой просто стоит в сторонке и кастует вортекса на появившегося элементаля? Или копают оба, только убийство элементаля и лут руды после его убийства лежит на одном чаре?

А приведённый выше скрипт на копание в вип шахте юзает инвизку при появлении элема? У моего чара все инвизки остаются в паке нетронутыми после смерти от элементаля.

Привожу журнал:
[10:07:45] Peresvet: OOPS !!! It's Ore Elemental !!!
[10:07:48] You see: Bloodrock Elemental
[10:08:14] System: Where would you like to summon the creature ?
[10:08:14] System: You have been revealed
[10:08:14] Peresvet: Vas Corp Por
[10:08:15] Peresvet: Peresvet
[10:08:16] You see: *Bloodrock Elemental is attacking you*
[10:08:17] System: Bloodrock Elemental hits you in the throat!
[10:08:17] Peresvet: The spell fizzles.
[10:08:17] Peresvet: 5
[10:08:19] System: Bloodrock Elemental hits your left thigh!
[10:08:19] Peresvet: 6
[10:08:20] System: Where would you like to summon the creature ?
[10:08:20] System: Bloodrock Elemental smashes a blow across your face!
[10:08:20] Peresvet: 21
[10:08:20] Peresvet: Vas Corp Por
[10:08:21] System: Bloodrock Elemental hits your right thigh!
[10:08:21] Peresvet: The spell fizzles.
[10:08:21] Peresvet: 18
[10:08:23] System: Bloodrock Elemental knocks the wind out of you!
[10:08:23] Peresvet: 16
[10:08:24] System: Bloodrock Elemental hits your left thigh!
[10:08:24] Peresvet: 13
[10:08:25] System: Bloodrock Elemental hits you in the groin!
[10:08:25] Peresvet: 20
[10:08:25] System: Where would you like to summon the creature ?
[10:08:26] Peresvet: Vas Corp Por
[10:08:27] System: Bloodrock Elemental scores a stunning blow to your head!
[10:08:27] Peresvet: The spell fizzles.
[10:08:27] Peresvet: 15
[10:08:28] System: Bloodrock Elemental hits you in the groin!
[10:08:28] Peresvet: 27
[10:08:30] System: Bloodrock Elemental scores a hit to your back!
[10:08:30] Peresvet: 23
[10:08:31] System: Bloodrock Elemental hits your right hand!
[10:08:31] Peresvet: 26
[10:08:32] System: Bloodrock Elemental hits your right arm!
[10:08:32] Peresvet: 22
[10:08:32] System: You have lost huge amounts of fame.
RaTaMaHaTTa
Novice
Novice
Posts: 89
Joined: 16.06.2008 12:22
Location: <||TORCHKI||>
Contact:

Post by RaTaMaHaTTa »

Хм ну автор скрипта видать отдыхает )
Такчто пока копай на етом
1 чару скролы и инвизы дай и пусть копает лучше по серидини випки.
Остольным чарам етотже скрипт токо выруби килл елема

Code: Select all

kill_elem=1;    на 0
В итоге должно получится так, когда выкапавается елем, все перестают копать, и ждут команды start.
А у того кого включин килл елема пускает вортекса потом лутает и говорит start +)

Code: Select all

program MiningVip; 
// Мининг в VIP пещере
// (c) v26RuS (Galiano{ASTARTA} DRW) v1.2
// Tested by RaTaMaHaTTa on DRW
{$Include 'all.inc'} 

const 
M_nothing1 = 'There is no ore here to mine'; 
M_nothing2 = 'That is too far'; 
M_nothing3 = 'Try mining in rock'; 
M_nothing4 = 'You cannot mine so close'; 
M_nothing5 = 'You have no line'; 
M_nothing6 = 'reach'; 
M_fizzles1 = 'You loosen some rocks'; 
M_needwait = 'You decide not to mine'; 
M_success = 'in your pack.'; 
MaxLimit = 15;              // максимальное кол-во физлов одной точки 
Cords_x = 6094;       // Кордината сундука X
Cords_y = 1248;       // Кордината сундука Y
Cord_x = 6099;          // Кордината копки X
Cord_y = 1245;          // Кордината копки Y
Pickaxe1 = $0E85;           // Типы кирок 
Pickaxe2 = $0E86; 
Ore1 = $19B7;               // 1 Ore 
Ore2 = $19BA;               // 2 Ore 
Ore3 = $19B8;               // 3 Ore 
Ore4 = $19B9;               // 4 Ore 
Sunduk = $403D03EC;        // Общий сундук
Sunduk_pix = $403EDF8F;     // Сундук c кирками
Sunduk_ore = $403EDEF3;     // Сундук для руды
MyMaxWeight = 600;       // Max Weight 
CaveLimit = 1282;        // Cave limit 
Incol=$0631;           // Тип инвизки 
kill_elem=1;          // Убивать элементаля (в паке должны быть инвизки, скролы вортекса, скролы масс диспела) 
vxcol=$1F66;           // Тип скрола вортекса
vacol=$1F62;           // Тип скрола мас диспела
element=$0010;		  // Тип элементаля 


var 
minret,StartFlag : Integer; 
HowManyDischarge : Integer; 
ScriptStartTime : TDateTime; 

flag1 : Boolean; 

   procedure CheckDead; 
Begin 
if Dead then 
begin 
AddToSystemJournal('Персонаж мертв: '+TimeToStr(now)); 
FullDisconnect; 
end 
      end; 


procedure GoXY(x,y : integer; runflag : boolean); 
   // x,y - eii?aeiaou, a eioi?ua eaai 
   // prec - oi?iinou iiaoiaa 
   // runflag - aa?aou eee eaoe 
   // v. 1.04 (n) Edred, ne?eio ii?oe?iaai n ei?aeoa 
   // i?eaeiaeuiay aa?ney Yoko n ai?aaioeie AGRS e Edred. 
   var ld, ldc, dx, dy, mx, my,d,e,a : Integer; 
   begin 
        ld := 0;   ldc := 0;   d := 0;     e := 2; 
   AddToSystemJournal('Начинаем переход'); 
     while true do 
        begin 
         dx := GetX(self) - x; if dx < 0 then dx := 0 - dx; 
         dy := GetY(self) - y; if dy < 0 then dy := 0 - dy; 
         if dy > dx then dx := dy; 
         mx := GetX(self); my := GetY(self); 
         dx := mx - x; if dx < 0 then dx := 0 - dx; 
         dy := my - y; if dy < 0 then dy := 0 - dy; 
         if dy > dx then dx := dy; 
         if ld = dx then begin 
            ldc := ldc + 1; 
           if ldc > 4 then begin 
             addtosystemjournal( 'GotoXY: Cannot reach location!' ); 
             a := 0 
             repeat 
             Raw_Move(d,runflag); 
             a := a+1 
             until a = e 
             d := d + 2; 
             If d = 8 then d:=0 e:= e+1 ldc :=0 
              end; 
         end 
         else ld := dx; 
         waitconnection(5000); 
         if mx = x then begin 
            if my = y then exit; 
            // North 
            if my > y then begin Raw_Move(0,runflag); continue; end; 
            // South 
            Raw_Move(4,runflag); continue; 
         end; 
         if mx < x then begin 
            // Northeast 
            if my > y then begin Raw_Move(1,runflag); continue; end; 
            // East 
            if my = y then begin Raw_Move(2,runflag); continue; end; 
            // Southeast 
            Raw_Move(3,runflag); continue; 
         end; 
         // Southwest 
         if my < y then begin Raw_Move(5,runflag); continue; end; 
         // West 
         if my = y then begin Raw_Move(6,runflag); continue; end; 
         // Nortwest 
         Raw_Move(7,runflag); continue; 
      end; 
   end; 


procedure kill_elemental; 
var 
ctime : TDateTime; 
castvx, castva, el_kill : Boolean; 
c,Vrx,Vry,bc : Integer; 
begin 
castvx:=false; 
castva:=false; 
// Search and use Invisible potion 
   FindTypeEx($0F0E,incol,backpack,false); 
    if FindCount>0 then 
     begin 
       UseObject(FindItem); 
    end; 

// Start kill elemental
bc:=0;
el_kill:=false;
repeat
// Search and use Vortex Scroll 
repeat 
   FindType(vxcol,Backpack); 
    if FindCount>0 then 
     begin 
AddToSystemJournal('Кастую вортекса'); 
   repeat 
      UseObject(FindItem); 
      WaitForTarget(1000); 
      If TargetPresent then TargetToTile(1342, GetX(self)+1, GetY(self)+1, GetZ(self)); 
      ctime:=Now; 
       wait(5000); 
      FindType(vxcol,backpack); 
   until (inJournalBetweenTimes('Vortex', ctime, Now)<>-1) or (FindCount = 0); 
if (inJournalBetweenTimes('Vortex', ctime, Now)<>-1) then castvx:=true; 
    end; 

// Search Elemental 
if castvx = true then 
begin 
FindDistance:=17; 
AddToSystemJournal('Жду пока умрет элементаль'); 
FindType(element,ground) 
Vrx:=GetX(FindItem);
Vry:=GetY(FIndItem);
c:=0; 
repeat 
c:=c+1; 
wait(10*1000); 
FindType(element,ground) 
until (FindCount = 0) OR (c = 25); 
if (FindCount = 0) then el_kill:=true;
end; 
until (c < 20) or (castvx = false); 
// End Kill Elemental
bc:=bc+1;
until (el_kill=true) or (bc > 5);
// Search and use Vas An Ort Scroll 
if castvx = true then 
begin 
   FindType(vacol,backpack); 
    if FindCount>0 then 
     begin 
AddToSystemJournal('Кастую воз ан орт'); 
   repeat 
      UseObject(FindItem); 
      WaitForTarget(1000); 
      If TargetPresent then TargetToObject(Self); 
      ctime:=Now; 
      wait(10000); 
      FindType(vacol,backpack); 
   until (inJournalBetweenTimes('fizzles', ctime, Now) = -1) or (FindCount = 0); 
   if (inJournalBetweenTimes('fizzles', ctime, Now) = -1) then castva:=true; 
    end; 
if castva = true then 
begin 
GoXY(Vrx,Vry,true);
AddToSystemJournal('Лутаю'); 
FindType($19B9,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 

FindType($19B7,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 

FindType($19BA,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 

FindType($19B8,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 

FindType($0EED,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 
GoXY(Cord_x,Cord_y,true); 
UOSay('start');
end; 
end; 
end; 

   procedure elemental; 
var TimeInterno : TDateTime; 
   begin 
if kill_elem = 1 then 
 begin 
  kill_elemental; 
  wait(1000); 
  exit; 
 end; 
ClearJournal; 
   TimeInterno := Now; 
   Addtosystemjournal('В переще элементаль для продолжение напишите start'); 
repeat 
//   UOSay('\w Galiano: Elemental!!!'); // Приватное сообщение помощнику (который прийдет и убьет эля)... 
wait(3000); 
until (inJournalBetweenTimes('start', TimeInterno, Now) >= 0); 
   end; 

function check_el : Boolean;  
 begin 
 Result := false;
 FindDistance:=10; 
 findtype(element,ground); 
 if FindCount > 0 then 
  begin 
  Result := true;
 end; 
end;

   function CheckPickaxe : Boolean; 
   // Проверяем есть ли кирка и одеваем ее (если необходимо) в правую руку 
   // возвращаем true - если все ок, false - если нет кирки 
   // Проверка на то, что в руке у чара не кирка не производится! 
   var tmpser : Cardinal; 
   begin 
      Result := true; 
      if (ObjAtLayerEx(RhandLayer,self) = 0) then 
      begin 
         // ничего в руках нету 
         tmpser := findtype(Pickaxe1,backpack); 
         if tmpser = 0 then tmpser := findtype(Pickaxe2,backpack); 
         if tmpser = 0 then 
         begin 
            Result := false; 
                 addtosystemjournal('Нету кирки :(('); 
            exit; 
         end; 
         if not equip(RhandLayer,tmpser) then 
         begin 
            wait(1000); 
            if not equip(RhandLayer,tmpser) then 
            begin 
               Result := false; 
              addtosystemjournal('Нету кирки :(('); 
               exit; 
            end; 
         end; 
         wait(500); 
         checksave; 
      end; 
   end; 

   procedure CheckHide; 
   begin 
      if Hidden then exit; 
      if WarMode = true then SetWarMode(false); 
      repeat 
         UseSkill('Hiding'); 
         wait(4500); 
         checksave; 
      until Hidden or (not Connected); 
   end; 




   function MiningAround : Integer ; 
   // копаем вокруг чара 
   // параметр - максимальный вес. 
   // возвращаем: 
   // 1 - вокруг чара все вскопано успешно 
   // 2 - превышен максимальный вес 
   // 3 - чар под атакой 
   // 4 - нет кирки 
   var k, r, x, y : Integer; 
   var mn1, mn2, mn3, mn4, mn5, mn6, mf1, mw1, ms1 : Integer; 
   var ctime : TDateTime; 
   begin 
      Result := 1; 
      addtosystemjournal(inttostr(GetX(self)) + ' ' + inttostr(GetY(self)) + ': Начинаем обкопку. Вес чара: ' + inttostr(Weight)); 
      for x := -4 to 4 do 
      begin 
         for y := -4 to 4 do 
         begin 
            r := 0; 
            repeat 
               waitconnection(5000); 
               if CheckPickaxe = false then 
               begin 
                  Result := 4; 
                  exit; 
               end; 
               CheckHide; 
               if TargetPresent then CancelTarget; 
               if WarMode = true then SetWarMode(false); 
               ctime := Now; 
               UseObject(ObjAtLayerEx(RhandLayer,self)); 
               WaitForTarget(1000); 
               If TargetPresent then TargetToTile(1342, GetX(self)+x, GetY(self)+y, GetZ(self)); 
               k := 0; 
               repeat 
                  wait(100); 
                  k := k + 1; 
                  checksave; 
                  mn1 := InJournalBetweenTimes(M_nothing1, ctime, Now); 
                  mn2 := InJournalBetweenTimes(M_nothing2, ctime, Now); 
                  mn3 := InJournalBetweenTimes(M_nothing3, ctime, Now); 
                  mn4 := InJournalBetweenTimes(M_nothing4, ctime, Now); 
                  mn5 := InJournalBetweenTimes(M_nothing5, ctime, Now); 
                  mn6 := InJournalBetweenTimes(M_nothing6, ctime, Now); 
                  mf1 := InJournalBetweenTimes(M_fizzles1, ctime, Now); 
                  ms1 := InJournalBetweenTimes(M_success, ctime, Now); 
               until (mn1<>-1) or (mn2<>-1) or (mn3<>-1) or (mn4<>-1) or (mn5<>-1) or (mn6<>-1) or (mf1<>-1) or (ms1<>-1) or Dead or (k > 300); 

	       if check_el = true then
		begin
		  Result := 6
		  exit;
	       end;
    

               if Weight > MyMaxWeight then 
               begin 
                  Result := 2; 
                  exit; 
               end; 
               if (mf1<>-1) then 
               begin 
                  r := r + 1; 
                  if r >= 10 then break 
                  else continue; 
               end; 
               if (mw1<>-1) then wait(3000); 
            until (mn1<>-1) or (mn2<>-1) or (mn3<>-1) or (mn4<>-1) or (mn5<>-1) or (mn6<>-1); 
         end; 
      end; 
   end; 

function DischargeSunduk : Boolean; 
   var 
      tmpid : Cardinal; 
      tmpconnect : TDateTime; 
   begin 
            addtosystemjournal('Пришли на разгрузку'); 
      Result := true; 
      waitconnection(3000); 
      tmpconnect := ConnectedTime; 
      CheckDead; 
      if Dead then 
      begin 
         Result := false; 
         exit; 
      end; 
      UseObject(Sunduk); 
      wait(1000);
      UseObject(Sunduk_ore); 
      checksave; 
      // Переместим руду 
      repeat 
         tmpid := Findtype(Ore1,backpack); 
         if tmpid = 0 then tmpid := Findtype(Ore2,backpack); 
         if tmpid = 0 then tmpid := Findtype(Ore3,backpack); 
         if tmpid = 0 then tmpid := Findtype(Ore4,backpack); 
         if tmpid = 0 then break; 
         waitconnection(3000); 
         MoveItem(tmpid,GetQuantity(tmpid),Sunduk_ore,0,0,0); 
         wait(1000); 
         CheckSave; 
      until tmpid = 0; 
      IgnoreReset; 

   FindTypeEx($0F0E,Incol,Backpack,false); 
    if (FindCount = 0) or (CountEx($0F0E,Incol,backpack) <= 2) then 
     begin 
        AddToSystemJournal('Добираем инвизки'); 
     FindTypeEx($0F0E,Incol,Sunduk_ore,false); 
      if FindCount > 0 then 
        begin 
        MoveItem(FindItem,5,Backpack,0,0,0); 
      end; 
    end; 

	FindType(vxcol,Backpack);
	 if (FindCount = 0) or (Count(vxcol) <= 2) then
	  begin
		  AddToSystemJournal('Добираем скролы вортексов');
	  FindType(vxcol,Sunduk_ore);
		if FindCount > 0 then
		  begin
		  MoveItem(FindItem,5,Backpack,0,0,0);
		end;
	 end;
	FindType(vacol,Backpack);
	 if (FindCount = 0) or (Count(vacol) <= 2) then
	  begin
		  AddToSystemJournal('Добираем скролы масс диспел');
	  FindType(vacol,Sunduk_ore);
		if FindCount > 0 then
		  begin
		  MoveItem(FindItem,5,Backpack,0,0,0);
		end;
	 end;


         addtosystemjournal('Разгрузка закончена'); 
   end; 

   function GetPickaxe : Boolean; 
   // Проверяем есть ли кирка и одеваем ее (если необходимо) в правую руку 
   // возвращаем true - если все ок, false - если нет кирки 
   // Проверка на то, что в руке у чара не кирка не производится! 
   var tmpser : Cardinal; 
   begin 
      Result := true; 
       GoXY(Cords_x,Cords_y,true); 
       useobject(sunduk); 
       wait(1000);
       useobject(Sunduk_pix); 
       wait(1000);
       tmpser := findtype(Pickaxe1,Sunduk_pix); 
       if tmpser = 0 then tmpser := findtype(Pickaxe2,Sunduk_pix); 

       tmpser := findtype(Pickaxe1,Sunduk_pix); 
       if tmpser = 0 then tmpser := findtype(Pickaxe2,Sunduk_pix); 
       if tmpser = 0 then 
       begin 
        Result := false; 
        addtosystemjournal('Нету кирки в сундуке:(('); 
       end; 
       grab(Finditem,1); 
         if not equip(RhandLayer,tmpser) then 
         begin 
            wait(1000); 
            if not equip(RhandLayer,tmpser) then 
            begin 
               Result := false; 
        addtosystemjournal('Нету кирки в сундуке:(('); 
               exit; 
            end; 
         end; 
         wait(500); 
         checksave; 
                 GoXY(Cord_x,Cord_y,true); 
end; 


Begin 
   ScriptStartTime := Now; 
   HowManyDischarge := 0; 
   StartFlag := 1; 
   repeat 
   // стартуем от сундука 
      CheckDead; 
      addtosystemjournal('Вылетаю в шахту'); 
   GoXY(Cord_x,Cord_y,true); 
      repeat 
         CheckDead; 
         if Dead then break; 
         minret := MiningAround; 
         CheckDead; 
         if Dead then break; 
         if minret = 4 then  GetPickaxe; 
    if minret = 6 then  elemental; 
      until minret = 2; 
      addtosystemjournal('Пора на разгрузку'); 
      CheckDead; 
   GoXY(Cords_x,Cords_y,true); 
      if not Dead then 
      begin 
         repeat 
            WaitConnection(5000); 
            CheckDead; 
            if Dead then break; 
            flag1 := DischargeSunduk; 
            wait(100); 
         until flag1 = true; 
   GoXY(Cord_x,Cord_y,true); 
      end; 
      CheckDead; 
   until false; 
End.
Blaze
Neophyte
Neophyte
Posts: 13
Joined: 07.08.2008 5:33
Location: [Dark Nazguls]

Post by Blaze »

Большое тебе спасибо.:)
v26RuS
Novice
Novice
Posts: 61
Joined: 18.05.2008 16:07
Location: DRW
Contact:

Post by v26RuS »

Немного изминил функция убийства но тестировать шас негде выкладываю для общего теста.

Code: Select all

procedure kill_elemental; 
var 
ctime : TDateTime; 
castvx, castva : Boolean; 
c,Vrx,Vry : Integer; 

label 
vortex;

begin 
castvx:=false; 
castva:=false; 
// Search and use Invisible potion 
   FindTypeEx($0F0E,incol,backpack,false); 
    if FindCount>0 then 
     begin 
      repeat
       UseObject(FindItem); 
       wait(1000)
      until Hidden;
    end; 

// Start kill elemental 
// Search and use Vortex Scroll 
vortex:
   FindType(vxcol,Backpack); 
    if FindCount>0 then 
     begin 
AddToSystemJournal('Кастую вортекса'); 
   repeat 
      UseObject(FindItem); 
      WaitForTarget(1000); 
      If TargetPresent then TargetToTile(1342, GetX(self)+1, GetY(self)+1, GetZ(self)); 
      ctime:=Now; 
       wait(5000); 
      FindType(vxcol,backpack); 
   until (inJournalBetweenTimes('Vortex', ctime, Now)<>-1) or (FindCount = 0); 
if (inJournalBetweenTimes('Vortex', ctime, Now)<>-1) then castvx:=true; 
    end; 

// Search Elemental 
if castvx = true then 
begin 
FindDistance:=17; 
AddToSystemJournal('Жду пока умрет элементаль'); 
FindType(element,ground) 
Vrx:=GetX(FindItem); 
Vry:=GetY(FIndItem); 
c:=0; 
repeat 
c:=c+1; 
wait(10*1000); 
FindType(element,ground) 
until (FindCount = 0) OR (c = 25); 
if (FindCount > 0) then goto vortex; 
end; 
// End Kill Elemental 


// Search and use Vas An Ort Scroll 
if castvx = true then 
begin 
   FindType(vacol,backpack); 
    if FindCount>0 then 
     begin 
AddToSystemJournal('Кастую воз ан орт'); 
   repeat 
      UseObject(FindItem); 
      WaitForTarget(1000); 
      If TargetPresent then TargetToObject(Self); 
      ctime:=Now; 
      wait(10000); 
      FindType(vacol,backpack); 
   until (inJournalBetweenTimes('fizzles', ctime, Now) = -1) or (FindCount = 0); 
   if (inJournalBetweenTimes('fizzles', ctime, Now) = -1) then castva:=true; 
    end; 
if castva = true then 
begin 
GoXY(Vrx,Vry,true); 
AddToSystemJournal('Лутаю'); 
FindType($19B9,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 

FindType($19B7,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 

FindType($19BA,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 

FindType($19B8,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 

FindType($0EED,ground); 
if FindCount > 0 then 
begin 
grab(FindItem,0); 
wait(800) 
end; 
GoXY(Cord_x,Cord_y,true); 
UOSay('start'); 
end; 
end; 
end;
Невозможное возможнО!
<'((><
Neophyte
Neophyte
Posts: 21
Joined: 28.09.2008 6:54

Post by <'((>< »

Code: Select all

...
[7:05:34] System: Where do you want to use the pickaxe?
[7:05:35] Dark Nikole: You loosen some rocks but fail to find any useable ore.
[7:05:35] System: Where do you want to use the pickaxe?
[7:05:35] Dark Nikole: You loosen some rocks but fail to find any useable ore.
[7:05:36] System: Where do you want to use the pickaxe?
[7:05:36] Dark Nikole: You loosen some rocks but fail to find any useable ore.
[7:05:37] System: Where do you want to use the pickaxe?
[7:05:37] Dark Nikole: You loosen some rocks but fail to find any useable ore.
[7:05:37] System: Where do you want to use the pickaxe?
[7:05:38] Dark Nikole: You loosen some rocks but fail to find any useable ore.
[7:05:38] System: Where do you want to use the pickaxe?
[7:05:38] Dark Nikole: You loosen some rocks but fail to find any useable ore.
[7:05:39] System: Where do you want to use the pickaxe?
[7:05:39] Dark Nikole: You loosen some rocks but fail to find any useable ore.
[7:05:40] System: Where do you want to use the pickaxe?...
И так на протяжении минут 20-ти пока я отвлеклась на Форуме. Перезапускала,но не помогло :( Минут 5 копает нормально, а потом выеживается...

П.С. Скрипт брала из самого первого поста, копаю в обычной шахте.
RaTaMaHaTTa
Novice
Novice
Posts: 89
Joined: 16.06.2008 12:22
Location: <||TORCHKI||>
Contact:

Post by RaTaMaHaTTa »

Code: Select all

MaxLimit = 15;               // максимальное кол-во физлов одной точки 
Попробуй меньше поставить значение.
Islam
Posts: 2
Joined: 21.10.2008 19:25

Post by Islam »

Не могли бы вы подсказать, как настроить этот скрипт? То есть у меня допустим при простом запуске скрипта с 3-ей страницы выводит ошибку:
Compiler: [Error] (vip.sc.txt at 52:1): Unknown identifier 'FullDisconnect'
16:16:48 [Islamic]: Compiling failed

Что это? К чему?
И еще я не могу понять как надо вбивать определенные параметры.
То есть допустм под простым клиентом info спасало. А как тут действовать?
Post Reply