Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---//Mesh Compatible//---
- local RunService = game:GetService("RunService")
- local Players = game:GetService("Players")
- local Player = Players.LocalPlayer
- local Mouse = Player:GetMouse()
- script.Parent.CurrentCamera = workspace.CurrentCamera
- local HighlightColors = {
- ["Class1"] = Color3.fromRGB(0,0,255),
- ["Class2"] = Color3.fromRGB(255,0,0),
- ["Class3"] = Color3.fromRGB(0,255,0),
- }
- local DefaultHighlightColor = Color3.fromRGB(255,255,0)
- local ObjectToHighlight
- local ObjectProperties = {
- Color = nil,
- Material = nil,
- Texture = nil,
- }
- local ObjectClone
- local function SetTarget(Target, Class)
- if ObjectToHighlight and ObjectToHighlight ~= Target then
- if ObjectToHighlight:IsA("MeshPart") then
- ObjectToHighlight.TextureID = ObjectProperties.Texture
- end
- ObjectToHighlight.Color = ObjectProperties.Color
- ObjectToHighlight.Material = ObjectProperties.Material
- ObjectProperties.Color = nil
- ObjectProperties.Material = nil
- ObjectProperties.Texture = nil
- ObjectClone:Destroy()
- ObjectToHighlight = nil
- ObjectClone = nil
- elseif ObjectToHighlight and ObjectToHighlight == Target then
- return
- end
- ObjectToHighlight = Target
- ObjectProperties.Color = ObjectToHighlight.Color
- ObjectProperties.Material = ObjectToHighlight.Material
- if ObjectToHighlight:IsA("MeshPart") then
- ObjectProperties.Texture = ObjectToHighlight.TextureID
- end
- ObjectClone = ObjectToHighlight:Clone()
- print("Target and Clone set")
- if Class then
- ObjectToHighlight.Color = HighlightColors[Class]
- else
- ObjectToHighlight.Color = DefaultHighlightColor
- end
- ObjectClone.Anchored = true
- ObjectClone.Parent = script.Parent
- ObjectClone.CFrame = Target.CFrame
- ObjectToHighlight.Material = Enum.Material.Neon
- if ObjectToHighlight:IsA("MeshPart") then
- ObjectToHighlight.TextureID = ""
- end
- UpdateCFrame = RunService.RenderStepped:Connect(function()
- if ObjectToHighlight and ObjectClone then
- ObjectClone.CFrame = ObjectToHighlight.CFrame
- else
- UpdateCFrame:Disconnect()
- end
- end)
- end
- local function UnsetTarget()
- if ObjectToHighlight and ObjectClone then
- if ObjectToHighlight:IsA("MeshPart") then
- ObjectToHighlight.TextureID = ObjectProperties.Texture
- end
- ObjectToHighlight.Color = ObjectProperties.Color
- ObjectToHighlight.Material = ObjectProperties.Material
- ObjectClone:Destroy()
- end
- ObjectProperties.Color = nil
- ObjectProperties.Material = nil
- ObjectProperties.Texture = nil
- ObjectToHighlight = nil
- ObjectClone = nil
- end
- while wait() do
- if Mouse.Target and Mouse.Target.Name == "TestPart" then
- SetTarget(Mouse.Target)
- else
- UnsetTarget()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement