From 05d24c94c384d88703d016b9076b15272c66f048 Mon Sep 17 00:00:00 2001 From: Valansch Date: Sat, 9 Sep 2017 22:56:28 +0200 Subject: [PATCH] Changing a user group member now updates a lua parsable file in the script output folder #42 - update regulars/mods list - cleaned up config --- config.lua | 61 ++++---------- locale/resources/mods.lua | 12 ++- locale/resources/regulars.lua | 153 ++++++++++++++++++++-------------- user_groups.lua | 20 +++-- 4 files changed, 128 insertions(+), 118 deletions(-) diff --git a/config.lua b/config.lua index a0b38c95..bae9818f 100644 --- a/config.lua +++ b/config.lua @@ -1,46 +1,15 @@ -local function apply_config() - if not global.scenario.config.enable_radar then - game.forces["player"].recipes["radar"].enabled = false - end -end - -Event.register(-1, function() - global.scenario = {} - global.scenario.variables = {} - global.scenario.variables.time_set_moment = 0 - global.scenario.variables.current_month = 1 - global.scenario.variables.current_day = 1 - global.scenario.variables.current_h = 0 - global.scenario.variables.current_m = 0 - global.scenario.variables.days_passed = 0 - - global.scenario.variables.mods = require "locale.resources.mods" - global.scenario.variables.regulars = require "locale.resources.regulars" - - global.scenario.variables.player_positions = {} - global.scenario.variables.player_walk_distances = {} - global.scenario.config = {} - global.scenario.config.announcements_enabled = false -- if true announcements will be shown - global.scenario.config.announcement_delay = 1000 -- number of seconds between each announcement - global.scenario.config.score_delay = 8 -- delay in seconds before hiding rocket score window (0 = never show) - global.scenario.config.autolaunch_default = false -- default autolaunch option - global.scenario.config.logistic_research_enabled = true -- if true then research for requesters and active providers will be enabled. - global.scenario.config.enable_radar = true - global.scenario.config.mapsettings = global.scenario.config.mapsettings or {} - global.scenario.config.mapsettings.cross_width = 200 -- total width of cross - global.scenario.config.mapsettings.spiral_land_width = 70 -- width of land in spiral - global.scenario.config.mapsettings.spiral_water_width = 70 -- width of water in spiral - global.scenario.custom_functions = {} - global.scenario.config.nuke_min_time_hours = 3 --how long a player must be on the server to be allowed to use the nuke - apply_config() -end) - -local function on_research_started(event) - if not global.scenario.config.logistic_research_enabled then - if event.research.name == "logistic-robotics" then - game.forces["player"].current_research = nil - end - end -end - -Event.register(defines.events.on_research_started, on_research_started) +global.scenario = {} +global.scenario.variables = {} +global.scenario.variables.time_set_moment = 0 +global.scenario.variables.current_month = 1 +global.scenario.variables.current_day = 1 +global.scenario.variables.current_h = 0 +global.scenario.variables.current_m = 0 +global.scenario.variables.days_passed = 0 +global.scenario.variables.mods = require "locale.resources.mods" +global.scenario.variables.regulars = require "locale.resources.regulars" +global.scenario.variables.player_positions = {} +global.scenario.variables.player_walk_distances = {} +global.scenario.config = {} +global.scenario.custom_functions = {} +global.scenario.config.nuke_min_time_hours = 3 --how long a player must be on the server to be allowed to use the nuke diff --git a/locale/resources/mods.lua b/locale/resources/mods.lua index 3395d9aa..cc3a943f 100644 --- a/locale/resources/mods.lua +++ b/locale/resources/mods.lua @@ -1,5 +1,9 @@ -return +return { - dpoba = "", - masjazZ = "", -} \ No newline at end of file +["dpoba"] = "", +["masjazZ"] = "", +["-slug-"] = "", +["mbas"] = "", +["selen"] = "", +["Sholvo"] = "", +} diff --git a/locale/resources/regulars.lua b/locale/resources/regulars.lua index 1d713207..47799271 100644 --- a/locale/resources/regulars.lua +++ b/locale/resources/regulars.lua @@ -1,65 +1,94 @@ return { - helpower2 = "", - rorror = "", - Medival3 = "", - dpoba = "", - settdigger = "", - Cheeselicker = "", - cpaca0 = "", - UTIDI = "", - JokerOfTheZ = "", - saltlands = "", - Maniah = "", - COOL = "", - boail = "", - hunter117x = "", - TonyTroll = "", - rorror = "", - HighInFiberOptics = "", - Atoms = "", - adlmr = "", - rayijin = "", - Sephir = "", - inator1192 = "", - TeZwo = "", - neumond = "", - bhenoa = "", - JBC363 = "", - Kaig3n = "", - Factorioio = "", - Bawz = "", - CrazyStephen = "", - eithel = "", - Coyote101 = "", - jedifan = "", - xsidd = "", - MaxTheSpunkyMunk = "", - Tarpon907 = "", - BigHamster = "", - sir = "", - Arnietom = "", - Animal = "", - banakeg = "", - philip017 = "", - NinjrKillr = "", - MarckHardt = "", - BrainClot = "", - blzz = "", - WatchingHawk = "", - farcear = "", - selen = "", - trekie4747 = "", - Gizan = "", - Slastraf = "", - zacman0510 = "", - TheOrangeAngle = "", - williambellwisdo = "", - Extraxyz = "", - markupolionCZ = "", - BJHunter = "", - ZTX = "", - bigglesthepirate = "", - ["-slug-"] = "", - ["g-h-o-s-t"] = "", +["helpower2"] = "", +["rorror"] = "", +["Medival3"] = "", +["dpoba"] = "", +["settdigger"] = "", +["Cheeselicker"] = "", +["cpaca0"] = "", +["UTIDI"] = "", +["JokerOfTheZ"] = "", +["saltlands"] = "", +["Maniah"] = "", +["COOL"] = "", +["boail"] = "", +["hunter117x"] = "", +["TonyTroll"] = "", +["HighInFiberOptics"] = "", +["Atoms"] = "", +["adlmr"] = "", +["rayijin"] = "", +["Sephir"] = "", +["inator1192"] = "", +["TeZwo"] = "", +["neumond"] = "", +["bhenoa"] = "", +["JBC363"] = "", +["Kaig3n"] = "", +["Factorioio"] = "", +["Bawz"] = "", +["CrazyStephen"] = "", +["eithel"] = "", +["Coyote101"] = "", +["jedifan"] = "", +["xsidd"] = "", +["MaxTheSpunkyMunk"] = "", +["Tarpon907"] = "", +["BigHamster"] = "", +["sir"] = "", +["Arnietom"] = "", +["Animal"] = "", +["banakeg"] = "", +["philip017"] = "", +["NinjrKillr"] = "", +["MarckHardt"] = "", +["BrainClot"] = "", +["blzz"] = "", +["WatchingHawk"] = "", +["farcear"] = "", +["selen"] = "", +["trekie4747"] = "", +["Gizan"] = "", +["Slastraf"] = "", +["zacman0510"] = "", +["TheOrangeAngle"] = "", +["williambellwisdo"] = "", +["Extraxyz"] = "", +["markupolionCZ"] = "", +["BJHunter"] = "", +["ZTX"] = "", +["bigglesthepirate"] = "", +["g-h-o-s-t"] = "", +["wekkka"] = "", +["Beelzemon"] = "", +["rododendro"] = "", +["mrkoss"] = "", +["koretego"] = "", +["cogito123"] = "", +["palulukan"] = "", +["RadianRaze"] = "", +["kostrahb"] = "", +["mafisch3"] = "", +["cydes"] = "", +["ccaspanello"] = "", +["WickVitaminC"] = "", +["Farcear"] = "", +["Newcott"] = "", +["craigrood"] = "", +["lillepallt"] = "", +["skykittena"] = "", +["rico2403"] = "", +["Claude47"] = "", +["MrSjaakBraak"] = "", +["Heretek"] = "", +["Factorian12321"] = "", +["steponitnicejob"] = "", +["cchpucky"] = "", +["rulerofdabacon"] = "", +["TCP"] = "", +["Marucan"] = "", +["TWLTriston"] = "", +["Bemm"] = "", +["lordxleasy"] = "", } diff --git a/user_groups.lua b/user_groups.lua index 3b178537..0a140cd0 100644 --- a/user_groups.lua +++ b/user_groups.lua @@ -1,5 +1,13 @@ -function change_entry(name, position, action) - game.write_file("privilege_changes.txt", "[" .. format_time(game.tick) .. "] " .. position .. ": " .. action .. " " .. name .. "\n", true) +function update_group(position) + local file = position .. ".lua" + game.write_file(file, "return\n{\n", false) + local group = global.scenario.variables[position] + local line = "" + for player_name,_ in pairs(group) do + line = string.format('["%s"] = "",\n', player_name) + game.write_file(file, line, true) + end + game.write_file(file, "}", true) end function get_actor() @@ -21,8 +29,8 @@ function add_regular(player_name) else if game.players[player_name] then game.print(actor .. " promoted " .. player_name .. " to regular.") - change_entry(player_name, "regulars", "add") global.scenario.variables.regulars[player_name] = "" + update_group("regulars") else player_print(player_name .. " does not exist.") end @@ -35,8 +43,8 @@ function add_mod(player_name) else if game.players[player_name] then game.print(actor .. " promoted " .. player_name .. " to moderator.") - change_entry(player_name, "regulars", "remove") global.scenario.variables.mods[player_name] = "" + update_group("mods") else player_print(player_name .. " does not exist.") end @@ -47,14 +55,14 @@ function remove_regular(player_name) local actor = get_actor() if is_regular(player_name) then game.print(player_name .. " was demoted from regular by " .. actor .. ".") end global.scenario.variables.regulars[player_name] = nil - change_entry(player_name, "mods ", "add") + update_group("regulars") end function remove_mod(player_name) local actor = get_actor() if is_mod(player_name) then game.print(player_name .. " was demoted from mod by " .. actor .. ".") end global.scenario.variables.mods[player_name] = nil - change_entry(player_name, "mods ", "remove") + update_group("mods") end function print_regulars()