---@diagnostic disable: undefined-global math.randomseed(tick()) local library = loadstring(syn.request({ Method = "GET", Url = "https://wednesday.wtf/ars/library.lua" }).Body)() local cheat = { aimbot = { info = {}, }, visuals = { info = {}, tracers = {}, zombies = {}, events = {}, chams = {} }, guns = { restore = {}, data = {}, }, objects = {}, } if (getgenv().cheat) then for _, object in next, getgenv().cheat.objects do object:Remove() object = nil end getgenv().cheat = nil end local old_library = library getgenv().library = library getgenv().cheat = cheat cheat.draw = function(class, properties) local object = Drawing.new(class) for property, value in pairs(properties) do object[property] = value end cheat.objects[#cheat.objects + 1] = object return object end cheat.lerp = function(a,b,c) return a + (b-a) * c end cheat.bezier = function(p0,p1,p2,p3,t) local l1 = cheat.lerp(p0, p1, t) local l2 = cheat.lerp(p1, p2, t) local l3 = cheat.lerp(p2, p3, t) local a = cheat.lerp(l1, l2, t) local b = cheat.lerp(l2, l3, t) local cubic = cheat.lerp(a, b, t) return cubic end local physics = {} -- Local variable bypass..? (function() local sort =table.sort local atan2 =math.atan2 local inf =math.huge local cos =math.cos local sin =math.sin local setmetatable =setmetatable local tick =tick local dot =Vector3.new().Dot local function rootreals4(a,b,c,d,e) local x0,x1,x2,x3 local m10=3*a local m0=-b/(4*a) local m4=c*c-3*b*d+12*a*e local m6=(b*b/(4*a)-2/3*c)/a local m9=((b*(4*c-b*b/a))/a-(8*d))/a local m5=c*(2*c*c-9*b*d-72*a*e)+27*a*d*d+27*b*b*e local m11=m5*m5-4*m4*m4*m4 local m7 if m11<0 then--Optimize local th=atan2((-m11)^0.5,m5)/3 local m=((m5*m5-m11)/4)^(1/6) m7=(m4/m+m)/m10*cos(th) else--MAY NEED CASE FOR WHEN 2*c*c*c-9*b*c*d+27*a*d*d+27*b*b*e-72*a*c*e+((2*c*c*c-9*b*c*d+27*a*d*d+27*b*b*e-72*a*c*e)^2-4*(c*c-3*b*d+12*a*e)^3)^(1/2)=0 local m8=(m5+m11^0.5)/2 m8=m8<0 and -(-m8)^(1/3) or m8^(1/3) m7=(m4/m8+m8)/m10 end local m2=2*m6-m7 --print("m2",m2,0) local m12=m6+m7 if m12<0 then local m3i=m9/(4*(-m12)^0.5) local m13=(m3i*m3i+m2*m2)^(1/4)*cos(atan2(m3i,m2)/2)/2 --In order x0=m0-m13 x1=m0-m13 x2=m0+m13 x3=m0+m13 else local m1=m12^0.5 --print("m1",m1,0) local m3=m9/(4*m1) --print("m3",m3,0) local m14=m2-m3 local m15=m2+m3 if m14<0 then x0=m0-m1/2 x1=m0-m1/2 else local m16=m14^0.5 x0=m0-(m1+m16)/2 x1=m0-(m1-m16)/2 end if m15<0 then x2=m0+m1/2 x3=m0+m1/2 else local m17=m15^0.5 x2=m0+(m1-m17)/2 x3=m0+(m1+m17)/2 end --bubble sort lel if x1<x0 then x0,x1=x1,x0 end if x2<x1 then x1,x2=x2,x1 end if x3<x2 then x2,x3=x3,x2 end if x1<x0 then x0,x1=x1,x0 end if x2<x1 then x1,x2=x2,x1 end if x1<x0 then x0,x1=x1,x0 end end return x0,x1,x2,x3 end local function rootreals3(a,b,c,d) local x0,x1,x2 local d0=b*b-3*a*c local d1=2*b*b*b+27*a*a*d-9*a*b*c local d=d1*d1-4*d0*d0*d0 local m0=-1/(3*a) if d<0 then local cr,ci=d1/2,(-d)^0.5/2 local th=atan2(ci,cr)/3 local m=(cr*cr+ci*ci)^(1/6) local cr,ci=m*cos(th),m*sin(th) local m1=(1+d0/(m*m))/2 local m2=(cr*d0+(cr-2*b)*m*m)/(6*a*m*m) local m3=ci*(d0+m*m)/(2*3^0.5*a*m*m) x0=-(b+cr*(1+d0/(m*m)))/(3*a) x1=m2-m3 x2=m2+m3 else local c3=(d1+d^0.5)/2 c=c3<0 and -(-c3)^(1/3) or c3^(1/3) x0=m0*(b+c+d0/c) x1=m0*(b-(c*c+d0)/(2*c)) x2=x1 end if x1<x0 then x0,x1=x1,x0 end if x2<x1 then x1,x2=x2,x1 end if x1<x0 then x0,x1=x1,x0 end return x0,x1,x2 end local function rootreals2(a,b,c) local p=-b/(2*a) local q2=p*p-c/a if 0<q2 then local q=q2^0.5 return p-q,p+q else return p,p end end local solvemoar local function solve(a,b,c,d,e) if a*a<1e-32 then return solve(b,c,d,e) elseif e then if e*e<1e-32 then return solvemoar(a,b,c,d) elseif b*b<1e-12 and d*d<1e-12 then local roots={} local found={} local r0,r1=solve(a,c,e) if r0 then if r0>0 then local x=r0^0.5 roots[#roots+1]=-x roots[#roots+1]=x elseif r0*r0<1e-32 then roots[#roots+1]=0 end end if r1 then if r1>0 then local x=r1^0.5 roots[#roots+1]=-x roots[#roots+1]=x elseif r1*r1<1e-32 then roots[#roots+1]=0 end end sort(roots) return unpack(roots) else local roots={} local found={} local x0,x1,x2,x3=rootreals4(a,b,c,d,e) local d0,d1,d2=rootreals3(4*a,3*b,2*c,d) local m0,m1,m2,m3,m4=-inf,d0,d1,d2,inf local l0,l1,l2,l3,l4=a*inf,(((a*d0+b)*d0+c)*d0+d)*d0+e,(((a*d1+b)*d1+c)*d1+d)*d1+e,(((a*d2+b)*d2+c)*d2+d)*d2+e,a*inf if (l0<=0)==(0<=l1) then if (not roots[#roots + 1]) then return end roots[#roots+1]=x0 found[x0]=true end if (l1<=0)==(0<=l2) and not found[x1] then roots[#roots+1]=x1 found[x1]=true end if (l2<=0)==(0<=l3) and not found[x2] then roots[#roots+1]=x2 found[x2]=true end if (l3<=0)==(0<=l4) and not found[x3] then roots[#roots+1]=x3 end return unpack(roots) end elseif d then if d*d<1e-32 then return solvemoar(a,b,c) elseif b*b<1e-12 and c*c<1e-12 then local p=d/a return p<0 and (-p)^(1/3) or -p^(1/3) else local roots={} local found={} local x0,x1,x2=rootreals3(a,b,c,d) local d0,d1=rootreals2(3*a,2*b,c) local l0,l1,l2,l3=-a*inf,((a*d0+b)*d0+c)*d0+d,((a*d1+b)*d1+c)*d1+d,a*inf if (l0<=0)==(0<=l1) then roots[#roots+1]=x0 found[x0]=true end if (l1<=0)==(0<=l2) and not found[x1] then roots[#roots+1]=x1 found[x1]=true end if (l2<=0)==(0<=l3) and not found[x2] then roots[#roots+1]=x2 end return unpack(roots) end elseif c then local p=-b/(2*a) local q2=p*p-c/a if 0<q2 then local q=q2^0.5 return p-q,p+q elseif q2==0 then return p end elseif b then if a*a>1e-32 then return -b/a end end end function solvemoar(a,b,c,d,e) local roots={solve(a,b,c,d,e)} local good=true for i=1,#roots do if roots[i]==0 then good=false break end end if good then roots[#roots+1]=0 sort(roots) end return unpack(roots) end function physics.time_to_hit(tp, ps, sp, g) local d = (tp - sp).Magnitude return ps / g + math.sqrt(2 * d / g + ps ^ 2 / g ^ 2) -- It feels like cheating to use ^ as pow & not xor lol end function physics.trajectory(pp,pv,pa,tp,tv,ta,s) local rp=tp-pp local rv=tv-pv local ra=ta-pa local t0,t1,t2,t3=solve( dot(ra,ra)/4, dot(ra,rv), dot(ra,rp)+dot(rv,rv)-s*s, 2*dot(rp,rv), dot(rp,rp) ) if t0 and t0>0 then return ra*t0/2+tv+rp/t0,t0 elseif t1 and t1>0 then return ra*t1/2+tv+rp/t1,t1 elseif t2 and t2>0 then return ra*t2/2+tv+rp/t2,t2 elseif t3 and t3>0 then return ra*t3/2+tv+rp/t3,t3 end end end)() local framework = require(game:GetService("ReplicatedFirst").Framework) -- Mother of all modules local modules = { ["steppers"] = framework.require("Classes", "Steppers"), ["interface"] = framework.require("Libraries", "Interface"), ["keybinds"] = framework.require("Libraries", "Keybinds"), ["raycasting"] = framework.require("Libraries", "Raycasting"), ["stepped_springs"] = framework.require("Classes", "SteppedSprings"), ["maids"] = framework.require("Classes", "Maids"), ["springs"] = framework.require("Classes", "Springs"), ["old_springs"] = framework.require("Classes", "OldSprings"), ["signals"] = framework.require("Classes", "Signals"), ["resources"] = framework.require("Libraries", "Resources"), ["characters_require"] = framework.require("Classes", "Characters"), ["lighting_require"] = framework.require("Libraries", "Lighting"), ["camera"] = framework.require("Libraries", "Cameras"), ["world"] = framework.require("Libraries", "World"), ["gun_builder"] = framework.require("Libraries", "GunBuilder"), ["network"] = framework.require("Libraries", "Network"), ["item_data"] = framework.require("Configs", "ItemData"), ["bullets"] = framework.require("Libraries", "Bullets"), ["players_require"] = framework.require("Classes", "Players") } -- CENSORED local function copy_table(tbl) -- lua.org local type = typeof(tbl) local copy = {} if (type == "table") then for key, value in next, tbl, nil do copy[copy_table(key)] = copy_table(value) end setmetatable(copy, copy_table(getmetatable(tbl))) else copy = tbl end return copy end cheat.guns.data = (function() local copy = {} for key, value in next, framework.require("Configs", "ItemData") do if (value["Type"] == "Firearm") then copy[key] = value end end return copy end)() for key, value in next, cheat.guns.data do if (value["Type"] ~= "Firearm") then cheat.guns.data[key] = nil end end cheat.guns.restore = copy_table(cheat.guns.data) local function mod_guns(property, multiplier, parent) for gun_name, gun in next, cheat.guns.data do if (typeof(multiplier) == "table") then if (parent and gun[parent]) then setreadonly(gun[parent], false) setreadonly(gun[parent][property], false) gun[parent][property] = (not multiplier["data"] and cheat.guns.restore[gun_name][parent][property]) or multiplier["data"] setreadonly(gun[parent], true) setreadonly(gun[parent][property], true) elseif (gun[property]) then setreadonly(gun, false) setreadonly(gun[property], false) gun[property] = (not multiplier["data"] and cheat.guns.restore[gun_name][property]) or multiplier["data"] setreadonly(gun, true) setreadonly(gun[property], true) end continue end if (parent and gun[parent]) then setreadonly(gun[parent], false) gun[parent][property] = (multiplier ~= -1 and cheat.guns.restore[gun_name][parent][property] * multiplier) or cheat.guns.restore[gun_name][parent][property] setreadonly(gun[parent], true) elseif (gun[property]) then setreadonly(gun, false) gun[property] = (multiplier ~= -1 and cheat.guns.restore[gun_name][property] * multiplier) or cheat.guns.restore[gun_name][property] setreadonly(gun, true) end end end local local_player = game:GetService("Players").LocalPlayer local current_camera = game:GetService("Workspace").CurrentCamera local random_title_list = { "🐛", "🐞", "🔥", "🔫", "🔪", "🔨", "🔧", "🔩", "🔗", "🔖", "😱", "😈", "😎", "😍", "😘", "😗", "😙", } local random_title = random_title_list[math.random(1, #random_title_list)] local window = { ["main"] = library:new_window(random_title.. " ars.red ".. random_title), ["tabs"] = {}, ["sections"] = {}, ["indicators"] = {}, } window["tabs"]["aimbot"] = window.main:new_tab("Aimbot") window["tabs"]["visuals"] = window.main:new_tab("Visuals") window["tabs"]["misc"] = window.main:new_tab("Miscellaneous") window["tabs"]["settings"] = window.main:new_tab("Settings") library:apply_settings(window["tabs"]["settings"]) window["sections"]["aimbot_main"] = window.tabs.aimbot:new_group("Main", false) window.sections["aimbot_main"]:new_checkbox("aimbot_enabled", { text = "Enabled", default = false, }) window["sections"]["aimbot_hitboxes"] = window.tabs.aimbot:new_group("Hitboxes", true) window.sections["aimbot_hitboxes"]:new_list("aimbot_hitboxes", { text = "Hitbox Selection", values = { "Head", "Torso", "Arms", "Legs", }, multi = true, default = { "Head", } }) window["sections"]["aimbot_mouse"] = window.tabs.aimbot:new_group("Mouse", true) window.sections["aimbot_mouse"]:new_checkbox("aimbot_mouse_enabled", { text = "Mouse Aimbot", default = false }):add_keybind("aimbot_mouse_enabled_hold", { mode = "Hold", default = "MouseButton2" }) window.sections["aimbot_mouse"]:new_slider("aimbot_mouse_fov", { text = "Mouse FOV", min = 0, max = 180, decimals = 1, suffix = "°", default = 0 }) window.sections["aimbot_mouse"]:new_slider("aimbot_mouse_smoothing", { text = "Mouse Smoothing", min = 0.0, max = 1.0, decimals = 2, default = 0.1, suffix = "s" }) window.sections["aimbot_mouse"]:new_slider("aimbot_mouse_jitter", { text = "Mouse Jitter", min = 0, max = 0.2, decimals = 2, default = 0, suffix = "s" }) window["sections"]["aimbot_silent"] = window.tabs.aimbot:new_group("Silent", true) window.sections["aimbot_silent"]:new_checkbox("aimbot_silent_enabled", { text = "Silent Aimbot", default = false }):add_keybind("aimbot_silent_enabled_hold", { mode = "Hold", default = "MouseButton2" }) window.sections["aimbot_silent"]:new_checkbox("aimbot_silent_magic_bullets", { text = "Silent Magic Bullets", default = false }):add_keybind("aimbot_silent_magic_bullets_hold", { mode = "Hold", default = Enum.KeyCode.E }) window.sections["aimbot_silent"]:new_slider("aimbot_silent_fov", { text = "Silent FOV", min = 0, max = 180, decimals = 1, suffix = "°", default = 0 }) window.sections["aimbot_silent"]:new_slider("aimbot_silent_magic_bullet_depth", { text = "Magic Bullet Depth", min = 0, max = 7, decimals = 0, suffix = " studs", default = 5 }) window.sections["aimbot_silent"]:new_slider("aimbot_silent_hitchance", { text = "Silent Hitchance", min = 0, max = 100, decimals = 1, suffix = "%", default = 100 }) window.sections["aimbot_silent"]:new_slider("aimbot_silent_accuracy", { text = "Silent Accuracy", min = 0, max = 100, decimals = 1, suffix = "%", default = 100 }) window["sections"]["aimbot_distance"] = window.tabs.aimbot:new_group("Distance", false) window.sections["aimbot_distance"]:new_slider("aimbot_player_max_distance", { text = "Player Distance", min = 0, max = 2500, decimals = 1, default = 2000 }) window["sections"]["visuals_main"] = window.tabs.visuals:new_group("Main", false) window.sections["visuals_main"]:new_checkbox("visuals_enabled", { text = "Enabled", default = false }):add_keybind("visuals_enabled_toggle", { mode = "Toggle", default = nil }) window["sections"]["visuals_distance"] = window.tabs.visuals:new_group("Distance", false) window.sections["visuals_distance"]:new_slider("visuals_player_max_distance", { text = "Player Distance", min = 0, max = 10000, decimals = 0, default = 2000, suffix = " studs" }) window.sections["visuals_distance"]:new_slider("visuals_boss_max_distance", { text = "Boss Distance", min = 0, max = 10000, decimals = 0, default = 2000, suffix = " studs" }) window.sections["visuals_distance"]:new_slider("visuals_event_max_distance", { text = "Event Distance", min = 0, max = 10000, decimals = 0, default = 2000, suffix = " studs" }) window["sections"]["visuals_preference"] = window.tabs.visuals:new_group("Preference", false) window.sections["visuals_preference"]:new_list("visuals_preferred_measurement", { text = "Preferred Measurement", values = { "Roblox", "Imperial", "Metric", }, default = "Roblox" }) window.sections["visuals_preference"]:new_list("visuals_preferred_boxes", { text = "Preferred Boxes", values = { "Static", "Dynamic" }, default = "Dynamic", }) window["sections"]["visuals_players"] = window.tabs.visuals:new_group("Players", true) window.sections["visuals_players"]:new_checkbox("visuals_boxes", { text = "Boxes", default = false }):add_colorpicker("visuals_boxes_color", { text = "Box Color", default = { color = Color3.fromRGB(255, 255, 255), transparency = 0 } }) window.sections["visuals_players"]:new_checkbox("visuals_skeletons", { text = "Skeletons", default = false }):add_colorpicker("visuals_skeletons_color", { text = "Skeletons Color", default = { color = Color3.fromRGB(255, 255, 255), transparency = 0 } }) window.sections["visuals_players"]:new_checkbox("visuals_health_bars", { text = "Health Bars", default = false }):add_colorpicker("visuals_health_bars_color", { text = "Health Bar Color", default = { color = Color3.fromRGB(0, 255, 0), transparency = 0 } }) window.sections["visuals_players"]:new_checkbox("visuals_health_bars_boost", { text = "Health Bars Boost", }):add_colorpicker("visuals_health_bars_boost_color", { text = "Health Bar Color", default = { color = Color3.fromRGB(0, 175, 0), transparency = 0 } }) window.sections["visuals_players"]:new_checkbox("visuals_health_bar_text", { text = "Health Bar Text", default = false }):add_colorpicker("visuals_health_bar_text_color", { text = "Health Bar Text Color", default = { color = Color3.fromRGB(0, 0, 0), transparency = 0 } }) window.sections["visuals_players"]:new_checkbox("visuals_names", { text = "Names", default = false }):add_colorpicker("visuals_names_color", { text = "Names Color", default = { color = Color3.fromRGB(0, 0, 0), transparency = 0 } }) window.sections["visuals_players"]:new_checkbox("visuals_display_names", { text = "Display Names", default = false }) window.sections["visuals_players"]:new_checkbox("visuals_active_weapon", { text = "Active Weapon", default = false }):add_colorpicker("visuals_active_weapon_color", { text = "Active Weapon Color", default = { color = Color3.fromRGB(0, 0, 0), transparency = 0 } }) window.sections["visuals_players"]:new_checkbox("visuals_distance", { text = "Distance", default = false }):add_colorpicker("visuals_distance_color", { text = "Distance Color", default = { color = Color3.fromRGB(0, 0, 0), transparency = 0 } }) window.sections["visuals_players"]:new_checkbox("visuals_oof_arrows", { text = "Out Of View Arrows", default = false }):add_colorpicker("visuals_oof_arrows_color", { text = "Out Of View Arrows Color", default = { color = Color3.fromRGB(255, 255, 255), transparency = 0 } }) window.sections["visuals_players"]:new_slider("visuals_oof_arrows_radius", { text = "Arrows Radius", min = 100, max = 400, decimals = 0, default = 100, suffix = "px" }) window.sections["visuals_players"]:new_checkbox("visuals_view_tracer", { text = "View Tracer", default = false }):add_colorpicker("visuals_view_tracer_color", { text = "View Tracer Color", default = { color = Color3.fromRGB(79, 220, 255), transparency = 0 } }) window.sections["visuals_players"]:new_slider("visuals_view_tracer_length", { text = "Tracer Length", min = 0, max = 100, decimals = 1, default = 10, suffix = " studs" }) window["sections"]["visuals_chams"] = window.tabs.visuals:new_group("Chams", true) window.sections["visuals_chams"]:new_checkbox("visuals_visible_chams", { text = "Visible Chams", default = false }):add_colorpicker("visuals_visible_chams_color", { text = "Visible Chams Color", default = { color = Color3.fromRGB(255, 0, 0), transparency = 0 } }) window.sections["visuals_chams"]:new_checkbox("visuals_occluded_chams", { text = "Occluded Chams", default = false }):add_colorpicker("visuals_occluded_chams_color", { text = "Occluded Chams Color", default = { color = Color3.fromRGB(79, 220, 255), transparency = 0 } }) window.sections["visuals_chams"]:new_checkbox("visuals_outline_chams", { text = "Outline Chams", default = false }):add_colorpicker("visuals_outline_chams_color", { text = "Outline Chams Color", default = { color = Color3.fromRGB(255, 255, 255), transparency = 0 } }) window["sections"]["visuals_bosses"] = window.tabs.visuals:new_group("Bosses", true) window.sections["visuals_bosses"]:new_checkbox("visuals_boss_boxes", { text = "Boxes", default = false }):add_colorpicker("visuals_boss_boxes_color", { text = "Box Color", default = { color = Color3.fromRGB(255, 255, 255), transparency = 0 } }) window.sections["visuals_bosses"]:new_checkbox("visuals_boss_names", { text = "Names", default = false }):add_colorpicker("visuals_boss_names_color", { text = "Names Color", default = { color = Color3.fromRGB(0, 0, 0), transparency = 0 } }) window["sections"]["visuals_events"] = window.tabs.visuals:new_group("Events", true) window.sections["visuals_events"]:new_checkbox("visuals_event_names", { text = "Names", default = false }):add_colorpicker("visuals_event_names_color", { text = "Event Color", default = { color = Color3.fromRGB(0, 0, 0), transparency = 0 } }) window["sections"]["visuals_bullets"] = window.tabs.visuals:new_group("Bullets", false) window.sections["visuals_bullets"]:new_checkbox("visuals_bullet_tracers", { text = "Bullet Tracers", default = false }):add_colorpicker("visuals_bullet_tracers_color", { text = "Tracer Color", default = { color = Color3.fromRGB(255, 255, 255), transparency = 0 } }) window.sections["visuals_bullets"]:new_checkbox("visuals_bullet_tracers_face_camera", { text = "Tracers Face Camera", default = false }) window.sections["visuals_bullets"]:new_list("visuals_bullet_tracers_texture", { text = "Tracers Type", values = { "Lightning", "Smoke" }, default = "Lightning" }) window.sections["visuals_bullets"]:new_slider("visuals_bullet_tracers_thickness", { text = "Tracer Thickness", min = 0, max = 1, decimals = 1, default = 0.2, suffix = " studs" }) window["sections"]["visuals_local"] = window.tabs.visuals:new_group("Local", false) window.sections["visuals_local"]:new_checkbox("visuals_mouse_fov", { text = "Mouse FOV", default = false }):add_colorpicker("visuals_mouse_fov_color", { text = "Mouse FOV Color", default = { color = Color3.fromRGB(255, 255, 255), transparency = 0 } }) window.sections["visuals_local"]:new_checkbox("visuals_silent_fov", { text = "Silent FOV", default = false }):add_colorpicker("visuals_silent_fov_color", { text = "Silent FOV Color", default = { color = Color3.fromRGB(79, 220, 255), transparency = 0 } }) window.sections["visuals_local"]:new_checkbox("visuals_crosshair", { text = "Crosshair", default = false }):add_colorpicker("visuals_crosshair_color", { text = "Crosshair Color", default = { color = Color3.fromRGB(255, 255, 255), transparency = 0 } }) window.sections["visuals_local"]:new_checkbox("visuals_crosshair_rotate", { text = "Crosshair Rotate", default = false }) window.sections["visuals_local"]:new_slider("visuals_crosshair_width", { text = "Crosshair Width", min = 0, max = 10, decimals = 0, default = 3, suffix = "px" }) window["sections"]["visuals_lighting"] = window.tabs.visuals:new_group("Lighting", true) window.sections["visuals_lighting"]:new_checkbox("misc_full_bright", { text = "Full Bright", default = false }) window["sections"]["misc_main"] = window.tabs.misc:new_group("Main", false) window.sections["misc_main"]:new_checkbox("misc_enabled", { text = "Enabled", default = false }) window["sections"]["misc_movement"] = window.tabs.misc:new_group("Movement", true) window.sections["misc_movement"]:new_checkbox("misc_fly", { text = "Fly", default = false }):add_keybind("misc_fly_toggle", { mode = "Toggle", default = Enum.KeyCode.G }) window.sections["misc_movement"]:new_slider("misc_fly_speed", { text = "Fly Speed", min = 0, max = 1000, decimals = 1, default = 10, suffix = " stud/s" }) window.sections["misc_movement"]:new_checkbox("misc_speed", { text = "Speed", default = false }):add_keybind("misc_speed_toggle", { mode = "Toggle", default = Enum.KeyCode.H }) window.sections["misc_movement"]:new_slider("misc_speed_velocity", { text = "Speed Velocity", min = 0, max = 1000, decimals = 1, default = 10, suffix = " stud/s" }) window.sections["misc_movement"]:new_checkbox("misc_jitter_fix", { text = "Jitter Fix", default = false, unsafe = true }) window["sections"]["misc_spoof"] = window.tabs.misc:new_group("Spoof Status", true) window.sections["misc_spoof"]:new_checkbox("misc_spoof_status", { text = "Spoof Status", default = false }) window.sections["misc_spoof"]:new_checkbox("misc_spoof_falling", { text = "Spoof Falling", default = false }) window["sections"]["misc_zombies"] = window.tabs.misc:new_group("Zombies", true) window.sections["misc_zombies"]:new_checkbox("misc_zombie_freezer", { text = "Zombie Freezer", default = false }) window.sections["misc_zombies"]:new_checkbox("misc_zombie_remover", { text = "Zombie Remover", default = false }) window.sections["misc_zombies"]:new_list("misc_zombie_remover_mode", { text = "Zombie Remover Mode", values = { "Delete", "Teleport" }, default = "Delete" }) window.sections["misc_zombies"]:new_checkbox("misc_zombie_circle", { text = "Zombie Circle", default = false }) window.sections["misc_zombies"]:new_slider("misc_zombie_circle_radius", { text = "Zombie Radius", min = 7, max = 100, decimals = 1, default = 10, suffix = " studs" }) window.sections["misc_zombies"]:new_slider("misc_zombie_circle_speed", { text = "Zombie Speed", min = 1, max = 10000, decimals = 1, default = 500, suffix = " rpm" }) window["sections"]["misc_bosses"] = window.tabs.misc:new_group("Bosses", true) window.sections["misc_bosses"]:new_checkbox("misc_boss_freezer", { text = "Boss Freezer", default = false }) window["sections"]["misc_animations"] = window.tabs.misc:new_group("Animations", false) window.sections["misc_animations"]:new_list("misc_animation_category", { text = "Animation Category", values = (function() local values = {} for _, category in next, game:GetService("ReplicatedStorage").Assets.Animations:GetChildren() do values[#values + 1] = category.Name end return values end)(), default = "Idle", callback = function(value) if (not value or value == "") then return end options["misc_animation"]:set_values((function() local values = {} for _, category in next, game:GetService("ReplicatedStorage").Assets.Animations[value]:GetChildren() do values[#values + 1] = category.Name end return values end)()) options["misc_animation"]:set_value("") end }) window.sections["misc_animations"]:new_list("misc_animation", { text = "Animation", values = {}, default = "" }) window.sections["misc_animations"]:new_slider("misc_animation_duration", { text = "Animation Duration", min = 0, max = 300, decimals = 1, default = 60, suffix = "s" }) window.sections["misc_animations"]:new_button({ text = "Play Animation", callback = function() task.spawn(function() local animation_category = flags["misc_animation_category"] local animation_name = flags["misc_animation"] local duration = flags["misc_animation_duration"] if (not animation_category or animation_category == "") then return end if (not animation_name or animation_name == "") then return end local animation = game:GetService("ReplicatedStorage").Assets.Animations[animation_category][animation_name] if (not game:GetService("Players").LocalPlayer.Character) then return end local animator = game:GetService("Players").LocalPlayer.Character.Humanoid.Animator if (not animation) then return end if (not animator) then return end local loaded_animation = animator:LoadAnimation(animation) modules["players_require"]:get().Character.Animator:PlayAnimationReplicated(animation_category.. ".".. animation_name) task.wait(duration > 0 and duration or loaded_animation.Length) if (not modules["players_require"]:get().Character) then return end modules["players_require"]:get().Character.Animator:StopAnimationReplicated(animation_category.. ".".. animation_name, true) end) end }):add_keybind("misc_animation_bind", { mode = "Toggle", default = Enum.KeyCode.LeftAlt, callback = function() task.spawn(function() local animation_category = flags["misc_animation_category"] local animation_name = flags["misc_animation"] local duration = flags["misc_animation_duration"] if (not animation_category or animation_category == "") then return end if (not animation_name or animation_name == "") then return end local animation = game:GetService("ReplicatedStorage").Assets.Animations[animation_category][animation_name] if (not game:GetService("Players").LocalPlayer.Character) then return end local animator = game:GetService("Players").LocalPlayer.Character.Humanoid.Animator if (not animation) then return end if (not animator) then return end local loaded_animation = animator:LoadAnimation(animation) modules["players_require"]:get().Character.Animator:PlayAnimationReplicated(animation_category.. ".".. animation_name) task.wait(duration > 0 and duration or loaded_animation.Length) if (not modules["players_require"]:get().Character) then return end modules["players_require"]:get().Character.Animator:StopAnimationReplicated(animation_category.. ".".. animation_name, true) end) end }) window["sections"]["misc_gun_mods"] = window.tabs.misc:new_group("Gun Mods", false) window.sections["misc_gun_mods"]:new_checkbox("misc_enabled_weapon_mods", { text = "Enabled", default = false }) window.sections["misc_gun_mods"]:new_checkbox("misc_spread_mod_enabled", { text = "No Spread", default = false }) window.sections["misc_gun_mods"]:new_checkbox("misc_firemode_all", { text = "All Firemodes", default = false, callback = function(value) if (flags["misc_enabled"] and flags["misc_enabled_weapon_mods"]) then if (value) then mod_guns("FireModes", { data = {"Semiautomatic", "Automatic", "Burst"} }, nil) else mod_guns("FireModes", {}, nil) end end end }) window.sections["misc_gun_mods"]:new_checkbox("misc_recoil_mod_enabled", { text = "Recoil Modifier", default = false, callback = function(value) if (flags["misc_enabled"] and flags["misc_enabled_weapon_mods"] and value) then local recoil = flags["misc_weapon_recoil"] mod_guns("KickUpBounce", recoil, "RecoilData") mod_guns("KickUpForce", recoil, "RecoilData") mod_guns("KickUpSpeed", recoil, "RecoilData") mod_guns("KickUpGunInfluence", recoil, "RecoilData") mod_guns("KickUpCameraInfluence", recoil, "RecoilData") mod_guns("RaiseInfluence", recoil, "RecoilData") mod_guns("RaiseBounce", recoil, "RecoilData") mod_guns("RaiseSpeed", recoil, "RecoilData") mod_guns("RaiseForce", recoil, "RecoilData") mod_guns("ShiftGunInfluence", recoil, "RecoilData") mod_guns("ShiftBounce", recoil, "RecoilData") mod_guns("ShiftCameraInfluence", recoil, "RecoilData") mod_guns("ShiftForce", recoil, "RecoilData") else mod_guns("KickUpBounce", -1, "RecoilData") mod_guns("KickUpForce", -1, "RecoilData") mod_guns("KickUpSpeed", -1, "RecoilData") mod_guns("KickUpGunInfluence", -1, "RecoilData") mod_guns("KickUpCameraInfluence", -1, "RecoilData") mod_guns("RaiseInfluence", -1, "RecoilData") mod_guns("RaiseBounce", -1, "RecoilData") mod_guns("RaiseSpeed", -1, "RecoilData") mod_guns("RaiseForce", -1, "RecoilData") mod_guns("ShiftGunInfluence", -1, "RecoilData") mod_guns("ShiftBounce", -1, "RecoilData") mod_guns("ShiftCameraInfluence", -1, "RecoilData") mod_guns("ShiftForce", -1, "RecoilData") end end }) window.sections["misc_gun_mods"]:new_slider("misc_weapon_recoil", { text = "Multiplier", min = 0, max = 1, decimals = 2, default = 1, suffix = "x", callback = function(value) if (flags["misc_enabled"] and flags["misc_enabled_weapon_mods"] and flags["misc_recoil_mod_enabled"]) then mod_guns("KickUpBounce", value, "RecoilData") mod_guns("KickUpForce", value, "RecoilData") mod_guns("KickUpSpeed", value , "RecoilData") mod_guns("KickUpGunInfluence", value, "RecoilData") mod_guns("KickUpCameraInfluence", value, "RecoilData") mod_guns("RaiseInfluence", value, "RecoilData") mod_guns("RaiseBounce", value, "RecoilData") mod_guns("RaiseSpeed", value , "RecoilData") mod_guns("RaiseForce", value, "RecoilData") mod_guns("ShiftGunInfluence", value, "RecoilData") mod_guns("ShiftBounce", value, "RecoilData") mod_guns("ShiftCameraInfluence", value, "RecoilData") mod_guns("ShiftForce", value, "RecoilData") end end }) -- window.sections["misc_gun_mods"]:new_slider({ -- Text = "Weapon Fire Rate", -- flag = "misc_weapon_fire_rate", -- Min = 1, -- Max = 10, -- Rounding = .1, -- Default = 1, -- suffix = "x", -- callback = function() -- if (Toggles["misc_enabled"] and Toggles["misc_enabled_weapon_mods"] and Toggles["misc_recoil_mod_enabled"]) then -- mod_guns("FireRate", Toggles["misc_weapon_fire_rate"], "FireConfig") -- end -- end -- }) -- window.sections["misc_gun_mods"]:new_checkbox({ -- Text = "Fire Burst Modifier", -- flag = "misc_fire_burst_mod_enabled", -- callback = function() -- if (Toggles["misc_enabled"] and Toggles["misc_enabled_weapon_mods"] and Toggles["misc_fire_burst_mod_enabled"]) then -- mod_guns("BurstCount", Toggles["misc_weapon_burst_count"], "FireConfig") -- else -- mod_guns("BurstCount", -1, "FireConfig") -- end -- end -- }) -- window.sections["misc_gun_mods"]:new_slider({ -- Text = "Weapon Burt Count", -- flag = "misc_weapon_burst_count", -- Min = 3, -- Max = 10, -- Rounding = 1, -- Default = 3, -- suffix = "x", -- callback = function() -- if (Toggles["misc_enabled"] and Toggles["misc_enabled_weapon_mods"] and Toggles["misc_fire_burst_mod_enabled"]) then -- mod_guns("BurstCount", Toggles["misc_weapon_burst_count"], "FireConfig") -- end -- end -- }) window["sections"]["misc_teleports"] = window.tabs.misc:new_group("Teleports", false) window.sections["misc_teleports"]:new_list("misc_corpses", { text = "Corpses", values = (function() local filtered_corpses = {} for _, corpse in next, game:GetService("Workspace").Corpses:GetChildren() do if (corpse.Name ~= "Zombie") then table.insert(filtered_corpses, corpse.Name) end end return filtered_corpses end)(), default = "", callback = function(value) if (not value) then return end if (flags["misc_enabled"]) then local corpse = game:GetService("Workspace").Corpses:FindFirstChild(value) if (corpse) then local character = local_player.Character if (character) then local humanoid = character:FindFirstChild("HumanoidRootPart") local corpse_humanoid = corpse:FindFirstChild("HumanoidRootPart") if (humanoid and corpse_humanoid) then cheat.teleport_bypass = true repeat task.wait() until cheat.teleport_bypass_ran -- CENSORED cheat.teleport_bypass = false end end end end end, ignore = true }) window.sections["misc_teleports"]:new_list("misc_players", { text = "Players", values = (function() local filtered_people = {} for _, person in next, game:GetService("Players"):GetPlayers() do if (person ~= local_player) then table.insert(filtered_people, person.Name) end end return filtered_people end)(), default = "", callback = function(value) if (not value) then return end if (flags["misc_enabled"]) then local player = game:GetService("Players"):FindFirstChild(value) if (player) then local character = local_player.Character if (character and player.Character) then local humanoid = character:FindFirstChild("HumanoidRootPart") local player_humanoid = player.Character:FindFirstChild("HumanoidRootPart") if (humanoid and player_humanoid) then cheat.teleport_bypass = true repeat task.wait() until cheat.teleport_bypass_ran -- CENSORED cheat.teleport_bypass = false end end end end end, ignore = true }) window.sections["misc_teleports"]:new_list("misc_places", { text = "Places", values = (function() local filtered_locations = {} for _, location in next, game:GetService("Workspace").Locations:GetChildren() do table.insert(filtered_locations, location.Name) end return filtered_locations end)(), default = "", callback = function(value) if (not value) then return end if (flags["misc_enabled"]) then local location = game:GetService("Workspace").Locations:FindFirstChild(value) if (location) then local character = local_player.Character if (character) then local humanoid = character:FindFirstChild("HumanoidRootPart") if (humanoid) then cheat.teleport_bypass = true repeat task.wait() until cheat.teleport_bypass_ran -- CENSORED cheat.teleport_bypass = false end end end end end, ignore = true }) function cheat:safe_call(func) pcall(func, function() return false end) return true end local connections = {} local function corpse_remove() if (not getgenv().library or getgenv().library ~= old_library) then connections["corpse_remove"]:Disconnect() return end getgenv().options["misc_corpses"]:set_values((function() local filtered_corpses = {} for _, corpse in next, game:GetService("Workspace").Corpses:GetChildren() do if (corpse.Name ~= "Zombie") then table.insert(filtered_corpses, corpse.Name) end end return filtered_corpses end)()) end connections["corpse_remove"] = game:GetService("Workspace").Corpses.ChildRemoved:Connect(function() cheat:safe_call(corpse_remove) end) local function player_removing() if (not getgenv().library or getgenv().library ~= old_library) then connections["player_removing"]:Disconnect() return end getgenv().options["misc_players"]:set_values((function() local filtered_people = {} for _, person in next, game:GetService("Players"):GetPlayers() do if (person ~= local_player) then table.insert(filtered_people, person.Name) end end return filtered_people end)()) end connections["player_removing"] = game:GetService("Players").PlayerRemoving:Connect(function() cheat:safe_call(player_removing) end) local function corpse_added() if (not getgenv().library or getgenv().library ~= old_library) then connections["corpse_added"]:Disconnect() return end getgenv().options["misc_corpses"]:set_values((function() local filtered_corpses = {} for _, corpse in next, game:GetService("Workspace").Corpses:GetChildren() do if (corpse.Name ~= "Zombie") then table.insert(filtered_corpses, corpse.Name) end end return filtered_corpses end)()) end connections["corpse_added"] = game:GetService("Workspace").Corpses.ChildAdded:Connect(function() cheat:safe_call(corpse_added) end) local function player_added() if (not getgenv().library or getgenv().library ~= old_library) then connections["player_added"]:Disconnect() return end getgenv().options["misc_players"]:set_values((function() local filtered_people = {} for _, person in next, game:GetService("Players"):GetPlayers() do if (person ~= local_player) then table.insert(filtered_people, person.Name) end end return filtered_people end)()) end connections["player_added"] = game:GetService("Players").PlayerAdded:Connect(function() cheat:safe_call(player_added) end) function cheat:detour(name, loc, func) local old_function = nil -- HACK: Saves usless local variable if (cheat:safe_call(function() old_function = loc[name] loc[name] = newcclosure(function(...) if (not getgenv().library or getgenv().library ~= old_library) then loc[name] = old_function return old_function(...) end return func(old_function, ...) end) end)) then -- library:Notify("Detoured " .. name, 1) else error("Failed to detour " .. name) end end function cheat:render_stepped(priority, func, unload) game:GetService("RunService"):BindToRenderStep(tostring(func), priority, function() if (not getgenv().library or getgenv().library ~= old_library) then game:GetService("RunService"):UnbindFromRenderStep(tostring(func)) if (unload) then unload() end return end func() end) end function cheat:heart_beat(func, unload) local connection connection = game:GetService("RunService").Heartbeat:Connect(function(delta) if (not getgenv().library or getgenv().library ~= old_library) then connection:Disconnect() if (unload) then unload() end return end func(delta) end) end local function calculate_box(player) -- Fixes the red dot causing boxes to be much bigger than they should be if (player.Character:FindFirstChild("Equipped")) then local equipped = player.Character.Equipped:GetDescendants() for _, part in next, equipped do if (string.find(part.Name, "Laser")) then part.Position = player.Character:FindFirstChild("Head").Position end end end if (flags["visuals_preferred_boxes"] == "Dynamic") then local position = player.Character:GetBoundingBox() local size = player.Character:GetExtentsSize() local maxs = (position * CFrame.new(size / 2)).Position local mins = (position * CFrame.new(size / -2)).Position local points = { Vector3.new(mins.X, mins.Y, mins.Z), Vector3.new(mins.X, maxs.Y, mins.Z), Vector3.new(maxs.X, maxs.Y, mins.Z), Vector3.new(maxs.X, mins.Y, mins.Z), Vector3.new(maxs.X, maxs.Y, maxs.Z), Vector3.new(mins.X, maxs.Y, maxs.Z), Vector3.new(mins.X, mins.Y, maxs.Z), Vector3.new(maxs.X, mins.Y, maxs.Z) }; local visible = true for idx, point in next, points do points[idx], visible = current_camera:WorldToViewportPoint(point) end if (not visible) then return end local left = math.huge local right = 0 local top = math.huge local bottom = 0 for _, point in next, points do if (point.X < left) then left = point.X end if (point.X > right) then right = point.X end if (point.Y < top) then top = point.Y end if (point.Y > bottom) then bottom = point.Y end end return { ["X"] = math.floor(left), ["Y"] = math.floor(top), ["W"] = math.floor(right - left), ["H"] = math.floor(bottom - top) } else local camera_cframe = current_camera.CFrame local player_parts = player.Character if (not player_parts) then return end local torso_cframe = player_parts.HumanoidRootPart.CFrame local matrix_top = (torso_cframe.Position + Vector3.new(0, 0.3, 0)) + (torso_cframe.UpVector * 1.5) + camera_cframe.UpVector local matrix_bottom = (torso_cframe.Position + Vector3.new(0, 0.4, 0)) - (torso_cframe.UpVector * 3) local top, top_is_visible = current_camera:WorldToViewportPoint(matrix_top) local bottom, bottom_is_visible = current_camera:WorldToViewportPoint(matrix_bottom) if (not top_is_visible and not bottom_is_visible) then return end local width = math.floor(math.abs(top.X - bottom.X)) local height = math.floor(math.max(math.abs(bottom.Y - top.Y), width * 0.6)) local box_size = Vector2.new(math.floor(math.max(height / 1.7, width * 1.8)), height) local box_position = Vector2.new(math.floor(top.X * 0.5 + bottom.X * 0.5 - box_size.X * 0.5), math.floor(math.min(top.Y, bottom.Y))) return { ["X"] = box_position.X, ["Y"] = box_position.Y, ["W"] = box_size.X, ["H"] = box_size.Y } end end local squad_list = {} cheat:render_stepped(0, function(delta) current_camera = game:GetService("Workspace").CurrentCamera squad_list = {} for _, template in next, local_player.PlayerGui["Interface Main"].PlayerList.MainList.SquadList.ScrollingFrame:GetChildren() do if (template.Name == "SquadTemplate") then local player_name = template.NameButton.NameLabelBin.NameLabel.text squad_list[player_name] = true end end end) cheat:render_stepped(1, function(delta) for _, player in next, game:GetService("Players"):GetPlayers() do local skeleton_order = { ["LeftFoot"] = "LeftLowerLeg", ["LeftLowerLeg"] = "LeftUpperLeg", ["LeftUpperLeg"] = "LowerTorso", ["RightFoot"] = "RightLowerLeg", ["RightLowerLeg"] = "RightUpperLeg", ["RightUpperLeg"] = "LowerTorso", ["LeftHand"] = "LeftLowerArm", ["LeftLowerArm"] = "LeftUpperArm", ["LeftUpperArm"] = "UpperTorso", ["RightHand"] = "RightLowerArm", ["RightLowerArm"] = "RightUpperArm", ["RightUpperArm"] = "UpperTorso", ["LowerTorso"] = "UpperTorso", ["UpperTorso"] = "Head" } if (player == local_player) then continue end if (not player.Character) then if (cheat.visuals.info[player.Name]) then for _, object in next, cheat.visuals.info[player.Name] do object.Visible = false end end continue end if (not local_player.Character) then if (cheat.visuals.info[player.Name]) then for _, object in next, cheat.visuals.info[player.Name] do object.Visible = false end end continue end if (squad_list[player.Name]) then if (cheat.visuals.info[player.Name]) then for _, object in next, cheat.visuals.info[player.Name] do object.Visible = false end end continue end local character = player.Character local humanoid = character:FindFirstChildOfClass("Humanoid") local stats = character:FindFirstChild("Stats") if (not humanoid or not stats) then if (cheat.visuals.info[player.Name]) then for _, object in next, cheat.visuals.info[player.Name] do object.Visible = false end end continue end if (humanoid.Health <= 0) then if (cheat.visuals.info[player.Name]) then for _, object in next, cheat.visuals.info[player.Name] do object.Visible = false end end continue end if (not character:FindFirstChild("HumanoidRootPart") or not local_player.Character:FindFirstChild("HumanoidRootPart")) then if (cheat.visuals.info[player.Name]) then for _, object in next, cheat.visuals.info[player.Name] do object.Visible = false end end continue end if ((character.HumanoidRootPart.Position - local_player.Character.HumanoidRootPart.Position).Magnitude > flags["visuals_player_max_distance"]) then if (cheat.visuals.info[player.Name]) then for _, object in next, cheat.visuals.info[player.Name] do object.Visible = false end end continue end local box = calculate_box(player) local info = cheat.visuals.info[player.Name] if (not flags["visuals_enabled"] and not flags["visuals_enabled_toggle"].state) then if (info) then for _, object in next, info do object.Visible = false end end continue end if (not info) then cheat.visuals.info[player.Name] = {} cheat.visuals.info[player.Name]["box_outside"] = cheat.draw("Square", { Color = Color3.new(0, 0, 0), Thickness = 1, Transparency = math.clamp(-(flags["visuals_boxes_color"].transparency) + 1 - 0.5, 0, 1), Filled = false }) cheat.visuals.info[player.Name]["box"] = cheat.draw("Square", { Color = flags["visuals_boxes_color"].color, Thickness = 1, Transparency = -(flags["visuals_boxes_color"].transparency) + 1, Filled = false }) cheat.visuals.info[player.Name]["box_inside"] = cheat.draw("Square", { Color = Color3.new(0, 0, 0), Thickness = 1, Transparency = math.clamp(-(flags["visuals_boxes_color"].transparency) + 1 - 0.5, 0, 1), Filled = false }) cheat.visuals.info[player.Name]["health_bar_outside"] = cheat.draw("Square", { Color = Color3.new(0, 0, 0), Thickness = 1, Transparency = math.clamp(-(flags["visuals_health_bars_color"].transparency) + 1 - 0.5, 0, 1), Filled = true }) cheat.visuals.info[player.Name]["health_bar"] = cheat.draw("Square", { Color = flags["visuals_health_bars_color"].color, Thickness = 1, Transparency = -(flags["visuals_health_bars_color"].transparency) + 1, Filled = true }) cheat.visuals.info[player.Name]["health_bar_boost"] = cheat.draw("Square", { Color = flags["visuals_health_bars_boost_color"].color, Thickness = 1, Transparency = math.clamp(-(flags["visuals_health_bars_boost_color"].transparency) + 1 - 0.5, 0, 1), Filled = true }) cheat.visuals.info[player.Name]["health_bar_text"] = cheat.draw("Text", { Color = Color3.new(1, 1, 1), OutlineColor = flags["visuals_health_bar_text_color"].color, Center = false, Outline = true, Size = 13, Transparency = -(flags["visuals_health_bar_text_color"].transparency) + 1, Font = 2 }) cheat.visuals.info[player.Name]["name"] = cheat.draw("Text", { Color = Color3.new(1, 1, 1), OutlineColor = flags["visuals_names_color"].color, Center = true, Outline = true, Size = 13, Transparency = math.clamp(-(flags["visuals_names_color"].transparency) + 1 - 0.5, 0, 1), Font = 2 }) cheat.visuals.info[player.Name]["active_weapon"] = cheat.draw("Text", { Color = Color3.new(1, 1, 1), OutlineColor = flags["visuals_active_weapon_color"].color, Center = true, Outline = true, Size = 13, Transparency = -(flags["visuals_active_weapon_color"].transparency) + 1, Font = 2 }) cheat.visuals.info[player.Name]["view_tracer"] = cheat.draw("Line", { Color = flags["visuals_view_tracer_color"].color, Transparency = -(flags["visuals_view_tracer_color"].transparency) + 1, Visible = false }) cheat.visuals.info[player.Name]["distance"] = cheat.draw("Text", { Color = Color3.new(1, 1, 1), OutlineColor = flags["visuals_distance_color"].color, Center = true, Outline = true, Size = 13, Transparency = -(flags["visuals_distance_color"].transparency) + 1, Font = 2 }) cheat.visuals.info[player.Name]["oof_arrow"] = cheat.draw("Triangle", { Color = flags["visuals_oof_arrows_color"].color, Thickness = 1, Transparency = -(flags["visuals_oof_arrows_color"].transparency) + 1, Filled = true }) cheat.visuals.info[player.Name]["oof_arrow_outside"] = cheat.draw("Triangle", { Color = Color3.new(0, 0, 0), Thickness = 1, Transparency = -(flags["visuals_oof_arrows_color"].transparency) + 1, Filled = false, }) for required, _ in next, skeleton_order do cheat.visuals.info[player.Name]["skeleton_".. required] = cheat.draw("Line", { Color = flags["visuals_skeletons_color"].color, Transparency = -(flags["visuals_skeletons_color"].transparency) + 1, Visible = false }) end info = cheat.visuals.info[player.Name] end if (box) then if (flags["visuals_boxes"]) then info["box_outside"].Position = Vector2.new(box.X - 1, box.Y - 1) info["box_outside"].Size = Vector2.new(box.W + 2, box.H + 2) info["box_outside"].Transparency = math.clamp(1 - 0.5, 0, 1) info["box_outside"].Visible = true info["box"].Position = Vector2.new(box.X, box.Y) info["box"].Size = Vector2.new(box.W, box.H) info["box"].Transparency = 1 info["box"].Color = flags["visuals_boxes_color"].color info["box"].Visible = true info["box_inside"].Position = Vector2.new(box.X + 1, box.Y + 1) info["box_inside"].Size = Vector2.new(box.W - 2, box.H - 2) info["box_inside"].Transparency = math.clamp(1 - 0.5, 0, 1) info["box_inside"].Visible = true else if (info["box"]) then info["box"].Visible = false end if (info["box_inside"]) then info["box_inside"].Visible = false end if (info["box_outside"]) then info["box_outside"].Visible = false end end if (flags["visuals_health_bars"]) then local health_fraction = math.floor(stats.Health.Base.Value) / 100 local health_size = math.floor(box.H * health_fraction) local health_position = math.floor((box.Y + box.H) - health_size) local hue, saturation, value = flags["visuals_health_bars_color"].color:ToHSV() local health_color = math.abs(hue - ((120 / 360) * (-(health_fraction) + 1))) -- fix negative underflow of hue info["health_bar_outside"].Position = Vector2.new(box.X - 6, box.Y - 1) info["health_bar_outside"].Size = Vector2.new(4, box.H + 2) info["health_bar_outside"].Transparency = math.clamp(-(flags["visuals_health_bars_color"].transparency) + 1 - 0.5, 0, 1) info["health_bar_outside"].Visible = true info["health_bar"].Position = Vector2.new(box.X - 5, health_position) info["health_bar"].Size = Vector2.new(2, health_size) info["health_bar"].Transparency = -(flags["visuals_health_bars_color"].transparency) + 1 info["health_bar"].Color = Color3.fromHSV(health_color, saturation, value) info["health_bar"].Visible = true if (stats.Health.Base.Value <= 90) then if (flags["visuals_health_bar_text"]) then info["health_bar_text"].Position = Vector2.new(box.X - 7 - info["health_bar_text"].TextBounds.X, health_position - info["health_bar_text"].TextBounds.Y / 2) info["health_bar_text"].Color = Color3.fromHSV(health_color, saturation, value) info["health_bar_text"].OutlineColor = flags["visuals_health_bar_text_color"].color info["health_bar_text"].Transparency = -(flags["visuals_health_bar_text_color"].transparency) + 1 info["health_bar_text"].Text = tostring(math.ceil(stats.Health.Base.Value)) info["health_bar_text"].Visible = true else info["health_bar_text"].Visible = false end else info["health_bar_text"].Visible = false end else if (info["health_bar_outside"]) then info["health_bar_outside"].Visible = false end if (info["health_bar"]) then info["health_bar"].Visible = false end if (info["health_bar_text"]) then info["health_bar_text"].Visible = false end end if (flags["visuals_health_bars_boost"] and flags["visuals_health_bars"]) then local health_fraction = math.floor(stats.Health.Bonus.Value) / 50 local health_size = math.floor(box.H * health_fraction) local health_position = math.floor((box.Y + box.H) - health_size) info["health_bar_boost"].Position = Vector2.new(box.X - 5, health_position) info["health_bar_boost"].Size = Vector2.new(2, health_size) info["health_bar_boost"].Transparency = -(flags["visuals_health_bars_boost_color"].transparency) + 1 info["health_bar_boost"].Color = flags["visuals_health_bars_boost_color"].color info["health_bar_boost"].Visible = true if (stats.Health.Bonus.Value > 1) then if (flags["visuals_health_bar_text"]) then info["health_bar_text"].Position = Vector2.new(box.X - 7 - info["health_bar_text"].TextBounds.X, health_position - info["health_bar_text"].TextBounds.Y / 2) info["health_bar_text"].Color = Color3.new(255, 255, 255) info["health_bar_text"].OutlineColor = flags["visuals_health_bar_text_color"].color info["health_bar_text"].Transparency = -(flags["visuals_health_bar_text_color"].transparency) + 1 info["health_bar_text"].Text = tostring(math.ceil(stats.Health.Base.Value + stats.Health.Bonus.Value)) info["health_bar_text"].Visible = true else info["health_bar_text"].Visible = false end else if (stats.Health.Base.Value > 90) then info["health_bar_text"].Visible = false end end else if (info["health_bar_boost"]) then info["health_bar_boost"].Visible = false end end if (flags["visuals_names"]) then info["name"].Position = Vector2.new(box.X + (box.W / 2), box.Y - 5 - info["name"].TextBounds.Y) info["name"].OutlineColor = flags["visuals_names_color"].color info["name"].Transparency = -(flags["visuals_names_color"].transparency) + 1 info["name"].Text = (flags["visuals_display_names"] and player.DisplayName) or player.Name info["name"].Visible = true else if (info["name"]) then info["name"].Visible = false end end local bottom_offset = 0 if (flags["visuals_active_weapon"]) then local weapon = player.Character.Animator.EquippedItem.ItemName.Value ~= "" and player.Character.Animator.EquippedItem.ItemName.Value or "Hands" info["active_weapon"].Position = Vector2.new(box.X + (box.W / 2), box.Y + box.H + 3 + bottom_offset) info["active_weapon"].OutlineColor = flags["visuals_active_weapon_color"].color info["active_weapon"].Transparency = -(flags["visuals_active_weapon_color"].transparency) + 1 info["active_weapon"].Text = weapon info["active_weapon"].Visible = true bottom_offset += info["active_weapon"].TextBounds.Y + 3 else if (info["active_weapon"]) then info["active_weapon"].Visible = false end end if (flags["visuals_view_tracer"]) then local camera_direction = player.Character.Head.CFrame.lookVector * flags["visuals_view_tracer_length"] local parameters = RaycastParams.new() parameters.FilterDescendantsInstances = {current_camera, local_player.Character} parameters.FilterType = Enum.RaycastFilterType.Blacklist local result = game:GetService("Workspace"):Raycast(player.Character.Head.Position, camera_direction, parameters) if (result) then local head_position, visible = current_camera:WorldToViewportPoint(player.Character.Head.Position) local hit_position, visible_hit = current_camera:WorldToViewportPoint(result.Position) if (not visible or not visible_hit) then info["view_tracer"].Visible = false else info["view_tracer"].From = Vector2.new(head_position.X, head_position.Y) info["view_tracer"].To = Vector2.new(hit_position.X, hit_position.Y) info["view_tracer"].Color = flags["visuals_view_tracer_color"].color info["view_tracer"].Transparency = -(flags["visuals_view_tracer_color"].transparency) + 1 info["view_tracer"].Visible = true end else local head_position, visible = current_camera:WorldToViewportPoint(player.Character.Head.Position) local hit_position, visible_hit = current_camera:WorldToViewportPoint(player.Character.Head.Position + camera_direction) if (not visible or not visible_hit) then info["view_tracer"].Visible = false else info["view_tracer"].From = Vector2.new(head_position.X, head_position.Y) info["view_tracer"].To = Vector2.new(hit_position.X, hit_position.Y) info["view_tracer"].Color = flags["visuals_view_tracer_color"].color info["view_tracer"].Transparency = -(flags["visuals_view_tracer_color"].transparency) + 1 info["view_tracer"].Visible = true end end else if (info["view_tracer"]) then info["view_tracer"].Visible = false end end if (flags["visuals_distance"]) then local localization_division = { ["Roblox"] = 1, ["Imperial"] = 3.265, -- Really rough estimate ["Metric"] = 3.333 -- Rough estimate } local localization_suffix = { ["Roblox"] = "s", ["Imperial"] = "y", ["Metric"] = "m" } local distance = math.floor((player.Character.HumanoidRootPart.Position - local_player.Character.HumanoidRootPart.Position).Magnitude / localization_division[flags["visuals_preferred_measurement"]]) info["distance"].Position = Vector2.new(box.X + (box.W / 2), box.Y + box.H + 3 + bottom_offset) info["distance"].OutlineColor = flags["visuals_distance_color"].color info["distance"].Transparency = -(flags["visuals_distance_color"].transparency) + 1 info["distance"].Text = "["..tostring(distance).. localization_suffix[flags["visuals_preferred_measurement"]].."]" info["distance"].Visible = true bottom_offset += info["distance"].TextBounds.Y + 3 else if (info["distance"]) then info["distance"].Visible = false end end if (flags["visuals_skeletons"]) then for _, part in next, character:GetChildren() do local parent_part = skeleton_order[part.Name] if (not parent_part) then continue end local part_position, on_screen_start = current_camera:WorldToViewportPoint(part.Position) local parent_part_position, on_screen_end = current_camera:WorldToViewportPoint(character:FindFirstChild(parent_part).Position) info["skeleton_".. part.Name].From = Vector2.new(part_position.X, part_position.Y) info["skeleton_".. part.Name].To = Vector2.new(parent_part_position.X, parent_part_position.Y) info["skeleton_".. part.Name].Color = flags["visuals_skeletons_color"].color info["skeleton_".. part.Name].Transparency = -(flags["visuals_skeletons_color"].transparency) + 1 info["skeleton_".. part.Name].Visible = true end else for required, _ in next, skeleton_order do if (info["skeleton_".. required]) then info["skeleton_".. required].Visible = false end end end if (info["oof_arrow"]) then info["oof_arrow"].Visible = false end if (info["oof_arrow_outside"]) then info["oof_arrow_outside"].Visible = false end else if (info) then for _, object in next, info do object.Visible = false end end if (flags["visuals_oof_arrows"]) then local fix_ratio = 450 / flags["visuals_oof_arrows_radius"] local relative = current_camera.CFrame:PointToObjectSpace(player.Character.HumanoidRootPart.Position) local middle = current_camera.ViewportSize / 2 local degree = math.deg(math.atan2(-relative.Y, relative.X)) * math.pi / 180 local end_pos = middle + (Vector2.new(math.cos(degree), math.sin(degree))) * flags["visuals_oof_arrows_radius"] local end_pos_a = middle + (Vector2.new(math.cos(degree + math.rad(2 * fix_ratio)), math.sin(degree + math.rad(2 * fix_ratio)))) * flags["visuals_oof_arrows_radius"] local end_pos_c = middle + (Vector2.new(math.cos(degree - math.rad(2 * fix_ratio)), math.sin(degree - math.rad(2 * fix_ratio)))) * flags["visuals_oof_arrows_radius"] local difference = middle - end_pos info["oof_arrow"].PointA = end_pos_a info["oof_arrow"].PointB = end_pos + (-difference.Unit * 15) info["oof_arrow"].PointC = end_pos_c info["oof_arrow"].Visible = true info["oof_arrow"].Color = flags["visuals_oof_arrows_color"].color info["oof_arrow"].Transparency = -(flags["visuals_oof_arrows_color"].transparency) + 1 info["oof_arrow_outside"].PointA = end_pos_a info["oof_arrow_outside"].PointB = end_pos + (-difference.Unit * 16) info["oof_arrow_outside"].PointC = end_pos_c info["oof_arrow_outside"].Visible = true info["oof_arrow_outside"].Color = Color3.new(0, 0, 0) info["oof_arrow_outside"].Transparency = -(flags["visuals_oof_arrows_color"].transparency) + 1 end end end for player, _ in next, cheat.visuals.info do if (not game:GetService("Players"):FindFirstChild(player)) then for _, object in next, cheat.visuals.info[player] do object:Remove() end cheat.visuals.info[player] = nil end end end) cheat:render_stepped(1, function(delta) for _, zombie in next, game:GetService("Workspace").Zombies.Mobs:GetChildren() do local info = cheat.visuals.zombies[zombie.Name] if (not zombie:FindFirstChild("HumanoidRootPart")) then if (info) then for _, object in next, info do object.Visible = false end end continue end if (not local_player.Character) then if (info) then for _, object in next, info do object.Visible = false end end continue end if ((zombie.HumanoidRootPart.Position - local_player.Character.HumanoidRootPart.Position).Magnitude > flags["visuals_boss_max_distance"]) then if (info) then for _, object in next, info do object.Visible = false end end continue end -- HACK: What the fuck local box = calculate_box({["Character"] = zombie}) if ((not flags["visuals_enabled"] and not flags["visuals_enabled_toggle"].state) or not box) then if (info) then for _, object in next, info do object.Visible = false end end continue end if (not zombie:FindFirstChild("Equipment")) then if (info) then for _, object in next, info do object.Visible = false end end continue end if (#zombie.Equipment:GetChildren() == 0) then if (info) then for _, object in next, info do object.Visible = false end end continue end local found_gun = false for _, child in next, zombie.Equipment:GetChildren() do if (child.Name:find("Firearm")) then found_gun = true break end end if (not found_gun) then if (info) then for _, object in next, info do object.Visible = false end end continue end if (not info) then cheat.visuals.zombies[zombie.Name] = {} cheat.visuals.zombies[zombie.Name]["box_outside"] = cheat.draw("Square", { Color = Color3.new(0, 0, 0), Thickness = 1, Transparency = math.clamp(1 - 0.5, 0, 1), Filled = false }) cheat.visuals.zombies[zombie.Name]["box"] = cheat.draw("Square", { Color = flags["visuals_boss_boxes_color"].color, Thickness = 1, Transparency = 1, Filled = false }) cheat.visuals.zombies[zombie.Name]["box_inside"] = cheat.draw("Square", { Color = Color3.new(0, 0, 0), Thickness = 1, Transparency = math.clamp(-(flags["visuals_boss_boxes_color"].transparency) + 1 - 0.5, 0, 1), Filled = false }) cheat.visuals.zombies[zombie.Name]["name"] = cheat.draw("Text", { Color = Color3.new(1, 1, 1), OutlineColor = flags["visuals_boss_names_color"].color, Center = true, Outline = true, Size = 13, Transparency = -(flags["visuals_boss_names_color"].transparency) + 1, Font = 2 }) info = cheat.visuals.zombies[zombie.Name] end if (flags["visuals_boss_boxes"]) then info["box_outside"].Position = Vector2.new(box.X - 1, box.Y - 1) info["box_outside"].Size = Vector2.new(box.W + 2, box.H + 2) info["box_outside"].Transparency = math.clamp(-(flags["visuals_boss_boxes_color"].transparency) + 1 - 0.5, 0, 1) info["box_outside"].Visible = true info["box"].Position = Vector2.new(box.X, box.Y) info["box"].Size = Vector2.new(box.W, box.H) info["box"].Transparency = -(flags["visuals_boss_boxes_color"].transparency) + 1 info["box"].Color = flags["visuals_boss_boxes_color"].color info["box"].Visible = true info["box_inside"].Position = Vector2.new(box.X + 1, box.Y + 1) info["box_inside"].Size = Vector2.new(box.W - 2, box.H - 2) info["box_inside"].Transparency = math.clamp(-(flags["visuals_boss_boxes_color"].transparency) + 1 - 0.5, 0, 1) info["box_inside"].Visible = true else if (info["box"]) then info["box"].Visible = false end if (info["box_inside"]) then info["box_inside"].Visible = false end if (info["box_outside"]) then info["box_outside"].Visible = false end end if (flags["visuals_boss_names"]) then info["name"].Position = Vector2.new(box.X + (box.W / 2), box.Y - 5 - info["name"].TextBounds.Y) info["name"].OutlineColor = flags["visuals_boss_names_color"].color info["name"].Transparency = -(flags["visuals_boss_names_color"].transparency) + 1 info["name"].Text = zombie.Name info["name"].Visible = true else if (info["name"]) then info["name"].Visible = false end end end for zombie, _ in next, cheat.visuals.zombies do if (not game:GetService("Workspace").Zombies.Mobs:FindFirstChild(zombie)) then for _, object in next, cheat.visuals.zombies[zombie] do object:Remove() end cheat.visuals.zombies[zombie] = nil end end end) cheat:render_stepped(1, function(delta) for _, event in next, game:GetService("Workspace").Map.Shared.Randoms:GetChildren() do local info = cheat.visuals.events[event.Name] if (not event:IsA("CFrameValue")) then if (info) then for _, object in next, info do object.Visible = false end end continue end if (not local_player.Character) then if (info) then for _, object in next, info do object.Visible = false end end continue end if ((event.Value.Position - local_player.Character.HumanoidRootPart.Position).Magnitude > flags["visuals_event_max_distance"]) then if (info) then for _, object in next, info do object.Visible = false end end continue end if ((not flags["visuals_enabled"] and not flags["visuals_enabled_toggle"].state)) then if (info) then for _, object in next, info do object.Visible = false end end continue end if (not info) then cheat.visuals.events[event.Name] = {} cheat.visuals.events[event.Name]["name"] = cheat.draw("Text", { Color = Color3.new(1, 1, 1), OutlineColor = flags["visuals_event_names_color"].color, Center = true, Outline = true, Size = 13, Transparency = -(flags["visuals_event_names_color"].transparency) + 1, Font = 2 }) info = cheat.visuals.events[event.Name] end local event_w2s, on_screen = current_camera:WorldToViewportPoint(event.Value.Position) if (flags["visuals_event_names"] and on_screen) then info["name"].Position = Vector2.new(event_w2s.X, event_w2s.Y - 5 - info["name"].TextBounds.Y) info["name"].OutlineColor = flags["visuals_event_names_color"].color info["name"].Transparency = -(flags["visuals_event_names_color"].transparency) + 1 info["name"].Text = event.Name:gsub("%u", function(c, ...) return " " .. c end):sub(2, -3) info["name"].Visible = true else if (info["name"]) then info["name"].Visible = false end end end for event, _ in next, cheat.visuals.events do if (not game:GetService("Workspace").Map.Shared.Randoms:FindFirstChild(event)) then for _, object in next, cheat.visuals.events[event] do object:Remove() end cheat.visuals.events[event] = nil end end end) cheat:render_stepped(2, function(delta) local screen_size = current_camera.ViewportSize local info = cheat.visuals["self"] if (not info) then cheat.visuals["self"] = { ["mouse_fov"] = cheat.draw("Circle", { Color = flags["visuals_mouse_fov_color"].color, Thickness = 1, Transparency = -(flags["visuals_mouse_fov_color"].transparency) + 1, Filled = false, NumSides = 50, }), ["silent_fov"] = cheat.draw("Circle", { Color = flags["visuals_silent_fov_color"].color, Thickness = 1, Transparency = -(flags["visuals_silent_fov_color"].transparency) + 1, Filled = false, NumSides = 50, }), ["crosshair_outline"] = { ["path_1"] = cheat.draw("Line", { Color = Color3.new(0, 0, 0), Thickness = 3, Transparency = math.clamp(-(flags["visuals_crosshair_color"].transparency) + 1 - 0.5, 0, 1), ZIndex = 1, }), ["path_2"] = cheat.draw("Line", { Color = Color3.new(0, 0, 0), Thickness = 3, Transparency = math.clamp(-(flags["visuals_crosshair_color"].transparency) + 1 - 0.5, 0, 1), ZIndex = 1, }) }, ["crosshair"] = { ["path_1"] = cheat.draw("Line", { Color = flags["visuals_crosshair_color"].color, Thickness = 1, Transparency = -(flags["visuals_crosshair_color"].transparency) + 1, ZIndex = 2, }), ["path_2"] = cheat.draw("Line", { Color = flags["visuals_crosshair_color"].color, Thickness = 1, Transparency = -(flags["visuals_crosshair_color"].transparency) + 1, ZIndex = 2, }) }, } info = cheat.visuals["self"] end if (not flags["visuals_enabled"]) then if (info["mouse_fov"]) then info["mouse_fov"].Visible = false end if (info["silent_fov"]) then info["silent_fov"].Visible = false end if (info["crosshair"]) then info["crosshair"]["path_1"].Visible = false info["crosshair"]["path_2"].Visible = false info["crosshair_outline"]["path_1"].Visible = false info["crosshair_outline"]["path_2"].Visible = false end return end if (flags["visuals_mouse_fov"]) then info["mouse_fov"].Visible = true info["mouse_fov"].Position = screen_size / 2 --current_camera.FieldOfView info["mouse_fov"].Radius = (math.tan(math.rad(flags["aimbot_mouse_fov"])) / math.tan(math.rad(70)) * screen_size.X) * (70 / current_camera.FieldOfView) info["mouse_fov"].Color = flags["visuals_mouse_fov_color"].color info["mouse_fov"].Transparency = -(flags["visuals_mouse_fov_color"].transparency) + 1 else if (info["mouse_fov"]) then info["mouse_fov"].Visible = false end end if (flags["visuals_crosshair"]) then local function solve_path_1(t) return Vector2.new(screen_size.X / 2, screen_size.Y / 2) + Vector2.new(math.sin(t) * flags["visuals_crosshair_width"], math.cos(t) * flags["visuals_crosshair_width"]) end local function solve_path_2(t) return Vector2.new(screen_size.X / 2, screen_size.Y / 2) + Vector2.new(-math.sin(t) * flags["visuals_crosshair_width"], -math.cos(t) * flags["visuals_crosshair_width"]) end local function solve_path_3(t) return Vector2.new(screen_size.X / 2, screen_size.Y / 2) + Vector2.new(math.sin(t + math.rad(90)) * flags["visuals_crosshair_width"], math.cos(t + math.rad(90)) * flags["visuals_crosshair_width"]) end local function solve_path_4(t) return Vector2.new(screen_size.X / 2, screen_size.Y / 2) + Vector2.new(-math.sin(t + math.rad(90)) * flags["visuals_crosshair_width"], -math.cos(t + math.rad(90)) * flags["visuals_crosshair_width"]) end local current_rotation = not flags["visuals_crosshair_rotate"] and 0 or tick() * 1000 / 1000 info["crosshair"]["path_1"].Visible = true info["crosshair"]["path_1"].From = solve_path_1(current_rotation) info["crosshair"]["path_1"].To = solve_path_2(current_rotation) info["crosshair"]["path_1"].Color = flags["visuals_crosshair_color"].color info["crosshair"]["path_1"].Transparency = -(flags["visuals_crosshair_color"].transparency) + 1 info["crosshair"]["path_2"].Visible = true info["crosshair"]["path_2"].From = solve_path_3(current_rotation) info["crosshair"]["path_2"].To = solve_path_4(current_rotation) info["crosshair"]["path_2"].Color = flags["visuals_crosshair_color"].color info["crosshair"]["path_2"].Transparency = -(flags["visuals_crosshair_color"].transparency) + 1 info["crosshair_outline"]["path_1"].Visible = true info["crosshair_outline"]["path_1"].From = solve_path_1(current_rotation) info["crosshair_outline"]["path_1"].To = solve_path_2(current_rotation) info["crosshair_outline"]["path_1"].Color = Color3.new(0, 0, 0) info["crosshair_outline"]["path_1"].Transparency = math.clamp(-(flags["visuals_crosshair_color"].transparency) + 1 - 0.5, 0, 1) info["crosshair_outline"]["path_2"].Visible = true info["crosshair_outline"]["path_2"].From = solve_path_3(current_rotation) info["crosshair_outline"]["path_2"].To = solve_path_4(current_rotation) info["crosshair_outline"]["path_2"].Color = Color3.new(0, 0, 0) info["crosshair_outline"]["path_2"].Transparency = math.clamp(-(flags["visuals_crosshair_color"].transparency) + 1 - 0.5, 0, 1) else if (info["crosshair"]) then info["crosshair"]["path_1"].Visible = false info["crosshair"]["path_2"].Visible = false info["crosshair_outline"]["path_1"].Visible = false info["crosshair_outline"]["path_2"].Visible = false end end if (flags["visuals_silent_fov"]) then info["silent_fov"].Visible = true info["silent_fov"].Position = screen_size / 2 info["silent_fov"].Radius = (math.tan(math.rad(flags["aimbot_silent_fov"])) / math.tan(math.rad(70)) * screen_size.X) * (70 / current_camera.FieldOfView) info["silent_fov"].Color = flags["visuals_silent_fov_color"].color info["silent_fov"].Transparency = -(flags["visuals_silent_fov_color"].transparency) + 1 else if (info["silent_fov"]) then info["silent_fov"].Visible = false end end end) cheat:heart_beat(function(delta) for _, player in next, game:GetService("Players"):GetPlayers() do local info = cheat.visuals.chams[player.Name] if (player == local_player) then if (info) then for _, object in next, info do object:Destroy() end cheat.visuals.chams[player.Name] = nil end continue end if (not player.Character) then if (info) then for _, object in next, info do object:Destroy() end cheat.visuals.chams[player.Name] = nil end continue end local character = player.Character if (not local_player.Character) then if (info) then for _, object in next, info do object:Destroy() end cheat.visuals.chams[player.Name] = nil end continue end if (squad_list[player.Name]) then if (info) then for _, object in next, info do object:Destroy() end cheat.visuals.chams[player.Name] = nil end continue end if (not character:FindFirstChild("HumanoidRootPart") or not local_player.Character:FindFirstChild("HumanoidRootPart")) then if (info) then for _, object in next, info do object:Destroy() end cheat.visuals.chams[player.Name] = nil end continue end if (not flags["visuals_enabled"]) then if (info) then for _, object in next, info do object:Destroy() end cheat.visuals.chams[player.Name] = nil end continue end if ((character.HumanoidRootPart.Position - local_player.Character.HumanoidRootPart.Position).Magnitude > flags["visuals_player_max_distance"]) then if (info) then for _, object in next, info do object:Destroy() end cheat.visuals.chams[player.Name] = nil end continue end if (not info) then cheat.visuals.chams[player.Name] = {} cheat.visuals.chams[player.Name]["highlight"] = Instance.new("Highlight", character) cheat.visuals.chams[player.Name]["highlight"].Name = "🐛" cheat.visuals.chams[player.Name]["highlight"].FillTransparency = 0.55 -- Perfect ratio between transparency and color cheat.visuals.chams[player.Name]["highlight"].Adornee = character cheat.visuals.chams[player.Name]["highlight"].Enabled = false info = cheat.visuals.chams[player.Name] end local camera_direction = (character.HumanoidRootPart.Position - current_camera.CFrame.Position) local parameters = RaycastParams.new() parameters.FilterDescendantsInstances = {current_camera, local_player.Character} parameters.FilterType = Enum.RaycastFilterType.Blacklist local result = game:GetService("Workspace"):Raycast(current_camera.CFrame.Position, camera_direction, parameters) if (flags["visuals_visible_chams"] and result and result.Instance and result.Instance:IsDescendantOf(character)) then for _, object in next, info do if (object:IsA("Highlight")) then object.Enabled = true object.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop object.FillColor = flags["visuals_visible_chams_color"].color object.FillTransparency = flags["visuals_visible_chams_color"].transparency object.OutlineColor = flags["visuals_outline_chams_color"].color object.OutlineTransparency = (flags["visuals_outline_chams"] and flags["visuals_outline_chams_color"].transparency) or 1 end end continue end if (flags["visuals_occluded_chams"]) then for _, object in next, info do if (object:IsA("Highlight")) then object.Enabled = true object.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop object.FillColor = flags["visuals_occluded_chams_color"].color object.FillTransparency = flags["visuals_occluded_chams_color"].transparency object.OutlineColor = flags["visuals_outline_chams_color"].color object.OutlineTransparency = (flags["visuals_outline_chams"] and flags["visuals_outline_chams_color"].transparency) or 1 end end continue end for _, object in next, info do if (object:IsA("Highlight")) then object.Enabled = false end end end for player, _ in next, cheat.visuals.chams do if (not game:GetService("Players"):FindFirstChild(player)) then for _, object in next, cheat.visuals.chams[player] do object:Destroy() end cheat.visuals.chams[player] = nil end end end) cheat:heart_beat(function(delta) local texture_map = { ["Lightning"] = "rbxassetid://446111271", ["Smoke"] = "rbxassetid://3517446796" } for timestamp, tracer in next, cheat.visuals.tracers do if (not tracer.object) then if (not game:GetService("Workspace"):FindFirstChild("Beams")) then local beams = Instance.new("Folder", game:GetService("Workspace")) beams.Name = "Beams" end tracer.object = Instance.new("Part", game:GetService("Workspace")["Beams"]) tracer.object.Name = "🐛" tracer.object.Anchored = true tracer.object.Size = Vector3.new(0.1, 0.1, (tracer["end"] - tracer["start"]).Magnitude) tracer.object.CFrame = CFrame.lookAt(tracer["start"], tracer["end"]) + (tracer["end"] - tracer["start"]) / 2 tracer.object.Transparency = 1 tracer.object.CanCollide = false local attachment_1 = Instance.new("Attachment", tracer.object) attachment_1.Name = "🐛_1" attachment_1.Position = Vector3.new(0, 0, -tracer.object.Size.Z / 2) local attachment_2 = Instance.new("Attachment", tracer.object) attachment_2.Name = "🐛_2" attachment_2.Position = Vector3.new(0, 0, tracer.object.Size.Z / 2) local beam = Instance.new("Beam", tracer.object) beam.Name = "🐛" beam.Attachment0 = attachment_1 beam.Attachment1 = attachment_2 beam.FaceCamera = flags["visuals_bullet_tracers_face_camera"] beam.Brightness = 1 beam.LightEmission = 1 beam.LightInfluence = 0 beam.Texture = texture_map[flags["visuals_bullet_tracers_texture"]] beam.TextureLength = 1 beam.TextureMode = Enum.TextureMode.Stretch beam.TextureSpeed = 0.7 beam.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.1, 0), NumberSequenceKeypoint.new(0.9, 0), NumberSequenceKeypoint.new(1, 1) }) beam.Width0 = flags["visuals_bullet_tracers_thickness"] / 10 beam.Width1 = flags["visuals_bullet_tracers_thickness"] / 10 beam.Color = ColorSequence.new(flags["visuals_bullet_tracers_color"].color) beam.Brightness = 1 end if (os.clock() - timestamp > 3) then tracer.object:Destroy() cheat.visuals.tracers[timestamp] = nil continue end if (not flags["visuals_bullet_tracers"] or not flags["visuals_enabled"]) then tracer.object:Destroy() cheat.visuals.tracers[timestamp] = nil continue end tracer.object:FindFirstChild("🐛").Width0 = flags["visuals_bullet_tracers_thickness"] tracer.object:FindFirstChild("🐛").Width1 = flags["visuals_bullet_tracers_thickness"] tracer.object:FindFirstChild("🐛").Color = ColorSequence.new(flags["visuals_bullet_tracers_color"].color) tracer.object:FindFirstChild("🐛").Brightness = (-(flags["visuals_bullet_tracers_color"].transparency) + 1) * 2 tracer.object:FindFirstChild("🐛").Texture = texture_map[flags["visuals_bullet_tracers_texture"]] end end) cheat:heart_beat(function(delta) local function find_target() local closest_fov = math.huge local closest_player = nil for _, player in next, game:GetService("Players"):GetPlayers() do if (player == local_player) then continue end if (not player.Character) then continue end if (not local_player.Character) then continue end if (not player.Character:FindFirstChild("HumanoidRootPart")) then continue end if (flags["aimbot_player_max_distance"] < (player.Character.HumanoidRootPart.Position - local_player.Character.HumanoidRootPart.Position).Magnitude) then continue end local fov = (math.deg(math.acos(current_camera.CFrame.LookVector:Dot((player.Character.HumanoidRootPart.Position - current_camera.CFrame.Position).Unit)))) if (fov < closest_fov) then closest_fov = fov closest_player = player end end return closest_player, closest_fov end local function find_hitbox(player, max_fov) local fixed_names = { ["LeftFoot"] = "Legs", ["LeftLowerLeg"] = "Legs", ["LeftUpperLeg"] = "Legs", ["RightFoot"] = "Legs", ["RightLowerLeg"] = "Legs", ["RightUpperLeg"] = "Legs", ["LeftHand"] = "Arms", ["LeftLowerArm"] = "Arms", ["LeftUpperArm"] = "Arms", ["RightHand"] = "Arms", ["RightLowerArm"] = "Arms", ["RightUpperArm"] = "Arms", ["LowerTorso"] = "Torso", ["UpperTorso"] = "Torso", ["Head"] = "Head" } local closest_fov = max_fov local closest_hitbox = nil for _, hitbox in next, player.Character:GetChildren() do if (fixed_names[hitbox.Name] and table.find(flags["aimbot_hitboxes"], fixed_names[hitbox.Name])) then local fov = math.deg(math.acos(current_camera.CFrame.LookVector:Dot((hitbox.Position - current_camera.CFrame.Position).Unit))) if (fov < closest_fov) then closest_fov = fov closest_hitbox = hitbox end end end return closest_hitbox end if (not flags["aimbot_enabled"]) then return end if (not local_player.Character) then return end local player_children = local_player.Character.Equipped:GetChildren() if (#player_children < 1) then return end local closest_player, closest_fov = find_target() local gun_info = modules.item_data[player_children[1].Name:gsub("Mod%d+", "")] if (not gun_info) then error("[Aimbot] Gun not found: " .. player_children[1]) cheat.aimbot.silent_angle = nil return end if (not player_children[1]:FindFirstChild("Muzzle")) then cheat.aimbot.silent_angle = nil return end if (not closest_player) then cheat.aimbot.silent_angle = nil return end if (squad_list[closest_player.Name]) then cheat.aimbot.silent_angle = nil return end local screen_center = current_camera.ViewportSize / 2 if (not cheat.aimbot.info[closest_player.Name]) then cheat.aimbot.info[closest_player.Name] = { last_position = closest_player.Character.HumanoidRootPart.Position } cheat.aimbot.silent_angle = nil return end local player_origin = closest_player.Character.HumanoidRootPart.Position if ((flags["aimbot_mouse_enabled"] or flags["aimbot_mouse_enabled_hold"].state) and closest_fov < flags["aimbot_mouse_fov"]) then if (cheat.aimbot.last_target == closest_player.Name and cheat.aimbot.progress < 1) then cheat.aimbot.progress += delta / (flags["aimbot_mouse_smoothing"] + math.random(0, flags["aimbot_mouse_jitter"] * 100) / 100) else cheat.aimbot.progress = 0 cheat.aimbot.last_target = closest_player.Name end local origin = player_children[1].Muzzle.Position local part = find_hitbox(closest_player, flags["aimbot_mouse_fov"]) if (part) then local time_to_hit = physics.time_to_hit(part.Position, gun_info.FireConfig.MuzzleVelocity, origin, -(game:GetService("Workspace").Gravity / 2)) local velocity = (player_origin - cheat.aimbot.info[closest_player.Name].last_position) * (1 / delta) local target = part.Position + (velocity * time_to_hit) local delta_time_to_hit = physics.time_to_hit(target, gun_info.FireConfig.MuzzleVelocity, origin, -(game:GetService("Workspace").Gravity / 2)) local delta_velocity = (player_origin - cheat.aimbot.info[closest_player.Name].last_position) * (1 / delta_time_to_hit) local delta_target = part.Position + (delta_velocity * delta_time_to_hit) local curve = physics.trajectory(origin, Vector3.new(), Vector3.new(0, -(game:GetService("Workspace").Gravity / 2), 0), delta_target, Vector3.new(), Vector3.new(), gun_info.FireConfig.MuzzleVelocity) if (curve) then local predicited_position = origin + curve local w2s = current_camera:WorldToViewportPoint(predicited_position) mousemoverel(((w2s.X - screen_center.X) / 2) * cheat.bezier(0, 1.1, 1, 1, cheat.aimbot.progress), ((w2s.Y - screen_center.Y) / 2) * cheat.bezier(0, 1.1, 1, 1, cheat.aimbot.progress)) end end else cheat.aimbot.progress = 0 end if ((flags["aimbot_silent_enabled"] or flags["aimbot_silent_enabled_hold"].state) and closest_fov < flags["aimbot_silent_fov"]) then if (flags["aimbot_silent_hitchance"] < math.random(0, 100)) then cheat.aimbot.silent_angle = nil return end local origin = player_children[1].Muzzle.Position local part = find_hitbox(closest_player, flags["aimbot_silent_fov"]) if (flags["aimbot_silent_magic_bullets"] or flags["aimbot_silent_magic_bullets_hold"].state) then origin += player_children[1].Muzzle.CFrame.LookVector * math.clamp((player_children[1].Muzzle.Position - closest_player.Character.HumanoidRootPart.Position).Magnitude, 0, flags["aimbot_silent_magic_bullet_depth"]) cheat.aimbot.silent_origin = origin else cheat.aimbot.silent_origin = nil end if (part) then local time_to_hit = physics.time_to_hit(part.Position, gun_info.FireConfig.MuzzleVelocity, origin, -(game:GetService("Workspace").Gravity / 2)) local velocity = (player_origin - cheat.aimbot.info[closest_player.Name].last_position) * (1 / delta) local target = part.Position + (velocity * time_to_hit) local delta_time_to_hit = physics.time_to_hit(target, gun_info.FireConfig.MuzzleVelocity, origin, -(game:GetService("Workspace").Gravity / 2)) local delta_velocity = (player_origin - cheat.aimbot.info[closest_player.Name].last_position) * (1 / delta_time_to_hit) local delta_target = part.Position + (delta_velocity * delta_time_to_hit) local curve = physics.trajectory(origin, Vector3.new(), Vector3.new(0, -(game:GetService("Workspace").Gravity / 2), 0), delta_target, Vector3.new(), Vector3.new(), gun_info.FireConfig.MuzzleVelocity) if (curve) then local current_spread = (math.random(0, -(flags["aimbot_silent_accuracy"]) + 100) / 100) * 5 local predicited_position = origin + curve + Vector3.new(current_spread, current_spread, current_spread) cheat.aimbot.silent_angle = (predicited_position - origin).Unit else cheat.aimbot.silent_angle = nil cheat.aimbot.silent_origin = nil end else cheat.aimbot.silent_angle = nil cheat.aimbot.silent_origin = nil end else cheat.aimbot.silent_angle = nil cheat.aimbot.silent_origin = nil end cheat.aimbot.info[closest_player.Name].last_position = player_origin end) cheat:heart_beat(function(delta) setsimulationradius(math.huge) if (not flags["misc_enabled"]) then return end if (not local_player.Character) then return end if (not local_player.Character:FindFirstChild("HumanoidRootPart")) then return end local owned_zombies = {} local owned_bosses = {} for _, zombie in next, game:GetService("Workspace").Zombies.Mobs:GetChildren() do if (zombie.PrimaryPart and isnetworkowner(zombie.PrimaryPart)) then if (zombie:FindFirstChild("Equipment")) then local found_gun = false for _, child in next, zombie.Equipment:GetChildren() do if (child.Name:find("Firearm")) then found_gun = true break end end if (found_gun) then owned_bosses[#owned_bosses + 1] = zombie continue end end owned_zombies[#owned_zombies + 1] = zombie end end if (flags["misc_zombie_circle"]) then for i = 360 / #owned_zombies, 360, 360 / #owned_zombies do local current_rotation = math.rad((i + tick() * flags["misc_zombie_circle_speed"]) % 360) local x = local_player.Character.HumanoidRootPart.Position.X + math.cos(current_rotation) * flags["misc_zombie_circle_radius"] local z = local_player.Character.HumanoidRootPart.Position.Z + math.sin(current_rotation) * flags["misc_zombie_circle_radius"] local location = math.ceil(#owned_zombies * (i / 360)) local zombie = owned_zombies[location] if (not zombie) then break end zombie.PrimaryPart.CFrame = CFrame.new(x, local_player.Character.HumanoidRootPart.Position.Y, z) * CFrame.Angles(0, 0, 0) end end for _, zombie in next, owned_zombies do if (flags["misc_zombie_remover"]) then if (flags["misc_zombie_remover_mode"] == "Delete") then zombie.PrimaryPart.CFrame = CFrame.new(0, -1000, 0) else local did_teleport = false repeat local random_player = game:GetService("Players"):GetPlayers()[math.random(1, #game:GetService("Players"):GetPlayers())] if (random_player ~= local_player and random_player.Character and random_player.Character:FindFirstChild("HumanoidRootPart") and not squad_list[random_player.Name]) then zombie.PrimaryPart.CFrame = random_player.Character.HumanoidRootPart.CFrame did_teleport = true end until did_teleport end end zombie.HumanoidRootPart.Anchored = flags["misc_zombie_freezer"] end for _, boss in next, owned_bosses do boss.HumanoidRootPart.Anchored = flags["misc_boss_freezer"] end end) cheat:heart_beat(function(delta) if (not flags["misc_enabled"]) then return end if (not local_player.Character) then cheat.bypass = false return end if (not local_player.Character:FindFirstChild("HumanoidRootPart")) then cheat.bypass = false return end if (cheat.teleport_bypass) then local_player.Character.HumanoidRootPart.Velocity = Vector3.zero end if (flags["misc_fly"] or flags["misc_fly_toggle"].state) then cheat.bypass = true if (not cheat.bypass_ran) then return end local_player.Character.HumanoidRootPart.Velocity = Vector3.zero local is_key_down = game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.W) or game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.A) or game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.S) or game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.D) if (is_key_down) then local_player.Character.HumanoidRootPart.CFrame += Vector3.new(local_player.Character.Humanoid.MoveDirection.X * flags["misc_fly_speed"] * delta, current_camera.CFrame.LookVector.Y * (flags["misc_fly_speed"] / 2) * delta, local_player.Character.Humanoid.MoveDirection.Z * flags["misc_fly_speed"] * delta) end elseif (flags["misc_speed"] or flags["misc_speed_toggle"].state) then cheat.bypass = true if (not cheat.bypass_ran) then return end local_player.Character.HumanoidRootPart.Velocity *= Vector3.new(0, 1, 0) local is_key_down = game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.W) or game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.A) or game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.S) or game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.D) if (is_key_down) then local_player.Character.HumanoidRootPart.CFrame += Vector3.new(local_player.Character.Humanoid.MoveDirection.X * flags["misc_speed_velocity"] * delta, 0, local_player.Character.Humanoid.MoveDirection.Z * flags["misc_speed_velocity"] * delta) end else cheat.bypass = false end end) cheat:heart_beat(function(delta) if (not flags["visuals_enabled"]) then return end if (flags["misc_full_bright"]) then game:GetService("Lighting").ClockTime = 12 end end) local rewrite_functions = {} local function find_functions() -- 20 bajillion times faster than looping through all of gc. table.foreach(getupvalues(modules["bullets"]["Fire"]), function(_, func) if (typeof(func) ~= "function") then return end local info = getinfo(func).name if (info == "getSpredAngle") then rewrite_functions["get_spread_angle"] = func end if (info == "getSpreadVector") then rewrite_functions["get_spread_vector"] = func end if (info == "castLocalBullet") then rewrite_functions["cast_local_bullet"] = func end if (info == "getFireImpulse") then rewrite_functions["get_fire_impulse"] = func end if (info == "playShootSound") then rewrite_functions["play_shoot_sound"] = func end if (info == "impactEffects") then rewrite_functions["impact_effects"] = func end if (info == "drawTracerPath") then rewrite_functions["draw_tracer_path"] = func end end) end repeat find_functions() task.wait() until rewrite_functions["get_spread_angle"] and rewrite_functions["get_spread_vector"] and rewrite_functions["cast_local_bullet"] and rewrite_functions["get_fire_impulse"] and rewrite_functions["play_shoot_sound"] and rewrite_functions["impact_effects"] and rewrite_functions["draw_tracer_path"] getgenv().distance = 1 -- CENSORED cheat:detour("Send", modules["network"], function(original, self, event_name, ...) local arguments = {...} if (event_name == "Bullet Fired") then for _, bullet in next, (typeof(arguments[5]) == "table" and arguments[5]) or arguments[4] do cheat.visuals.tracers[os.clock()] = { ["start"] = arguments[2], ["end"] = bullet["Position"] } end end if (event_name == "Set Character State") then if (flags["misc_enabled"]) then if (arguments[1] == "Falling" and flags["misc_spoof_falling"]) then arguments[1] = "Sitting" end if ((arguments[1] == "Walking" or "Running" or "SprintSwimming") and flags["misc_spoof_status"]) then arguments[1] = "Sitting" end if (cheat.bypass or cheat.teleport_bypass) then arguments[1] = "Climbing" end end end local original_return = original(self, event_name, unpack(arguments)) if (not flags["misc_jitter_fix"]) then if (event_name == "Set Character State" and cheat.bypass and arguments[1] == "Climbing") then cheat.bypass_ran = true elseif (arguments[1] ~= "Climbing") then cheat.bypass_ran = false end else cheat.bypass_ran = cheat.bypass end if (event_name == "Set Character State" and cheat.teleport_bypass and arguments[1] == "Climbing") then cheat.teleport_bypass_ran = true elseif (arguments[1] ~= "Climbing") then cheat.teleport_bypass_ran = false else cheat.teleport_bypass_ran = cheat.teleport_bypass end return original_return end)