Advertisement
guitarplayer616

Schematic Turtle Setup WORKING

Dec 18th, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.61 KB | None | 0 0
  1. if turtle.getFuelLevel() == 0 then
  2.         print("No Fuel")
  3.         error()
  4. elseif turtle.getFuelLevel() < 300 then
  5.         print("Low Fuel")
  6.         error()
  7. end
  8.  
  9. if fs.exists("schemAPI") then
  10.         fs.delete("schemAPI")
  11. end
  12. shell.run("pastebin get 8JvHwrmJ schemAPI")    
  13.  
  14.  
  15. function gpsSetup()
  16.     if gps.locate() then
  17.         gpsi = true
  18.         origDir = calibrateDir()
  19.         local h,k,l = gps.locate()
  20.         local k = k + 1
  21.         Hoff,Koff,Loff = h,k,l
  22.         Hoff = math.floor(Hoff)
  23.         Koff = math.floor(Koff)
  24.         Loff = math.floor(Loff)
  25.     else
  26.         origDir = "south"
  27.     end
  28. end
  29.  
  30.  
  31. function copySetupVars()
  32.         local h = fs.open("reference",'w')
  33.         h.writeLine("slots = {}")
  34.         h.writeLine("filename = ".."\""..tostring(filename).."\"")
  35.         for i,v in pairs(slots) do
  36.                 h.writeLine("slots\["..i.."\] = {}")
  37.                 for i2,v2 in pairs(v) do
  38.                         h.writeLine("slots\["..i.."\]\["..i2.."\] = {}")
  39.                         for i3,v3 in pairs(v2) do
  40.                                 h.writeLine("slots\["..i.."\]\["..i2.."\]\["..i3.."\] = "..tostring(v3))
  41.                         end
  42.                 end
  43.         end
  44.         h.writeLine("invList = {}")
  45.         for i,v in pairs(invList) do
  46.                 h.writeLine("invList\["..i.."\] = {}")
  47.                 for i2,v2 in pairs(v) do
  48.                         h.writeLine("invList\["..i.."\]\[".."\""..i2.."\"".."\] = "..tostring(v2))
  49.                 end
  50.         end
  51.         h.writeLine("height = "..tostring(height))
  52.         h.writeLine("width = "..tostring(width))
  53.         h.writeLine("length = "..tostring(length))
  54.         h.writeLine("chestOrder = "..tostring(chestOrder))
  55.         h.writeLine("enderchest1 = "..tostring(enderchest1))
  56.         h.writeLine("enderchest2 = "..tostring(enderchest2))
  57.         h.writeLine("origDir = ".."\""..tostring(origDir).."\"")
  58.         h.writeLine("Hoff, Koff, Loff = "..tostring(Hoff)..", "..tostring(Koff)..", "..tostring(Loff))
  59.         h.writeLine("blocks = {}")
  60.         for i,v in pairs(blocks) do
  61.                 h.writeLine("blocks\["..i.."\] = "..tostring(v))
  62.         end
  63.  
  64.         h.writeLine("data = {}")
  65.         for i,v in pairs(data) do
  66.                 h.writeLine("data\["..i.."\] = "..tostring(v))
  67.         end
  68.      
  69.         h.close()
  70. end
  71.  
  72. if not fs.exists("reference") then
  73.     if fs.exists("position") then
  74.         fs.delete("position")
  75.     end
  76.     if fs.exists("objective") then
  77.         fs.delete("objective")
  78.     end
  79.         shell.run("schemAPI")
  80.         heightPos = -1
  81.         widthPos = 0
  82.         lengthPos = 0
  83.         face = "south"
  84.         x = 0
  85.         y = 0
  86.         z = 0
  87.         enderchest1 = 15
  88.         enderchest2 = 16
  89.         chestOrder = 1
  90.         blocks = {}
  91.         data = {}
  92.         openRednet()
  93.         gpsSetup()
  94.         tArgs = {...}
  95.         if #tArgs ~= 1 then
  96.                 print("Usage: schemSetup <gunzipped schematic file>")
  97.                 return
  98.         end
  99.  
  100.         filename = tArgs[1]
  101.  
  102.         if not fs.exists(filename) then
  103.                 print("File does not exist.")
  104.                 return
  105.         end
  106.  
  107.         handle = fs.open(filename, "rb")
  108.  
  109.         setup()
  110.         copySetupVars()
  111. end
  112.  
  113. if tArgs then
  114.     recordPos(-1,0,0,"south")
  115.     recordObj(x,y,z)
  116. else
  117.     shell.run("reference")
  118.     shell.run("position")
  119.     shell.run("objective")
  120. end
  121.  
  122. local h = fs.open("startup","w")
  123. h.write([[
  124. shell.run("reference")
  125. shell.run("schemAPI")
  126. openRednet()
  127. checkIfRefill()
  128. if gps.locate() then
  129.     gpsi = true
  130. else
  131.     gpsi = false
  132. end
  133. resynchronize()
  134. autorun()
  135. ]])
  136. h.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement