Skip to content

Commit

Permalink
2.4.3
Browse files Browse the repository at this point in the history
  • Loading branch information
terminator-97 committed Jan 10, 2021
1 parent f6198fe commit dc9ee19
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 62 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,12 @@ This is the list of SCPUtils features with a brief description, i recomend to re
- **ASNs Bans:** You can ban specific ASNs to avoid ban evaders and cheaters, you can whitelist legit users to bypass the ASNs bans using a simple command, to add an ASN to blacklist add it inside server config setting.
- **Team protection:** Editing configs you can set protection to the teams you want against the teams you want on specific zones or entire map.


**Database will get created inside Exiled/SCPUtils folder.**<br /><br />
**Each server must have it's own database, you cannot use one database on multiple servers!**<br /><br />
**You must add LiteDB.dll into Plugins/dependencies folder or plugin won't work**<br /><br />
**Minimum requirements: Exiled version: 2.1.25 and LiteDB 5.0.9**
**Minimum requirements: Exiled version: 2.1.28 and LiteDB 5.0.9**


### Configs:

Expand Down
2 changes: 1 addition & 1 deletion SCPUtils/Commands/SetBadge.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s
databasePlayer.BadgeName = badge;
databasePlayer.BadgeExpire = DateTime.Now.AddMinutes(duration);


Database.LiteDatabase.GetCollection<Player>().Update(databasePlayer);
response = $"Successfully set {group.BadgeText} badge! Duration: {duration} minute(s)!";

Expand Down
4 changes: 2 additions & 2 deletions SCPUtils/Functions/EventHandlers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ internal void OnPlayerDeath(DyingEventArgs ev)

internal void OnRoundEnded(RoundEndedEventArgs ev)
{
foreach(var player in Exiled.API.Features.Player.List)
foreach (var player in Exiled.API.Features.Player.List)
{
pluginInstance.Functions.SaveData(player);
}
Expand Down Expand Up @@ -86,7 +86,7 @@ internal void OnPlayerSpawn(SpawningEventArgs ev)
}

