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

bowcraft изготовление shaft по одной штуке

тут можно задать вопрос по скриптингу
Post Reply
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

bowcraft изготовление shaft по одной штуке

Post by Beren »

собственно сабж, скидывать логи под ноги и брать по одному не очень хорошо, место людное могут и спереть. отделять один лог, искать его и из него делать тоже не очень хочется.
просто я помню, что мы осуществляли трюк на ассите, где писался макро изготовления одного shaft из одного лога, потом там что-то преобразовывалось и в итоге сколько бы логов не было в бэкпаке за один раз делался один shaft. осуществимо ли это?
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

ну не так уж это криминально отделять по одному.

Code: Select all

repeat
  LogStack:=FindType(log,log_color)
  if LogStack=0 then exit;
  ignore(LogStack)
  moveItem(LogStack,1,backpack,70,70,0)
  FindType(log,log_color);
  //тут делаем шафты из finditem
  ignorereset;
until false;
"Как хочешь ты трудись;
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы. (с) С.Крылов."
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Post by Beren »

спасибо, конечно, но я уже сделал несколько иначе:

Code: Select all

MoveItem(FindType(logs,backpack),1,backpack,1,1,1);
     wait(750);
     FindType(logs,backpack);
     if FindQuantity<>1 then
      begin
       Ignore(FindItem);
       FindType(logs,backpack);
      end;
так как некоторые эксперементы показали, что ID стопки переносится на 1 перемещённый лог.
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

такие конструкции предполагают обязательное наличие предмета в паке, перед перемещением.

Code: Select all

MoveItem(FindType(logs,backpack),1,backpack,1,1,1);
wait(750); 
     FindType(logs,backpack);
Лучше все-же проверку наличия ставить перед использованием, а не после.

Code: Select all

if FindType(logs,backpack)=0 then exit; 
   moveItem(finditem,1,backpack,1,1,1) 
"Как хочешь ты трудись;
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы. (с) С.Крылов."
Post Reply