From 4dab1bd9b6001ffe9d5b4f5b287d7e0d75a17328 Mon Sep 17 00:00:00 2001 From: Kevin Lyles Date: Sat, 3 Jul 2010 23:04:54 -0500 Subject: [PATCH] Added get-live-data.lua to get the data --- get-live-data.lua | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 get-live-data.lua diff --git a/get-live-data.lua b/get-live-data.lua new file mode 100644 index 0000000..b3322df --- /dev/null +++ b/get-live-data.lua @@ -0,0 +1,75 @@ +loadfile(...)() + +loadfile("sort.lua")() + +local tbl = { + ["^item:%d%d?%d?:0:0:0:0:0:0:0:"] = "00000_00999", +} +for i = 1, 99 do + local padded = string.sub("00" .. i, -2) + tbl["^item:" .. i .. "%d%d%d:0:0:0:0:0:0:0:"] = padded .. "000_" .. padded .. "999" +end + +IS_invalid_items = IS_status.items.invalid + +local savedVars = { + ["IS_item_info"] = {"scanned/item-info-%s.lua", tbl}, + ["IS_invalid_items"] = "scanned/invalid-items.lua", +} + +for varName, fileName in pairs(savedVars) do + local splitType, splitParam = "none" + if type(fileName) == "table" then + fileName, splitParam = unpack(fileName) + if fileName:find("%%s") then + splitType = "string" + end + end + local var = _G[varName] + if type(var) == "number" then + io.output(fileName) + io.write(string.format("%s = %d", varName, var)) + io.close() + elseif type(var) == "table" then + io.stdout:write(string.format("%sSaving %s...", string.rep("\8 \8", 50), varName)) + io.stdout:flush() + if splitType == "none" then + io.output(fileName) + sort(var, varName) + io.close() + elseif splitType == "string" then + local tempArr = {} + for k, v in pairs(var) do + local c = k + local fileNamePart + for k, v in pairs(splitParam) do + if string.match(c, k) then + fileNamePart = v + break + end + end + fileNamePart = fileNamePart or "other" + if not tempArr[fileNamePart] then + tempArr[fileNamePart] = {} + end + tempArr[fileNamePart][k] = v + end + for k, v in pairs(tempArr) do + io.output(string.format(fileName, k)) + if k == "" then + sort(v, varName) + else + sort(v, varName .. "_" .. k) + end + io.output():close() + end + else + io.stdout:write(string.format("\nError: Unknown splitType \"%s\" for var %q\n", splitType, varName)) + io.stdout:flush() + end + else + io.stdout:write(string.format("Unhandled variable type: %q (%s)\n", type(var), varName)) + end +end + +io.stdout:write("\n") -- 1.7.9.5