AAStates
AAStates
local References =
{
Pitch = menu.get_reference("rage>anti-aim>angles>pitch"),
Yaw = menu.get_reference("rage>anti-aim>angles>yaw"),
YawAdd = menu.get_reference("rage>anti-aim>angles>yaw add"),
YawAddValue = menu.get_reference("rage>anti-aim>angles>add"),
FreeStand = menu.get_reference("rage>anti-aim>angles>freestand"),
AtFOVTarget = menu.get_reference("rage>anti-aim>angles>at fov target"),
Spin = menu.get_reference("rage>anti-aim>angles>spin"),
SpinRange = menu.get_reference("rage>anti-aim>angles>spin range"),
SpinSpeed = menu.get_reference("rage>anti-aim>angles>spin speed"),
Jitter = menu.get_reference("rage>anti-aim>angles>jitter"),
RandomJitter = menu.get_reference("rage>anti-aim>angles>random"),
JitterRange = menu.get_reference("rage>anti-aim>angles>jitter range"),
AntiAimOverride = menu.get_reference("rage>anti-aim>angles>antiaim
override"),
Back = menu.get_reference("rage>anti-aim>angles>back"),
Left = menu.get_reference("rage>anti-aim>angles>left"),
Right = menu.get_reference("rage>anti-aim>angles>right"),
Fake = menu.get_reference("rage>anti-aim>desync>fake"),
FakeAmount = menu.get_reference("rage>anti-aim>desync>fake amount"),
CompensateAngle = menu.get_reference("rage>anti-aim>desync>compensate
angle"),
FreestandFake = menu.get_reference("rage>anti-aim>desync>freestand
fake"),
FlipFakeWithJitter = menu.get_reference("rage>anti-aim>desync>flip fake with
jitter"),
LegSlide = menu.get_reference("rage>anti-aim>desync>leg slide"),
RollLean = menu.get_reference("rage>anti-aim>desync>roll lean"),
LeanAmount = menu.get_reference("rage>anti-aim>desync>lean amount"),
EnsureLean = menu.get_reference("rage>anti-aim>desync>ensure lean"),
FlipLeanWithJitter = menu.get_reference("rage>anti-aim>desync>flip lean with
jitter"),
}
SetAllVisible(References, false)
local ExtraRefs =
{
FakeDuck = menu.get_reference("misc>movement>fake duck"),
Slide = menu.get_reference("misc>movement>slide")
}
local AAStateMenuElements = {}
for i, State in pairs(AAStates) do
local NewTable =
{
OverrideGeneralConfig = (i ~= 1) and
menu.add_checkbox(FormatStateName((State:len() >= 12) and "Override general" or
"Override general config"), "rage>anti-aim>angles"),
CrouchOnly = (State == "In air knife") and
menu.add_checkbox(FormatStateName("Crouching only"), "rage>anti-aim>angles"),
FovThreshhold = (State == "Enemy missed") and
menu.add_slider(FormatStateName("Fov threshhold"), "rage>anti-aim>angles", 0, 90,
1),
HoldTime = (State == "Enemy missed") and
menu.add_slider(FormatStateName("Hold time (MS)"), "rage>anti-aim>angles", 500,
3000, 1),
Pitch = menu.add_combo(FormatStateName("Pitch"),
"rage>anti-aim>angles", References.Pitch:get_combo_items()),
Yaw = menu.add_combo(FormatStateName("Yaw"),
"rage>anti-aim>angles", References.Yaw:get_combo_items()),
YawAdd = menu.add_checkbox(FormatStateName("Yaw add"),
"rage>anti-aim>angles"),
YawAddValue = menu.add_slider(FormatStateName("Add"),
"rage>anti-aim>angles", -180, 180, 1),
AtFOVTarget = menu.add_checkbox(FormatStateName("At fov
target"), "rage>anti-aim>angles"),
Spin = menu.add_checkbox(FormatStateName("Spin"),
"rage>anti-aim>angles"),
SpinRange = menu.add_slider(FormatStateName("Range"),
"rage>anti-aim>angles", 0, 360, 1),
SpinSpeed = menu.add_slider(FormatStateName("Speed"),
"rage>anti-aim>angles", 0, 360, 1),
Jitter = menu.add_checkbox(FormatStateName("Jitter"),
"rage>anti-aim>angles"),
JitterRange = menu.add_slider(FormatStateName("Range "),
"rage>anti-aim>angles", 0, 360, 1),
RandomJitter = menu.add_checkbox(FormatStateName("Random
jitter"), "rage>anti-aim>angles"),
JitterFreeze = menu.add_checkbox(FormatStateName("Jitter
freeze"), "rage>anti-aim>angles"),
HoldChance = menu.add_slider(FormatStateName("Freeze chance"),
"rage>anti-aim>angles", 10, 95, 1),
Fake = menu.add_checkbox(FormatStateName("Fake"),
"rage>anti-aim>desync"),
FakeAmount = menu.add_slider(FormatStateName("Amount"),
"rage>anti-aim>desync", -100, 100, 1),
CompensateAngle = menu.add_slider(FormatStateName("Compensate
angle"), "rage>anti-aim>desync", 0, 100, 1),
RandomFake = menu.add_combo(FormatStateName("Random fake"),
"rage>anti-aim>desync", {"Off", "Random value", "Random side"}),
FreestandFake = menu.add_combo(FormatStateName("Freestand fake"),
"rage>anti-aim>desync", References.FreestandFake:get_combo_items()),
FlipFakeWithJitter = menu.add_checkbox(FormatStateName("Flip fake with
jitter"), "rage>anti-aim>desync"),
LegSlide = menu.add_combo(FormatStateName("Leg slide"),
"rage>anti-aim>desync", References.LegSlide:get_combo_items()),
RollLean = menu.add_combo(FormatStateName("Roll"),
"rage>anti-aim>desync", References.RollLean:get_combo_items()),
LeanAmount = menu.add_slider(FormatStateName("Amount "),
"rage>anti-aim>desync", -100, 100, 1),
FlipLeanWithJitter = menu.add_checkbox(FormatStateName("Flip roll with
jitter"), "rage>anti-aim>desync"),
Callbacks = {}
}
local cb = function ()
local Value = b:get()
local ActiveState = AAStates[AAStateCombo:get() + 1] == State
if custom_compare then
a:set_visible(custom_compare(Value) and ActiveState)
else
a:set_visible(Value and ActiveState)
end
end
b:add_callback(cb)
table.insert(NewTable.Callbacks, cb)
utils.run_delayed(500, cb)
end
BindVisible(NewTable.YawAddValue, NewTable.YawAdd)
BindVisible(NewTable.SpinRange, NewTable.Spin)
BindVisible(NewTable.SpinSpeed, NewTable.Spin)
BindVisible(NewTable.RandomJitter, NewTable.Jitter)
BindVisible(NewTable.JitterRange, NewTable.Jitter)
BindVisible(NewTable.JitterFreeze, NewTable.Jitter)
BindVisible(NewTable.HoldChance, NewTable.Jitter, JitterFreezeFunc)
BindVisible(NewTable.HoldChance, NewTable.JitterFreeze, JitterFreezeFunc)
BindVisible(NewTable.FakeAmount, NewTable.Fake)
BindVisible(NewTable.CompensateAngle, NewTable.Fake)
BindVisible(NewTable.FreestandFake, NewTable.Fake)
BindVisible(NewTable.FlipFakeWithJitter, NewTable.Fake)
BindVisible(NewTable.LeanAmount, NewTable.RollLean, function (v) return v ~= 0
end)
BindVisible(NewTable.FlipLeanWithJitter, NewTable.RollLean, function (v) return
v ~= 0 end)
AAStateMenuElements[State] = NewTable
end
AAStateCombo:add_callback(function (value)
for StateName, Elements in pairs(AAStateMenuElements) do
SetAllVisible(Elements, AAStates[value + 1] == StateName)
References.FreeStand:bind_to(FreestandOverride)
References.AntiAimOverride:bind_to(AntiAimOverride)
AntiAimOverride:add_callback(function (v)
Back:set_visible(v)
Left:set_visible(v)
Right:set_visible(v)
end, true)
References.Back:bind_to(Back)
References.Left:bind_to(Left)
References.Right:bind_to(Right)
References.EnsureLean:bind_to(EnsureLean)
local OnGroundTicks = 1
local OldSpeed = 0
local EnemyMissedTime = 0
local CustomJitterSwitch = 1
function on_setup_move(cmd)
if OnGround then
OnGroundTicks = OnGroundTicks + 1
else
OnGroundTicks = 0
end
CurrentState = State
function on_player_hurt(event)
local Hurt = engine.get_player_for_user_id(event:get_int("userid"))
local Attacker =
entities[engine.get_player_for_user_id(event:get_int("attacker"))]
EnemyMissedTime = 0
end
if DrawAAState then
function on_paint()
local LP = entities[engine.get_local_player()]
if CurrentState == "General" or not LP or not LP:is_alive() then
return
end
EnemyMissedTime = global_vars.realtime
end