Traitor/mods/lobby/init.lua

70 lines
2.4 KiB
Lua

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.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)