hlmod.hu
https://hlmod.hu/

Simple AC Notifier 1.0
https://hlmod.hu/viewtopic.php?f=24&t=31682
Oldal: 1 / 1

Szerző:  8mTNNe [2026.02.15. 19:41 ]
Hozzászólás témája:  Simple AC Notifier 1.0

Egyszerű “anti-cheat jelző” plugin
Nem bannol és nem kickel, csak gyanús statok esetén jelzi az adminoknak chatben, illetve logol fájlba.

.
Funkciók

Head-hit arány figyelés (találatokon belül fej-találatok – Ham_TraceAttack alapján).

Headshot kill arány figyelés (DeathMsg HS flag alapján).

“Snap” jelzés: ha rövid időn belül nagy szögváltozás után jön HEAD hit, kap gyanú pontot.

Anti-spam / cooldown: nem floodolja tele a chatet.

Admin parancs: amx_acstats <név/#userid> → konzolra kiírja az adott játékos statjait.


Nem tilt, nem rúg ki, nem avatkozik a játékmenetbe.
Ez csak jelzőrendszer, az admin dönt.


Telepítés

Másold be:
addons/amxmodx/scripting/simple_ac_notifier.sma

Fordítsd le (AMXX 1.9.0 / 1.10 compilerrel).

Másold a kész .amxx fájlt ide:
addons/amxmodx/plugins/

addons/amxmodx/configs/plugins.ini végére add hozzá:
simple_ac_notifier.amxx

------>
Szükséges modulok

fakemeta

hamsandwich

cstrike


  1. CVAR-ok (beállítások)
  2. Alapértékek és jelentés:
  3. ac_min_hits 35
  4. Ennyi hit után kezdi el komolyabban értékelni a játékost.
  5. ac_head_ratio 0.75
  6. Headhit/hit arány küszöb. (Pl. 0.75 = 75% fejtalálat)
  7. ac_snap_deg 45.0
  8. “Snap” küszöb fokban (nagy hirtelen szögváltozás + HEAD hit).
  9. ac_snap_window 0.08
  10. Mintavételi időablak (mp) a snap ellenőrzéshez.
  11. ac_eval_interval 10.0
  12. Kiértékelési időköz (mp).
  13. ac_alert_cooldown 25.0
  14. Ugyanarra a játékosra ennyi ideig nem küld új riasztást (mp).
  15. ac_notify 1
  16. 1 = admin chat értesítés, 0 = nincs.
  17. ac_log 1
  18. 1 = logol simple_ac.log fájlba, 0 = nincs log.
  19. ac_admin_flags b
  20. Mely admin flag(ek) kapják a chat riasztást (pl. b).


A plugin heurisztikát használ (valószínűségi jelzés), ezért nem bizonyíték.
Legjobb használat: admin figyelje a játékost / demó / spec.

Szerző:  DexoN [2026.02.25. 19:35 ]
Hozzászólás témája: 

itt a hhRatio >= ratioThr és a g_kills[id] >= 10 && hsKillRatio >= 0.85 jelentősen korrelál egymással. Van értelme szétszedni?

  1. if (hhRatio >= ratioThr)
  2.             g_susp[id]++
  3.  
  4.  
  5.         if (g_kills[id] >= 10 && hsKillRatio >= 0.85) // ezek mehetnének cvarokba a többi mellé
  6.             g_susp[id]++
  7.  
  8.         if (g_susp[id] >= 2) //szintúgy
  9.         {
  10.             try_alert(id, hhRatio, hsKillRatio)
  11.  
  12.             g_susp[id] = 1 // ez itt direkt 1 és nem 0?
  13.         }



Itt a cvar leírás és a kód ellentmondanak.

  1. pc_snap_window    = register_cvar("ac_snap_window",    "0.08")    // ennyi mp-enként mintáz szöget


  1. if (hitgroup == HIT_HEAD)
  2.     {
  3.         g_headhits[attacker]++
  4.  
  5.         new Float:now = get_gametime()
  6.         new Float:win = get_pcvar_float(pc_snap_window)
  7.  
  8.         if (now - g_lastSampleTime[attacker] >= win)
  9.         {
  10.             pev(attacker, pev_v_angle, g_sampleAngles[attacker])
  11.             g_lastSampleTime[attacker] = now
  12.         }
  13.         else
  14.         {
  15.  
  16.             new Float:cur[3]
  17.             pev(attacker, pev_v_angle, cur)
  18.  
  19.             new Float:dp = floatabs(cur[0] - g_sampleAngles[attacker][0])
  20.             new Float:dy = floatabs(cur[1] - g_sampleAngles[attacker][1])
  21.  
  22.             if (dy > 180.0) dy = 360.0 - dy
  23.  
  24.             new Float:delta = dp + dy
  25.             new Float:snapDeg = get_pcvar_float(pc_snap_deg)
  26.  
  27.             if (delta >= snapDeg)
  28.             {
  29.                 g_susp[attacker]++
  30.             }
  31.         }


Jelen logika szerint, ha több idő telt el mint 0.08 másodperc, akkor NEM fut le.

Illetve az alap logika szerintem nem rossz, de azzal is számolj, hogyha 0.08 másodpercenként akarod megnézni, akkor ha én valakit fejbelövök, majd 2 másodperc múlva megint ahol több mint 45 fokot fordultam, azt már gyanúsnak fogja találni.
Tipp: esetleg lehetne szögsebességet figyelni, vagy x időn belül mennyi hs-t lőtt. Ha bármi más/jobb ötleted van, vagy csak a mostanit valamivel kicsit okosítod az is jó lehet.
(vagy ha érvelsz, hogy én nem látok valamit amit kéne)

Oldal: 1 / 1 Minden időpont UTC+01:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/