View difference between Paste ID: QUhdxEZF and TjmJV42k
SHOW: | | - or go back to the newest paste.
1
PLAYER  = game.Players.LocalPlayer
2
MOUSE   = PLAYER:GetMouse()
3
CC      = game.Workspace.CurrentCamera
4
 
5
ENABLED      = false
6
ESP_ENABLED  = false
7
 
8
_G.FREE_FOR_ALL = false
9
 
10
_G.BIND        = 118
11
_G.ESP_BIND    = 49
12
_G.CHANGE_AIM  = 'q'
13
 
14
_G.AIM_AT = 'Head'
15
 
16
wait(1)
17
 
18
function GetNearestPlayerToMouse()
19
local PLAYERS      = {}
20
local PLAYER_HOLD  = {}
21
local DISTANCES    = {}
22
for i, v in pairs(game.Players:GetPlayers()) do
23
if v.Name ~= game:GetService("Players").LocalPlayer.Name then
24
table.insert(PLAYERS, v)
25
end
26
end
27
for i, v in pairs(PLAYERS) do
28
if _G.FREE_FOR_ALL == false then
29
if v and (v.Character) ~= nil and v.TeamColor ~= PLAYER.TeamColor then
30
local AIM = v.Character:FindFirstChild(_G.AIM_AT)
31
if AIM ~= nil then
32
local DISTANCE                 = (AIM.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude
33
local RAY                      = Ray.new(game.Workspace.CurrentCamera.CoordinateFrame.p, (MOUSE.Hit.p - CC.CoordinateFrame.p).unit * DISTANCE)
34
local HIT,POS                  = game.Workspace:FindPartOnRay(RAY, game.Workspace)
35
local DIFF                     = math.floor((POS - AIM.Position).magnitude)
36
PLAYER_HOLD[v.Name .. i]       = {}
37
PLAYER_HOLD[v.Name .. i].dist  = DISTANCE
38
PLAYER_HOLD[v.Name .. i].plr   = v
39
PLAYER_HOLD[v.Name .. i].diff  = DIFF
40
table.insert(DISTANCES, DIFF)
41
end
42
end
43
elseif _G.FREE_FOR_ALL == true then
44
local AIM = v.Character:FindFirstChild(_G.AIM_AT)
45
if AIM ~= nil then
46
local DISTANCE                 = (AIM.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude
47
local RAY                      = Ray.new(game.Workspace.CurrentCamera.CoordinateFrame.p, (MOUSE.Hit.p - CC.CoordinateFrame.p).unit * DISTANCE)
48
local HIT,POS                  = game.Workspace:FindPartOnRay(RAY, game.Workspace)
49
local DIFF                     = math.floor((POS - AIM.Position).magnitude)
50
PLAYER_HOLD[v.Name .. i]       = {}
51
PLAYER_HOLD[v.Name .. i].dist  = DISTANCE
52
PLAYER_HOLD[v.Name .. i].plr   = v
53
PLAYER_HOLD[v.Name .. i].diff  = DIFF
54
table.insert(DISTANCES, DIFF)
55
end
56
end
57
end
58
 
59
if unpack(DISTANCES) == nil then
60
return false
61
end
62
 
63
local L_DISTANCE = math.floor(math.min(unpack(DISTANCES)))
64
if L_DISTANCE > 20 then
65
return false
66
end
67
 
68
for i, v in pairs(PLAYER_HOLD) do
69
if v.diff == L_DISTANCE then
70
return v.plr
71
end
72
end
73
return false
74
end
75
 
76
GUI_MAIN                           = Instance.new('ScreenGui', game.CoreGui)
77
GUI_TARGET                         = Instance.new('TextLabel', GUI_MAIN)
78
GUI_AIM_AT                         = Instance.new('TextLabel', GUI_MAIN)
79
 
80
GUI_MAIN.Name                      = 'oi'
81
 
82
GUI_TARGET.Size                    = UDim2.new(0,200,0,30)
83
GUI_TARGET.BackgroundTransparency  = 0.5
84
GUI_TARGET.BackgroundColor         = BrickColor.new('Fossil')
85
GUI_TARGET.BorderSizePixel         = 0
86
GUI_TARGET.Position                = UDim2.new(0.5,-100,0,0)
87
GUI_TARGET.Text                    = 'AIMBOT : OFF'
88
GUI_TARGET.TextColor3              = Color3.new(1,1,1)
89
GUI_TARGET.TextStrokeTransparency  = 1
90
GUI_TARGET.TextWrapped             = true
91
GUI_TARGET.FontSize                = 'Size24'
92
GUI_TARGET.Font                    = 'SourceSansBold'
93
 
94
GUI_AIM_AT.Size                    = UDim2.new(0,200,0,20)
95
GUI_AIM_AT.BackgroundTransparency  = 0.5
96
GUI_AIM_AT.BackgroundColor         = BrickColor.new('Fossil')
97
GUI_AIM_AT.BorderSizePixel         = 0
98
GUI_AIM_AT.Position                = UDim2.new(0.5,-100,0,30)
99
GUI_AIM_AT.Text                    = 'AIMING : HEAD'
100
GUI_AIM_AT.TextColor3              = Color3.new(1,1,1)
101
GUI_AIM_AT.TextStrokeTransparency  = 1
102
GUI_AIM_AT.TextWrapped             = true
103
GUI_AIM_AT.FontSize                = 'Size18'
104
GUI_AIM_AT.Font                    = 'SourceSansBold'
105
 
106
local TRACK = false
107
 
108
function CREATE(BASE, TEAM)
109
local ESP_MAIN                   = Instance.new('BillboardGui', PLAYER.PlayerGui)
110
local ESP_DOT                    = Instance.new('Frame', ESP_MAIN)
111
local ESP_NAME                   = Instance.new('TextLabel', ESP_MAIN)
112
 
113
ESP_MAIN.Name                    = 'ESP'
114
ESP_MAIN.Adornee                 = BASE
115
ESP_MAIN.AlwaysOnTop             = true
116
ESP_MAIN.ExtentsOffset           = Vector3.new(0, 1, 0)
117
ESP_MAIN.Size                    = UDim2.new(0, 5, 0, 5)
118
 
119
ESP_DOT.Name                     = 'DOT'
120
ESP_DOT.BackgroundColor          = BrickColor.new('Bright red')
121
ESP_DOT.BackgroundTransparency   = 0.3
122
ESP_DOT.BorderSizePixel          = 0
123
ESP_DOT.Position                 = UDim2.new(-0.5, 0, -0.5, 0)
124
ESP_DOT.Size                     = UDim2.new(2, 0, 2, 0)
125
ESP_DOT.Visible                  = true
126
ESP_DOT.ZIndex                   = 10
127
 
128
ESP_NAME.Name                    = 'NAME'
129
ESP_NAME.BackgroundColor3        = Color3.new(255, 255, 255)
130
ESP_NAME.BackgroundTransparency  = 1
131
ESP_NAME.BorderSizePixel         = 0
132
ESP_NAME.Position                = UDim2.new(0, 0, 0, -40)
133
ESP_NAME.Size                    = UDim2.new(1, 0, 10, 0)
134
ESP_NAME.Visible                 = true
135
ESP_NAME.ZIndex                  = 10
136
ESP_NAME.Font                    = 'ArialBold'
137
ESP_NAME.FontSize                = 'Size14'
138
ESP_NAME.Text                    = BASE.Parent.Name:upper()
139
ESP_NAME.TextColor               = BrickColor.new('Bright red')
140
end
141
 
142
function CLEAR()
143
for _,v in pairs(PLAYER.PlayerGui:children()) do
144
if v.Name == 'ESP' and v:IsA('BillboardGui') then
145
v:Destroy()
146
end
147
end
148
end
149
 
150
function FIND()
151
CLEAR()
152
TRACK = true
153
spawn(function()
154
while wait() do
155
if TRACK then
156
CLEAR()
157
for i,v in pairs(game.Players:GetChildren()) do
158
if v.Character and v.Character:FindFirstChild('Head') then
159
if _G.FREE_FOR_ALL == false then
160
if v.TeamColor ~= PLAYER.TeamColor then
161
if v.Character:FindFirstChild('Head') then
162
CREATE(v.Character.Head, true)
163
end
164
end
165
else
166
if v.Character:FindFirstChild('Head') then
167
CREATE(v.Character.Head, true)
168
end
169
end
170
end
171
end
172
end
173
end
174
wait(1)
175
end)
176
end
177
 
178
MOUSE.KeyDown:connect(function(KEY)
179
KEY = KEY:lower():byte()
180
if KEY == _G.BIND then
181
ENABLED = true
182
end
183
end)
184
 
185
MOUSE.KeyUp:connect(function(KEY)
186
KEY = KEY:lower():byte()
187
if KEY == _G.BIND then
188
ENABLED = false
189
end
190
end)
191
 
192
MOUSE.KeyDown:connect(function(KEY)
193
KEY = KEY:lower():byte()
194
if KEY == _G.ESP_BIND then
195
if ESP_ENABLED == false then
196
FIND()
197
ESP_ENABLED = true
198
print('ESP : ON')
199
elseif ESP_ENABLED == true then
200
wait()
201
CLEAR()
202
TRACK = false
203
ESP_ENABLED = true
204
print('ESP : OFF')
205
end
206
end
207
end)
208
 
209
MOUSE.KeyDown:connect(function(KEY)
210
if KEY == _G.CHANGE_AIM then
211
if _G.AIM_AT == 'Head' then
212
_G.AIM_AT = 'Torso'
213
GUI_AIM_AT.Text = 'AIMING : TORSO'
214
elseif _G.AIM_AT == 'Torso' then
215
_G.AIM_AT = 'Head'
216
GUI_AIM_AT.Text = 'AIMING : HEAD'
217
end
218
end
219
end)
220
 
221
game:GetService('RunService').RenderStepped:connect(function()
222
if ENABLED then
223
local TARGET = GetNearestPlayerToMouse()
224
if (TARGET ~= false) then
225
local AIM = TARGET.Character:FindFirstChild(_G.AIM_AT)
226
if AIM then
227
CC.CoordinateFrame = CFrame.new(CC.CoordinateFrame.p, AIM.CFrame.p)
228
end
229
GUI_TARGET.Text = 'AIMBOT : '.. TARGET.Name:sub(1, 5)
230
else
231
GUI_TARGET.Text = 'AIMBOT : OFF'
232
end
233
end
234
end)
235
 
236
repeat
237
wait()
238
if ESP_ENABLED == true then
239
FIND()
240
end
241
until ESP_ENABLED == false
242
wait()
243
_G.FREE_FOR_ALL = false
244
_G.BIND = 118 -- LEFT ALT
245
_G.ESP_BIND = 49 -- RIGHT CTRL