MinecraftFarms12

Anonomit's Log Program Edited By Me

Mar 11th, 2013
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.99 KB | None | 0 0
  1. --Log V1.0 program made by Anonomit
  2. -- Edited By MinecraftFarms12
  3. -- All Creadit Goes To Anonomit
  4.  
  5.  
  6. term.clear()
  7. term.setCursorPos( 1, 1 )
  8.  
  9. for i, side in ipairs( rs.getSides() ) do
  10.         if peripheral.isPresent("back") then
  11.                 if peripheral.getType("back") == "modem" then
  12.                         break --for _, side in ipairs( rs.getSides() )
  13.                 end --if peripheral.getType( back ) == "modem"
  14.         end --if peripheral.isPresent( side )
  15.         if i == #rs.getSides() then
  16.                 print( "No Modem Attached" )
  17.                 sleep( 1 )
  18.                 shell.exit()
  19.         end --if i == #rs.getSides()
  20. end --for i, side in ipairs( rs.getSides() )
  21.  
  22. for _, side in pairs( rs.getSides() ) do
  23.         rednet.open("back")
  24. end --for _, side in pairs( rs.getSides() )
  25.  
  26. local function round( _number, _dp)
  27.         local nMultiple = 10^( _dp or 0 )
  28.         return math.floor( _number * nMultiple + 0.5 ) / nMultiple
  29. end --local function round( _number, _dp )
  30.  
  31. local tArgs = { ... }
  32. if tArgs[1] == "recreate" then
  33.         if fs.exists( "logSettings" ) then
  34.                 fs.delete( "logSettings" )
  35.         end --if fs.exists( "logSettings" )
  36. end --if tArgs[1] == "recreate"
  37. local nBroadcastID
  38. local xTerm, yTerm = term.getSize()
  39. term.clear()
  40.  
  41. if fs.exists( "logSettings" ) then
  42.        
  43.         local file = fs.open( "logSettings", "r" )
  44.         nBroadcastID = tonumber( file.readLine() )
  45.         file.close()
  46.        
  47. else --fs.exists( "logSettings" )
  48.        
  49.         local xCursorPos, yCursorPos = term.getCursorPos()
  50.         while nBroadcastID == nil do
  51.                
  52.                 term.clear()
  53.                 term.setCursorPos( 1, 1 )
  54.                 print( "Log" )
  55.                 for i = 1, xTerm - 1 do
  56.                         write( "~" )
  57.                 end --for i = 1, xTerm - 1
  58.                 term.setCursorPos( 1, 3 )
  59.                 rednet.broadcast( "broadcastPing" )
  60.                 local param1, param2, param3 = rednet.receive( 0.1 )
  61.                 if param2 then
  62.                         term.setCursorPos( xCursorPos, yCursorPos + 1 )
  63.                         term.clearLine()
  64.                         write( ">Broadcast Console #" .. param1 .. " is " .. round( param3, 0 ) .. " away" )
  65.                 else --param2
  66.                         write( ">No Broadcast Consoles Found Nearby" )
  67.                 end --if param2
  68.                 term.setCursorPos( xCursorPos, yCursorPos )
  69.                 term.clearLine()
  70.                 write( "Broadcast Console ID: " )
  71.                 nBroadcastID = tonumber( read() )
  72.                 if nBroadcastID == nil then
  73.                         write( "Invalid Value" )
  74.                         sleep( 0.5 )
  75.                         term.clearLine()
  76.                 elseif nBroadcastID < 0 then
  77.                         write( "Invalid Value" )
  78.                         sleep( 0.5 )
  79.                         term.clearLine()
  80.                         nBroadcastID = nil
  81.                 else --nBroadcastID == nil
  82.                         rednet.send( nBroadcastID, "broadcastPing" )
  83.                         local param1, param2, param3 = rednet.receive( 0.1 )
  84.                         if param2 == "broadcastPong" then
  85.                                 local file = fs.open( "logSettings", "w" )
  86.                                 file.write( tostring( param1 ) )
  87.                                 file.close()
  88.                         else --if param2 == "logPong"
  89.                         term.clearLine()
  90.                         write( "No Response" )
  91.                         sleep( 1 )
  92.                         term.clearLine()
  93.                         nBroadcastID = nil
  94.                         end --if param2 ~= "logPong"
  95.                 end --if nBroadcastID == nil
  96.         end --while nBroadcastID == nil
  97.         term.clearLine()
  98.        
  99. end --if fs.exists( "logSettings" )
  100.  
  101. rednet.send( nBroadcastID, "loggerRequestStart" )
  102.  
  103.  
  104. local loggerDoneLogging = 0
  105. local loggerLogging = 0
  106. local loggerLowSaplings = 0
  107. local loggerNoSaplings = 0
  108.  
  109. term.clear()
  110. term.setCursorPos( 1, 1 )
  111. print( "Log" )
  112. for i = 1, xTerm - 1 do
  113.         write( "~" )
  114. end --for i = 1, xTerm - 1
  115. term.setCursorPos( 1, 3 )
  116.  
  117. local param1, param2, param3 = rednet.receive( 0.1 )
  118. if param2 then
  119.         for id, state in pairs( textutils.unserialize( param2 ) ) do
  120.                 if state == "loggerDoneLogging" then
  121.                         loggerDoneLogging = loggerDoneLogging + 1
  122.                 elseif state == "loggerLogging" then
  123.                         loggerLogging = loggerLogging + 1
  124.                 elseif state == "loggerLowSaplings" then
  125.                         loggerLowSaplings = loggerLowSaplings + 1
  126.                 elseif state == "loggerNoSaplings" then
  127.                         loggerNoSaplings = loggerNoSaplings + 1
  128.                 end --if state == "loggerDoneLogging"
  129.         end --for id, state in pairs( textutils.unserialize( param2 ) )
  130.         if loggerLogging > 0 or loggerLowSaplings > 0 or loggerNoSaplings > 0 then
  131.                 print( ( loggerDoneLogging == 0 and "No" or loggerDoneLogging ) .. ( loggerDoneLogging == 1 and " logger has" or " loggers have" ) .. " finished." )
  132.                 if loggerLowSaplings > 0 then
  133.                         print( loggerLowSaplings .. ( loggerLowSaplings == 1 and " logger is" or " loggers are" ) .. " low on saplings." )
  134.                 end --if loggerLowSaplings > 0
  135.                 if loggerNoSaplings > 0 then
  136.                         print( loggerNoSaplings .. ( loggerNoSaplings == 1 and " logger has" or " loggers have" ) .. " no saplings." )
  137.                 end --if loggerNoSaplings > 0
  138.         else --loggerLogging > 0 or loggerLowSaplings > 0 or loggerNoSaplings > 0
  139.                 print( "Logging Started" )
  140.         end --if loggerLogging > 0 or loggerLowSaplings > 0 or loggerNoSaplings > 0
  141. else --param2
  142.         print( "No Response" )
  143.         print( "Use '" .. shell.getRunningProgram() .. " recreate' to change broadcast console ID" )
  144. end --if param2
Advertisement
Add Comment
Please, Sign In to add comment