oldnewbie

CasesMaker

Mar 13th, 2018
104
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local component = require("component")
  2. local fs = require("filesystem")
  3. local transposer = component.transposer
  4. local pathToCase
  5. local case = 1
  6. local path
  7. local file
  8. --создаем дерикторию с датой
  9. local function makeDirectoryCases()
  10.     --получаем дату(спасибо Fingercomp)
  11.     io.open("/tmp/time", "w"):close()
  12.     local time = fs.lastModified("/tmp/time")
  13.     fs.remove("/tmp/time")
  14.     local mTime = os.date("%Y_%m_%d_%H_%M_%S", math.floor(time/1000))
  15.  
  16.     path = "home/cases_"..mTime
  17.     fs.makeDirectory(path)
  18.     print("Папка с кейсами создана по пути: "..path)
  19. end
  20. --Создаем кейс
  21. local function createCaseFile()
  22.         -- fs.makeDirectory(fs.path(pathToCase))
  23.         file = io.open(pathToCase, "w")
  24.         print("Кейс номер "..case.. " создан по пути: "..pathToCase)
  25. end
  26. --Пушим в кейс предметы
  27. local function addItems(ci)
  28.     file:write(ci)
  29. end
  30. --Работаем с траспозерами
  31. local function transposers()
  32.     makeDirectoryCases()
  33.     for addr in component.list("transposer") do
  34.     local proxy = component.proxy(addr)
  35.         for i=0, 5 do
  36.             if nil ~= proxy.getInventorySize(i) then
  37.                 local size = proxy.getInventorySize(i)
  38.                 pathToCase = "/"..path..'/case_'..case..'.dat'
  39.                 createCaseFile()
  40.                 for a=1, size do
  41.                     if nil ~= proxy.getStackInSlot(i,a) then
  42.                         local temp = proxy.getStackInSlot(i,a)
  43.                         local name = temp.label
  44.                         local id
  45.                             if temp.damage > 0 then
  46.                                 id = temp.name..":"..temp.damage
  47.                             else
  48.                                 id = temp.name
  49.                             end
  50.                         local caseInfo = '"'..id..'" : {"name" : "'..name..'", "min" : 1, "max" : 1, "fortune" : 0.5}, \n'
  51.                         addItems(caseInfo)
  52.                     end
  53.                 end
  54.                 file:close()
  55.                 case = case + 1
  56.             end
  57.         end
  58.     end
  59.     print("Операция завершена, наслаждайтесь кейсами,")
  60.     print("только не забудьте удалить запятую в последней строке")
  61.  
  62. end
  63. --Запуск
  64. transposers()
RAW Paste Data