Parametro enabled per le arene
parent
bd5f5be6d9
commit
c7b9538d35
20
api.lua
20
api.lua
|
@ -47,7 +47,8 @@ local arena_default = {
|
|||
in_queue = false,
|
||||
in_loading = false,
|
||||
in_game = false,
|
||||
in_celebration = false
|
||||
in_celebration = false,
|
||||
enabled = false
|
||||
}
|
||||
|
||||
local prefix = "[Arena_lib] "
|
||||
|
@ -172,6 +173,21 @@ end
|
|||
|
||||
|
||||
|
||||
function arena_lib.set_enabled(sender, arena_ID, enabled)
|
||||
|
||||
local arena = arena_lib.arenas[arena_ID]
|
||||
|
||||
if enabled then
|
||||
if arena_lib.get_arena_spawners_count(arena_ID) < arena.max_players then
|
||||
minetest.chat_send_player(sender, minetest.colorize("#e6482e", "[!] Spawner insufficienti, arena disabilitata"))
|
||||
arena.enabled = false
|
||||
end
|
||||
end
|
||||
--TODO: comando da lanciare ad arena impostata
|
||||
end
|
||||
|
||||
|
||||
|
||||
----------------------------------------------
|
||||
--------------GESTIONE PARTITA-----------------
|
||||
----------------------------------------------
|
||||
|
@ -281,7 +297,6 @@ end
|
|||
|
||||
function arena_lib.end_arena(arena)
|
||||
|
||||
arena_lib.on_end(arena)
|
||||
arena.kill_leader = ""
|
||||
|
||||
for pl_name, stats in pairs(arena.players) do
|
||||
|
@ -296,6 +311,7 @@ function arena_lib.end_arena(arena)
|
|||
--TODO: teleport lobby, metti variabile locale
|
||||
end
|
||||
arena_lib.update_sign(arena.sign, arena)
|
||||
arena_lib.on_end(arena)
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,9 @@ minetest.override_item("default:sign_wall", {
|
|||
local p_name = puncher:get_player_name()
|
||||
|
||||
if not sign_arena then return end -- nel caso qualche cartello dovesse buggarsi, si può rompere e non fa crashare
|
||||
if not sign_arena.enabled then
|
||||
minetest.chat_send_player(p_name, minetest.colorize("#e6482e", "[!] L'arena non è attiva!"))
|
||||
return end
|
||||
|
||||
-- se è già in coda o viene fermato (cartello diverso) o si toglie dalla coda (cartello uguale)
|
||||
if arena_lib.is_player_in_queue(p_name) then
|
||||
|
@ -116,9 +119,6 @@ function arena_lib.set_sign(sender, arena_name)
|
|||
if arena == nil then minetest.chat_send_player(sender, minetest.colorize("#e6482e", "[!] Quest'arena non esiste!"))
|
||||
return end
|
||||
|
||||
if arena_lib.get_arena_spawners_count(arena_ID) < arena.max_players then minetest.chat_send_player(sender, minetest.colorize("#e6482e", "[!] Gli spawner devono essere quanto i giocatori massimi prima di impostare il cartello!"))
|
||||
return end
|
||||
|
||||
-- assegno item creazione arene con ID arena nei metadati da restituire al premere sul cartello
|
||||
local stick = ItemStack(arena_lib.mod_name .. ":create_sign")
|
||||
local meta = stick:get_meta()
|
||||
|
@ -156,7 +156,8 @@ end
|
|||
function in_game_txt(arena)
|
||||
local txt
|
||||
|
||||
if arena.in_celebration then txt = "Concludendo"
|
||||
if not arena.enabled then txt = "LAVORI IN CORSO"
|
||||
elseif arena.in_celebration then txt = "Concludendo"
|
||||
elseif arena.in_game then txt = "In partita"
|
||||
elseif arena.in_loading then txt = "In caricamento"
|
||||
else txt = "In attesa" end
|
||||
|
|
Loading…
Reference in New Issue