add sborka

This commit is contained in:
2026-03-31 10:27:04 +03:00
commit f5e5f56c84
2345 changed files with 382127 additions and 0 deletions

View File

@@ -0,0 +1,142 @@
PLUGIN.name = "LeyHitReg"
PLUGIN.author = "Ley (Портирован для Helix)"
PLUGIN.description = "Улучшенная система регистрации попаданий для точной стрельбы"
-- Конфигурация системы
LeyHitreg = LeyHitreg or {}
-- Настройки через ix.config
ix.config.Add("leyHitregEnabled", true, "Включить систему улучшенной регистрации попаданий", nil, {
category = "LeyHitReg"
})
ix.config.Add("leyHitregShotDirForceDisabled", false, "Принудительно отключить направление выстрела (для тестирования проблемных SWEP баз)", nil, {
category = "LeyHitReg"
})
ix.config.Add("leyHitregDisableSecurityChecks", false, "Отключить проверки безопасности выстрелов", nil, {
category = "LeyHitReg"
})
ix.config.Add("leyHitregIgnoreCanNextPrimaryAttack", true, "Игнорировать задержку между выстрелами (рекомендуется)", nil, {
category = "LeyHitReg"
})
ix.config.Add("leyHitregNoSpread", false, "[DEBUG] Включить режим без разброса для всех", nil, {
category = "LeyHitReg - Debug"
})
ix.config.Add("leyHitregShowActualHit", false, "[DEBUG] Показывать где на самом деле попала пуля (без разброса)", nil, {
category = "LeyHitReg - Debug"
})
ix.config.Add("leyHitregShowSpreadedHit", false, "[DEBUG] Показывать где на самом деле попала пуля (с разбросом)", nil, {
category = "LeyHitReg - Debug"
})
ix.config.Add("leyHitregLogFixedBullets", false, "[DEBUG] Логировать количество исправленных пуль", nil, {
category = "LeyHitReg - Debug"
})
ix.config.Add("leyHitregLogInvalidShots", false, "[DEBUG] Логировать невалидные выстрелы", nil, {
category = "LeyHitReg - Debug"
})
-- Применяем настройки к LeyHitreg
LeyHitreg.ShotDirForceDisabled = ix.config.Get("leyHitregShotDirForceDisabled", false)
LeyHitreg.DisableSecurityChecks = ix.config.Get("leyHitregDisableSecurityChecks", false)
LeyHitreg.IgnoreCanNextPrimaryAttack = ix.config.Get("leyHitregIgnoreCanNextPrimaryAttack", true)
-- Debug настройки
LeyHitreg.Disabled = not ix.config.Get("leyHitregEnabled", true)
LeyHitreg.DisabledOnlyOnClient = false
LeyHitreg.NoSpread = ix.config.Get("leyHitregNoSpread", false)
LeyHitreg.ShowActualShotHit = ix.config.Get("leyHitregShowActualHit", false)
LeyHitreg.ShowActualShotSpreadedHit = ix.config.Get("leyHitregShowSpreadedHit", false)
LeyHitreg.BrokenDefaultSpread = false
LeyHitreg.LogHitgroupMismatches = false
LeyHitreg.LogFixedBullets = ix.config.Get("leyHitregLogFixedBullets", false)
LeyHitreg.LogInvalidFOV = false
LeyHitreg.LogInvalidShots = ix.config.Get("leyHitregLogInvalidShots", false)
LeyHitreg.BulletAimbot = false
LeyHitreg.LogTargetBone = false
LeyHitreg.HitScanDisabled = false
LeyHitreg.BulletOverwriteDisabled = false
LeyHitreg.AnnounceClientHits = false
LeyHitreg.DisableLagComp = false
if LeyHitreg.Disabled then
print("[LeyHitReg] Отключен через настройки")
return
end
-- Отключение конфликтующих систем хитрега
function LeyHitreg:DisableMoatHitreg()
if MOAT_HITREG then
MOAT_HITREG.MaxPing = 1
end
if ConVarExists("moat_alt_hitreg") then
RunConsoleCommand("moat_alt_hitreg", "0")
end
if SHR then
if SHR.Config then
SHR.Config.Enabled = false
SHR.Config.ClientDefault = 0
end
hook.Remove("EntityFireBullets", "SHR.FireBullets")
hook.Remove("EntityFireBullets", "a")
net.Receivers["shr"] = function() end
end
end
function PLUGIN:Initialize()
print("[LeyHitReg] Загрузка системы регистрации попаданий...")
-- Отключаем конфликтующие системы
LeyHitreg:DisableMoatHitreg()
print("[LeyHitReg] Система загружена!")
end
-- Обновление настроек при изменении конфига
function PLUGIN:OnConfigChanged(key, oldValue, newValue)
if key == "leyHitregEnabled" then
LeyHitreg.Disabled = not newValue
print("[LeyHitReg] Система " .. (newValue and "включена" or "отключена"))
elseif key == "leyHitregShotDirForceDisabled" then
LeyHitreg.ShotDirForceDisabled = newValue
elseif key == "leyHitregDisableSecurityChecks" then
LeyHitreg.DisableSecurityChecks = newValue
elseif key == "leyHitregIgnoreCanNextPrimaryAttack" then
LeyHitreg.IgnoreCanNextPrimaryAttack = newValue
elseif key == "leyHitregNoSpread" then
LeyHitreg.NoSpread = newValue
elseif key == "leyHitregShowActualHit" then
LeyHitreg.ShowActualShotHit = newValue
elseif key == "leyHitregShowSpreadedHit" then
LeyHitreg.ShowActualShotSpreadedHit = newValue
elseif key == "leyHitregLogFixedBullets" then
LeyHitreg.LogFixedBullets = newValue
elseif key == "leyHitregLogInvalidShots" then
LeyHitreg.LogInvalidShots = newValue
end
end
-- Загрузка модулей
ix.util.Include("leyhitreg/shared/spreadsystem/bulletspread.lua")
ix.util.Include("leyhitreg/shared/spreadsystem/firebullets.lua")
ix.util.Include("leyhitreg/shared/disablelagcomp/disablelagcomp.lua")
ix.util.Include("leyhitreg/shared/workarounds/workarounds.lua")
ix.util.Include("leyhitreg/shared/workarounds/swepbases.lua")
ix.util.Include("leyhitreg/client/sendshots/sendshots.lua")
ix.util.Include("leyhitreg/client/sendshots/fetchspreads.lua")
ix.util.Include("leyhitreg/server/bulletprocessing/hitscan.lua")
ix.util.Include("leyhitreg/server/bulletprocessing/processbullet.lua")
ix.util.Include("leyhitreg/server/damageinfo/scaledamagehack.lua")
ix.util.Include("leyhitreg/server/damageinfo/fixscaling.lua")
ix.util.Include("leyhitreg/server/receiveshotinfo/receiveshotinfo.lua")
ix.util.Include("leyhitreg/server/receiveshotinfo/shotvalidator.lua")