Bugfix scritta BLOODBATH non tradotta + inserimento pannello conteggio uccisioni team (per ora grafica spiccia)
parent
3a770829d0
commit
f79b761ae9
|
@ -0,0 +1,44 @@
|
|||
function quake.HUD_teams_score_create(p_name)
|
||||
|
||||
local panel = Panel:new({
|
||||
name = "quake_teams_score",
|
||||
player = p_name,
|
||||
position = { x = 0.5, y = 0},
|
||||
alignment = { x = 0, y = 0},
|
||||
bg_scale = { x = 15, y = 6},
|
||||
title = "",
|
||||
|
||||
sub_txt_elems = {
|
||||
team_red_kills = {
|
||||
offset = { x = -50, y = 25 },
|
||||
size = { x = 3 },
|
||||
number = "0xFF0000",
|
||||
text = "0"
|
||||
},
|
||||
team_blue_kills = {
|
||||
offset = { x = 50, y = 25 },
|
||||
size = { x = 3 },
|
||||
number = "0x00FFFF",
|
||||
text = "0"
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
function quake.HUD_teams_score_update(arena, p_name, teamID)
|
||||
|
||||
local panel = panel_lib.get_panel(p_name, "quake_teams_score")
|
||||
local kills = arena.teams[teamID].kills
|
||||
|
||||
if teamID == 1 then
|
||||
panel:update(nil,
|
||||
{team_red_kills = {
|
||||
text = kills
|
||||
}})
|
||||
else
|
||||
panel:update(nil,
|
||||
{team_blue_kills = {
|
||||
text = kills
|
||||
}})
|
||||
end
|
||||
end
|
|
@ -7,6 +7,11 @@ arena_lib.on_load("quake", function(arena)
|
|||
|
||||
panel_lib.get_panel(pl_name, "quake_stats"):show()
|
||||
|
||||
if arena.teams_enabled then
|
||||
quake.HUD_teams_score_create(pl_name)
|
||||
panel_lib.get_panel(pl_name, "quake_teams_score"):show()
|
||||
end
|
||||
|
||||
minetest.sound_play("quake_voice_countdown", {
|
||||
to_player = pl_name,
|
||||
})
|
||||
|
@ -56,6 +61,11 @@ arena_lib.on_join("quake", function(p_name, arena)
|
|||
quake.HUD_stats_create(p_name)
|
||||
quake.scoreboard_create(arena, p_name)
|
||||
|
||||
if arena.teams_enabled then
|
||||
quake.HUD_teams_score_create(p_name)
|
||||
panel_lib.get_panel(p_name, "quake_teams_score"):show()
|
||||
end
|
||||
|
||||
player:get_meta():set_int("quake_weap_delay", 0)
|
||||
|
||||
player:get_inventory():add_item("main", weapon)
|
||||
|
@ -72,6 +82,11 @@ arena_lib.on_join("quake", function(p_name, arena)
|
|||
|
||||
minetest.after(0.01, function()
|
||||
quake.scoreboard_update(arena)
|
||||
|
||||
if arena.teams_enabled then
|
||||
quake.HUD_teams_score_update(arena, p_name)
|
||||
end
|
||||
|
||||
if arena.kill_leader ~= "" then
|
||||
quake.HUD_stats_update(arena, p_name, "kill_leader")
|
||||
end
|
||||
|
@ -108,6 +123,12 @@ arena_lib.on_end("quake", function(arena, players)
|
|||
|
||||
stats:remove()
|
||||
scoreboard:remove()
|
||||
|
||||
if arena.teams_enabled then
|
||||
local team_score = panel_lib.get_panel(pl_name, "quake_teams_score")
|
||||
team_score:remove()
|
||||
end
|
||||
|
||||
quake.update_storage(pl_name)
|
||||
|
||||
minetest.get_player_by_name(pl_name):set_physics_override({
|
||||
|
@ -160,6 +181,11 @@ arena_lib.on_quit("quake", function(arena, p_name)
|
|||
stats:remove()
|
||||
scoreboard:remove()
|
||||
|
||||
if arena.teams_enabled then
|
||||
local team_score = panel_lib.get_panel(p_name, "quake_teams_score")
|
||||
team_score:remove()
|
||||
end
|
||||
|
||||
minetest.get_player_by_name(p_name):set_physics_override({
|
||||
speed = 1,
|
||||
jump = 1,
|
||||
|
|
|
@ -271,7 +271,7 @@ function kill(arena, p_name, target)
|
|||
quake.add_achievement(p_name, 2)
|
||||
quake.show_achievement(p_name, 2)
|
||||
elseif p_stats.killstreak == 7 then
|
||||
arena_lib.send_message_players_in_arena(arena, minetest.colorize("#eea160", p_name .. " ") .. minetest.colorize("#d7ded7", S("made a @1", string.upper(minetest.colorize("#eea160", S("bloodbath"))))) .. minetest.colorize("#d7ded7", "!"))
|
||||
arena_lib.send_message_players_in_arena(arena, minetest.colorize("#eea160", p_name .. " ") .. minetest.colorize("#d7ded7", S("made a @1", minetest.colorize("#eea160", S("bloodbath")))) .. minetest.colorize("#d7ded7", "!"))
|
||||
--quake.add_xp(p_name, 50)
|
||||
quake.add_achievement(p_name, 3)
|
||||
quake.show_achievement(p_name, 3)
|
||||
|
@ -281,6 +281,13 @@ function kill(arena, p_name, target)
|
|||
quake.HUD_stats_update(arena, p_name, "kills")
|
||||
quake.scoreboard_update(arena)
|
||||
|
||||
-- eventuale HUD team
|
||||
if arena.teams_enabled then
|
||||
for pl_name, stats in pairs(arena.players) do
|
||||
quake.HUD_teams_score_update(arena, pl_name, p_stats.teamID)
|
||||
end
|
||||
end
|
||||
|
||||
-- aggiungo XP
|
||||
--quake.add_xp(p_name, 5)
|
||||
|
||||
|
|
3
init.lua
3
init.lua
|
@ -47,8 +47,9 @@ dofile(minetest.get_modpath("quake") .. "/utils.lua")
|
|||
dofile(minetest.get_modpath("quake") .. "/_arena_lib/arena_manager.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_arena_lib/arena_properties.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_HUD/hud_achievements.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_HUD/hud_stats.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_HUD/hud_scoreboard.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_HUD/hud_stats.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_HUD/hud_teams_score.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_weapons/bullets.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_weapons/weapons.lua")
|
||||
dofile(minetest.get_modpath("quake") .. "/_weapons/weapons_utils.lua")
|
||||
|
|
Loading…
Reference in New Issue