Page 1 of 1
помоги со скриптом...
Posted: 04.12.2011 18:57
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);
Помогите плз =)
Re: помоги со скриптом...
Posted: 04.12.2011 19:16
by Vizit0r
цикл порадовал очень. ну да ладно.
Code: Select all
i:= GetPathArray(X,Y,false,PathArr);
заменить на
Code: Select all
i:= GetPathArray(X,Y,false,accurance,PathArr);
Re: помоги со скриптом...
Posted: 04.12.2011 20:13
by Apofis
Мне тоже нравится =) спасибо Грундику =)
Спасибо, все заработало!)
Re: помоги со скриптом...
Posted: 04.12.2011 23:11
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.
Реколлиться не по руне а вообще хз по чему...
Re: помоги со скриптом...
Posted: 08.12.2011 14:22
by Fenix
Полагаю, что метод LoadItems просто тоже пользуется поиском, следовательно, идентификатор руны, которую вы нашли ранее, просто был другим поиском.
Посоветую сохранить результат поиска в какую-либо локальную переменную.