Horse Valley Script | HORSE ESP

Created by chris ?#8673

Features:

  • HORSE ESP
local player = game.Players.LocalPlayer;
local horses = workspace.Horses;
local camera = workspace.CurrentCamera;

local horse = horses[player.Name];

if Drawings then
   for i,v in next, Drawings do
       v:Remove()
       Drawings[i] = nil
   end
else
   getgenv().Drawings = {};
end

local function drawLine(startPos, endPos, oldLine)
   startPos, onScreen = camera:WorldToViewportPoint(startpos);
   endPos, onScreen2 = camera:WorldToViewportPoint(endpos);
   
   
   local line = oldLine or Drawing.new("Line");
   if not onScreen or not onScreen2 then
       line.Visible = false;
       return;
   end
   line.From = Vector2.new(startPos.X, startPos.Y);
   line.To = Vector2.new(endPos.X, endPos.Y)
   
   line.Thickness = 2;
   line.Color = Color3.fromRGB(math.random(1,255),math.random(1,255),math.random(1,255));
   line.Visible = true
   table.insert(Drawings, line);
   
   return line;
end

local lines = {}
local function drawHorse(horse)
   if not lines[horse] then
       lines[horse] = {};
   end
   
   local env, horseLines = getfenv(), lines[horse];
   
   for i,v in next, horse:GetChildren() do
       if v:IsA("MeshPart") then
           env[v.Name] = v.CFrame.p;
       end
   end
   
   local paths = {
       { FrontLeftFoot, FrontLowerLeftLeg, FrontMiddleLeftLeg, FrontUpperLeftLeg, UpperTorso },
       { FrontRightFoot, FrontLowerRightLeg, FrontMiddleRightLeg, FrontUpperRightLeg, UpperTorso, Neck, Head},
       { BackLeftFoot, BackLowerLeftLeg, BackMiddleLeftLeg, BackUpperLeftLeg, LowerTorso },
       { BackRightFoot, BackLowerRightLeg, BackMiddleRightLeg, BackUpperRightLeg, LowerTorso, UpperTorso }
   }
   local counter = 0;
   for index, path in next, paths do
       for i = 1, #path - 1 do
           local line = drawLine(path[i], path[i + 1], horseLines[counter]);
           if not horseLines[counter] and line then
               horseLines[counter] = line;
           end
           
           counter = counter + 1;
       end
   end
end

for index, horse in next, horses:GetChildren() do
   drawHorse(horse);
   
   horse.Changed:Connect(function()
       drawHorse(horse);
   end)
end

camera:GetPropertyChangedSignal("CFrame"):Connect(function()
   for index, horse in next, horses:GetChildren() do
       drawHorse(horse);
   end
end)

ENJOY!

Warning: DO NOT DOWNLOAD anything from this page, you’re only here to copy the script!

Share This Post

Share on facebook
Share on linkedin
Share on twitter
Share on email

More Scripts!

TOP 10 TRENDING SCRIPTS