Added !spec999 and !cointoss command (refs #62)

This commit is contained in:
Timo Smit 2017-02-06 18:10:39 +01:00
parent e3345faa90
commit e473bae2f1
5 changed files with 94 additions and 2 deletions

View file

@ -81,6 +81,7 @@ auth.PERM_ENABLEVOTE = "enablevote"
auth.PERM_CANCELVOTE = "cancelvote"
auth.PERM_PASSVOTE = "passvote"
auth.PERM_COINTOSS = "cointoss"
auth.PERM_NEWS = "news"
auth.PERM_UPTIME = "uptime"

View file

@ -22,7 +22,7 @@ local auth = require (wolfa_getLuaPath()..".auth.auth")
local shrubbot = {}
-- available shrubflags: lqyFHY
-- available shrubflags: lyFHY
local flags = {
[auth.PERM_ADMINTEST] = "a",
[auth.PERM_HELP] = "h",
@ -72,6 +72,7 @@ local flags = {
[auth.PERM_SHUFFLE] = "S",
[auth.PERM_SWAP] = "w",
[auth.PERM_COINTOSS] = "q",
[auth.PERM_PAUSE] = "Z",
[auth.PERM_NEXTMAP] = "n",
[auth.PERM_RESTART] = "r",

View file

@ -0,0 +1,44 @@
-- WolfAdmin module for Wolfenstein: Enemy Territory servers.
-- Copyright (C) 2015-2017 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 auth = require (wolfa_getLuaPath()..".auth.auth")
local commands = require (wolfa_getLuaPath()..".commands.commands")
local players = require (wolfa_getLuaPath()..".players.players")
function commandCoinToss(clientId, command)
math.randomseed(os.time())
local number = math.random(0, 99)
local result
if number < 49 then
result = "heads."
elseif number > 50 then
result = "tails."
elseif number == 49 then
result = "the coin falls on its side!"
elseif number == 50 then
result = "the coin got lost."
end
et.trap_SendConsoleCommand(et.EXEC_APPEND, "cchat -1 \"^dcointoss: ^7"..players.getName(clientId).." ^9tossed a coin..."..result.."\";")
return true
end
commands.addadmin("cointoss", commandCoinToss, auth.PERM_COINTOSS, "flips a coin")

View file

@ -0,0 +1,46 @@
-- WolfAdmin module for Wolfenstein: Enemy Territory servers.
-- Copyright (C) 2015-2017 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 admin = require (wolfa_getLuaPath()..".admin.admin")
local auth = require (wolfa_getLuaPath()..".auth.auth")
local commands = require (wolfa_getLuaPath()..".commands.commands")
local players = require (wolfa_getLuaPath()..".players.players")
local constants = require (wolfa_getLuaPath()..".util.constants")
local settings = require (wolfa_getLuaPath()..".util.settings")
function commandSpec999(clientId, command)
local count = 0
for playerId = 0, et.trap_Cvar_Get("sv_maxclients") - 1 do
if players.isConnected(playerId) then
if et.gentity_get(playerId, "ps.ping") > 500 and et.gentity_get(playerId, "ps.ping") <= 999 then
admin.putPlayer(playerId, constants.TEAM_SPECTATORS)
count = count + 1
end
end
end
et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^dspec999: ^9"..count.." players were put to spectators.\";")
return true
end
commands.addadmin("spec999", commandSpec999, auth.PERM_SPEC999, "moves 999 pingers to the spectator team", nil, nil, (settings.get("g_standalone") == 0))

View file

@ -95,7 +95,7 @@ function commands.loadFiles(dir)
local files = files.ls("commands/"..dir.."/")
for _, file in pairs(files) do
if string.match(string.lower(file), "^[a-z]+%.lua$") then
if string.match(string.lower(file), "^[a-z0-9]+%.lua$") then
require (wolfa_getLuaPath()..".commands."..dir.."."..string.sub(file, 1, string.len(file) - 4))
amount = amount + 1