Skip to content

Commit

Permalink
Improved ban event safety and fun.
Browse files Browse the repository at this point in the history
  • Loading branch information
TomGrobbe committed Apr 13, 2018
1 parent fbb5f93 commit 8cb9016
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 16 deletions.
6 changes: 3 additions & 3 deletions vMenu/CommonFunctions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -386,20 +386,20 @@ public async void BanPlayer(Player player, bool forever)
{
if (forever)
{
TriggerServerEvent("vMenu.PermBanPlayer", player.ServerId, banReason);
TriggerServerEvent("vMenu:PermBanPlayer", player.ServerId, banReason);
}
else
{
string banDurationHours = await GetUserInput("Ban Duration (in hours) Max: 720 (1 month)", "1.5", 10);
if (double.TryParse(banDurationHours, out double banHours))
{
TriggerServerEvent("vMenu.TempBanPlayer", player.ServerId, banHours, banReason);
TriggerServerEvent("vMenu:TempBanPlayer", player.ServerId, banHours, banReason);
}
else
{
if (int.TryParse(banDurationHours, out int banHoursInt))
{
TriggerServerEvent("vMenu.TempBanPlayer", player.ServerId, (double)banHoursInt, banReason);
TriggerServerEvent("vMenu:TempBanPlayer", player.ServerId, (double)banHoursInt, banReason);
}
else
{
Expand Down
22 changes: 22 additions & 0 deletions vMenu/EventManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,21 +38,43 @@ public EventManager()
EventHandlers.Add("vMenu:SetupAddonPeds", new Action<string, dynamic>(SetAddonModels));
EventHandlers.Add("vMenu:SetupAddonCars", new Action<string, dynamic>(SetAddonModels));
EventHandlers.Add("vMenu:SetupAddonWeapons", new Action<string, dynamic>(SetAddonModels));
EventHandlers.Add("vMenu:GoodBye", new Action(GoodBye));

Tick += WeatherSync;
Tick += TimeSync;
}

/// <summary>
/// Used for cheating idiots.
/// </summary>
private void GoodBye()
{
ForceSocialClubUpdate();
}

/// <summary>
/// Triggers a settings update.
/// </summary>
/// <param name="options"></param>
private void UpdateSettings(dynamic options)
{
MainMenu.SetOptions(options);
}

/// <summary>
/// Triggers a permissions update.
/// </summary>
/// <param name="permissions"></param>
private void UpdatePermissions(dynamic permissions)
{
MainMenu.SetPermissions(permissions);
}

/// <summary>
/// Triggers a addons list update.
/// </summary>
/// <param name="addonType"></param>
/// <param name="addons"></param>
private void SetAddonModels(string addonType, dynamic addons)
{
Dictionary<string, uint> models = new Dictionary<string, uint>();
Expand Down
17 changes: 9 additions & 8 deletions vMenuServer/BanManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ struct BanRecord
/// <summary>
/// List of ban records.
/// </summary>
private List<BanRecord> BannedPlayersList = new List<BanRecord>();
private static List<BanRecord> BannedPlayersList = new List<BanRecord>();

/// <summary>
/// Constructor.
/// </summary>
public BanManager()
{
EventHandlers.Add("vMenu.TempBanPlayer", new Action<Player, int, double, string>(BanPlayer));
EventHandlers.Add("vMenu.PermBanPlayer", new Action<Player, int, string>(BanPlayer));
EventHandlers.Add("vMenu:TempBanPlayer", new Action<Player, int, double, string>(BanPlayer));
EventHandlers.Add("vMenu:PermBanPlayer", new Action<Player, int, string>(BanPlayer));
EventHandlers.Add("playerConnecting", new Action<Player, string, CallbackDelegate>(CheckForBans));
BannedPlayersList = GetBanList();
}
Expand All @@ -43,7 +43,7 @@ public BanManager()
/// Gets the ban list from the bans.json file.
/// </summary>
/// <returns></returns>
private List<BanRecord> GetBanList()
private static List<BanRecord> GetBanList()
{
var banList = new List<BanRecord>();
string bansJson = LoadResourceFile(GetCurrentResourceName(), "bans.json");
Expand Down Expand Up @@ -265,7 +265,7 @@ private string GetRemainingTimeMessage(TimeSpan remainingTime)
/// </summary>
/// <param name="ban"></param>
/// <returns></returns>
private bool AddBan(BanRecord ban)
private static bool AddBan(BanRecord ban)
{
BannedPlayersList = GetBanList();
var found = false;
Expand Down Expand Up @@ -327,17 +327,18 @@ private bool RemoveBan(BanRecord record)
/// Someone trying to trigger fake server events? Well, goodbye idiots.
/// </summary>
/// <param name="source"></param>
public void BanCheater(Player source)
public static void BanCheater(Player source)
{
AddBan(new BanRecord()
{
bannedBy = "Yourself, idiot.",
bannedUntil = new DateTime(3000, 1, 1),
banReason = "You know exactly what you did wrong, you're a fucking idiot, but nobody needs to tell you that.",
banReason = "You know exactly what you did wrong, you're a fucking idiot, but nobody needs to tell you that. Enjoy this: https://youtu.be/dQw4w9WgXcQ",
identifiers = source.Identifiers.ToList(),
playerName = source.Name
});
source.Drop("Enjoy, idiot.");
//source.Drop("Enjoy, idiot.");
source.TriggerEvent("vMenu:GoodBye"); // this is much more fun than just kicking them.
}
}
}
20 changes: 15 additions & 5 deletions vMenuServer/MainServer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -454,9 +454,13 @@ private void KickPlayer([FromSource] Player source, int target, string kickReaso
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.
else
{
BanManager.BanCheater(new PlayerList()[target]);
}
//// 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.
}

/// <summary>
Expand All @@ -473,7 +477,10 @@ private void KillPlayer([FromSource] Player source, int target)
TriggerClientEvent(player: targetPlayer, eventName: "vMenu:KillMe");
return;
}
// todo: enjoy.
else
{
BanManager.BanCheater(new PlayerList()[target]);
}
}

/// <summary>
Expand All @@ -490,7 +497,10 @@ private void SummonPlayer([FromSource] Player source, int target)
TriggerClientEvent(player: targetPlayer, eventName: "vMenu:GoToPlayer", args: source.Handle);
return;
}
// todo: enjoy.
else
{
BanManager.BanCheater(new PlayerList()[target]);
}
}
#endregion

Expand Down

0 comments on commit 8cb9016

Please sign in to comment.