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