lobby = {} lobby.map = {} --Holds number of players in a level. lobby.voted = {} --Holds player names, and if they have voted. lobby.votes = {} lobby.suspect = {} --Holds number of votes a player has marking them as suspect lobby.game = {} --Holds player names and what map they are on. lobby.xp = {} --The current XP amount for each level. lobby.traitors = {} -- lobby.corpses = {} lobby.vote_timer = {} lobby.spawn_pos = {x=29996, y=-4.5, z=30041.5} lobby.spawn_pos = minetest.setting_get_pos('traitor_lobby_spawn') or lobby.spawn_pos lobby.stat = {} --Yes I know these table names are not very clear. --[[ Saving data: local data = {} data.level_pos = {x = pos_x, y = pos_y, z = pos_z} data.xp = tonumber(fields.xp) lobby.savedata.IDs[map_id] = true lobby.savedata.data[map_id] = data lobby.savedata.stats[map_id] = stats ---- Retriving data: local game_data = lobby.savedata.data[map_id] local game_pos = game_data['level_pos'] player_attributes:set_string('mode', 'builder') This is set anytime a player goes to a level they have build access on. player_attributes:set_string('mode', 'player') This is set when a player is playing a level with other people, as it's meant to be played. player_attributes:set_string('mode', 'solo') This is set when a player plays a level solo, usually to earn XP, but could also be to explore levels. player_attributes:set_string('mode', 'ghost') This is set when a player, playing with others, dies on a level. ]] dofile(minetest.get_modpath('lobby')..'/buttons.lua') dofile(minetest.get_modpath('lobby')..'/chat_commands.lua') dofile(minetest.get_modpath('lobby')..'/chat.lua') dofile(minetest.get_modpath('lobby')..'/corpse.lua') dofile(minetest.get_modpath('lobby')..'/emergency_buttons.lua') dofile(minetest.get_modpath('lobby')..'/formspec.lua') dofile(minetest.get_modpath('lobby')..'/functions.lua') dofile(minetest.get_modpath('lobby')..'/player_callbacks.lua') dofile(minetest.get_modpath('lobby')..'/shop.lua') dofile(minetest.get_modpath('lobby')..'/stats.lua') dofile(minetest.get_modpath('lobby')..'/tool.lua') dofile(minetest.get_modpath('lobby')..'/tdc.lua') minetest.register_privilege("traitor_dev", { description = "Can use /td.", give_to_singleplayer = false, give_to_admin = true}) minetest.register_privilege("pro_player", { description = "Completed the tutorial.", give_to_singleplayer = false}) minetest.register_privilege("builder", { description = "Can build levels", give_to_singleplayer = false}) lobby.load() minetest.register_on_shutdown(lobby.save)