From d1e5b0fd1779a631202c356e863c3c7087267f8d Mon Sep 17 00:00:00 2001
From: Vespura <31419184+TomGrobbe@users.noreply.github.com>
Date: Sun, 8 Apr 2018 19:49:36 +0200
Subject: [PATCH] Improvements
---
vMenuServer/EventManager.cs | 43 +++++++++++++++++++++++++------------
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/vMenuServer/EventManager.cs b/vMenuServer/EventManager.cs
index 6e831fdd..bb191fff 100644
--- a/vMenuServer/EventManager.cs
+++ b/vMenuServer/EventManager.cs
@@ -426,18 +426,23 @@ private void UpdateTime(int newHours, int newMinutes, bool freezeTimeNew)
///
private void KickPlayer([FromSource] Player source, int target, string kickReason = "You have been kicked from the server.")
{
- // If the player is allowed to be kicked.
- var targetPlayer = new PlayerList()[target];
- if (!IsPlayerAceAllowed(targetPlayer.Handle, "vMenu.DontKickMe"))
- {
- // Kick the player from the server using the specified reason.
- DropPlayer(targetPlayer.Handle, kickReason);
- }
- else
+ if (IsPlayerAceAllowed(source.ToString(), "vMenu.OnlinePlayers.Kick"))
{
+ // If the player is allowed to be kicked.
+ var targetPlayer = new PlayerList()[target];
+ if (!IsPlayerAceAllowed(targetPlayer.Handle, "vMenu.DontKickMe"))
+ {
+ // Kick the player from the server using the specified reason.
+ DropPlayer(targetPlayer.Handle, kickReason);
+ return;
+ }
// Trigger the client event on the source player to let them know that kicking this player is not allowed.
TriggerClientEvent(player: source, eventName: "vMenu:KickCallback", args: "Sorry, this player can ~r~not ~w~be kicked.");
+ return;
}
+ // If this happens, the person who thinks they're funny knows exactly what this is for.
+ TriggerClientEvent(player: source, eventName: "vMenu:KickCallback", args: "Have a nice day :)");
+ // todo: Make sure they enjoy their day.
}
///
@@ -447,9 +452,14 @@ private void KickPlayer([FromSource] Player source, int target, string kickReaso
///
private void KillPlayer([FromSource] Player source, int target)
{
- var targetPlayer = new PlayerList()[target];
- // Trigger the client event on the target player to make them kill themselves. R.I.P.
- TriggerClientEvent(player: targetPlayer, eventName: "vMenu:KillMe");
+ if (IsPlayerAceAllowed(source.ToString(), "vMenu.OnlinePlayers.Kill"))
+ {
+ var targetPlayer = new PlayerList()[target];
+ // Trigger the client event on the target player to make them kill themselves. R.I.P.
+ TriggerClientEvent(player: targetPlayer, eventName: "vMenu:KillMe");
+ return;
+ }
+ // todo: enjoy.
}
///
@@ -459,9 +469,14 @@ private void KillPlayer([FromSource] Player source, int target)
///
private void SummonPlayer([FromSource] Player source, int target)
{
- // Trigger the client event on the target player to make them teleport to the source player.
- var targetPlayer = new PlayerList()[target];
- TriggerClientEvent(player: targetPlayer, eventName: "vMenu:GoToPlayer", args: source.Handle);
+ if (IsPlayerAceAllowed(source.ToString(), "vMenu.OnlinePlayers.Summon"))
+ {
+ // Trigger the client event on the target player to make them teleport to the source player.
+ var targetPlayer = new PlayerList()[target];
+ TriggerClientEvent(player: targetPlayer, eventName: "vMenu:GoToPlayer", args: source.Handle);
+ return;
+ }
+ // todo: enjoy.
}
#endregion