Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.71 KB | None | 0 0
  1. local RunService = game:GetService("RunService")
  2. local ignoreList = {
  3.     script.Parent,
  4.     workspace.LazorRays,
  5. }
  6.  
  7. script.Parent.ClickDetector.MouseClick:Connect(function()
  8.     local CreatedRay = Ray.new(script.Parent.Position, script.Parent.CFrame.LookVector*2048)
  9.     local HitPart, HitPosition = workspace:FindPartOnRayWithIgnoreList(CreatedRay, ignoreList)
  10.    
  11.     local Part = Instance.new("Part", workspace.LazorRays)
  12.     Part.Name = "LazorRay"
  13.     if HitPart then
  14.         Part.Size = Vector3.new(0.25,0.25, (script.Parent.Position - HitPosition).magnitude)
  15.     else
  16.         Part.Size = Vector3.new(0.25,0.25, 2048)
  17.     end
  18.    
  19.     Part.Orientation = script.Parent.Orientation
  20.     Part.Position = script.Parent.Position + Vector3.new(0, 0, -(Part.Size.Z/2))
  21.     Part.Color = Color3.fromRGB(255, 0, 0)
  22.     Part.Material = "Neon"
  23.     Part.CanCollide = false
  24.     Part.Anchored = true
  25.    
  26.     RunService.Heartbeat:Connect(function()
  27.     if Part then
  28.         local CreatedRay = Ray.new(script.Parent.Position, script.Parent.CFrame.LookVector*2048)
  29.         local HitPart, HitPosition = workspace:FindPartOnRayWithIgnoreList(CreatedRay, ignoreList)
  30.             if HitPart ~= nil then
  31.                 if HitPart.Transparency >= 0.5 or HitPart.Parent:IsA("Accessory") then
  32.                     table.insert(ignoreList, #ignoreList + 1, HitPart)
  33.                     CreatedRay = Ray.new(script.Parent.Position, script.Parent.CFrame.LookVector*2048)
  34.                     HitPart, HitPosition = workspace:FindPartOnRayWithIgnoreList(CreatedRay, ignoreList)
  35.                 else
  36.                     Part.Size = Vector3.new(0.25,0.25, (script.Parent.Position - HitPosition).magnitude)
  37.                 end    
  38.                
  39.             else
  40.                 Part.Size = Vector3.new(0.25,0.25, 2048)
  41.             end
  42.             print(script.Parent.Orientation)
  43.             Part.Position = script.Parent.Position + Vector3.new(0,0,-Part.Size.Z/2)
  44.             Part.Orientation = script.Parent.Orientation
  45.         end
  46.     end)
  47. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement