Загрузка данных
slot0 = assert
slot1 = bit.band
slot2 = globals.curtime
slot3 = globals.tickcount
slot4 = globals.tickinterval
slot5 = math.abs
slot6 = math.floor
slot7 = math.fmod
slot8 = math.max
slot9 = math.min
slot10 = math.pow
slot11 = table.remove
slot12 = unpack
slot13 = setmetatable
slot14 = type
slot15 = require("ffi")
slot16 = require("vector")
slot17 = require("gamesense/entity")
slot18 = client.find_signature("engine.dll", "\\xff\\xe2")
slot20 = vtable_thunk(442, "float(__thiscall*)(void*)")
function slot21(slot0, slot1, slot2)
return uv0(slot1, uv1(slot2, slot0))
end
function slot22(slot0)
return 0.0054931640625 * uv0(uv1(slot0 * 182.04444444444445), 65535)
end
function slot23(slot0, slot1, slot2)
slot3 = uv0(slot0) - uv0(slot1)
if slot2 < 0 then
slot2 = -slot2
end
if slot3 < -180 then
slot3 = slot3 + 360
elseif slot3 > 180 then
slot3 = slot3 - 360
end
return slot2 < slot3 and slot1 + slot2 or slot3 < -slot2 and slot1 - slot2 or slot0
end
function slot24(slot0)
while slot0 > 180 do
slot0 = slot0 - 360
end
while slot0 < -180 do
slot0 = slot0 + 360
end
return slot0
end
function slot25(slot0, slot1)
slot2 = uv0(slot0 - slot1, 360)
if slot1 < slot0 then
if slot2 >= 180 then
slot2 = slot2 - 360
end
elseif slot2 <= -180 then
slot2 = slot2 + 360
end
return slot2
end
function slot26(slot0, slot1, slot2)
if (slot1 - slot2):length() <= slot0 then
if slot4 >= -slot0 then
return slot1
else
return slot2 - slot3 * 1 / (slot4 + 1.1920929e-07) * slot0
end
else
return slot2 + slot3 * 1 / (slot4 + 1.1920929e-07) * slot0
end
end
slot27 = function (slot0, slot1)
slot2 = uv0.typeof(slot1)
return function (slot0, ...)
uv0(slot0 ~= nil)
if slot0 then
return uv1.cast(uv2, uv3)(slot0, uv1.cast("void***", slot0)[0][uv4], ...)
end
end
end(145, "void(__fastcall*)(void*, void*, float*)")
slot29 = slot15.new("float[3]")
slot30 = {
desync = 0,
desync_exact = 0,
server_feet_yaw = 0,
feet_yaw = 0,
abs_yaw = 0,
tickbase = {
phase_tickbase = 0,
last_tickbase = 0,
shifting = 0,
list = function ()
slot0 = {}
for slot5 = 1, 16 do
slot0[#slot0 + 1] = 0
if slot5 == slot1 then
return slot0
end
end
end()
},
balance_adjust = {
next_update = 0,
updating = false
}
}
slot31 = 0
slot32 = 0
slot33 = 0
slot34, slot35 = nil
slot36 = slot15.typeof("void***")
client.set_event_callback("setup_command", function (slot0)
slot1 = uv0()
slot2 = uv1()
if uv2.get_local_player() == nil then
return
end
if slot3:get_anim_state().anim_update_timer <= 0 then
uv5 = 0
uv4 = 0
uv3 = 0
uv7 = nil
uv6 = nil
uv8 = uv9
return
end
if uv6 == nil or uv7 == nil then
uv6 = slot4.eye_angles_y
uv7 = slot4.goal_feet_yaw
end
if slot0.chokedcommands == 0 then
uv3 = slot4.stop_to_full_running_fraction
uv4 = slot4.duck_amount
uv6 = slot4.eye_angles_y
uv10(slot3, uv11)
slot6 = uv12(slot3:get_prop("m_vecVelocity"))
if uv13(312, 2) < uv12(uv11[0], uv11[1], uv11[2]):lengthsqr() then
slot5 = slot5:normalized() * 312
end
slot5.z = 0
uv5 = uv15(uv14(slot2 * 2000, slot5, slot6):length(), 260)
end
slot5 = slot3:get_anim_overlay(3)
slot9 = (uv3 * -0.3 - 0.2) * uv20(uv5 / ((slot3:get_player_weapon() and uv16(uv17(uv18.cast(uv19, slot6)), 0.001) or 260) * 0.52), 0, 1) + 1
if uv4 > 0 then
slot9 = slot9 + uv4 * uv20(uv5 / (slot7 * 0.34), 0, 1) * (0.5 - slot9)
end
uv7 = uv20(uv7, -360, 360)
slot12 = slot9 * -58
if uv21(uv6, uv7) <= slot9 * 58 then
if slot10 < slot12 then
uv7 = uv22(slot12) + uv6
end
else
uv7 = uv6 - uv22(slot11)
end
if uv5 > 0.1 then
uv7 = uv23(uv6, uv24(uv7), (uv3 * 20 + 30) * slot2)
else
uv7 = uv23(slot3:get_prop("m_flLowerBodyYawTarget"), uv24(uv7), slot2 * 100)
end
if not uv8.balance_adjust.updating then
uv8.balance_adjust.next_update = slot1 + 0.22
elseif slot3:get_sequence_activity(slot5.sequence) == 979 and uv8.balance_adjust.next_update < slot1 and slot5.weight > 0 then
uv8.balance_adjust.next_update = slot1 + 1.1
end
if slot0.chokedcommands == 0 then
slot13 = uv22(uv21(slot4.eye_angles_y, slot4.goal_feet_yaw))
uv8.balance_adjust.updating = slot4.on_ground and slot4.m_velocity < 0.1 and slot4.anim_update_timer > 0
uv8.abs_yaw = slot4.eye_angles_y
uv8.feet_yaw = slot4.goal_feet_yaw
uv8.server_feet_yaw = uv7
uv8.desync_exact = uv21(uv7, slot4.goal_feet_yaw)
uv8.desync = uv20(uv8.desync_exact, -slot13, slot13)
end
end)
client.set_event_callback("net_update_start", function ()
if uv0.get_local_player() == nil or not slot0:is_alive() then
return
end
if slot0:get_prop("m_flSimulationTime") == nil then
return
end
slot2 = uv1()
if (uv2(uv3(uv4.tickbase.list)) < 0 and uv5(slot3) or 0) <= 0 then
uv4.tickbase.shifting = 0
uv4.tickbase.last_tickbase = 0
uv4.tickbase.phase_tickbase = 0
else
if uv4.tickbase.phase_tickbase == 0 or uv4.tickbase.shifting < slot4 then
uv4.tickbase.shifting = slot4
end
if slot4 < uv4.tickbase.last_tickbase then
uv4.tickbase.shifting = uv4.tickbase.last_tickbase
uv4.tickbase.phase_tickbase = 1
end
uv4.tickbase.last_tickbase = slot4
end
uv4.tickbase.list[#uv4.tickbase.list + 1] = slot1 / uv6() - slot2
uv7(uv4.tickbase.list, 1)
end)
slot39 = {}
function slot40(slot0, ...)
slot1 = {}
for slot6 = 1, #{
...
} do
slot1[#slot1 + 1] = slot2[slot6]
end
if slot1[slot0] == nil then
return uv0(slot2)
end
return slot1[slot0]
end
function slot41(slot0)
return uv0() - slot0 * uv1()
end
function slot42()
if uv0.get_local_player() == nil or not slot0:is_alive() then
return
end
if slot0:get_player_weapon() == nil then
return false
end
if uv1(16) < slot0:get_prop("m_flNextAttack") then
return false
end
if uv1(0) < slot1:get_prop("m_flNextPrimaryAttack") then
return false
end
return true
end
return {
approach_angle = function (slot0, slot1, slot2)
return uv0(slot0, slot1, slot2)
end,
angle_diff = function (slot0, slot1)
return uv0(slot0, slot1)
end,
normalize_angle = function (slot0)
return uv0(slot0)
end,
get_abs_yaw = function ()
return uv0.abs_yaw
end,
get_balance_adjust = function ()
return uv0.balance_adjust
end,
get_body_yaw = function (slot0)
return uv0(slot0, uv1.feet_yaw, uv1.server_feet_yaw)
end,
get_desync = function (slot0)
return uv0(slot0, uv1.desync, uv1.desync_exact)
end,
get_tickbase_shifting = function ()
return uv0.tickbase.shifting
end,
get_double_tap = function ()
return uv0() and uv1.tickbase.shifting > 0
end,
get_overlap = function (slot0)
slot1 = uv0.feet_yaw
slot2 = uv0.server_feet_yaw
if uv2(slot0) == "number" then
slot4 = uv3(uv1(uv0.abs_yaw, uv0.feet_yaw))
slot1 = uv4(slot0, uv0.abs_yaw - slot4, uv0.abs_yaw + slot4)
end
if slot0 == true then
slot1 = uv0.abs_yaw + slot3
end
return 1 - uv3(uv1(slot1, slot2)) / 120 * 1, slot1
end
}