internal void OnPlayerLeave(LeftEventArgs ev)
{
{
pluginInstance.Functions.SaveData(ev.Player);
}

Expand Down
98 changes: 45 additions & 53 deletions SCPUtils/Functions/Functions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,83 +55,75 @@ public void OnQuitOrSuicide(Exiled.API.Features.Player player)

public void PostLoadPlayer(Exiled.API.Features.Player player)
{
var databasePlayer = player.GetDatabasePlayer();


var databasePlayer = player.GetDatabasePlayer();

if (!string.IsNullOrEmpty(databasePlayer.BadgeName))
{
Timing.CallDelayed(1f, () =>
if (databasePlayer.BadgeExpire >= DateTime.Now)
{
var group = ServerStatic.GetPermissionsHandler()._groups[databasePlayer.BadgeName];
if (string.IsNullOrEmpty(databasePlayer.PreviousBadge) && player.Group != null && group.BadgeText != player.Group.BadgeText) databasePlayer.PreviousBadge = player.GroupName;
player.ReferenceHub.serverRoles.SetGroup(group, false, true, true);
if (ServerStatic.PermissionsHandler._members.ContainsKey(player.UserId)) ServerStatic.PermissionsHandler._members.Remove(player.UserId);
ServerStatic.PermissionsHandler._members.Add(player.UserId, databasePlayer.BadgeName);
}
else
{
if (databasePlayer.BadgeExpire >= DateTime.Now)
databasePlayer.BadgeName = "";

if (!string.IsNullOrEmpty(databasePlayer.PreviousBadge))
{
var group = ServerStatic.GetPermissionsHandler()._groups[databasePlayer.BadgeName];
if (string.IsNullOrEmpty(databasePlayer.PreviousBadge) && player.Group != null && group.BadgeText != player.Group.BadgeText) databasePlayer.PreviousBadge = player.GroupName;
var group = ServerStatic.GetPermissionsHandler()._groups[databasePlayer.PreviousBadge];
player.ReferenceHub.serverRoles.SetGroup(group, false, true, true);
if (ServerStatic.PermissionsHandler._members.ContainsKey(player.UserId)) ServerStatic.PermissionsHandler._members.Remove(player.UserId);
ServerStatic.PermissionsHandler._members.Add(player.UserId, databasePlayer.BadgeName);
ServerStatic.PermissionsHandler._members.Add(player.UserId, databasePlayer.PreviousBadge);
}
else
{
databasePlayer.BadgeName = "";
databasePlayer.PreviousBadge = "";
if (!databasePlayer.KeepPreferences) databasePlayer.ResetPreferences();

if (!string.IsNullOrEmpty(databasePlayer.PreviousBadge))
{
var group = ServerStatic.GetPermissionsHandler()._groups[databasePlayer.PreviousBadge];
player.ReferenceHub.serverRoles.SetGroup(group, false, true, true);
ServerStatic.PermissionsHandler._members.Add(player.UserId, databasePlayer.PreviousBadge);
}
databasePlayer.PreviousBadge = "";
if (!databasePlayer.KeepPreferences) databasePlayer.ResetPreferences();

}
});
}
}

if (!string.IsNullOrEmpty(databasePlayer.ColorPreference) && databasePlayer.ColorPreference != "None")
Timing.CallDelayed(1.5f, () =>
{
if (player.CheckPermission("scputils.changecolor") || player.CheckPermission("scputils.playersetcolor") || databasePlayer.KeepPreferences || pluginInstance.Config.KeepColorWithoutPermission)

if (!string.IsNullOrEmpty(databasePlayer.ColorPreference) && databasePlayer.ColorPreference != "None")
{
Timing.CallDelayed(1.15f, () =>
{
player.RankColor = databasePlayer.ColorPreference;
});
if (player.CheckPermission("scputils.changecolor") || player.CheckPermission("scputils.playersetcolor") || databasePlayer.KeepPreferences || pluginInstance.Config.KeepColorWithoutPermission)
{
player.RankColor = databasePlayer.ColorPreference;
}
else databasePlayer.ColorPreference = "";
}
else databasePlayer.ColorPreference = "";
}

if (databasePlayer.HideBadge == true)
{
if (player.CheckPermission("scputils.badgevisibility") || databasePlayer.KeepPreferences || pluginInstance.Config.KeepBadgeVisibilityWithoutPermission)
if (databasePlayer.HideBadge == true)
{
Timing.CallDelayed(1.25f, () =>
{
player.BadgeHidden = true;
});
if (player.CheckPermission("scputils.badgevisibility") || databasePlayer.KeepPreferences || pluginInstance.Config.KeepBadgeVisibilityWithoutPermission)
{
player.BadgeHidden = true;
}
else databasePlayer.HideBadge = false;
}
else databasePlayer.HideBadge = false;
}


if (!string.IsNullOrEmpty(databasePlayer.CustomNickName) && databasePlayer.CustomNickName != "None")
{
if (player.CheckPermission("scputils.changenickname") || player.CheckPermission("scputils.playersetname") || databasePlayer.KeepPreferences || pluginInstance.Config.KeepNameWithoutPermission)
if (!string.IsNullOrEmpty(databasePlayer.CustomNickName) && databasePlayer.CustomNickName != "None")
{
Timing.CallDelayed(1.35f, () =>
if (player.CheckPermission("scputils.changenickname") || player.CheckPermission("scputils.playersetname") || databasePlayer.KeepPreferences || pluginInstance.Config.KeepNameWithoutPermission)
{
player.DisplayNickname = databasePlayer.CustomNickName;
}
else databasePlayer.CustomNickName = "";
}

if (pluginInstance.Config.AutoKickBannedNames && pluginInstance.Functions.CheckNickname(player.Nickname) && !player.CheckPermission("scputils.bypassnickrestriction"))
{
Timing.CallDelayed(2f, () =>
{
player.DisplayNickname = databasePlayer.CustomNickName;
player.Kick("Auto-Kick: " + pluginInstance.Config.AutoKickBannedNameMessage, "SCPUtils");
});
}
else databasePlayer.CustomNickName = "";
}

if (pluginInstance.Config.AutoKickBannedNames && pluginInstance.Functions.CheckNickname(player.Nickname) && !player.CheckPermission("scputils.bypassnickrestriction"))
{
Timing.CallDelayed(3f, () =>
{
player.Kick("Auto-Kick: " + pluginInstance.Config.AutoKickBannedNameMessage, "SCPUtils");
});
}
});

}

Expand Down
4 changes: 2 additions & 2 deletions SCPUtils/Plugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ public class ScpUtils : Features.Plugin<Configs>
{
private static readonly Lazy<ScpUtils> LazyInstance = new Lazy<ScpUtils>(() => new ScpUtils());
public static ScpUtils StaticInstance => LazyInstance.Value;
public static string pluginVersion = "2.4.2";
public static string pluginVersion = "2.4.3";
public override string Author { get; } = "Terminator_97#0507";
public override string Name { get; } = "SCPUtils";
public override Version Version { get; } = new Version(2, 4, 2);
public override Version Version { get; } = new Version(2, 4, 3);
public override Version RequiredExiledVersion { get; } = new Version(2, 1, 25);
public EventHandlers EventHandlers { get; private set; }
public Functions Functions { get; private set; }
Expand Down
6 changes: 3 additions & 3 deletions SCPUtils/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SCPUtils")]
[assembly: AssemblyDescription("SCPUtils 2.4.2")]
[assembly: AssemblyDescription("SCPUtils 2.4.3")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SCPUtils")]
Expand All @@ -31,5 +31,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.4.2.0")]
[assembly: AssemblyFileVersion("2.4.2.0")]
[assembly: AssemblyVersion("2.4.3.0")]
[assembly: AssemblyFileVersion("2.4.3.0")]

0 comments on commit dc9ee19

Please sign in to comment.