70 lines
2.4 KiB
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)
|