Translations updated | less redundancy and better editor structure

master
Marco 2020-05-29 23:22:47 +02:00
parent a434da315b
commit ce106e1881
10 changed files with 237 additions and 172 deletions

View File

@ -1,6 +1,10 @@
local S = minetest.get_translator("arena_lib")
minetest.register_tool("arena_lib:editor_spawners", {
description = "Spawner",
description = S("Spawners"),
inventory_image = "arenalib_editor_spawners.png",
groups = {not_in_creative_inventory = 1, oddly_breakable_by_hand = "2"},
on_place = function() end,
@ -8,9 +12,9 @@ minetest.register_tool("arena_lib:editor_spawners", {
on_use = function(itemstack, user)
arena_lib.HUD_send_msg("hotbar", user:get_player_name(), "Spawner | ID sel.: 1 (Click dx su slot #2 per cambiare)")
user:get_meta():set_int("arena_lib_editor.spawner_ID", 1)
arena_lib.HUD_send_msg("hotbar", user:get_player_name(), S("Spawners | sel. ID: @1 (right click slot #2 to change)", 1))
minetest.after(0, function()
arena_lib.give_spawners_tools(user)
@ -23,7 +27,7 @@ minetest.register_tool("arena_lib:editor_spawners", {
minetest.register_tool("arena_lib:editor_signs", {
description = "Cartelli",
description = S("Signs"),
inventory_image = "arenalib_editor_signs.png",
groups = {not_in_creative_inventory = 1, oddly_breakable_by_hand = "2"},
on_place = function() end,
@ -31,7 +35,7 @@ minetest.register_tool("arena_lib:editor_signs", {
on_use = function(itemstack, user)
arena_lib.HUD_send_msg("hotbar", user:get_player_name(), "Un cartello per arena")
arena_lib.HUD_send_msg("hotbar", user:get_player_name(), S("One sign per arena"))
minetest.after(0, function()
arena_lib.give_signs_tools(user)
@ -44,7 +48,7 @@ minetest.register_tool("arena_lib:editor_signs", {
minetest.register_tool("arena_lib:editor_info", {
description = "Info",
description = S("Info"),
inventory_image = "arenalib_editor_info.png",
groups = {not_in_creative_inventory = 1, oddly_breakable_by_hand = "2"},
on_place = function() end,
@ -64,7 +68,7 @@ minetest.register_tool("arena_lib:editor_info", {
minetest.register_tool("arena_lib:editor_return", {
description = "Torna indietro",
description = S("Go back"),
inventory_image = "arenalib_editor_return.png",
groups = {not_in_creative_inventory = 1, oddly_breakable_by_hand = "2"},
on_place = function() end,
@ -82,7 +86,7 @@ minetest.register_tool("arena_lib:editor_return", {
minetest.register_tool("arena_lib:editor_quit", {
description = "Esci dall'editor",
description = S("Leave the editor"),
inventory_image = "arenalib_editor_quit.png",
groups = {not_in_creative_inventory = 1, oddly_breakable_by_hand = "2"},
on_place = function() end,

View File

@ -1,5 +1,6 @@
local S = minetest.get_translator("arena_lib")
local in_edit_mode = {} -- arenas names
local arenas_in_edit_mode = {} -- KEY: arena name; INDEX: name of the player inside the editor
local players_in_edit_mode = {} -- KEY: player name; INDEX: (placeholder, not relevant)
local editor_tools = {
"",
"arena_lib:editor_spawners",
@ -17,20 +18,7 @@ function arena_lib.enter_editor(sender, mod, arena_name)
local id, arena = arena_lib.get_arena_by_name(mod, arena_name)
-- controllo se esiste l'arena
if arena == nil then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] This arena doesn't exist!")))
return end
-- se è abilitata, annullo
if arena.enabled then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] You must disable the arena first!")))
return end
-- se sta già venendo modificata da qualcuno, annullo
if in_edit_mode[arena_name] ~= nil then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", "[!] L'arena sta già venendo modificata da qualcun altro! (" .. in_edit_mode[arena_name] .. ")"))
return end
if not ARENA_LIB_EDIT_PRECHECKS_PASSED(sender, arena) then return end
local player = minetest.get_player_by_name(sender)
@ -42,7 +30,8 @@ function arena_lib.enter_editor(sender, mod, arena_name)
arena_lib.show_main_editor(player)
-- metto l'arena in edit mode
in_edit_mode[arena_name] = sender
arenas_in_edit_mode[arena_name] = sender
players_in_edit_mode[sender] = true
end
@ -54,7 +43,8 @@ function arena_lib.quit_editor(player)
if arena_name == "" then return end
in_edit_mode[arena_name] = nil
arenas_in_edit_mode[arena_name] = nil
players_in_edit_mode[player:get_player_name()] = nil
player:get_meta():set_string("arena_lib_editor.mod", "")
player:get_meta():set_string("arena_lib_editor.arena", "")
@ -70,24 +60,42 @@ end
----------------------------------------------
--------------------UTILS---------------------
----------------------------------------------
function arena_lib.show_main_editor(player)
local arena_name = player:get_meta():get_string("arena_lib_editor.arena")
player:get_inventory():set_list("main", editor_tools)
arena_lib.HUD_send_msg("hotbar", player:get_player_name(), "Arena_lib editor | Stai modificando: " .. arena_name)
arena_lib.HUD_send_msg("hotbar", player:get_player_name(), S("Arena_lib editor | Now editing: @1", arena_name))
end
function arena_lib.is_arena_in_edit_mode(arena_name, player_exception)
if player_exception then
if in_edit_mode[arena_name] == player_exception then return false end
end
if in_edit_mode[arena_name] ~= nil then return true
else return false
end
function arena_lib.is_arena_in_edit_mode(arena_name)
if arenas_in_edit_mode[arena_name] ~= nil then return true
else return false end
end
function arena_lib.is_player_in_edit_mode(p_name)
if players_in_edit_mode[p_name] ~= nil then return true
else return false end
end
----------------------------------------------
-----------------GETTERS----------------------
----------------------------------------------
function arena_lib.get_player_in_edit_mode(arena_name)
return arenas_in_edit_mode[arena_name]
end

View File

@ -2,10 +2,10 @@ local S = minetest.get_translator("arena_lib")
local spawners_tools = {
"arena_lib:sign_add",
"arena_lib:sign_remove",
"",
"default:sign_wall",
"default:sign_wall_steel",
"",
"",
"arena_lib:editor_return",
"arena_lib:editor_quit",
}
@ -14,7 +14,7 @@ local spawners_tools = {
minetest.register_tool("arena_lib:sign_add", {
description = S("Left click on a sign to create the access to the arena"),
description = S("Add sign"),
inventory_image = "arenalib_tool_sign_add.png",
groups = {not_in_creative_inventory = 1, oddly_breakable_by_hand = "2"},
on_place = function() end,
@ -41,7 +41,7 @@ minetest.register_tool("arena_lib:sign_add", {
minetest.register_tool("arena_lib:sign_remove", {
description = S("Left click on a sign to remove the access to the arena"),
description = S("Remove sign"),
inventory_image = "arenalib_tool_sign_remove.png",
groups = {not_in_creative_inventory = 1, oddly_breakable_by_hand = "2"},
on_place = function() end,

View File

@ -72,7 +72,7 @@ minetest.register_tool("arena_lib:spawner_remove", {
end
placer:get_meta():set_int("arena_lib_editor.spawner_ID", spawner_ID)
arena_lib.HUD_send_msg("hotbar", placer:get_player_name(), "Spawner | ID sel.: " .. spawner_ID .. " (Click dx su slot #2 per cambiare)")
arena_lib.HUD_send_msg("hotbar", placer:get_player_name(), S("Spawners | sel. ID: @1 (right click slot #2 to change)", spawner_ID))
end
})
@ -81,7 +81,7 @@ minetest.register_tool("arena_lib:spawner_remove", {
minetest.register_tool("arena_lib:spawner_deleteall", {
description = "Cancella tutto",
description = S("Delete all spawners"),
inventory_image = "arenalib_tool_spawner_deleteall.png",
groups = {not_in_creative_inventory = 1, oddly_breakable_by_hand = "2"},
on_place = function() end,
@ -94,7 +94,7 @@ minetest.register_tool("arena_lib:spawner_deleteall", {
local p_name = user:get_player_name()
arena_lib.set_spawner(p_name, mod, arena_name, "deleteall")
minetest.chat_send_player(user:get_player_name(), "Tutti gli spawn point sono stati rimossi")
minetest.chat_send_player(user:get_player_name(), S("All the spawn points has been removed"))
end
})

89
api.lua
View File

@ -225,24 +225,17 @@ function arena_lib.remove_arena(sender, mod, arena_name)
local id, arena = arena_lib.get_arena_by_name(mod, arena_name)
if not arena then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There is no arena named @1!", arena_name)))
return end
if arena.in_game then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There is an ongoing match inside the arena @1: impossible to remove!", arena_name)))
return end
if not ARENA_LIB_EDIT_PRECHECKS_PASSED(sender, arena) then return end
--TODO: -chiedere conferma
-- rimozione cartello coi rispettivi metadati
if arena.sign ~= nil then
minetest.set_node(arena.sign, {name = "air"}) end
minetest.set_node(arena.sign, {name = "air"})
end
local mod_ref = arena_lib.mods[mod]
arena_lib.send_message_players_in_arena(arena, mod_ref.prefix ..S("The arena you were queueing for has been removed... :("))
-- rimozione arena e aggiornamento storage
mod_ref.arenas[id] = nil
update_storage(true, mod, id, arena)
@ -259,20 +252,7 @@ function arena_lib.set_spawner(sender, mod, arena_name, param, ID)
local id, arena = arena_lib.get_arena_by_name(mod, arena_name)
-- se non esiste l'arena, annullo
if arena == nil then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] This arena doesn't exist!")))
return end
-- se non è disabilitata, annullo
if arena.enabled then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] You must disable the arena first!")))
return end
-- se è in modalità edit, annullo
if arena_lib.is_arena_in_edit_mode(arena_name, sender) then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] Someone is already editing this arena!")))
return end
if not ARENA_LIB_EDIT_PRECHECKS_PASSED(sender, arena) then return end
local pos = vector.floor(minetest.get_player_by_name(sender):get_pos()) -- tolgo i decimali per immagazzinare un int
local pos_Y_up = {x = pos.x, y = pos.y+1, z = pos.z} -- alzo Y di uno sennò tippa nel blocco
@ -321,7 +301,8 @@ function arena_lib.set_spawner(sender, mod, arena_name, param, ID)
-- se c'è già uno spawner in quel punto, annullo
for id, spawn in pairs(arena.spawn_points) do
if minetest.serialize(pos_Y_up) == minetest.serialize(spawn) then minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There's already a spawn in this point!")))
if minetest.serialize(pos_Y_up) == minetest.serialize(spawn) then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There's already a spawn in this point!")))
return end
end
@ -346,20 +327,7 @@ function arena_lib.set_sign(sender, pos, remove, mod, arena_name)
if mod then
arena_ID, arena = arena_lib.get_arena_by_name(mod, arena_name)
-- se non esiste, annullo
if not arena then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] This arena doesn't exist!")))
return end
-- se l'arena è abilitata annullo
if arena.enabled then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] You must disable the arena first!")))
return end
-- se è in modalità edit, annullo
if arena_lib.is_arena_in_edit_mode(arena_name, sender) then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] Someone is already editing this arena!")))
return end
if not ARENA_LIB_EDIT_PRECHECKS_PASSED(sender, arena) then return end
local player = minetest.get_player_by_name(sender)
local p_pos = player:get_pos()
@ -392,6 +360,8 @@ function arena_lib.set_sign(sender, pos, remove, mod, arena_name)
arena_ID, arena = arena_lib.get_arena_by_name(mod, player:get_meta():get_string("arena_lib_editor.arena"))
end
local mod_ref = arena_lib.mods[mod]
-- se c'è già un cartello assegnato
if next(arena.sign) ~= nil then
-- dal linea di comando non fa distinzione (nil), sennò sto usando lo strumento per rimuovere da editor (remove == true)
@ -399,17 +369,17 @@ function arena_lib.set_sign(sender, pos, remove, mod, arena_name)
if minetest.serialize(pos) == minetest.serialize(arena.sign) then
minetest.set_node(pos, {name = "air"})
arena.sign = {}
minetest.chat_send_player(sender, S("Sign of arena @1 successfully removed", arena.name))
minetest.chat_send_player(sender, mod_ref.prefix .. S("Sign of arena @1 successfully removed", arena.name))
update_storage(false, mod, arena_ID, arena)
else
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] This sign doesn't belong to the arena @1!", arena.name)))
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] This sign doesn't belong to @1!", arena.name)))
end
elseif remove == false then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] C'è già un cartello per quest'arena!")))
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There is already a sign for this arena!")))
end
return
elseif remove == true then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", "[!] Non c'è nessun cartello da rimuovere assegnato a quest'arena!"))
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There is no sign to remove assigned to @1!", arena.name)))
return
end
@ -424,36 +394,32 @@ function arena_lib.set_sign(sender, pos, remove, mod, arena_name)
minetest.get_meta(pos):set_string("mod", mod)
minetest.get_meta(pos):set_int("arenaID", arena_ID)
minetest.chat_send_player(sender, mod_ref.prefix .. S("Sign of arena @1 successfully set", arena.name))
end
function arena_lib.enable_arena(sender, mod, arena_name)
local mod_ref = arena_lib.mods[mod]
local arena_ID, arena = arena_lib.get_arena_by_name(mod, arena_name)
-- controllo se esiste l'arena
if not arena then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There is no arena named @1!", arena_name)))
return end
if not ARENA_LIB_EDIT_PRECHECKS_PASSED(sender, arena) then return end
-- se è già abilitata, annullo
if arena.enabled then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] The arena is already enabled")))
return end
-- check requisiti: spawner e cartello
-- check requisiti: spawner
if arena_lib.get_arena_spawners_count(arena) < arena.max_players then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] Insufficient spawners, the arena has been disabled!")))
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] Insufficient spawners, the arena can't be enabled!")))
arena.enabled = false
return end
-- cartello
if not arena.sign.x then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] Sign not set, the arena has been disabled!")))
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] Sign not set, the arena can't be enabled!")))
arena.enabled = false
return end
local mod_ref = arena_lib.mods[mod]
-- abilito
arena.enabled = true
arena_lib.update_sign(arena.sign, arena)
@ -469,14 +435,11 @@ function arena_lib.disable_arena(sender, mod, arena_name)
local mod_ref = arena_lib.mods[mod]
local arena_ID, arena = arena_lib.get_arena_by_name(mod, arena_name)
-- controllo se esiste l'arena
if not arena then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There is no arena named @1!", arena_name)))
return end
if not ARENA_LIB_EDIT_PRECHECKS_PASSED(sender, arena, true) then return end
-- se è già disabilitata, annullo
if not arena.enabled then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] The arena is already disabled")))
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] The arena is already disabled!")))
return end
-- se una partita è in corso, annullo
@ -490,7 +453,7 @@ function arena_lib.disable_arena(sender, mod, arena_name)
players_in_queue[pl_name] = nil
arena.players[pl_name] = nil
arena.in_queue = false
minetest.chat_send_player(pl_name, minetest.colorize("#e6482e", S("[!] The arena you were queueing for has been disabled!")))
minetest.chat_send_player(pl_name, minetest.colorize("#e6482e", S("[!] The arena you were queueing for has been disabled... :()")))
end
@ -853,7 +816,7 @@ function arena_lib.remove_player_from_arena(p_name, reason)
mod_ref.on_kick(arena, p_name)
end
elseif reason == 3 then
arena_lib.send_message_players_in_arena(arena, minetest.colorize("#d69298", "<<< " .. S("@1 has quit the arena", p_name)))
arena_lib.send_message_players_in_arena(arena, minetest.colorize("#d69298", "<<< " .. S("@1 has quit the match", p_name)))
if mod_ref.on_quit then
mod_ref.on_quit(arena, p_name)
end

View File

@ -6,33 +6,32 @@
# api.lua
[!] An arena with that name exists already!=[!] Esiste già un'arena con quel nome!
Arena @1 succesfully created=Arena @1 creata con successo
[!] There is no arena named @1!=[!] Non c'è nessun'arena chiamata @1!
[!] There is an ongoing match inside the arena @1: impossible to remove!=[!] Una partita è in corso nell'arena @1: impossibile rimuoverla!
The arena you were queueing for has been removed... :(=L'arena per la quale eri in coda è stata rimossa... :(
Arena @1 successfully removed=Arena @1 rimossa con successo
[!] This arena doesn't exist!=[!] Quest'arena non esiste!
[!] Spawn points can't exceed the maximum number of players!=[!] Gli spawn point non possono superare i giocatori massimi!
[!] No spawner with that ID to overwrite!=[!] Nessuno spawner con quell'ID da sovrascrivere!
[!] You can't set the spawn point in the air!=[!] Non puoi impostare spawn point nell'aria!
[!] There's already one spawn at this point!=[!] C'è già uno spawn in questo punto!
Spawn point #@1 successfully overwritten=Spawn point #@1 sovrascritto con successo
Spawn point #@1 successfully set=Spawn point #@1 impostato con successo
[!] You must disable the arena first!=[!] Devi prima disabilitare l'arena!
Spawn point #@1 successfully overwritten=Punto di spawn #@1 sovrascritto con successo
[!] No spawner with that ID to delete!=[!] Nessuno spawner con quell'ID da cancellare!
Spawn point #@1 successfully deleted=Punto di spawn #@1 cancellato con successo
[!] Unknown parameter!=[!] Parametro non riconosciuto!
[!] Spawn points can't exceed the maximum number of players!=[!] I punti di spawn non possono superare i giocatori massimi!
[!] There's already a spawn in this point!=[!] C'è già uno spawn in questo punto!
Spawn point #@1 successfully set=Punto di spawn #@1 impostato con successo
[!] That's not a sign!=[!] Questo non è un cartello!
Sign of arena @1 successfully removed=Cartello dell'arena @1 rimosso con successo
[!] This sign doesn't belong to @1!=[!] Questo cartello non appartiene a @1!
[!] There is already a sign for this arena!=[!] Esiste già un cartello per quest'arena!
[!] The arena is already enabled=[!] L'arena è già abilitata
[!] Insufficient spawners, the arena has been disabled!=[!] Spawner insufficienti, arena disabilitata!
[!] Sign not set, the arena has been disabled!=[!] Cartello non impostato, arena disabilitata!
[!] There is no sign to remove assigned to @1!=[!] Non c'è nessun cartello da rimuovere assegnato a @1!
Sign of arena @1 successfully set=Cartello dell'arena @1 impostato con successo
[!] Insufficient spawners, the arena can't be enabled!=[!] Spawner insufficienti, l'arena non può essere abilitata!
[!] Sign not set, the arena can't be enabled!=[!] Cartello non impostato, l'arena non può essere abilitata!
Arena @1 successfully enabled=Arena @1 abilitata con successo
[!] The arena is already disabled=[!] L'arena è già disabilitata
[!] You can't disable an arena during an ongoing game!=[!] Non puoi disabilitare un'arena mentre una partita è in corso!
[!] The arena you were queueing for has been disabled!=[!] L'arena per la quale eri in coda è stata disabilitata!
[!] The arena you were queueing for has been disabled... :(=[!] L'arena per la quale eri in coda è stata disabilitata... :(
Arena @1 successfully disabled=Arena @1 disabilitata con successo
@1 wins the game=@1 ha vinto la partita
@1 has been eliminated=@1 è stato eliminato
@1 has been kicked=@1 è stato cacciato
@1 has quit the arena=@1 ha abbandonato l'arena
# TODO: quit option | @1 has left the game=@1 ha abbandonato la partita
@1 has quit the match=@1 ha abbandonato la partita
Waiting for more players...=In attesa di più giocatori...
The queue has been cancelled due to not enough players=La coda è stata annullata per troppi pochi giocatori
You're the last player standing: you win!=Sei l'ultimo giocatore rimasto in partita: hai vinto!
@ -41,13 +40,6 @@ You win the game due to not enough players=Hai vinto la partita per troppi pochi
# debug_utilities.lua
name: =nome:
Total arenas: =Arene totali:
Name: =Nome:
Enabled: =Abilitata:
Sign: =Cartello:
Players required: =Giocatori minimi:
Players supported: =Giocatori massimi:
Players inside: =Giocatori dentro:
Status: =Stato:
in queue=in coda
loading=in caricamento
in game=in partita
@ -55,7 +47,14 @@ celebrating=in celebrazione
waiting=in attesa
Timer: =Timer:
current: =corrente:
Spawn points: =Spawn points:
Name: =Nome:
Enabled: =Abilitata:
Players required: =Giocatori minimi:
Players supported: =Giocatori massimi:
Players inside: =Giocatori dentro:
Status: =Stato:
Sign: =Cartello:
Spawn points: =Punti di spawn:
Properties: =Proprietà:
Temp properties: =Proprietà temporanee:
[!] No ongoing game! =[!] Nessuna partita in corso!
@ -65,24 +64,50 @@ Player: =Giocatore:
# items.lua
You're immune!=Sei immune!
Left click on a sign to create/remove the access to the arena=Tasto sinistro su un cartello per creare/rimuovere l'accesso all'arena
[!] That's not a sign!=[!] Questo non è un cartello!
# signs.lua
[!] The arena is not enabled!=[!] L'arena non è attiva!
Get ready!=Preparati!
The queue has been cancelled due to not enough players=La coda è stata annullata per troppi pochi giocatori
[!] The arena is already full!=[!] L'arena è già piena!
[!] The arena is loading, try again in a few seconds!=[!] L'arena è in caricamento, riprova tra qualche secondo!
[!] This minigame doesn't allow to join while in progress!=[!] Questo minigioco non permette di entrare a partita iniziata!
@1 has joined the game=@1 si è aggiunto alla partita
You've entered the arena @1=Sei entrato nell'arena @1
The game begins in @1 seconds!=La partita inizierà tra @1 secondi!
Waiting for more players...=In attesa di più giocatori...
The queue has been cancelled due to not enough players=La coda è stata annullata per troppi pochi giocatori
@1 seconds for the match to start=@1 secondi all'inizio
Left click on a sign to set the arena=Click sinistro su un cartello per impostare l'arena
The game begins in @1 seconds!=La partita inizierà tra @1 secondi!
Get ready!=Preparati!
# signs_lib gives troubles atm
#WIP=LAVORI@\nIN CORSO
#Terminating=Concludendo
#Ongoing=In partita
#Loading=In caricamento
#Waiting=In attesa
# utils.lua
[!] This arena doesn't exist!=[!] Quest'arena non esiste!
[!] You must disable the arena first!=[!] Devi prima disabilitare l'arena!
[!] There must be no one inside the editor of the arena to perform this command! (now inside: @1)=[!] Non deve esserci nessuno nell'editor dell'arena per poter eseguire questo comando! (attualmente dentro: @1)
# editor_main.lua
Arena_lib editor | Now editing: @1=Arena_lib editor | Stai modificando: @1
# editor_icons.lua
Spawners=Spawner
Spawners | sel. ID: @1 (right click slot #2 to change)=Spawner | ID sel.: @1 (tasto dx su slot #2 per cambiare)
Signs=Cartelli
One sign per arena=Un cartello per arena
Info=Info
Go back=Torna indietro
Leave the editor=Esci dall'editor
# tools_spawner.lua
Add spawner=Aggiungi spawner
Remove spawner=Rimuovi spawner
Delete all spawners=Cancella tutti gli spawner
All the spawn points has been removed=Tutti i punti di spawn sono stati rimossi
# tools_sign.lua
Add sign=Aggiungi cartello
Remove sign=Rimuovi cartello

View File

@ -6,33 +6,32 @@
# api.lua
[!] An arena with that name exists already!=
Arena @1 succesfully created=
[!] There is no arena named @1!=
[!] There is an ongoing match inside the arena @1: impossible to remove!=
The arena you were queueing for has been removed... :(=
Arena @1 successfully removed=
[!] This arena doesn't exist!=
[!] Spawn points can't exceed the maximum number of players!=
[!] No spawner with that ID to overwrite!=
[!] You can't set the spawn point in the air!=
[!] There's already one spawn at this point!=
Spawn point #@1 successfully overwritten=
[!] No spawner with that ID to delete!=
Spawn point #@1 successfully deleted=
[!] Unknown parameter!=
[!] Spawn points can't exceed the maximum number of players!=
[!] There's already a spawn in this point!=
Spawn point #@1 successfully set=
[!] You must disable the arena first!=
[!] That's not a sign!=
Sign of arena @1 successfully removed=
[!] This sign doesn't belong to @1!=
[!] There is already a sign for this arena!=
[!] The arena is already enabled=
[!] Insufficient spawners, the arena has been disabled!=
[!] Sign not set, the arena has been disabled!=
[!] There is no sign to remove assigned to @1!=
Sign of arena @1 successfully set=
[!] Insufficient spawners, the arena can't be enabled!=
[!] Sign not set, the arena can't be enabled!=
Arena @1 successfully enabled=
[!] The arena is already disabled=
[!] The arena is already disabled!=
[!] You can't disable an arena during an ongoing game!=
[!] The arena you were queueing for has been disabled!=
[!] The arena you were queueing for has been disabled... :(=
Arena @1 successfully disabled=
@1 wins the game=
@1 has been eliminated=
@1 has been kicked=
@1 has quit the arena=
@1 has left the game=
@1 has quit the match=
Waiting for more players...=
The queue has been cancelled due to not enough players=
You're the last player standing: you win!=
@ -41,13 +40,6 @@ You win the game due to not enough players=
# debug_utilities.lua
name: =
Total arenas: =
Name: =
Enabled: =
Sign: =
Players required: =
Players supported: =
Players inside: =
Status: =
in queue=
loading=
in game=
@ -55,6 +47,13 @@ celebrating=
waiting=
Timer: =
current: =
Name: =
Players required: =
Players supported: =
Players inside: =
Enabled: =
Status: =
Sign: =
Spawn points: =
Properties: =
Temp properties: =
@ -65,24 +64,49 @@ Player: =
# items.lua
You're immune!=
Left click on a sign to create/remove the access to the arena=
[!] That's not a sign!=
# signs.lua
[!] The arena is not enabled!=
Get ready!=
The queue has been cancelled due to not enough players=
[!] The arena is already full!=
[!] The arena is loading, try again in a few seconds!=
[!] This minigame doesn't allow to join while in progress!=
@1 has joined the game=
You've entered the arena @1=
The game begins in @1 seconds!=
Waiting for more players...=
The queue has been cancelled due to not enough players=
@1 seconds for the match to start=
Left click on a sign to set the arena=
The game begins in @1 seconds!=
Get ready!=
# signs_lib gives troubles atm
#WIP=
#Terminating=
#Ongoing=
#Loading=
#Waiting=
# utils.lua
[!] This arena doesn't exist!=
[!] You must disable the arena first!=
[!] There must be no one inside the editor of the arena to perform this command! (now inside: @1)=
# editor_main.lua
Arena_lib editor | Now editing: @1=
# editor_icons.lua
Spawners=
Spawners | sel. ID: @1 (right click slot #2 to change)=
Signs=
One sign per arena=
Info=
Go back=
Leave the editor=
# tools_spawner.lua
Add spawner=
Remove spawner=
Delete all spawners=
All the spawn points has been removed=
# tools_sign.lua
Add sign=
Remove sign=

View File

@ -2,10 +2,18 @@ minetest.register_on_joinplayer(function(player)
arena_lib.HUD_add(player)
-- nel caso fosse crashato il server con qualcuno nell'editor
if player:get_meta():get_string("arena_lib_editor.arena") ~= "" then
player:get_meta():set_string("arena_lib_editor.mod", "")
player:get_meta():set_string("arena_lib_editor.arena", "")
-- nel caso qualcuno si fosse disconnesso da dentro all'editor o fosse crashato il server con qualcuno nell'editor
if player:get_inventory():contains_item("main", "arena_lib:editor_quit") then
local p_meta = player:get_meta()
p_meta:set_string("arena_lib_editor.mod", "")
p_meta:set_string("arena_lib_editor.arena", "")
p_meta:set_string("arena_lib_editor.spawner_ID", "")
if minetest.get_modpath("hub_manager") then return end -- se c'è hub_manager, ci pensa quest'ultimo allo svuotamento dell'inventario
player:get_inventory():set_list("main", {})
end
end)

View File

@ -21,7 +21,12 @@ minetest.override_item("default:sign_wall", {
local sign_arena = mod_ref.arenas[arenaID]
local p_name = puncher:get_player_name()
if not sign_arena then return end -- nel caso qualche cartello dovesse buggarsi, si può rompere e non fa crashare
if not sign_arena then return end -- nel caso qualche cartello dovesse buggarsi, si può rompere senza far crashare
-- se si è nell'editor
if arena_lib.is_player_in_edit_mode(p_name) then
minetest.chat_send_player(p_name, minetest.colorize("#e6482e", S("[!] You must leave the editor first!")))
return end
-- se non è abilitata
if not sign_arena.enabled then

28
utils.lua Normal file
View File

@ -0,0 +1,28 @@
local S = minetest.get_translator("arena_lib")
function ARENA_LIB_EDIT_PRECHECKS_PASSED(sender, arena, skip_enabled)
-- se non esiste l'arena, annullo
if arena == nil then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] This arena doesn't exist!")))
return end
-- se non è disabilitata, annullo
if arena.enabled and not skip_enabled then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] You must disable the arena first!")))
return end
-- se è in modalità edit, annullo
if arena_lib.is_arena_in_edit_mode(arena.name) then
local p_name_inside = arena_lib.get_player_in_edit_mode(arena.name)
if sender ~= p_name_inside then
minetest.chat_send_player(sender, minetest.colorize("#e6482e", S("[!] There must be no one inside the editor of the arena to perform this command! (now inside: @1)", p_name_inside)))
return end
end
return true
end