add colours and examples for /kill
also a bit of refactoring and other small improvements
This commit is contained in:
parent
ded2e8544b
commit
57365a0534
1 changed files with 21 additions and 13 deletions
|
|
@ -5741,28 +5741,36 @@ namespace TShockAPI
|
||||||
|
|
||||||
private static void Kill(CommandArgs args)
|
private static void Kill(CommandArgs args)
|
||||||
{
|
{
|
||||||
|
// To-Do: separate kill self and kill other player into two permissions
|
||||||
|
var user = args.Player;
|
||||||
if (args.Parameters.Count < 1)
|
if (args.Parameters.Count < 1)
|
||||||
{
|
{
|
||||||
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: {0}kill <player>", Specifier);
|
user.SendMessage("Kill syntax and example", Color.White);
|
||||||
|
user.SendMessage($"{"kill".Color(Utils.BoldHighlight)} <{"player".Color(Utils.RedHighlight)}>", Color.White);
|
||||||
|
user.SendMessage($"Example usage: {"kill".Color(Utils.BoldHighlight)} {user.Name.Color(Utils.RedHighlight)}", Color.White);
|
||||||
|
user.SendMessage($"You can use {SilentSpecifier.Color(Utils.GreenHighlight)} instead of {Specifier.Color(Utils.RedHighlight)} to execute this command silently.", Color.White);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string plStr = String.Join(" ", args.Parameters);
|
var players = TSPlayer.FindByNameOrID(String.Join(" ", args.Parameters));
|
||||||
var players = TSPlayer.FindByNameOrID(plStr);
|
|
||||||
if (players.Count == 0)
|
if (players.Count == 0)
|
||||||
{
|
user.SendErrorMessage($"Could not find any player named \"{args.Parameters}\".");
|
||||||
args.Player.SendErrorMessage("Invalid player!");
|
|
||||||
}
|
|
||||||
else if (players.Count > 1)
|
else if (players.Count > 1)
|
||||||
{
|
user.SendMultipleMatchError(players.Select(p => p.Name));
|
||||||
args.Player.SendMultipleMatchError(players.Select(p => p.Name));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var plr = players[0];
|
var target = players[0];
|
||||||
plr.KillPlayer();
|
|
||||||
args.Player.SendSuccessMessage(string.Format("You just killed {0}!", plr.Name));
|
if (target.Dead)
|
||||||
plr.SendErrorMessage("{0} just killed you!", args.Player.Name);
|
{
|
||||||
|
user.SendErrorMessage($"{(target == user ? "You" : target.Name)} {(target == user ? "are" : "is")} already dead!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
target.KillPlayer();
|
||||||
|
user.SendSuccessMessage($"You just killed {(target == user ? "yourself" : target.Name)}!");
|
||||||
|
if (!args.Silent && target != user)
|
||||||
|
target.SendErrorMessage($"{user.Name} just killed you!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue