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