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

Не могу понять, где ошибка

тут можно задать вопрос по скриптингу
Post Reply
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Не могу понять, где ошибка

Post by Stels »

И снова здравствуйте :)
Не могу понять в чем дело... Помогите разобраться где ошибка...
Я проверяю кол-во предметов в паке до цикла, затем крафчу предмет (он 100% изготавливается), затем внутри цикла повторяю проверку кол-ва предметов. Но вот тут как раз и странность - стелс выдает предыдущее значение. Например,
В начале была проверка и результатом была цифра 6.
После того, как предмет изготовился и точно появился в паке (проверка идет в пошаговом режиме), вторая проверка выдает все те же 6 предметов. Но если скрипт остановить и запустить заново - "первая" проверка находит уже 7 предметов.

Code: Select all

FindTypeEx(aCI[x][y].ItemType,aOre[xOre].Color,backpack,false);
          aX:=FindCount;

          count1:=count-aX;
          if count1 < 1 then goto next;
          while aX < count1 do
          begin
            checktools(aCI[1][2].ItemType);
            checktools(aCI[1][1].ItemType);
            CreateItem();
            if ex = true then smelt();
            wait(wgump*2);
            wait(wdelay*2);
            checklag(120000);
            if first=true then first:=false;

            FindTypeEx(aCI[x][y].ItemType,aOre[xOre].Color,backpack,false);
            aX:=FindCount;

          end;
пробовал во второй проверке другую переменную (значение присваивается, т.е. поиск дает результат)
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не могу понять, где ошибка

Post by nah nah »

похоже на ошибку стелса, какая-нибудь беда с этим паксом =D
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: Не могу понять, где ошибка

Post by Stels »

сейчас, конечно, попробую просто стелс перезапустить - вчера у меня начал крашится графический клиент через него - просто не возможно было его запустить ни на одном профиле - перезапустил стелс и все прошло)
Может и сейчас такая беда

Не помогло )))))))))
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: Не могу понять, где ошибка

Post by Stels »

такое чувство, что FindCount не присваивает новое значение.
Решил пока написать после второй проверки aX:=FindCount+1;

Вот что вышло.
Первая проверка: aX=9;
С "новой" формулой вторая проверка: aX=10; (вроде бы нормально, но!...)
Следующий круг цикла (скрафтился новый предмет), проверка: aX снова равен 10 )))))
т.е. похоже на то, что FindCount не перезаписывается
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не могу понять, где ошибка

Post by nah nah »

попробуй пока CountEx
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: Не могу понять, где ошибка

Post by Stels »

nah nah wrote:попробуй пока CountEx
Какая-то беда, что эта функция, что запрос FindFullQuantity - в этом месте не увеличиваются....
Я уже начинаю думать может у меня что-то не так в скрипте? )))

Вообще не понимаю....
Значения перед первой проверкой
x=3
y=4
xOre=2

Перед второй проверкой все тоже самое

причем, даже если использовать разные команды все-равно присваивается первое значение
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: Не могу понять, где ошибка

Post by Stels »

Если в основном скрипте закомментировать строчку вот с этой процедурой, то все работает.... что может быть в этой процедуре не так? )
причем a<>0, т.е. половина процедуры вообще не выполняется

Code: Select all

procedure smelt();
var a: integer;
sItem: cardinal;
begin
  if FindTypeEx(aCI[x][y].ItemType,aOre[xOre].Color,backpack,False) <> 0 then
  begin
    sItem:=FindItem;
    a:=pos('exceptional',GetCliloc(sItem));
    if a = 0 then
    begin
      checktools(aCI[1][2].ItemType);
      checktools(aCI[1][1].ItemType);
      useobject(FindType(aCI[1][1].ItemType,backpack));
      while GetGumpID(GetGumpsCount-1) <> IDGump do wait(100);
      wait(wgump);
      WaitTargetObject(sItem);
      NumGumpButton(GetGumpsCount-1,7000);
      CancelWaitTarget;
    end
    else ignore(sItem);
  end;
end;
все.... понял.... дело в игнорайтеме... а игнор сбрасывается намного позже... после того, как все скрафтит....
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: Не могу понять, где ошибка

Post by Stels »

можно закрывать тему)))
Post Reply