Advertisement
Guest User

Working-Merc

a guest
Jan 17th, 2019
194
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.99 KB | None
  1. --[[
  2.     location: Parent of Part morphing
  3.     Folder: Folder holding morph parts on character
  4.    
  5. ]]
  6. function morph(plr, part, location, model, test)
  7.     if plr ~= nil then
  8.         if test == 'Morph' then
  9.             if plr:FindFirstChild('Morph') == nil then
  10.                 local Folder = Instance.new('Folder')
  11.                 Folder.Name = 'Morph'
  12.                 Folder.Parent = plr
  13.             end
  14.         elseif test == 'Coat' then
  15.             if plr:FindFirstChild('Coat') == nil then
  16.                 local Folder = Instance.new('Folder')
  17.                 Folder.Name = 'Coat'
  18.                 Folder.Parent = plr
  19.             end
  20.         elseif test == 'Add' then
  21.             if plr:FindFirstChild('Add') == nil then
  22.                 local Folder = Instance.new('Folder')
  23.                 Folder.Name = 'Add'
  24.                 Folder.Parent = plr
  25.             end
  26.         elseif test == 'Pauld' then
  27.             if plr:FindFirstChild('Pauld') == nil then
  28.                 local Folder = Instance.new('Folder')
  29.                 Folder.Name = 'Pauld'
  30.                 Folder.Parent = plr
  31.             end
  32.         end
  33.         local Folder = (test == 'Morph' and plr:FindFirstChild('Morph')
  34.              or test == 'Coat' and plr:FindFirstChild('Coat')
  35.              or test == 'Add' and plr:FindFirstChild('Add')
  36.              or test == 'Pauld' and plr:FindFirstChild('Pauld'))
  37.         if Folder:FindFirstChild(model) == nil then
  38.             local g = location[model]:Clone()
  39.             g.Parent = Folder
  40.             for i, v in ipairs(g:GetChildren()) do
  41.                 if v:IsA("BasePart") then
  42.                     local W = Instance.new("Weld")
  43.                     W.Part0 = g.Middle
  44.                     W.Part1 = v
  45.                     local CJ = CFrame.new(g.Middle.Position)
  46.                     local C0 = g.Middle.CFrame:inverse() * CJ
  47.                     local C1 = v.CFrame:inverse() * CJ
  48.                     W.C0 = C0
  49.                     W.C1 = C1
  50.                     W.Parent = g.Middle
  51.                 end
  52.                 local Y = Instance.new("Weld")
  53.                 Y.Part0 = plr:FindFirstChild(part)
  54.                 Y.Part1 = g.Middle
  55.                 Y.C0 = CFrame.new(0, 0, 0)
  56.                 Y.Parent = Y.Part0
  57.             end
  58.             local h = g:GetChildren()
  59.             for i = 1, # h do
  60.                 if h[i].className == "Part" or  h[i].className == "UnionOperation" or  h[i].className == "MeshPart" or  h[i].className == "WedgePart" then  
  61.                     h[i].Anchored = false
  62.                     h[i].CanCollide = false
  63.                 end
  64.             end
  65.         end
  66.     end
  67. end
Advertisement
RAW Paste Data Copied
Advertisement