diff --git a/src/game/TD/ball.lua b/src/game/TD/ball.lua index 42178a0..a692d76 100644 --- a/src/game/TD/ball.lua +++ b/src/game/TD/ball.lua @@ -349,8 +349,13 @@ end function after_point(teamID, arena) + -- disabilita le armi e interrompi spari vari arena.weapons_disabled = true + for pl_name, _ in pairs(arena.players) do + minetest.get_player_by_name(pl_name):get_meta():set_int("bl_is_shooting", 0) + end + -- se rimane troppo poco tempo, aspetta la fine del match if arena.current_time <= 6 then return end diff --git a/src/weapons/weapons.lua b/src/weapons/weapons.lua index bc9d08a..37cde4b 100644 --- a/src/weapons/weapons.lua +++ b/src/weapons/weapons.lua @@ -66,7 +66,7 @@ function block_league.register_weapon(name, def) else groups = {bl_weapon = 1} end - + minetest.register_node(name, { name = def.name, groups = groups, @@ -475,9 +475,11 @@ function shoot_loop(weapon, player, pointed_thing) end -- interrompo lo sparo, se non รจ un'arma a fuoco continuo + if not weapon.continuos_fire then return end + minetest.after(0.1, function() if not arena_lib.is_player_in_arena(p_name, "block_league") then return end - if weapon.continuos_fire and player:get_player_control().LMB and player:get_meta():get_int("bl_is_shooting") == 1 then + if player:get_player_control().LMB and player:get_meta():get_int("bl_is_shooting") == 1 then shoot_loop(weapon, player, pointed_thing) else shoot_end(player, weapon)