Он делает указанные блоки по указанной количестве, берёт ресурсы, когда их не хватает для 1 блока.
Примечание:
1) сначала в сумке надо быть только нужные инги или логи, или вообще не один ресурс;
2) скрипт считает готовые блоки в сумке, например, если вы уже сами сделали 2 блока, а в скрипте указали 10 блоков, тогда скрипт сделает 8 блоков.
set %block stone; stone, sandstone, plaster, marble, wood set %amt 8; how many blocks to craft set %bag BEEJMMD; where are resources for blocks ; =========================================================== ; =========================< > < > < >======================= ; =========================================================== if %block = wood 4 set %type LMB set %for1block 200 set %color 0 set %y 318 if %block = marble 4 set %type RN set %for1block 110 set %color 1950 set %y 198 if %block = sandstone 4 set %type SS set %for1block 100 set %color 144 set %y 258 if %block = plaster 4 set %type RK set %for1block 70 set %color 151 set %y 228 if %block = stone 4 set %type WE set %for1block 100 set %color 2313 set %y 288 if %block = wood set %resc ZLK else set %resc RMK for %i 1 5 { scanjournal %i deletejournal } set %eat 0 repeat { finditem %resc C_ , #backpackid if #findstack < %for1block gosub take finditem QNL C_ , #backpackid if #findcnt = 0 2 event sysmessage House crafting tool not found! halt set #lobjectid #findid event macro 17 0 finditem %type C_ , #backpackid while #contkind <> UCHB && #contsize <> 545_500 wait 1 click 490 545 wait 20 while #contkind <> UCHB && #contsize <> 545_500 wait 1 click 318 %y gosub scan finditem %type C_ , #backpackid } until #findcnt >= %amt event sysmessage %block block crafting complete! halt sub scan deletejournal set %lag #scnt + 15 _scan: for %i 1 5 { scanjournal %i if hungry in #journal && #scnt > %eat { gosub eat return } if world_save in #journal || world_save in #sysmsg { event sysmessage Waiting World Save... wait 35s return } if you_put in #journal || you_fail in #journal || you_have_failed in #journal return if you_can't_make_it in #journal || have_no_resources in #journal || #scnt > %lag return } goto _scan return sub take set #lobjectid %bag event macro 17 0 while #contid <> %bag wait 1 repeat { finditem %resc C_ , %bag if #findcol <> %color ignoreitem #findid finditem %resc C_ , %bag } until #findcol = %color set %it #findid set %max #str * 35 / 10 set %amount %max - #weight if %block = wood set %amount %amount * 2 exevent drag %it %amount exevent dropc #backpackid wait 10 repeat finditem %it C_ , #backpackid until #findstack >= %amount return sub eat set %lobjct #lobjectid finditem ZBM C_ , #backpackid set #lobjectid #findid event macro 17 0 wait 10 finditem GND C_ , #backpackid set #lobjectid #findid event macro 17 0 wait 10 event macro 17 0 wait 2s set #lobjectid %lobjct set %eat #scnt + 360 return