Change /sudo command fixes #14

This commit is contained in:
Dico200
2015-03-18 21:09:49 +01:00
parent 39654bf4a7
commit 55ac6c0977
2 changed files with 16 additions and 20 deletions

View File

@@ -8,6 +8,7 @@ import org.bukkit.entity.Player as Player
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause as TeleportCause
import org.bukkit.block as bblock
import org.bukkit.event.entity as entity
import org.bukkit.command.ConsoleCommandSender
from org.bukkit.entity import *
@@ -110,7 +111,7 @@ def noperm(player):
def runas(player, cmd):
"""
run a command as player
the cmd should no be prefixed with a /
the cmd should NOT be prefixed with a /
"""
player.chat("/" + cmd)

25
misc.py
View File

@@ -43,26 +43,21 @@ def on_sudo_command(sender, args):
execute command/chat *as* a player/console
"""
if sender.hasPermission("utils.sudo"):
plugin_header(sender, "Sudo")
if not checkargs(sender, args, 2, -1):
return True
target = args[0]
cmd = " ".join(args[1:])
msg(sender, "Running '&e%s&r' as &3%s" % (cmd, target))
if cmd[0] == "/":
msg(sender, "&2[SUDO] &rRunning '&e%s&r' as &3%s" % (cmd, target))
is_cmd = cmd[0] == "/"
is_console = target.lower() == "server" or target.lower() == "console"
if is_console:
if is_cmd:
cmd = cmd[1:]
if target.lower() == "server" or target.lower() == "console":
runas(server.getConsoleSender(), cmd)
elif server.getPlayer(target):
runas(server.getPlayer(target), cmd)
else:
msg(sender, "&cPlayer %s not found!" % target)
else:
if target.lower() == "server" or target.lower() == "console":
runas(server.getConsoleSender(), "say %s" % cmd)
elif server.getPlayer(target):
server.getPlayer(target).chat(cmd)
server.dispatchCommand(server.getConsoleSender(), cmd)
return True
target_player = server.getPlayer(target)
if target_player:
target_player.chat(cmd)
else:
msg(sender, "&cPlayer %s not found!" % target)
else: