Add /sudo command.
Usage: /sudo /command. Works on the same basis as /su (requires tshock.su). Replaces message that /su should be used for a one off command.
This commit is contained in:
parent
fdca442138
commit
d972f60fa0
1 changed files with 22 additions and 1 deletions
|
|
@ -315,6 +315,10 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
HelpText = "Temporarily elevates you to Super Admin."
|
HelpText = "Temporarily elevates you to Super Admin."
|
||||||
});
|
});
|
||||||
|
add(new Command(Permissions.su, SubstituteUserDo, "sudo")
|
||||||
|
{
|
||||||
|
HelpText = "Executes a command as the super admin."
|
||||||
|
});
|
||||||
add(new Command(Permissions.userinfo, GrabUserUserInfo, "userinfo", "ui")
|
add(new Command(Permissions.userinfo, GrabUserUserInfo, "userinfo", "ui")
|
||||||
{
|
{
|
||||||
HelpText = "Shows information about a player."
|
HelpText = "Shows information about a player."
|
||||||
|
|
@ -691,7 +695,7 @@ namespace TShockAPI
|
||||||
player.SendErrorMessage("You do not have access to this command.");
|
player.SendErrorMessage("You do not have access to this command.");
|
||||||
if (player.HasPermission(Permissions.su))
|
if (player.HasPermission(Permissions.su))
|
||||||
{
|
{
|
||||||
player.SendInfoMessage("You can use {0}su to temporarily become Super Admin, which can run this command.", Specifier);
|
player.SendInfoMessage("You can use '{0}sudo {0}{1}' to override this check.", Specifier, cmdText);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!cmd.AllowServer && !player.RealPlayer)
|
else if (!cmd.AllowServer && !player.RealPlayer)
|
||||||
|
|
@ -1847,6 +1851,23 @@ namespace TShockAPI
|
||||||
|
|
||||||
#region Server Maintenence Commands
|
#region Server Maintenence Commands
|
||||||
|
|
||||||
|
// Executes a command as a superuser if you have sudo rights.
|
||||||
|
private static void SubstituteUserDo(CommandArgs args)
|
||||||
|
{
|
||||||
|
if (args.Parameters.Count == 0)
|
||||||
|
{
|
||||||
|
args.Player.SendErrorMessage("Usage: /sudo [command].");
|
||||||
|
args.Player.SendErrorMessage("Example: /sudo /ban add Shank 2d Hacking.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string replacementCommand = String.Join(" ", args.Parameters);
|
||||||
|
args.Player.tempGroup = new SuperAdminGroup();
|
||||||
|
HandleCommand(args.Player, replacementCommand);
|
||||||
|
args.Player.tempGroup = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
private static void Broadcast(CommandArgs args)
|
private static void Broadcast(CommandArgs args)
|
||||||
{
|
{
|
||||||
string message = string.Join(" ", args.Parameters);
|
string message = string.Join(" ", args.Parameters);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue