Points and TDs instead of kills and deaths in TD mode
parent
ebfa75799a
commit
9af8b84ea0
|
@ -6,7 +6,6 @@ function block_league.info_panel_create(arena, p_name)
|
|||
bg_scale = { x = 45, y = 28 },
|
||||
position = { x = 0.5, y = 0.5 },
|
||||
alignment = { x = 0, y = 0 },
|
||||
title = "PLAYERS\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t\tKILLS\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t\t\t\t\t\t\t\tDEATHS",
|
||||
title_offset = { x = 0, y = -150},
|
||||
title_color = 0xdff6f5,
|
||||
|
||||
|
@ -39,7 +38,7 @@ function block_league.info_panel_create(arena, p_name)
|
|||
offset = {x = -250, y = -130},
|
||||
text = ""
|
||||
},
|
||||
kls_clmn = {
|
||||
pts_clmn = {
|
||||
alignment = { x = 0, y = 1 },
|
||||
offset = {x = 0, y = -130},
|
||||
text = ""
|
||||
|
@ -58,8 +57,8 @@ end
|
|||
function block_league.info_panel_update(arena)
|
||||
|
||||
local plyrs_clmn = ""
|
||||
local kills_clmn = ""
|
||||
local deaths_clmn = ""
|
||||
local pts_clmn = ""
|
||||
local third_clmn = ""
|
||||
|
||||
-- creo una tabella per avere i giocatori ordinati con nome come KEY
|
||||
local players_idx = {}
|
||||
|
@ -74,14 +73,25 @@ function block_league.info_panel_update(arena)
|
|||
-- ordino i team
|
||||
for id, team in pairs(arena.teams) do
|
||||
--salvo anche l'id del team così da non dover iterare di nuovo
|
||||
table.insert(sorted_teams, {name = team.name, kills = team.kills, deaths = team.deaths, id = id})
|
||||
table.insert(sorted_teams, {name = team.name, id = id})
|
||||
end
|
||||
|
||||
local third_clmn_title
|
||||
local third_clmn_value
|
||||
|
||||
if arena.mode == 1 then
|
||||
third_clmn_title = S("TDs")
|
||||
third_clmn_value = "TDs"
|
||||
else
|
||||
third_clmn_title = S("Deaths")
|
||||
third_clmn_value = "deaths"
|
||||
end
|
||||
|
||||
-- determino come stampare i team seguiti dai giocatori
|
||||
for _, team in pairs(sorted_teams) do
|
||||
plyrs_clmn = plyrs_clmn .. S("Team") .. " " .. team.name .. "\n\n"
|
||||
kills_clmn = kills_clmn .. team.kills .. "\n\n"
|
||||
deaths_clmn = deaths_clmn .. team.deaths .. "\n\n"
|
||||
pts_clmn = pts_clmn .. S("Points") .. "\n\n"
|
||||
third_clmn = third_clmn .. third_clmn_title .. "\n\n"
|
||||
|
||||
if team.name == S("orange") then
|
||||
bar_orange = bar_pos
|
||||
|
@ -93,7 +103,7 @@ function block_league.info_panel_update(arena)
|
|||
local sorted_players = {}
|
||||
|
||||
for _, pl_name in pairs(arena_lib.get_players_in_team(arena, team.id)) do
|
||||
table.insert(sorted_players, {pl_name, arena.players[pl_name].kills, arena.players[pl_name].deaths})
|
||||
table.insert(sorted_players, {pl_name, arena.players[pl_name].points, arena.players[pl_name][third_clmn_value]})
|
||||
end
|
||||
|
||||
table.sort(sorted_players, function (a,b) return a[2] > b[2] end)
|
||||
|
@ -102,8 +112,8 @@ function block_league.info_panel_update(arena)
|
|||
for _, stats in pairs(sorted_players) do
|
||||
|
||||
plyrs_clmn = plyrs_clmn .. stats[1] .. "\n\n"
|
||||
kills_clmn = kills_clmn .. stats[2] .. "\n\n"
|
||||
deaths_clmn = deaths_clmn .. stats[3] .. "\n\n"
|
||||
pts_clmn = pts_clmn .. stats[2] .. "\n\n"
|
||||
third_clmn = third_clmn .. stats[3] .. "\n\n"
|
||||
|
||||
players_idx[stats[1]] = bar_pos
|
||||
bar_pos = bar_pos + dist_between_bars
|
||||
|
@ -111,8 +121,8 @@ function block_league.info_panel_update(arena)
|
|||
end
|
||||
|
||||
plyrs_clmn = plyrs_clmn .. "\n\n"
|
||||
kills_clmn = kills_clmn .. "\n\n"
|
||||
deaths_clmn = deaths_clmn .. "\n\n"
|
||||
pts_clmn = pts_clmn .. "\n\n"
|
||||
third_clmn = third_clmn .. "\n\n"
|
||||
bar_pos = bar_pos + dist_between_bars
|
||||
|
||||
end
|
||||
|
@ -127,11 +137,11 @@ function block_league.info_panel_update(arena)
|
|||
{players_clmn = {
|
||||
text = plyrs_clmn
|
||||
},
|
||||
kls_clmn = {
|
||||
text = kills_clmn
|
||||
pts_clmn = {
|
||||
text = pts_clmn
|
||||
},
|
||||
dts_clmn = {
|
||||
text = deaths_clmn
|
||||
text = third_clmn
|
||||
}},
|
||||
|
||||
{player_indicator = {
|
||||
|
|
|
@ -175,6 +175,9 @@ function ball:attach(player)
|
|||
player:get_meta():set_int("bl_has_ball", 1)
|
||||
block_league.energy_drain(arena, p_name)
|
||||
|
||||
arena.players[p_name].points = arena.players[p_name].points + 2
|
||||
block_league.info_panel_update(arena)
|
||||
|
||||
self.object:set_attach(player, "Body", {x=0, y=18, z=0}, {x=0, y=0, z=0})
|
||||
self.wielder = player
|
||||
|
||||
|
@ -288,7 +291,7 @@ function check_for_touchdown(id, arena, ball, wielder, w_pos, goal)
|
|||
|
||||
block_league.hud_log_update(arena, "bl_log_TD.png", w_name, "")
|
||||
|
||||
add_point(teamID, arena)
|
||||
add_point(w_name, teamID, arena)
|
||||
after_point(w_name, teamID, arena)
|
||||
|
||||
ball:_destroy()
|
||||
|
@ -298,7 +301,7 @@ end
|
|||
|
||||
|
||||
|
||||
function add_point(teamID, arena)
|
||||
function add_point(w_name, teamID, arena)
|
||||
|
||||
local enemy_teamID = teamID == 1 and 2 or 1
|
||||
local team = arena_lib.get_players_in_team(arena, teamID)
|
||||
|
@ -322,7 +325,10 @@ function add_point(teamID, arena)
|
|||
end
|
||||
|
||||
arena.teams[teamID].TDs = arena.teams[teamID].TDs + 1
|
||||
arena.players[w_name].TDs = arena.players[w_name].TDs + 1
|
||||
arena.players[w_name].points = arena.players[w_name].points + 10
|
||||
block_league.scoreboard_update_score(arena)
|
||||
block_league.info_panel_update(arena)
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -291,7 +291,7 @@ function block_league.apply_damage(user, targets, weapon, decrease_damage_with_d
|
|||
})
|
||||
-- sennò kaputt
|
||||
else
|
||||
kill(arena, weapon, p_name, target)
|
||||
kill(arena, weapon, user, target)
|
||||
if t_name ~= p_name then
|
||||
killed_players = killed_players +1
|
||||
end
|
||||
|
@ -608,18 +608,18 @@ function after_damage(arena, p_name, killed_players)
|
|||
|
||||
arena_lib.send_message_in_arena(arena, minetest.colorize("#eea160", p_name .. " ") .. minetest.colorize("#d7ded7", S("has killed @1 players in a row!", killed_players)))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
function kill(arena, weapon, p_name, target)
|
||||
function kill(arena, weapon, player, target)
|
||||
|
||||
local p_name = player:get_player_name()
|
||||
local t_name = target:get_player_name()
|
||||
|
||||
-- riproduco suono morte
|
||||
block_league.sound_play("bl_kill", p_name)
|
||||
|
||||
local t_name = target:get_player_name()
|
||||
|
||||
if t_name ~= p_name then
|
||||
|
||||
-- informo dell'uccisione
|
||||
|
@ -641,9 +641,20 @@ function kill(arena, weapon, p_name, target)
|
|||
local p_stats = arena.players[p_name]
|
||||
local team = arena.teams[arena.players[p_name].teamID]
|
||||
|
||||
-- aggiungo la kill
|
||||
team.kills = team.kills +1
|
||||
p_stats.kills = p_stats.kills +1
|
||||
-- aggiungo l'uccisione
|
||||
team.kills = team.kills + 1
|
||||
p_stats.kills = p_stats.kills + 1
|
||||
|
||||
-- calcolo i punti
|
||||
if arena.mode == 1 then
|
||||
if player:get_meta():get_int("bl_has_ball") == 1 or target:get_meta():get_int("bl_has_ball") == 1 then
|
||||
p_stats.points = p_stats.points + 4
|
||||
else
|
||||
p_stats.points = p_stats.points + 2
|
||||
end
|
||||
else
|
||||
p_stats.points = p_stats.points + 2
|
||||
end
|
||||
|
||||
-- aggiorno HUD
|
||||
block_league.info_panel_update(arena)
|
||||
|
|
3
init.lua
3
init.lua
|
@ -56,11 +56,14 @@ arena_lib.register_minigame("block_league", {
|
|||
},
|
||||
team_properties = {
|
||||
TDs = 0,
|
||||
points = 0,
|
||||
kills = 0,
|
||||
deaths = 0
|
||||
},
|
||||
player_properties = {
|
||||
energy = 100,
|
||||
TDs = 0,
|
||||
points = 0,
|
||||
weapons_magazine = {}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -37,6 +37,11 @@ You already are in test mode!=Sei già in modalità test!
|
|||
You've entered test mode=Sei entrato in modalità test
|
||||
You've left test mode=Sei uscito dalla modalità test
|
||||
|
||||
# bl_HUD/hud_info_panel.lua
|
||||
TDs=TD
|
||||
Deaths=Morti
|
||||
Points=Punti
|
||||
|
||||
# bl_modes/TD/ball.lua
|
||||
Ball reset=Palla resettata
|
||||
NICE POINT!=BEL PUNTO!
|
||||
|
|
|
@ -37,6 +37,11 @@ You already are in test mode!=
|
|||
You've entered test mode=
|
||||
You've left test mode=
|
||||
|
||||
# bl_HUD/hud_info_panel.lua
|
||||
TDs=
|
||||
Deaths=
|
||||
Points=
|
||||
|
||||
# bl_modes/TD/ball.lua
|
||||
Ball reset=
|
||||
NICE POINT!=
|
||||
|
|
Loading…
Reference in New Issue