Hebablazin

Cape

May 31st, 2016
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. --Cape Gifted by machontz, Local Script!
  2.  
  3. wait(2);
  4. local ta1 = 5;
  5. function Cape(player,color)
  6. color = color or player.Torso.BrickColor;
  7. if (player:FindFirstChild("Head") == nil) then return nil; end
  8. local m = Instance.new("Model");
  9. m.Name = "Cape_Yshi";
  10. local neckpiece = Instance.new("Part",m);
  11. neckpiece.formFactor = "Plate";
  12. neckpiece.Size = Vector3.new(2,.4,1);
  13. neckpiece.Name = "NeckPiece";
  14. neckpiece.BrickColor = color;
  15. neckpiece.CanCollide = false;
  16. neckpiece.TopSurface = "Smooth";
  17. neckpiece.BottomSurface = "Smooth";
  18. local neckweld = Instance.new("Weld",neckpiece);
  19.  
  20. neckweld.Part0 = player.Head;
  21. neckweld.Part1 = neckpiece;
  22. neckweld.C0 = CFrame.new(0,-.5,0);
  23. local seg1 = neckpiece:Clone();
  24. seg1.Size = Vector3.new(3,.4,1);
  25. seg1.Parent = m;
  26. seg1.Name = "Segment_1";
  27. local seg1w = Instance.new("Weld",seg1);
  28. seg1w.Part0 = neckpiece;
  29. seg1w.Part1 = seg1;
  30. seg1w.C0 = CFrame.new(0,0,.45);
  31. seg1w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-80),0,0);
  32. local seg2 = seg1:Clone();
  33. seg2.Parent = m;
  34. seg2.Name = "Segment_2";
  35. local seg2w = Instance.new("Weld",seg2);
  36. seg2w.Part0 = seg1;
  37. seg2w.Part1 = seg2;
  38. seg2w.C0 = CFrame.new(0,0,.45);
  39. seg2w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-5),0,0);
  40. m.Parent = player;
  41. local seg3 = seg2:Clone();
  42. seg3.Parent = m;
  43. seg3.Name = "Segment_3";
  44. local seg3w = Instance.new("Weld",seg3);
  45. seg3w.Part0 = seg2;
  46. seg3w.Part1 = seg3;
  47. seg3w.C0 = CFrame.new(0,0,.45);
  48. seg3w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-2),0,0);
  49. local seg4 = seg3:Clone();
  50. seg4.Name = "Segment_4";
  51. seg4.Parent = m;
  52. local seg4w = Instance.new("Weld",seg4);
  53. seg4w.Part0 = seg3;
  54. seg4w.Part1 = seg4;
  55. seg4w.C0 = CFrame.new(0,0,.45);
  56. seg4w.C1 = CFrame.new(0,0,-.45);
  57. return m;
  58. end
  59.  
  60. function Flex(cape,vals)
  61. for i,v in pairs(vals) do
  62. if(i ~= 1) then
  63. cape:GetChildren()[i].Weld.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(vals[i-1]),0,0);
  64. end
  65. end
  66. end
  67. local char = game.Players.LocalPlayer.Character;
  68. local cape = Cape(char);
  69. local lastfrstrad = -60;
  70. for i=0, math.huge do
  71. local frstrad = -60;
  72. ta = ta1 * char.Torso.Velocity.magnitude/16 + 1 * (math.random()+.5);
  73. if(ta>10) then
  74. ta = math.random(90,100)/10;
  75. end
  76. frstrad = frstrad + (char.Torso.Velocity.magnitude) + math.sin(i)*3*ta;
  77. if(frstrad > 65) then
  78. frstrad = 65;
  79. elseif (char.Torso.Velocity.magnitude < 5) then
  80. frstrad = -80;
  81. end
  82. if(char.Humanoid:HasCustomStatus("Flying"))then
  83. frstrad = -80;
  84. ta = 15;
  85. end
  86. frstrad = (frstrad+lastfrstrad)/2;
  87. lastfrstrad = frstrad;
  88. Flex(cape,{frstrad,math.sin(i+20)*-1*ta,math.sin(i+20)*2*ta,math.sin(i+20)*ta,math.sin(i+20)*-1*ta});
  89. wait(.05);
  90. end
  91.  
  92. print 'Hello world!'
Add Comment
Please, Sign In to add comment