diff --git a/bl_arena_lib/arena_manager.lua b/bl_arena_lib/arena_manager.lua index e3f9adf..2133813 100644 --- a/bl_arena_lib/arena_manager.lua +++ b/bl_arena_lib/arena_manager.lua @@ -14,17 +14,15 @@ arena_lib.on_load("block_league", function(arena) equip_weapons(arena, pl_name) create_and_show_HUD(arena, pl_name) block_league.HUD_show_inputs(pl_name) + arena_lib.HUD_send_msg("broadcast", pl_name, S("The game will start soon")) block_league.refill_weapons(arena, pl_name) - - minetest.after(3, function() - minetest.sound_play("bl_voice_countdown", {to_player = pl_name}) - end) end minetest.after(0.1, function() block_league.info_panel_update(arena) end) + block_league.countdown_and_start(arena, 3) end) @@ -35,7 +33,6 @@ arena_lib.on_start("block_league", function(arena) block_league.HUD_remove_inputs(pl_name) end - block_league.round_start(arena) block_league.energy_refill_loop(arena) end) @@ -165,6 +162,7 @@ end function remove_HUD(p_name) + arena_lib.HUD_hide("all", p_name) panel_lib.get_panel(p_name, "bl_info_panel"):remove() panel_lib.get_panel(p_name, "bl_scoreboard"):remove() panel_lib.get_panel(p_name, "bl_bullets"):remove() diff --git a/bl_modes/TD/ball.lua b/bl_modes/TD/ball.lua index f51ba83..7a30728 100644 --- a/bl_modes/TD/ball.lua +++ b/bl_modes/TD/ball.lua @@ -332,15 +332,7 @@ function after_point(w_name, teamID, arena) -- sennĂ² inizia un nuovo round else - minetest.after(2, function() - for pl_name, _ in pairs(arena.players) do - minetest.sound_play("bl_voice_countdown", {to_player = pl_name}) - end - end) - - minetest.after(5, function() - block_league.round_start(arena) - end) + block_league.countdown_and_start(arena, 3) end end diff --git a/bl_modes/game_main.lua b/bl_modes/game_main.lua index 045cda5..d82c0bf 100644 --- a/bl_modes/game_main.lua +++ b/bl_modes/game_main.lua @@ -1,8 +1,57 @@ +local function display_and_start_countdown() end +local function round_start() end local function load_ball() end -function block_league.round_start(arena) +function block_league.countdown_and_start(arena, time) + minetest.after(3, function() + for pl_name, _ in pairs(arena.players) do + minetest.sound_play("bl_voice_countdown_" .. time, {to_player = pl_name}) + end + display_and_start_countdown(arena, time) + end) +end + + + +function block_league.refill_weapons(arena, p_name) + --TODO avere una tabella per giocatore che tenga traccia delle armi equipaggiate + local default_weapons = {"block_league:smg", "block_league:sword", "block_league:pixelgun"} + + for i, weapon_name in pairs(default_weapons) do + local magazine = minetest.registered_nodes[weapon_name].magazine + + if magazine then + arena.players[p_name].weapons_magazine[weapon_name] = magazine + block_league.weapons_hud_update(arena, p_name, weapon_name, magazine) + end + end +end + + + + + +---------------------------------------------- +---------------FUNZIONI LOCALI---------------- +---------------------------------------------- + +function display_and_start_countdown(arena, time_left) + + if time_left > 0 then + arena_lib.HUD_send_msg_all("broadcast", arena, time_left) + time_left = time_left -1 + minetest.after(1, function() display_and_start_countdown(arena, time_left) end) + else + arena_lib.HUD_hide("broadcast", arena) + round_start(arena) + end +end + + + +function round_start(arena) for p_name, stats in pairs(arena.players) do local player = minetest.get_player_by_name(p_name) @@ -35,28 +84,6 @@ end -function block_league.refill_weapons(arena, p_name) - --TODO avere una tabella per giocatore che tenga traccia delle armi equipaggiate - local default_weapons = {"block_league:smg", "block_league:sword", "block_league:pixelgun"} - - for i, weapon_name in pairs(default_weapons) do - local magazine = minetest.registered_nodes[weapon_name].magazine - - if magazine then - arena.players[p_name].weapons_magazine[weapon_name] = magazine - block_league.weapons_hud_update(arena, p_name, weapon_name, magazine) - end - end -end - - - - - ----------------------------------------------- ----------------FUNZIONI LOCALI---------------- ----------------------------------------------- - function load_ball(arena) minetest.forceload_block(arena.ball_spawn, true) minetest.add_entity(arena.ball_spawn,"block_league:ball",arena.name) diff --git a/locale/block_league.it.tr b/locale/block_league.it.tr index b4b1958..56f9c4e 100644 --- a/locale/block_league.it.tr +++ b/locale/block_league.it.tr @@ -25,6 +25,9 @@ Back in the game in @1=Di nuovo in partita tra @1 # privs.lua It allows to use the /bladmin command=Permette di usare il comando /bladmin +# bl_arena_lib/arena_manager.lua +The game will start soon=La partita comincerĂ  a breve + # bl_arena_lib/arena_timer.lua No one=Nessuno diff --git a/locale/template.txt b/locale/template.txt index 222e740..a70362e 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -25,6 +25,9 @@ Back in the game in @1= # privs.lua It allows to use the /bladmin command= +# bl_arena_lib/arena_manager.lua +The game will start soon= + # bl_arena_lib/arena_timer.lua No one= diff --git a/sounds/bl_voice_countdown.ogg b/sounds/bl_voice_countdown_3.ogg similarity index 100% rename from sounds/bl_voice_countdown.ogg rename to sounds/bl_voice_countdown_3.ogg