add colour msg for Rocket and example
we do a lil refactoring, also added a cyan pastel coloured hex code and made various other little improvements
This commit is contained in:
parent
ca13b50116
commit
e88ae85683
2 changed files with 62 additions and 22 deletions
|
|
@ -5483,62 +5483,98 @@ namespace TShockAPI
|
||||||
args.Player.SendMultipleMatchError(players.Select(p => p.Name));
|
args.Player.SendMultipleMatchError(players.Select(p => p.Name));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var ply = players[0];
|
var target = players[0];
|
||||||
|
|
||||||
if (ply.IsLoggedIn && Main.ServerSideCharacter)
|
if (target.IsLoggedIn && Main.ServerSideCharacter)
|
||||||
{
|
{
|
||||||
ply.TPlayer.velocity.Y = -50;
|
target.TPlayer.velocity.Y = -50;
|
||||||
TSPlayer.All.SendData(PacketTypes.PlayerUpdate, "", ply.Index);
|
TSPlayer.All.SendData(PacketTypes.PlayerUpdate, "", target.Index);
|
||||||
|
|
||||||
if (!args.Silent)
|
if (!args.Silent)
|
||||||
{
|
{
|
||||||
TSPlayer.All.SendInfoMessage($"{args.Player.Name} has launched {(ply == args.Player ? (args.Player.TPlayer.Male ? "himself" : "herself") : ply.Name)} into space.");
|
TSPlayer.All.SendInfoMessage($"{args.Player.Name} has launched {(target == args.Player ? (args.Player.TPlayer.Male ? "himself" : "herself") : target.Name)} into space.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ply == args.Player)
|
if (target == args.Player)
|
||||||
args.Player.SendSuccessMessage("You have launched yourself into space.");
|
args.Player.SendSuccessMessage("You have launched yourself into space.");
|
||||||
else
|
else
|
||||||
args.Player.SendSuccessMessage($"You have launched {ply.Name} into space.");
|
args.Player.SendSuccessMessage($"You have launched {target.Name} into space.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!Main.ServerSideCharacter)
|
if (!Main.ServerSideCharacter)
|
||||||
args.Player.SendErrorMessage("SSC must be enabled to use this command.");
|
args.Player.SendErrorMessage("SSC must be enabled to use this command.");
|
||||||
else
|
else
|
||||||
args.Player.SendErrorMessage($"Unable to rocket {ply.Name} because {(ply.TPlayer.Male ? "he" : "she")} is not logged in.");
|
args.Player.SendErrorMessage($"Unable to rocket {target.Name} because {(target.TPlayer.Male ? "he" : "she")} is not logged in.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void FireWork(CommandArgs args)
|
private static void FireWork(CommandArgs args)
|
||||||
{
|
{
|
||||||
|
var user = args.Player;
|
||||||
if (args.Parameters.Count < 1)
|
if (args.Parameters.Count < 1)
|
||||||
{
|
{
|
||||||
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: {0}firework <player> [red|green|blue|yellow]", Specifier);
|
// firework <player> [R|G|B|Y]
|
||||||
|
user.SendMessage("Firework Syntax", Color.White);
|
||||||
|
user.SendMessage($"{"firework".Color(Utils.CyanHighlight)} <{"player".Color(Utils.PinkHighlight)}> [{"R".Color(Utils.RedHighlight)}|{"G".Color(Utils.GreenHighlight)}|{"B".Color(Utils.BoldHighlight)}|{"Y".Color(Utils.YellowHighlight)}]", Color.White);
|
||||||
|
user.SendMessage($"Example usage: {"firework".Color(Utils.CyanHighlight)} {user.Name.Color(Utils.PinkHighlight)} {"R".Color(Utils.RedHighlight)}", Color.White);
|
||||||
|
user.SendMessage($"You can use {SilentSpecifier.Color(Utils.GreenHighlight)} instead of {Specifier.Color(Utils.RedHighlight)} to launch a firework silently.", Color.White);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var players = TSPlayer.FindByNameOrID(args.Parameters[0]);
|
var players = TSPlayer.FindByNameOrID(args.Parameters[0]);
|
||||||
if (players.Count == 0)
|
if (players.Count == 0)
|
||||||
args.Player.SendErrorMessage("Invalid player!");
|
user.SendErrorMessage($"Could not find any player named \"{args.Parameters[0]}\"");
|
||||||
else if (players.Count > 1)
|
else if (players.Count > 1)
|
||||||
args.Player.SendMultipleMatchError(players.Select(p => p.Name));
|
user.SendMultipleMatchError(players.Select(p => p.Name));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int type = 167;
|
int type = 0;
|
||||||
if (args.Parameters.Count > 1)
|
switch (args.Parameters[1].ToLower())
|
||||||
{
|
{
|
||||||
if (args.Parameters[1].ToLower() == "green")
|
case "red":
|
||||||
type = 168;
|
case "r":
|
||||||
else if (args.Parameters[1].ToLower() == "blue")
|
type = ProjectileID.RocketFireworkRed;
|
||||||
type = 169;
|
break;
|
||||||
else if (args.Parameters[1].ToLower() == "yellow")
|
case "green":
|
||||||
type = 170;
|
case "g":
|
||||||
|
type = ProjectileID.RocketFireworkGreen;
|
||||||
|
break;
|
||||||
|
case "blue":
|
||||||
|
case "b":
|
||||||
|
type = ProjectileID.RocketFireworkBlue;
|
||||||
|
break;
|
||||||
|
case "yellow":
|
||||||
|
case "y":
|
||||||
|
type = ProjectileID.RocketFireworkYellow;
|
||||||
|
break;
|
||||||
|
case "r2":
|
||||||
|
case "star":
|
||||||
|
type = ProjectileID.RocketFireworksBoxRed;
|
||||||
|
break;
|
||||||
|
case "g2":
|
||||||
|
case "spiral":
|
||||||
|
type = ProjectileID.RocketFireworksBoxGreen;
|
||||||
|
break;
|
||||||
|
case "b2":
|
||||||
|
case "rings":
|
||||||
|
type = ProjectileID.RocketFireworksBoxBlue;
|
||||||
|
break;
|
||||||
|
case "y2":
|
||||||
|
case "flower":
|
||||||
|
type = ProjectileID.RocketFireworksBoxYellow;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
type = ProjectileID.RocketFireworkRed;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
var ply = players[0];
|
var target = players[0];
|
||||||
int p = Projectile.NewProjectile(Projectile.GetNoneSource(), ply.TPlayer.position.X, ply.TPlayer.position.Y - 64f, 0f, -8f, type, 0, (float)0);
|
int p = Projectile.NewProjectile(Projectile.GetNoneSource(), target.TPlayer.position.X, target.TPlayer.position.Y - 64f, 0f, -8f, type, 0, 0);
|
||||||
Main.projectile[p].Kill();
|
Main.projectile[p].Kill();
|
||||||
args.Player.SendSuccessMessage("Launched Firework on {0}.", ply.Name);
|
args.Player.SendSuccessMessage($"You launched fireworks on {(target == user ? "yourself" : target.Name)}.");
|
||||||
|
if (!args.Silent && target != user)
|
||||||
|
target.SendSuccessMessage($"{user.Name} launched fireworks on you.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,10 @@ namespace TShockAPI
|
||||||
/// Hex code for a white highlight
|
/// Hex code for a white highlight
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string WhiteHighlight = "FFFFFF";
|
public const string WhiteHighlight = "FFFFFF";
|
||||||
|
/// <summary>
|
||||||
|
/// Hex code for a cyan pastel color
|
||||||
|
/// </summary>
|
||||||
|
public const string CyanHighlight = "AAFFFF";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The lowest id for a prefix.
|
/// The lowest id for a prefix.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue