Added kills counter HUD and some checks on arena_lib.on_enable
parent
7ec12de5e5
commit
5580a06648
|
@ -36,4 +36,3 @@ skywars_settings.show_minimap = false
|
||||||
|
|
||||||
-- The players walking speed when ther're playing a match
|
-- The players walking speed when ther're playing a match
|
||||||
skywars_settings.player_speed = 1
|
skywars_settings.player_speed = 1
|
||||||
|
|
||||||
|
|
10
TUTORIAL.txt
10
TUTORIAL.txt
|
@ -32,7 +32,7 @@ between 2 and 4
|
||||||
count: the item amount
|
count: the item amount
|
||||||
|
|
||||||
/skywars addtreasure <arena name> <item> <rarity (min 2.0, max
|
/skywars addtreasure <arena name> <item> <rarity (min 2.0, max
|
||||||
1000.0)> <preciousness> <count>
|
20.0)> <preciousness> <count>
|
||||||
|
|
||||||
|
|
||||||
4) Setting the chests in the arena using:
|
4) Setting the chests in the arena using:
|
||||||
|
@ -62,9 +62,9 @@ remember that the old schematic won't be deleted!
|
||||||
6) Enabling the arena using
|
6) Enabling the arena using
|
||||||
|
|
||||||
/skywars enable <arena name>
|
/skywars enable <arena name>
|
||||||
wars to read all the commands
|
|
||||||
To modify the game settings
|
|
||||||
|
|
||||||
Once you've done this you can click the sign and start playing :)
|
Once you've done this you can click the sign and start playing :)
|
||||||
You can use /help sky (such as the messages prefix or the
|
You can use /help skywars to read all the commands
|
||||||
hub spawn point) you can edit the SETTINGS.lua file
|
To modify the game settings (such as the messages prefix or the
|
||||||
|
hub spawn point) you can edit the SETTINGS.lua file
|
|
@ -12,12 +12,6 @@ end)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
arena_lib.on_join("skywars", function(pl_name, arena)
|
|
||||||
|
|
||||||
end)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
arena_lib.on_start("skywars", function(arena)
|
arena_lib.on_start("skywars", function(arena)
|
||||||
for pl_name in pairs(arena.players) do
|
for pl_name in pairs(arena.players) do
|
||||||
local player = minetest.get_player_by_name(pl_name)
|
local player = minetest.get_player_by_name(pl_name)
|
||||||
|
@ -60,31 +54,45 @@ arena_lib.on_death("skywars", function(arena, pl_name, reason)
|
||||||
local killer = reason.object:get_player_name()
|
local killer = reason.object:get_player_name()
|
||||||
|
|
||||||
arena_lib.send_message_players_in_arena(arena, skywars_settings.prefix .. skywars.T("@1 was killed by @2", pl_name, killer))
|
arena_lib.send_message_players_in_arena(arena, skywars_settings.prefix .. skywars.T("@1 was killed by @2", pl_name, killer))
|
||||||
|
-- arena.HUDs[killer].players_killed[1] == HUD ID
|
||||||
|
-- arena.HUDs[killer].players_killed[2] == players amount
|
||||||
|
reason.object:hud_change(arena.HUDs[killer].players_killed[1], "text", tostring(arena.HUDs[killer].players_killed[2] + 1))
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
arena_lib.send_message_players_in_arena(arena, skywars_settings.prefix .. skywars.T("@1 is dead", pl_name))
|
arena_lib.send_message_players_in_arena(arena, skywars_settings.prefix .. skywars.T("@1 is dead", pl_name))
|
||||||
end
|
end
|
||||||
|
|
||||||
arena_lib.remove_player_from_arena(pl_name, 1)
|
arena_lib.remove_player_from_arena(pl_name, 1)
|
||||||
skywars.update_player_counter(arena)
|
skywars.update_players_counter(arena)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
arena_lib.on_quit("skywars", function(arena, pl_name)
|
arena_lib.on_quit("skywars", function(arena, pl_name)
|
||||||
skywars.update_player_counter(arena, false)
|
skywars.update_players_counter(arena, false)
|
||||||
skywars.remove_HUD(arena, pl_name)
|
skywars.remove_HUD(arena, pl_name)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
arena_lib.on_disconnect("skywars", function(arena, pl_name)
|
arena_lib.on_disconnect("skywars", function(arena, pl_name)
|
||||||
skywars.update_player_counter(arena, false)
|
skywars.update_players_counter(arena, false)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
arena_lib.on_kick("skywars", function(arena, pl_name)
|
arena_lib.on_kick("skywars", function(arena, pl_name)
|
||||||
skywars.update_player_counter(arena, false)
|
skywars.update_players_counter(arena, false)
|
||||||
skywars.remove_HUD(arena, pl_name)
|
skywars.remove_HUD(arena, pl_name)
|
||||||
end)
|
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))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
|
end)
|
|
@ -79,7 +79,7 @@ function skywars.select_random_treasures(treasure_amount, min_preciousness, max_
|
||||||
-- if there isn't a treasure
|
-- if there isn't a treasure
|
||||||
if treasures[c] == nil then
|
if treasures[c] == nil then
|
||||||
for t=1,#p_treasures do
|
for t=1,#p_treasures do
|
||||||
local random = math.random(1, 1000)
|
local random = math.random(1, 20)
|
||||||
|
|
||||||
-- if the random number is a multiple of the item rarity then select it
|
-- if the random number is a multiple of the item rarity then select it
|
||||||
if random % p_treasures[t].rarity == 0 then
|
if random % p_treasures[t].rarity == 0 then
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
function skywars.generate_HUD(arena, pl_name)
|
function skywars.generate_HUD(arena, pl_name)
|
||||||
local player = minetest.get_player_by_name(pl_name)
|
local player = minetest.get_player_by_name(pl_name)
|
||||||
local players_
|
local players_
|
||||||
local background_
|
local players_killed_
|
||||||
|
local background_players_
|
||||||
|
local background_kill_counter_
|
||||||
|
|
||||||
background_ = player:hud_add({
|
background_players_counter_ = player:hud_add({
|
||||||
hud_elem_type = "image",
|
hud_elem_type = "image",
|
||||||
position = {x = 1, y = 1},
|
position = {x = 1, y = 0.45},
|
||||||
offset = {x = -109, y = -32},
|
offset = {x = -109, y = 80},
|
||||||
text = "sw_players_hud.png",
|
text = "sw_players_hud.png",
|
||||||
alignment = { x = 1.0},
|
alignment = { x = 1.0},
|
||||||
scale = { x = 3, y = 3},
|
scale = { x = 3, y = 3},
|
||||||
|
@ -15,18 +16,45 @@ function skywars.generate_HUD(arena, pl_name)
|
||||||
})
|
})
|
||||||
|
|
||||||
-- The number of players in the game
|
-- The number of players in the game
|
||||||
players_ = player:hud_add({
|
players_count_ = player:hud_add({
|
||||||
hud_elem_type = "text",
|
hud_elem_type = "text",
|
||||||
position = {x = 1, y = 1},
|
position = {x = 1, y = 0.45},
|
||||||
offset = {x = -85, y = -32},
|
offset = {x = -85, y = 80},
|
||||||
text = arena.players_amount,
|
text = arena.players_amount,
|
||||||
alignment = { x = 0},
|
alignment = { x = 0},
|
||||||
scale = { x = 100, y = 100},
|
scale = { x = 100, y = 100},
|
||||||
number = 0x7d7071,
|
number = 0x7d7071,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
background_kill_counter_ = player:hud_add({
|
||||||
|
hud_elem_type = "image",
|
||||||
|
position = {x = 1, y = 0.45},
|
||||||
|
offset = {x = -109, y = 0},
|
||||||
|
text = "sw_kill_counter_hud.png",
|
||||||
|
alignment = { x = 1.0},
|
||||||
|
scale = { x = 3, y = 3},
|
||||||
|
number = 0xFFFFFF,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- The number of players killed
|
||||||
|
players_killed_ = player:hud_add({
|
||||||
|
hud_elem_type = "text",
|
||||||
|
position = {x = 1, y = 0.45},
|
||||||
|
offset = {x = -85, y = 0},
|
||||||
|
text = 0,
|
||||||
|
alignment = { x = 0},
|
||||||
|
scale = { x = 100, y = 100},
|
||||||
|
number = 0x7d7071,
|
||||||
|
})
|
||||||
|
|
||||||
-- Save the huds of each player
|
-- Save the huds of each player
|
||||||
arena.HUDs[pl_name] = {background = background_, players = players_}
|
arena.HUDs[pl_name] = {
|
||||||
|
background_players_counter = background_players_counter_,
|
||||||
|
players_count = players_count_,
|
||||||
|
-- HUD ID, amount of players killed
|
||||||
|
players_killed = {players_killed_, 0},
|
||||||
|
background_kill_counter = background_kill_counter_
|
||||||
|
}
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -34,14 +62,16 @@ end
|
||||||
|
|
||||||
function skywars.remove_HUD(arena, pl_name)
|
function skywars.remove_HUD(arena, pl_name)
|
||||||
local player = minetest.get_player_by_name(pl_name)
|
local player = minetest.get_player_by_name(pl_name)
|
||||||
|
|
||||||
player:hud_remove(arena.HUDs[pl_name].background)
|
player:hud_remove(arena.HUDs[pl_name].background_players_counter)
|
||||||
player:hud_remove(arena.HUDs[pl_name].players)
|
player:hud_remove(arena.HUDs[pl_name].background_kill_counter)
|
||||||
|
player:hud_remove(arena.HUDs[pl_name].players_count)
|
||||||
|
player:hud_remove(arena.HUDs[pl_name].players_killed[1])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function skywars.update_player_counter(arena, players_updated)
|
function skywars.update_players_counter(arena, players_updated)
|
||||||
local pl_amount = arena.players_amount
|
local pl_amount = arena.players_amount
|
||||||
|
|
||||||
-- if arena.players_amount hasn't been updated yet
|
-- if arena.players_amount hasn't been updated yet
|
||||||
|
@ -53,6 +83,6 @@ function skywars.update_player_counter(arena, players_updated)
|
||||||
for pl_name in pairs(arena.players) do
|
for pl_name in pairs(arena.players) do
|
||||||
local player = minetest.get_player_by_name(pl_name)
|
local player = minetest.get_player_by_name(pl_name)
|
||||||
|
|
||||||
player:hud_change(arena.HUDs[pl_name].players, "text", pl_amount)
|
player:hud_change(arena.HUDs[pl_name].players_count, "text", pl_amount)
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -303,4 +303,4 @@ local function run_tests()
|
||||||
end
|
end
|
||||||
if not minetest then
|
if not minetest then
|
||||||
run_tests()
|
run_tests()
|
||||||
end
|
end
|
81
commands.lua
81
commands.lua
|
@ -5,11 +5,11 @@ function(cmd)
|
||||||
|
|
||||||
cmd:sub("tutorial",
|
cmd:sub("tutorial",
|
||||||
function(sender)
|
function(sender)
|
||||||
minetest.chat_send_player(sender, [[
|
skywars.print_msg(sender, [[
|
||||||
|
|
||||||
(If you find it uncomfortable to read the tutorial from the chat
|
(If you find it uncomfortable to read the tutorial from the chat
|
||||||
you can read it from a file in the mod folder called TUTORIAL.txt)
|
you can read it from a file in the mod folder called TUTORIAL.txt)
|
||||||
|
|
||||||
These are the steps to follow in order to create and configure an
|
These are the steps to follow in order to create and configure an
|
||||||
arena:
|
arena:
|
||||||
|
|
||||||
|
@ -165,25 +165,28 @@ function(cmd)
|
||||||
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
|
local id, arena = arena_lib.get_arena_by_name("skywars", arena_name)
|
||||||
|
|
||||||
if arena == nil then
|
if arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Arena not found!"))
|
skywars.print_error(sender, skywars.T("Arena not found!"))
|
||||||
return
|
return
|
||||||
elseif arena.enabled == true then
|
elseif arena.enabled == true then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("@1 must be disabled!", arena_name))
|
skywars.print_error(sender, skywars.T("@1 must be disabled!", arena_name))
|
||||||
return
|
return
|
||||||
elseif count <= 0 then
|
elseif count <= 0 then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Count has to be greater than 0!"))
|
skywars.print_error(sender, skywars.T("Count has to be greater than 0!"))
|
||||||
return
|
return
|
||||||
elseif rarity < 2 then
|
elseif rarity < 2 then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Rarity has to be greater than 2!"))
|
skywars.print_error(sender, skywars.T("Rarity has to be greater than 2!"))
|
||||||
|
return
|
||||||
|
elseif rarity > 20 then
|
||||||
|
skywars.print_error(sender, skywars.T("Rarity has to be smaller than 21!"))
|
||||||
return
|
return
|
||||||
elseif ItemStack(treasure_name):is_known() == false then
|
elseif ItemStack(treasure_name):is_known() == false then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("@1 doesn't exist!", treasure_name))
|
skywars.print_error(sender, skywars.T("@1 doesn't exist!", treasure_name))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert(arena.treasures, {name = treasure_name, rarity = rarity, count = count, preciousness = preciousness})
|
table.insert(arena.treasures, {name = treasure_name, rarity = rarity, count = count, preciousness = preciousness})
|
||||||
|
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Treasure added!"))
|
skywars.print_msg(sender, skywars.T("Treasure added!"))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
@ -193,10 +196,10 @@ function(cmd)
|
||||||
local found = false
|
local found = false
|
||||||
|
|
||||||
if arena == nil then
|
if arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Arena not found!"))
|
skywars.print_error(sender, skywars.T("Arena not found!"))
|
||||||
return
|
return
|
||||||
elseif arena.enabled == true then
|
elseif arena.enabled == true then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("@1 must be disabled!", arena_name))
|
skywars.print_error(sender, skywars.T("@1 must be disabled!", arena_name))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -210,8 +213,8 @@ function(cmd)
|
||||||
|
|
||||||
arena_lib.change_arena_property(sender, "skywars", arena_name, "treasures", arena.treasures, false)
|
arena_lib.change_arena_property(sender, "skywars", arena_name, "treasures", arena.treasures, false)
|
||||||
|
|
||||||
if found then minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Treasure removed!"))
|
if found then skywars.print_msg(sender, skywars.T("Treasure removed!"))
|
||||||
else minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Treasure not found!")) end
|
else skywars.print_error(sender, skywars.T("Treasure not found!")) end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
@ -222,16 +225,16 @@ function(cmd)
|
||||||
local found = false
|
local found = false
|
||||||
|
|
||||||
if from_arena == nil then
|
if from_arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("First arena not found!"))
|
skywars.print_error(sender, skywars.T("First arena not found!"))
|
||||||
return
|
return
|
||||||
elseif to_arena == nil then
|
elseif to_arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Second arena not found!"))
|
skywars.print_error(sender, skywars.T("Second arena not found!"))
|
||||||
return
|
return
|
||||||
elseif from_arena == to_arena then
|
elseif from_arena == to_arena then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("The arenas must be different!"))
|
skywars.print_error(sender, skywars.T("The arenas must be different!"))
|
||||||
return
|
return
|
||||||
elseif to_arena.enabled == true then
|
elseif to_arena.enabled == true then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("@1 must be disabled!", to))
|
skywars.print_error(sender, skywars.T("@1 must be disabled!", to))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -241,7 +244,7 @@ function(cmd)
|
||||||
end
|
end
|
||||||
|
|
||||||
arena_lib.change_arena_property(sender, "skywars", to, "treasures", to_arena.treasures, false)
|
arena_lib.change_arena_property(sender, "skywars", to, "treasures", to_arena.treasures, false)
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("@1 treasures have been copied to @2!", from, to))
|
skywars.print_msg(sender, skywars.T("@1 treasures have been copied to @2!", from, to))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
@ -251,14 +254,14 @@ function(cmd)
|
||||||
local found = false
|
local found = false
|
||||||
|
|
||||||
if arena == nil then
|
if arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Arena not found!"))
|
skywars.print_error(sender, skywars.T("Arena not found!"))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("TREASURES LIST:"))
|
skywars.print_msg(sender, skywars.T("TREASURES LIST:"))
|
||||||
for i=1, #arena.treasures do
|
for i=1, #arena.treasures do
|
||||||
local treasure = arena.treasures[i]
|
local treasure = arena.treasures[i]
|
||||||
minetest.chat_send_player(sender, tostring(i) .. ".\n" ..
|
skywars.print_msg(sender, tostring(i) .. ".\n" ..
|
||||||
skywars.T(
|
skywars.T(
|
||||||
"name: @1 @nrarity: @2 @npreciousness: @3 @ncount: @4",
|
"name: @1 @nrarity: @2 @npreciousness: @3 @ncount: @4",
|
||||||
treasure.name, treasure.rarity, treasure.preciousness, treasure.count
|
treasure.name, treasure.rarity, treasure.preciousness, treasure.count
|
||||||
|
@ -284,17 +287,17 @@ function(cmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
if arena == nil then
|
if arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Arena not found!"))
|
skywars.print_error(sender, skywars.T("Arena not found!"))
|
||||||
return
|
return
|
||||||
elseif arena.enabled == true then
|
elseif arena.enabled == true then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("@1 must be disabled!", arena_name))
|
skywars.print_error(sender, skywars.T("@1 must be disabled!", arena_name))
|
||||||
return
|
return
|
||||||
elseif t_min <= 0 or t_max <= 0 then
|
elseif t_min <= 0 or t_max <= 0 then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("The minimum or maximum amount of treasures has to be greater than 0!"))
|
skywars.print_error(sender, skywars.T("The minimum or maximum amount of treasures has to be greater than 0!"))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Chest added!"))
|
skywars.print_msg(sender, skywars.T("Chest added!"))
|
||||||
table.insert(arena.chests, chest)
|
table.insert(arena.chests, chest)
|
||||||
arena_lib.change_arena_property(sender, "skywars", arena_name, "chests", arena.chests, false)
|
arena_lib.change_arena_property(sender, "skywars", arena_name, "chests", arena.chests, false)
|
||||||
end)
|
end)
|
||||||
|
@ -305,14 +308,14 @@ function(cmd)
|
||||||
local found = false
|
local found = false
|
||||||
|
|
||||||
if arena == nil then
|
if arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Arena not found!"))
|
skywars.print_error(sender, skywars.T("Arena not found!"))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("CHEST LIST:"))
|
skywars.print_msg(sender, skywars.T("CHEST LIST:"))
|
||||||
for i=1, #arena.chests do
|
for i=1, #arena.chests do
|
||||||
local chest_pos = tostring(arena.chests[i].pos.x) .. " " .. tostring(arena.chests[i].pos.y) .. " " .. tostring(arena.chests[i].pos.z)
|
local chest_pos = tostring(arena.chests[i].pos.x) .. " " .. tostring(arena.chests[i].pos.y) .. " " .. tostring(arena.chests[i].pos.z)
|
||||||
minetest.chat_send_player(sender, skywars.T("ID: @1 - POSITION: @2", arena.chests[i].id, chest_pos))
|
skywars.print_msg(sender, skywars.T("ID: @1 - POSITION: @2", arena.chests[i].id, chest_pos))
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
@ -323,10 +326,10 @@ function(cmd)
|
||||||
local found = false
|
local found = false
|
||||||
|
|
||||||
if arena == nil then
|
if arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Arena not found!"))
|
skywars.print_error(sender, skywars.T("Arena not found!"))
|
||||||
return
|
return
|
||||||
elseif arena.enabled == true then
|
elseif arena.enabled == true then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("@1 must be disabled!", arena_name))
|
skywars.print_error(sender, skywars.T("@1 must be disabled!", arena_name))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -340,9 +343,9 @@ function(cmd)
|
||||||
arena_lib.change_arena_property(sender, "skywars", arena_name, "chests", arena.chests, false)
|
arena_lib.change_arena_property(sender, "skywars", arena_name, "chests", arena.chests, false)
|
||||||
|
|
||||||
if found then
|
if found then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Chest removed!"))
|
skywars.print_msg(sender, skywars.T("Chest removed!"))
|
||||||
else
|
else
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Chest not found!"))
|
skywars.print_error(sender, skywars.T("Chest not found!"))
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
@ -356,7 +359,7 @@ function(cmd)
|
||||||
local player = minetest.get_player_by_name(sender)
|
local player = minetest.get_player_by_name(sender)
|
||||||
|
|
||||||
player:get_meta():set_string("pos1", minetest.serialize(player:get_pos()))
|
player:get_meta():set_string("pos1", minetest.serialize(player:get_pos()))
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Position saved!"))
|
skywars.print_msg(sender, skywars.T("Position saved!"))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
@ -366,7 +369,7 @@ function(cmd)
|
||||||
|
|
||||||
player:get_meta():set_string("pos2", minetest.serialize(player:get_pos()))
|
player:get_meta():set_string("pos2", minetest.serialize(player:get_pos()))
|
||||||
|
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Position saved!"))
|
skywars.print_msg(sender, skywars.T("Position saved!"))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
@ -379,23 +382,23 @@ function(cmd)
|
||||||
local pos2 = minetest.deserialize(player:get_meta():get_string("pos2"))
|
local pos2 = minetest.deserialize(player:get_meta():get_string("pos2"))
|
||||||
|
|
||||||
if arena == nil then
|
if arena == nil then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Arena not found!"))
|
skywars.print_error(sender, skywars.T("Arena not found!"))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if arena.enabled == true then
|
if arena.enabled == true then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("@1 must be disabled!", arena_name))
|
skywars.print_error(sender, skywars.T("@1 must be disabled!", arena_name))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if pos1 == "" or pos2 == "" then
|
if pos1 == "" or pos2 == "" then
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Pos1 or pos2 are not set!"))
|
skywars.print_error(sender, skywars.T("Pos1 or pos2 are not set!"))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
skywars.create_schematic(sender, {x = pos1.x, y = pos1.y, z = pos1.z}, {x = pos2.x, y = pos2.y, z = pos2.z}, name, arena)
|
skywars.create_schematic(sender, {x = pos1.x, y = pos1.y, z = pos1.z}, {x = pos2.x, y = pos2.y, z = pos2.z}, name, arena)
|
||||||
|
|
||||||
minetest.chat_send_player(sender, skywars_settings.prefix .. skywars.T("Schematic @1 created! You can use /skywars info @2 to know its folder (see schematic=PATH)", name, arena_name))
|
skywars.print_msg(sender, skywars.T("Schematic @1 created! You can use /skywars info @2 to know its folder (see schematic=PATH)", name, arena_name))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
@ -409,7 +412,7 @@ function(cmd)
|
||||||
local pos = minetest.get_player_by_name(sender):get_pos()
|
local pos = minetest.get_player_by_name(sender):get_pos()
|
||||||
local readable_pos = "[X Y Z] " .. round(pos.x, 1) .. " " .. round(pos.y, 1) .. " " .. round(pos.z, 1)
|
local readable_pos = "[X Y Z] " .. round(pos.x, 1) .. " " .. round(pos.y, 1) .. " " .. round(pos.z, 1)
|
||||||
|
|
||||||
minetest.chat_send_player(sender, readable_pos)
|
skywars.print_msg(sender, readable_pos)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
end, {
|
end, {
|
||||||
|
@ -435,7 +438,7 @@ end, {
|
||||||
|
|
||||||
|
|
||||||
Skywars commands:
|
Skywars commands:
|
||||||
- addtreasure <arena name> <item> <rarity (min 2.0, max 1000.0)>
|
- addtreasure <arena name> <item> <rarity (min 2.0, max 20.0)>
|
||||||
<preciousness> <count>
|
<preciousness> <count>
|
||||||
|
|
||||||
- removetreasure <arena name> <treasure name>
|
- removetreasure <arena name> <treasure name>
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
arena_lib
|
arena_lib
|
||||||
default
|
default
|
17
init.lua
17
init.lua
|
@ -27,6 +27,7 @@ arena_lib.register_minigame("skywars", {
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dofile(minetest.get_modpath("skywars") .. "/chatcmdbuilder.lua")
|
dofile(minetest.get_modpath("skywars") .. "/chatcmdbuilder.lua")
|
||||||
dofile(minetest.get_modpath("skywars") .. "/_hud/hud_manager.lua")
|
dofile(minetest.get_modpath("skywars") .. "/_hud/hud_manager.lua")
|
||||||
dofile(minetest.get_modpath("skywars") .. "/commands.lua")
|
dofile(minetest.get_modpath("skywars") .. "/commands.lua")
|
||||||
|
@ -37,7 +38,17 @@ dofile(minetest.get_modpath("skywars") .. "/_arena_lib/arena_manager.lua")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local schematic_manager = minetest.request_insecure_environment()
|
---------------
|
||||||
function skywars.save_schematic(pos1, pos2, name, arena)
|
-- ! UTILS ! --
|
||||||
minetest.create_schematic(p1, p2, nil, minetest.get_worldpath() .. "\\" .. name, nil)
|
---------------
|
||||||
|
|
||||||
|
|
||||||
|
function skywars.print_error(player, msg)
|
||||||
|
minetest.chat_send_player(player, minetest.colorize("#e6482e", skywars_settings.prefix .. msg))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function skywars.print_msg(player, msg)
|
||||||
|
minetest.chat_send_player(player, skywars_settings.prefix .. msg)
|
||||||
|
end
|
|
@ -11,7 +11,7 @@ Treasure added!=Tesoro aggiunto!
|
||||||
Treasure removed!=Tesoro rimosso!
|
Treasure removed!=Tesoro rimosso!
|
||||||
Treasure not found!=Tesoro non trovato!
|
Treasure not found!=Tesoro non trovato!
|
||||||
The minimum or maximum amount of treasures has to be greater than 0!=Il numero minimo o massimo di tesori deve essere maggiore di 0!
|
The minimum or maximum amount of treasures has to be greater than 0!=Il numero minimo o massimo di tesori deve essere maggiore di 0!
|
||||||
TREASURES LIST:=Lista dei tesori:
|
TREASURES LIST:=LISTA DEI TESORI:
|
||||||
First arena not found!=Prima arena non trovata!
|
First arena not found!=Prima arena non trovata!
|
||||||
Second arena not found!=Seconda arena non trovata!
|
Second arena not found!=Seconda arena non trovata!
|
||||||
@1 treasures have been copied to @2!=I tesori di @1 sono stati copiati in @2!
|
@1 treasures have been copied to @2!=I tesori di @1 sono stati copiati in @2!
|
||||||
|
@ -21,10 +21,11 @@ name: @1 @nrarity: @2 @npreciousness: @3 @ncount: @4=nome: @1 @nrarità: @2 @npr
|
||||||
Chest added!=Cassa aggiunta!
|
Chest added!=Cassa aggiunta!
|
||||||
Chest removed!=Cassa rimossa!
|
Chest removed!=Cassa rimossa!
|
||||||
Chest not found!=Cassa non trovata!
|
Chest not found!=Cassa non trovata!
|
||||||
CHEST LIST:=LISTA DI CASSE
|
CHEST LIST:=LISTA DELLE CASSE:
|
||||||
ID: @1 - POSITION: @2=ID: @1 - POSIZIONE: @2
|
ID: @1 - POSITION: @2=ID: @1 - POSIZIONE: @2
|
||||||
Position saved!=Posizione salvata
|
Position saved!=Posizione salvata
|
||||||
Schematic @1 created! You can use /skywars info @2 to know its folder (see schematic@=PATH)=Schematica @1 creata! Puoi usare /skywars info @2 per sapere dove è salvata (vedi schematic@=PERCORSO)
|
Schematic @1 created! You can use /skywars info @2 to know its folder (see schematic@=PATH)=Schematica @1 creata! Puoi usare /skywars info @2 per sapere dove è salvata (vedi schematic@=PERCORSO)
|
||||||
|
@1 wasn't configured properly!=@1 non è stata configurata correttamente
|
||||||
@1 must be disabled!=@1 deve essere disabilitata!
|
@1 must be disabled!=@1 deve essere disabilitata!
|
||||||
Pos1 or pos2 are not set!=Pos1 o pos2 non sono impostate
|
Pos1 or pos2 are not set!=Pos1 o pos2 non sono impostate
|
||||||
@1 was killed by @2=@1 è stato ucciso da @2
|
@1 was killed by @2=@1 è stato ucciso da @2
|
||||||
|
|
|
@ -25,7 +25,8 @@ CHEST LIST:=
|
||||||
ID: @1 - POSITION: @2=
|
ID: @1 - POSITION: @2=
|
||||||
Position saved!=
|
Position saved!=
|
||||||
Schematic @1 created! You can use /skywars info @2 to know its folder (see schematic@=PATH)=
|
Schematic @1 created! You can use /skywars info @2 to know its folder (see schematic@=PATH)=
|
||||||
|
@1 wasn't configured properly!=
|
||||||
@1 must be disabled!=
|
@1 must be disabled!=
|
||||||
Pos1 or pos2 are not set!=
|
Pos1 or pos2 are not set!=
|
||||||
@1 was killed by @2=
|
@1 was killed by @2=
|
||||||
@1 is dead=
|
@1 is dead=
|
Binary file not shown.
After Width: | Height: | Size: 485 B |
Loading…
Reference in New Issue