GENERAL
- Improved overall performance
- Implemented new renderer
- cheat loading times drastically improved
- better overall quality
- support for animated textures
- shader support
- better performance
- Fixed a crash in skinchanger that happened on inject
- Fixed a crash in skinchanger that happened on disconnect
- Fixed a heap corruption in Preview that eventually crashed the game on map switch/console open/panorama panel open
- Fixed a crash in Preview that happened on inject
- Fixed a crash in renderer that happened on resolution switch
- Fixed a bug that hotkeys were still processed if a console or chat is open
RAGE
- Added “fake ping”
- Added fakelag options "None", "Dynamic", "Maximum"
- Implemented new autostrafer
- Implemented smooth steps for body lean
- Applies only when playing without ensure body lean
- Improved autostop
- Improved performance
- Improved fast fire and hide shots
- Hide shots will now force lower fakelag, yet offer more survivability when peeking
- Improved fakelag accuracy
- Improved hitpoint selection
- Reworked hitscan to account for desync and body lean
- Reworked freestanding
- Reworked antiaim
- Added option “Yaw offset”
- Added yaw modifier “Spin”
- Removed yaw modifiers “Directional” and “Half Jitter”
- Freestanding will now default to backwards when no enemy is in sight
- Leg movement “Opposite” no longer requires full desync
- Reworked desync
- Added options “Foot yaw” and “Desync amount”
- Removed option “Desync”
- Fixed issue leading to incorrect extrapolation of enemies
- Fixed connection issue on servers with a higher player count
- Fixed invisible brushes leading to incorrect wall penetration results
- Fixed incorrect minimum damage for shotguns
- Fixed severe issue in target selection
- Fixed aimbot inaccuracies while landing
- Fixed ragebot not targeting newly connected players
- Fixed instance where cheat would not recognize enemy as hittable behind certain obstacles
- Fixed bug that could lead to incorrect desync state after shooting
- Fixed revolver shooting the ground during fast fire recharge
- Delay shot can now be set per weapon group
- Fakelag will no longer exceed the set value in order to break lagcompensation at high speeds
- Changed resolver to be more lenient when starting to hit a player that was previously considered not resolvable
- Ragebot will now consider more than one target at a time
- Optimized aimbot for shooting with scout while jumping
- Integrated option "Translate jump impulse" into new category "Desync triggers":
- "On Jump Impulse": Previously known as "Translate jump impulse"
- "Avoid Extrapolation": Creates animation conditions that are hard to predict when peeking enemies
- "Avoid Lag Compensation": Creates animation conditions that are hard to predict when being backtracked
- Please note that these triggers require either "Fast fire" or "Hide shots" to be enabled
- The latter two options also change your antiaim when triggered
VISUALS
- Added "Disable with grenade" for thirdperson
- Added "Disable bloom effect"
- Added Shared ESP
- Added new "Software" flag to the ESP
- Added weapon ESP ammo color
- Added a color picker for offscreen ESP
- Improved nightmode
- Improved accuracy of history and fake chams
- Fixed interpolation of bounding box changes
- Fixed player ESP box scaling incorrectly with alpha
- Fixed lighting issue on chams
- Weapon icon now respects color selection
MISC
- Added edge jump
- Added inventory unlock
- Fixed instance where peek assistant would not unpeek after shot
- Fixed incorrect local player animations after respawn or round end
GUI
- Added Blur effect setting (MISC -> Settings)
- Added tooltips for some functions
- Implemented new way of changing sliders: hold CTRL and scroll mouse wheel while hovered to change value by step
- Implemented debug mode
- toggle in SCRIPTS -> General
- shows control or container ID when hovered
- middle click to copy
- Fixed incorrect display of scroll grip when inside area is too big
- Fixed a bug that some controls that have dependency on other controls didn't update correctly on inject
- Fixed a bug that "Enable menu sounds" didn't show as selected on inject
- Fixed a bug with indicator windows
- Fixed viewmodel XYZ sliders' step to be more precise
- Removed snow effect
- Renamed second Flashbang entry in Buybot to avoid confusion
- Reordered menu items "Hide shot", "Slow Walk", and "Fake Duck"
- Lightly reorganized Visuals menu
SKINCHANGER
- Fixed skin list being empty
- Agent changer now applies to ragdolls
LUA
- Improved overall performance
- Implemented new renderer
- cheat loading times drastically improved
- better overall quality
- support for animated textures
- shader support
- better performance
- Fixed a crash in skinchanger that happened on inject
- Fixed a crash in skinchanger that happened on disconnect
- Fixed a heap corruption in Preview that eventually crashed the game on map switch/console open/panorama panel open
- Fixed a crash in Preview that happened on inject
- Fixed a crash in renderer that happened on resolution switch
- Fixed a bug that hotkeys were still processed if a console or chat is open
RAGE
- Added “fake ping”
- Added fakelag options "None", "Dynamic", "Maximum"
- Implemented new autostrafer
- Implemented smooth steps for body lean
- Applies only when playing without ensure body lean
- Improved autostop
- Improved performance
- Improved fast fire and hide shots
- Hide shots will now force lower fakelag, yet offer more survivability when peeking
- Improved fakelag accuracy
- Improved hitpoint selection
- Reworked hitscan to account for desync and body lean
- Reworked freestanding
- Reworked antiaim
- Added option “Yaw offset”
- Added yaw modifier “Spin”
- Removed yaw modifiers “Directional” and “Half Jitter”
- Freestanding will now default to backwards when no enemy is in sight
- Leg movement “Opposite” no longer requires full desync
- Reworked desync
- Added options “Foot yaw” and “Desync amount”
- Removed option “Desync”
- Fixed issue leading to incorrect extrapolation of enemies
- Fixed connection issue on servers with a higher player count
- Fixed invisible brushes leading to incorrect wall penetration results
- Fixed incorrect minimum damage for shotguns
- Fixed severe issue in target selection
- Fixed aimbot inaccuracies while landing
- Fixed ragebot not targeting newly connected players
- Fixed instance where cheat would not recognize enemy as hittable behind certain obstacles
- Fixed bug that could lead to incorrect desync state after shooting
- Fixed revolver shooting the ground during fast fire recharge
- Delay shot can now be set per weapon group
- Fakelag will no longer exceed the set value in order to break lagcompensation at high speeds
- Changed resolver to be more lenient when starting to hit a player that was previously considered not resolvable
- Ragebot will now consider more than one target at a time
- Optimized aimbot for shooting with scout while jumping
- Integrated option "Translate jump impulse" into new category "Desync triggers":
- "On Jump Impulse": Previously known as "Translate jump impulse"
- "Avoid Extrapolation": Creates animation conditions that are hard to predict when peeking enemies
- "Avoid Lag Compensation": Creates animation conditions that are hard to predict when being backtracked
- Please note that these triggers require either "Fast fire" or "Hide shots" to be enabled
- The latter two options also change your antiaim when triggered
VISUALS
- Added "Disable with grenade" for thirdperson
- Added "Disable bloom effect"
- Added Shared ESP
- Added new "Software" flag to the ESP
- Added weapon ESP ammo color
- Added a color picker for offscreen ESP
- Improved nightmode
- Improved accuracy of history and fake chams
- Fixed interpolation of bounding box changes
- Fixed player ESP box scaling incorrectly with alpha
- Fixed lighting issue on chams
- Weapon icon now respects color selection
MISC
- Added edge jump
- Added inventory unlock
- Fixed instance where peek assistant would not unpeek after shot
- Fixed incorrect local player animations after respawn or round end
GUI
- Added Blur effect setting (MISC -> Settings)
- Added tooltips for some functions
- Implemented new way of changing sliders: hold CTRL and scroll mouse wheel while hovered to change value by step
- Implemented debug mode
- toggle in SCRIPTS -> General
- shows control or container ID when hovered
- middle click to copy
- Fixed incorrect display of scroll grip when inside area is too big
- Fixed a bug that some controls that have dependency on other controls didn't update correctly on inject
- Fixed a bug that "Enable menu sounds" didn't show as selected on inject
- Fixed a bug with indicator windows
- Fixed viewmodel XYZ sliders' step to be more precise
- Removed snow effect
- Renamed second Flashbang entry in Buybot to avoid confusion
- Reordered menu items "Hide shot", "Slow Walk", and "Fake Duck"
- Lightly reorganized Visuals menu
SKINCHANGER
- Fixed skin list being empty
- Agent changer now applies to ragdolls
LUA
- Added is_bot and is_hltv to engine.get_player_info()
- Added math.clamp(value, min, max)
- Fixed vec3 functions not being available (dot, cross, length, length2d)
- Added vec3:length_sqr()
- Added vec3:length2d_sqr()
- Implemented a way to add inline controls
- 1. Create a control with some ID
- 2. Create another control with a different ID, but pass previous controls' ID to container_id parameter
- 3. Controls will be inlined
- Also works with any other existing menu control
- Not available for labels, textboxes and buttons as they are meant to be full-length
- gui controls now support :get()/:set(v) as aliases to :get_value()/:set_value(v)
- gui.textbox now accepts 2 optional arguments: gui.textbox(id, container_id, regex: string/nil, max_length: number/nil)
- note: using :set_value will ignore regex and max_length parameters
- fixed :get_value(true) for comboboxes returning nil if no element is selected
- Added vec3:unpack(): x, y, z
- Deprecated entity:get_prop()
- Deprecated entity:set_prop()
- Implemented a new way of accessing netvars:
- simply do entity.m_NetvarName to get it's value
- alternatively, entity.m_NetvarName = Value to set
- arrays are also supported
- Improved performance of get_prop and set_prop
- Deprecated utils.http_get and utils.http_post
- Added net.http_get
- Added net.http_post
- Added net.listen(id: string, on_ready: function())
- Added net.broadcast(id: string, data: table)
- Added on_net_data(id: string, from: number, data: table) forward
- net.listen and net.broadcast allow you to easily communicate with other users that are using the same script
- id should be as unique as possible, so your data can't be easily sniffed and spoofed
- for now there are no ratelimits, but please do not overload the server - meaning, don't broadcast messages too often (about each 500ms would be fine atm)
- Added render.set_texture(texture / nil)
- Added render.set_uv(x0, y0, x1, y1 / nil)
- Added render.set_alpha(mod)
- Added render.get_alpha()
- Added render.blur(x0, y0, x1, y1, fn: ())
- First 4 parameters is the on-screen bounding box of the shape you want to draw
- Do a SINGLE! call in fn() callback with desired shape (color MUST be white)
- Example #1: if you want to render a rectangle, pass it's positions to both render.blur and render.rect_filled in fn() callback
- Example #2: if you want to render a circle, pass it's BOUNDING BOX to render.blur (center - radius to center + radius) and call render.circle_filled in fn() callback
- To control alpha, use render.set_alpha()
- Added render.create_shader(src)
- As of now, you can't add custom parameters to shader
- However, you get pre-existing ones:
- s0: sampler - current texture
- c0: float2 - current texture's dimensions, in pixels
- c1: float - current time
- c2: float - current alpha override
- Fragment (aka pixel) shader is using Shader Model 2, just like the game
- Entry point MUST be called "main"!
- Added render.set_shader(shader)
- To invoke the shader, call any shape after you set one
- Added render.font_flag_antialias
- Works only with render.create_font_gdi
- Added render.back_buffer and render.back_buffer_downsampled textures
- Note that those are updated ONLY when you have a shader set
- Deprecated render.push/pop_texture, push/pop_uv, push_pop/alpha
- Added info.ev0lve.charged (float that indicates how far your DT is charged)
- Added game_rules.is_warmup_period
- Added game_rules.is_paused
- combobox:set_value() now may accept a table of values for multiselect combos (empty to unset), or nil (to unset)
- combo:set_value(nil) -- unset values
- combo:set_value({}) -- also unset
- combo:get_value() now may accept a string value. Will return true if a provided option was selected (example: combo:get_value('Chat'))
- render.create_texture, render.create_texture_bytes, render.create_texture_stream now accept animated GIFs
- Added render.set_frame(texture, frame)
- Added render.get_frame_count(texture): number
- Added render.set_loop(texture, value)
- Added render.reset_loop(texture)
- Fixed render.get_texture_size not working
- render.text now accepts 1 more alignment parameter: if align_center or align_right is set, all lines within the text will be formatted accordingly (if you are unsure how this works, take a look at any WYSIWYG editor and try to change line alignment)
- Added render.wrap_text(font, text, width): string
- Added render.set_rotation(rot) - note: rotation is counted in degrees (NOT radians)
- Passing "ffi" into require() function will now do no effect and just return already loaded FFI
- Added entity:get_ptr(): number
- Added render.set_anti_aliasing(val: bool)
- Added render.set_render_mode(mode: enum)
- render.mode_normal (default)
- render.mode_wireframe
- Added thickness and outline parameters to render.rect, render.circle and render.triangle
- render.outline_inset (default)
- render.outline_outset
- render.outline_center
- Added render.rect_rounded(x1, y1, x2, y2, color, rounding, sides = all, thickness = 1, outline = inset)
- Added render.circle_filled_multicolor(x, y, radius, a, b, segments = 36, fill = 1, rot = 0)
- Added gui.list(id, container_id, is_multi, height = 120)
- Height can't be less than 40
- At the moment you can't get other lists, since gui.get_list function doesn't exist (and probably will never be)
- Functions:
- :get_value(), :set_value() work identical to combobox
- :add(option: string), :remove(option: string) - add/remove options
- :get_options() - returns an array of all options within the list
- Added :get_name(), :get_type() to all controls
- Added :get_options() to combobox
- Fixed some bugs with several API functions
- Added math.clamp(value, min, max)
- Fixed vec3 functions not being available (dot, cross, length, length2d)
- Added vec3:length_sqr()
- Added vec3:length2d_sqr()
- Implemented a way to add inline controls
- 1. Create a control with some ID
- 2. Create another control with a different ID, but pass previous controls' ID to container_id parameter
- 3. Controls will be inlined
- Also works with any other existing menu control
- Not available for labels, textboxes and buttons as they are meant to be full-length
- gui controls now support :get()/:set(v) as aliases to :get_value()/:set_value(v)
- gui.textbox now accepts 2 optional arguments: gui.textbox(id, container_id, regex: string/nil, max_length: number/nil)
- note: using :set_value will ignore regex and max_length parameters
- fixed :get_value(true) for comboboxes returning nil if no element is selected
- Added vec3:unpack(): x, y, z
- Deprecated entity:get_prop()
- Deprecated entity:set_prop()
- Implemented a new way of accessing netvars:
- simply do entity.m_NetvarName to get it's value
- alternatively, entity.m_NetvarName = Value to set
- arrays are also supported
- Improved performance of get_prop and set_prop
- Deprecated utils.http_get and utils.http_post
- Added net.http_get
- Added net.http_post
- Added net.listen(id: string, on_ready: function())
- Added net.broadcast(id: string, data: table)
- Added on_net_data(id: string, from: number, data: table) forward
- net.listen and net.broadcast allow you to easily communicate with other users that are using the same script
- id should be as unique as possible, so your data can't be easily sniffed and spoofed
- for now there are no ratelimits, but please do not overload the server - meaning, don't broadcast messages too often (about each 500ms would be fine atm)
- Added render.set_texture(texture / nil)
- Added render.set_uv(x0, y0, x1, y1 / nil)
- Added render.set_alpha(mod)
- Added render.get_alpha()
- Added render.blur(x0, y0, x1, y1, fn: ())
- First 4 parameters is the on-screen bounding box of the shape you want to draw
- Do a SINGLE! call in fn() callback with desired shape (color MUST be white)
- Example #1: if you want to render a rectangle, pass it's positions to both render.blur and render.rect_filled in fn() callback
- Example #2: if you want to render a circle, pass it's BOUNDING BOX to render.blur (center - radius to center + radius) and call render.circle_filled in fn() callback
- To control alpha, use render.set_alpha()
- Added render.create_shader(src)
- As of now, you can't add custom parameters to shader
- However, you get pre-existing ones:
- s0: sampler - current texture
- c0: float2 - current texture's dimensions, in pixels
- c1: float - current time
- c2: float - current alpha override
- Fragment (aka pixel) shader is using Shader Model 2, just like the game
- Entry point MUST be called "main"!
- Added render.set_shader(shader)
- To invoke the shader, call any shape after you set one
- Added render.font_flag_antialias
- Works only with render.create_font_gdi
- Added render.back_buffer and render.back_buffer_downsampled textures
- Note that those are updated ONLY when you have a shader set
- Deprecated render.push/pop_texture, push/pop_uv, push_pop/alpha
- Added info.ev0lve.charged (float that indicates how far your DT is charged)
- Added game_rules.is_warmup_period
- Added game_rules.is_paused
- combobox:set_value() now may accept a table of values for multiselect combos (empty to unset), or nil (to unset)
- combo:set_value(nil) -- unset values
- combo:set_value({}) -- also unset
- combo:get_value() now may accept a string value. Will return true if a provided option was selected (example: combo:get_value('Chat'))
- render.create_texture, render.create_texture_bytes, render.create_texture_stream now accept animated GIFs
- Added render.set_frame(texture, frame)
- Added render.get_frame_count(texture): number
- Added render.set_loop(texture, value)
- Added render.reset_loop(texture)
- Fixed render.get_texture_size not working
- render.text now accepts 1 more alignment parameter: if align_center or align_right is set, all lines within the text will be formatted accordingly (if you are unsure how this works, take a look at any WYSIWYG editor and try to change line alignment)
- Added render.wrap_text(font, text, width): string
- Added render.set_rotation(rot) - note: rotation is counted in degrees (NOT radians)
- Passing "ffi" into require() function will now do no effect and just return already loaded FFI
- Added entity:get_ptr(): number
- Added render.set_anti_aliasing(val: bool)
- Added render.set_render_mode(mode: enum)
- render.mode_normal (default)
- render.mode_wireframe
- Added thickness and outline parameters to render.rect, render.circle and render.triangle
- render.outline_inset (default)
- render.outline_outset
- render.outline_center
- Added render.rect_rounded(x1, y1, x2, y2, color, rounding, sides = all, thickness = 1, outline = inset)
- Added render.circle_filled_multicolor(x, y, radius, a, b, segments = 36, fill = 1, rot = 0)
- Added gui.list(id, container_id, is_multi, height = 120)
- Height can't be less than 40
- At the moment you can't get other lists, since gui.get_list function doesn't exist (and probably will never be)
- Functions:
- :get_value(), :set_value() work identical to combobox
- :add(option: string), :remove(option: string) - add/remove options
- :get_options() - returns an array of all options within the list
- Added :get_name(), :get_type() to all controls
- Added :get_options() to combobox
- Fixed some bugs with several API functions