Advertisement
Marlingaming

CC Tweaked Turtle Slaved Os

Feb 25th, 2022 (edited)
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. peripheral.find("modem",rednet.open)
  2. local Protocol = "0000"
  3. local DirectorId = 0
  4. local Other = nil
  5. local ChargeCords = {}
  6.  
  7. function Boot()
  8. local file = fs.open("os/SystemFiles/Turtle.txt","r")
  9. Protocol = file.readLine()
  10. DirectorId = file.readLine()
  11. ChargeCords = textutils.unserialize(file.readLine())
  12. file.close()
  13. end
  14.  
  15. function Setup()
  16. local Folders = {"os","os/SystemFiles"}
  17. for i = 1, #Folders do
  18. if fs.exists(Folders[i]) then
  19.  
  20. else
  21. fs.makeDir(Folders[i])
  22. end
  23. end
  24. if fs.exists("os/SystemFiles/Turtle.txt") then
  25.  
  26. else
  27. Ex = {1,2,3}
  28. local file = fs.open("os/SystemFiles/Turtle.txt","w"(
  29. file.writeLine("Protocol")
  30. file.writeLine("Director id")
  31. file.writeLine(textutils.serialize(Ex,{compact = true})
  32. file.close()
  33. end
  34. exit()
  35. end
  36.  
  37. function Main()
  38. while true do
  39. local id, message = rednet.receive(Protocol)
  40. if id == DirectorId then
  41. local Directive = textutils.unserialize(message)
  42. shell.run("Mover",Directive[1],Directive[2],Directive[3],Directive[4])
  43. if Directive[5] == "shutdown" then
  44. break
  45. elseif Directive[5] == "take" then
  46. turtle.suck(Directive[6])
  47. elseif Directive[5] == "activate" then
  48. peripherals.find(Directive[6],Directive[7])
  49. elseif Directive[5] == "deposit" then
  50. turtle.select(Directive[6])
  51. turtle.drop(Directive[7])
  52. elseif Other ~= nil then
  53. shell.run(Other,Directive)
  54. end
  55. end
  56. rednet.send(DirectorId,"standby")
  57. end
  58. os.shutdown()
  59. end
  60.  
  61. if fs.exists("os/SystemFiles/Turtle.txt") then
  62. Boot()
  63. if Other ~= nil then
  64. shell.run(Other,"Start")
  65. end
  66. Main()
  67. else
  68. Setup()
  69. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement