Update teams.lua
parent
2a30bd7820
commit
f86c2bafb3
35
teams.lua
35
teams.lua
|
@ -1,6 +1,14 @@
|
|||
sumo_duels.teams = {lobby = {}, waiting_arena_1 = {}, arena_1 = {}}
|
||||
|
||||
local lobby_pos = {x = 0, y = 0, z = 0}
|
||||
local lobby_pos = {x = 0, y = 0, z = 0}--set world spawn to this too
|
||||
|
||||
sumo_duels.tablefind = function(tab,el)
|
||||
for index, value in pairs(tab) do
|
||||
if value == el then
|
||||
return index
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
sumo_duels.get_player_team = function(name)
|
||||
for k, team in pairs(sumo_duels.teams) do
|
||||
|
@ -10,38 +18,40 @@ sumo_duels.get_player_team = function(name)
|
|||
end
|
||||
end
|
||||
|
||||
local other_player
|
||||
sumo_duels.get_other_team_player = function(name)
|
||||
local current = sumo_duels.get_player_team(name)
|
||||
for _, playername in pairs(sumo_duels.teams[current]) do
|
||||
local player = minetest.get_player_by_name(playername)
|
||||
local pname = player:get_player_name()
|
||||
if not name == pname then other_player = pname end
|
||||
for k, playername in pairs(sumo_duels.teams[current]) do
|
||||
if not name == playername then return k end
|
||||
end
|
||||
end
|
||||
|
||||
sumo_duels.set_playing = function(pname, arena_number)
|
||||
local current = sumo_duels.get_player_team(pname)
|
||||
table.remove(sumo_duels.teams[current], pname)
|
||||
local tablenumber = sumo_duels.tablefind(sumo_duels.teams[current], pname)
|
||||
table.remove(sumo_duels.teams[current], tonumber(tablenumber))
|
||||
--set pos arena_1
|
||||
table.insert(sumo_duels.teams["arena_" .. arena_number], pname)
|
||||
minetest.chat_send_all(dump(sumo_duels.teams))
|
||||
end
|
||||
|
||||
sumo_duels.set_waiting = function(pname, arena_number)
|
||||
minetest.chat_send_all(sumo_duels.get_player_team(pname))
|
||||
local current = sumo_duels.get_player_team(pname)
|
||||
table.remove(sumo_duels.teams[current], pname)
|
||||
local tablenumber = sumo_duels.tablefind(sumo_duels.teams[current], pname)
|
||||
table.remove(sumo_duels.teams[current], tonumber(tablenumber))
|
||||
local player = minetest.get_player_by_name(pname)
|
||||
player:set_pos(lobby_pos)
|
||||
table.insert(sumo_duels.teams["waiting_arena_" .. arena_number], pname)
|
||||
minetest.chat_send_all(dump(sumo_duels.teams))
|
||||
end
|
||||
|
||||
sumo_duels.set_lobby = function(pname)
|
||||
local current = sumo_duels.get_player_team(pname)
|
||||
table.remove(sumo_duels.teams[current], pname)
|
||||
local tablenumber = sumo_duels.tablefind(sumo_duels.teams[current], pname)
|
||||
table.remove(sumo_duels.teams[current], tonumber(tablenumber))
|
||||
local player = minetest.get_player_by_name(pname)
|
||||
player:set_pos(lobby_pos)
|
||||
table.insert(sumo_duels.teams.lobby, pname)
|
||||
minetest.chat_send_all(dump(sumo_duels.teams))
|
||||
end
|
||||
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
|
@ -81,9 +91,8 @@ end)
|
|||
minetest.register_on_dieplayer(function(player)
|
||||
local team = sumo_duels.get_player_team(player:get_player_name())
|
||||
if not team == "arena_1" then return end
|
||||
sumo_duels.get_other_team_player(player:get_player_name())
|
||||
if other_player then
|
||||
minetest.chat_send_player(other_player, "Your opponent died! GG, you win")
|
||||
if sumo_duels.get_other_team_player(player:get_player_name()) then
|
||||
minetest.chat_send_player(sumo_duels.get_other_team_player(player:get_player_name()), "Your opponent died! GG, you win")
|
||||
end
|
||||
for _, teamplayer in ipairs(sumo_duels.teams[team]) do
|
||||
sumo_duels.set_lobby(teamplayer)
|
||||
|
|
Loading…
Reference in New Issue