Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function reverse_sorted_records(records)
- if records == nil then return nil end
- local sorted_records = {}
- for player, delta in pairs(records) do
- table.insert(sorted_records, { player, delta })
- end
- table.sort(sorted_records, function (L, R) return L[2] > R[2] end)
- return sorted_records
- end
- function add_record(map, player, delta)
- local records = load_records(map)
- if records[player] == nil or delta < records[player] then
- records[player] = delta
- save_records(map, records)
- new_record_added = true
- end
- end
- function save_records(map, records)
- local sorted_records = sorted_records(records)
- local lines = {}
- for i,record in ipairs(sorted_records) do
- table.insert(lines, record[1] .. " " .. tostring(record[2]))
- end
- cfg.setvalue("SvearkMod_maps", map:lower():gsub("=", ""), table.concat(lines, "\t"))
- end
- function load_records(map)
- local records = {}
- local data = cfg.getvalue("SvearkMod_maps", map:lower():gsub("=", ""))
- if data ~= nil then
- local lines = split(data, "\t")
- for i,line in ipairs(lines) do
- record = split(line, " ")
- records[record[1]] = tonumber(record[2])
- end
- end
- return records
- end
- function get_best_record(map)
- local sorted_records = sorted_records(load_records(map))
- local i, best_record = next(sorted_records)
- if best_record == nil then
- return PLUGIN_BLOCK
- end
- if best_record[1] or best_record[2] ~= nil then
- return best_record[1], best_record[2]
- elseif best_record[1] or best_record[2] == nil then
- print("Error returning best_record")
- end
- end
- ---
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement