improvements
This commit is contained in:
parent
a2bd4a91c1
commit
46c6e66401
|
@ -25,19 +25,29 @@ public class CommandHandler
|
||||||
player.Message(message);
|
player.Message(message);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ActionType.Stats:
|
||||||
|
{
|
||||||
|
var playerKills = player.Kills;
|
||||||
|
var playerDeaths = player.Deaths;
|
||||||
|
var playerKd = playerDeaths == 0 ? playerKills : (double)playerKills / playerDeaths;
|
||||||
|
var formattedPlayerKd = playerKd.ToString("0.00");
|
||||||
|
|
||||||
|
player.Message($"Kills: {playerKills}<br>Deaths: {playerDeaths}<br>K/D: {formattedPlayerKd}");
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ActionType.Kill:
|
case ActionType.Kill:
|
||||||
{
|
{
|
||||||
var target = cmd.Message.Split(" ")[1..].Aggregate((a, b) => a + " " + b);
|
var target = cmd.Message.Split(" ")[1..].Aggregate((a, b) => a + " " + b);
|
||||||
var targetPlayer = player.GameServer.AllPlayers.ToList().FirstOrDefault(p => p.Name.ToLower().Contains(target.ToLower()) || p.SteamID.ToString().Contains(target));
|
var targetPlayer = player.GameServer.AllPlayers.ToList().FirstOrDefault(p => p.Name.ToLower().Contains(target.ToLower()) || p.SteamID.ToString().Contains(target));
|
||||||
|
|
||||||
if (targetPlayer == null)
|
if (target == null)
|
||||||
{
|
{
|
||||||
player.Message("Player not found!");
|
player.Message("Player not found!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
targetPlayer.Kill();
|
targetPlayer?.Kill();
|
||||||
player.Message("Killed player!");
|
player.Message($"Killed {targetPlayer?.Name}");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ActionType.Start:
|
case ActionType.Start:
|
||||||
|
|
22
Commands.cs
22
Commands.cs
|
@ -39,6 +39,28 @@ public class HelpCommand : ApiCommand
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class StatsCommand : ApiCommand
|
||||||
|
{
|
||||||
|
public StatsCommand()
|
||||||
|
{
|
||||||
|
CommandString = "/stats";
|
||||||
|
HelpString = "/stats";
|
||||||
|
Aliases = new string[] { "/s" };
|
||||||
|
AdminOnly = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override Command ChatCommand(MyPlayer player, ChatChannel channel, string msg)
|
||||||
|
{
|
||||||
|
return new Command()
|
||||||
|
{
|
||||||
|
Action = ActionType.Stats,
|
||||||
|
Executor = player.Name,
|
||||||
|
Error = false,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class KillCommand : ApiCommand
|
public class KillCommand : ApiCommand
|
||||||
{
|
{
|
||||||
public KillCommand()
|
public KillCommand()
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
public enum ActionType
|
public enum ActionType
|
||||||
{
|
{
|
||||||
Heal,
|
Heal,
|
||||||
|
Stats,
|
||||||
Kill,
|
Kill,
|
||||||
Kick,
|
Kick,
|
||||||
Ban,
|
Ban,
|
||||||
|
|
17
Program.cs
17
Program.cs
|
@ -28,6 +28,7 @@ class MyGameServer : GameServer<MyPlayer>
|
||||||
public static List<ApiCommand> ApiCommands = new()
|
public static List<ApiCommand> ApiCommands = new()
|
||||||
{
|
{
|
||||||
new HelpCommand(),
|
new HelpCommand(),
|
||||||
|
new StatsCommand(),
|
||||||
new KillCommand(),
|
new KillCommand(),
|
||||||
new StartCommand()
|
new StartCommand()
|
||||||
};
|
};
|
||||||
|
@ -59,6 +60,22 @@ class MyGameServer : GameServer<MyPlayer>
|
||||||
{
|
{
|
||||||
await Console.Out.WriteLineAsync("Disconnected: " + player);
|
await Console.Out.WriteLineAsync("Disconnected: " + player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override async Task OnAPlayerDownedAnotherPlayer(OnPlayerKillArguments<MyPlayer> args)
|
||||||
|
{
|
||||||
|
if (args.Killer == args.Victim)
|
||||||
|
{
|
||||||
|
args.Victim.Kill();
|
||||||
|
args.Victim.Deaths++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
args.Victim.Kill();
|
||||||
|
args.Killer.SetHP(100);
|
||||||
|
args.Killer.Kills++;
|
||||||
|
args.Victim.Deaths++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override async Task<bool> OnPlayerTypedMessage(MyPlayer player, ChatChannel channel, string msg)
|
public override async Task<bool> OnPlayerTypedMessage(MyPlayer player, ChatChannel channel, string msg)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue