SHOW:
|
|
- or go back to the newest paste.
1 | local plrs = game:GetService("Players") | |
2 | local TeamBased = true ; local teambasedswitch = "o" | |
3 | local presskeytoaim = true; local aimkey = "e" | |
4 | local raycast = false | |
5 | ||
6 | local espupdatetime = 5; autoesp = false | |
7 | ||
8 | ||
9 | ||
10 | local lockaim = true; local lockangle = 5 | |
11 | ||
12 | ||
13 | ||
14 | --function findwat(folder, what) | |
15 | -- for i, smth in pairs(folder:GetChildren()) do | |
16 | -- if string.find(string.lower(tostring(smth)), string.lower(what)) then | |
17 | -- return smth | |
18 | -- end | |
19 | -- end | |
20 | --end | |
21 | -- | |
22 | --local plrs = findwat(game, "Players") | |
23 | ||
24 | ||
25 | ||
26 | ||
27 | local Gui = Instance.new("ScreenGui") | |
28 | local Move = Instance.new("Frame") | |
29 | local Main = Instance.new("Frame") | |
30 | local EspStatus = Instance.new("TextLabel") | |
31 | local st1 = Instance.new("TextLabel") | |
32 | local st1_2 = Instance.new("TextLabel") | |
33 | local st1_3 = Instance.new("TextLabel") | |
34 | local Name = Instance.new("TextLabel") | |
35 | --Properties: | |
36 | Gui.Name = "Gui" | |
37 | Gui.Parent = plrs.LocalPlayer:WaitForChild("PlayerGui") | |
38 | ||
39 | Move.Name = "Move" | |
40 | Move.Parent = Gui | |
41 | Move.BackgroundColor3 = Color3.new(0.545098, 0, 0) | |
42 | Move.BackgroundTransparency = 1 | |
43 | Move.BorderSizePixel = 0 | |
44 | Move.Draggable = true | |
45 | Move.Position = UDim2.new(0.005, 0, -0.15, 0) | |
46 | Move.Size = UDim2.new(0.28141585, 0, 0.0320388414, 0) | |
47 | ||
48 | Main.Name = "Main" | |
49 | Main.Parent = Move | |
50 | Main.BackgroundColor3 = Color3.new(1, 1, 1) | |
51 | Main.Position = UDim2.new(0, -7, 20.9960003, 0) | |
52 | Main.Size = UDim2.new(1, 0, 5.79699993, 0) | |
53 | Main.Style = Enum.FrameStyle.RobloxSquare | |
54 | ||
55 | EspStatus.Name = "EspStatus" | |
56 | EspStatus.Parent = Main | |
57 | EspStatus.BackgroundColor3 = Color3.new(1, 1, 1) | |
58 | EspStatus.BackgroundTransparency = 1 | |
59 | EspStatus.Position = UDim2.new(0, 0, 0.300000012, 0) | |
60 | EspStatus.Size = UDim2.new(1, 0, 0.162, 0) | |
61 | EspStatus.Font = Enum.Font.ArialBold | |
62 | EspStatus.Text = "Press O to change team based mode" | |
63 | EspStatus.TextColor3 = Color3.new(0.6, 0.196078, 0.8) | |
64 | EspStatus.TextScaled = true | |
65 | EspStatus.TextWrapped = true | |
66 | ||
67 | st1.Name = "st1" | |
68 | st1.Parent = Main | |
69 | st1.BackgroundColor3 = Color3.new(1, 1, 1) | |
70 | st1.BackgroundTransparency = 1 | |
71 | st1.Position = UDim2.new(0.271787882, 0, 0, 0) | |
72 | st1.Size = UDim2.new(0.728211343, 0, 0.161862016, 0) | |
73 | st1.Font = Enum.Font.ArialBold | |
74 | st1.Text = "" | |
75 | st1.TextColor3 = Color3.new(0.0784314, 0.541176, 0) | |
76 | st1.TextScaled = true | |
77 | st1.TextSize = 14 | |
78 | st1.TextWrapped = true | |
79 | ||
80 | st1_2.Name = "st1" | |
81 | st1_2.Parent = Main | |
82 | st1_2.BackgroundColor3 = Color3.new(1, 1, 1) | |
83 | st1_2.BackgroundTransparency = 1 | |
84 | st1_2.Position = UDim2.new(0, 0, 0.875999987, 0) | |
85 | st1_2.Size = UDim2.new(0.999999881, 0, 0.161862016, 0) | |
86 | st1_2.Font = Enum.Font.ArialBold | |
87 | st1_2.Text = "Press E to lock on a person inside ur view" | |
88 | st1_2.TextColor3 = Color3.new(0.6, 0.196078, 0.8) | |
89 | st1_2.TextScaled = true | |
90 | st1_2.TextWrapped = true | |
91 | ||
92 | st1_3.Name = "st1" | |
93 | st1_3.Parent = Main | |
94 | st1_3.BackgroundColor3 = Color3.new(1, 1, 1) | |
95 | st1_3.BackgroundTransparency = 1 | |
96 | st1_3.Position = UDim2.new(0, 0, 0.54, 0) | |
97 | st1_3.Size = UDim2.new(1, 0, 0.261999995, 0) | |
98 | st1_3.Font = Enum.Font.ArialBold | |
99 | st1_3.Text = "Press L to enable esp loop and press T to update esp" | |
100 | st1_3.TextColor3 = Color3.new(0.6, 0.196078, 0.8) | |
101 | st1_3.TextScaled = true | |
102 | st1_3.TextWrapped = true | |
103 | ||
104 | ||
105 | Name.Name = "Name" | |
106 | Name.Parent = Move | |
107 | Name.BackgroundColor3 = Color3.new(0.545098, 0, 0) | |
108 | Name.BackgroundTransparency = 1 | |
109 | Name.Position = UDim2.new(0, 25, 20.9860001, 0) | |
110 | Name.Size = UDim2.new(0.838, 0, 1.27999997, 0) | |
111 | Name.Font = Enum.Font.Arcade | |
112 | Name.Text = "ARSENAL GUI" | |
113 | Name.TextColor3 = Color3.new(0.541176, 0.168627, 0.886275) | |
114 | Name.TextScaled = true | |
115 | Name.TextSize = 12 | |
116 | Name.TextWrapped = true | |
117 | -- Scripts: | |
118 | ||
119 | ||
120 | local plrsforaim = {} | |
121 | ||
122 | local lplr = game:GetService("Players").LocalPlayer | |
123 | Move.Draggable = true | |
124 | Gui.ResetOnSpawn = false | |
125 | Gui.Name = "Chat" | |
126 | Gui.DisplayOrder = 999 | |
127 | ||
128 | Gui.Parent = plrs.LocalPlayer.PlayerGui | |
129 | ||
130 | ||
131 | f = {} | |
132 | local espforlder | |
133 | ||
134 | f.addesp = function() | |
135 | --print("ESP ran") | |
136 | if espforlder then | |
137 | else | |
138 | espforlder = Instance.new("Folder") | |
139 | espforlder.Parent = game.Workspace.CurrentCamera | |
140 | end | |
141 | for i, v in pairs(espforlder:GetChildren()) do | |
142 | v:Destroy() | |
143 | end | |
144 | for _, plr in pairs(plrs:GetChildren()) do | |
145 | if plr.Character and plr.Character.Humanoid.Health > 0 and plr.Name ~= lplr.Name then | |
146 | if TeamBased == true then | |
147 | if plr.Team.Name ~= plrs.LocalPlayer.Team.Name then | |
148 | local e = espforlder:FindFirstChild(plr.Name) | |
149 | if not e then | |
150 | --print("Added esp for team based") | |
151 | local bill = Instance.new("BillboardGui", espforlder) | |
152 | bill.Name = plr.Name | |
153 | bill.AlwaysOnTop = true | |
154 | bill.Size = UDim2.new(1,0,1,0) | |
155 | bill.Adornee = plr.Character.Head | |
156 | local Frame = Instance.new('Frame',bill) | |
157 | Frame.Active = true | |
158 | Frame.BackgroundColor3 = Color3.new(1,0,0) | |
159 | Frame.BackgroundTransparency = 0 | |
160 | Frame.BorderSizePixel = 0 | |
161 | Frame.AnchorPoint = Vector2.new(.5, .5) | |
162 | Frame.Position = UDim2.new (0.5,0,0.5,0) | |
163 | Frame.Size = UDim2.new (1,0,1,0) | |
164 | Frame.Rotation = 0 | |
165 | plr.Character.Humanoid.Died:Connect(function() | |
166 | bill:Destroy() | |
167 | end) | |
168 | end | |
169 | end | |
170 | else | |
171 | local e = espforlder:FindFirstChild(plr.Name) | |
172 | if not e then | |
173 | --print("Added esp") | |
174 | local bill = Instance.new("BillboardGui", espforlder) | |
175 | bill.Name = plr.Name | |
176 | bill.AlwaysOnTop = true | |
177 | bill.Size = UDim2.new(1,0,1,0) | |
178 | bill.Adornee = plr.Character.Head | |
179 | local Frame = Instance.new('Frame',bill) | |
180 | Frame.Active = true | |
181 | Frame.BackgroundColor3 = Color3.new(0.541176, 0.168627, 0.886275) | |
182 | Frame.BackgroundTransparency = 0 | |
183 | Frame.BorderSizePixel = 0 | |
184 | Frame.AnchorPoint = Vector2.new(.5, .5) | |
185 | Frame.Position = UDim2.new (0.5,0,0.5,0) | |
186 | Frame.Size = UDim2.new (1,0,1,0) | |
187 | Frame.Rotation = 0 | |
188 | plr.Character.Humanoid.Died:Connect(function() | |
189 | bill:Destroy() | |
190 | end) | |
191 | end | |
192 | end | |
193 | ||
194 | ||
195 | end | |
196 | end | |
197 | end | |
198 | local cam = game.Workspace.CurrentCamera | |
199 | ||
200 | local mouse = lplr:GetMouse() | |
201 | local switch = false | |
202 | local key = "k" | |
203 | local aimatpart = nil | |
204 | mouse.KeyDown:Connect(function(a) | |
205 | if a == "t" then | |
206 | print("worked1") | |
207 | f.addesp() | |
208 | elseif a == "u" then | |
209 | if raycast == true then | |
210 | raycast = false | |
211 | else | |
212 | raycast = true | |
213 | end | |
214 | elseif a == "l" then | |
215 | if autoesp == false then | |
216 | autoesp = true | |
217 | else | |
218 | autoesp = false | |
219 | end | |
220 | end | |
221 | if a == "j" then | |
222 | if mouse.Target then | |
223 | mouse.Target:Destroy() | |
224 | end | |
225 | end | |
226 | if a == key then | |
227 | if switch == false then | |
228 | switch = true | |
229 | else | |
230 | switch = false | |
231 | if aimatpart ~= nil then | |
232 | aimatpart = nil | |
233 | end | |
234 | end | |
235 | elseif a == teambasedswitch then | |
236 | if TeamBased == true then | |
237 | TeamBased = false | |
238 | teambasedstatus.Text = tostring(TeamBased) | |
239 | else | |
240 | TeamBased = true | |
241 | teambasedstatus.Text = tostring(TeamBased) | |
242 | end | |
243 | elseif a == aimkey then | |
244 | if not aimatpart then | |
245 | local maxangle = math.rad(20) | |
246 | for i, plr in pairs(plrs:GetChildren()) do | |
247 | if plr.Name ~= lplr.Name and plr.Character and plr.Character.Head and plr.Character.Humanoid and plr.Character.Humanoid.Health > 1 then | |
248 | if TeamBased == true then | |
249 | if plr.Team.Name ~= lplr.Team.Name then | |
250 | local an = checkfov(plr.Character.Head) | |
251 | if an < maxangle then | |
252 | maxangle = an | |
253 | aimatpart = plr.Character.Head | |
254 | end | |
255 | end | |
256 | else | |
257 | local an = checkfov(plr.Character.Head) | |
258 | if an < maxangle then | |
259 | maxangle = an | |
260 | aimatpart = plr.Character.Head | |
261 | end | |
262 | print(plr) | |
263 | end | |
264 | plr.Character.Humanoid.Died:Connect(function() | |
265 | if aimatpart.Parent == plr.Character or aimatpart == nil then | |
266 | aimatpart = nil | |
267 | end | |
268 | end) | |
269 | end | |
270 | end | |
271 | else | |
272 | aimatpart = nil | |
273 | end | |
274 | end | |
275 | end) | |
276 | ||
277 | function getfovxyz (p0, p1, deg) | |
278 | local x1, y1, z1 = p0:ToOrientation() | |
279 | local cf = CFrame.new(p0.p, p1.p) | |
280 | local x2, y2, z2 = cf:ToOrientation() | |
281 | --local d = math.deg | |
282 | if deg then | |
283 | --return Vector3.new(d(x1-x2), d(y1-y2), d(z1-z2)) | |
284 | else | |
285 | return Vector3.new((x1-x2), (y1-y2), (z1-z2)) | |
286 | end | |
287 | end | |
288 | ||
289 | function getaimbotplrs() | |
290 | plrsforaim = {} | |
291 | for i, plr in pairs(plrs:GetChildren()) do | |
292 | if plr.Character and plr.Character.Humanoid and plr.Character.Humanoid.Health > 0 and plr.Name ~= lplr.Name and plr.Character.Head then | |
293 | ||
294 | if TeamBased == true then | |
295 | if plr.Team.Name ~= lplr.Team.Name then | |
296 | local cf = CFrame.new(game.Workspace.CurrentCamera.CFrame.p, plr.Character.Head.CFrame.p) | |
297 | local r = Ray.new(cf, cf.LookVector * 10000) | |
298 | local ign = {} | |
299 | for i, v in pairs(plrs.LocalPlayer.Character:GetChildren()) do | |
300 | if v:IsA("BasePart") then | |
301 | table.insert(ign , v) | |
302 | end | |
303 | end | |
304 | local obj = game.Workspace:FindPartOnRayWithIgnoreList(r, ign) | |
305 | if obj.Parent == plr.Character and obj.Parent ~= lplr.Character then | |
306 | table.insert(plrsforaim, obj) | |
307 | end | |
308 | end | |
309 | else | |
310 | local cf = CFrame.new(game.Workspace.CurrentCamera.CFrame.p, plr.Character.Head.CFrame.p) | |
311 | local r = Ray.new(cf, cf.LookVector * 10000) | |
312 | local ign = {} | |
313 | for i, v in pairs(plrs.LocalPlayer.Character:GetChildren()) do | |
314 | if v:IsA("BasePart") then | |
315 | table.insert(ign , v) | |
316 | end | |
317 | end | |
318 | local obj = game.Workspace:FindPartOnRayWithIgnoreList(r, ign) | |
319 | if obj.Parent == plr.Character and obj.Parent ~= lplr.Character then | |
320 | table.insert(plrsforaim, obj) | |
321 | end | |
322 | end | |
323 | ||
324 | ||
325 | end | |
326 | end | |
327 | end | |
328 | ||
329 | function aimat(part) | |
330 | cam.CFrame = CFrame.new(cam.CFrame.p, part.CFrame.p) | |
331 | end | |
332 | function checkfov (part) | |
333 | local fov = getfovxyz(game.Workspace.CurrentCamera.CFrame, part.CFrame) | |
334 | local angle = math.abs(fov.X) + math.abs(fov.Y) | |
335 | return angle | |
336 | end | |
337 | ||
338 | game:GetService("RunService").RenderStepped:Connect(function() | |
339 | if aimatpart then | |
340 | aimat(aimatpart) | |
341 | if aimatpart.Parent == plrs.LocalPlayer.Character then | |
342 | aimatpart = nil | |
343 | end | |
344 | end | |
345 | ||
346 | ||
347 | -- if switch == true then | |
348 | -- local maxangle = 99999 | |
349 | -- | |
350 | -- --print("Loop") | |
351 | -- if true and raycast == false then | |
352 | -- for i, plr in pairs(plrs:GetChildren()) do | |
353 | -- if plr.Name ~= lplr.Name and plr.Character and plr.Character.Head and plr.Character.Humanoid and plr.Character.Humanoid.Health > 1 then | |
354 | -- if TeamBased then | |
355 | -- if plr.Team.Name ~= lplr.Team.Name or plr.Team.TeamColor ~= lplr.Team.TeamColor then | |
356 | -- local an = checkfov(plr.Character.Head) | |
357 | -- if an < maxangle then | |
358 | -- maxangle = an | |
359 | -- aimatpart = plr.Character.Head | |
360 | -- if an < lockangle then | |
361 | -- break | |
362 | -- end | |
363 | -- end | |
364 | -- end | |
365 | -- else | |
366 | -- local an = checkfov(plr.Character.Head) | |
367 | -- if an < maxangle then | |
368 | -- maxangle = an | |
369 | -- aimatpart = plr.Character.Head | |
370 | -- if an < lockangle then | |
371 | -- break | |
372 | -- end | |
373 | -- end | |
374 | -- end | |
375 | -- | |
376 | -- | |
377 | -- | |
378 | -- | |
379 | -- end | |
380 | -- end | |
381 | -- elseif raycast == true then | |
382 | -- | |
383 | -- end | |
384 | ||
385 | if raycast == true and switch == false and not aimatpart then | |
386 | getaimbotplrs() | |
387 | aimatpart = nil | |
388 | local maxangle = 999 | |
389 | for i, v in ipairs(plrsforaim) do | |
390 | if v.Parent ~= lplr.Character then | |
391 | local an = checkfov(v) | |
392 | if an < maxangle and v ~= lplr.Character.Head then | |
393 | maxangle = an | |
394 | aimatpart = v | |
395 | print(v:GetFullName()) | |
396 | v.Parent.Humanoid.Died:connect(function() | |
397 | aimatpart = nil | |
398 | end) | |
399 | end | |
400 | end | |
401 | end | |
402 | ||
403 | end | |
404 | end) | |
405 | delay(0, function() | |
406 | while wait(espupdatetime) do | |
407 | if autoesp == true then | |
408 | pcall(function() | |
409 | f.addesp() | |
410 | end) | |
411 | end | |
412 | end | |
413 | end) | |
414 | warn("loaded") |