Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ienergylevel=0
- net = peripheral.wrap("back")
- nmonitor = peripheral.wrap("left")
- ienergymax = 1990000
- imonitorx = 0
- imonitory = 0
- netitems = peripheral.getNames()
- index = 0
- names = ""
- lavalevel= 0
- ienergypercentage = 0
- ilavapercentage = 0
- contador1 = 0
- contador2 = 0
- contador3 = 0
- engines = {}
- drums = {}
- cells = {}
- function initializate()
- for index,names in pairs(netitems) do
- if(string.find(names,"drum")) then
- drums [contador1]= names
- contador1 = contador1 + 1
- elseif(string.find(names,"cell")) then
- cells [contador2]= names
- contador2 = contador2 + 1
- elseif(string.find(names,"dynamo")) then
- engines[contador3]=names
- contador3 = contador3 + 1
- end
- end
- nmonitor.clear()
- nmonitor.setTextScale(2)
- imonitorx,imonitory =nmonitor.getSize()
- end
- function getvalues()
- lavalevel = 0
- for index,names in pairs(drums) do
- if nil ~= net.callRemote(names,"getTankInfo")[1].contents then
- lavalevel = lavalevel + net.callRemote(names,"getTankInfo")[1].contents.amount
- end
- end
- for index,names in pairs(cells) do
- ienergylevel = net.callRemote(names,"getEnergyStored")
- end
- ienergypercentage = math.floor((ienergylevel*100)/ienergymax)
- ilavapercentage = math.floor((lavalevel*100)/((contador1+1)*256000))
- end
- function enginecontrol(control)
- if control then
- for index,names in pairs(engines) do
- net.callRemote(names,"setRedstoneControl","DISABLED")
- end
- else
- for index,names in pairs(engines) do
- net.callRemote(names,"setRedstoneControl","High")
- end
- end
- end
- function mastercontrol()
- if (ienergylevel<ienergymax and ilavapercentage>=10 ) then
- enginecontrol(true)
- print("Nivel de energia: ",ienergylevel)
- print("Nivel de lava: ",lavalevel)
- else
- enginecontrol(false)
- print("Nivel de energia: ",ienergylevel)
- print("Nivel de lava: ",lavalevel)
- end
- end
- function monitor()
- buffer = "Energy Level: " .. tostring(ienergypercentage) .. "%"
- nmonitor.setCursorPos((imonitorx/2)-(string.len(buffer)/2)+2,(imonitory/2)-1)
- nmonitor.write(buffer)
- buffer = "Lava Level: " .. tostring(ilavapercentage) .. "%"
- nmonitor.setCursorPos((imonitorx/2)-(string.len(buffer)/2)+2,(imonitory/2)+1)
- nmonitor.write(buffer)
- end
- initializate()
- while(true) do
- sleep(.1)
- getvalues()
- mastercontrol()
- monitor()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement