Bugfix scritta BLOODBATH non tradotta + inserimento pannello conteggio uccisioni team (per ora grafica spiccia)

master
Zughy 2020-08-03 01:13:56 +02:00
parent 3a770829d0
commit f79b761ae9
4 changed files with 80 additions and 2 deletions

44
_HUD/hud_teams_score.lua Normal file
View File

@ -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

View File

@ -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,

View File

@ -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)

View File

@ -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")