SHOW:
|
|
- or go back to the newest paste.
1 | warn([[ | |
2 | Please stop telling me that your free exploit can't run this script. I've stopped working on it. | |
3 | ACE is in development. | |
4 | Avexus#1234 | |
5 | ]]) | |
6 | ||
7 | local UIS = game:GetService('UserInputService') | |
8 | local RS = game:GetService('RunService') | |
9 | local Players = game:GetService('Players') | |
10 | local StarterGui = game:GetService('StarterGui') | |
11 | local Player = Players.LocalPlayer | |
12 | local Studio = RS:IsStudio() | |
13 | local PlayerGui = RS:IsStudio() and Player:WaitForChild('PlayerGui') or game.CoreGui | |
14 | local Mouse = Player:GetMouse() | |
15 | local old_icon = Mouse.Icon | |
16 | local Camera = workspace.CurrentCamera | |
17 | targetpart = 'Head' -- Don't change this. | |
18 | -- It can be changed with the targetpart_change hotkey ingame. | |
19 | local target | |
20 | local target_old | |
21 | local alert = false | |
22 | local lockedon = false | |
23 | local settingkey = false | |
24 | local upvals = nil | |
25 | local val = 1 | |
26 | local windows = {} | |
27 | local function hb() RS.Heartbeat:wait() end | |
28 | ||
29 | local version = 1.25 | |
30 | local Spawn = nil or game.PlaceId == 292439477 and workspace:WaitForChild('Lobby',2):WaitForChild('Spawn1',2) | |
31 | local spawned = false | |
32 | ||
33 | script.Name = 'GameSense!' | |
34 | Mouse.TargetFilter = Camera | |
35 | ||
36 | -- hotkey | |
37 | toggle_aim = Enum.UserInputType.MouseButton2 | |
38 | toggle_aimbot = Enum.KeyCode.LeftAlt | |
39 | toggle_trigger = Enum.KeyCode.RightAlt | |
40 | toggle_esp = Enum.KeyCode.End | |
41 | toggle_gui = Enum.KeyCode.F6 | |
42 | toggle_bottompos = Enum.KeyCode.F7 | |
43 | toggle_performance = Enum.KeyCode.F8 | |
44 | toggle_bones = Enum.KeyCode.Delete | |
45 | toggle_chams = Enum.KeyCode.F3 | |
46 | toggle_tracers = Enum.KeyCode.F2 | |
47 | toggle_boxes = Enum.KeyCode.F4 | |
48 | toggle_font = Enum.KeyCode.F1 | |
49 | ffatoggle = Enum.KeyCode.Home | |
50 | targetpart_change = Enum.KeyCode.BackSlash | |
51 | priority_toggle = Enum.KeyCode.Insert | |
52 | sethotkey = Enum.KeyCode.RightControl | |
53 | -- aim fov | |
54 | fov_increase = Enum.KeyCode.KeypadPlus | |
55 | fov_decrease = Enum.KeyCode.KeypadMinus | |
56 | -- aim sens (how smooth your crosshair will move) | |
57 | sens_increase = Enum.KeyCode.RightBracket | |
58 | sens_decrease = Enum.KeyCode.LeftBracket | |
59 | ||
60 | -- parts | |
61 | parts = { | |
62 | 'Head'; | |
63 | 'Torso' | |
64 | } | |
65 | ||
66 | fonts = { | |
67 | Enum.Font.SourceSansBold, | |
68 | Enum.Font.Cartoon, | |
69 | Enum.Font.Arcade, | |
70 | Enum.Font.SciFi, | |
71 | Enum.Font.Fantasy, | |
72 | Enum.Font.Code, | |
73 | Enum.Font.Highway, | |
74 | Enum.Font.Bodoni | |
75 | } | |
76 | ||
77 | textSet = false | |
78 | ||
79 | currentfont = 1 | |
80 | ffa = false | |
81 | hidden = false | |
82 | performancemode = false | |
83 | -- aim | |
84 | fov = 5 | |
85 | sens = .25 | |
86 | drop = .45 | |
87 | aim_toggled = false | |
88 | bottompos = true | |
89 | aim_priority = 2 | |
90 | -- [2] FOV or [1] Distance | |
91 | aimingcolor = Color3.fromRGB(0,165,255) | |
92 | aimbot_toggled = true | |
93 | aim_line = true | |
94 | locksoundid = 538769304 | |
95 | mouseiconid = 18671553 | |
96 | ||
97 | -- trigger | |
98 | trigger_toggled = false | |
99 | trigger_delay = 1/20 | |
100 | ||
101 | -- esp | |
102 | esp_toggled = true | |
103 | esp_bones = false | |
104 | esp_chams = true | |
105 | esp_tracers = true | |
106 | -- item_esp (coming soon) | |
107 | linesize = 1 | |
108 | showdists = true | |
109 | textsize = 14 | |
110 | textoffset = 20 | |
111 | visiblecolor = Color3.fromRGB(38,255,99) | |
112 | hiddencolor = Color3.fromRGB(255,37,40) | |
113 | headboxsize = 4 | |
114 | headboxaimsize = 6 | |
115 | headboxshape = 'diamond' | |
116 | -- rectangle or diamond | |
117 | ||
118 | -- box esp | |
119 | bounding_box = true | |
120 | -- box_pointsize = 0 [UNUSED] | |
121 | box_line_size = 1 | |
122 | -- box_line_size_visible = 2 [UNUSED] | |
123 | ||
124 | local GUI = Instance.new('ScreenGui',PlayerGui) | |
125 | GUI.Name = 'GameSense '..version | |
126 | GUI.ResetOnSpawn = false | |
127 | ||
128 | ESP = Instance.new('Folder',GUI) | |
129 | ESP.Name = 'ESP' | |
130 | local Bottom = Instance.new('Frame',ESP) | |
131 | Bottom.Name = 'Bottom' | |
132 | Bottom.BackgroundTransparency = 1 | |
133 | Bottom.Size = UDim2.new(0,1,0,1) | |
134 | Bottom.Position = UDim2.new(.5,0,1,1) | |
135 | ||
136 | local Status = Instance.new('TextLabel',GUI) | |
137 | Status.Name = 'Status' | |
138 | Status.BackgroundTransparency = 1 | |
139 | Status.Size = UDim2.new(0,500,0,50) | |
140 | Status.Position = UDim2.new(.5,-250,.85,0) | |
141 | Status.TextSize = 24 | |
142 | Status.Font = Enum.Font.SourceSansBold | |
143 | Status.TextColor3 = Color3.new(1,1,1) | |
144 | Status.TextStrokeColor3 = Color3.new(0,0,0) | |
145 | Status.TextStrokeTransparency = .6 | |
146 | Status.Text = 'On Standby' | |
147 | Status.ZIndex = 50 | |
148 | ||
149 | local Credits = Status:Clone() | |
150 | Credits.Name = 'Credits' | |
151 | Credits.Parent = GUI | |
152 | Credits.Position = UDim2.new(.5,-250,.85,-20) | |
153 | Credits.TextSize = 16 | |
154 | Credits.Text = 'GameSense '..version..' by Avexus!' | |
155 | ||
156 | local FovGui = Instance.new('ImageLabel',GUI) | |
157 | FovGui.Name = 'FovGui' | |
158 | FovGui.Image = 'rbxassetid://324848180' | |
159 | FovGui.Size = UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2) | |
160 | FovGui.Position = UDim2.new(0.5,-FovGui.AbsoluteSize.X/2,0.5,-FovGui.AbsoluteSize.Y/2) | |
161 | FovGui.BackgroundTransparency = 1 | |
162 | FovGui.ImageTransparency = .9 | |
163 | FovGui.ImageColor3 = Color3.new(1,0,0) | |
164 | ||
165 | local Indicator = Instance.new('TextLabel',GUI) | |
166 | Indicator.Name = 'Indicator' | |
167 | Indicator.Font = Enum.Font.SourceSans | |
168 | Indicator.TextSize = 14 | |
169 | Indicator.TextXAlignment = Enum.TextXAlignment.Center | |
170 | Indicator.TextYAlignment = Enum.TextYAlignment.Center | |
171 | Indicator.TextStrokeTransparency = .75 | |
172 | Indicator.Text = aim_priority>1 and 'FOV: '..fov or 'Distance' | |
173 | ||
174 | local SensAdjust = Instance.new('TextBox',GUI) | |
175 | SensAdjust.Name = 'SensAdjust' | |
176 | SensAdjust.Font = Enum.Font.SourceSans | |
177 | SensAdjust.BackgroundTransparency = .75 | |
178 | SensAdjust.BackgroundColor3 = Color3.new(0,0,0) | |
179 | SensAdjust.BorderColor3 = Color3.new(1,1,1) | |
180 | SensAdjust.Size = UDim2.new(0,50,0,20) | |
181 | SensAdjust.TextStrokeTransparency = .6 | |
182 | SensAdjust.TextColor3 = Color3.new(1,1,1) | |
183 | SensAdjust.TextSize = 14 | |
184 | SensAdjust.PlaceholderText = 'Sens' | |
185 | SensAdjust.Text = tonumber(sens) | |
186 | SensAdjust.Position = Credits.Position + UDim2.new(0,250,0,75) | |
187 | ||
188 | local SensLabel = Instance.new('TextLabel',SensAdjust) | |
189 | SensLabel.Name = 'SensLabel' | |
190 | SensLabel.Font = Enum.Font.SourceSans | |
191 | SensLabel.Size = UDim2.new(1,0,1,0) | |
192 | SensLabel.BackgroundTransparency = 1 | |
193 | SensLabel.TextSize = 14 | |
194 | SensLabel.TextColor3 = Color3.new(1,1,1) | |
195 | SensLabel.TextStrokeColor3 = Color3.new(0,0,0) | |
196 | SensLabel.TextStrokeTransparency = .6 | |
197 | SensLabel.Text = 'Sens:' | |
198 | SensLabel.Position = UDim2.new(-1,0,0,0) | |
199 | SensLabel.TextXAlignment = Enum.TextXAlignment.Left | |
200 | ||
201 | local FovAdjust = SensAdjust:Clone() | |
202 | FovAdjust.Parent = GUI | |
203 | FovAdjust.PlaceholderText = 'FOV' | |
204 | FovAdjust.Name = 'FovAdjust' | |
205 | FovAdjust.Text = tonumber(fov) | |
206 | FovAdjust.Position = SensAdjust.Position + UDim2.new(0,0,0,20) | |
207 | FovAdjust.SensLabel.Name = 'FovLabel' | |
208 | FovAdjust.FovLabel.Text = 'Fov:' | |
209 | ||
210 | local DropAdjust = SensAdjust:Clone() | |
211 | DropAdjust.Parent = GUI | |
212 | DropAdjust.PlaceholderText = 'Drop' | |
213 | DropAdjust.Name = 'DropAdjust' | |
214 | DropAdjust.Text = tonumber(drop) | |
215 | DropAdjust.Position = SensAdjust.Position + UDim2.new(0,0,0,40) | |
216 | DropAdjust.SensLabel.Name = 'DropLabel' | |
217 | DropAdjust.DropLabel.Text = 'Drop:' | |
218 | ||
219 | local KeysList = Instance.new('TextLabel',GUI) | |
220 | KeysList.Name = 'KeysList' | |
221 | KeysList.Font = Enum.Font.SourceSans | |
222 | KeysList.TextStrokeTransparency = .6 | |
223 | KeysList.TextSize = 14 | |
224 | KeysList.TextColor3 = Color3.new(1,1,1) | |
225 | KeysList.Size = UDim2.new(0,0,1,0) | |
226 | KeysList.Position = UDim2.new(0,5,0,-280) | |
227 | KeysList.BackgroundTransparency = 1 | |
228 | KeysList.Active = false | |
229 | KeysList.TextXAlignment = Enum.TextXAlignment.Left | |
230 | KeysList.TextYAlignment = Enum.TextYAlignment.Bottom | |
231 | KeysList.Text = 'AimBot Toggle: '..toggle_aimbot.Name..'\nAim Toggle: '..toggle_aim.Name..'\nAim Part Toggle: '..targetpart_change.Name..'\nPriority Toggle: '..priority_toggle.Name | |
232 | ..'\nESP Toggle: '..toggle_esp.Name..'\nBones Toggle: '..toggle_bones.Name..'\nChams Toggle: '..toggle_chams.Name..'\nBoxes Toggle: '..toggle_boxes.Name..'\nFOV Increase: '..fov_increase.Name..'\nFOV Decrease: '..fov_decrease.Name..'\nSens Increase: ' | |
233 | ..sens_increase.Name..'\nSens Decrease: '..sens_decrease.Name..'\nTrigger Toggle: '..toggle_trigger.Name..'\nFFA Toggle: '..ffatoggle.Name..'\nHide Cheats: '..toggle_gui.Name | |
234 | ..'\nChange ESP Origin: '..toggle_bottompos.Name..'\nPerformance Mode: '..toggle_performance.Name..'\nChange Font: '..toggle_font.Name | |
235 | ||
236 | local n = 0 | |
237 | ||
238 | spawn(function() | |
239 | while Status do | |
240 | Indicator.TextColor3 = Color3.fromHSV(n,.5,1) | |
241 | FovGui.ImageColor3 = Indicator.TextColor3 | |
242 | if not textSet then | |
243 | if aim_toggled and target then | |
244 | Status.TextColor3 = aimingcolor | |
245 | Status.Text = ('Aiming at '..target.Name) | |
246 | else | |
247 | Status.TextColor3 = Color3.fromHSV(n,.5,1) | |
248 | Status.Text = 'On Standby' | |
249 | end | |
250 | end | |
251 | n = (n+.005)%1 | |
252 | hb() | |
253 | end | |
254 | end) | |
255 | ||
256 | SensAdjust.InputEnded:Connect(function() if SensAdjust.Text~='' then sens = tonumber(SensAdjust.Text)>0 and tonumber(SensAdjust.Text) or sens end end) | |
257 | FovAdjust.InputEnded:Connect(function() if FovAdjust.Text~='' then fov = tonumber(FovAdjust.Text)>0 and tonumber(FovAdjust.Text) or fov | |
258 | FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true) end end) | |
259 | DropAdjust.InputEnded:Connect(function() if DropAdjust.Text~='' then drop = tonumber(DropAdjust.Text)>=0 and tonumber(DropAdjust.Text) or drop end end) | |
260 | ||
261 | local function distfromspawn(x) | |
262 | if Spawn then | |
263 | return x:DistanceFromCharacter(Spawn.Position) | |
264 | else | |
265 | return 201 | |
266 | end | |
267 | end | |
268 | ||
269 | local function setText(text) | |
270 | spawn(function() | |
271 | textSet = true | |
272 | Status.Text = text | |
273 | Status.TextColor3 = Color3.new(1,1,1) | |
274 | wait(#text/4) | |
275 | textSet = false | |
276 | end) | |
277 | end | |
278 | ||
279 | local function playsound(id) | |
280 | local sound = Instance.new('Sound',Camera) | |
281 | sound.SoundId = 'rbxassetid://'..id | |
282 | sound.Volume = 3 | |
283 | sound:Play() | |
284 | game:GetService('Debris'):AddItem(sound,5) | |
285 | end | |
286 | ||
287 | playsound(1168009121) | |
288 | Mouse.Icon = 'rbxassetid://'..mouseiconid | |
289 | ||
290 | local function Notification(...) | |
291 | playsound(140910211) | |
292 | StarterGui:SetCore('SendNotification',...) | |
293 | end | |
294 | ||
295 | local function DrawLine(Folder,P1,P2,Thickness,Color,LineTransparency,BorderThickness,BorderColor) | |
296 | -- Declare variables | |
297 | local Point1,Point2 = P1.Position,P2.Position | |
298 | if Point1 and Point2 then | |
299 | local X,Y = Camera.ViewportSize.X, Camera.ViewportSize.Y | |
300 | local X1,X2 = (X * Point1.X.Scale + Point1.X.Offset + P1.Size.X.Offset/2), (X * Point2.X.Scale + Point2.X.Offset + P2.Size.X.Offset/2) | |
301 | local Y1,Y2 = (Y * Point1.Y.Scale + Point1.Y.Offset + P1.Size.Y.Offset/2), (Y * Point2.Y.Scale + Point2.Y.Offset + P2.Size.Y.Offset/2) | |
302 | local MidX,MidY = (X1+X2)/2, (Y1+Y2)/2 | |
303 | -- Set defaults to prevent errors | |
304 | Thickness = Thickness or 1 | |
305 | Color = Color or Color3.new(1,1,1) | |
306 | LineTransparency = LineTransparency or 0 | |
307 | BorderThickness = BorderThickness or 0 | |
308 | BorderColor = BorderColor or Color3.new(0,0,0) | |
309 | -- Draw the line | |
310 | local Line = Folder:FindFirstChild(P1.Name..'-'..P2.Name) or Instance.new('Frame',Folder) | |
311 | Line.Visible = false | |
312 | Line.BackgroundTransparency = LineTransparency | |
313 | Line.BorderSizePixel = BorderThickness | |
314 | Line.BorderColor3 = BorderColor | |
315 | Line.Size = UDim2.new(0,(Vector2.new(X1,Y1) - Vector2.new(X2,Y2)).magnitude-1,0,Thickness) | |
316 | Line.Position = UDim2.new(0,MidX-Line.AbsoluteSize.X/2,0,MidY-Line.AbsoluteSize.Y) | |
317 | Line.BackgroundColor3 = Color | |
318 | Line.Rotation = math.deg(math.atan2((Y2-Y1),(X2-X1))) | |
319 | Line.Name = P1.Name..'-'..P2.Name | |
320 | Line.Visible = true | |
321 | return Line | |
322 | else | |
323 | return nil | |
324 | end | |
325 | end | |
326 | ||
327 | local function GetNearest(Mode) | |
328 | local lowest,nearest,gui = math.huge,nil,nil | |
329 | if Mode==1 then | |
330 | for _,plr in next,Players:GetPlayers() do | |
331 | if plr.Name~=Player.Name and plr.Character~=nil and plr.Character:FindFirstChild(targetpart) then | |
332 | local dist = Player:DistanceFromCharacter(plr.Character[targetpart].Position) | |
333 | local ray = Ray.new(Player.Character.Head.Position,(plr.Character[targetpart].Position-Player.Character.Head.Position).unit*5000) | |
334 | local part,point = workspace:FindPartOnRayWithIgnoreList(ray,{Camera,Player.Character,unpack(windows)}) | |
335 | local Z = Camera:WorldToScreenPoint(plr.Character[targetpart].Position).Z | |
336 | if part and part:IsDescendantOf(plr.Character) and Z>0 and dist < lowest and (ffa or plr.TeamColor~=Player.TeamColor) then lowest = dist nearest = plr.Character end | |
337 | end | |
338 | end | |
339 | elseif Mode==2 then | |
340 | for _,plr in next,Players:GetPlayers() do | |
341 | if plr.Name~=Player.Name and plr.Character~=nil and plr.Character:FindFirstChild(targetpart) then | |
342 | local pos = Camera:WorldToScreenPoint(plr.Character[targetpart].Position) | |
343 | local ray = Ray.new(Player.Character[targetpart].Position,(plr.Character[targetpart].Position-Player.Character[targetpart].Position).unit*2048) | |
344 | local part,point = workspace:FindPartOnRayWithIgnoreList(ray,{Camera,Player.Character,unpack(windows)}) | |
345 | local dist = (Vector2.new(Mouse.X,Mouse.Y)-Vector2.new(pos.X,pos.Y)).magnitude | |
346 | if part and part:IsDescendantOf(plr.Character) and pos.Z>0 and dist <= Camera.ViewportSize.X/(90/fov) and dist < lowest and (ffa or plr.TeamColor~=Player.TeamColor) then lowest = dist nearest = plr.Character end | |
347 | end | |
348 | end | |
349 | end | |
350 | return nearest | |
351 | end | |
352 | ||
353 | Mouse.Move:Connect(function() | |
354 | cursor = ESP:FindFirstChild('Cursor') or Instance.new('Frame',ESP) | |
355 | cursor.Name = 'Cursor' | |
356 | cursor.BackgroundTransparency = 1 | |
357 | cursor.Size = UDim2.new(0,1,0,1) | |
358 | cursor.Position = UDim2.new(0,Mouse.X,0,Mouse.Y) | |
359 | end) | |
360 | ||
361 | UIS.InputBegan:Connect(function(Input) | |
362 | if Input.KeyCode == toggle_aim or Input.UserInputType == toggle_aim then | |
363 | aim_toggled = true | |
364 | warn('GS: aim toggled',aim_toggled and 'on' or 'off') | |
365 | alert = true | |
366 | while aim_toggled and aimbot_toggled do | |
367 | target = GetNearest(aim_priority) | |
368 | if target then | |
369 | local dist = Player:DistanceFromCharacter(target[targetpart].Position) | |
370 | local headpos = Camera:WorldToScreenPoint(target[targetpart].Position+Vector3.new(0,dist/(100/drop),0)) | |
371 | local moveto = Vector2.new((headpos.X-Mouse.X)*sens,(headpos.Y-Mouse.Y)*sens) | |
372 | aimpos = GUI:FindFirstChild('AimPos') or Instance.new('Frame',GUI) | |
373 | if not GUI:FindFirstChild('AimPos') then | |
374 | aimpos.Name = 'AimPos' | |
375 | aimpos.BorderSizePixel = 1 | |
376 | aimpos.BorderColor3 = Color3.new(0,0,0) | |
377 | aimpos.BackgroundTransparency = 0 | |
378 | aimpos.BackgroundColor3 = Color3.new(1,1,1) | |
379 | aimpos.Rotation = 45 | |
380 | aimpos.ZIndex = 4 | |
381 | aimpos.Size = UDim2.new(0,3,0,3) | |
382 | end | |
383 | aimpos.Position = UDim2.new(0,headpos.X-aimpos.AbsoluteSize.X/2,0,headpos.Y-aimpos.AbsoluteSize.Y/2) | |
384 | aimpos.Visible = true | |
385 | mousemoverel(moveto.X,moveto.Y) | |
386 | if alert or target~=target_old then | |
387 | playsound(locksoundid) | |
388 | print('GS: locked onto',target.Name) | |
389 | lockedon = true | |
390 | alert = false | |
391 | end | |
392 | end | |
393 | RS.Heartbeat:wait() | |
394 | target_old = target | |
395 | if aimpos then | |
396 | aimpos.Visible = false | |
397 | end | |
398 | end | |
399 | lockedon = false | |
400 | elseif Input.KeyCode == toggle_trigger then | |
401 | trigger_toggled = not trigger_toggled | |
402 | setText('Toggled TriggerBot '..(trigger_toggled and 'On' or 'Off')) | |
403 | Notification({Title='TriggerBot';Text='TriggerBot was toggled '..(trigger_toggled and 'On' or 'Off');Duration=2;}) | |
404 | warn('trigger toggled',trigger_toggled and 'on' or 'off') | |
405 | local Box = Instance.new('SelectionBox',PlayerGui) | |
406 | Box.Color3 = Color3.new(1,0,0) | |
407 | Box.LineThickness = .05 | |
408 | Box.Adornee = nil | |
409 | if trigger_delay>0 then wait(trigger_delay) end | |
410 | while trigger_toggled do | |
411 | local Target = Mouse.Target | |
412 | local plr = Players:FindFirstChild(Target.Parent.Name) | |
413 | if Target and Target.Parent and plr~=nil and plr~=Player and ffa or plr~=nil and plr.TeamColor~=Player.TeamColor then | |
414 | Box.Adornee = Mouse.Target | |
415 | mouse1press() | |
416 | wait() | |
417 | mouse1release() | |
418 | end | |
419 | RS.Heartbeat:wait() | |
420 | end | |
421 | Box:Destroy() | |
422 | elseif Input.KeyCode == toggle_esp then | |
423 | esp_toggled = not esp_toggled | |
424 | Notification({Title='ESP';Text='ESP was toggled '..(esp_toggled and 'On' or 'Off');Duration=2;}) | |
425 | setText('Toggled ESP '..(esp_toggled and 'On' or 'Off')) | |
426 | elseif Input.KeyCode == toggle_aimbot then | |
427 | aimbot_toggled = not aimbot_toggled | |
428 | Notification({Title='AimBot';Text='AimBot was toggled '..(aimbot_toggled and 'On' or 'Off');Duration=2;}) | |
429 | setText('Toggled AimBot '..(aimbot_toggled and 'On' or 'Off')) | |
430 | elseif Input.KeyCode == fov_increase then | |
431 | fov = fov + .5 | |
432 | FovAdjust.Text = tonumber(fov) | |
433 | if FovGui.Visible then | |
434 | FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true) | |
435 | end | |
436 | setText('Aim FOV: '..fov) | |
437 | elseif Input.KeyCode == fov_decrease and fov>0 then | |
438 | fov = fov - .5 | |
439 | FovAdjust.Text = tonumber(fov) | |
440 | if FovGui.Visible then | |
441 | FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true) | |
442 | end | |
443 | setText('Aim FOV: '..fov) | |
444 | elseif Input.KeyCode == sens_increase then | |
445 | sens = sens + .05 | |
446 | SensAdjust.Text = tonumber(sens) | |
447 | setText('Sens: '..sens) | |
448 | elseif Input.KeyCode == sens_decrease then | |
449 | sens = sens - .05 | |
450 | SensAdjust.Text = tonumber(sens) | |
451 | setText('Sens: '..sens) | |
452 | elseif Input.KeyCode == targetpart_change then | |
453 | val = val+1 | |
454 | targetpart = val<=#parts and parts[val] or parts[1] | |
455 | if parts[1]==targetpart then val = 1 end | |
456 | Notification({Title='Target Part';Text='Target part set to '..targetpart;Duration=2;}) | |
457 | setText('Target Part: '..targetpart) | |
458 | elseif Input.KeyCode == ffatoggle then | |
459 | ffa = not ffa | |
460 | Notification({Title='FFA Mode';Text='FFA Mode is '..(ffa and 'Enabled' or 'Disabled');Duration=2;}) | |
461 | setText('FFA Mode: '..(ffa and 'Enabled' or 'Disabled')) | |
462 | elseif Input.KeyCode == priority_toggle then | |
463 | aim_priority = aim_priority+1>2 and 0 or 1 | |
464 | aim_priority = aim_priority+1 | |
465 | FovGui.Visible = aim_priority>1 | |
466 | Notification({Title='Aim Priority';Text='Aim Priority: '..(aim_priority==1 and 'Distance' or 'FOV');Duration=2;}) | |
467 | setText('Aim Priority: '..(aim_priority==1 and 'Distance' or 'FOV')) | |
468 | elseif Input.KeyCode == toggle_bones then | |
469 | esp_bones = not esp_bones | |
470 | if not esp_bones then | |
471 | for _,v in next,ESP:GetDescendants() do | |
472 | if v:IsA('Frame') and v.Name:match('-') then | |
473 | v:Destroy() | |
474 | end | |
475 | end | |
476 | end | |
477 | Notification({Title='ESP';Text='ESP Bones: '..(esp_bones and 'Enabled' or 'Disabled');Duration=2;}) | |
478 | setText('Toggled ESP Bones '..(esp_bones and 'Enabled' or 'Disabled')) | |
479 | elseif Input.KeyCode == toggle_gui then | |
480 | hidden = not hidden | |
481 | for _,gui in next,GUI:GetDescendants() do | |
482 | if gui:IsA('GuiObject') and not hidden and not gui.Visible then | |
483 | gui.Visible = true | |
484 | Mouse.Icon = 'rbxassetid://'..mouseiconid | |
485 | elseif gui:IsA('GuiObject') and gui.Visible then | |
486 | gui.Visible = false | |
487 | esp_toggled = false | |
488 | Mouse.Icon = old_icon | |
489 | end | |
490 | end | |
491 | elseif Input.KeyCode == toggle_bottompos then | |
492 | bottompos = not bottompos | |
493 | if bottompos then | |
494 | Bottom.Position = UDim2.new(.5,0,1,1) | |
495 | end | |
496 | elseif Input.KeyCode == toggle_performance then | |
497 | performancemode = not performancemode | |
498 | setText('Performance Mode '..(performancemode and 'Enabled' or 'Disabled')) | |
499 | elseif Input.KeyCode == toggle_chams then | |
500 | esp_chams = not esp_chams | |
501 | setText('Chams '..(esp_chams and 'Enabled' or 'Disabled')) | |
502 | Notification({Title='ESP';Text='Chams: '..(esp_chams and 'Enabled' or 'Disabled');Duration=2;}) | |
503 | elseif Input.KeyCode == toggle_tracers then | |
504 | esp_tracers = not esp_tracers | |
505 | setText('Tracers '..(esp_chams and 'Enabled' or 'Disabled')) | |
506 | Notification({Title='ESP';Text='Tracers: '..(esp_tracers and 'Enabled' or 'Disabled');Duration=2;}) | |
507 | elseif Input.KeyCode == toggle_boxes then | |
508 | bounding_box = not bounding_box | |
509 | setText('Bounding Boxes '..(bounding_box and 'Enabled' or 'Disabled')) | |
510 | Notification({Title='ESP';Text='Bounding Boxes: '..(bounding_box and 'Enabled' or 'Disabled');Duration=2;}) | |
511 | elseif Input.KeyCode == toggle_font then | |
512 | currentfont = (currentfont+1)>#fonts and 1 or currentfont+1 | |
513 | for _,v in next,GUI:GetDescendants() do | |
514 | if v.Name~='KeysList' then | |
515 | if v:IsA('TextLabel') or v:IsA('TextButton') then | |
516 | v.Font = fonts[currentfont] | |
517 | end | |
518 | end | |
519 | end | |
520 | end | |
521 | end) | |
522 | ||
523 | UIS.InputEnded:Connect(function(Input) | |
524 | if Input.KeyCode == toggle_aim or Input.UserInputType == toggle_aim then | |
525 | aim_toggled = false | |
526 | end | |
527 | end) | |
528 | ||
529 | local function checkifspawned(x) | |
530 | spawned = false | |
531 | while not spawned and game.PlaceId==292439477 do | |
532 | spawned = distfromspawn(x)>200 and true or false | |
533 | wait(1/5) | |
534 | end | |
535 | spawned = true | |
536 | end | |
537 | ||
538 | checkifspawned(Player) | |
539 | Player.CharacterAdded:Connect(function(c) | |
540 | checkifspawned(Player) | |
541 | ||
542 | for _,v in next,ESP:GetDescendants() do | |
543 | if v:IsA('Frame') and v.Name:match('-') then | |
544 | v:Destroy() | |
545 | end | |
546 | end | |
547 | end) | |
548 | ||
549 | Notification({Title='GameSense '..version;Text='Cheat loaded successfully.';Icon='rbxassetid://2572157833';Duration=10;}) | |
550 | wait(.5) | |
551 | Notification({Title='Main Coder';Text='AvexusDev';Duration=4;Icon='https://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&username=AvexusDev'}) | |
552 | wait(.5) | |
553 | Notification({Title='Thank you!';Text='If you like this script, please leave a vouch on my thread!';Duration=4;}) | |
554 | ||
555 | RS.RenderStepped:Connect(function() | |
556 | if cursor then | |
557 | FovGui.Position = cursor.Position-UDim2.new(0,FovGui.AbsoluteSize.X/2,0,FovGui.AbsoluteSize.Y/2) | |
558 | Indicator.Position = cursor.Position+UDim2.new(0,0,0,40) | |
559 | end | |
560 | end) | |
561 | ||
562 | Mouse.Button1Down:Connect(function() | |
563 | spawn(function() | |
564 | if FovGui.Visible then | |
565 | FovGui:TweenSize(UDim2.new(0,Camera.ViewportSize.X/(90/fov)*2.35,0,Camera.ViewportSize.X/(90/fov)*2.35),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true) | |
566 | wait(.1) | |
567 | FovGui:TweenSize(UDim2.new(0,Camera.ViewportSize.X/(90/fov)*2,0,Camera.ViewportSize.X/(90/fov)*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true) | |
568 | end | |
569 | end) | |
570 | end) | |
571 | ||
572 | while true do | |
573 | Indicator.Text = (aim_priority>1 and 'FOV: '..fov or 'Distance') ..'\nSens: '..sens..(aim_toggled and '\nAiming' or '') | |
574 | if not bottompos then Bottom.Position = cursor.Position end | |
575 | if esp_toggled then | |
576 | for _,v in next,ESP:children() do | |
577 | if v~=Bottom and not Players:FindFirstChild(v.Name) then | |
578 | v:Destroy() | |
579 | end | |
580 | end | |
581 | for _,v in next,Players:GetPlayers() do | |
582 | local Char = v.Character | |
583 | if Char and spawned and v~=Player and Char:FindFirstChild(targetpart) and distfromspawn(v)>100 then | |
584 | if ffa or v.TeamColor~=Player.TeamColor then | |
585 | local X = Camera:GetPartsObscuringTarget({Camera.CFrame.p,Char[targetpart].CFrame.p},{v.Character,Char,Camera,unpack(windows)}) | |
586 | local Dist = Player:DistanceFromCharacter(Char:FindFirstChild(targetpart).Position) | |
587 | local Color = hiddencolor | |
588 | local Folder = ESP:FindFirstChild(v.Name) or Instance.new('Folder',ESP) | |
589 | Folder.Name = v.Name | |
590 | -- ESP | |
591 | local Head = Folder:FindFirstChild('Head') or Instance.new('Frame',Folder) | |
592 | if not Folder:FindFirstChild('Head') then | |
593 | Head.Name = 'Head' | |
594 | Head.BorderSizePixel = 1 | |
595 | Head.BorderColor3 = Color3.new(0,0,0) | |
596 | Head.BackgroundTransparency = 0 | |
597 | end | |
598 | Head.BackgroundColor3 = #X>0 and hiddencolor or #X==0 and visiblecolor | |
599 | Head.Rotation = headboxshape=='diamond' and 45 or 0 | |
600 | Head.ZIndex = 3 | |
601 | local HP = Folder:FindFirstChild('HP') or Instance.new('TextLabel',Folder) | |
602 | if not Folder:FindFirstChild('HP') then | |
603 | HP.Name = 'HP' | |
604 | HP.TextTransparency = Head.BackgroundTransparency-.4 | |
605 | HP.Font = fonts[currentfont] | |
606 | HP.TextStrokeTransparency = .6 | |
607 | HP.BackgroundTransparency = 1 | |
608 | HP.TextSize = 14 | |
609 | end | |
610 | HP.Text = showdists and Char.Name..'\n'..math.floor(Dist+.5) or Char.Name | |
611 | if aim_toggled and target==Char then | |
612 | Head.Size = UDim2.new(0,headboxaimsize,0,headboxaimsize) | |
613 | Head.BackgroundColor3 = aimingcolor | |
614 | HP.Text = showdists and '['..Char.Name..']'..'\n'..math.floor(Dist+.5) or '['..Char.Name..']' | |
615 | HP.TextSize = 16 | |
616 | else | |
617 | Head.Size = UDim2.new(0,headboxsize,0,headboxsize) | |
618 | end | |
619 | HP.TextColor3 = Head.BackgroundColor3 | |
620 | local toScreen = Camera:WorldToScreenPoint(Char[targetpart].CFrame.p) | |
621 | if #X==0 then Color = visiblecolor end | |
622 | Head.Position = UDim2.new(0,toScreen.X-Head.Size.X.Offset/2,0,toScreen.Y-Head.Size.Y.Offset/2) | |
623 | HP.Position = Head.Position-UDim2.new(0,0,0,textoffset) | |
624 | if esp_tracers then | |
625 | local Line = DrawLine(Folder,ESP.Bottom,Head,linesize,Head.BackgroundColor3,.75,1,Color3.new(0,0,0)) | |
626 | Line.Visible = Head.Visible | |
627 | else | |
628 | local imtired = Folder:FindFirstChild(ESP.Bottom.Name..'-'..Head.Name) | |
629 | if imtired then | |
630 | imtired:Destroy() | |
631 | end | |
632 | end | |
633 | if toScreen.Z<=0 then Head.Visible = false else Head.Visible = true end | |
634 | HP.Visible = Head.Visible | |
635 | if Char:FindFirstChild('Humanoid') and Char.Humanoid.RigType==Enum.HumanoidRigType.R6 then | |
636 | local Neck = Folder:FindFirstChild('Neck') or Instance.new('Frame',Folder) | |
637 | Neck.Name = 'Neck' | |
638 | Neck.ZIndex = 2 | |
639 | if Char['Torso']~=nil then | |
640 | local Pos = (Char.Torso.CFrame*CFrame.new(0,.8,0)).p | |
641 | local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z | |
642 | Neck.Position = UDim2.new(0,X,0,Y) | |
643 | Neck.BorderSizePixel = 0 | |
644 | if Z<=0 then Neck.Visible = false else Neck.Visible = true end | |
645 | else | |
646 | Neck.Visible = false | |
647 | end | |
648 | -- | |
649 | local Pelvis = Folder:FindFirstChild('Pelvis') or Instance.new('Frame',Folder) | |
650 | Pelvis.Name = 'Pelvis' | |
651 | Pelvis.ZIndex = 2 | |
652 | Pelvis.BorderSizePixel = 0 | |
653 | if Char['Torso']~=nil then | |
654 | local Pos = (Char.Torso.CFrame*CFrame.new(0,-1,0)).p | |
655 | local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z | |
656 | Pelvis.Position = UDim2.new(0,X,0,Y) | |
657 | if Z<=0 then Pelvis.Visible = false else Pelvis.Visible = true end | |
658 | else | |
659 | Pelvis.Visible = false | |
660 | end | |
661 | -- | |
662 | local RightFoot = Folder:FindFirstChild('Right Foot') or Instance.new('Frame',Folder) | |
663 | RightFoot.Name = 'Right Foot' | |
664 | RightFoot.ZIndex = 2 | |
665 | RightFoot.BorderSizePixel = 0 | |
666 | if Char['Right Leg']~=nil then | |
667 | local Pos = (Char['Right Leg'].CFrame*CFrame.new(0,-1,0)).p | |
668 | local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z | |
669 | RightFoot.Position = UDim2.new(0,X,0,Y) | |
670 | if Z<=0 then RightFoot.Visible = false else RightFoot.Visible = true end | |
671 | else | |
672 | RightFoot.Visible = false | |
673 | end | |
674 | -- | |
675 | local LeftFoot = Folder:FindFirstChild('Left Foot') or Instance.new('Frame',Folder) | |
676 | LeftFoot.Name = 'Left Foot' | |
677 | if Char['Left Leg']~=nil then | |
678 | local Pos = (Char['Left Leg'].CFrame*CFrame.new(0,-1,0)).p | |
679 | local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z | |
680 | LeftFoot.Position = UDim2.new(0,X,0,Y) | |
681 | LeftFoot.BorderSizePixel = 0 | |
682 | if Z<=0 then LeftFoot.Visible = false else LeftFoot.Visible = true end | |
683 | else | |
684 | LeftFoot.Visible = false | |
685 | end | |
686 | -- | |
687 | local RightHand = Folder:FindFirstChild('Right Hand') or Instance.new('Frame',Folder) | |
688 | RightHand.Name = 'Right Hand' | |
689 | RightHand.ZIndex = 2 | |
690 | RightHand.BorderSizePixel = 0 | |
691 | if Char['Right Arm']~=nil then | |
692 | local Pos = (Char['Right Arm'].CFrame*CFrame.new(0,-1,0)).p | |
693 | local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z | |
694 | RightHand.Position = UDim2.new(0,X,0,Y) | |
695 | if Z<=0 then RightHand.Visible = false else RightHand.Visible = true end | |
696 | else | |
697 | RightHand.Visible = false | |
698 | end | |
699 | -- | |
700 | local LeftHand = Folder:FindFirstChild('Left Hand') or Instance.new('Frame',Folder) | |
701 | LeftHand.Name = 'Left Hand' | |
702 | LeftHand.ZIndex = 2 | |
703 | LeftHand.BorderSizePixel = 0 | |
704 | if Char['Left Arm']~=nil then | |
705 | local Pos = (Char['Left Arm'].CFrame*CFrame.new(0,-1,0)).p | |
706 | local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z | |
707 | LeftHand.Position = UDim2.new(0,X,0,Y) | |
708 | if Z<=0 then LeftHand.Visible = false else LeftHand.Visible = true end | |
709 | else | |
710 | LeftHand.Visible = false | |
711 | end | |
712 | -- draw joints | |
713 | if esp_bones then | |
714 | if Head.Visible then DrawLine(Folder,Head,Neck,1,Color3.new(1,1,1),Head.BackgroundTransparency) end | |
715 | if Neck.Visible then DrawLine(Folder,Neck,Pelvis,1,Color3.new(1,1,1),Head.BackgroundTransparency) end | |
716 | if Neck.Visible then DrawLine(Folder,Neck,RightHand,1,Color3.new(1,1,1),Head.BackgroundTransparency) end | |
717 | if Neck.Visible then DrawLine(Folder,Neck,LeftHand,1,Color3.new(1,1,1),Head.BackgroundTransparency) end | |
718 | if Pelvis.Visible then DrawLine(Folder,Pelvis,RightFoot,1,Color3.new(1,1,1),Head.BackgroundTransparency) end | |
719 | if Pelvis.Visible then DrawLine(Folder,Pelvis,LeftFoot,1,Color3.new(1,1,1),Head.BackgroundTransparency) end | |
720 | end | |
721 | end | |
722 | ||
723 | if esp_chams then | |
724 | for _,Part in next,Char:children() do | |
725 | if Part:IsA('BasePart') and Part.Name~='HumanoidRootPart' then | |
726 | local Adornment = Folder:FindFirstChild(Part.Name..'_Cham') or Instance.new('BoxHandleAdornment',Folder) | |
727 | if not Folder:FindFirstChild(Part.Name..'_Cham') then | |
728 | Adornment.Name = Part.Name..'_Cham' | |
729 | Adornment.Adornee = Part | |
730 | Adornment.AlwaysOnTop = true | |
731 | Adornment.Size = Part.Name=='Head' and Vector3.new(1,1,1) or Part.Size | |
732 | Adornment.ZIndex = 1 | |
733 | end | |
734 | Adornment.Color3 = Head.BackgroundColor3 | |
735 | end | |
736 | end | |
737 | else | |
738 | for _,v in next,Folder:GetDescendants() do | |
739 | if v.Name:match('Cham') then | |
740 | v:Destroy() | |
741 | end | |
742 | end | |
743 | end | |
744 | ||
745 | if bounding_box and Char:FindFirstChild('HumanoidRootPart') then | |
746 | local Box = Char:FindFirstChild('Box') or Instance.new('BillboardGui',Char) | |
747 | if not Char:FindFirstChild('Box') then | |
748 | Box.Name = 'Box' | |
749 | Box.Adornee = Char:FindFirstChild('HumanoidRootPart') | |
750 | Box.AlwaysOnTop = true | |
751 | Box.LightInfluence = 0 | |
752 | Box.StudsOffset = Vector3.new(0,-Box.Adornee.Size.Y/4,0) | |
753 | Box.Size = UDim2.new(4,1,5,1) | |
754 | local Top = Instance.new('Frame',Box) | |
755 | Top.Size = UDim2.new(1,0,0,box_line_size) | |
756 | Top.BorderSizePixel = 0 | |
757 | local Bot = Top:Clone() | |
758 | Bot.Position = UDim2.new(0,0,1,-box_line_size) | |
759 | Bot.Parent = Box | |
760 | local Left = Top:Clone() | |
761 | Left.Size = UDim2.new(0,1,1,0) | |
762 | Left.Parent = Box | |
763 | local Right = Left:Clone() | |
764 | Right.Position = UDim2.new(1,-box_line_size,0,0) | |
765 | Right.Parent = Box | |
766 | end | |
767 | for _,v in next,Box:children() do | |
768 | if v:IsA('Frame') then | |
769 | v.BackgroundColor3 = Head.BackgroundColor3 | |
770 | end | |
771 | end | |
772 | else | |
773 | local Box = Char:FindFirstChild('Box') | |
774 | if Box then | |
775 | Box:Destroy() | |
776 | end | |
777 | end | |
778 | ||
779 | if lockedon and target and aim_line and ESP:FindFirstChild(target.Name) then | |
780 | DrawLine(ESP,cursor,ESP:FindFirstChild(target.Name).Head,1,Head.BackgroundColor3,.5) | |
781 | end | |
782 | ||
783 | else | |
784 | if ESP:FindFirstChild(v.Name) then | |
785 | ESP:FindFirstChild(v.Name):Destroy() | |
786 | end | |
787 | end | |
788 | else | |
789 | if ESP:FindFirstChild(v.Name) then | |
790 | ESP:FindFirstChild(v.Name):Destroy() | |
791 | end | |
792 | end | |
793 | end | |
794 | else | |
795 | for _,v in next,ESP:children() do | |
796 | if v:IsA('Folder') then | |
797 | v:Destroy() | |
798 | end | |
799 | end | |
800 | end | |
801 | if performancemode then | |
802 | wait(1/(workspace:GetRealPhysicsFPS()*.75)) | |
803 | else | |
804 | RS.Stepped:wait() | |
805 | end | |
806 | end | |
807 | ||
808 | --[[ broken | |
809 | spawn(function() | |
810 | while script and game.PlaceId == 292439477 and workspace:FindFirstChild('Map') do | |
811 | windows = {} | |
812 | for _,v in next,workspace.Map:GetChildren() do | |
813 | if v.Name=='Window' then | |
814 | table.insert(windows,v) | |
815 | end | |
816 | end | |
817 | wait(2) | |
818 | end | |
819 | end) | |
820 | --]] |