--pastebin get YKSKS5av interface local component = require("component") local modem = component.modem local navigation = component.navigation local term = require("term") local gpu = component.gpu local event = require("event") local serialization = require("serialization") local port=467 local a={} local a1={} local a2={} local a1plus={} local a2plus={} local activatormain=true local activatorinvent=false local dronename="Не инициализировано" local activatorsign=false local messagesign=" " local pistonword=" " local activatorinventplus=false local droneside=3 local activatorinventplusstack=false local inventplusget=2 local getslotstacktable={} local keys={} local internalstacktable={} local activatordrone_generator=false local swingword=" " local placeword=" " local dropword=" " local suckword=" " local drainword=" " local fillword=" " local slot_invent=3 local slot_invent_count=1 modem.open(port) function buttons(pic) for i=1, #pic do gpu.setForeground(pic[i].color1) gpu.setBackground(pic[i].color2) if pic[i].lang == "rus" then l=(#pic[i].text/2)+2 elseif pic[i].lang == "eng" then l=#pic[i].text+2 end if pic[i].h == 1 and pic[i].active == true then gpu.set(pic[i].x, pic[i].y, " "..pic[i].text.." ") elseif pic[i].h>1 and pic[i].active == true then for j=1, l do gpu.set(pic[i].x+j-1, pic[i].y-1, " ") end for k=1, l do gpu.set(pic[i].x+k-1, pic[i].y+pic[i].h-2, " ") end gpu.set(pic[i].x, pic[i].y, " "..pic[i].text.." ") end gpu.setForeground(0xFFFFFF) gpu.setBackground(0x000000) end end --function button(x,y,pic,color1,color2) --gpu.setForeground(color1) --gpu.setBackground(color2) --for i=1, #pic do gpu.set(x, y+i-1, pic[i]) end --gpu.setForeground(0xFFFFFF) --gpu.setBackground(0x000000) --end function initialize() modem.setStrength(1) modem.broadcast(port, "modem=component.proxy(component.list('modem')())") modem.broadcast(port, "drone=component.proxy(component.list('drone')())") --modem.broadcast(port, "computer.pullSignal(1) if drone.select(3)==3 then modem.broadcast(467, 'inventory') end if drone.selectTank(1) == 1 then modem.broadcast(467, 'tank') end computer.pullSignal(1.5) if drone.select(5) == 5 then modem.broadcast(467, 'inventory_1') end if drone.selectTank(2) == 2 then modem.broadcast(467, 'tank_1') end") modem.broadcast(port, "if drone.select(1)==1 then drone.move(0,1,0) computer.pullSignal(0.1) drone.move(0,-1,0) end") modem.broadcast(port, "if drone.select(5) == 5 then modem.broadcast(467, 'inventory') modem.broadcast(467, 'inventory_1') end") modem.broadcast(port, "if drone.select(3) == 3 then modem.broadcast(467, 'inventory') end") modem.broadcast(port, "if drone.select(5) == 5 then modem.broadcast(467, 'inventory') modem.broadcast(467, 'inventory_1') end") modem.broadcast(port, "if drone.selectTank(1) == 1 then modem.broadcast(467, 'tank') end") modem.broadcast(port, "if drone.selectTank(2) == 2 then modem.broadcast(467, 'tank_1') end") modem.broadcast(port, "if drone.selectTank(3) == 3 then modem.broadcast(467, 'tank_2') end") modem.broadcast(port, "computer.pullSignal(3) for k,v in component.list() do modem.broadcast(467, v) end dronename=drone.name() modem.broadcast(467, dronename) computer.pullSignal(2) modem.broadcast(467, 'stop')") modem.setStrength(400) while true do local _,_,_,_,_,message=event.pull("modem") table.insert(a, message) if message=="stop" then break end end dronename=a[#a-1] for i=1, #a-1 do if a[i] == 'inventory' then pic[10].active=true for i=12, 27 do pic[i].active=true end for i=55, 66 do pic[i].active=true end swingword="Swing" placeword="Place" dropword="Drop" suckword="Suck" slot_invent_count=4 end if a[i] == 'inventory_1' then for i=28, 31 do pic[i].active=true end slot_invent_count=8 end if a[i] == 'tank' then pic[32].active=true for i=34, 46 do pic[i].active=true end drainword="Drain" fillword="Fill" end if a[i] == 'tank_1' then pic[47].active=true end if a[i] == 'tank_2' then pic[48].active=true end if a[i] == 'docking' then modem.broadcast(port, "docking=component.proxy(component.list('docking')())") pic[67].active=true end --if a[i] == 'redstone' then --modem.broadcast(port, "redstone=component.proxy(component.list('redstone')())") --pic[70].active=true --end if a[i] == 'inventory_controller' then modem.broadcast(port, "invcontr=component.proxy(component.list('inventory_controller')())") pic[11].active=true end if a[i] == 'tractor_beam' then modem.broadcast(port, "tractor_beam=component.proxy(component.list('tractor_beam')())") pic[84].active=true end if a[i] == 'leash' then modem.broadcast(port, "leash=component.proxy(component.list('leash')())") pic[85].active=true end if a[i] == 'sign' then modem.broadcast(port, "sign=component.proxy(component.list('sign')())") pic[89].active=true end if a[i] == 'piston' then modem.broadcast(port, "piston=component.proxy(component.list('piston')())") pistonword="Поршень" for i=90, 95 do pic[i].active=true end end if a[i] == 'generator' then modem.broadcast(port, "generator=component.proxy(component.list('generator')())") pic[96].active=true end end --for i=1, #a-1 do print(a[i]) end pic[1].active=false pic[9].active=true --print("nice") end function quit() term.clear() os.exit() end function down() modem.broadcast(port, "drone.move(0,-1,0)") end function up() modem.broadcast(port, "drone.move(0,1,0)") end function forward() local navf=navigation.getFacing() if navf == 2 then modem.broadcast(port, "drone.move(0,0,-1)") elseif navf == 3 then modem.broadcast(port, "drone.move(0,0,1)") elseif navf == 4 then modem.broadcast(port, "drone.move(-1,0,0)") elseif navf == 5 then modem.broadcast(port, "drone.move(1,0,0)") end end function back() local navb=navigation.getFacing() if navb == 2 then modem.broadcast(port, "drone.move(0,0,1)") elseif navb == 3 then modem.broadcast(port, "drone.move(0,0,-1)") elseif navb == 4 then modem.broadcast(port, "drone.move(1,0,0)") elseif navb == 5 then modem.broadcast(port, "drone.move(-1,0,0)") end end function left() local navl=navigation.getFacing() if navl == 2 then modem.broadcast(port, "drone.move(-1,0,0)") elseif navl == 3 then modem.broadcast(port, "drone.move(1,0,0)") elseif navl == 4 then modem.broadcast(port, "drone.move(0,0,1)") elseif navl == 5 then modem.broadcast(port, "drone.move(0,0,-1)") end end function right() local navr=navigation.getFacing() if navr == 2 then modem.broadcast(port, "drone.move(1,0,0)") elseif navr == 3 then modem.broadcast(port, "drone.move(-1,0,0)") elseif navr == 4 then modem.broadcast(port, "drone.move(0,0,-1)") elseif navr == 5 then modem.broadcast(port, "drone.move(0,0,1)") end end function initialize_done() --gpu.set(1, 4, "Nice") end function invent() activatormain=false activatorinvent=true term.clear() modem.broadcast(port, "for i=1, "..tostring(slot_invent_count).." do inv1=drone.count(i) modem.broadcast(467, inv1) end modem.broadcast(467, 'stop') for i=1, "..tostring(slot_invent_count).." do inv2=drone.space(i) modem.broadcast(467, inv2) end modem.broadcast(467, 'done')") while true do local _,_,_,_,_,messageinv=event.pull("modem") table.insert(a1, messageinv) if messageinv == 'stop' then break end end while true do local _,_,_,_,_,messageinv1=event.pull("modem") table.insert(a2, messageinv1) if messageinv1 == 'done' then break end end for i=1, #a1-1 do gpu.set(1, 6+i, 'Слот'..tostring(i)..':') gpu.set(7, 6+i, tostring(a1[i])) gpu.set(9, 6+i, '/') end a1={} for i=1, #a2-1 do gpu.set(10, 6+i, tostring(a2[i])) end a2={} while activatorinvent do buttons(picinv) search(picinv) end end function invent_plus() activatormain=false activatorinventplus=true term.clear() modem.broadcast(port, "for i=1, "..tostring(slot_invent_count).." do inv1=drone.count(i) modem.broadcast(467, inv1) end modem.broadcast(467, 'stop') computer.pullSignal(1) for i=1, "..tostring(slot_invent_count).." do inv2=drone.space(i) modem.broadcast(467, inv2) end modem.broadcast(467, 'done')") while true do local _,_,_,_,_,messageinventoryplus1=event.pull("modem") table.insert(a1plus, messageinventoryplus1) if messageinventoryplus1 == 'stop' then break end end while true do local _,_,_,_,_,messageinventoryplus2=event.pull("modem") table.insert(a2plus, messageinventoryplus2) if messageinventoryplus2 == 'done' then break end end for i=1, #a1plus-1 do gpu.set(1, 2+i, 'Слот'..tostring(i)..':') gpu.set(7, 2+i, tostring(a1plus[i])) gpu.set(9, 2+i, '/') end a1plus={} for i=1, #a2plus-1 do gpu.set(10, 2+i, tostring(a2plus[i])) end a2plus={} gpu.setForeground(0x000000) gpu.setBackground(0xFFFFFF) gpu.set(14, 1, 'Размер инвентаря') gpu.set(14, 2, ' ') gpu.setForeground(0xFFFFFF) gpu.setBackground(0x000000) gpu.set(11, 20, "<") gpu.set(14, 3, "Север:") gpu.set(14, 4, "Юг:") gpu.set(14, 5, "Восток:") gpu.set(14, 6, "Запад:") gpu.set(14, 7, "Верх:") gpu.set(14, 8, "Низ:") while activatorinventplus do buttons(picinventplus) search(picinventplus) end end function invent_choosen() for i=1, #a-1 do if slot_invent_count == 4 then for i=12, 15 do pic[i].text="["..tostring(i-11).."]" end pic[slot_invent+11].text="("..tostring(slot_invent)..")" elseif slot_invent_count == 8 then for i=12, 15 do pic[i].text="["..tostring(i-11).."]" end for i=28, 31 do pic[i].text="["..tostring(i-23).."]" end if slot_invent >= 5 then pic[slot_invent+23].text="("..tostring(slot_invent)..")" else pic[slot_invent+11].text="("..tostring(slot_invent)..")" end end end end function invent_1() modem.broadcast(port, "drone.select(1)") slot_invent=1 invent_choosen() end function invent_2() modem.broadcast(port, "drone.select(2)") slot_invent=2 invent_choosen() end function invent_3() modem.broadcast(port, "drone.select(3)") slot_invent=3 invent_choosen() end function invent_4() modem.broadcast(port, "drone.select(4)") slot_invent=4 invent_choosen() end function invent_5() modem.broadcast(port, "drone.select(5)") slot_invent=5 invent_choosen() end function invent_6() modem.broadcast(port, "drone.select(6)") slot_invent=6 invent_choosen() end function invent_7() modem.broadcast(port, "drone.select(7)") slot_invent=7 invent_choosen() end function invent_8() modem.broadcast(port, "drone.select(8)") slot_invent=8 invent_choosen() end function swing_down() modem.broadcast(port, "drone.swing(0)") end function swing_up() modem.broadcast(port, "drone.swing(1)") end function swingNorth() modem.broadcast(port, "drone.swing(2)") end function swingSouth() modem.broadcast(port, "drone.swing(3)") end function swingEast() modem.broadcast(port, "drone.swing(5)") end function swingWest() modem.broadcast(port, "drone.swing(4)") end function place_down() modem.broadcast(port, "drone.place(0)") end function place_up() modem.broadcast(port, "drone.place(1)") end function placeNorth() modem.broadcast(port, "drone.place(2)") end function placeSouth() modem.broadcast(port, "drone.place(3)") end function placeEast() modem.broadcast(port, "drone.place(5)") end function placeWest() modem.broadcast(port, "drone.place(4)") end function tank() --здесь могла бы быть ваша функция end function tank_plus() --intarface() end function tank_1() modem.broadcast(port, "drone.selectTank(1)") end function drain_down() modem.broadcast(port, "drone.drain(0)") end function drain_up() modem.broadcast(port, "drone.drain(1)") end function drainNorth() modem.broadcast(port, "drone.drain(2)") end function drainSouth() modem.broadcast(port, "drone.drain(3)") end function drainEast() modem.broadcast(port, "drone.drain(5)") end function drainWest() modem.broadcast(port, "drone.drain(4)") end function fill_down() modem.broadcast(port, "drone.fill(0)") end function fill_up() modem.broadcast(port, "drone.fill(1)") end function fillNorth() modem.broadcast(port, "drone.fill(2)") end function fillSouth() modem.broadcast(port, "drone.fill(3)") end function fillEast() modem.broadcast(port, "drone.fill(5)") end function fillWest() modem.broadcast(port, "drone.fill(4)") end function use_down() modem.broadcast(port, "drone.use(0)") end function use_up() modem.broadcast(port, "drone.use(1)") end function useNorth() modem.broadcast(port, "drone.use(2)") end function useSouth() modem.broadcast(port, "drone.use(3)") end function useEast() modem.broadcast(port, "drone.use(5)") end function useWest() modem.broadcast(port, "drone.use(4)") end function drop_down() modem.broadcast(port, "drone.drop(0)") end function drop_up() modem.broadcast(port, "drone.drop(1)") end function dropNorth() modem.broadcast(port, "drone.drop(2)") end function dropSouth() modem.broadcast(port, "drone.drop(3)") end function dropEast() modem.broadcast(port, "drone.drop(5)") end function dropWest() modem.broadcast(port, "drone.drop(4)") end function suck_down() modem.broadcast(port, "drone.suck(0)") end function suck_up() modem.broadcast(port, "drone.suck(1)") end function suckNorth() modem.broadcast(port, "drone.suck(2)") end function suckSouth() modem.broadcast(port, "drone.suck(3)") end function suckEast() modem.broadcast(port, "drone.suck(5)") end function suckWest() modem.broadcast(port, "drone.suck(4)") end function docking() modem.broadcast(port, "if docking.dock() == true then modem.broadcast(467, 'done') else modem.broadcast(467, 'nope') end") local _,_,_,_,_,messagedocking=event.pull("modem") if messagedocking == 'done' then pic[67].active=false os.sleep(0.5) pic[68].active=true pic[69].active=true end end function undocking() pic[68].active=false pic[69].active=false os.sleep(0.5) pic[67].active=true modem.broadcast(port, "docking.release()") interface() end function drop_Items() modem.broadcast(port, "docking.dropItem(drone.select())") end function redstone_activate() red_act=2 pic[70].color2=0xFF0000 for i=72, 82, 2 do pic[i].active=true end end --function redstone_deactivate() --modem.broadcast(port, "for i=1-1, 6-1 do redstone(i, 0) end") --for i=71, 83, 2 do pic[i].active=false end --pic[70].active=true --end --function redstone_down_1() --redact=2 --redact=redact+1 --if redact>3 then --modem.broadcast(port, "redstone.setOutput(0, 0)") --pic[82].color2=0xFFFFFF --redact=redact-1 --else --modem.broadcast(port, "redstone.setOutput(0, 15)") --pic[82].color2=0xFFFFFF --end --end --function redstone_down_0() --modem.broadcast(port, "redstone.setOutput(0, 0)") --pic[83].active=false --pic[82].active=true --end --function redstone_up_1() --modem.broadcast(port, "redstone.setOutput(1, 15)") --pic[80].active=false --pic[81].active=true --end --function redstone_up_0() --modem.broadcast(port, "redstone.setOutput(1, 0)") --pic[81].active=false --pic[80].active=true --end --function redstone_north_1() --modem.broadcast(port, "redstone.setOutput(2, 15)") --pic[72].active=false --pic[73].active=true --end --function redstone_north_0() --modem.broadcast(port, "redstone.setOutput(2, 0)") --pic[73].active=false --pic[72].active=true --end --function redstone_south_1() --modem.broadcast(port, "redstone.setOutput(3, 15)") --pic[74].active=false --pic[75].active=true --end --function redstone_south_0() --modem.broadcast(port, "redstone.setOutput(3, 0)") --pic[75].active=false --pic[74].active=true --end --function redstone_east_1() --modem.broadcast(port, "redstone.setOutput(5, 15)") --pic[76].active=false --pic[77].active=true --end --function redstone_east_0() --modem.broadcast(port, "redstone.setOutput(5, 0)") --pic[77].active=false --pic[76].active=true --end --function redstone_west_1() --modem.broadcast(port, "redstone.setOutput(4, 15)") --pic[78].active=false --pic[79].active=true --end --function redstone_west_0() --modem.broadcast(port, "redstone.setOutput(4, 0)") --pic[79].active=false --pic[78].active=true --end function tractorBeam() modem.broadcast(port, "tractor_beam.suck()") end function invent_exit() activatorinvent=false activatormain=true interface() end function leash_active() pic[85].active=false for i=86, 88 do pic[i].active=true end end function leash_deactive() for i=86, 88 do pic[i].active=false end os.sleep(0.5) modem.broadcast(port, "leash.unleash()") pic[85].active=true interface() end function leash_leash() modem.broadcast(port, "leash.leash(0)") end function leash_uleash() modem.broadcast(port, "leash.unleash()") end function sign_active() activatormain=false activatorsign=true gpu.setResolution(15, 25) term.clear() while activatorsign do buttons(picsign) search(picsign) gpu.set(1, 1, "Надпись") gpu.set(1, 2, "15 символов") gpu.set(1, 3, "Работает только") gpu.set(1, 4, "в сторону 'Юг'") end end function sign_write() for i=1, 4 do for j=1, 15 do gpu.set(1+j-1, 5+i, " ") end end term.setCursor(1, 6) sign1=io.read() term.setCursor(1, 7) sign2=io.read() term.setCursor(1, 8) sign3=io.read() term.setCursor(1, 9) sign4=io.read() signwrite1=sign1.."\n"..sign2.."\n"..sign3.."\n"..sign4 signwrite2=serialization.serialize(signwrite1) signwrite3="sign.setValue("..signwrite2..")" modem.broadcast(port, signwrite3) end function sign_read() modem.broadcast(port, "textsign=sign.getValue() computer.pullSignal(1) modem.broadcast(467, textsign)") local _,_,_,_,_,messagesign=event.pull("modem") for i=1, 4 do for j=1, 15 do gpu.set(1+j-1, 19+i, " ") end end term.setCursor(1, 20) print(messagesign) end function sign_exit() activatorsign=false activatormain=true gpu.setResolution(80, 25) interface() end function piston_down() modem.broadcast(port, "piston.push(0)") end function piston_up() modem.broadcast(port, "piston.push(1)") end function pistonNorth() modem.broadcast(port, "piston.push(2)") end function pistonSouth() modem.broadcast(port, "piston.push(3)") end function pistonEast() modem.broadcast(port, "piston.push(5)") end function pistonWest() modem.broadcast(port, "piston.push(4)") end function invent_plus_exit() activatorinventplus=false activatormain=true interface() end function side_down() for i=1, 6 do gpu.set(11, 18+i, " ") end gpu.set(11, 24, "<") droneside=0 end function side_up() for i=1, 6 do gpu.set(11, 18+i, " ") end gpu.set(11, 23, "<") droneside=1 end function north() for i=1, 6 do gpu.set(11, 18+i, " ") end gpu.set(11, 19, "<") droneside=2 end function south() for i=1, 6 do gpu.set(11, 18+i, " ") end gpu.set(11, 20, "<") droneside=3 end function east() for i=1, 6 do gpu.set(11, 18+i, " ") end gpu.set(11, 21, "<") droneside=5 end function west() for i=1, 6 do gpu.set(11, 18+i, " ") end gpu.set(11, 22, "<") droneside=4 end function invent_plus_get() modem.broadcast(port, "inventorysize=invcontr.getInventorySize("..tostring(droneside)..") modem.broadcast(467, inventorysize)") _,_,_,_,_,inventplusget=event.pull("modem") if inventplusget ~= nil then for i=19, 24 do char=gpu.get(11, i) if char == "<" then picinventplus[i-10].active=true picinventplus[i-10].text=tostring(inventplusget) --invent_plus() buttons(picinventplus) end end end end function get_stack_in_slot_down() activatorinventplus=false activatorinventplusstack=true droneside=0 get_stack_in_slot() end function get_stack_in_slot_up() activatorinventplus=false activatorinventplusstack=true droneside=1 get_stack_in_slot() end function get_stack_in_slot_north() activatorinventplus=false activatorinventplusstack=true droneside=2 get_stack_in_slot() end function get_stack_in_slot_south() activatorinventplus=false activatorinventplusstack=true droneside=3 get_stack_in_slot() end function get_stack_in_slot_east() activatorinventplus=false activatorinventplusstack=true droneside=5 get_stack_in_slot() end function get_stack_in_slot_west() activatorinventplus=false activatorinventplusstack=true droneside=4 get_stack_in_slot() end function get_stack_in_slot() term.clear() gpu.set(1, 1, "Введите номер слота инвентаря:") gpu.set(1, 9, "Выберите слот дрона:") if slot_invent_count == 8 then for i=3, 10 do picinventplusstack[i].active=true end elseif slot_invent_count == 4 then for i=3, 6 do picinventplusstack[i].active=true end end while activatorinventplusstack do buttons(picinventplusstack) search(picinventplusstack) end end function get_stack_in_slot_run() term.setCursor(31, 1) term.setCursorBlink(true) local x,y=term.getCursor() gpu.setForeground(0x000000) gpu.setBackground(0xFFFFFF) keys={} while true do local event,_,key,key1,_=event.pull() if event == 'key_down' then if key >= 48 and key <= 57 then table.insert(keys, tostring(key-48)) for i=1, #keys do gpu.set(30+i, 1, keys[i]) term.setCursor(x+i, y) end end if #keys == 3 then break elseif key == 13 then gpu.set(x, y, " ") break end end end term.setCursorBlink(false) gpu.setForeground(0xFFFFFF) gpu.setBackground(0x000000) slotnumber=table.concat(keys) slotnumber1=tonumber(slotnumber) gpu.set(1, 3, " ") if slotnumber1 > inventplusget then gpu.set(1, 3, "Такого слота не существует") else get_slot_stack_additional() end end function get_slot_stack_additional() if slotnumber == nil then gpu.set(1, 6, 'Слот не выбран') else modem.broadcast(port, "getslotstack=invcontr.getStackInSlot("..tostring(droneside)..", "..slotnumber..") if getslotstack == nil then modem.broadcast(467, 'stop') else modem.broadcast(467, getslotstack.label) computer.pullSignal(0.2) modem.broadcast(467, getslotstack.size) computer.pullSignal(0.2) modem.broadcast(467, getslotstack.maxSize) modem.broadcast(467, 'done') end getslotstack={}") end while true do _,_,_,_,_,getslotstack1=event.pull("modem") table.insert(getslotstacktable, getslotstack1) if getslotstack1 == 'done' or getslotstack1 == 'stop' then break end end for i=1, 30 do for j=1, 4 do gpu.set(1+i-1, 2+j, " ") end end if getslotstacktable[4] == 'done' then gpu.set(1, 3, "Слот: "..slotnumber) gpu.set(1, 4, "Предмет: "..tostring(getslotstacktable[1])) gpu.set(1, 5, "Количество: "..tostring(getslotstacktable[2]).."/"..tostring(getslotstacktable[3])) elseif getslotstacktable[1] == 'stop' then gpu.set(1, 6, "Слот "..slotnumber.." пуст") end getslotstacktable={} end function get_stack_in_slot_exit() activatorinventplusstack=false activatorinventplus=true invent_plus() end function get_stack_internal() activatorinventplus=false activatorinventplusstack=true get_stack_in_slot() end function invent_stack_choosen(pic_additional, pic_number, pic_n_1, pic_n_2, pic_n_3) if slot_invent_count == 8 then for i=pic_n_1, pic_n_2 do pic_additional[i].text='['..tostring(i-pic_number)..']' end elseif slot_invent_count == 4 then for i=pic_n_1, pic_n_3 do pic_additional[i].text='['..tostring(i-pic_number)..']' end end pic_additional[slot_plus+pic_number].text='('..tostring(slot_plus)..')' end function get_stack_in_internal_slot() modem.broadcast(port, "internalslot=invcontr.getStackInInternalSlot("..tostring(slot_plus)..") if internalslot ~= nil then modem.broadcast(467, internalslot.label) computer.pullSignal(0.2) modem.broadcast(467, internalslot.size) computer.pullSignal(0.2) modem.broadcast(467, internalslot.maxSize) computer.pullSignal(0.2) modem.broadcast(467, 'done') else modem.broadcast(467, 'stop') end") while true do local _,_,_,_,_,internalstack=event.pull("modem") table.insert(internalstacktable, internalstack) if internalstack == 'done' or internalstack == 'stop' then break end end gpu.fill(1, 13, 40, 4, " ") if internalstacktable[4] == 'done' then gpu.set(1, 13, 'Слот: '..tostring(slot_plus)) gpu.set(1, 14, 'Предмет:'..internalstacktable[1]) gpu.set(1, 15, 'Количество: '..tostring(internalstacktable[2])..'/'..tostring(internalstacktable[3])) elseif internalstacktable[1] == 'stop' then gpu.set(1, 16, 'Слот пуст') end internalstacktable={} end function invent_1_stack() modem.broadcast(port, "drone.select(1)") slot_plus=1 invent_stack_choosen(picinventplusstack, 2, 3, 10, 6) get_stack_in_internal_slot() end function invent_2_stack() modem.broadcast(port, "drone.select(2)") slot_plus=2 invent_stack_choosen(picinventplusstack, 2, 3, 10, 6) get_stack_in_internal_slot() end function invent_3_stack() modem.broadcast(port, "drone.select(3)") slot_plus=3 invent_stack_choosen(picinventplusstack, 2, 3, 10, 6) get_stack_in_internal_slot() end function invent_4_stack() modem.broadcast(port, "drone.select(4)") slot_plus=4 invent_stack_choosen(picinventplusstack, 2, 3, 10, 6) get_stack_in_internal_slot() end function invent_5_stack() modem.broadcast(port, "drone.select(5)") slot_plus=5 invent_stack_choosen(picinventplusstack, 2, 3, 10, 6) get_stack_in_internal_slot() end function invent_6_stack() modem.broadcast(port, "drone.select(6)") slot_plus=6 invent_stack_choosen(picinventplusstack, 2, 3, 10, 6) get_stack_in_internal_slot() end function invent_7_stack() modem.broadcast(port, "drone.select(7)") slot_plus=7 invent_stack_choosen(picinventplusstack, 2, 3, 10, 6) get_stack_in_internal_slot() end function invent_8_stack() modem.broadcast(port, "drone.select(8)") slot_plus=8 invent_stack_choosen(picinventplusstack, 2, 3, 10, 6) get_stack_in_internal_slot() end function stack_count() term.setCursor(13, 23) gpu.set(13, 23, " ") stackcount=io.read() gpu.set(13, 23, stackcount) end function suck_from_slot() if slotnumber == nil then gpu.set(1, 16, 'Выберите слот инвентаря') elseif slotnumber ~= nil and stackcount == nil then modem.broadcast(port, "invcontr.suckFromSlot("..tostring(droneside)..", "..slotnumber..")") elseif slotnumber ~= nil and stackcount ~= nil then modem.broadcast(port, "invcontr.suckFromSlot("..tostring(droneside)..", "..slotnumber..", "..stackcount..")") end stackcount=nil get_stack_in_internal_slot() get_slot_stack_additional() end function drop_into_slot() if slotnumber == nil then gpu.set(1, 16, 'Выберите слот инвентаря') elseif slotnumber ~= nil and stackcount == nil then modem.broadcast(port, "invcontr.dropIntoSlot("..tostring(droneside)..", "..slotnumber..")") elseif slotnumber ~= nil and stackcount ~= nil then modem.broadcast(port, "invcontr.dropIntoSlot("..tostring(droneside)..", "..slotnumber..", "..stackcount..")") end stackcount=nil get_stack_in_internal_slot() get_slot_stack_additional() end function drone_generator() activatormain=false activatordrone_generator=true gpu.set(1, 11, 'Слот дрона:') if slot_invent_count == 8 then for i=5, 12 do picdrone_generator[i].active=true end elseif slot_invent_count == 4 then for i=5, 8 do picdrone_generator[i].active=true end end term.clear() while activatordrone_generator do buttons(picdrone_generator) search(picdrone_generator) end end function drone_generator_exit() activatordrone_generator=false activatormain=true interface() end function invent_1_generator() modem.broadcast(port, "drone.select(1)") slot_plus=1 invent_stack_choosen(picdrone_generator, 4, 5, 12, 8) end function invent_2_generator() modem.broadcast(port, "drone.select(2)") slot_plus=2 invent_stack_choosen(picdrone_generator, 4, 5, 12, 8) end function invent_3_generator() modem.broadcast(port, "drone.select(3)") slot_plus=3 invent_stack_choosen(picdrone_generator, 4, 5, 12, 8) end function invent_4_generator() modem.broadcast(port, "drone.select(4)") slot_plus=4 invent_stack_choosen(picdrone_generator, 4, 5, 12, 8) end function invent_5_generator() modem.broadcast(port, "drone.select(5)") slot_plus=5 invent_stack_choosen(picdrone_generator, 4, 5, 12, 8) end function invent_6_generator() modem.broadcast(port, "drone.select(6)") slot_plus=6 invent_stack_choosen(picdrone_generator, 4, 5, 12, 8) end function invent_7_generator() modem.broadcast(port, "drone.select(7)") slot_plus=7 invent_stack_choosen(picdrone_generator, 4, 5, 12, 8) end function invent_8_generator() modem.broadcast(port, "drone.select(8)") slot_plus=8 invent_stack_choosen(picdrone_generator, 4, 5, 12, 8) end function drone_generator_count() gpu.set(13, 5, " ") modem.broadcast(port, "generatorcount=generator.count() modem.broadcast(467, generatorcount)") local _,_,_,_,_,dronegeneratorcount=event.pull("modem") gpu.set(13, 5, tostring(dronegeneratorcount)) end function drone_generator_insert() gpu.set(13, 7, " ") modem.broadcast(port, "if generator.insert() == true then modem.broadcast(467, 'Успешно') else modem.broadcast(467, 'Неуспешно') end") local _,_,_,_,_,dronegeneratorcount=event.pull("modem") gpu.set(13, 7, dronegeneratorcount) end function drone_generator_remove() gpu.set(13, 9, " ") modem.broadcast(port, "if generator.remove() == true then modem.broadcast(467, 'Успешно') else modem.broadcast(467, 'Неуспешно') end") local _,_,_,_,_,dronegeneratorremove=event.pull("modem") gpu.set(13, 9, dronegeneratorremove) end --term.clear() --button(10, 10, initialization, 0xFFFF00, 0x00FFFF) --local _, _, x, y = event.pull("touch") --if y>=10 and y<=13 then --initialize() --modem.broadcast(port, "modem=component.proxy(component.list('modem')())") --modem.broadcast(port, "computer.pullSignal(5) for k,v in component.list() do modem.broadcast(467, v) end") --while true do --local _,_,_,_,_,message=event.pull("modem") --table.insert(a, message) --for j=1, #a do print(a[j]) end --end --end pic={{x=1,y=2,h=3,text='Инициализация',func=initialize,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=78,y=1,h=1,text='X',func=quit,active=true,lang='eng',color1=0xFF0000,color2=0x333333}, {x=50,y=3,h=1,text='Вперёд',func=forward,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=50,y=9,h=1,text='Назад',func=back,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=40,y=6,h=1,text='Налево',func=left,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=60,y=6,h=1,text='Направо',func=right,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=70,y=3,h=1,text='Вверх',func=up,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=70,y=9,h=1,text='Вниз',func=down,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=2,h=3,text='Инициализировано',func=initialize_done,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=23,h=1,text='Инвентарь',func=invent,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=12,y=23,h=1,text='+',func=invent_plus,active=flase,lang='eng',color1=0x0000FF,color2=0x00FF00}, {x=1,y=24,h=1,text='[1]',func=invent_1,active=false,lang='eng',color1=0x00FF00,color2=0x555555}, {x=6,y=24,h=1,text='[2]',func=invent_2,active=false,lang='eng',color1=0x00FF00,color2=0x999999}, {x=11,y=24,h=1,text='[3]',func=invent_3,active=false,lang='eng',color1=0x00FF00,color2=0x555555}, {x=16,y=24,h=1,text='[4]',func=invent_4,active=false,lang='eng',color1=0x00FF00,color2=0x999999}, {x=22,y=24,h=1,text='N',func=swingNorth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=22,y=25,h=1,text='S',func=swingSouth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=26,y=24,h=1,text='E',func=swingEast,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=26,y=25,h=1,text='W',func=swingWest,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=30,y=24,h=1,text='U',func=swing_up,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=30,y=25,h=1,text='D',func=swing_down,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=35,y=24,h=1,text='N',func=placeNorth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=35,y=25,h=1,text='S',func=placeSouth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=39,y=24,h=1,text='E',func=placeEast,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=39,y=25,h=1,text='W',func=placeWest,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=43,y=24,h=1,text='U',func=place_up,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=43,y=25,h=1,text='D',func=place_down,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=1,y=25,h=1,text='[5]',func=invent_5,active=false,lang='eng',color1=0x00FF00,color2=0x555555}, {x=6,y=25,h=1,text='[6]',func=invent_6,active=false,lang='eng',color1=0x00FF00,color2=0x999999}, {x=11,y=25,h=1,text='[7]',func=invent_7,active=false,lang='eng',color1=0x00FF00,color2=0x555555}, {x=16,y=25,h=1,text='[8]',func=invent_8,active=false,lang='eng',color1=0x00FF00,color2=0x999999}, {x=1,y=20,h=1,text='Цистерны',func=tank,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=11,y=20,h=1,text='+',func=tank_plus,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=1,y=21,h=1,text='[1]',func=tank_1,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=18,y=20,h=1,text='N',func=drainNorth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=18,y=21,h=1,text='S',func=drainSouth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=22,y=20,h=1,text='E',func=drainEast,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=22,y=21,h=1,text='W',func=drainWest,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=26,y=20,h=1,text='U',func=drain_up,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=26,y=21,h=1,text='D',func=drain_down,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=31,y=20,h=1,text='N',func=fillNorth,active=flase,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=31,y=21,h=1,text='S',func=fillSouth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=35,y=20,h=1,text='E',func=fillEast,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=35,y=21,h=1,text='W',func=fillWest,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=39,y=20,h=1,text='U',func=fill_up,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=39,y=21,h=1,text='D',func=fill_down,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=6,y=21,h=1,text='[2]',func=tank_2,active=false,lang='eng',color1=0x000000,color2=0x999999}, {x=11,y=21,h=1,text='[3]',func=tank_3,active=false,lang='eng',color1=0x000000,color2=0x555555}, {x=50,y=12,h=1,text='N',func=useNorth,active=true,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=50,y=13,h=1,text='S',func=useSouth,active=true,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=54,y=12,h=1,text='E',func=useEast,active=true,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=54,y=13,h=1,text='W',func=useWest,active=true,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=58,y=12,h=1,text='U',func=use_up,active=true,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=58,y=13,h=1,text='D',func=use_down,active=true,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=50,y=24,h=1,text='N',func=dropNorth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=50,y=25,h=1,text='S',func=dropSouth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=54,y=24,h=1,text='E',func=dropEast,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=54,y=25,h=1,text='W',func=dropWest,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=58,y=24,h=1,text='U',func=drop_up,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=58,y=25,h=1,text='D',func=drop_down,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=63,y=24,h=1,text='N',func=suckNorth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=63,y=25,h=1,text='S',func=suckSouth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=67,y=24,h=1,text='E',func=suckEast,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=67,y=25,h=1,text='W',func=suckWest,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=71,y=24,h=1,text='U',func=suck_up,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=71,y=25,h=1,text='D',func=suck_down,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=45,y=20,h=1,text='Стыковка',func=docking,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=45,y=21,h=1,text='^',func=undocking,active=false,lang='rus',color1=0xFFFFFF,color2=0x0000FF}, {x=48,y=21,h=1,text='Сброс',func=drop_Items,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=65,y=15,h=1,text='Redstone',func=redstone_activate,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=65,y=15,h=1,text='Redstone',func=redstone_deactivate,active=false,lang='eng',color1=0x000000,color2=0xFF0000}, {x=65,y=16,h=1,text='N',func=redstone_north_1,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=65,y=16,h=1,text='N',func=redstone_north_0,active=false,lang='eng',color1=0x000000,color2=0xFF0000}, {x=68,y=16,h=1,text='S',func=redstone_south_1,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=68,y=16,h=1,text='S',func=redstone_south_0,active=false,lang='eng',color1=0x000000,color2=0xFF0000}, {x=71,y=16,h=1,text='E',func=redstone_east_1,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=71,y=16,h=1,text='E',func=redstone_east_0,active=false,lang='eng',color1=0x000000,color2=0xFF0000}, {x=74,y=16,h=1,text='W',func=redstone_west_1,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=74,y=16,h=1,text='W',func=redstone_west_0,active=false,lang='eng',color1=0x000000,color2=0xFF0000}, {x=65,y=17,h=1,text='U',func=redstone_up_1,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=65,y=17,h=1,text='U',func=redstone_up_0,active=false,lang='eng',color1=0x000000,color2=0xFF0000}, {x=68,y=17,h=1,text='D',func=redstone_down_1,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=68,y=17,h=1,text='D',func=redstone_down_0,active=false,lang='eng',color1=0x000000,color2=0xFF0000}, {x=1,y=18,h=1,text='Луч захвата',func=tractorBeam,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=15,h=1,text='Лассо',func=leash_active,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=8,y=15,h=1,text='-',func=leash_deactive,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=1,y=16,h=1,text='↑',func=leash_leash,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=8,y=16,h=1,text='↓',func=leash_uleash,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=1,y=13,h=1,text='Табличка',func=sign_active,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=9,y=8,h=1,text='pN',func=pistonNorth,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=9,y=9,h=1,text='pS',func=pistonSouth,active=flase,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=13,y=8,h=1,text='pE',func=pistonEast,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=13,y=9,h=1,text='pW',func=pistonWest,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=17,y=8,h=1,text='pU',func=piston_up,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=17,y=9,h=1,text='pD',func=piston_down,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=1,y=6,h=1,text='Генератор',func=drone_generator,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF} } picinv={{x=76,y=1,h=1,text='X',func=invent_exit,active=true,lang='eng',color1=0xFF0000,color2=0x333333} } picsign={{x=1,y=10,h=1,text='Север',func=north,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=11,h=1,text='Юг',func=south,active=false,lang='rus',color1=0xFFFFFF,color2=0x000000}, {x=1,y=12,h=1,text='Восток',func=east,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=13,h=1,text='Запад',func=west,active=false,lang='rus',color1=0xFFFFFF,color2=0x000000}, {x=1,y=14,h=1,text='Верх',func=sign_up,active=false,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=15,h=1,text='Низ',func=sign_down,active=false,lang='rus',color1=0xFFFFFF,color2=0x000000}, {x=1,y=16,h=1,text='Написать',func=sign_write,active=true,lang='rus',color1=0x0000FF,color2=0x333333}, {x=1,y=17,h=1,text='Прочитать',func=sign_read,active=true,lang='rus',color1=0xFF00FF,color2=0x0000FF}, {x=13,y=1,h=1,text='X',func=sign_exit,active=true,lang='eng',color1=0xFF0000,color2=0x333333} } picinventplus={{x=77,y=1,h=1,text='X',func=invent_plus_exit,active=true,lang='eng',color1=0xFF0000,color2=0x333333}, {x=1,y=19,h=1,text='Север',func=north,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=20,h=1,text='Юг',func=south,active=true,lang='rus',color1=0xFFFFFF,color2=0x000000}, {x=1,y=21,h=1,text='Восток',func=east,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=22,h=1,text='Запад',func=west,active=true,lang='rus',color1=0xFFFFFF,color2=0x000000}, {x=1,y=23,h=1,text='Верх',func=side_up,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=24,h=1,text='Низ',func=side_down,active=true,lang='rus',color1=0xFFFFFF,color2=0x000000}, {x=14,y=2,h=1,text='Получить',func=invent_plus_get,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=22,y=3,h=1,text='North',func=get_stack_in_slot_north,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=22,y=4,h=1,text='South',func=get_stack_in_slot_south,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=22,y=5,h=1,text='East',func=get_stack_in_slot_east,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=22,y=6,h=1,text='West',func=get_stack_in_slot_west,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=22,y=7,h=1,text='Inventory_up',func=get_stack_in_slot_up,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=22,y=8,h=1,text='Inventory_down',func=get_stack_in_slot_down,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=1,y=13,h=1,text='Подробнее',func=get_stack_internal,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF} } picinventplusstack={{x=76,y=1,h=1,text='X',func=get_stack_in_slot_exit,active=true,lang='eng',color1=0xFF0000,color2=0x333333}, {x=31,y=1,h=1,text=' ',func=get_stack_in_slot_run,active=true,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=1,y=11,h=1,text='[1]',func=invent_1_stack,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=6,y=11,h=1,text='[2]',func=invent_2_stack,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=11,y=11,h=1,text='[3]',func=invent_3_stack,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=16,y=11,h=1,text='[4]',func=invent_4_stack,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=21,y=11,h=1,text='[5]',func=invent_5_stack,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=26,y=11,h=1,text='[6]',func=invent_6_stack,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=31,y=11,h=1,text='[7]',func=invent_7_stack,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=36,y=11,h=1,text='[8]',func=invent_8_stack,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=1,y=19,h=1,text='ЗабратьИзИнвентаря',func=suck_from_slot,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=21,h=1,text='ПереместитьВИнвентарь',func=drop_into_slot,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=23,h=1,text='Количетсво',func=stack_count,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF} } picdrone_generator={{x=76,y=1,h=1,text='X',func=drone_generator_exit,active=true,lang='eng',color1=0xFF0000,color2=0x333333}, {x=1,y=5,h=1,text='Количество',func=drone_generator_count,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=7,h=1,text='Поместить',func=drone_generator_insert,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=9,h=1,text='Забрать',func=drone_generator_remove,active=true,lang='rus',color1=0x000000,color2=0xFFFFFF}, {x=1,y=13,h=1,text='[1]',func=invent_1_generator,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=6,y=13,h=1,text='[2]',func=invent_2_generator,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=11,y=13,h=1,text='[3]',func=invent_3_generator,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=16,y=13,h=1,text='[4]',func=invent_4_generator,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=21,y=13,h=1,text='[5]',func=invent_5_generator,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=26,y=13,h=1,text='[6]',func=invent_6_generator,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000}, {x=31,y=13,h=1,text='[7]',func=invent_7_generator,active=false,lang='eng',color1=0x000000,color2=0xFFFFFF}, {x=36,y=13,h=1,text='[8]',func=invent_8_generator,active=false,lang='eng',color1=0xFFFFFF,color2=0x000000} } --buttons(pic) function search(pic) local event,_,x,y=event.pull(0.5) if event == 'touch' then for k,v in pairs(pic) do if v.h == 1 then if (x>=v.x and x=v.x and x=v.y-1 and y