Compare commits
10 Commits
90882d370f
...
89780b6ef6
Author | SHA1 | Date | |
---|---|---|---|
|
89780b6ef6 | ||
|
85ce38a6ee | ||
|
98bcc400b3 | ||
|
caf7564316 | ||
|
ea8da0b13e | ||
|
e7713adba1 | ||
|
403fc63d47 | ||
|
64017dc07c | ||
|
5097d9e27d | ||
|
55524c2ac9 |
@ -1,5 +1,5 @@
|
||||
# Licensing
|
||||
This file contains the license information for this Minetest mod.
|
||||
This file contains the license information for this Luanti mod.
|
||||
The code license applies to code and text files.
|
||||
The media license applies to all media files, like textures
|
||||
and sounds.
|
||||
|
5
init.lua
5
init.lua
@ -1,4 +1,9 @@
|
||||
local S = minetest.get_translator("tntrun")
|
||||
local NS = function(s) return s end
|
||||
|
||||
-- HACK: Repeat mod.conf description here so that string collecting utils can find it
|
||||
NS("Players compete to be the last one standing on a layer of falling TNT")
|
||||
|
||||
tntrun = {}
|
||||
dofile(minetest.get_modpath("tntrun") .. "/settings.lua")
|
||||
|
||||
|
@ -34,7 +34,7 @@ TNT in Tntrun=
|
||||
Torch for TNT=
|
||||
|
||||
##[ utils.lua ]##
|
||||
Invalid arena properties! Number of positions in 'tnt_area_pos_1' and 'tnt_area_pos_2' is not equal!=
|
||||
Invalid arena property '@1': Position is not a table!=
|
||||
Invalid arena property '@1': Coordinate x, y or z missing or not a number!=
|
||||
Invalid arena properties! Number of positions in `tnt_area_pos_1` and `tnt_area_pos_2` is not equal!=
|
||||
Invalid arena property `@1`: Position is not a table!=
|
||||
Invalid arena property `@1`: Coordinate x, y or z missing or not a number!=
|
||||
TNT area #@1 is not within the arena region.=
|
||||
|
@ -34,7 +34,8 @@ TNT in Tntrun=TNT in Tntrun
|
||||
Torch for TNT=Fackel für TNT
|
||||
|
||||
##[ utils.lua ]##
|
||||
Invalid arena properties! Number of positions in 'tnt_area_pos_1' and 'tnt_area_pos_2' is not equal!=Ungültige Arenaeigenschaften! Anzahl der Positionen in „tnt_area_pos_1“ und „tnt_area_pos_2“ ist nicht gleich!
|
||||
Invalid arena property '@1': Position is not a table!=Ungültige Arenaeigenschaft „@1“: Position ist keine Tabelle!
|
||||
Invalid arena property '@1': Coordinate x, y or z missing or not a number!=Ungültige Arenaeigenschaft „@1“: Koordinate x, y oder z fehlt oder ist keine Zahl!
|
||||
Invalid arena properties! Number of positions in `tnt_area_pos_1` and `tnt_area_pos_2` is not equal!=Ungültige Arenaeigenschaften! Anzahl der Positionen in „tnt_area_pos_1“ und „tnt_area_pos_2“ ist nicht gleich!
|
||||
Invalid arena property `@1`: Position is not a table!=Ungültige Arenaeigenschaft „@1“: Position ist keine Tabelle!
|
||||
Invalid arena property `@1`: Coordinate x, y or z missing or not a number!=Ungültige Arenaeigenschaft „@1“: Koordinate x, y oder z fehlt oder ist keine Zahl!
|
||||
TNT area #@1 is not within the arena region.=TNT-Bereich #@1 befindet sich nicht innerhalb der Arenaregion.
|
||||
|
||||
|
@ -1,40 +1,40 @@
|
||||
# textdomain: tntrun
|
||||
Players compete to be the last one standing on a layer of falling TNT=
|
||||
Players compete to be the last one standing on a layer of falling TNT=Los jugadores compiten para ser el último en pie sobre una capa de TNT que cae
|
||||
|
||||
##[ auto.lua ]##
|
||||
How it works:=Cómo funciona:
|
||||
Punch TNTs to make them fall down=Golpea las TNT para hacerlas caer
|
||||
But beware: TNTs will also fall down when you walk onto it. Keep moving!=Pero cuidado: Las TNT también caerán cuando camines sobre ellas.¡No dejes de moverte!
|
||||
Run!=
|
||||
Run!=¡Corre!
|
||||
|
||||
##[ editor.lua ]##
|
||||
Error! The TNT areas are broken and cannot be edited. Reason: @1=
|
||||
Either fix the TNT areas in the arena properties or use "Remove all TNT areas".=
|
||||
N/A=
|
||||
Add TNT area=
|
||||
Remove selected TNT area=
|
||||
There are no TNT areas.=
|
||||
Selected TNT area does not exist.=
|
||||
Remove all TNT areas=
|
||||
Select TNT area (LMB increases, RMB decreases)=
|
||||
No TNT areas. Create a TNT area first!=
|
||||
Set TNT area position (LMB: pos1, RMB: pos2)=
|
||||
Regenerate TNT=
|
||||
Warning: Arena region not set, old TNT cannot be cleared.=
|
||||
TNT regenerated.=
|
||||
Set elimination height=
|
||||
TNT areas and elimination height=
|
||||
Error! The TNT areas are broken and cannot be edited. Reason: @1=¡Error! Las áreas de TNT están rotas y no pueden editadas. Razón: @1
|
||||
Either fix the TNT areas in the arena properties or use "Remove all TNT areas".=Arregla las áreas de TNT en las propiedades de la arena o usa "Eliminar todas las áreas de TNT".
|
||||
N/A=No aplica
|
||||
Add TNT area=Agregar area de TNT
|
||||
Remove selected TNT area=Remover el área seleccionada de TNT
|
||||
There are no TNT areas.=No hay áreas de TNT.
|
||||
Selected TNT area does not exist.=La área seleccionada de TNT no existe.
|
||||
Remove all TNT areas=Remover todas las áreas de TNT
|
||||
Select TNT area (LMB increases, RMB decreases)=Selecciona el área de TNT (click izquierdo aumenta, click derecho disminuye)
|
||||
No TNT areas. Create a TNT area first!=No hay áreas de TNT. ¡Crea un área de TNT primero!
|
||||
Set TNT area position (LMB: pos1, RMB: pos2)=Establece la posición del área de TNT (click izquierdo: pos1, click derecho: pos2)
|
||||
Regenerate TNT=Regenerar la TNT
|
||||
Warning: Arena region not set, old TNT cannot be cleared.=Advertencia: La región de la arena no ha sido establecida, la vieja TNT no puede ser limpiada.
|
||||
TNT regenerated.=LA TNT se ha regenerado.
|
||||
Set elimination height=Establecer altura de eliminación
|
||||
TNT areas and elimination height=Áreas de TNT y altura de eliminación
|
||||
|
||||
##[ init.lua ]##
|
||||
Tntrun=
|
||||
Needed for Tntrun=
|
||||
Tntrun=Tntrun
|
||||
Needed for Tntrun=Necesario para Tntrun
|
||||
|
||||
##[ tnt.lua ]##
|
||||
TNT in Tntrun=TNT en Tntrun
|
||||
Torch for TNT=Antorcha para TNT
|
||||
|
||||
##[ utils.lua ]##
|
||||
Invalid arena properties! Number of positions in 'tnt_area_pos_1' and 'tnt_area_pos_2' is not equal!=
|
||||
Invalid arena property '@1': Position is not a table!=
|
||||
Invalid arena property '@1': Coordinate x, y or z missing or not a number!=
|
||||
TNT area #@1 is not within the arena region.=
|
||||
Invalid arena properties! Number of positions in `tnt_area_pos_1` and `tnt_area_pos_2` is not equal!=¡Propiedades de arena no válidas! ¡El número de posiciones en `tnt_area_pos_1` y `tnt_area_pos_2` no es igual!
|
||||
Invalid arena property `@1`: Position is not a table!=¡Propiedad de arena no válida `@1`: ¡La posición no es una tabla!
|
||||
Invalid arena property `@1`: Coordinate x, y or z missing or not a number!=Propiedad de arena no válida `@1`: ¡Falta la coordenada x, y o z o no es un número!
|
||||
TNT area #@1 is not within the arena region.=El área de TNT #@1 no está dentro de la región de la arena.
|
||||
|
@ -34,14 +34,7 @@ TNT in Tntrun=TNT A Tntrun-ban
|
||||
Torch for TNT=Fákja a tntrun-hoz
|
||||
|
||||
##[ utils.lua ]##
|
||||
Invalid arena properties! Number of positions in 'tnt_area_pos_1' and 'tnt_area_pos_2' is not equal!=
|
||||
Invalid arena property '@1': Position is not a table!=
|
||||
Invalid arena property '@1': Coordinate x, y or z missing or not a number!=
|
||||
Invalid arena properties! Number of positions in `tnt_area_pos_1` and `tnt_area_pos_2` is not equal!=
|
||||
Invalid arena property `@1`: Position is not a table!=
|
||||
Invalid arena property `@1`: Coordinate x, y or z missing or not a number!=
|
||||
TNT area #@1 is not within the arena region.=
|
||||
|
||||
|
||||
##### not used anymore #####
|
||||
|
||||
How it work:=Hogyan működik:
|
||||
Punch with torches TNT to fight with other players=Üss fáklyákkal TNT, hogy harcolj a többi játékossal
|
||||
But warning, the TNT on which you standing fall down=De figyelmeztetés, a TNT, amelyen állsz, leesik
|
||||
|
@ -1,39 +1,40 @@
|
||||
# textdomain: tntrun
|
||||
Players compete to be the last one standing on a layer of falling TNT=
|
||||
|
||||
##[ auto.lua ]##
|
||||
How it works:=Come funziona:
|
||||
Punch TNTs to make them fall down=Prendi a pugni le TNT per farle cadere
|
||||
But beware: TNTs will also fall down when you walk onto it. Keep moving!=Ma attenzione: le TNT su cui metti piede cadono subito dopo. Continua a muoverti!
|
||||
Run!=
|
||||
Run!=Corri!
|
||||
|
||||
##[ editor.lua ]##
|
||||
Error! The TNT areas are broken and cannot be edited. Reason: @1=
|
||||
Either fix the TNT areas in the arena properties or use "Remove all TNT areas".=
|
||||
N/A=
|
||||
Add TNT area=
|
||||
Remove selected TNT area=
|
||||
There are no TNT areas.=
|
||||
Selected TNT area does not exist.=
|
||||
Remove all TNT areas=
|
||||
Select TNT area (LMB increases, RMB decreases)=
|
||||
No TNT areas. Create a TNT area first!=
|
||||
Set TNT area position (LMB: pos1, RMB: pos2)=
|
||||
Regenerate TNT=
|
||||
Warning: Arena region not set, old TNT cannot be cleared.=
|
||||
TNT regenerated.=
|
||||
Set elimination height=
|
||||
TNT areas and elimination height=
|
||||
Error! The TNT areas are broken and cannot be edited. Reason: @1=Errore! Le aree di TNT sono rotte e non possono essere modificate. Motivo: @1
|
||||
Either fix the TNT areas in the arena properties or use "Remove all TNT areas".=Sistema le aree di TNT nelle proprietà dell`arena o usa "Rimuovi tutte le aree delle TNT".
|
||||
N/A=N/A
|
||||
Add TNT area=Aggiungi un`area di TNT
|
||||
Remove selected TNT area=Rimuovi l`area di TNT selezionata
|
||||
There are no TNT areas.=Non ci sono aree di TNT.
|
||||
Selected TNT area does not exist.=L`area di TNT selezionata non esiste.
|
||||
Remove all TNT areas=Rimuovi tutte le aree di TNT
|
||||
Select TNT area (LMB increases, RMB decreases)=Seleziona area TNT (sx aumenta, dx diminuisce)
|
||||
No TNT areas. Create a TNT area first!=Non ci sono aree di TNT. Creane una prima!
|
||||
Set TNT area position (LMB: pos1, RMB: pos2)=Imposta la posizione dell`area di TNT (sx pos1, dx pos2)
|
||||
Regenerate TNT=Rigenera TNT
|
||||
Warning: Arena region not set, old TNT cannot be cleared.=Attenzione: la regione dell`arena non è impostata, le vecchie TNT non possono essere rimosse.
|
||||
TNT regenerated.=TNT rigenerate.
|
||||
Set elimination height=Imposta altezza per eliminare lɜ giocanti
|
||||
TNT areas and elimination height=Aree di TNT e soglia di eliminazione
|
||||
|
||||
##[ init.lua ]##
|
||||
Tntrun=
|
||||
Needed for Tntrun=
|
||||
Tntrun=Tntrun
|
||||
Needed for Tntrun=Necessario per Tntrun
|
||||
|
||||
##[ tnt.lua ]##
|
||||
TNT in Tntrun=TNT di Tntrun
|
||||
Torch for TNT=Torcia per TNT
|
||||
|
||||
##[ utils.lua ]##
|
||||
Invalid arena properties! Number of positions in 'tnt_area_pos_1' and 'tnt_area_pos_2' is not equal!=
|
||||
Invalid arena property '@1': Position is not a table!=
|
||||
Invalid arena property '@1': Coordinate x, y or z missing or not a number!=
|
||||
TNT area #@1 is not within the arena region.=
|
||||
Invalid arena properties! Number of positions in `tnt_area_pos_1` and `tnt_area_pos_2` is not equal!=Proprietà dell`arena non valide! Il numero di posizioni `tnt_area_pos_1` e `tnt_area_post_2` deve essere uguale!
|
||||
Invalid arena property `@1`: Position is not a table!=Proprietà dell`arena `@1` non valida: la posizione non è una tabella!
|
||||
Invalid arena property `@1`: Coordinate x, y or z missing or not a number!=Proprietà dell`arena `@1` non valida: Mancano le coordinate x, y o z, oppure non sono un numero!
|
||||
TNT area #@1 is not within the arena region.=L`area di TNT #@1 non è all`interno della regione dell`arena.
|
||||
|
1
mod.conf
1
mod.conf
@ -1,5 +1,6 @@
|
||||
name = tntrun
|
||||
title = Tntrun
|
||||
# NOTE: This description is duplicated in init.lua. If you update this, copy the new string into init.lua!
|
||||
description = Players compete to be the last one standing on a layer of falling TNT
|
||||
depends = arena_lib
|
||||
optional_depends = default
|
||||
|
4
tnt.lua
4
tnt.lua
@ -4,7 +4,7 @@ local TNT_FALL_DELAY_DIRECT = 0.25
|
||||
local TNT_FALL_DELAY_SNEAK = 0.5 -- it's intentional that it's a bit longer
|
||||
-- Distance from TNT node a player can be so it is still considered "stepped on"
|
||||
-- by the game. The distance takes X and Z into account separately but not Z.
|
||||
-- Change this if Minetest changes the sneak distance; works only for sneak distance below 0.5
|
||||
-- Change this if Luanti changes the sneak distance; works only for sneak distance below 0.5
|
||||
local SNEAK_DISTANCE = 0.3
|
||||
-- Time in seconds after which to execute tnt_loop() again
|
||||
local TNT_LOOP_TIME = 0.1
|
||||
@ -106,7 +106,7 @@ minetest.register_entity("tntrun:tnt_falling", {
|
||||
end
|
||||
|
||||
-- Animate texture manually
|
||||
-- TODO: Replace this code once Minetest allows to animate
|
||||
-- TODO: Replace this code once Luanti allows to animate
|
||||
-- entity textures natively.
|
||||
local frametimer = self._timer * (1/TNT_FUSE_ANIMATION_FRAME_LENGTH)
|
||||
local frame = math.floor(frametimer) % TNT_FUSE_ANIMATION_FRAMES
|
||||
|
@ -26,7 +26,7 @@ end
|
||||
function tntrun.check_tnt_areas(arena)
|
||||
-- Perform a couple of syntax checks for the TNT areas
|
||||
if #arena.tnt_area_pos_1 ~= #arena.tnt_area_pos_2 then
|
||||
return false, S("Invalid arena properties! Number of positions in 'tnt_area_pos_1' and 'tnt_area_pos_2' is not equal!")
|
||||
return false, S("Invalid arena properties! Number of positions in `tnt_area_pos_1` and `tnt_area_pos_2` is not equal!")
|
||||
end
|
||||
local props = {"tnt_area_pos_1", "tnt_area_pos_2"}
|
||||
for p=1, #props do
|
||||
@ -35,9 +35,9 @@ function tntrun.check_tnt_areas(arena)
|
||||
for i=1, #prop do
|
||||
local val = prop[i]
|
||||
if type(val) ~= "table" then
|
||||
return false, S("Invalid arena property '@1': Position is not a table!", propname)
|
||||
return false, S("Invalid arena property `@1`: Position is not a table!", propname)
|
||||
elseif type(val.x) ~= "number" or type(val.y) ~= "number" or type(val.z) ~= "number" then
|
||||
return false, S("Invalid arena property '@1': Coordinate x, y or z missing or not a number!", propname)
|
||||
return false, S("Invalid arena property `@1`: Coordinate x, y or z missing or not a number!", propname)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user