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