This commit is contained in:
Juzlus 2025-02-25 21:38:43 +01:00
parent 262f618b31
commit fc0d2a3265
18 changed files with 515 additions and 143 deletions

View file

@ -35,6 +35,9 @@ namespace jRandomSkills
if (attackerPawn == null || attackerPawn.Controller?.Value == null || victimPawn == null || victimPawn.Controller?.Value == null)
return HookResult.Continue;
if (attackerPawn.DesignerName != "player" || victimPawn.DesignerName != "player")
return HookResult.Continue;
CCSPlayerController attacker = attackerPawn.Controller.Value.As<CCSPlayerController>();
CCSPlayerController victim = victimPawn.Controller.Value.As<CCSPlayerController>();

View file

@ -67,6 +67,9 @@ namespace jRandomSkills
if (attackerPawn == null || attackerPawn.Controller?.Value == null || victimPawn == null || victimPawn.Controller?.Value == null)
return HookResult.Continue;
if (attackerPawn.DesignerName != "player" || victimPawn.DesignerName != "player")
return HookResult.Continue;
CCSPlayerController attacker = attackerPawn.Controller.Value.As<CCSPlayerController>();
CCSPlayerController victim = victimPawn.Controller.Value.As<CCSPlayerController>();

View file

@ -1,4 +1,4 @@
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Memory.DynamicFunctions;
using jRandomSkills.src.player;
@ -33,18 +33,18 @@ namespace jRandomSkills
if (attackerPawn == null || attackerPawn.Controller?.Value == null || victimPawn == null || victimPawn.Controller?.Value == null)
return HookResult.Continue;
if (attackerPawn.DesignerName != "player" || victimPawn.DesignerName != "player")
return HookResult.Continue;
CCSPlayerController attacker = attackerPawn.Controller.Value.As<CCSPlayerController>();
CCSPlayerController victim = victimPawn.Controller.Value.As<CCSPlayerController>();
var playerInfo = Instance.skillPlayer.FirstOrDefault(p => p.SteamID == attacker.SteamID);
if (playerInfo == null) return HookResult.Continue;
if (playerInfo.Skill == skillName && attacker.PawnIsAlive)
{
param2.Damage = 1000f;
}
return HookResult.Continue;
if (playerInfo.Skill == skillName && attacker.PawnIsAlive)
param2.Damage = 1000f;
return HookResult.Changed;
}
}
}

View file

@ -23,7 +23,7 @@ namespace jRandomSkills
var userIndex = um.ReadUInt("source_entity_index");
if (userIndex == 0) return HookResult.Continue;
if (!Instance.footstepSoundEvents.Contains(soundevent) && !Instance.silentSoundEvents.Contains(soundevent))
return HookResult.Continue;

View file

@ -42,7 +42,11 @@ namespace jRandomSkills
public static void EnableSkill(CCSPlayerController player)
{
var playerInfo = Instance.skillPlayer.FirstOrDefault(p => p.SteamID == player.SteamID);
float newScale = (float)Instance.Random.NextDouble() * (1.35f - 1.15f) + 1.15f;
var skillConfig = Config.config.SkillsInfo.FirstOrDefault(s => s.Name == skillName.ToString());
if (skillConfig == null) return;
float newScale = (float)Instance.Random.NextDouble() * (skillConfig.ChanceTo - skillConfig.ChanceFrom) + skillConfig.ChanceFrom;
playerInfo.SkillChance = newScale;
newScale = (float)Math.Round(newScale, 2);
Utils.PrintToChat(player, $"{ChatColors.DarkRed}{Localization.GetTranslation("soldier")}{ChatColors.Lime}: " + Localization.GetTranslation("soldier_desc2", newScale), false);
@ -62,6 +66,9 @@ namespace jRandomSkills
if (attackerPawn == null || attackerPawn.Controller?.Value == null || victimPawn == null || victimPawn.Controller?.Value == null)
return HookResult.Continue;
if (attackerPawn.DesignerName != "player" || victimPawn.DesignerName != "player")
return HookResult.Continue;
CCSPlayerController attacker = attackerPawn.Controller.Value.As<CCSPlayerController>();
CCSPlayerController victim = victimPawn.Controller.Value.As<CCSPlayerController>();

View file

@ -127,14 +127,6 @@ namespace jRandomSkills
player.PrintToCenterHtml(hudContent);
}
private static void ActiveUse(CCSPlayerController player)
{
if (SkillPlayerInfo.TryGetValue(player.SteamID, out var skillInfo))
{
skillInfo.CanUse = true;
}
}
private static void UseSkill(CCSPlayerController player)
{
var playerPawn = player.PlayerPawn.Value;

View file

@ -115,14 +115,6 @@ namespace jRandomSkills
player.PrintToCenterHtml(hudContent);
}
private static void ActiveUse(CCSPlayerController player)
{
if (SkillPlayerInfo.TryGetValue(player.SteamID, out var skillInfo))
{
skillInfo.CanUse = true;
}
}
private static void UseSkill(CCSPlayerController player)
{
var playerPawn = player.PlayerPawn.Value;
@ -136,8 +128,13 @@ namespace jRandomSkills
skillInfo.CanUse = false;
skillInfo.Cooldown = DateTime.Now;
Server.ExecuteCommand("sv_cheats 1");
Server.ExecuteCommand("host_timescale 0.1");
Instance.AddTimer(.6f, () => Server.ExecuteCommand("host_timescale 1"));
Instance.AddTimer(.6f, () =>
{
Server.ExecuteCommand("host_timescale 1");
Server.ExecuteCommand("sv_cheats 0");
});
}
else
skillInfo.LastClick = DateTime.Now;