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 |