diff --git a/.github/en.md b/.github/en.md
index 8255b85..44ebdc1 100644
--- a/.github/en.md
+++ b/.github/en.md
@@ -425,6 +425,27 @@ This plugin uses content from the following projects:
## 馃搵 Changelog
+
+v1.2.4.b3
+
+- #### General
+ - Updated compatibility with **CounterStrikeSharp v1.0.375**.
+ - **Removed RayTrace-CSS-API / RayTrace-MM** (ray tracing is now built into CounterStrikeSharp).
+ - **Updated gamedata** signatures and offsets for Windows/Linux.
+ - Skill distribution failures are now logged and retried.
+ - Spectators without a pawn are excluded from connected-player checks.
+
+- #### Skill Fixes
+ - **No Recoil** - Spread and inaccuracy are now disabled server-side for accurate shots.
+ - **Long Zeus** - Kills now correctly count as Zeus kills, including killfeed, sound and ragdoll effects.
+ - **Long Knife** - Long-range hits now show a tracer.
+ - **Fragile Bomb** - Planted bombs are detected reliably and bullet paths are checked correctly.
+ - **Tripwire** - Beams are now removed correctly when the skill changes.
+
+**Full update contributed by [@ByDexterTR](https://github.com/ByDexterTR) in pull request [#61](https://github.com/Juzlus/jRandomSkills/pull/61). Thanks to ByDexterTR!**
+
+
+
v1.2.4.b2
diff --git a/.github/pl.md b/.github/pl.md
index c7d5eaa..d3cca3d 100644
--- a/.github/pl.md
+++ b/.github/pl.md
@@ -425,6 +425,27 @@ Plugin korzysta z zawarto艣ci nast臋puj膮cych projekt贸w:
## 馃搵 Lista Zmian
+
+v1.2.4.b3
+
+- #### Og贸lne
+ - Zaktualizowano kompatybilno艣膰 z **CounterStrikeSharp v1.0.375**.
+ - **Usuni臋to RayTrace-CSS-API / RayTrace-MM** (ray tracing jest teraz wbudowany w CounterStrikeSharp).
+ - **Zaktualizowano gamedata** - sygnatury i offsety dla Windows/Linux.
+ - Obserwatorzy bez pawna nie s膮 ju偶 uwzgl臋dniani podczas sprawdzania liczby po艂膮czonych graczy.
+ - B艂臋dy podczas przydzielania umiej臋tno艣ci s膮 teraz obserwowane i ponawiane.
+
+- #### Poprawki mocy
+ - **Skupienie** - Rozrzut i niecelno艣膰 s膮 teraz wy艂膮czane r贸wnie偶 po stronie serwera, zapewniaj膮c celniejsze strza艂y.
+ - **D艂ugi Zeus** - Zab贸jstwa s膮 teraz poprawnie zaliczane jako zab贸jstwa z Zeusa, wraz z killfeedem, d藕wi臋kiem i efektami ragdolla.
+ - **D艂ugi N贸偶** - Trafienia z du偶ego dystansu pokazuj膮 teraz 艣lad.
+ - **Krucha Bomba** - Pod艂o偶one bomby s膮 teraz wykrywane poprawnie, a trajektoria pocisku jest prawid艂owo sprawdzana.
+ - **"Linka z Drutu** - Wi膮zki s膮 teraz poprawnie usuwane po zmianie umiej臋tno艣ci.
+
+**Pe艂na aktualizacja zosta艂a przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#58](https://github.com/Juzlus/jRandomSkills/pull/58). Dzi臋kujemy ByDexterTR!**
+
+
+
v1.2.4.b2
diff --git a/jRandomSkills - SRC Files/src/player/PlayerEvents.cs b/jRandomSkills - SRC Files/src/player/PlayerEvents.cs
index 770161b..521b26d 100644
--- a/jRandomSkills - SRC Files/src/player/PlayerEvents.cs
+++ b/jRandomSkills - SRC Files/src/player/PlayerEvents.cs
@@ -795,7 +795,7 @@ namespace src.player
Vector eyePos = new(pawn.AbsOrigin.X, pawn.AbsOrigin.Y, pawn.AbsOrigin.Z + pawn.ViewOffset.Z);
Vector endPos = eyePos + SkillUtils.GetForwardVector(pawn.EyeAngles) * 80;
- ulong mask = RayTrace.WorldOnlyMask | (ulong)(Contents.Player | Contents.Npc);
+ ulong mask = (ulong)Masks.SolidBrushOnly | (ulong)(Contents.Player | Contents.Npc);
ulong contents = 0;
var result = RayTrace.TraceShape(player, eyePos, endPos, mask, contents);
diff --git a/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs b/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs
index 7a47467..b4ca260 100644
--- a/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs
+++ b/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs
@@ -21,7 +21,7 @@ namespace src.player.skills
private static readonly List flights = [];
private static readonly object flightLock = new();
private static readonly Color tracerColor = Color.FromArgb(170, 255, 226, 140);
- private static readonly ulong worldOnlyMask = RayTrace.WorldOnlyMask;
+ private static readonly ulong worldOnlyMask = (ulong)Masks.SolidBrushOnly;
public static void LoadSkill()
{
diff --git a/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs b/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs
index 8a0846a..d94b2cc 100644
--- a/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs
+++ b/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs
@@ -162,7 +162,7 @@ namespace src.player.skills
Vector rightDir = SkillUtils.GetForwardVector(new QAngle(0, yaw - 90, 0));
Vector leftDir = SkillUtils.GetForwardVector(new QAngle(0, yaw + 90, 0));
- ulong wallMask = RayTrace.WorldOnlyMask;
+ ulong wallMask = (ulong)Masks.SolidBrushOnly;
var rightHit = RayTrace.TraceShape(player, origin, origin + rightDir * maxDistance, wallMask, 0);
var leftHit = RayTrace.TraceShape(player, origin, origin + leftDir * maxDistance, wallMask, 0);
diff --git a/jRandomSkills - SRC Files/src/utils/EntityManager.cs b/jRandomSkills - SRC Files/src/utils/EntityManager.cs
index fc13d50..72ffa84 100644
--- a/jRandomSkills - SRC Files/src/utils/EntityManager.cs
+++ b/jRandomSkills - SRC Files/src/utils/EntityManager.cs
@@ -467,7 +467,7 @@ namespace src.utils
DestroyAllTracked();
}
- private static void ScheduleAutoDestroy(uint entityIndex, float? seconds)
+ public static void ScheduleAutoDestroy(uint entityIndex, float? seconds)
{
if (seconds is not > 0) return;
Instance?.AddTimer(seconds.Value, () => DestroyEntity(entityIndex), CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
diff --git a/jRandomSkills - SRC Files/src/utils/RayTrace.cs b/jRandomSkills - SRC Files/src/utils/RayTrace.cs
index 8f427d4..3066094 100644
--- a/jRandomSkills - SRC Files/src/utils/RayTrace.cs
+++ b/jRandomSkills - SRC Files/src/utils/RayTrace.cs
@@ -10,10 +10,9 @@ namespace src.utils
{
public static class RayTrace
{
- public const ulong WorldOnlyMask = (ulong)(Contents.Solid | Contents.Window | Contents.PassBullets);
private static bool traceFailureLogged;
-
+
public static bool IsAvailable => true;
private static bool TryTraceHull(Vector startPos, Vector endPos, Vector mins, Vector maxs, CBaseEntity? ignore, ulong mask, ulong contents, out TraceResult result)
@@ -208,6 +207,9 @@ namespace src.utils
beam.EndPos.Z = end.Z;
beam.DispatchSpawn();
+
+ EntityManager.RegisterEntity(beam.Index, int.MaxValue, "beam");
+ EntityManager.ScheduleAutoDestroy(beam.Index, 10);
}
public static float Distance(this CustomTraceResult result)
diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll
index 42c757f..ae60036 100644
Binary files a/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll and b/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll differ
diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll
index 771da85..ad99045 100644
Binary files a/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll and b/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll differ