mirror of
https://github.com/a-bad-dev/simple-shooter-game.git
synced 2026-06-08 20:12:11 +00:00
Backport some features to not require 5.15.0+
Also decrease map load time
This commit is contained in:
parent
000b4e9cad
commit
caaf2481d2
2 changed files with 13 additions and 8 deletions
|
|
@ -115,14 +115,14 @@ function start_match(map) -- Start the match
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
set_match_state("pre_match")
|
|
||||||
|
|
||||||
map_data = place_map(map or "forest") -- default to forest if no map is specified
|
map_data = place_map(map or "forest") -- default to forest if no map is specified
|
||||||
|
|
||||||
if map_data == "nope :(" then
|
if map_data == "nope :(" then
|
||||||
return map_data
|
return map_data
|
||||||
end
|
end
|
||||||
|
|
||||||
|
set_match_state("pre_match")
|
||||||
|
|
||||||
local map_loading_images = {}
|
local map_loading_images = {}
|
||||||
for _, player in pairs(core.get_connected_players()) do
|
for _, player in pairs(core.get_connected_players()) do
|
||||||
set_player_mode(player, "pre_match")
|
set_player_mode(player, "pre_match")
|
||||||
|
|
@ -143,7 +143,7 @@ function start_match(map) -- Start the match
|
||||||
player:set_hp(20)
|
player:set_hp(20)
|
||||||
end
|
end
|
||||||
|
|
||||||
core.after(5, function()
|
core.after(3, function()
|
||||||
for _, player in pairs(core.get_connected_players()) do
|
for _, player in pairs(core.get_connected_players()) do
|
||||||
player:set_pos({x = map_data.spawn_x, y = map_data.spawn_y, z = map_data.spawn_z})
|
player:set_pos({x = map_data.spawn_x, y = map_data.spawn_y, z = map_data.spawn_z})
|
||||||
player:hud_remove(map_loading_images[player:get_player_name()])
|
player:hud_remove(map_loading_images[player:get_player_name()])
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,18 @@
|
||||||
-- Maps mod for SSG
|
-- Maps mod for SSG
|
||||||
function place_map(map)
|
function place_map(map)
|
||||||
local map_path = core.get_modpath("maps") .. "/maps/" .. map .. "/"
|
local map_path = core.get_modpath("maps") .. "/maps/"
|
||||||
|
local map_list = core.get_dir_list(map_path, true)
|
||||||
|
|
||||||
if not core.path_exists(map_path) then
|
for i = 1, #map_list do
|
||||||
|
if map_list[i] == map then
|
||||||
|
break
|
||||||
|
elseif i == #map_list then
|
||||||
return "nope :("
|
return "nope :("
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local map_data = dofile(map_path .. "map.lua")
|
local map_data = dofile(map_path .. map .. "/map.lua")
|
||||||
core.place_schematic({x=0, y=0, z=0}, map_path .. "map.mts", 0, nil, true)
|
core.place_schematic({x=0, y=0, z=0}, map_path .. map .. "/map.mts", 0, nil, true)
|
||||||
|
|
||||||
if map_data.spawn_x == nil or map_data.spawn_y == nil or map_data.spawn_z == nil then -- set a default spawnpoint if not set
|
if map_data.spawn_x == nil or map_data.spawn_y == nil or map_data.spawn_z == nil then -- set a default spawnpoint if not set
|
||||||
map_data.spawn_x = map_data.size_x / 2
|
map_data.spawn_x = map_data.size_x / 2
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue