]> git.lizzy.rs Git - coronaserver.git/commitdiff
Fix saving of ranks, fix missing privs when rank is changed
authorElias Fleckenstein <eliasfleckenstein@web.de>
Tue, 26 May 2020 14:51:36 +0000 (16:51 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Tue, 26 May 2020 14:51:36 +0000 (16:51 +0200)
privs.lua
ranks.lua
save.lua

index cc4d54765b27069c5e8c5825fec5c63d786fe9f2..3517d30105e5ee95358aeb4872b7da71dc3a15d3 100644 (file)
--- a/privs.lua
+++ b/privs.lua
@@ -29,7 +29,6 @@ minetest.register_chatcommand("grantall", {
        func = function(name, param)
                table.insert(coronaserver.savedata.grantall, param)
                coronaserver.update_privs_all()
-               coronaserver.save()
        end
 })
 
@@ -40,7 +39,6 @@ minetest.register_chatcommand("revokeall", {
        func = function(name, param)
                table.insert(coronaserver.savedata.revokeall, param)
                coronaserver.update_privs_all()
-               coronaserver.save()
        end
 })
 
@@ -60,7 +58,6 @@ minetest.register_chatcommand("remove_from_allprivs", {
                end
                rmpriv(coronaserver.savedata.revokeall)
                rmpriv(coronaserver.savedata.grantall)
-               coronaserver.save()
        end
 })
 
index b5984a828654f2d7d9212e42b155221f391e80ee..a12a48bd169d5b1870c6ca2b9dc934214e70b7de 100755 (executable)
--- a/ranks.lua
+++ b/ranks.lua
@@ -1,60 +1,52 @@
-local function ReverseTable(t)
-    local reversedTable = {}
-    local itemCount = #t
-    for k, v in ipairs(t) do
-        reversedTable[itemCount + 1 - k] = v
-    end
-    return reversedTable
-end
 coronaserver.ranks = {
        {
-               name = "owner",
-               color = "#FF2D8D",
-               tag = "[OWNER]",
-               privs = {},
-       },
+        name = "student",
+        color = "#BBBBBB",
+        tag = "[SCHÜLER*IN]",
+        privs = {student = true, interact = true, shout = true, fast = true, spawn = true, home = true, zoom = true, pvp = true, iblocks = true},
+    },
+       {
+        name = "teacher",
+        color = "#16AE00",
+        tag = "[LEHRER*IN / PÄDAGOG*IN]",
+        privs = {fly = true, teacher = true, creative = true, areas = true, student = false}
+    },
        {
-               name = "admin",
-               color = "#FF362D",
-               tag = "[ADMIN]",
-               privs = {},
+               name = "supporter",
+               color = "#EE6E00",
+               tag = "[SUPPORTER]",
+               privs = {kick = true},
        },
        {
-               name = "hacker",
-               color = "#000000",
-               tag = "[HACKER]",
-               privs = {},
+               name = "moderator",
+               color = "#001FFF",
+               tag = "[MODERATOR]",
+               privs = {server = true, ban = true, worldedit = true, vanish = true, ["rename"] = true},
        },
        {
                name = "developer",
                color = "#EBEE00",
-               tag = "[ENTWICKLER]",
+               tag = "[ENTWICKLER*IN]",
                privs = {privs = true},
        },
        {
-               name = "moderator",
-               color = "#001FFF",
-               tag = "[MODERATOR]",
-               privs = {server = true, ban = true, worldedit = true, vanish = true, ["rename"] = true},
+               name = "hacker",
+               color = "#000000",
+               tag = "[HACKER]",
+               privs = {},
        },
        {
-               name = "supporter",
-               color = "#EE6E00",
-               tag = "[SUPPORTER]",
-               privs = {kick = true},
+               name = "admin",
+               color = "#FF362D",
+               tag = "[ADMIN]",
+               privs = {},
        },
        {
-        name = "teacher",
-        color = "#16AE00",
-        tag = "[LEHRER]",
-        privs = {fly = true, teacher = true, creative = true, areas = true, student = false}
-    },
-       {
-        name = "student",
-        color = "#BBBBBB",
-        tag = "[SCHÜLER]",
-        privs = {student = true},
-    }
+               name = "owner",
+               color = "#FF2D8D",
+               tag = "[OWNER]",
+               privs = {},
+       },
 }
 coronaserver.savedata.ranks = coronaserver.savedata.ranks or {}
 function coronaserver.get_rank(name)
@@ -106,7 +98,7 @@ minetest.register_chatcommand("rank", {
         else
                        coronaserver.savedata.ranks[target] = rank
                        local privs = {}
-                       for _, r in pairs(ReverseTable(coronaserver.ranks)) do
+                       for _, r in pairs(coronaserver.ranks) do
                                for k, v in pairs(r.privs) do
                                        privs[k] = v
                                end
index b22a63975ee3d8d98a31bb8bab8a3abf1f16fbaf..3f779b99fd7823a3183f5a66c821311eedfb97ca 100644 (file)
--- a/save.lua
+++ b/save.lua
@@ -13,3 +13,4 @@ function coronaserver.save()
        file:close()
 end
 coronaserver.load() 
+minetest.register_on_shutdown(coronaserver.save)