-10k-

Untitled

Jan 24th, 2020 (edited)
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. function FindOrEnterVar(FileName,Stri)
  2. local file = fs.open(FileName, "r")
  3. if not file then
  4. printError("No "..Stri.." found please enter "..Stri)
  5. Return = read()
  6. local file = fs.open(FileName, "w")
  7. file.write(Return)
  8. file.close()
  9. else
  10. Return = file.readAll()
  11. file.close()
  12. end
  13. return Return
  14. end
  15.  
  16. local GPSFreq = textutils.unserialise(FindOrEnterVar("GPSFreq.txt","GPS frequency 0-65535"))
  17.  
  18. local Modem = peripheral.find("modem")
  19. if not Modem then
  20. printError("No modem found")
  21. return false
  22. end
  23.  
  24. Modem.open(GPSFreq)
  25. if not Modem.isOpen(GPSFreq) then
  26. printError("Cound not open gps freq")
  27. return false
  28. end
  29.  
  30. local Pos
  31. local file = fs.open("Location.txt", "r")
  32. if not file then
  33. printError("No cords found")
  34. local Return = {}
  35. for _,v in pairs({"x","y","z"}) do
  36. print("Enter "..v)
  37. Return[v] = read()
  38. end
  39. Pos = textutils.serialise(Return)
  40. local file = fs.open("Location.txt", "w")
  41. file.write(Pos)
  42. file.close()
  43. os.reboot()
  44. else
  45. Pos = textutils.unserialise(file.readAll())
  46. file.close()
  47. end
  48.  
  49. local function UpdateTerm()
  50. term.clear()
  51. term.setCursorPos(1,1)
  52. print(textutils.serialise(Pos))
  53. print("Serviced :"..tostring(Pings))
  54. end
  55.  
  56. local Data = {["op"] = "GPS CheckBack", ["d"] = Pos, ["Dest"] = -1, ["SID"] = MYID}
  57. local Pinges = 0
  58. UpdateTerm()
  59.  
  60. while true do
  61. local _,side,sender,reply,msg,distance = os.pullEvent("modem_message")
  62. local Tab = textutils.unserialise(msg)
  63.  
  64. if (type(Tab) == "table") then
  65. if (Tab.op) then
  66. if (Tab.op == "location_ping") then
  67. Data.Dest = Tab.SID
  68. Pinges=Pinges+1
  69. UpdateTerm()
  70. Modem.transmit(reply,GPSFreq,textutils.serialise(Data))
  71. end
  72. if (Tab.op == "GPS REBOOT") then
  73. fs.delete("startup.lua")
  74. print("rebooting")
  75. sleep(random(1,10))
  76. shell.run("pastebin","get","0J2LPAQm","startup.lua")
  77. os.reboot()
  78. end
  79. end
  80. end
  81. end
  82.  
Add Comment
Please, Sign In to add comment