SnowyStxrm

JJSploit-modified-ceri

Jun 10th, 2022 (edited)
420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --NOTE: THIS IS NOT MINE! NOR DOES IT COMPLETELY WORK, ESP IS BROKEN! - Owner of Pastebin
  2.  
  3. -- Wow, Another rewrite I just really love rewriting stuff huh.
  4. -- Minified UI source to make my life 1000x easier than whatever the f*ck I was doing before
  5. local start = tick()
  6.  
  7. if Loaded then return end
  8.  
  9. --getgenv().identifyexecutor = function() return "Sh*tsploit" end
  10.  
  11. do -- UI Library.
  12.     getgenv().runService=game:GetService"RunService"getgenv().textService=game:GetService"TextService"getgenv().inputService=game:GetService"UserInputService"getgenv().tweenService=game:GetService"TweenService"local runService=runService;local textService=textService;local inputService=inputService;local tweenService=tweenService;if getgenv().library then getgenv().library:Unload()end;local a={tabs={},draggable=true,flags={},title="Ceri | Legit Cheat",open=false,mousestate=inputService.MouseIconEnabled,popup=nil,instances={},connections={},options={},notifications={},tabSize=0,theme={},foldername="ceri",fileext=".cr"}getgenv().library=a;local b,c,d,e,f;local g={Enum.KeyCode.Unknown,Enum.KeyCode.W,Enum.KeyCode.A,Enum.KeyCode.S,Enum.KeyCode.D,Enum.KeyCode.Slash,Enum.KeyCode.Tab,Enum.KeyCode.Escape}local h={Enum.UserInputType.MouseButton1,Enum.UserInputType.MouseButton2,Enum.UserInputType.MouseButton3}a.round=function(i,j)j=j or 1;local k;if typeof(i)=="Vector2"then k=Vector2.new(a.round(i.X),a.round(i.Y))elseif typeof(i)=="Color3"then return a.round(i.r*255),a.round(i.g*255),a.round(i.b*255)else k=math.floor(i/j+math.sign(i)*0.5)*j;if k<0 then k=k+j end;return k end;return k end;local l;spawn(function()while a and wait()do l=Color3.fromHSV(tick()%6/6,1,1)end end)function a:Create(m,n)n=n or{}if not m then return end;local k=m=="Square"or m=="Line"or m=="Text"or m=="Quad"or m=="Circle"or m=="Triangle"local o=k and Drawing or Instance;local p=o.new(m)for q,r in next,n do p[q]=r end;table.insert(self.instances,{object=p,method=k})return p end;function a:AddConnection(s,t,u)u=type(t)=="function"and t or u;s=s:connect(u)if t~=u then self.connections[t]=s else table.insert(self.connections,s)end;return s end;function a:Unload()inputService.MouseIconEnabled=self.mousestate;for v,w in next,self.connections do w:Disconnect()end;for v,x in next,self.instances do if x.method then pcall(function()x.object:Remove()end)else x.object:Destroy()end end;for v,y in next,self.options do if y.type=="toggle"then pcall(function()y:SetState()end)end end;a=nil;getgenv().library={} end;function a:LoadConfig(z)if table.find(self:GetConfigs(),z)then local A,B=pcall(function()return game:GetService"HttpService":JSONDecode(readfile(self.foldername.."/"..z..self.fileext))end)B=A and B or{}for v,C in next,self.options do if C.hasInit then if C.type~="button"and C.flag and not C.skipflag then if C.type=="toggle"then spawn(function()C:SetState(B[C.flag]==1)end)elseif C.type=="color"then if B[C.flag]then spawn(function()C:SetColor(B[C.flag])end)if C.trans then spawn(function()C:SetTrans(B[C.flag.." Transparency"])end)end end elseif C.type=="bind"then spawn(function()C:SetKey(B[C.flag])end)else spawn(function()C:SetValue(B[C.flag])end)end end end end end end;function a:SaveConfig(z)local B={}if table.find(self:GetConfigs(),z)then B=game:GetService"HttpService":JSONDecode(readfile(self.foldername.."/"..z..self.fileext))end;for v,C in next,self.options do if C.type~="button"and C.flag and not C.skipflag then if C.type=="toggle"then B[C.flag]=C.state and 1 or 0 elseif C.type=="color"then B[C.flag]={C.color.r,C.color.g,C.color.b}if C.trans then B[C.flag.." Transparency"]=C.trans end elseif C.type=="bind"then B[C.flag]=C.key elseif C.type=="list"then B[C.flag]=C.value else B[C.flag]=C.value end end end;writefile(self.foldername.."/"..z..self.fileext,game:GetService"HttpService":JSONEncode(B))end;function a:GetConfigs()if not isfolder(self.foldername)then makefolder(self.foldername)return{}end;local D={}local k=0;for x,E in next,listfiles(self.foldername)do if E:sub(#E-#self.fileext+1,#E)==self.fileext then k=k+1;E=E:gsub(self.foldername.."\\","")E=E:gsub(self.fileext,"")table.insert(D,k,E)end end;return D end;local function F(C,G)C.main=a:Create("TextLabel",{LayoutOrder=C.position,Position=UDim2.new(0,6,0,0),Size=UDim2.new(1,-12,0,24),BackgroundTransparency=1,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),TextXAlignment=Enum.TextXAlignment.Left,TextYAlignment=Enum.TextYAlignment.Top,TextWrapped=true,Parent=G})setmetatable(C,{__newindex=function(o,x,E)if x=="Text"then C.main.Text=tostring(E)C.main.Size=UDim2.new(1,-12,0,textService:GetTextSize(C.main.Text,15,Enum.Font.Code,Vector2.new(C.main.AbsoluteSize.X,9e9)).Y+6)end end})C.Text=C.text end;local function H(C,G)C.hasInit=true;C.main=a:Create("Frame",{LayoutOrder=C.position,Size=UDim2.new(1,0,0,18),BackgroundTransparency=1,Parent=G})a:Create("Frame",{AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(0.5,0,0.5,0),Size=UDim2.new(1,-24,0,1),BackgroundColor3=Color3.fromRGB(71,69,71),BorderColor3=Color3.new(),Parent=C.main})C.title=a:Create("TextLabel",{AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(0.5,0,0.5,0),BackgroundColor3=Color3.fromRGB(30,30,30),BorderSizePixel=0,TextColor3=Color3.new(1,1,1),TextSize=15,Font=Enum.Font.Code,TextXAlignment=Enum.TextXAlignment.Center,Parent=C.main})setmetatable(C,{__newindex=function(o,x,E)if x=="Text"then if E then C.title.Text=tostring(E)C.title.Size=UDim2.new(0,textService:GetTextSize(C.title.Text,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X+12,0,20)C.main.Size=UDim2.new(1,0,0,18)else C.title.Text=""C.title.Size=UDim2.new()C.main.Size=UDim2.new(1,0,0,6)end end end})C.Text=C.text end;local function I(C,G)C.hasInit=true;C.main=a:Create("Frame",{LayoutOrder=C.position,Size=UDim2.new(1,0,0,20),BackgroundTransparency=1,Parent=G})local J;local K;if C.style then J=a:Create("ImageLabel",{Position=UDim2.new(0,6,0,4),Size=UDim2.new(0,12,0,12),BackgroundTransparency=1,Image="rbxassetid://3570695787",ImageColor3=Color3.new(),Parent=C.main})a:Create("ImageLabel",{AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(0.5,0,0.5,0),Size=UDim2.new(1,-2,1,-2),BackgroundTransparency=1,Image="rbxassetid://3570695787",ImageColor3=Color3.fromRGB(60,60,60),Parent=J})a:Create("ImageLabel",{AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(0.5,0,0.5,0),Size=UDim2.new(1,-6,1,-6),BackgroundTransparency=1,Image="rbxassetid://3570695787",ImageColor3=Color3.fromRGB(40,40,40),Parent=J})K=a:Create("ImageLabel",{AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(0.5,0,0.5,0),Size=UDim2.new(1,-6,1,-6),BackgroundTransparency=1,Image="rbxassetid://3570695787",ImageColor3=a.flags["Menu Accent Color"],Visible=C.state,Parent=J})a:Create("ImageLabel",{AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(0.5,0,0.5,0),Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://5941353943",ImageTransparency=0.6,Parent=J})table.insert(a.theme,K)else J=a:Create("Frame",{Position=UDim2.new(0,6,0,4),Size=UDim2.new(0,12,0,12),BackgroundColor3=a.flags["Menu Accent Color"],BorderColor3=Color3.new(),Parent=C.main})K=a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=C.state and 1 or 0,BackgroundColor3=Color3.fromRGB(50,50,50),BorderColor3=Color3.new(),Image="rbxassetid://4155801252",ImageTransparency=0.6,ImageColor3=Color3.new(),Parent=J})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=J})a:Create("ImageLabel",{Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=J})table.insert(a.theme,J)end;C.interest=a:Create("Frame",{Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,0,20),BackgroundTransparency=1,Parent=C.main})C.title=a:Create("TextLabel",{Position=UDim2.new(0,24,0,0),Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Text=C.text,TextColor3=C.state and Color3.fromRGB(210,210,210)or Color3.fromRGB(180,180,180),TextSize=15,Font=Enum.Font.Code,TextXAlignment=Enum.TextXAlignment.Left,Parent=C.interest})C.interest.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then C:SetState(not C.state)end;if L.UserInputType.Name=="MouseMovement"then if not a.warning and not a.slider then if C.style then J.ImageColor3=a.flags["Menu Accent Color"]else J.BorderColor3=a.flags["Menu Accent Color"]K.BorderColor3=a.flags["Menu Accent Color"]end end;if C.tip then a.tooltip.Text=C.tip;a.tooltip.Size=UDim2.new(0,textService:GetTextSize(C.tip,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X,0,20)end end end)C.interest.InputChanged:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if C.tip then a.tooltip.Position=UDim2.new(0,L.Position.X+26,0,L.Position.Y+36)end end end)C.interest.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if C.style then J.ImageColor3=Color3.new()else J.BorderColor3=Color3.new()K.BorderColor3=Color3.new()end;a.tooltip.Position=UDim2.new(2)end end)function C:SetState(M,N)M=typeof(M)=="boolean"and M;M=M or false;a.flags[self.flag]=M;self.state=M;C.title.TextColor3=M and Color3.fromRGB(210,210,210)or Color3.fromRGB(160,160,160)if C.style then K.Visible=M else K.BackgroundTransparency=M and 1 or 0 end;if not N then self.callback(M)end end;if C.state then delay(1,function()if a then C.callback(true)end end)end;setmetatable(C,{__newindex=function(o,x,E)if x=="Text"then C.title.Text=tostring(E)end end})end;local function O(C,G)C.hasInit=true;C.main=a:Create("Frame",{LayoutOrder=C.position,Size=UDim2.new(1,0,0,26),BackgroundTransparency=1,Parent=G})C.title=a:Create("TextLabel",{AnchorPoint=Vector2.new(0.5,1),Position=UDim2.new(0.5,0,1,-5),Size=UDim2.new(1,-12,0,18),BackgroundColor3=Color3.fromRGB(50,50,50),BorderColor3=Color3.new(),Text=C.text,TextColor3=Color3.new(1,1,1),TextSize=15,Font=Enum.Font.Code,Parent=C.main})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.title})a:Create("ImageLabel",{Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.title})a:Create("UIGradient",{Color=ColorSequence.new({ColorSequenceKeypoint.new(0,Color3.fromRGB(180,180,180)),ColorSequenceKeypoint.new(1,Color3.fromRGB(253,253,253))}),Rotation=-90,Parent=C.title})C.title.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then C.callback()if a then a.flags[C.flag]=true end;if C.tip then a.tooltip.Text=C.tip;a.tooltip.Size=UDim2.new(0,textService:GetTextSize(C.tip,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X,0,20)end end;if L.UserInputType.Name=="MouseMovement"then if not a.warning and not a.slider then C.title.BorderColor3=a.flags["Menu Accent Color"]end end end)C.title.InputChanged:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if C.tip then a.tooltip.Position=UDim2.new(0,L.Position.X+26,0,L.Position.Y+36)end end end)C.title.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseMovement"then C.title.BorderColor3=Color3.new()a.tooltip.Position=UDim2.new(2)end end)end;local function P(C,G)C.hasInit=true;local Q;local R;local S;if C.sub then C.main=C:getMain()else C.main=C.main or a:Create("Frame",{LayoutOrder=C.position,Size=UDim2.new(1,0,0,20),BackgroundTransparency=1,Parent=G})a:Create("TextLabel",{Position=UDim2.new(0,6,0,0),Size=UDim2.new(1,-12,1,0),BackgroundTransparency=1,Text=C.text,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.fromRGB(210,210,210),TextXAlignment=Enum.TextXAlignment.Left,Parent=C.main})end;local T=a:Create(C.sub and"TextButton"or"TextLabel",{Position=UDim2.new(1,-6-(C.subpos or 0),0,C.sub and 2 or 3),SizeConstraint=Enum.SizeConstraint.RelativeYY,BackgroundColor3=Color3.fromRGB(30,30,30),BorderSizePixel=0,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.fromRGB(160,160,160),TextXAlignment=Enum.TextXAlignment.Right,Parent=C.main})if C.sub then T.AutoButtonColor=false end;local U=C.sub and T or C.main;local V;U.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseButton1"then Q=true;T.Text="[...]"T.Size=UDim2.new(0,-textService:GetTextSize(T.Text,16,Enum.Font.Code,Vector2.new(9e9,9e9)).X,0,16)T.TextColor3=a.flags["Menu Accent Color"]end end)a:AddConnection(inputService.InputBegan,function(L)if inputService:GetFocusedTextBox()then return end;if Q then local W=table.find(h,L.UserInputType)and not C.nomouse and L.UserInputType;C:SetKey(W or not table.find(g,L.KeyCode)and L.KeyCode)else if(L.KeyCode.Name==C.key or L.UserInputType.Name==C.key)and not Q then if C.mode=="toggle"then a.flags[C.flag]=not a.flags[C.flag]C.callback(a.flags[C.flag],0)else a.flags[C.flag]=true;if S then S:Disconnect()C.callback(true,0)end;S=a:AddConnection(runService.RenderStepped,function(Z)if not inputService:GetFocusedTextBox()then C.callback(nil,Z)end end)end end end end)a:AddConnection(inputService.InputEnded,function(L)if C.key~="none"then if L.KeyCode.Name==C.key or L.UserInputType.Name==C.key then if S then S:Disconnect()a.flags[C.flag]=false;C.callback(true,0)end end end end)function C:SetKey(W)Q=false;T.TextColor3=Color3.fromRGB(160,160,160)if S then S:Disconnect()a.flags[C.flag]=false;C.callback(true,0)end;self.key=W and W.Name or W or self.key;if self.key=="Backspace"then self.key="none"T.Text="[NONE]"else local k=self.key;if self.key:match"Mouse"then k=self.key:gsub("Button",""):gsub("Mouse","M")elseif self.key:match"Shift"or self.key:match"Alt"or self.key:match"Control"then k=self.key:gsub("Left","L"):gsub("Right","R")end;T.Text="["..k:gsub("Control","CTRL"):upper().."]"end;T.Size=UDim2.new(0,-textService:GetTextSize(T.Text,16,Enum.Font.Code,Vector2.new(9e9,9e9)).X,0,16)end;C:SetKey()end;local function _(C,G)C.hasInit=true;if C.sub then C.main=C:getMain()C.main.Size=UDim2.new(1,0,0,42)else C.main=a:Create("Frame",{LayoutOrder=C.position,Size=UDim2.new(1,0,0,C.textpos and 24 or 40),BackgroundTransparency=1,Parent=G})end;C.slider=a:Create("Frame",{Position=UDim2.new(0,6,0,C.sub and 22 or C.textpos and 4 or 20),Size=UDim2.new(1,-12,0,16),BackgroundColor3=Color3.fromRGB(50,50,50),BorderColor3=Color3.new(),Parent=C.main})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2454009026",ImageColor3=Color3.new(),ImageTransparency=0.8,Parent=C.slider})C.fill=a:Create("Frame",{BackgroundColor3=a.flags["Menu Accent Color"],BorderSizePixel=0,Parent=C.slider})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.slider})a:Create("ImageLabel",{Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.slider})C.title=a:Create("TextBox",{Position=UDim2.new((C.sub or C.textpos)and 0.5 or 0,(C.sub or C.textpos)and 0 or 6,0,0),Size=UDim2.new(0,0,0,(C.sub or C.textpos)and 14 or 18),BackgroundTransparency=1,Text=(C.text=="nil"and""or C.text..": ")..C.value..C.suffix,TextSize=(C.sub or C.textpos)and 14 or 15,Font=Enum.Font.Code,TextColor3=Color3.fromRGB(210,210,210),TextXAlignment=Enum.TextXAlignment[(C.sub or C.textpos)and"Center"or"Left"],Parent=(C.sub or C.textpos)and C.slider or C.main})table.insert(a.theme,C.fill)a:Create("UIGradient",{Color=ColorSequence.new({ColorSequenceKeypoint.new(0,Color3.fromRGB(115,115,115)),ColorSequenceKeypoint.new(1,Color3.new(1,1,1))}),Rotation=-90,Parent=C.fill})if C.min>=0 then C.fill.Size=UDim2.new((C.value-C.min)/(C.max-C.min),0,1,0)else C.fill.Position=UDim2.new((0-C.min)/(C.max-C.min),0,0,0)C.fill.Size=UDim2.new(C.value/(C.max-C.min),0,1,0)end;local a0;C.title.Focused:connect(function()if not a0 then C.title:ReleaseFocus()C.title.Text=(C.text=="nil"and""or C.text..": ")..C.value..C.suffix end end)C.title.FocusLost:connect(function()C.slider.BorderColor3=Color3.new()if a0 then if tonumber(C.title.Text)then C:SetValue(tonumber(C.title.Text))else C.title.Text=(C.text=="nil"and""or C.text..": ")..C.value..C.suffix end end;a0=false end)local U=(C.sub or C.textpos)and C.slider or C.main;U.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then if inputService:IsKeyDown(Enum.KeyCode.LeftControl)or inputService:IsKeyDown(Enum.KeyCode.RightControl)then a0=true;C.title:CaptureFocus()else a.slider=C;C.slider.BorderColor3=a.flags["Menu Accent Color"]C:SetValue(C.min+(L.Position.X-C.slider.AbsolutePosition.X)/C.slider.AbsoluteSize.X*(C.max-C.min))end end;if L.UserInputType.Name=="MouseMovement"then if not a.warning and not a.slider then C.slider.BorderColor3=a.flags["Menu Accent Color"]end;if C.tip then a.tooltip.Text=C.tip;a.tooltip.Size=UDim2.new(0,textService:GetTextSize(C.tip,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X,0,20)end end end)U.InputChanged:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if C.tip then a.tooltip.Position=UDim2.new(0,L.Position.X+26,0,L.Position.Y+36)end end end)U.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseMovement"then a.tooltip.Position=UDim2.new(2)if C~=a.slider then C.slider.BorderColor3=Color3.new()end end end)function C:SetValue(r,N)if typeof(r)~="number"then r=0 end;r=a.round(r,C.float)r=math.clamp(r,self.min,self.max)if self.min>=0 then C.fill:TweenSize(UDim2.new((r-self.min)/(self.max-self.min),0,1,0),"Out","Quad",0.05,true)else C.fill:TweenPosition(UDim2.new((0-self.min)/(self.max-self.min),0,0,0),"Out","Quad",0.05,true)C.fill:TweenSize(UDim2.new(r/(self.max-self.min),0,1,0),"Out","Quad",0.1,true)end;a.flags[self.flag]=r;self.value=r;C.title.Text=(C.text=="nil"and""or C.text..": ")..C.value..C.suffix;if not N then self.callback(r)end end;delay(1,function()if a then C:SetValue(C.value)end end)end;local function a1(C,G)C.hasInit=true;if C.sub then C.main=C:getMain()C.main.Size=UDim2.new(1,0,0,48)else C.main=a:Create("Frame",{LayoutOrder=C.position,Size=UDim2.new(1,0,0,C.text=="nil"and 30 or 48),BackgroundTransparency=1,Parent=G})if C.text~="nil"then a:Create("TextLabel",{Position=UDim2.new(0,6,0,0),Size=UDim2.new(1,-12,0,18),BackgroundTransparency=1,Text=C.text,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.fromRGB(210,210,210),TextXAlignment=Enum.TextXAlignment.Left,Parent=C.main})end end;local function a2()local a3=""for v,r in next,C.values do a3=a3 ..(C.value[r]and tostring(r)..", "or"")end;return string.sub(a3,1,#a3-2)end;C.listvalue=a:Create("TextLabel",{Position=UDim2.new(0,6,0,C.text=="nil"and not C.sub and 4 or 22),Size=UDim2.new(1,-12,0,22),BackgroundColor3=Color3.fromRGB(50,50,50),BorderColor3=Color3.new(),Text=" "..(typeof(C.value)=="string"and C.value or a2()),TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),TextXAlignment=Enum.TextXAlignment.Left,TextTruncate=Enum.TextTruncate.AtEnd,Parent=C.main})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2454009026",ImageColor3=Color3.new(),ImageTransparency=0.8,Parent=C.listvalue})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.listvalue})a:Create("ImageLabel",{Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.listvalue})C.arrow=a:Create("ImageLabel",{Position=UDim2.new(1,-16,0,7),Size=UDim2.new(0,8,0,8),Rotation=90,BackgroundTransparency=1,Image="rbxassetid://4918373417",ImageColor3=Color3.new(1,1,1),ScaleType=Enum.ScaleType.Fit,ImageTransparency=0.4,Parent=C.listvalue})C.holder=a:Create("TextButton",{ZIndex=4,BackgroundColor3=Color3.fromRGB(40,40,40),BorderColor3=Color3.new(),Text="",AutoButtonColor=false,Visible=false,Parent=a.base})C.content=a:Create("ScrollingFrame",{ZIndex=4,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,BorderSizePixel=0,ScrollBarImageColor3=Color3.new(),ScrollBarThickness=3,ScrollingDirection=Enum.ScrollingDirection.Y,VerticalScrollBarInset=Enum.ScrollBarInset.Always,TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png",Parent=C.holder})a:Create("ImageLabel",{ZIndex=4,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.holder})a:Create("ImageLabel",{ZIndex=4,Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.holder})local a4=a:Create("UIListLayout",{Padding=UDim.new(0,2),Parent=C.content})a:Create("UIPadding",{PaddingTop=UDim.new(0,4),PaddingLeft=UDim.new(0,4),Parent=C.content})local a5=0;a4.Changed:connect(function()C.holder.Size=UDim2.new(0,C.listvalue.AbsoluteSize.X,0,8+(a5>C.max and-2+C.max*22 or a4.AbsoluteContentSize.Y))C.content.CanvasSize=UDim2.new(0,0,0,8+a4.AbsoluteContentSize.Y)end)local U=C.sub and C.listvalue or C.main;C.listvalue.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then if a.popup==C then a.popup:Close()return end;if a.popup then a.popup:Close()end;C.arrow.Rotation=-90;C.open=true;C.holder.Visible=true;local a6=C.main.AbsolutePosition;C.holder.Position=UDim2.new(0,a6.X+6,0,a6.Y+(C.text=="nil"and not C.sub and 66 or 84))a.popup=C;C.listvalue.BorderColor3=a.flags["Menu Accent Color"]end;if L.UserInputType.Name=="MouseMovement"then if not a.warning and not a.slider then C.listvalue.BorderColor3=a.flags["Menu Accent Color"]end end end)C.listvalue.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if not C.open then C.listvalue.BorderColor3=Color3.new()end end end)U.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if C.tip then a.tooltip.Text=C.tip;a.tooltip.Size=UDim2.new(0,textService:GetTextSize(C.tip,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X,0,20)end end end)U.InputChanged:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if C.tip then a.tooltip.Position=UDim2.new(0,L.Position.X+26,0,L.Position.Y+36)end end end)U.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseMovement"then a.tooltip.Position=UDim2.new(2)end end)local a7;function C:AddValue(r,M)if self.labels[r]then return end;a5=a5+1;if self.multiselect then self.values[r]=M else if not table.find(self.values,r)then table.insert(self.values,r)end end;local a8=a:Create("TextLabel",{ZIndex=4,Size=UDim2.new(1,0,0,20),BackgroundTransparency=1,Text=r,TextSize=15,Font=Enum.Font.Code,TextTransparency=self.multiselect and(self.value[r]and 1 or 0)or self.value==r and 1 or 0,TextColor3=Color3.fromRGB(210,210,210),TextXAlignment=Enum.TextXAlignment.Left,Parent=C.content})self.labels[r]=a8;local a9=a:Create("TextLabel",{ZIndex=4,Size=UDim2.new(1,0,1,0),BackgroundTransparency=0.8,Text=" "..r,TextSize=15,Font=Enum.Font.Code,TextColor3=a.flags["Menu Accent Color"],TextXAlignment=Enum.TextXAlignment.Left,Visible=self.multiselect and self.value[r]or self.value==r,Parent=a8})a7=a7 or self.value==r and a9;table.insert(a.theme,a9)a8.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then if self.multiselect then self.value[r]=not self.value[r]self:SetValue(self.value)else self:SetValue(r)self:Close()end end end)end;for x,r in next,C.values do C:AddValue(tostring(typeof(x)=="number"and r or x))end;function C:RemoveValue(r)local a8=self.labels[r]if a8 then a8:Destroy()self.labels[r]=nil;a5=a5-1;if self.multiselect then self.values[r]=nil;self:SetValue(self.value)else table.remove(self.values,table.find(self.values,r))if self.value==r then a7=nil;self:SetValue(self.values[1]or"")end end end end;function C:SetValue(r,N)if self.multiselect and typeof(r)~="table"then r={}for x,E in next,self.values do r[E]=false end end;self.value=typeof(r)=="table"and r or tostring(table.find(self.values,r)and r or self.values[1])a.flags[self.flag]=self.value;C.listvalue.Text=" "..(self.multiselect and a2()or self.value)if self.multiselect then for t,a8 in next,self.labels do a8.TextTransparency=self.value[t]and 1 or 0;if a8:FindFirstChild"TextLabel"then a8.TextLabel.Visible=self.value[t]end end else if a7 then a7.TextTransparency=0;if a7:FindFirstChild"TextLabel"then a7.TextLabel.Visible=false end end;if self.labels[self.value]then a7=self.labels[self.value]a7.TextTransparency=1;if a7:FindFirstChild"TextLabel"then a7.TextLabel.Visible=true end end end;if not N then self.callback(self.value)end end;delay(1,function()if a then C:SetValue(C.value)end end)function C:Close()a.popup=nil;C.arrow.Rotation=90;self.open=false;C.holder.Visible=false;C.listvalue.BorderColor3=Color3.new()end;return C end;local function aa(C,G)C.hasInit=true;C.main=a:Create("Frame",{LayoutOrder=C.position,Size=UDim2.new(1,0,0,C.text=="nil"and 28 or 44),BackgroundTransparency=1,Parent=G})if C.text~="nil"then C.title=a:Create("TextLabel",{Position=UDim2.new(0,6,0,0),Size=UDim2.new(1,-12,0,18),BackgroundTransparency=1,Text=C.text,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.fromRGB(210,210,210),TextXAlignment=Enum.TextXAlignment.Left,Parent=C.main})end;C.holder=a:Create("Frame",{Position=UDim2.new(0,6,0,C.text=="nil"and 4 or 20),Size=UDim2.new(1,-12,0,20),BackgroundColor3=Color3.fromRGB(50,50,50),BorderColor3=Color3.new(),Parent=C.main})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2454009026",ImageColor3=Color3.new(),ImageTransparency=0.8,Parent=C.holder})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.holder})a:Create("ImageLabel",{Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.holder})local ab=a:Create("TextBox",{Position=UDim2.new(0,4,0,0),Size=UDim2.new(1,-4,1,0),BackgroundTransparency=1,Text="  "..C.value,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),TextXAlignment=Enum.TextXAlignment.Left,TextWrapped=true,ClearTextOnFocus=false,Parent=C.holder})ab.FocusLost:connect(function(ac)C.holder.BorderColor3=Color3.new()C:SetValue(ab.Text,ac)end)ab.Focused:connect(function()C.holder.BorderColor3=a.flags["Menu Accent Color"]end)ab.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then ab.Text=""end;if L.UserInputType.Name=="MouseMovement"then if not a.warning and not a.slider then C.holder.BorderColor3=a.flags["Menu Accent Color"]end;if C.tip then a.tooltip.Text=C.tip;a.tooltip.Size=UDim2.new(0,textService:GetTextSize(C.tip,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X,0,20)end end end)ab.InputChanged:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if C.tip then a.tooltip.Position=UDim2.new(0,L.Position.X+26,0,L.Position.Y+36)end end end)ab.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if not ab:IsFocused()then C.holder.BorderColor3=Color3.new()end;a.tooltip.Position=UDim2.new(2)end end)function C:SetValue(r,ac)if tostring(r)==""then ab.Text=self.value else a.flags[self.flag]=tostring(r)self.value=tostring(r)ab.Text=self.value;self.callback(r,ac)end end;delay(1,function()if a then C:SetValue(C.value)end end)end;local function ad(C)C.mainHolder=a:Create("TextButton",{ZIndex=4,Size=UDim2.new(0,C.trans and 200 or 184,0,200),BackgroundColor3=Color3.fromRGB(40,40,40),BorderColor3=Color3.new(),AutoButtonColor=false,Visible=false,Parent=a.base})a:Create("ImageLabel",{ZIndex=4,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.mainHolder})a:Create("ImageLabel",{ZIndex=4,Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.mainHolder})local ae,af,ag=Color3.toHSV(C.color)ae,af,ag=ae==0 and 1 or ae,af+0.005,ag-0.005;local ah;local ai;local aj;local ak;if C.trans then ak=a:Create("ImageLabel",{ZIndex=5,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2454009026",ImageColor3=Color3.fromHSV(ae,1,1),Rotation=180,Parent=a:Create("ImageLabel",{ZIndex=4,AnchorPoint=Vector2.new(1,0),Position=UDim2.new(1,-6,0,6),Size=UDim2.new(0,10,1,-12),BorderColor3=Color3.new(),Image="rbxassetid://4632082392",ScaleType=Enum.ScaleType.Tile,TileSize=UDim2.new(0,5,0,5),Parent=C.mainHolder})})C.transSlider=a:Create("Frame",{ZIndex=5,Position=UDim2.new(0,0,C.trans,0),Size=UDim2.new(1,0,0,2),BackgroundColor3=Color3.fromRGB(38,41,65),BorderColor3=Color3.fromRGB(255,255,255),Parent=ak})ak.InputBegan:connect(function(al)if al.UserInputType.Name=="MouseButton1"then aj=true;C:SetTrans(1-(al.Position.Y-ak.AbsolutePosition.Y)/ak.AbsoluteSize.Y)end end)ak.InputEnded:connect(function(al)if al.UserInputType.Name=="MouseButton1"then aj=false end end)end;local am=a:Create("Frame",{ZIndex=4,AnchorPoint=Vector2.new(0,1),Position=UDim2.new(0,6,1,-6),Size=UDim2.new(1,C.trans and-28 or-12,0,10),BackgroundColor3=Color3.new(1,1,1),BorderColor3=Color3.new(),Parent=C.mainHolder})local an=a:Create("UIGradient",{Color=ColorSequence.new({ColorSequenceKeypoint.new(0,Color3.fromRGB(255,0,0)),ColorSequenceKeypoint.new(0.17,Color3.fromRGB(255,0,255)),ColorSequenceKeypoint.new(0.33,Color3.fromRGB(0,0,255)),ColorSequenceKeypoint.new(0.5,Color3.fromRGB(0,255,255)),ColorSequenceKeypoint.new(0.67,Color3.fromRGB(0,255,0)),ColorSequenceKeypoint.new(0.83,Color3.fromRGB(255,255,0)),ColorSequenceKeypoint.new(1,Color3.fromRGB(255,0,0))}),Parent=am})local ao=a:Create("Frame",{ZIndex=4,Position=UDim2.new(1-ae,0,0,0),Size=UDim2.new(0,2,1,0),BackgroundColor3=Color3.fromRGB(38,41,65),BorderColor3=Color3.fromRGB(255,255,255),Parent=am})am.InputBegan:connect(function(al)if al.UserInputType.Name=="MouseButton1"then ah=true;X=am.AbsolutePosition.X+am.AbsoluteSize.X-am.AbsolutePosition.X;X=math.clamp((al.Position.X-am.AbsolutePosition.X)/X,0,0.995)C:SetColor(Color3.fromHSV(1-X,af,ag))end end)am.InputEnded:connect(function(al)if al.UserInputType.Name=="MouseButton1"then ah=false end end)local ap=a:Create("ImageLabel",{ZIndex=4,Position=UDim2.new(0,6,0,6),Size=UDim2.new(1,C.trans and-28 or-12,1,-28),BackgroundColor3=Color3.fromHSV(ae,1,1),BorderColor3=Color3.new(),Image="rbxassetid://4155801252",ClipsDescendants=true,Parent=C.mainHolder})local aq=a:Create("Frame",{ZIndex=4,AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(af,0,1-ag,0),Size=UDim2.new(0,4,0,4),Rotation=45,BackgroundColor3=Color3.fromRGB(255,255,255),Parent=ap})ap.InputBegan:connect(function(al)if al.UserInputType.Name=="MouseButton1"then ai=true;X=ap.AbsolutePosition.X+ap.AbsoluteSize.X-ap.AbsolutePosition.X;Y=ap.AbsolutePosition.Y+ap.AbsoluteSize.Y-ap.AbsolutePosition.Y;X=math.clamp((al.Position.X-ap.AbsolutePosition.X)/X,0.005,1)Y=math.clamp((al.Position.Y-ap.AbsolutePosition.Y)/Y,0,0.995)C:SetColor(Color3.fromHSV(ae,X,1-Y))end end)a:AddConnection(inputService.InputChanged,function(al)if al.UserInputType.Name=="MouseMovement"then if ai then X=ap.AbsolutePosition.X+ap.AbsoluteSize.X-ap.AbsolutePosition.X;Y=ap.AbsolutePosition.Y+ap.AbsoluteSize.Y-ap.AbsolutePosition.Y;X=math.clamp((al.Position.X-ap.AbsolutePosition.X)/X,0.005,1)Y=math.clamp((al.Position.Y-ap.AbsolutePosition.Y)/Y,0,0.995)C:SetColor(Color3.fromHSV(ae,X,1-Y))elseif ah then X=am.AbsolutePosition.X+am.AbsoluteSize.X-am.AbsolutePosition.X;X=math.clamp((al.Position.X-am.AbsolutePosition.X)/X,0,0.995)C:SetColor(Color3.fromHSV(1-X,af,ag))elseif aj then C:SetTrans(1-(al.Position.Y-ak.AbsolutePosition.Y)/ak.AbsoluteSize.Y)end end end)ap.InputEnded:connect(function(al)if al.UserInputType.Name=="MouseButton1"then ai=false end end)function C:updateVisuals(ar)ae,af,ag=Color3.toHSV(ar)ae=ae==0 and 1 or ae;ap.BackgroundColor3=Color3.fromHSV(ae,1,1)if C.trans then ak.ImageColor3=Color3.fromHSV(ae,1,1)end;ao.Position=UDim2.new(1-ae,0,0,0)aq.Position=UDim2.new(af,0,1-ag,0)end;return C end;local function as(C,G)C.hasInit=true;if C.sub then C.main=C:getMain()else C.main=a:Create("Frame",{LayoutOrder=C.position,Size=UDim2.new(1,0,0,20),BackgroundTransparency=1,Parent=G})C.title=a:Create("TextLabel",{Position=UDim2.new(0,6,0,0),Size=UDim2.new(1,-12,1,0),BackgroundTransparency=1,Text=C.text,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.fromRGB(210,210,210),TextXAlignment=Enum.TextXAlignment.Left,Parent=C.main})end;C.visualize=a:Create(C.sub and"TextButton"or"Frame",{Position=UDim2.new(1,-(C.subpos or 0)-24,0,4),Size=UDim2.new(0,18,0,12),SizeConstraint=Enum.SizeConstraint.RelativeYY,BackgroundColor3=C.color,BorderColor3=Color3.new(),Parent=C.main})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2454009026",ImageColor3=Color3.new(),ImageTransparency=0.6,Parent=C.visualize})a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.visualize})a:Create("ImageLabel",{Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=C.visualize})local U=C.sub and C.visualize or C.main;if C.sub then C.visualize.Text=""C.visualize.AutoButtonColor=false end;U.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then if not C.mainHolder then ad(C)end;if a.popup==C then a.popup:Close()return end;if a.popup then a.popup:Close()end;C.open=true;local a6=C.main.AbsolutePosition;C.mainHolder.Position=UDim2.new(0,a6.X+36+(C.trans and-16 or 0),0,a6.Y+56)C.mainHolder.Visible=true;a.popup=C;C.visualize.BorderColor3=a.flags["Menu Accent Color"]end;if L.UserInputType.Name=="MouseMovement"then if not a.warning and not a.slider then C.visualize.BorderColor3=a.flags["Menu Accent Color"]end;if C.tip then a.tooltip.Text=C.tip;a.tooltip.Size=UDim2.new(0,textService:GetTextSize(C.tip,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X,0,20)end end end)U.InputChanged:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if C.tip then a.tooltip.Position=UDim2.new(0,L.Position.X+26,0,L.Position.Y+36)end end end)U.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseMovement"then if not C.open then C.visualize.BorderColor3=Color3.new()end;a.tooltip.Position=UDim2.new(2)end end)function C:SetColor(at,N)if typeof(at)=="table"then at=Color3.new(at[1],at[2],at[3])end;at=at or Color3.new(1,1,1)if self.mainHolder then self:updateVisuals(at)end;C.visualize.BackgroundColor3=at;a.flags[self.flag]=at;self.color=at;if not N then self.callback(at)end end;if C.trans then function C:SetTrans(r,au)r=math.clamp(tonumber(r)or 0,0,1)if self.transSlider then self.transSlider.Position=UDim2.new(0,0,r,0)end;self.trans=r;a.flags[self.flag.." Transparency"]=1-r;self.calltrans(r)end;C:SetTrans(C.trans)end;delay(1,function()if a then C:SetColor(C.color)end end)function C:Close()a.popup=nil;self.open=false;self.mainHolder.Visible=false;C.visualize.BorderColor3=Color3.new()end end;function a:AddTab(av,a6)local aw={canInit=true,columns={},title=tostring(av)}table.insert(self.tabs,a6 or#self.tabs+1,aw)function aw:AddColumn()local ax={sections={},position=#self.columns,canInit=true,tab=self}table.insert(self.columns,ax)function ax:AddSection(av)local ay={title=tostring(av),options={},canInit=true,column=self}table.insert(self.sections,ay)function ay:AddLabel(az)local C={text=az}C.section=self;C.type="label"C.position=#self.options;C.canInit=true;table.insert(self.options,C)if a.hasInit and self.hasInit then F(C,self.content)else C.Init=F end;return C end;function ay:AddDivider(az)local C={text=az}C.section=self;C.type="divider"C.position=#self.options;C.canInit=true;table.insert(self.options,C)if a.hasInit and self.hasInit then H(C,self.content)else C.Init=H end;return C end;function ay:AddToggle(C)C=typeof(C)=="table"and C or{}C.section=self;C.text=tostring(C.text)C.state=typeof(C.state)=="boolean"and C.state or false;C.callback=typeof(C.callback)=="function"and C.callback or function()end;C.type="toggle"C.position=#self.options;C.flag=(a.flagprefix and a.flagprefix.." "or"")..(C.flag or C.text)C.subcount=0;C.canInit=C.canInit~=nil and C.canInit or true;C.tip=C.tip and tostring(C.tip)C.style=C.style==2;a.flags[C.flag]=C.state;table.insert(self.options,C)a.options[C.flag]=C;function C:AddColor(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddColor(aA)end;function C:AddBind(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddBind(aA)end;function C:AddList(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddList(aA)end;function C:AddSlider(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddSlider(aA)end;if a.hasInit and self.hasInit then I(C,self.content)else C.Init=I end;return C end;function ay:AddButton(C)C=typeof(C)=="table"and C or{}C.section=self;C.text=tostring(C.text)C.callback=typeof(C.callback)=="function"and C.callback or function()end;C.type="button"C.position=#self.options;C.flag=(a.flagprefix and a.flagprefix.." "or"")..(C.flag or C.text)C.subcount=0;C.canInit=C.canInit~=nil and C.canInit or true;C.tip=C.tip and tostring(C.tip)table.insert(self.options,C)a.options[C.flag]=C;function C:AddBind(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()C.main.Size=UDim2.new(1,0,0,40)return C.main end;self.subcount=self.subcount+1;return ay:AddBind(aA)end;function C:AddColor(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()C.main.Size=UDim2.new(1,0,0,40)return C.main end;self.subcount=self.subcount+1;return ay:AddColor(aA)end;if a.hasInit and self.hasInit then O(C,self.content)else C.Init=O end;return C end;function ay:AddBind(C)C=typeof(C)=="table"and C or{}C.section=self;C.text=tostring(C.text)C.key=C.key and C.key.Name or C.key or"none"C.nomouse=typeof(C.nomouse)=="boolean"and C.nomouse or false;C.mode=typeof(C.mode)=="string"and(C.mode=="toggle"or C.mode=="hold"and C.mode)or"toggle"C.callback=typeof(C.callback)=="function"and C.callback or function()end;C.type="bind"C.position=#self.options;C.flag=(a.flagprefix and a.flagprefix.." "or"")..(C.flag or C.text)C.canInit=C.canInit~=nil and C.canInit or true;C.tip=C.tip and tostring(C.tip)table.insert(self.options,C)a.options[C.flag]=C;if a.hasInit and self.hasInit then P(C,self.content)else C.Init=P end;return C end;function ay:AddSlider(C)C=typeof(C)=="table"and C or{}C.section=self;C.text=tostring(C.text)C.min=typeof(C.min)=="number"and C.min or 0;C.max=typeof(C.max)=="number"and C.max or 0;C.value=C.min<0 and 0 or math.clamp(typeof(C.value)=="number"and C.value or C.min,C.min,C.max)C.callback=typeof(C.callback)=="function"and C.callback or function()end;C.float=typeof(C.value)=="number"and C.float or 1;C.suffix=C.suffix and tostring(C.suffix)or""C.textpos=C.textpos==2;C.type="slider"C.position=#self.options;C.flag=(a.flagprefix and a.flagprefix.." "or"")..(C.flag or C.text)C.subcount=0;C.canInit=C.canInit~=nil and C.canInit or true;C.tip=C.tip and tostring(C.tip)a.flags[C.flag]=C.value;table.insert(self.options,C)a.options[C.flag]=C;function C:AddColor(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddColor(aA)end;function C:AddBind(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddBind(aA)end;if a.hasInit and self.hasInit then _(C,self.content)else C.Init=_ end;return C end;function ay:AddList(C)C=typeof(C)=="table"and C or{}C.section=self;C.text=tostring(C.text)C.values=typeof(C.values)=="table"and C.values or{}C.callback=typeof(C.callback)=="function"and C.callback or function()end;C.multiselect=typeof(C.multiselect)=="boolean"and C.multiselect or false;C.value=C.multiselect and(typeof(C.value)=="table"and C.value or{})or tostring(C.value or C.values[1]or"")if C.multiselect then for x,E in next,C.values do C.value[E]=false end end;C.max=C.max or 4;C.open=false;C.type="list"C.position=#self.options;C.labels={}C.flag=(a.flagprefix and a.flagprefix.." "or"")..(C.flag or C.text)C.subcount=0;C.canInit=C.canInit~=nil and C.canInit or true;C.tip=C.tip and tostring(C.tip)a.flags[C.flag]=C.value;table.insert(self.options,C)a.options[C.flag]=C;function C:AddValue(r,M)if self.multiselect then self.values[r]=M else table.insert(self.values,r)end end;function C:AddColor(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddColor(aA)end;function C:AddBind(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddBind(aA)end;if a.hasInit and self.hasInit then a1(C,self.content)else C.Init=a1 end;return C end;function ay:AddBox(C)C=typeof(C)=="table"and C or{}C.section=self;C.text=tostring(C.text)C.value=tostring(C.value or"")C.callback=typeof(C.callback)=="function"and C.callback or function()end;C.type="box"C.position=#self.options;C.flag=(a.flagprefix and a.flagprefix.." "or"")..(C.flag or C.text)C.canInit=C.canInit~=nil and C.canInit or true;C.tip=C.tip and tostring(C.tip)a.flags[C.flag]=C.value;table.insert(self.options,C)a.options[C.flag]=C;if a.hasInit and self.hasInit then aa(C,self.content)else C.Init=aa end;return C end;function ay:AddColor(C)C=typeof(C)=="table"and C or{}C.section=self;C.text=tostring(C.text)C.color=typeof(C.color)=="table"and Color3.new(C.color[1],C.color[2],C.color[3])or C.color or Color3.new(1,1,1)C.callback=typeof(C.callback)=="function"and C.callback or function()end;C.calltrans=typeof(C.calltrans)=="function"and C.calltrans or C.calltrans==1 and C.callback or function()end;C.open=false;C.trans=tonumber(C.trans)C.subcount=1;C.type="color"C.position=#self.options;C.flag=(a.flagprefix and a.flagprefix.." "or"")..(C.flag or C.text)C.canInit=C.canInit~=nil and C.canInit or true;C.tip=C.tip and tostring(C.tip)a.flags[C.flag]=C.color;table.insert(self.options,C)a.options[C.flag]=C;function C:AddColor(aA)aA=typeof(aA)=="table"and aA or{}aA.sub=true;aA.subpos=self.subcount*24;function aA:getMain()return C.main end;self.subcount=self.subcount+1;return ay:AddColor(aA)end;if C.trans then a.flags[C.flag.." Transparency"]=C.trans end;if a.hasInit and self.hasInit then as(C,self.content)else C.Init=as end;return C end;function ay:SetTitle(aB)self.title=tostring(aB)if self.titleText then self.titleText.Text=tostring(aB)self.titleText.Size=UDim2.new(0,textService:GetTextSize(self.title,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X+10,0,3)end end;function ay:Init()if self.hasInit then return end;self.hasInit=true;self.main=a:Create("Frame",{BackgroundColor3=Color3.fromRGB(30,30,30),BorderColor3=Color3.new(),Parent=ax.main})self.content=a:Create("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=Color3.fromRGB(30,30,30),BorderColor3=Color3.fromRGB(60,60,60),BorderMode=Enum.BorderMode.Inset,Parent=self.main})a:Create("ImageLabel",{Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=self.main})table.insert(a.theme,a:Create("Frame",{Size=UDim2.new(1,0,0,1),BackgroundColor3=a.flags["Menu Accent Color"],BorderSizePixel=0,BorderMode=Enum.BorderMode.Inset,Parent=self.main}))local a4=a:Create("UIListLayout",{HorizontalAlignment=Enum.HorizontalAlignment.Center,SortOrder=Enum.SortOrder.LayoutOrder,Padding=UDim.new(0,2),Parent=self.content})a:Create("UIPadding",{PaddingTop=UDim.new(0,12),Parent=self.content})self.titleText=a:Create("TextLabel",{AnchorPoint=Vector2.new(0,0.5),Position=UDim2.new(0,12,0,0),Size=UDim2.new(0,textService:GetTextSize(self.title,15,Enum.Font.Code,Vector2.new(9e9,9e9)).X+10,0,3),BackgroundColor3=Color3.fromRGB(30,30,30),BorderSizePixel=0,Text=self.title,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),Parent=self.main})a4.Changed:connect(function()self.main.Size=UDim2.new(1,0,0,a4.AbsoluteContentSize.Y+16)end)for v,C in next,self.options do if C.canInit then C.Init(C,self.content)end end end;if a.hasInit and self.hasInit then ay:Init()end;return ay end;function ax:Init()if self.hasInit then return end;self.hasInit=true;self.main=a:Create("ScrollingFrame",{ZIndex=2,Position=UDim2.new(0,6+self.position*239,0,2),Size=UDim2.new(0,233,1,-4),BackgroundTransparency=1,BorderSizePixel=0,ScrollBarImageColor3=Color3.fromRGB(),ScrollBarThickness=4,VerticalScrollBarInset=Enum.ScrollBarInset.ScrollBar,ScrollingDirection=Enum.ScrollingDirection.Y,Visible=false,Parent=a.columnHolder})local a4=a:Create("UIListLayout",{HorizontalAlignment=Enum.HorizontalAlignment.Center,SortOrder=Enum.SortOrder.LayoutOrder,Padding=UDim.new(0,12),Parent=self.main})a:Create("UIPadding",{PaddingTop=UDim.new(0,8),PaddingLeft=UDim.new(0,2),PaddingRight=UDim.new(0,2),Parent=self.main})a4.Changed:connect(function()self.main.CanvasSize=UDim2.new(0,0,0,a4.AbsoluteContentSize.Y+14)end)for v,ay in next,self.sections do if ay.canInit and#ay.options>0 then ay:Init()end end end;if a.hasInit and self.hasInit then ax:Init()end;return ax end;function aw:Init()if self.hasInit then return end;self.hasInit=true;local aC=textService:GetTextSize(self.title,18,Enum.Font.Code,Vector2.new(9e9,9e9)).X+10;self.button=a:Create("TextLabel",{Position=UDim2.new(0,a.tabSize,0,22),Size=UDim2.new(0,aC,0,30),BackgroundTransparency=1,Text=self.title,TextColor3=Color3.new(1,1,1),TextSize=15,Font=Enum.Font.Code,TextWrapped=true,ClipsDescendants=true,Parent=a.main})a.tabSize=a.tabSize+aC;self.button.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then a:selectTab(self)end end)for v,ax in next,self.columns do if ax.canInit then ax:Init()end end end;if self.hasInit then aw:Init()end;return aw end;function a:AddWarning(aD)aD=typeof(aD)=="table"and aD or{}aD.text=tostring(aD.text)aD.type=aD.type=="confirm"and"confirm"or""local aE;function aD:Show()a.warning=aD;if aD.main and aD.type==""then return end;if a.popup then a.popup:Close()end;if not aD.main then aD.main=a:Create("TextButton",{ZIndex=2,Size=UDim2.new(1,0,1,0),BackgroundTransparency=0.6,BackgroundColor3=Color3.new(),BorderSizePixel=0,Text="",AutoButtonColor=false,Parent=a.main})aD.message=a:Create("TextLabel",{ZIndex=2,Position=UDim2.new(0,20,0.5,-60),Size=UDim2.new(1,-40,0,40),BackgroundTransparency=1,TextSize=16,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),TextWrapped=true,RichText=true,Parent=aD.main})if aD.type=="confirm"then local aF=a:Create("TextLabel",{ZIndex=2,Position=UDim2.new(0.5,-105,0.5,-10),Size=UDim2.new(0,100,0,20),BackgroundColor3=Color3.fromRGB(40,40,40),BorderColor3=Color3.new(),Text="Yes",TextSize=16,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),Parent=aD.main})a:Create("ImageLabel",{ZIndex=2,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2454009026",ImageColor3=Color3.new(),ImageTransparency=0.8,Parent=aF})a:Create("ImageLabel",{ZIndex=2,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=aF})local aG=a:Create("TextLabel",{ZIndex=2,Position=UDim2.new(0.5,5,0.5,-10),Size=UDim2.new(0,100,0,20),BackgroundColor3=Color3.fromRGB(40,40,40),BorderColor3=Color3.new(),Text="No",TextSize=16,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),Parent=aD.main})a:Create("ImageLabel",{ZIndex=2,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2454009026",ImageColor3=Color3.new(),ImageTransparency=0.8,Parent=aG})a:Create("ImageLabel",{ZIndex=2,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=aG})aF.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then aE=true end end)aG.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then aE=false end end)else local aF=a:Create("TextLabel",{ZIndex=2,Position=UDim2.new(0.5,-50,0.5,-10),Size=UDim2.new(0,100,0,20),BackgroundColor3=Color3.fromRGB(30,30,30),BorderColor3=Color3.new(),Text="OK",TextSize=16,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),Parent=aD.main})a:Create("ImageLabel",{ZIndex=2,Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2454009026",ImageColor3=Color3.new(),ImageTransparency=0.8,Parent=aF})a:Create("ImageLabel",{ZIndex=2,AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(0.5,0,0.5,0),Size=UDim2.new(1,-2,1,-2),BackgroundTransparency=1,Image="rbxassetid://3570695787",ImageColor3=Color3.fromRGB(50,50,50),Parent=aF})aF.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then aE=true end end)end end;aD.main.Visible=true;aD.message.Text=aD.text;repeat wait()until aE~=nil;spawn(aD.Close)a.warning=nil;return aE end;function aD:Close()aE=nil;if not aD.main then return end;aD.main.Visible=false end;return aD end;function a:Close()self.open=not self.open;if self.open then inputService.MouseIconEnabled=false else inputService.MouseIconEnabled=self.mousestate end;if self.main then if self.popup then self.popup:Close()end;self.main.Visible=self.open;self.cursor.Visible=self.open;self.cursor1.Visible=self.open end end;function a:Init()if self.hasInit then return end;self.hasInit=true;self.base=a:Create("ScreenGui",{IgnoreGuiInset=true})if runService:IsStudio()then self.base.Parent=script.Parent.Parent elseif syn and syn.request then syn.protect_gui(self.base)self.base.Parent=game:GetService"CoreGui"else self.base.Parent=gethui() end;self.main=self:Create("ImageButton",{AutoButtonColor=false,Position=UDim2.new(0,100,0,46),Size=UDim2.new(0,90,0,90),BackgroundColor3=Color3.fromRGB(20,20,20),BorderColor3=Color3.new(),ScaleType=Enum.ScaleType.Tile,Modal=true,Visible=false,Parent=self.base})local aH=self:Create("Frame",{Size=UDim2.new(1,0,0,50),BackgroundColor3=Color3.fromRGB(30,30,30),BorderColor3=Color3.new(),Parent=self.main})self:Create("TextLabel",{Position=UDim2.new(0,6,0,-1),Size=UDim2.new(0,0,0,20),BackgroundTransparency=1,Text=tostring(self.title),Font=Enum.Font.Code,TextSize=18,TextColor3=Color3.new(1,1,1),TextXAlignment=Enum.TextXAlignment.Left,Parent=self.main})table.insert(a.theme,self:Create("Frame",{Size=UDim2.new(1,0,0,1),Position=UDim2.new(0,0,0,24),BackgroundColor3=a.flags["Menu Accent Color"],BorderSizePixel=0,Parent=self.main}))a:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,ImageColor3=Color3.new(),ImageTransparency=0.4,Parent=aH})self.tabHighlight=self:Create("Frame",{BackgroundColor3=a.flags["Menu Accent Color"],BorderSizePixel=0,Parent=self.main})table.insert(a.theme,self.tabHighlight)self.columnHolder=self:Create("Frame",{Position=UDim2.new(0,5,0,55),Size=UDim2.new(1,-10,1,-60),BackgroundTransparency=1,Parent=self.main})self.cursor=self:Create("Triangle",{Color=Color3.fromRGB(180,180,180),Transparency=0.6})self.cursor1=self:Create("Triangle",{Color=Color3.fromRGB(240,240,240),Transparency=0.6})self.tooltip=self:Create("TextLabel",{ZIndex=2,BackgroundTransparency=1,BorderSizePixel=0,TextSize=15,Font=Enum.Font.Code,TextColor3=Color3.new(1,1,1),Visible=true,Parent=self.base})self:Create("Frame",{AnchorPoint=Vector2.new(0.5,0),Position=UDim2.new(0.5,0,0,0),Size=UDim2.new(1,10,1,0),Style=Enum.FrameStyle.RobloxRound,Parent=self.tooltip})self:Create("ImageLabel",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.fromRGB(60,60,60),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=self.main})self:Create("ImageLabel",{Size=UDim2.new(1,-2,1,-2),Position=UDim2.new(0,1,0,1),BackgroundTransparency=1,Image="rbxassetid://2592362371",ImageColor3=Color3.new(),ScaleType=Enum.ScaleType.Slice,SliceCenter=Rect.new(2,2,62,62),Parent=self.main})aH.InputBegan:connect(function(L)if L.UserInputType.Name=="MouseButton1"then f=self.main;b=true;d=L.Position;e=f.Position;if a.popup then a.popup:Close()end end end)aH.InputChanged:connect(function(L)if b and L.UserInputType.Name=="MouseMovement"then c=L end end)aH.InputEnded:connect(function(L)if L.UserInputType.Name=="MouseButton1"then b=false end end)function self:selectTab(aw)if self.currentTab==aw then return end;if a.popup then a.popup:Close()end;if self.currentTab then self.currentTab.button.TextColor3=Color3.fromRGB(255,255,255)for v,ax in next,self.currentTab.columns do ax.main.Visible=false end end;self.main.Size=UDim2.new(0,16+(#aw.columns<2 and 2 or#aw.columns)*239,0,600)self.currentTab=aw;aw.button.TextColor3=a.flags["Menu Accent Color"]self.tabHighlight:TweenPosition(UDim2.new(0,aw.button.Position.X.Offset,0,50),"Out","Quad",0.2,true)self.tabHighlight:TweenSize(UDim2.new(0,aw.button.AbsoluteSize.X,0,-1),"Out","Quad",0.1,true)for v,ax in next,aw.columns do ax.main.Visible=true end end;spawn(function()while a do wait(1)local aI=self:GetConfigs()pcall(function()for v,z in next,aI do if not table.find(self.options["Config List"].values,z)then self.options["Config List"]:AddValue(z)end end;for x,z in next,self.options["Config List"].values do if not table.find(aI,z)then self.options["Config List"]:RemoveValue(z)end end end)end end)for v,aw in next,self.tabs do if aw.canInit then aw:Init()self:selectTab(aw)end end;self:AddConnection(inputService.InputEnded,function(L)if L.UserInputType.Name=="MouseButton1"and self.slider then self.slider.slider.BorderColor3=Color3.new()self.slider=nil end end)self:AddConnection(inputService.InputChanged,function(L)if self.open then if L.UserInputType.Name=="MouseMovement"then if self.cursor then local aJ=inputService:GetMouseLocation()local aK=Vector2.new(aJ.X,aJ.Y)self.cursor.PointA=aK;self.cursor.PointB=aK+Vector2.new(12,12)self.cursor.PointC=aK+Vector2.new(12,12)self.cursor1.PointA=aK;self.cursor1.PointB=aK+Vector2.new(11,11)self.cursor1.PointC=aK+Vector2.new(11,11)end;if self.slider then self.slider:SetValue(self.slider.min+(L.Position.X-self.slider.slider.AbsolutePosition.X)/self.slider.slider.AbsoluteSize.X*(self.slider.max-self.slider.min))end end;if L==c and b and a.draggable then local aL=L.Position-d;local aM=e.Y.Offset+aL.Y<-36 and-36 or e.Y.Offset+aL.Y;f:TweenPosition(UDim2.new(e.X.Scale,e.X.Offset+aL.X,e.Y.Scale,aM),"Out","Quint",0.1,true)end end end)if not getgenv().silent then delay(1,function()self:Close()end)end end;
  13. end
  14.  
  15. assert(library.AddTab, "The UI Library failed initialisation.\nPlease contact a Developer.")
  16.  
  17. --local EspLibrary = loadstring(game:HttpGet("https://raw.githubusercontent.com/VoidMasterX/scripts/main/esp_library.lua"))()
  18. local EspLibrary = loadstring(game:HttpGet("https://ducksite.xyz/ceri/esp_library.lua"))()
  19. -- small fix to something
  20. EspLibrary.settings.enabled = false
  21. -- UId
  22. local AimbotTab = library:AddTab("Aimbot")
  23. local VisualsTab = library:AddTab("Visuals")
  24. local WeaponsTab = library:AddTab("Weapons")
  25. local MiscTab = library:AddTab("Misc")
  26. local SettingsTab = library:AddTab("Settings")
  27. local CreditsTab = library:AddTab("Info")
  28.  
  29. -- UI Columns (I hate the columns jan can k*s) how many columns hmm
  30. local AimbotColumn = AimbotTab:AddColumn()
  31. local VisualsColumn = VisualsTab:AddColumn()
  32. local VIsualsColumn2 = VisualsTab:AddColumn()
  33. local WeaponsColumn = WeaponsTab:AddColumn()
  34. local WeaponsColumn2 = WeaponsTab:AddColumn()
  35. local MiscColumn = MiscTab:AddColumn()
  36. local Misc2 = MiscTab:AddColumn()
  37. local SettingsColumn = SettingsTab:AddColumn()
  38. local CreditsColumn = CreditsTab:AddColumn()
  39.  
  40.  
  41. -- UI Sections (I f*cking hate this too)
  42. local AimbotSection = AimbotColumn:AddSection("Aimbot")
  43. local ESPSection = VisualsColumn:AddSection("Esp")
  44. local LightingSettings = VIsualsColumn2:AddSection("World")
  45. local Crosshair = VIsualsColumn2:AddSection("Crosshair")
  46. local WeaponsSection = WeaponsColumn:AddSection("Weapon Mods")
  47. local KnifeAura = WeaponsColumn2:AddSection("Knife Aura")
  48. local Grenades = WeaponsColumn2:AddSection("Grenades")
  49. local WeaponModel = WeaponsColumn:AddSection("Weapon Model")
  50. local MiscSection = MiscColumn:AddSection("Misc")
  51. local SettingsSection = SettingsColumn:AddSection("Settings")
  52. local CreditsSection = CreditsColumn:AddSection("Developer")
  53. local CreditsSection2 = CreditsColumn:AddSection("Special Credits")
  54. local CreditsSection3 = CreditsColumn:AddSection("UI Library")
  55. local CreditsSection4 = CreditsColumn:AddSection("Discord")
  56. local createConfigs = SettingsColumn:AddSection("Create Configs")
  57. local LoadConfigs = SettingsColumn:AddSection("Load Configs")
  58. local LibrarySettings = SettingsColumn:AddSection("Library Settings")
  59.  
  60. Grenades:AddToggle({
  61.     text = "Grenade TP",
  62.     flag = "GrenadeTP",
  63. }):AddSlider({
  64.     text = "Blow Up Time",
  65.     flag = "GrenadeBlowUpTime",
  66.     min = 0,
  67.     max = 5,
  68.     float = .002,
  69. })
  70.  
  71. MiscSection:AddToggle({
  72.     text = "Bunny Hop",
  73.     flag = "BunnyHop",
  74. }):AddSlider({
  75.     text = "Bunny Hop Speed",
  76.     flag = "BunnyHopSpeed",
  77.     min = 4,
  78.     max = 70,
  79. })
  80.  
  81. CreditsSection4:AddLabel("discord.gg/n99SfKPe9M")
  82. CreditsSection4:AddButton({
  83.     text = "Copy Invite",
  84.     callback = function()
  85.         setclipboard("https://discord.gg/n99SfKPe9M")
  86.     end,
  87. })
  88.  
  89. local Lighting = game:GetService("Lighting")
  90. local OldBrightness = Lighting.Brightness
  91. local OldAmbience = Lighting.Ambient
  92.  
  93.  
  94. WeaponModel:AddToggle({
  95.     text = "Rainbow Gun",
  96.     flag = "RainbowGun",
  97.     callback = function(value)
  98.         library.flags.RainbowGun = value
  99.     end,
  100. })
  101. WeaponModel:AddToggle({
  102.     text = "Gun Color [Ignore Rbow]",
  103.     flag = "GunColorOn",
  104.     callback = function(value)
  105.         library.flags.GunColorOn = value
  106.     end,
  107. })
  108. WeaponModel:AddColor({
  109.     text = "Gun Color",
  110.     flag = "GunColor",
  111.     callback = function(value)
  112.         library.flags.GunColor = value
  113.     end,
  114. })
  115. WeaponModel:AddToggle({
  116.     text = "Weapon Transparency",
  117.     flag = "WeaponTransparency",
  118.     callback = function(value)
  119.         library.flags.WeaponTransparency = value
  120.     end,
  121. })
  122. WeaponModel:AddSlider({
  123.     text = "Weapon Transparency",
  124.     flag = "WeaponTransparencyValue",
  125.     callback = function(value)
  126.         library.flags.WeaponTransparencyValue = value
  127.     end,
  128.     min = 0,
  129.     max = 1,
  130.     float = 0.001,
  131. })
  132. WeaponModel:AddToggle({
  133.     text = "Weapon Material On",
  134.     flag = "WeaponMaterial",
  135.     callback = function(value)
  136.         library.flags.WeaponMaterial = value
  137.     end,
  138. })
  139. WeaponModel:AddList({
  140.     text = "Weapon Material",
  141.     flag = "WeaponMaterialValue",
  142.     values = {
  143.         "Plastic",
  144.         "Wood",
  145.         "Slate",
  146.         "Concrete",
  147.         "CorrodedMetal",
  148.         "DiamondPlate",
  149.         "Foil",
  150.         "Grass",
  151.         "Ice",
  152.         "Marble",
  153.         "Granite",
  154.         "Brick",
  155.         "Pebble",
  156.         "Sand",
  157.         "Fabric",
  158.         "SmoothPlastic",
  159.         "Metal",
  160.         "WoodPlanks",
  161.         "Cobblestone",
  162.         "Neon",
  163.         "Glass",
  164.         "ForceField",
  165.     },
  166.     callback = function(value)
  167.         library.flags.WeaponMaterialValue = value
  168.     end,
  169. })
  170.  
  171.  
  172. LightingSettings:AddToggle({
  173.     text = "FullBright",
  174.     flag = "FullBright",
  175.     callback = function(value) library.flags.BrightnessOn = value end,
  176. })
  177.  
  178. LightingSettings:AddToggle({
  179.     text = 'Disco Mode',
  180.     flag = 'RainbowAmbience',
  181.     callback = function(value) library.flags.RainbowAmbience = value end,
  182. })
  183.  
  184. LightingSettings:AddToggle({
  185.     text = "Ambience",
  186.     flag = "Ambience",
  187.     callback = function(value) library.flags.Ambience = value end,
  188. })
  189. LightingSettings:AddColor({
  190.     text = "Ambience Color",
  191.     flag = "AmbienceColor",
  192.     callback = function(value)
  193.         if library.flags.Ambience then
  194.             Lighting.Ambient = library.flags.AmbienceColor
  195.         end
  196.     end,
  197. })
  198.  
  199. LibrarySettings:AddColor({
  200.     text = "Accent Color",
  201.     flag = "Menu Accent Color",
  202.     callback = function(value)
  203.         library.flags["Menu Accent Color"] = value
  204.     end,
  205. })
  206.  
  207. LoadConfigs:AddList({
  208.     text = "Configs",
  209.     skipflag = true,
  210.     value = "",
  211.     flag = "Config List",
  212.     values = library:GetConfigs()
  213. })
  214. createConfigs:AddBox({text = "Config Name", skipflag = true});
  215. createConfigs:AddButton({
  216.     text = "Create",
  217.     callback = function()
  218.         library:GetConfigs()
  219.         writefile(library.foldername .. "/" .. library.flags['Config Name'] .. library.fileext , "{}")
  220.         library.options['Config List']:AddValue(library.flags['Config Name'])
  221.         library:SaveConfig(library.flags['Config List'])
  222.     end,
  223. })
  224. LoadConfigs:AddButton({
  225.     text = "Load",
  226.     callback = function()
  227.         library:LoadConfig(library.flags['Config List'])
  228.     end,
  229. })
  230. WeaponsSection:AddToggle({
  231.     text = "No Gun Animations",
  232.     flag = "NoAnim",
  233.     callback = function(value) library.flags.NoAnim = value end
  234. })
  235. LoadConfigs:AddButton({
  236.     text = "Save",
  237.     callback = function()
  238.         library:SaveConfig(library.flags['Config List'])
  239.     end,
  240. })
  241. LoadConfigs:AddButton({
  242.     text = "Delete",
  243.     callback = function()
  244.         delfile(library.foldername .. "/" .. library.flags['Config List'] .. library.fileext)
  245.     end,
  246. })
  247. LoadConfigs:AddButton({
  248.     text = "Set Default",
  249.     callback = function()
  250.         library:GetConfigs()
  251.         writefile(library.foldername .. "/" .. "default" .. library.fileext , "{}")
  252.         library.options['Config List']:AddValue("default")
  253.         library:SaveConfig("default")
  254.     end,
  255. })
  256.  
  257. WeaponsSection:AddToggle({
  258.     text = "No Gun Bob",
  259.     flag = "NoGunBob",
  260.     callback = function(value)
  261.         library.flags.NoGunBob = value
  262.     end,
  263. })
  264.  
  265. MiscSection:AddToggle({
  266.     text = "Custom Walkspeed",
  267.     flag = "WalkspeedOn",
  268.     callback = function(value)
  269.         library.flags.WalkspeedOn = value
  270.     end,
  271. }):AddSlider({
  272.     text = "Walkspeed",
  273.     flag = "Walkspeed",
  274.     min = 10,
  275.     max = 70,
  276.     callback = function(value)
  277.         library.flags.Walkspeed = value
  278.     end,
  279. })
  280.  
  281. MiscSection:AddToggle({
  282.     text = "Custom Jump Power",
  283.     flag = "JumpPowerOn",
  284.     callback = function(value)
  285.         library.flags.JumpPowerOn = value
  286.     end,
  287. }):AddSlider({
  288.     text = "JumpPower",
  289.     flag = "JumpPower",
  290.     min = 2,
  291.     max = 80,
  292.     callback = function(value)
  293.         library.flags.JumpPower = value
  294.     end,
  295. })
  296.  
  297.  
  298. MiscSection:AddToggle({
  299.     text = "No Fall Damage",
  300.     flag = "NoFallDamage",
  301.     callback = function(value)
  302.         library.flags.NoFallDamage = value
  303.     end,
  304. })
  305.  
  306. MiscSection:AddToggle({
  307.     text = "Kill Say",
  308.     flag = "KillSay",
  309. })
  310. MiscSection:AddBox({
  311.     text = "Kill Say Message",
  312.     flag = "KillSayMsg",
  313.     value = "Shows: msg..playername"
  314. })
  315.  
  316. MiscSection:AddToggle({
  317.     text = "Hitbox Extender",
  318.     flag = "HitboxExtender",
  319. }):AddSlider({
  320.     text = "Hitbox Extender",
  321.     flag = "HitboxExtenderValue",
  322.     min = 0,
  323.     max = 5,
  324.     callback = function(value)
  325.         library.flags.HitboxExtenderValue = value
  326.     end,
  327. })
  328.  
  329. WeaponsSection:AddToggle({
  330.     text = "Spread Modifier",
  331.     flag = "SpreadReduce",
  332.     callback = function(value)
  333.         library.flags.SpreadReduce = value
  334.     end,
  335. }):AddSlider({
  336.     text = "Spread %",
  337.     flag = "SpreadReduceValue",
  338.     min = 0,
  339.     max = 1,
  340.     float = 0.001,
  341. })
  342.  
  343. WeaponsSection:AddToggle({
  344.     text = "Enable Recoil",
  345.     flag = "RecoilOn",
  346.     callback = function(value)
  347.         library.flags.RecoilOn = value
  348.     end,
  349. })
  350. WeaponsSection:AddToggle({
  351.     text = "Custom Reload Speed",
  352.     flag = "CustomReloadSpeed",
  353.     callback = function(value) CustomReloadSpeed = value end,
  354. })
  355. WeaponsSection:AddToggle({
  356.     text = "Custom Firerate",
  357.     flag = "CustomFirerate",
  358.     callback = function(value) CustomFirerate = value end,  
  359. })
  360. WeaponsSection:AddSlider({
  361.     text = "Recoil %",
  362.     flag = "NoRecoil",
  363.     min = 0,
  364.     max = 1,
  365.     float = .001,
  366.     callback = function(value)
  367.         library.flags.NoRecoil = value
  368.     end,
  369. })
  370. WeaponsSection:AddSlider({
  371.     text = "Reload Speed",
  372.     flag = "ReloadSpeed",
  373.     min = 0,
  374.     max = 1,
  375.     float = .001,
  376.     callback = function(value)
  377.         library.flags.ReloadSpeed = value
  378.     end,
  379. })
  380.  
  381. WeaponsSection:AddSlider({
  382.     text = "Firerate addition",
  383.     flag = "FirerateAdition",
  384.     min = 0,
  385.     max = 2000, -- why would you even go to 2000?
  386.     callback = function(value)
  387.         library.flags.FirerateAdition = value
  388.     end,
  389. })
  390.  
  391.  
  392. KnifeAura:AddToggle({
  393.     text = "Enabled",
  394.     flag = "KnifeAura",
  395. }):AddSlider({
  396.     text = "Distance",
  397.     flag = "KnifeAuraDistance",
  398.     min = 1,
  399.     max = 25,
  400. })
  401.  
  402. KnifeAura:AddToggle({
  403.     text = "Held Only",
  404.     flag = "KnifeAuraHeld",
  405. })
  406.  
  407. CreditsSection:AddLabel("Made by: duck#1337")
  408. CreditsSection2:AddLabel("People who helped:\ninteger#1993\nsiper#9938\niRay#1488 [Extreme racist]")
  409. CreditsSection3:AddLabel("UI: Jans Library that I\ntotally got permission to\nuse")
  410.  
  411. ESPSection:AddToggle({
  412.     text = "Enabled",
  413.     state = true,
  414.     callback = function(state)
  415.         EspLibrary.settings.enabled = state
  416.     end
  417. }):AddSlider({
  418.     text = "Refresh Rate",
  419.     min = 0,
  420.     max = 1000,
  421.     value = 5,
  422.     suffix = "ms",
  423.     callback = function(state)
  424.         EspLibrary.settings.refreshrate = state
  425.     end
  426. })
  427.  
  428. ESPSection:AddToggle({
  429.     text = "Team Check",
  430.     state = false,
  431.     callback = function(state)
  432.         EspLibrary.settings.teamcheck = state
  433.     end
  434. })
  435.  
  436. ESPSection:AddToggle({
  437.     text = "Team Color",
  438.     state = true,
  439.     callback = function(state)
  440.         EspLibrary.settings.teamcolor = state
  441.     end
  442. })
  443.  
  444. ESPSection:AddToggle({
  445.     text = "Names",
  446.     state = true,
  447.     callback = function(state)
  448.         EspLibrary.settings.names = state
  449.     end
  450. }):AddColor({
  451.     color = Color3.new(1, 1, 1),
  452.     callback = function(state)
  453.         EspLibrary.settings.namescolor = state
  454.     end
  455. })
  456.  
  457.  
  458. ESPSection:AddToggle({
  459.     text = "Names Outline",
  460.     state = false,
  461.     callback = function(state)
  462.         EspLibrary.settings.namesoutline = state
  463.     end
  464. })
  465.  
  466. ESPSection:AddToggle({
  467.     text = "Distance",
  468.     state = true,
  469.     callback = function(state)
  470.         EspLibrary.settings.distance = state
  471.     end
  472. }):AddColor({
  473.     color = Color3.new(1, 1, 1),
  474.     callback = function(state)
  475.         EspLibrary.settings.distancecolor = state
  476.     end
  477. })
  478.  
  479. ESPSection:AddToggle({
  480.     text = "Distance Outline",
  481.     state = false,
  482.     callback = function(state)
  483.         EspLibrary.settings.distanceoutline = state
  484.     end
  485. })
  486.  
  487. ESPSection:AddToggle({
  488.     text = "Boxes",
  489.     state = true,
  490.     callback = function(state)
  491.         EspLibrary.settings.boxes = state
  492.     end
  493. }):AddColor({
  494.     color = Color3.new(1, 1, 1),
  495.     callback = function(state)
  496.         EspLibrary.settings.boxescolor = state
  497.     end
  498. })
  499.  
  500. ESPSection:AddToggle({
  501.     text = "Boxes Outline",
  502.     state = false,
  503.     callback = function(state)
  504.         EspLibrary.settings.boxesoutline = state
  505.     end
  506. })
  507.  
  508. ESPSection:AddToggle({
  509.     text = "Boxes Fill",
  510.     state = false,
  511.     callback = function(state)
  512.         EspLibrary.settings.boxesfill = state
  513.     end
  514. }):AddColor({
  515.     color = Color3.new(1, 1, 1),
  516.     trans = 0.5,
  517.     flag = "boxesfillclr",
  518.     callback = function(state)
  519.         EspLibrary.settings.boxesfillcolor = state
  520.         EspLibrary.settings.boxesfilltrans = library.flags["boxesfillclr Transparency"]
  521.     end
  522. })
  523.  
  524. local Healthbars = ESPSection:AddToggle({
  525.     text = "Healthbars",
  526.     state = false,
  527.     callback = function(state)
  528.         EspLibrary.settings.healthbars = state
  529.     end
  530. })
  531.  
  532. Healthbars:AddColor({
  533.     color = Color3.new(0, 1, 0),
  534.     callback = function(state)
  535.         EspLibrary.settings.healthbarscolor = state
  536.     end
  537. })
  538.  
  539. Healthbars:AddSlider({
  540.     text = "X Offset",
  541.     min = 0,
  542.     max = 10,
  543.     value = 2,
  544.     callback = function(state)
  545.         EspLibrary.settings.healthbarsoffset = state
  546.     end
  547. })
  548.  
  549. ESPSection:AddToggle({
  550.     text = "Healthbars Outline",
  551.     state = false,
  552.     callback = function(state)
  553.         EspLibrary.settings.healthbarsoutline = state
  554.     end
  555. })
  556.  
  557. local Tracers = ESPSection:AddToggle({
  558.     text = "Tracers",
  559.     state = false,
  560.     callback = function(state)
  561.         EspLibrary.settings.tracers = state
  562.     end
  563. })
  564.  
  565. Tracers:AddColor({
  566.     color = Color3.new(1, 1, 1),
  567.     callback = function(state)
  568.         EspLibrary.settings.tracerscolor = state
  569.     end
  570. })
  571.  
  572. Tracers:AddList({
  573.     values = { "Top", "Left", "Right", "Bottom", "Center", "Mouse" },
  574.     value = "Bottom",
  575.     callback = function(state)
  576.         EspLibrary.settings.tracersorigin = state
  577.     end
  578. })
  579.  
  580. ESPSection:AddList({
  581.     text = "Text Font",
  582.     values = { "UI", "System", "Plex", "Monospace" },
  583.     value = "UI",
  584.     callback = function(state)
  585.         EspLibrary.settings.textfont = Drawing.Fonts[state]
  586.     end
  587. })
  588.  
  589. ESPSection:AddSlider({
  590.     text = "Text Font Size",
  591.     min = 13,
  592.     max = 18,
  593.     value = 18,
  594.     suffix = "px",
  595.     callback = function(state)
  596.         EspLibrary.settings.textsize = state
  597.     end
  598. })
  599.  
  600. Crosshair:AddToggle({
  601.     text = "Enabled",
  602.     flag = "crosshairOn",
  603.     callback = function(value)
  604.         library.flags.crosshairOn = value
  605.     end,
  606. })
  607. Crosshair:AddSlider({
  608.     text = "Size",
  609.     flag = "crosshairSize",
  610.     min = 1,
  611.     max = 50,
  612.     callback = function(value)
  613.         library.flags.crosshairSize = value
  614.     end,
  615. })
  616. Crosshair:AddSlider({
  617.     text = "Transparency",
  618.     flag = "crosshairTransparency",
  619.     min = 0,
  620.     max = 1,
  621.     float = .1,
  622.     callback = function(value)
  623.         library.flags.crosshairTransparency = value
  624.     end,
  625. })
  626.  
  627.  
  628. Crosshair:AddColor({
  629.     text = "Color",
  630.     flag = "crosshairColor",
  631.     callback = function(value)
  632.         library.flags.crosshairColor = value
  633.     end,
  634. })
  635.  
  636. SettingsSection:AddBind({
  637.     text = "Toggle UI",
  638.     key = "RightShift",
  639.     callback = function() library:Close() end,
  640. })
  641.  
  642. AimbotSection:AddToggle({
  643.     text = "Enabled",
  644.     flag = "AimbotOn",
  645.     callback = function(value)
  646.         library.flags.AimbotOn = value
  647.     end,
  648. })
  649.  
  650. AimbotSection:AddList({
  651.     text = "Aimbot Mode",
  652.     flag = "AimbotMode",
  653.     values = {
  654.         "Silent",
  655.         "Mouse",
  656.     },
  657. })
  658. AimbotSection:AddSlider({
  659.     text = "Silent Aim Headshot %",
  660.     flag = "SilentAimHeadshotChance",
  661.     min = 0,
  662.     max = 100,
  663. })
  664.  
  665. AimbotSection:AddToggle({
  666.     text = "Visible Check",
  667.     flag = "VisibleCheck",
  668.     callback = function(value)
  669.         library.flags.VisibleCheck = value
  670.     end,
  671. })
  672. AimbotSection:AddToggle({
  673.     text = "Highlight Target",
  674.     flag = "HighlightTarget",
  675.     callback = function(value)
  676.         EspLibrary.settings.aimtarget_on = value
  677.     end,
  678. }):AddColor({
  679.     flag = "aimtarget_color",
  680.     callback = function(value)
  681.         EspLibrary.settings.aimtarget_color = value
  682.     end,
  683. })
  684.  
  685. AimbotSection:AddToggle({
  686.     text = "Show FOV",
  687.     flag = "ShowFOV",
  688.     callback = function(value)
  689.         library.flags.ShowFOV = value
  690.     end,
  691. })
  692. AimbotSection:AddToggle({
  693.     text = "FOV Follow Barrel",
  694.     flag = "FOVFollowBarrel",
  695.     callback = function(value)
  696.         library.flags.FOVFollowBarrel = value
  697.     end,
  698. })
  699. AimbotSection:AddSlider({
  700.     text = "FOV",
  701.     flag = "FOV",
  702.     min = 5,
  703.     max = 600,
  704.     callback = function(value)
  705.         library.flags.FOV = value
  706.     end,
  707. })
  708. AimbotSection:AddSlider({
  709.     text = "FOV Transparency",
  710.     flag = "FOVTransparency",
  711.     min = 0,
  712.     max = 1,
  713.     float = .001,
  714.     callback = function(value)
  715.         library.flags.FOVTransparency = value
  716.     end,
  717. })
  718. AimbotSection:AddSlider({
  719.     text = "FOV Lines",
  720.     flag = "FOVRadius",
  721.     min = 4,
  722.     max = 60,
  723.     value = 15,
  724.     callback = function(value)
  725.         library.flags.FOVRadius = value
  726.     end,
  727. })
  728. library.flags.FOVRadius = 15
  729. AimbotSection:AddSlider({
  730.     text = "FOV Circle Thickness",
  731.     flag = "FOVThickness",
  732.     min = 1,
  733.     max = 20,
  734.     callback = function(value)
  735.         library.flags.FOVThickness = value
  736.     end,
  737. })
  738. AimbotSection:AddSlider({
  739.     text = "Smoothness",
  740.     flag = "AimSmoothness",
  741.     min = 2,
  742.     max = 80,
  743.     float = .01,
  744.     callback = function(value)
  745.         library.flags.AimSmoothness = value
  746.     end,
  747. })
  748. AimbotSection:AddColor({
  749.     text = "FOV Color",
  750.     flag = "FOVColor",
  751.     value = Color3.fromRGB(255, 255, 255),
  752.     callback = function(value)
  753.         library.flags.FOVColor = value
  754.     end,
  755. })
  756. AimbotSection:AddList({
  757.     text = "Target Part",
  758.     flag = "TargetPart",
  759.     values = {
  760.         "Head",
  761.         "Torso",
  762.         "Left Leg",
  763.         "Right Leg",
  764.         "Left Arm",
  765.         "Right Arm",
  766.         "Random",
  767.     },
  768.     value = "Head",
  769.     callback = function(value)
  770.         library.flags.TargetPart = value
  771.     end,
  772. })
  773. library.flags.TargetPart = "Head"
  774.  
  775.  
  776. AimbotSection:AddList({
  777.     text = "Aim Key",
  778.     values = {
  779.         "Left Mouse Button",
  780.         "Right Mouse Button",
  781.     },
  782.     value = "Right Mouse Button",
  783.     flag = "AimKey",
  784.     callback = function(value)
  785.         if value == "Left Mouse Button" then
  786.             library.flags.AimKey = Enum.UserInputType.MouseButton1
  787.         elseif value == "Right Mouse Button" then
  788.             library.flags.AimKey = Enum.UserInputType.MouseButton2
  789.         end
  790.     end,
  791. })
  792. library.flags.AimKey = Enum.UserInputType.MouseButton2
  793.  
  794. AimbotSection:AddDivider()
  795.  
  796.  
  797. -- Services
  798. local Players = game:GetService("Players")
  799. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  800. local UserInputService = game:GetService("UserInputService")
  801. local RunService = game:GetService("RunService")
  802.  
  803. -- Cache
  804. local LocalPlayer = Players.LocalPlayer
  805. local Mouse = LocalPlayer:GetMouse()
  806. local Camera = workspace.CurrentCamera
  807. local ViewportCenter = Camera.ViewportSize/2
  808. library.flags.Closest = nil
  809. -- Libraries
  810. getgenv().Libraries = loadstring(game:HttpGet("https://ducksite.xyz/ceri/libraries.lua"))()
  811. getgenv().Hooks = Libraries.Hooks
  812. getgenv().DrawingObjectManager = Libraries.Drawings
  813.  
  814. animations = {}
  815.  
  816. -- Framework
  817. getgenv().client = {}; do
  818.     local gc = getgc(true)  
  819.     for i = #gc, 1, -1 do
  820.         local v = gc[i]
  821.         local type = type(v)
  822.         if type == 'function' then
  823.             --if debug.getinfo(v).name == "loadmodules" then
  824.                 client.loadmodules = v
  825.             --end
  826.         end
  827.         if type == "table" then
  828.             if (rawget(v, 'send')) then
  829.                 client.network = v
  830.             elseif (rawget(v, 'basecframe')) then
  831.                 client.camera = v
  832.             elseif (rawget(v, "gammo")) then
  833.                 client.gamelogic = v
  834.             elseif (rawget(v, "getbodyparts")) then
  835.                 client.replication = v
  836.                 client.replication.bodyparts = debug.getupvalue(client.replication.getbodyparts, 1)
  837.             elseif (rawget(v, "updateammo")) then
  838.                 client.hud = v
  839.             elseif (rawget(v, "setbasewalkspeed")) then
  840.                 client.char = v
  841.             elseif (rawget(v, "getscale")) then
  842.                 client.uiscaler = v
  843.             end
  844.             if rawget(v, 'player') then
  845.                 print("Got animation")
  846.                 table.insert(animations, v)
  847.             end
  848.         end
  849.     end
  850. end
  851.  
  852. local ChatGame = LocalPlayer.PlayerGui:WaitForChild("ChatGame")
  853. local GlobalChat = ChatGame:WaitForChild("GlobalChat")
  854. local MsgerMain = ReplicatedStorage.Misc:WaitForChild("MsgerMain")
  855.  
  856. function client:console(Message)
  857.     local Msger = MsgerMain:Clone()
  858.     Msger.Text = "[Ceri]: "
  859.     Msger.TextColor3 = Color3.fromRGB(255, 100, 120)
  860.     Msger.Msg.Text = Message
  861.     Msger.Parent = GlobalChat
  862.     Msger.Msg.Position = UDim2.new(0, Msger.TextBounds.x / client.uiscaler.getscale(), 0, 0)
  863. end
  864.  
  865. client:console("Script loading, be patient...")
  866. if identifyexecutor then
  867.     executor = identifyexecutor():lower()
  868.     local supported = false
  869.     if executor:find("ware") then
  870.         supported = true
  871.     elseif executor:find("synapse") then
  872.         supported = true
  873.     elseif executor:find("krnl") then
  874.         supported = true
  875.     elseif executor:find("jjsploit" or "jjs") then
  876.         supported = true
  877.     end
  878.     if not supported then
  879.         supported = true
  880.     end
  881. end
  882. -- !! CANCER BELOW !! --
  883. c_assert = function(val,msg)
  884.     if val == nil then
  885.         LocalPlayer:Kick(msg)
  886.     end
  887. end
  888.  
  889. c_assert(client.network, "Could not find network module\nReport this to a developer.")
  890. c_assert(client.camera, "Could not find camera module\nReport this to a developer.")
  891. c_assert(client.gamelogic, "Could not find gamelogic module\nReport this to a developer.")
  892. c_assert(client.replication, "Could not find replication module\nReport this to a developer.")
  893. c_assert(client.hud, "Could not find hud module\nReport this to a developer.")
  894. c_assert(client.char, "Could not find char module")
  895. c_assert(client.loadmodules, "Could not find loadmodules function\nReport this to a developer.")
  896. c_assert(client.replication.bodyparts, "Could not find bodyparts table\nReport this to a developer.")
  897. -- !! CANCER OVER !! --
  898.  
  899. -- Functions
  900. function client:IsAlive(player)
  901.     if client.replication.bodyparts[player] and client.replication.bodyparts[player].head then
  902.         return true
  903.     end
  904.     return false
  905. end
  906.  
  907. function client:getplayerhealth(player)
  908.     return client.hud:getplayerhealth(player) --whats so hard about typing .hud extra | stfu
  909. end
  910.  
  911. function client:HasProperty(Object, Property)
  912.     local success, error = pcall(function()
  913.         local a = Object[Property]
  914.     end)
  915.     return success
  916. end
  917.  
  918. function client:GetGun()
  919.     for i,v in pairs(Camera:GetChildren()) do
  920.         if client.char.alive then
  921.             if v.Name == client.gamelogic.currentgun.name then
  922.                 return v
  923.             end
  924.         end
  925.     end
  926.     return nil
  927. end
  928.  
  929. function client:IsVisible(player)
  930.     if client:IsAlive(player) and client.replication.bodyparts[player] then
  931.         local HeadPos = client.replication.bodyparts[player].head.Position
  932.         local Hit = workspace:FindPartOnRayWithIgnoreList(Ray.new(Camera.CFrame.p, HeadPos - Camera.CFrame.p), {
  933.             workspace.Ignore,
  934.             workspace.Players,
  935.             workspace.Terrain,
  936.             Camera
  937.         })
  938.         return Hit == nil
  939.     end
  940.     return false
  941. end
  942.  
  943. function client:GetCorners(Size, CF)
  944.     local Corners = {}
  945.     Corners["TopLeft"] = (CF * CFrame.new(Size.X, Size.Y, 0)).p
  946.     Corners["TopRight"] = (CF * CFrame.new(-Size.X, Size.Y, 0)).p
  947.     Corners["BottomLeft"] = (CF * CFrame.new(Size.X, -Size.Y, 0)).p
  948.     Corners["BottomRight"] = (CF * CFrame.new(-Size.X, -Size.Y, 0)).p
  949.     return Corners
  950. end
  951.  
  952. function client:GetBoundingBox(Bodyparts)
  953.     local Size = Bodyparts.torso.Size * Vector3.new(1, 1.5)
  954.     local BoxCorners = self:GetCorners(Size, Bodyparts.torso.CFrame)
  955.  
  956.     return {
  957.         TopLeft = Camera:WorldToViewportPoint(BoxCorners.TopLeft),
  958.         TopRight = Camera:WorldToViewportPoint(BoxCorners.TopRight),
  959.         BottomLeft = Camera:WorldToViewportPoint(BoxCorners.BottomLeft),
  960.         BottomRight = Camera:WorldToViewportPoint(BoxCorners.BottomRight),
  961.     }
  962. end
  963.  
  964.  
  965. function client:HandleChams(player)
  966.     RunService:BindToRenderStep("Chams", 1, function()
  967.        
  968.     end)
  969. end
  970.  
  971.  
  972. function client:CreateCrosshairRenderstep()
  973.     local Vertical = DrawingObjectManager:NewDrawing("Crosshair_1", "Line")
  974.     local Horizontal = DrawingObjectManager:NewDrawing("Crosshair_2", "Line")
  975.  
  976.     RunService:BindToRenderStep("Crosshair", 1, function()
  977.         Vertical.Visible = library.flags.crosshairOn
  978.         Horizontal.Visible = library.flags.crosshairOn
  979.         Vertical.Color = library.flags.crosshairColor
  980.         Horizontal.Color = library.flags.crosshairColor
  981.         Vertical.Transparency = library.flags.crosshairTransparency
  982.         Horizontal.Transparency = library.flags.crosshairTransparency
  983.  
  984.         Vertical.From = Vector2.new(ViewportCenter.X, ViewportCenter.Y - library.flags.crosshairSize)
  985.         Vertical.To = Vector2.new(ViewportCenter.X, ViewportCenter.Y + library.flags.crosshairSize)
  986.         Horizontal.From = Vector2.new(ViewportCenter.X - library.flags.crosshairSize, ViewportCenter.Y)
  987.         Horizontal.To = Vector2.new(ViewportCenter.X + library.flags.crosshairSize, ViewportCenter.Y)
  988.     end)
  989. end
  990.  
  991. function client:PredictMovement(player, strength)
  992.     if client:IsAlive(player) then
  993.    
  994.     end
  995. end
  996.  
  997. function client:PlayerOnScreen(player)
  998.     if client:IsAlive(player) then
  999.         local Pos, OnScreen = Camera:WorldToViewportPoint(client.replication.bodyparts[player].head.Position)
  1000.         local RealMouseLocation = UserInputService:GetMouseLocation()
  1001.         local Distance = library.flags.FOV
  1002.         local IsInFOV = false
  1003.         local Dist = (Vector2.new(Pos.X, Pos.Y) - Vector2.new(RealMouseLocation.X, RealMouseLocation.Y)).Magnitude
  1004.         if Dist < Distance then
  1005.             Distance = Dist
  1006.             IsInFOV = true
  1007.         end
  1008.         return {OnScreen = OnScreen, IsInFOV = IsInFOV}
  1009.     end
  1010. end
  1011.  
  1012. function client:InitAimbot()
  1013.     local MouseDown = false
  1014.     UserInputService.InputBegan:Connect(function(key)
  1015.         if key.UserInputType == library.flags.AimKey then
  1016.             MouseDown = true
  1017.         end
  1018.     end)
  1019.  
  1020.     UserInputService.InputEnded:Connect(function(key)
  1021.         if key.UserInputType == library.flags.AimKey then
  1022.             MouseDown = false
  1023.         end
  1024.     end)
  1025.  
  1026.     local Circle = DrawingObjectManager:NewDrawing("Aimbot_Circle", "Circle")
  1027.     local Closest
  1028.     local ClosestPosition
  1029.     local OnScreen, ScreenPos = nil,nil
  1030.     RunService:BindToRenderStep("Aimbot", 1, function()
  1031.         CharAlive = client.char.alive
  1032.         if client.gamelogic.currentgun and client.gamelogic.currentgun.barrel then
  1033.             Barrel = client.gamelogic.currentgun.barrel
  1034.         else
  1035.             Barrel = nil
  1036.         end
  1037.         Circle.NumSides = library.flags.FOVRadius
  1038.         Circle.Thickness = library.flags.FOVThickness
  1039.         Circle.Color = library.flags.FOVColor
  1040.         Circle.Radius = library.flags.FOV
  1041.         Circle.Transparency = library.flags.FOVTransparency
  1042.         Circle.Color = library.flags.FOVColor
  1043.         Circle.Visible = library.flags.ShowFOV
  1044.         if client.char.alive and client.gamelogic.currentgun and client.gamelogic.currentgun.barrel then
  1045.             if library.flags.FOVFollowBarrel then
  1046.                 local Pos, OnScreen = Camera:WorldToViewportPoint(client.gamelogic.currentgun.barrel.CFrame * Vector3.new(0, 0, -10))
  1047.                 Circle.Position = Vector2.new(Pos.X, Pos.Y)
  1048.             else
  1049.                 Circle.Position = Vector2.new(Mouse.X, Mouse.Y + 36)
  1050.             end
  1051.         else
  1052.             Circle.Position = Vector2.new(Mouse.X, Mouse.Y + 36)
  1053.         end
  1054.         if library.flags.AimbotOn and client.char.alive then
  1055.             local Distance = library.flags.FOV
  1056.             local Bodyparts
  1057.             local RealMouseLocation
  1058.             if library.flags.FOVFollowBarrel then
  1059.                 local Pos = Camera:WorldToViewportPoint(client.gamelogic.currentgun.barrel.CFrame * Vector3.new(0, 0, -10))
  1060.                 RealMouseLocation = Vector2.new(Pos.X, Pos.Y) --cba changing variable name + ratio
  1061.             else
  1062.                 RealMouseLocation = UserInputService:GetMouseLocation()
  1063.             end
  1064.             if RealMouseLocation ~= nil then
  1065.                 for i,v in pairs(Players:GetPlayers()) do
  1066.                     if (v ~= LocalPlayer) and (v.Team ~= LocalPlayer.Team) and client:IsAlive(v) then
  1067.                         Bodyparts = client.replication.bodyparts[v]
  1068.                         local Pos, OnScreen = Camera:WorldToViewportPoint(Bodyparts.head.Position)
  1069.                         local Dist = (Vector2.new(Pos.X, Pos.Y) - Vector2.new(RealMouseLocation.X, RealMouseLocation.Y)).Magnitude
  1070.                         if Dist < Distance then
  1071.                             Distance = Dist
  1072.                             Closest = v
  1073.                             EspLibrary.settings.aimtarget = v
  1074.                         end
  1075.                     end
  1076.                 end
  1077.                 local ScreenPos, OnScreen = nil, nil
  1078.                 if Closest and client.replication.bodyparts[Closest] then
  1079.                     local ClosestParts = client.replication.bodyparts[Closest]
  1080.                     if library.flags.TargetPart == "Head" then
  1081.                         ClosestPosition = ClosestParts.head.Position
  1082.                         ScreenPos, OnScreen = Camera:WorldToScreenPoint(ClosestParts.head.Position)
  1083.                     elseif library.flags.TargetPart == "Torso" then
  1084.                         ClosestPosition = ClosestParts.torso.Position
  1085.                         ScreenPos, OnScreen = Camera:WorldToScreenPoint(ClosestParts.torso.Position)
  1086.                     elseif library.flags.TargetPart == "Left Arm" then
  1087.                         ClosestPosition = ClosestParts.larm.Position
  1088.                         ScreenPos, OnScreen = Camera:WorldToScreenPoint(ClosestParts.larm.Position)
  1089.                     elseif library.flags.TargetPart == "Right Arm" then
  1090.                         ClosestPosition = ClosestParts.rarm.Position
  1091.                         ScreenPos, OnScreen = Camera:WorldToScreenPoint(ClosestParts.rarm.Position)
  1092.                     elseif library.flags.TargetPart == "Left Leg" then
  1093.                         ClosestPosition = ClosestParts.lleg.Position
  1094.                         ScreenPos, OnScreen = Camera:WorldToScreenPoint(ClosestParts.lleg.Position)
  1095.                     elseif library.flags.TargetPart == "Right Leg" then
  1096.                         ClosestPosition = ClosestParts.rleg.Position
  1097.                         ScreenPos, OnScreen = Camera:WorldToScreenPoint(ClosestParts.rleg.Position)
  1098.                     elseif library.flags.TargetPart == "Random" then
  1099.                         local Parts = { -- garbage code
  1100.                             ClosestParts.head,
  1101.                             ClosestParts.torso,
  1102.                             ClosestParts.larm,
  1103.                             ClosestParts.rarm,
  1104.                             ClosestParts.lleg,
  1105.                             ClosestParts.rleg
  1106.                         }
  1107.                         local Part = Parts[math.random(1, #Parts)]
  1108.                         ClosestPosition = Part.Position
  1109.                         ScreenPos, OnScreen = Camera:WorldToScreenPoint(Part.Position)
  1110.                     end
  1111.                     if library.flags.AimbotMode == "Silent" then
  1112.                         if math.random(1,100) < library.flags.SilentAimHeadshotChance then
  1113.                             ClosestPosition = ClosestParts.head.Position
  1114.                         else
  1115.                             ClosestPosition = ClosestParts.torso.Position
  1116.                         end
  1117.                     end
  1118.                     if OnScreen and library.flags.AimbotMode == "Mouse" and MouseDown then
  1119.                         local Smoothing = math.clamp(library.flags.AimSmoothness, 3, 100)
  1120.                         local X = ((ScreenPos.X) - (Mouse.X)) / Smoothing
  1121.                         local Y = ((ScreenPos.Y) - (Mouse.Y)) / Smoothing
  1122.                         if library.flags.VisibleCheck and not client:IsVisible(Closest) then
  1123.                             return
  1124.                         end
  1125.                         mousemoverel(X, Y)
  1126.                     end
  1127.                 end
  1128.             end
  1129.         end
  1130.     end)
  1131.     local Old
  1132.     Old = hookmetamethod(game, "__index", function(Self, Key)
  1133.         if library.flags.AimbotMode == "Silent" and client.char.alive then
  1134.             if Key == "CFrame" and not checkcaller() then
  1135.                 if client.gamelogic.currentgun and client.gamelogic.currentgun.barrel then
  1136.                     if Self == client.gamelogic.currentgun.barrel or Self == client.gamelogic.currentgun.aimsightdata[1].sightpart then
  1137.                         if Closest and ClosestPosition then
  1138.                             if getcallingscript().Name == "RenderSteppedRunner" then
  1139.                                 local PlayerOnScreen = client:PlayerOnScreen(Closest)
  1140.                                 if PlayerOnScreen and PlayerOnScreen.OnScreen then
  1141.                                     local OnScreen = PlayerOnScreen.OnScreen
  1142.                                     local IsInFOV = PlayerOnScreen.IsInFOV
  1143.                                     local Position = Self.Position
  1144.                                     if IsInFOV and OnScreen then
  1145.                                         if library.flags.VisibleCheck and not client:IsVisible(Closest) then
  1146.                                             return Old(Self, Key)
  1147.                                         end
  1148.                                         local CFramePosition = CFrame.new(Position, ClosestPosition)
  1149.                                         return CFramePosition
  1150.                                     end
  1151.                                 end
  1152.                             end
  1153.                         end
  1154.                     end
  1155.                 end
  1156.             end
  1157.         end
  1158.         return Old(Self, Key)
  1159.     end)
  1160. end
  1161.  
  1162. for i,v in pairs(animations) do
  1163.    if v.player then
  1164.         local old_player = v.player
  1165.         v.player = function(a, b)
  1166.             print("Successfully overwritten function??")
  1167.             if client.char.alive and client.gamelogic.currentgun and library.flags.NoAnim then
  1168.                 print("passed the first check?")
  1169.                 if client.gamelogic.currentgun.type ~= "KNIFE" then
  1170.                     for i,v in pairs(client.gamelogic.currentgun.data.animations) do
  1171.                         print("Looped through",v)
  1172.                         if b == v then
  1173.                             return function() end
  1174.                         end
  1175.                     end
  1176.                 end
  1177.             end
  1178.             return old_player(a,b)
  1179.         end
  1180.     end
  1181. end
  1182.  
  1183.  
  1184. function client:SolveVector3(Vector)
  1185.     if library.flags.NoRecoil == 0 then
  1186.         return Vector3.new()
  1187.     else
  1188.         return Vector * library.flags.NoRecoil
  1189.     end
  1190. end
  1191.  
  1192. function client:Weapons()
  1193.     local vec = Vector3.new()
  1194.     local SolveVector3 = function(vector)return client:SolveVector3(vector) end
  1195.     local loadgun = debug.getupvalue(client.loadmodules, 6)
  1196.     local modifydata = debug.getupvalue(loadgun, 1)
  1197.     debug.setupvalue(loadgun, 1, function(...)
  1198.         retv = modifydata(...)
  1199.         v1 = retv
  1200.         if library.flags.CustomFirerate then
  1201.             if type(retv.firerate) == 'number' then
  1202.                 retv.firerate = retv.firerate + library.flags.FirerateAdition
  1203.             end
  1204.         end
  1205.  
  1206.         if library.flags.RecoilOn then
  1207.             v1.rotkickmin = SolveVector3(v1.rotkickmin)
  1208.             v1.rotkickmax = SolveVector3(v1.rotkickmax)
  1209.             v1.transkickmin = SolveVector3(v1.transkickmin)
  1210.             v1.transkickmax = SolveVector3(v1.transkickmax)
  1211.             --v1.camkickmin = SolveVector3(v1.camkickmin)
  1212.             --v1.camkickmax = SolveVector3(v1.camkickmax)
  1213.             --v1.camkickspeed = 0;
  1214.             v1.aimrotkickmin = SolveVector3(v1.aimrotkickmin)
  1215.             v1.aimrotkickmax = SolveVector3(v1.aimrotkickmax)
  1216.             v1.aimtranskickmin = SolveVector3(v1.aimtranskickmin)
  1217.             v1.aimtranskickmax = SolveVector3(v1.aimtranskickmax)
  1218.             v1.aimcamkickmin = SolveVector3(v1.aimcamkickmin)
  1219.             v1.aimcamkickmax = SolveVector3(v1.aimcamkickmax)
  1220.             --v1.aimcamkickspeed = 0;
  1221.             --v1.modelkickspeed = 0;
  1222.             --v1.modelrecoverspeed = 0;
  1223.             --v1.modelkickdamper = 0.0;
  1224.             --v1.aimkickmult = 0.0;
  1225.         end
  1226.         if library.flags.SpreadReduce then
  1227.             v1.hipfirespread = v1.hipfirespread * library.flags.SpreadReduceValue;
  1228.             v1.hipfirestability = v1.hipfirestability * library.flags.SpreadReduceValue;
  1229.             v1.hipfirespreadrecover = v1.hipfirespreadrecover * library.flags.SpreadReduceValue;
  1230.         end
  1231.         if library.flags.CustomReloadSpeed then
  1232.             local anim = v1.animations
  1233.             if anim.tacticalreload then
  1234.                 v1.animations.tacticalreload.resettime = library.flags.ReloadSpeed
  1235.                 v1.animations.tacticalreload.stdtimescale = library.flags.ReloadSpeed
  1236.                 v1.animations.tacticalreload.timescale = library.flags.ReloadSpeed
  1237.             elseif anim.reload then
  1238.                 v1.animations.reload.resettime = library.flags.ReloadSpeed
  1239.                 v1.animations.reload.stdtimescale = library.flags.ReloadSpeed
  1240.                 v1.animations.reload.timescale = library.flags.ReloadSpeed
  1241.             elseif anim.pullbolt then
  1242.                 v1.animations.pullbolt.stdtimescale = library.flags.ReloadSpeed
  1243.                 v1.animations.pullbolt.timescale = library.flags.ReloadSpeed
  1244.                 v1.animations.pullbolt.resettime = library.flags.ReloadSpeed
  1245.             end
  1246.         end
  1247.         return retv
  1248.     end)
  1249.     local gunbob = debug.getupvalue(loadgun, 58)
  1250.     debug.setupvalue(loadgun, 58, function(...)
  1251.         if library.flags.NoGunBob then
  1252.             return CFrame.new()
  1253.         end
  1254.         return gunbob(...)
  1255.     end)
  1256. end
  1257. library.flags.GunColor = Color3.fromRGB(255,255,255)
  1258. function client:MiscLoop()
  1259.     Lighting:GetPropertyChangedSignal("Brightness"):Connect(function(v)
  1260.         if library.flags.BrightnessOn then
  1261.             Lighting.Brightness = 1000
  1262.             Lighting.GlobalShadows=false
  1263.         else
  1264.             Lighting.Brightness = OldBrightness
  1265.             Lighting.GlobalShadows=true
  1266.         end
  1267.     end)
  1268.    
  1269.     local GameGui = LocalPlayer.PlayerGui.MainGui:WaitForChild("GameGui")
  1270.  
  1271.     GameGui.Killfeed.ChildAdded:Connect(function(c)
  1272.         repeat task.wait() until c.Text ~= "Shedletsky"
  1273.         if library.flags.KillSay then
  1274.             if c.Text == LocalPlayer.Name then
  1275.                 local Victim = c.Victim.Text
  1276.                 if Victim == LocalPlayer.Name then
  1277.                     return
  1278.                 end
  1279.                 local Msg = library.flags.KillSayMsg..Victim or "You killed "..Victim
  1280.                 client.network:send("chatted", Msg)
  1281.             end
  1282.         end
  1283.     end)
  1284.    
  1285.     function closest()
  1286.         local Distance = math.huge
  1287.         local Closest
  1288.         local Bodyparts
  1289.         local AimPart
  1290.         local RealMouseLocation = UserInputService:GetMouseLocation()
  1291.         local Pos, OnScreen = nil, nil
  1292.         local Autowallable = false
  1293.         local inFOV = false
  1294.         for i,v in pairs(Players:GetPlayers()) do
  1295.             if (v ~= LocalPlayer) and (v.Team ~= LocalPlayer.Team) and client.replication.bodyparts[v] and client.replication.bodyparts[v].head then
  1296.                 Bodyparts = client.replication.bodyparts[v]
  1297.                 -- Bulletcheck arguments : Origin, Target, Trajectory, Acceleration, Penetration Depth
  1298.                 local Pos2, OnScreen2 = Camera:WorldToScreenPoint(Bodyparts.head.Position)
  1299.                 local Dist = (Vector2.new(Pos2.X, Pos2.Y) - Vector2.new(RealMouseLocation.X, RealMouseLocation.Y)).Magnitude
  1300.                 if Dist < Distance then
  1301.                     AimPart = Bodyparts['head']
  1302.                     Distance = Dist
  1303.                     Closest = v
  1304.                     inFOV = true
  1305.                     Pos, OnScreen = Pos2, OnScreen2
  1306.                 end
  1307.             end
  1308.         end
  1309.         return {Closest = Closest, OnScreen = OnScreen, Part = AimPart, InFOV = inFOV}
  1310.     end
  1311.  
  1312.  
  1313.     local oldsend = client.network.send
  1314.     equipped = 1
  1315.     client.network.send = function(self, name, ...)
  1316.         if name == "falldamage" and library.flags.NoFallDamage then
  1317.             return
  1318.         end
  1319.        
  1320.         if name == "equip" then
  1321.             equipped = ...
  1322.         end
  1323.        
  1324.         if name == "newgrenade" and library.flags.GrenadeTP then
  1325.             local args = {...}
  1326.             if args[2].blowuptime then args[2].blowuptime=library.flags.GrenadeBlowUpTime end
  1327.             local ClosestPlayer = closest()
  1328.             if not ClosestPlayer or not ClosestPlayer.Closest or not ClosestPlayer.Part then return old(self, data, ...) end
  1329.             for i,v in pairs(args[2].frames) do
  1330.                 if v ~= args[2].frames[1] then
  1331.                     if ClosestPlayer.OnScreen then
  1332.                         if v.p0 then
  1333.                             v.p0 = ClosestPlayer.Part.Position
  1334.                         end
  1335.                     end
  1336.                 end
  1337.             end
  1338.         end
  1339.         return oldsend(self, name, ...)
  1340.     end
  1341.    
  1342.    
  1343.     SpaceDown = false
  1344.     UserInputService.InputBegan:Connect(function(key)
  1345.         if key.KeyCode == Enum.KeyCode.Space then
  1346.             SpaceDown = true
  1347.         end
  1348.     end)
  1349.    
  1350.     UserInputService.InputEnded:Connect(function(key)
  1351.         if key.KeyCode == Enum.KeyCode.Space then
  1352.             SpaceDown = false
  1353.         end
  1354.     end)
  1355.  
  1356.  
  1357.     RunService:BindToRenderStep("Misc", 1, function()
  1358.             if library.flags.HitboxExtender then
  1359.             for i,v in pairs(Players:GetPlayers()) do
  1360.                 if client:IsAlive(v) and client.replication.bodyparts[v] and client.replication.bodyparts[v].head and client.char.alive then
  1361.                     local bp = client.replication.bodyparts[v]
  1362.                     local hbv = library.flags.HitboxExtenderValue
  1363.                     bp.head.Size = Vector3.new(hbv,hbv,hbv)
  1364.                     bp.torso.Size = Vector3.new(hbv,hbv,hbv)
  1365.                     bp.lleg.Size = Vector3.new(hbv,hbv,hbv)
  1366.                     bp.rleg.Size = Vector3.new(hbv,hbv,hbv)
  1367.                     bp.larm.Size = Vector3.new(hbv,hbv,hbv)
  1368.                     bp.rarm.Size = Vector3.new(hbv,hbv,hbv)
  1369.                 end
  1370.             end
  1371.         end
  1372.  
  1373.         if library.flags.WalkspeedOn then
  1374.             client.char:setbasewalkspeed(library.flags.Walkspeed)
  1375.         end
  1376.         if not library.flags.Ambience and library.flags.FullBright then
  1377.             Lighting.Ambient = Color3.fromRGB(255,255,255)
  1378.             Lighting.Brightness = 1000
  1379.         end
  1380.         if library.flags.FullBright then
  1381.             Lighting.Brightness = 1000
  1382.             Lighting.Ambient = Color3.fromRGB(255,255,255)
  1383.         end
  1384.         if not library.flags.FullBright and library.flags.Ambience then
  1385.             Lighting.Ambient = library.flags.AmbienceColor
  1386.         elseif not library.flags.FullBright and not library.flags.Ambience and not library.flags.RainbowAmbience then
  1387.             Lighting.Ambient = OldAmbience
  1388.         end
  1389.         if library.flags.Ambience then
  1390.             Lighting.Ambient = library.flags.AmbienceColor
  1391.         end
  1392.        
  1393.         if library.flags.KnifeAura and client.char.alive then
  1394.             if library.flags.KnifeAuraHeld then
  1395.                 if client.gamelogic.currentgun.type ~= "KNIFE" then
  1396.                     return
  1397.                 end
  1398.             end
  1399.             for i,v in pairs(Players:GetPlayers()) do
  1400.                 if v ~= LocalPlayer and v.Team ~= LocalPlayer.Team then
  1401.                     if client:IsAlive(v) and client.replication.bodyparts[v] then
  1402.                         local Closest
  1403.                         local Distance = library.flags.KnifeAuraDistance
  1404.                         local Dist = (client.replication.bodyparts[v].head.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude
  1405.                         if Dist < Distance then
  1406.                             Dist = Distance
  1407.                             oldsend(client.network, "equip", 3) -- thx iray for telling me this
  1408.                             client.network:send("knifehit", client.replication.getplayerhit(client.replication.bodyparts[v].head), tick(), "Head")
  1409.                             client.network:send("equip", equipped)
  1410.                         end
  1411.                     end
  1412.                 end
  1413.             end
  1414.         end
  1415.         if SpaceDown and client.char.alive and library.flags.BunnyHop then
  1416.             client.char:setbasewalkspeed(library.flags.BunnyHopSpeed)
  1417.             client.char:jump(4)
  1418.         elseif not SpaceDown and client.char.alive and not library.flags.WalkspeedOn then
  1419.             client.char:setbasewalkspeed(12)
  1420.         end
  1421.     end)
  1422.     spawn(function()
  1423.         while wait() do
  1424.             local gun = client:GetGun()
  1425.             if (gun ~= nil) and (client.char.alive) then
  1426.                 for i,v in pairs(gun:GetDescendants()) do
  1427.                     if not v.Name:find("TheBarrel") and not v.Name:find("IronGlow") and not v.Name:find("SightMark") and not v.Name:find("TheBarrel2") and v ~= client.gamelogic.currentgun.barrel then
  1428.                         if client:HasProperty(v, "Color") then
  1429.                             if library.flags.GunColorOn and library.flags.RainbowGun then
  1430.                                 pcall(function()
  1431.                                     if v.Material ~= Enum.Material.Glass then
  1432.                                         v.Color = library.flags.GunColor
  1433.                                     end
  1434.                                 end)
  1435.                             elseif library.flags.GunColorOn and not library.flags.RainbowGun then
  1436.                                 pcall(function()
  1437.                                     if v.Material ~= Enum.Material.Glass then
  1438.                                         v.Color = library.flags.GunColor
  1439.                                     end
  1440.                                 end)
  1441.                             elseif not library.flags.GunColorOn and library.flags.RainbowGun then
  1442.                                 pcall(function()
  1443.                                     if v.Material ~= Enum.Material.Glass then
  1444.                                         local hue = tick() % 3/3
  1445.                                         v.Color = Color3.fromHSV(hue,1,1)
  1446.                                     end
  1447.                                 end)
  1448.                             end
  1449.                         end
  1450.                         if client:HasProperty(v, "Material") and library.flags.WeaponMaterial then
  1451.                             pcall(function()
  1452.                                 if v.Material ~= Enum.Material.Glass then
  1453.                                     v.Material = Enum.Material[library.flags.WeaponMaterialValue]
  1454.                                 end    
  1455.                             end)
  1456.                         end
  1457.                         if client:HasProperty(v, "Transparency") and library.flags.WeaponTransparency then
  1458.                             pcall(function()
  1459.                                 if v.Material ~= Enum.Material.Glass then
  1460.                                     v.Transparency = library.flags.WeaponTransparencyValue
  1461.                                 end
  1462.                             end)
  1463.                         end
  1464.                     end
  1465.                 end
  1466.             end
  1467.         end
  1468.     end)
  1469.  
  1470.     spawn(function()
  1471.         while wait() do
  1472.             if library.flags.RainbowAmbience and not library.flags.Ambience then
  1473.                 local hue = tick() % 2/2
  1474.                 local Color = Color3.fromHSV(hue,1,1)
  1475.                 Lighting.Ambient = Color
  1476.             end
  1477.         end
  1478.     end)
  1479.  
  1480.    
  1481.     local oldjump = client.char.jump
  1482.     client.char.jump = function(tbl, jp)
  1483.         if library.flags.JumpPowerOn then
  1484.             return oldjump(tbl, library.flags.JumpPower)
  1485.         end
  1486.         return oldjump(tbl, jp)
  1487.     end
  1488. end
  1489.  
  1490. function client:init()
  1491.     client:MiscLoop()
  1492.     client:CreateCrosshairRenderstep()
  1493.     client:InitAimbot()
  1494.     client:Weapons()
  1495.  
  1496.     EspLibrary:Init()
  1497.     EspLibrary.settings.limitdistance = false
  1498.  
  1499.     function EspLibrary:GetHealth(Player)
  1500.         return client.hud:getplayerhealth(Player)
  1501.     end
  1502.  
  1503.     function EspLibrary:GetCharacter(Player)
  1504.         local Character = client.replication.getbodyparts(Player)
  1505.  
  1506.         return Character and Character.torso.Parent, Character and Character.torso
  1507.     end
  1508. end
  1509.  
  1510.  
  1511.  
  1512. library.flags['Menu Accent Color'] = Color3.fromRGB(255, 100, 120)
  1513. library:Init()
  1514. client:init()
  1515. if isfile("ceri/default.cr") then
  1516.     library:LoadConfig("default")
  1517. end
  1518.  
  1519. client:console("Ceri loaded in " .. tostring(tick() - start) .. "ms")
  1520.  
  1521. library:selectTab(library.tabs[1])
  1522.  
Add Comment
Please, Sign In to add comment