Fix crashes (aka dumb mistakes)

master
LoneWolfHT 2019-12-26 17:16:29 -08:00
parent 53a1d6899d
commit e210a01b67
3 changed files with 10 additions and 8 deletions

View File

@ -19,7 +19,7 @@ end
function main.give_starter_items(inv)
main.clear_inv(inv)
if main.current_mode then
if vc_info.mode_running then
if main.current_mode.mode.starter_items then
for _, item in ipairs(main.current_mode.mode.starter_items) do
inv:add_item("main", item)

View File

@ -57,13 +57,13 @@ minetest.register_globalstep(function(dtime)
end)
minetest.register_on_dieplayer(function(player, reason)
if main.current_mode.mode.on_death and main.playing[player:get_player_name()] then
if vc_info.mode_running and main.current_mode.mode.on_death and main.playing[player:get_player_name()] then
main.current_mode.mode.on_death(player, reason)
end
end)
minetest.register_on_respawnplayer(function(player)
if main.current_mode.mode.on_respawn and main.playing[player:get_player_name()] then
if vc_info.mode_running and main.current_mode.mode.on_respawn and main.playing[player:get_player_name()] then
main.current_mode.mode.on_respawn(player)
end

View File

@ -44,7 +44,7 @@ minetest.register_chatcommand("maps", {
editors[name].id = editedmaps
editedmaps = editedmaps + 1
main.playing[name] = false
main.playing[name] = nil
return true, maps.new_map(name)
else
return false, "A map is already being edited!"
@ -55,7 +55,7 @@ minetest.register_chatcommand("maps", {
editors[name].id = editedmaps
editedmaps = editedmaps + 1
main.playing[name] = false
main.playing[name] = nil
return maps.edit_map(name, params[2])
else
return false, "A map is already being edited!"
@ -78,6 +78,7 @@ function maps.new_map(pname)
editors[pname].action = "new"
editors[pname].settings = {
name = pname.."s Map",
skybox = "TropicalSunnyDay",
creator = pname,
}
@ -281,7 +282,6 @@ function maps.load_map(name)
mapdef.playerspawns = minetest.deserialize(cfile:match("pspawns = <.->"):sub(12, -2)) or {{0, 5, 0}}
mapdef.itemspawns = minetest.deserialize(cfile:match("ispawns = <.->"):sub(12, -2)) or {{0, 5, 0}}
minetest.place_schematic(pos, maps.mappath..name.."/map.mts", 0, {}, true,
{place_center_x = true, place_center_y=false, place_center_z=true})
@ -294,6 +294,8 @@ local function get_modes_string(name)
for _, def in ipairs(editors[name].settings.modes) do
local color = "#00ff32"
minetest.log(dump(def))
if not def.enabled then color = "#ff0000" end
string = string .. color .. def.name .. ","
@ -391,7 +393,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
main.join_player(minetest.get_player_by_name(name))
end
elseif not fields.quit then
editors[player].settings.name = fields.map_name
editors[name].settings.name = fields.map_name
editors[name].settings.creator = fields.map_creator
editors[name].settings.skybox = fields.map_skybox
maps.show_save_form(name, fields.map_name)