Skip to content

Commit

Permalink
v1.0.9
Browse files Browse the repository at this point in the history
  • Loading branch information
NockyCZ committed Mar 9, 2024
1 parent bc77755 commit 44c692b
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 19 deletions.
5 changes: 0 additions & 5 deletions source/Configs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,6 @@ public static void CreateOrLoadCustomModes(string filepath)
["only_hs"] = false,
["allow_knife_damage"] = true,
["random_weapons"] = false,
["allow_center_message"] = false,
["center_message_text"] = "",
["primary_weapons"] = new JArray { "weapon_aug", "weapon_sg556", "weapon_xm1014", "weapon_ak47", "weapon_famas", "weapon_galilar", "weapon_m4a1", "weapon_m4a1_silencer", "weapon_mp5sd", "weapon_mp7", "weapon_p90" },
["secondary_weapons"] = new JArray { "weapon_usp_silencer", "weapon_p250", "weapon_glock", "weapon_fiveseven", "weapon_hkp2000", "weapon_deagle" }
Expand All @@ -187,7 +186,6 @@ public static void CreateOrLoadCustomModes(string filepath)
["only_hs"] = true,
["allow_knife_damage"] = false,
["random_weapons"] = false,
["allow_center_message"] = true,
["center_message_text"] = "<font class='fontSize-l' color='orange'>Only Headshot</font>",
["primary_weapons"] = new JArray { "weapon_aug", "weapon_sg556", "weapon_xm1014", "weapon_ak47", "weapon_famas", "weapon_galilar", "weapon_m4a1", "weapon_m4a1_silencer", "weapon_mp5sd", "weapon_mp7", "weapon_p90" },
["secondary_weapons"] = new JArray { "weapon_usp_silencer", "weapon_p250", "weapon_glock", "weapon_fiveseven", "weapon_hkp2000", "weapon_deagle" },
Expand All @@ -200,7 +198,6 @@ public static void CreateOrLoadCustomModes(string filepath)
["only_hs"] = false,
["allow_knife_damage"] = true,
["random_weapons"] = false,
["allow_center_message"] = true,
["center_message_text"] = "<font class='fontSize-l' color='green'>Only Deagle</font>",
["primary_weapons"] = new JArray { },
["secondary_weapons"] = new JArray { "weapon_deagle" },
Expand All @@ -213,7 +210,6 @@ public static void CreateOrLoadCustomModes(string filepath)
["only_hs"] = false,
["allow_knife_damage"] = true,
["random_weapons"] = false,
["allow_center_message"] = true,
["center_message_text"] = "<font class='fontSize-l' color='blue'>Only Pistols</font>",
["primary_weapons"] = new JArray { },
["secondary_weapons"] = new JArray { "weapon_usp_silencer", "weapon_p250", "weapon_glock", "weapon_cz75a", "weapon_elite", "weapon_fiveseven", "weapon_tec9", "weapon_hkp2000" }
Expand All @@ -226,7 +222,6 @@ public static void CreateOrLoadCustomModes(string filepath)
["only_hs"] = false,
["allow_knife_damage"] = true,
["random_weapons"] = true,
["allow_center_message"] = true,
["center_message_text"] = "<font class='fontSize-l' color='yellow'>Only SMG (Random Weapons)</font>",
["primary_weapons"] = new JArray { "weapon_p90", "weapon_bizon", "weapon_mp5sd", "weapon_mp7", "weapon_mp9", "weapon_mac10", "weapon_ump45" },
["secondary_weapons"] = new JArray { }
Expand Down
2 changes: 1 addition & 1 deletion source/Deathmatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public partial class DeathmatchCore : BasePlugin, IPluginConfig<DeathmatchConfig
{
public override string ModuleName => "Deathmatch Core";
public override string ModuleAuthor => "Nocky";
public override string ModuleVersion => "1.0.8";
public override string ModuleVersion => "1.0.9";
public static DeathmatchCore Instance { get; set; } = new();
public class ModeInfo
{
Expand Down
6 changes: 5 additions & 1 deletion source/Events.cs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,11 @@ public HookResult OnPlayerDeath(EventPlayerDeath @event, GameEventInfo info)
timer = AdminManager.PlayerHasPermissions(player, Config.PlayersSettings.VIPFlag) ? Config.PlayersSettings.RespawnTimeVIP : Config.PlayersSettings.RespawnTime;
@event.FireEventToClient(player);
}
AddTimer(timer, () => { PerformRespawn(player, player.TeamNum, IsBot); }, TimerFlags.STOP_ON_MAPCHANGE);
AddTimer(timer, () =>
{
if (player != null && player.IsValid && !player.PawnIsAlive)
PerformRespawn(player, player.TeamNum, IsBot);
}, TimerFlags.STOP_ON_MAPCHANGE);

if (attacker != player && playerData.ContainsPlayer(attacker) && attacker.PlayerPawn.Value != null)
{
Expand Down
72 changes: 60 additions & 12 deletions source/Functions/Spawns.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,21 @@ public void PerformRespawn(CCSPlayerController player, int team, bool IsBot)
return;

var spawnsDictionary = team == (byte)CsTeam.Terrorist ? spawnPositionsT : spawnPositionsCT;

var spawnsList = spawnsDictionary.ToList();
if (!IsBot)
spawnsList.RemoveAll(x => x.Key == playerData[player].LastSpawn);

Random random = new Random();
spawnsList = spawnsList.OrderBy(x => random.Next()).ToList();
if (spawnsList.Count == 0)
{
player.Respawn();
SendConsoleMessage("[Deathmatch] Spawns list is empty, you got something wrong!", ConsoleColor.Red);
return;
}

var randomSpawn = spawnsList.FirstOrDefault();
Random random = new Random();
int selectRadnomSpawn = random.Next(0, spawnsList.Count);
var randomSpawn = spawnsList.ElementAt(selectRadnomSpawn);
Vector position;
QAngle angle;

Expand All @@ -44,6 +51,7 @@ public void PerformRespawn(CCSPlayerController player, int team, bool IsBot)
return;
}

spawnsList = spawnsList.OrderBy(x => random.Next()).ToList();
var closestDistances = CalculateClosestDistances(player, spawnsList);

var Spawn = spawnsList.FirstOrDefault(spawn =>
Expand Down Expand Up @@ -349,18 +357,41 @@ public void LoadMapSpawns(string filepath, bool mapstart)
spawnPositionsT.Clear();
if (Config.Gameplay.DefaultSpawns)
{
foreach (var spawn in Utilities.FindAllEntitiesByDesignerName<CInfoPlayerTerrorist>("info_player_counterterrorist"))
if (IsCasualGamemode)
{
if (spawn == null)
return;
spawnPositionsCT.Add($"{spawn.AbsOrigin}", $"{spawn.AbsRotation}");
foreach (var spawn in Utilities.FindAllEntitiesByDesignerName<CInfoPlayerTerrorist>("info_player_counterterrorist"))
{
if (spawn == null)
return;
spawnPositionsCT.Add($"{spawn.AbsOrigin}", $"{spawn.AbsRotation}");
}
foreach (var spawn in Utilities.FindAllEntitiesByDesignerName<CInfoPlayerTerrorist>("info_player_terrorist"))
{
if (spawn == null)
return;

spawnPositionsT.Add($"{spawn.AbsOrigin}", $"{spawn.AbsRotation}");
}
}
foreach (var spawn in Utilities.FindAllEntitiesByDesignerName<CInfoPlayerTerrorist>("info_player_terrorist"))
else
{
if (spawn == null)
return;

spawnPositionsT.Add($"{spawn.AbsOrigin}", $"{spawn.AbsRotation}");
int randomizer = 0;
foreach (var spawn in Utilities.FindAllEntitiesByDesignerName<CInfoDeathmatchSpawn>("info_deathmatch_spawn"))
{
randomizer++;
if (randomizer % 2 == 0)
{
if (spawn == null)
return;
spawnPositionsT.Add($"{spawn.AbsOrigin}", $"{spawn.AbsRotation}");
}
else
{
if (spawn == null)
return;
spawnPositionsCT.Add($"{spawn.AbsOrigin}", $"{spawn.AbsRotation}");
}
}
}

g_iTotalCTSpawns = spawnPositionsCT.Count;
Expand All @@ -371,6 +402,23 @@ public void LoadMapSpawns(string filepath, bool mapstart)
if (!File.Exists(filepath))
{
SendConsoleMessage($"[Deathmatch] No spawn points found for this map! (Deathmatch/spawns/{Server.MapName}.json)", ConsoleColor.Red);

foreach (var spawn in Utilities.FindAllEntitiesByDesignerName<CInfoPlayerTerrorist>("info_player_counterterrorist"))
{
if (spawn == null)
return;
spawnPositionsCT.Add($"{spawn.AbsOrigin}", $"{spawn.AbsRotation}");
}
foreach (var spawn in Utilities.FindAllEntitiesByDesignerName<CInfoPlayerTerrorist>("info_player_terrorist"))
{
if (spawn == null)
return;

spawnPositionsT.Add($"{spawn.AbsOrigin}", $"{spawn.AbsRotation}");
}

g_iTotalCTSpawns = spawnPositionsCT.Count;
g_iTotalTSpawns = spawnPositionsT.Count;
}
else
{
Expand Down

0 comments on commit 44c692b

Please sign in to comment.