mirror of
https://github.com/etlegacy/wolfadmin.git
synced 2024-11-10 06:41:53 +00:00
Added tracking of team locks (needed for issue #37)
This commit is contained in:
parent
abf57e2469
commit
27c62df026
4 changed files with 107 additions and 0 deletions
|
@ -15,6 +15,7 @@
|
|||
-- You should have received a copy of the GNU General Public License
|
||||
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
local constants = require "luascripts.wolfadmin.util.constants"
|
||||
local events = require "luascripts.wolfadmin.util.events"
|
||||
local settings = require "luascripts.wolfadmin.util.settings"
|
||||
local files = require "luascripts.wolfadmin.util.files"
|
||||
|
@ -23,6 +24,12 @@ local stats = require "luascripts.wolfadmin.players.stats"
|
|||
|
||||
local admin = {}
|
||||
|
||||
local teamLocks = {
|
||||
[constants.TEAM_AXIS] = false,
|
||||
[constants.TEAM_ALLIES] = false,
|
||||
[constants.TEAM_SPECTATORS] = false,
|
||||
}
|
||||
|
||||
function admin.isVoiceMuted(clientId)
|
||||
if stats.get(clientId, "voiceMute") then
|
||||
if stats.get(clientId, "voiceMute") - os.time() > 0 then
|
||||
|
@ -51,6 +58,14 @@ function admin.unmuteVoice(clientId)
|
|||
stats.set(clientId, "voiceMute", false)
|
||||
end
|
||||
|
||||
function admin.lockTeam(teamId)
|
||||
teamLocks[teamId] = false
|
||||
end
|
||||
|
||||
function admin.unlockTeam(teamId)
|
||||
teamLocks[teamId] = false
|
||||
end
|
||||
|
||||
function admin.lockPlayer(clientId)
|
||||
stats.set(clientId, "teamLock", true)
|
||||
end
|
||||
|
|
40
luascripts/commands/admin/lock.lua
Normal file
40
luascripts/commands/admin/lock.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
|
||||
-- WolfAdmin module for Wolfenstein: Enemy Territory servers.
|
||||
-- Copyright (C) 2015-2016 Timo 'Timothy' Smit
|
||||
|
||||
-- This program is free software: you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation, either version 3 of the License, or
|
||||
-- at your option any later version.
|
||||
|
||||
-- This program is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
|
||||
-- You should have received a copy of the GNU General Public License
|
||||
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
local util = require "luascripts.wolfadmin.util.util"
|
||||
local constants = require "luascripts.wolfadmin.util.constants"
|
||||
local commands = require "luascripts.wolfadmin.commands.commands"
|
||||
local admin = require "luascripts.wolfadmin.admin.admin"
|
||||
|
||||
function commandLock(clientId, cmdArguments)
|
||||
if cmdArguments[1] == nil or (cmdArguments[1] ~= constants.TEAM_AXIS_SC and cmdArguments[1] ~= constants.TEAM_ALLIES_SC and cmdArguments[1] ~= constants.TEAM_SPECTATORS_SC and cmdArguments[1] ~= "all") then
|
||||
return false
|
||||
end
|
||||
|
||||
if cmdArguments[1] == "all" then
|
||||
admin.lockTeam(constants.TEAM_AXIS)
|
||||
admin.lockTeam(constants.TEAM_ALLIES)
|
||||
admin.lockTeam(constants.TEAM_SPECTATORS)
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
admin.lockTeam(util.getTeamFromCode(cmdArguments[1]))
|
||||
|
||||
return false
|
||||
end
|
||||
commands.addadmin("lock", commandLock, "K", "lock one or all of the teams from players joining", "^9[^3r|b|s|all#^9]", true)
|
40
luascripts/commands/admin/unlock.lua
Normal file
40
luascripts/commands/admin/unlock.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
|
||||
-- WolfAdmin module for Wolfenstein: Enemy Territory servers.
|
||||
-- Copyright (C) 2015-2016 Timo 'Timothy' Smit
|
||||
|
||||
-- This program is free software: you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation, either version 3 of the License, or
|
||||
-- at your option any later version.
|
||||
|
||||
-- This program is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
|
||||
-- You should have received a copy of the GNU General Public License
|
||||
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
local util = require "luascripts.wolfadmin.util.util"
|
||||
local constants = require "luascripts.wolfadmin.util.constants"
|
||||
local commands = require "luascripts.wolfadmin.commands.commands"
|
||||
local admin = require "luascripts.wolfadmin.admin.admin"
|
||||
|
||||
function commandUnlock(clientId, cmdArguments)
|
||||
if cmdArguments[1] == nil or (cmdArguments[1] ~= constants.TEAM_AXIS_SC and cmdArguments[1] ~= constants.TEAM_ALLIES_SC and cmdArguments[1] ~= constants.TEAM_SPECTATORS_SC and cmdArguments[1] ~= "all") then
|
||||
return false
|
||||
end
|
||||
|
||||
if cmdArguments[1] == "all" then
|
||||
admin.unlockTeam(constants.TEAM_AXIS)
|
||||
admin.unlockTeam(constants.TEAM_ALLIES)
|
||||
admin.unlockTeam(constants.TEAM_SPECTATORS)
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
admin.unlockTeam(util.getTeamFromCode(cmdArguments[1]))
|
||||
|
||||
return false
|
||||
end
|
||||
commands.addadmin("unlock", commandUnlock, "K", "unlock one or all locked teams", "^9[^3r|b|s|all#^9]", true)
|
|
@ -60,6 +60,18 @@ function util.getTeamName(teamId)
|
|||
end
|
||||
end
|
||||
|
||||
function util.getTeamFromCode(teamCode)
|
||||
if teamCode == constants.TEAM_AXIS_SC then
|
||||
return constants.TEAM_AXIS
|
||||
elseif teamCode == constants.TEAM_ALLIES_SC then
|
||||
return constants.TEAM_ALLIES
|
||||
elseif teamCode == constants.TEAM_SPECTATORS_SC then
|
||||
return constants.TEAM_SPECTATORS
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
function util.getTeamColor(teamId)
|
||||
if teamId == constants.TEAM_AXIS then
|
||||
return constants.TEAM_AXIS_COLOR
|
||||
|
|
Loading…
Reference in a new issue