]> git.lizzy.rs Git - coronaserver.git/commitdiff
Cleanup
authorElias Fleckenstein <eliasfleckenstein@web.de>
Thu, 28 May 2020 10:03:19 +0000 (12:03 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Thu, 28 May 2020 10:03:19 +0000 (12:03 +0200)
ranks.lua

index e7d1aac172d348f93fa7a1870022cd00966a8551..dadac4b2c851cba22bc6041d37f691f8f732b556 100755 (executable)
--- a/ranks.lua
+++ b/ranks.lua
@@ -80,13 +80,14 @@ function coronaserver.reload_name_tag(name)
 end
 minetest.register_on_joinplayer(function(player)
        local name = player:get_player_name()
-       if coronaserver.get_rank(name).name == "student" and minetest.check_player_privs(name, {teacher = true}) then
-               coronaserver.savedata.ranks[name] = "teacher"
-               coronaserver.save()
-       end
-       if coronaserver.get_rank(name).name == "hacker" then
-               coronaserver.savedata.ranks[name] = "student"
-       end
+       local rank = coronaserver.get_rank(name)
+       local privs = minetest.get_player_privs(name)
+       local rankname = rank.name
+       if rankname == "hacker" then rankname = "student" end
+       if rankname == "student" and privs.teacher then rankname = "teacher" end
+       if privs.kick then privs.team = true end
+       minetest.set_player_privs(name, privs)
+       coronaserver.savedata.ranks[name] = (rankname == "student") and nil or rankname
     minetest.chat_send_all(coronaserver.get_player_name(name) .. "has joined the Server.")
        coronaserver.reload_name_tag(name)
 end)