1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2025-02-11 13:39:17 +02:00

Changing a user group member now updates a lua parsable file in the script output folder #42

- update regulars/mods list
- cleaned up config
This commit is contained in:
Valansch 2017-09-09 22:56:28 +02:00
parent e989c8e37f
commit 05d24c94c3
4 changed files with 128 additions and 118 deletions

View File

@ -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

View File

@ -1,5 +1,9 @@
return
return
{
dpoba = "",
masjazZ = "",
}
["dpoba"] = "",
["masjazZ"] = "",
["-slug-"] = "",
["mbas"] = "",
["selen"] = "",
["Sholvo"] = "",
}

View File

@ -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"] = "",
}

View File

@ -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()