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

помоги со скриптом...

тут можно задать вопрос по скриптингу
Post Reply
Apofis
Neophyte
Neophyte
Posts: 30
Joined: 18.07.2009 11:15

помоги со скриптом...

Post by Apofis »

Code: Select all

Procedure HideMove(X,Y: integer; accurance: word);
var 
  i: integer;
  Dir: byte;
  PathArr: TPathArray;
Begin
While Dest(X,Y)>accurance do
   begin
   If (Not Dead) then
      If (Stam<Dex) then 
         begin
         // если стамины меньше чем дексы, устанавливаем хумов и элемов в bad objects
         For i:=0 to 4 do
            SetBadObject(BadObj[i],$FFFF,0);
         end
      Else
         ClearBadObjectList;

   //  вычисляем следующую точку   
   repeat
     i:= GetPathArray(X,Y,false,PathArr);
     wait(100);
     WaitConnection(1000);
   until i>-1;
   
   //  определяем направление шага.
   Dir:=SetDirection(PathArr[0].x,PathArr[0].y);
   If GetDirection(self)<> Dir then Step(Dir, false);
   if ((Timer-sTimerHide)>5000) AND (Not Dead) AND (Not Hidden) then
         begin
               If WarMode then SetWarMode(false);
	       UseSkill('Hiding');
	       sTimerHide:=Timer;
	       
	 end;
   Step(Dir, false);
   end;
End;

пишет вот это

Code: Select all

0:48:56 [404404]: Compiler: [Error] (1.sc at 536:41):  Invalid number of parameters
Вот про это

Code: Select all

     i:= GetPathArray(X,Y,false,PathArr);
Помогите плз =)
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: помоги со скриптом...

Post by Vizit0r »

цикл порадовал очень. ну да ладно.

Code: Select all

 i:= GetPathArray(X,Y,false,PathArr);
заменить на

Code: Select all

 i:= GetPathArray(X,Y,false,accurance,PathArr);
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Apofis
Neophyte
Neophyte
Posts: 30
Joined: 18.07.2009 11:15

Re: помоги со скриптом...

Post by Apofis »

Мне тоже нравится =) спасибо Грундику =)
Спасибо, все заработало!)
Apofis
Neophyte
Neophyte
Posts: 30
Joined: 18.07.2009 11:15

Re: помоги со скриптом...

Post by Apofis »

Code: Select all

// ищет в указанном контейнере руну и по ней реколится.
Procedure Recall(Container: cardinal);
Label TryAgain ;
Var x : integer;

Begin
TryAgain:
FindType(RuneType,ReagsChest);
If FindCount=0 then raiseException(erCustomError,'Рунка  НЕ НАЙДЕНА!');
LoadItems(MR,$FFFF,ReagsChest,1);
LoadItems(BP,$FFFF,ReagsChest,1);
LoadItems(BM,$FFFF,ReagsChest,1);

AddToSystemJournal('Реколимся...');
x:=getx(self);
repeat	 
    If  Mana<13 then Meditation;
    If TargetPresent then CancelTarget;
    STime:=Now;
    Cast('Recall');
    Waittargetobject(finditem);
    while ((x=Getx(self)) AND NOT (InJournalBetweenTimes('Заклинание не удалось|has faded',STime,Now)<>-1)) do wait(250);
until NOT (InJournalBetweenTimes('Заклинание не удалось|has faded',STime,Now)<>-1); 

If (InJournalBetweenTimes('has faded',STime,Now)<>-1) then 
   begin
   Ignore(FindItem);
   Goto TryAgain;
   end;
End;

procedure RecallToCave;
Begin
CheckLag;
UseObject(ReagsChest);
Wait(1000);
Recall(ReagsChest);
End;

Procedure RecallToHome; 
Begin
SayBank;
Recall(BankBox);
End; 
Вот константы

Code: Select all

Const
   ReagsChest=$40197062;                   // сундук с бинтаи , регами , стейками и рунками.
   OreChest=$40252124;                    // сундук , куда скидывается руда.
   xHome=1839;
   yHome=1144;                             // координаты чара возле сундука

   MythColor=$0790;                         // если вдруг откопали миф или сильвер руду
   SilverColor=$0786;                       // бежим выкладывать её в банк.
   Pikaxe=$0E85;  
   RuneType=$1F14; 
   ClearBand=$0E21;
   BloodyBand=$0E20;
   AMSpirit=$4352;    
   Steak=$097B;
выдает

Code: Select all

01:04:27:240 [404404]: WaitTargetObject error: Object not found.
Реколлиться не по руне а вообще хз по чему...
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Re: помоги со скриптом...

Post by Fenix »

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