Skip to content

Commit d052d82

Browse files
Add files via upload
1 parent baaf2a9 commit d052d82

File tree

1 file changed

+81
-25
lines changed

1 file changed

+81
-25
lines changed

A_Swing_Prediction.lua

+81-25
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ local Menu = {
9393
},
9494
},
9595
Misc = {
96+
strafePred = true,
9697
ChargeControl = true,
9798
ChargeSensitivity = 50,
9899
CritRefill = {Active = true, NumCrits = 1},
@@ -209,7 +210,7 @@ local ping = 0
209210
local swingrange = 48
210211
local tickRate = 66
211212
local tick_count = 0
212-
local time = 13
213+
local time = 15
213214
local Gcan_attack = false
214215
local Safe_Strafe = false
215216
local can_charge = false
@@ -650,6 +651,32 @@ local function checkInRangeWithLatency(playerIndex, swingRange)
650651
local fakelatencyON = gui.GetValue("Fake Latency")
651652

652653
if Backtrack == 0 and fakelatencyON == 0 then
654+
-- Check for charge range bug
655+
if pLocalClass == 4 -- player is Demoman
656+
and Menu.Misc.ChargeReach -- menu option for such option is true
657+
and chargeLeft == 100 then -- charge metter is full
658+
if checkInRange(vPlayerOrigin, pLocalOrigin, Charge_Range) then
659+
inRange = true
660+
point = vPlayerOrigin
661+
tick_count = tick_count + 1
662+
if tick_count >= (time - 1) then
663+
tick_count = 0
664+
can_charge = true
665+
end
666+
elseif checkInRange(vPlayerFuture, pLocalFuture, Charge_Range) then
667+
inRange = true
668+
point = vPlayerFuture
669+
tick_count = tick_count + 1
670+
if tick_count >= (time - 1) then
671+
tick_count = 0
672+
can_charge = true
673+
end
674+
end
675+
if inRange then
676+
return inRange, point, can_charge
677+
end
678+
end
679+
653680
-- Adjust hitbox for current position
654681
inRange, point = checkInRange(vPlayerOrigin, pLocalOrigin, swingRange - 18)
655682
if inRange then
@@ -658,7 +685,7 @@ local function checkInRangeWithLatency(playerIndex, swingRange)
658685

659686
inRange = checkInRange(vPlayerFuture, pLocalFuture, swingRange)
660687
if inRange then
661-
return inRange, point
688+
return inRange, point, can_charge
662689
end
663690
end
664691

@@ -675,6 +702,24 @@ local function checkInRangeWithLatency(playerIndex, swingRange)
675702
if playerTicks[playerIndex] then
676703
local pastOrigin = playerTicks[playerIndex][tick]
677704

705+
-- Check for charge range bug
706+
if pLocalClass == 4 -- player is Demoman
707+
and Menu.Misc.ChargeReach -- menu option for such option is true
708+
and chargeLeft == 100 then -- charge metter is full
709+
if checkInRange(pastOrigin, pLocalOrigin, Charge_Range) then
710+
inRange = true
711+
point = vPlayerOrigin
712+
tick_count = tick_count + 1
713+
if tick_count >= (time - 1) then
714+
tick_count = 0
715+
can_charge = true
716+
end
717+
end
718+
if inRange then
719+
return inRange, point, can_charge
720+
end
721+
end
722+
678723
inRange, point = checkInRange(pastOrigin, pLocalOrigin, swingRange)
679724
if inRange then
680725
return inRange, point
@@ -684,6 +729,33 @@ local function checkInRangeWithLatency(playerIndex, swingRange)
684729
end
685730

686731
if Backtrack == 1 then
732+
733+
-- Check for charge range bug
734+
if pLocalClass == 4 -- player is Demoman
735+
and Menu.Misc.ChargeReach -- menu option for such option is true
736+
and chargeLeft == 100 then -- charge metter is full
737+
if checkInRange(vPlayerOrigin, pLocalOrigin, Charge_Range) then
738+
inRange = true
739+
point = vPlayerOrigin
740+
tick_count = tick_count + 1
741+
if tick_count >= (time - 1) then
742+
tick_count = 0
743+
can_charge = true
744+
end
745+
elseif checkInRange(vPlayerFuture, pLocalFuture, Charge_Range) then
746+
inRange = true
747+
point = vPlayerFuture
748+
tick_count = tick_count + 1
749+
if tick_count >= (time - 1) then
750+
tick_count = 0
751+
can_charge = true
752+
end
753+
end
754+
if inRange then
755+
return inRange, point, can_charge
756+
end
757+
end
758+
687759
-- Adjust hitbox for current position
688760
inRange, point = checkInRange(vPlayerOrigin, pLocalOrigin, swingRange)
689761
if inRange then
@@ -875,6 +947,8 @@ end
875947
stepSize = pLocal:GetPropFloat("localdata", "m_flStepSize")
876948

877949
CalcStrafe()
950+
951+
878952
if inaccuracyValue then
879953
swingrange = swingrange - inaccuracyValue
880954
end
@@ -886,7 +960,7 @@ end
886960
else
887961
local player = WPlayer.FromEntity(pLocal)
888962

889-
strafeAngle = strafeAngles[pLocal:GetIndex()] or 0
963+
strafeAngle = Menu.Misc.strafePred and strafeAngles[pLocal:GetIndex()] or 0
890964

891965
local predData = PredictPlayer(player, time, strafeAngle)
892966

@@ -935,32 +1009,13 @@ vdistance = (vPlayerOrigin - pLocalOrigin):Length()
9351009

9361010
-- Get distance between local player and closest player after swing
9371011
fDistance = (vPlayerFuture - pLocalFuture):Length()
1012+
local inRange = false
1013+
local inRangePoint = nil
9381014

939-
local inRange, InRangePoint = checkInRangeWithLatency(CurrentTarget:GetIndex(), swingrange)
1015+
inRange, InRangePoint, can_charge = checkInRangeWithLatency(CurrentTarget:GetIndex(), swingrange)
9401016
-- Use inRange to decide if can attack
9411017
can_attack = inRange
9421018

943-
-- Check for charge range bug
944-
if pLocalClass == 4 -- player is Demoman
945-
and Menu.Misc.ChargeReach -- menu option for such option is true
946-
and chargeLeft == 100 then -- charge metter is full
947-
if checkInRange(vPlayerOrigin, pLocalOrigin, Charge_Range) then
948-
can_attack = true
949-
tick_count = tick_count + 1
950-
if tick_count >= 12 then
951-
tick_count = 0
952-
can_charge = true
953-
end
954-
elseif checkInRange(vPlayerFuture, pLocalFuture, Charge_Range) then
955-
can_attack = true
956-
tick_count = tick_count + 1
957-
if tick_count >= 12 then
958-
tick_count = 0
959-
can_charge = true
960-
end
961-
end
962-
end
963-
9641019
--[--------------AimBot-------------------] --get hitbox of ennmy pelwis(jittery but works)
9651020
local hitboxes = CurrentTarget:GetHitboxes()
9661021
local hitbox = hitboxes[6]
@@ -1728,6 +1783,7 @@ if not (engine.Con_IsVisible() or engine.IsGameUIVisible()) and Menu.Visuals.Ena
17281783

17291784
if Menu.tabs.Misc then
17301785
ImMenu.BeginFrame(1)
1786+
Menu.Misc.strafePred = ImMenu.Checkbox("Local Strafe Pred", Menu.Misc.strafePred)
17311787
Menu.Misc.ChargeReach = ImMenu.Checkbox("Charge Reach", Menu.Misc.ChargeReach)
17321788
ImMenu.EndFrame()
17331789

0 commit comments

Comments
 (0)