+ Added arena_in_edit_mode check for cmds

+ Added additem hand cmd
+ Differentiated the arena misconfiguration messages
master
Giov4 2020-09-17 00:58:56 +02:00
parent d808a76bf8
commit 72b7ef8cdc
4 changed files with 95 additions and 23 deletions

View File

@ -94,8 +94,14 @@ end)
arena_lib.on_enable("skywars", function(arena, pl_name)
if arena.treasures[1] == nil or arena.chests[1] == nil or arena.schematic == "" then
skywars.print_error(pl_name, skywars.T("@1 wasn't configured properly!", arena.name))
if arena.treasures[1] == nil then
skywars.print_error(pl_name, skywars.T("You didn't set the treasures!"))
return false
elseif arena.chests[1] == nil then
skywars.print_error(pl_name, skywars.T("You didn't set the chests!"))
return false
elseif arena.schematic == "" or arena.pos1.x == nil then
skywars.print_error(pl_name, skywars.T("You didn't set the schematic!"))
return false
end

View File

@ -76,7 +76,9 @@ function(cmd)
it must be a file name that you put in the <SKYWARS MOD FOLDER>/textures folder.
/skywars additem <kit name> <item> <count>: with this you can add items to it
or
/skywars additem hand <kit name>
/skywars arenakit add <arena name> <kit name>: each arena has a "kits" property
that contains the choosable kits, with this command you add one to it
@ -177,7 +179,10 @@ function(cmd)
function(sender, arena_name, treasure_name, count, rarity, preciousness )
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
elseif arena.enabled == true then
@ -218,9 +223,10 @@ function(cmd)
local treasure_name = minetest.get_player_by_name(sender):get_wielded_item():get_name()
local count = minetest.get_player_by_name(sender):get_wielded_item():get_count()
if treasure_name == nil then
else print(treasure_name) end
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
end
@ -248,8 +254,6 @@ function(cmd)
skywars.print_msg(sender, skywars.T("x@1 @2 added to @3 with @4 rarity and @5 preciousness!",
count, treasure_name, arena_name, rarity, preciousness
))
end)
@ -257,7 +261,10 @@ function(cmd)
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
local found = false
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
elseif arena.enabled == true then
@ -287,7 +294,10 @@ function(cmd)
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
local treasure_name = ""
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
elseif arena.enabled == true then
@ -350,7 +360,10 @@ function(cmd)
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
local found = false
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
end
@ -372,7 +385,10 @@ function(cmd)
cmd:sub("searchtreasure :arena :treasure", function(sender, arena_name, treasure_name)
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
end
@ -407,7 +423,10 @@ function(cmd)
id = #arena.chests+1
}
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
end
@ -433,7 +452,10 @@ function(cmd)
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
local found = false
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
end
@ -451,7 +473,10 @@ function(cmd)
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
local found = false
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
elseif arena.enabled == true then
@ -528,6 +553,31 @@ function(cmd)
cmd:sub("addkit hand :kit",
function(sender, kit_name)
local kits = skywars.load_kits()
local item_name = minetest.get_player_by_name(sender):get_wielded_item():get_name()
local count = minetest.get_player_by_name(sender):get_wielded_item():get_count()
if kits[kit_name] == nil then
skywars.print_error(sender, skywars.T("@1 doesn't exist!", kit_name))
return
elseif treasure_name == "" then
skywars.print_error(sender, skywars.T("Your hand is empty!"))
return
end
itemstack.name = item_name
itemstack.count = count
table.insert(kits[kit_name].items, itemstack)
skywars.overwrite_kits(kits)
skywars.print_msg(sender, skywars.T("@1 added to @2!", item_name, kit_name))
end)
cmd:sub("deletekit :kit",
function(sender, kit_name)
local kits = skywars.load_kits()
@ -611,7 +661,10 @@ function(cmd)
local kits = skywars.load_kits()
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
end
@ -641,7 +694,10 @@ function(cmd)
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
local found = false
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
end
@ -736,7 +792,10 @@ function(cmd)
local pos1 = minetest.deserialize(player:get_meta():get_string("pos1"))
local pos2 = minetest.deserialize(player:get_meta():get_string("pos2"))
if arena == nil then
if arena_lib.is_arena_in_edit_mode(arena_name) then
skywars.print_error(sender, skywars.T("Nobody must be in the editor!"))
return
elseif arena == nil then
skywars.print_error(sender, skywars.T("Arena not found!"))
return
end
@ -809,6 +868,7 @@ end, {
- createkit <kit name> <texture name>
- deletekit <kit name>
- additem <kit name> <item> <count>
- additem hand <kit name>
- removeitem <kit name> <item>
- arenakit add <arena> <kit name>
- arenakit remove <arena> <kit name>

View File

@ -25,7 +25,9 @@ Chest list:=Lista delle casse:
ID: @1 - POSITION: @2=ID: @1 - POSIZIONE: @2
Position saved!=Posizione salvata
Schematic @1 created! (Saved in @2)=Schematica @1 creata! (Salvata in @2)
@1 wasn't configured properly!=@1 non è stata configurata correttamente
You didn't set the treasures!=Non hai impostato i tesori!
You didn't set the chests!=Non hai impostato le chest!
You didn't set the schematic!=Non hai impostato la schematica
@1 must be disabled!=@1 deve essere disabilitata!
Pos1 or pos2 are not set!=Pos1 o pos2 non sono impostate
@1 was killed by @2=@1 è stato ucciso da @2
@ -42,4 +44,5 @@ Kits list:=Lista dei kit:
Kit not found!=Kit non trovato!
@1 kits have been copied to @2!=I kit di @1 sono stati copiati in @2!
Time is out, the match is over!=Tempo terminato, la partita è finita!
Nobody=Nessuno
Nobody=Nessuno
Nobody must be in the editor!=Nessuno deve essere nell'editor

View File

@ -27,7 +27,9 @@ Chest list:=
ID: @1 - POSITION: @2=
Position saved!=
Schematic @1 created! (Saved in @2)=
@1 wasn't configured properly!=
You didn't set the treasures!=
You didn't set the chests!=
You didn't set the schematic!=
@1 must be disabled!=
Pos1 or pos2 are not set!=
@1 was killed by @2=
@ -44,4 +46,5 @@ Kits list:=
Kit not found!=
@1 kits have been copied to @2!=
Time is out, the match is over!=
Nobody=
Nobody=
Nobody must be in the editor!=