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.event.player.PlayerTeleportEvent.TeleportCause as TeleportCause
import org.bukkit.block as bblock import org.bukkit.block as bblock
import org.bukkit.event.entity as entity import org.bukkit.event.entity as entity
import org.bukkit.command.ConsoleCommandSender
from org.bukkit.entity import * from org.bukkit.entity import *
@@ -110,10 +111,10 @@ def noperm(player):
def runas(player, cmd): def runas(player, cmd):
""" """
run a command as player run a command as player
the cmd should no be prefixed with a / the cmd should NOT be prefixed with a /
""" """
player.chat("/" + cmd) player.chat("/" + cmd)
def is_player(obj): def is_player(obj):
""" """

31
misc.py
View File

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