Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- print("ESP Loading!")
- -- Credits to unreal for his chams method
- -- (name is a reference to a TF2 cheat)
- -- Script created by Blue
- local lmaoblox = {}
- local StartTime = tick()
- lmaoblox.User = {
- ['Player'] = game.Players.LocalPlayer,
- ['Character'] = game.Players.LocalPlayer.Character,
- ['Mouse'] = game.Players.LocalPlayer:GetMouse(),
- ['CurrentCamera'] = game.Workspace.CurrentCamera,
- ['Preferences'] = {
- ColorCoded = true,
- },
- }
- _G.LMAOBLOX = {
- }
- local LimbReg = {['Left Leg']=true,['Left Arm']=true,['Right Leg']=true,['Right Arm']=true,['Torso']=true,['Head']=true} -- why roblex
- local Colors = {
- visEnemy = Color3.new(1,0,0),
- obsEnemy = Color3.new(0.6,0,0),
- visFriendly = Color3.new(0,1,0),
- obsFriendly = Color3.new(0,0.6,0),
- visNeutral = Color3.new(0,0,1),
- obsNeutral = Color3.new(0,0,0.6),
- }
- lmaoblox.Functions = {
- RenderPart = function(Cham_Part)
- local Cham_Obj = Instance.new("BoxHandleAdornment")
- Cham_Obj.Name, Cham_Obj.Adornee, Cham_Obj.Size, Cham_Obj.Color3, Cham_Obj.Transparency, Cham_Obj.AlwaysOnTop, Cham_Obj.ZIndex = Cham_Part.Name, Cham_Part, Cham_Part.Size, Color3.new(0,0,1), 0, true, 1
- return Cham_Obj
- end,
- RenderCharacterModel = function(Player,Config)
- local Character = Instance.new("Model")
- Character.Name = Player.Name
- return Character
- end,
- GetCharacterModel = function(Player)
- return lmaoblox.User.CurrentCamera:FindFirstChild(Player.Name)
- end,
- GetChamFromLimb = function(Player,Limb)
- local CharacterModel = lmaoblox.User.CurrentCamera:FindFirstChild(Player.Name)
- if CharacterModel == false then return false end
- local Cham_Obj = CharacterModel:FindFirstChild(Limb.Name)
- return Cham_Obj
- end,
- GetPlayerFromInstance = function(Object)
- for i, Player in pairs(game.Players:GetPlayers()) do
- if Object:IsDescendantOf(Player) or Object:IsDescendantOf(Player.Character) then
- return Player
- end
- end
- return false
- end,
- GetPartColor = function(Player, Part)
- local Color = Color3.new(0,0,1)
- local CheckRay = Ray.new(workspace.CurrentCamera.CFrame.p,(Part.Position-workspace.CurrentCamera.CFrame.p).unit*900)
- local Hit,Position = game.Workspace:FindPartOnRay(CheckRay)
- local Blocked = false
- if Hit ~= nil then
- if Hit:isDescendantOf(Player.Character) then
- Blocked = false
- else
- Blocked = true
- end
- Color = (Blocked and Colors.obsNeutral or Colors.visNeutral)
- end
- if Player.TeamColor == lmaoblox.User.Player.TeamColor and game:FindService('Teams') then
- Color = (Blocked and Colors.obsFriendly or Colors.visFriendly)
- elseif Player.TeamColor ~= lmaoblox.User.Player.TeamColor and game:FindService('Teams') then
- Color = (Blocked and Colors.obsEnemy or Colors.visFriendly)
- end
- return Color
- end
- }
- lmaoblox.Core = {
- onChanged = function(Part,Property)
- local Player = lmaoblox.Functions.GetPlayerFromInstance(Part)
- if Player == false then return false end
- local Cham_Obj = lmaoblox.Functions.GetChamFromLimb(Player,Part)
- if Cham_Obj == false then return false end
- Cham_Obj.Size = Part.Size -- Pretty much all this is for...a
- end,
- }
- lmaoblox.Events = {
- onPlayerAdded = function(Player)
- Player.CharacterAdded:connect(function() lmaoblox.Events.onCharacterAdded(Player) end)
- end,
- onCharacterAdded = function(Player)
- repeat wait() until Player.Character
- local Character = Player.Character
- local CharacterModel = lmaoblox.Functions.RenderCharacterModel(Player)
- CharacterModel.Parent = lmaoblox.User.CurrentCamera
- Character.Humanoid.Died:connect(function()
- CharacterModel:destroy()
- end)
- for i, Object in pairs(Character:GetChildren()) do
- if LimbReg[Object.Name] == true then
- local GetPartColor = lmaoblox.Functions.GetPartColor(Player,Object)
- local Render = lmaoblox.Functions.RenderPart(Object)
- Render.Color3 = GetPartColor
- Render.Parent = CharacterModel
- end
- end
- end,
- onDescendantRemoving = function(Descendant)
- if game.Players:GetPlayerFromCharacter(Descendant) then
- local Player = game.Players:FindFirstChild(Descendant.Name)
- local CharacterModel = lmaoblox.Functions.GetCharacterModel(Player)
- if CharacterModel == false then return false end
- CharacterModel:destroy()
- end
- end,
- onRenderStepped = function()
- for i, Player in pairs(game.Players:GetPlayers()) do
- if Player ~= lmaoblox.User.Player then
- local Character = lmaoblox.Functions.GetCharacterModel(Player)
- for i, Object in pairs(Character:GetChildren()) do
- if LimbReg[Object.Name] == true then
- local GetPartColor = lmaoblox.Functions.GetPartColor(Player,Player.Character[Object.Name])
- local Render = lmaoblox.Functions.GetChamFromLimb(Player,Object)
- Render.Color3 = GetPartColor
- end
- end
- end
- end
- end,
- }
- game.Players.PlayerAdded:connect(lmaoblox.Events.onPlayerAdded)
- for i, Player in pairs(game.Players:GetPlayers()) do
- if Player ~= lmaoblox.User.Player then
- lmaoblox.Events.onCharacterAdded(Player)
- Player.CharacterAdded:connect(function()
- lmaoblox.Events.onCharacterAdded(Player)
- end)
- end
- end
- game.Workspace.DescendantRemoving:connect(lmaoblox.Events.onDescendantRemoving)
- game:GetService("RunService").RenderStepped:connect(lmaoblox.Events.onRenderStepped)
- print("ESP Loaded.\nTook "..tostring(tick()-StartTime).."ms")
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement