mirror of
https://github.com/a-bad-dev/simple-shooter-game.git
synced 2026-06-09 20:36:15 +00:00
Dehardcode maps (currently not working)
maps need work and proper configs
This commit is contained in:
parent
404b664617
commit
896cdc651f
10 changed files with 37 additions and 12 deletions
|
|
@ -125,8 +125,7 @@ core.register_on_mods_loaded(function()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
core.register_on_joinplayer(function(player)
|
core.register_on_joinplayer(function(player)
|
||||||
core.place_schematic({x = 0, y = 0, z = 0}, core.get_modpath("main") .. "/schematics/map1.mts", 0, nil, false)
|
player:set_pos({x = map_data.spawn_x, y = map_data.spawn_y, z = map_data.spawn_z})
|
||||||
player:set_pos({x = 20, y = 26.5, z = 17})
|
|
||||||
player:get_inventory():set_list("main", {})
|
player:get_inventory():set_list("main", {})
|
||||||
|
|
||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
|
|
@ -157,7 +156,7 @@ core.register_on_respawnplayer(function(player)
|
||||||
|
|
||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
|
|
||||||
player:set_pos({x = 20, y = 26.5, z = 17})
|
player:set_pos({x = map_data.spawn_x, y = map_data.spawn_y, z = map_data.spawn_z})
|
||||||
|
|
||||||
player:get_inventory():set_list("main", {})
|
player:get_inventory():set_list("main", {})
|
||||||
|
|
||||||
|
|
@ -169,15 +168,12 @@ end)
|
||||||
core.register_privilege("match_manager", {description = "Can manage the match", give_to_singleplayer = true})
|
core.register_privilege("match_manager", {description = "Can manage the match", give_to_singleplayer = true})
|
||||||
|
|
||||||
core.register_chatcommand("start", {
|
core.register_chatcommand("start", {
|
||||||
params = "",
|
params = "<map>",
|
||||||
privs = {match_manager = true},
|
privs = {match_manager = true},
|
||||||
description = "Start the match",
|
description = "Start the match",
|
||||||
func = function()
|
func = function()
|
||||||
for x = 1, 39 do
|
local map_data = place_map(map)
|
||||||
for z = 1, 36 do
|
remove_barrier(x=map_data.size_x, y=map_data.barrier_level, z=map_data.size_z)
|
||||||
core.set_node({x = x, y = 25, z = z}, {name = "air"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
core.chat_send_all(core.colorize("green", "Match started!"))
|
core.chat_send_all(core.colorize("green", "Match started!"))
|
||||||
alive_players = {}
|
alive_players = {}
|
||||||
for _, player in pairs(core.get_connected_players()) do
|
for _, player in pairs(core.get_connected_players()) do
|
||||||
|
|
@ -206,12 +202,10 @@ core.register_chatcommand("reset", {
|
||||||
privs = {match_manager = true},
|
privs = {match_manager = true},
|
||||||
description = "Reset map",
|
description = "Reset map",
|
||||||
func = function()
|
func = function()
|
||||||
core.place_schematic({x = 0, y = 0, z = 0}, core.get_modpath("main") .. "/schematics/map1.mts", 0, nil, false)
|
|
||||||
for _, player in pairs(core.get_connected_players()) do
|
for _, player in pairs(core.get_connected_players()) do
|
||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
|
|
||||||
player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 255}})
|
player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 255}})
|
||||||
player:set_pos({x = 20, y = 26.5, z = 17})
|
player:set_pos({x = map_data.spawn_x, y = map_data.spawn_y, z = map_data.spawn_z})
|
||||||
set_player_mode(player, "normal")
|
set_player_mode(player, "normal")
|
||||||
player:get_inventory():set_list("main", {})
|
player:get_inventory():set_list("main", {})
|
||||||
player:set_properties({
|
player:set_properties({
|
||||||
|
|
|
||||||
Binary file not shown.
15
mods/maps/init.lua
Normal file
15
mods/maps/init.lua
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
function place_map(map)
|
||||||
|
local map_path = core.get_modpath("maps") .. "/maps/"
|
||||||
|
core.place_schematic({x=0, y=0, z=0}, map_path .. map .. "/map.mts", 0, nil, false)
|
||||||
|
dofile(map_path .. map .. "/map.lua")
|
||||||
|
return map_data
|
||||||
|
end
|
||||||
|
|
||||||
|
function remove_barrier(x, y, z)
|
||||||
|
for node_x = 1, x do
|
||||||
|
for node_z = 1, z do
|
||||||
|
core.set_node({x=x, y=y, z=z}, {name = "air"})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return ""
|
||||||
|
end
|
||||||
11
mods/maps/maps/forest/map.lua
Normal file
11
mods/maps/maps/forest/map.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
local map_data = {
|
||||||
|
size_x = 0,
|
||||||
|
size_y = 0, -- <- currently not used for anything
|
||||||
|
size_z = 0,
|
||||||
|
|
||||||
|
barrier_level = 0, -- <- Y level of the barrier
|
||||||
|
|
||||||
|
spawn_x = 0,
|
||||||
|
spawn_y = 0,
|
||||||
|
spawn_z = 0
|
||||||
|
}
|
||||||
BIN
mods/maps/maps/forest/map.mts
Normal file
BIN
mods/maps/maps/forest/map.mts
Normal file
Binary file not shown.
1
mods/maps/maps/pine/map.lua
Normal file
1
mods/maps/maps/pine/map.lua
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
BIN
mods/maps/maps/pine/map.mts
Normal file
BIN
mods/maps/maps/pine/map.mts
Normal file
Binary file not shown.
1
mods/maps/maps/savanna/map.lua
Normal file
1
mods/maps/maps/savanna/map.lua
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
BIN
mods/maps/maps/savanna/map.mts
Normal file
BIN
mods/maps/maps/savanna/map.mts
Normal file
Binary file not shown.
3
mods/maps/mod.conf
Normal file
3
mods/maps/mod.conf
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
name = maps
|
||||||
|
description = Maps mod for simple-shooter-game
|
||||||
|
depends = main
|
||||||
Loading…
Add table
Add a link
Reference in a new issue