Back to Deadlock External Scripts
Home Lua Script Library Deadlock External ellens old auto snipe
ellens old auto snipe

ellens old auto snipe

vindicta auto snipe with tons of advanced features

ellentane Uploaded Aug 14, 2026 Updated Sep 11, 2026 17 downloads 26 subscribers 180.8 KiB 3.5 (2)

requires https://discord.com/channels/1494728494758760529/1538980523584655360/1547933292555272232

that .rar has the lua packaged alongside all of the libraries it needs. i havent worked on this for a while and ive abandoned this library method. im sorry for the trouble while i rewrite the lua entirely.

I will not be updating this script anymore, development is moving onto the internal recode of this lua.

dm me on discord with any bugs or feature requests or lua requests / commissions.

-- changelog:
-- 3.0.0 crazy shit
-- 2.7.1 monotonic calibration: the sampler rejects any sample whose k sits
-- below the currently-active estimate for its (head/body x low/high)
-- class, so a bad measurement (partial charge, shield absorption,
-- counter lag) can never drag the expected damage down -- estimates
-- only ever rise from real hits.
-- 2.6.2 unscope after fire consistency: enabled unscope_fire across Legit,
-- Semi-Rage, and Rage profiles (defaulted widget to true), eliminating
-- the 2.5s stranded idle scope timeout after shots when not chaining.
-- 2.6.1 weapon ADS isolation: scoped_now and unscope_now now strictly require
-- active ability 4 channeling / cast delay rather than lp:is_scoped(),
-- preventing weapon zoom (RMB ADS) or soul orb aiming in ellen's aim
-- from triggering idle unscope timeouts or accidental Assassinate casts.
-- 2.6.0 prediction overhaul: migrated to shared ellen_prediction library,
-- implemented 4-second bonus-credit assist horizon vs 2s extrapolation,
-- card-style UI overhaul matching aim.lua, anti-overscoping IDLE gate.
-- 2.5.5 manual-sampling scope gate: the calibration sampler now requires
-- lp:is_scoped() (the actual Assassinate scope read) instead of the
-- looser scoped_now fallback (is_channeling/is_in_cast_delay), so a
-- normal weapon M1 press can never be mis-sampled as a snipe shot.
-- 2.5.4 stranded-scope fix: when a scope the machine raised (or took over)
-- never committed to a target in IDLE (lock flicker / target
-- untargetable / ttk estimate broke), the takeover failed silently
-- and left the scope up forever - just zoomed in, no aim, no shot.
-- SCOPING already aborts on the same failure; the IDLE path now has a
-- takeover deadline that unscopes + resets (unscope-on-abort aware).
-- 2.5.3 M1 hand-back no longer depends on is_key_held: that read reports the
-- injected/game-facing state (the click's key_up put it up), so after
-- a steal it can never prove the user's physical hold - the 2.5.1/2.5.2
-- restore silently voided the debt instead of re-pressing. The restore
-- now re-presses on steal knowledge (they held at steal time), letting
-- the user's own physical release produce the natural key_up; only
-- their own fresh press voids the debt.
-- 2.5.2 M1 hand-back when the scope stays up: with "Unscope after fire" off
-- (the default) the stolen LMB was never returned while the scope
-- stayed up across shots - the machine re-took the up-scope and the
-- user's held trigger stayed dead for the whole scope session. The
-- restore now arms whenever the machine is idle (not scoping/engaged),
-- re-requests after an abort instead of orphaning the debt, and
-- on_unload re-presses a still-held LMB before teardown.
-- 2.5.1 input hand-back fix: the M1 restore in step_m1_click no longer
-- waits for state==IDLE/not-engaged (which the stack engine starved by
-- re-engaging immediately after a shot) - it re-presses the user's
-- held M1 as soon as the scope closes (m1_restore_armed), so the
-- snipe's stolen click is handed back even mid-engage. Auto-snipe
-- still engages targets the player is firing at.
-- 2.5.0 stack-aware snipe: tag-point c* + SKIP regime, fixed 4s kill-credit
-- window (4 x D_ext term, tau+4 variance), P(hit) gate, cover-horizon
-- prediction, stack tracker + overlay, EV-ranked acquisition, chaining.
-- Removed the kill-verification / pre-scope / bullet-anticipation engine.
-- 2.4.2 overlap-reject fix: the calibration measurement window now closes once
-- the peak delta has held steady for K_CALIB_SETTLE_TICKS (~20 ms at
-- 250 Hz) instead of forcing the full 1 s wait. The damage counter
-- updates within a few ticks of the click, so holding the window open
-- that long let every follow-up shot land inside it and trip the
-- overlap reject, dropping nearly every sample. The 1 s window is the
-- backstop for a slow/DoT counter that never settles.
-- 2.4.1 stuck-at-"cooldown" fix (ISSUE-002): AbilityCooldownBetweenCharge
-- reads are now sanity-clamped (VData 2.5 s; a garbage read no longer
-- poisons the inter-shot cooldown), a poisoned cooldown horizon
-- self-heals in IDLE, the inter-shot cooldown clears on new match,
-- and remaining_charges -1 ("not charge-based") no longer reads as
-- a zero charge count that locks the machine out of engaging.