Tuesday, November 12, 2013

Cape Script

--MADE BY OneLegend (NOT THE SCRIPT) Thanks to TheRedAngel for letting me add. Feel free to take his model too. http://www.roblox.com/TheRedAngels-SB-Gift-NEW-SCRIPTS-item?id=88063410

--LOCAL SCRIPT: JUST RUN!

wait(2);

local ta1 = 5;

function Cape(player,color)

color = color or player.Torso.BrickColor;

if (player:FindFirstChild("Head") == nil) then return nil; end

local m = Instance.new("Model");

m.Name = "Cape_Yshi";

local neckpiece = Instance.new("Part",m);

neckpiece.formFactor = "Plate";

neckpiece.Size = Vector3.new(2,.4,1);

neckpiece.Name = "NeckPiece";

neckpiece.BrickColor = color;

neckpiece.CanCollide = false;

neckpiece.TopSurface = "Smooth";

neckpiece.BottomSurface = "Smooth";

local neckweld = Instance.new("Weld",neckpiece);

neckweld.Part0 = player.Head;

neckweld.Part1 = neckpiece;

neckweld.C0 = CFrame.new(0,-.5,0);

local seg1 = neckpiece:Clone();

seg1.Size = Vector3.new(3,.4,1);

seg1.Parent = m;

seg1.Name = "Segment_1";

local seg1w = Instance.new("Weld",seg1);

seg1w.Part0 = neckpiece;

seg1w.Part1 = seg1;

seg1w.C0 = CFrame.new(0,0,.45);

seg1w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-80),0,0);

local seg2 = seg1:Clone();

seg2.Parent = m;

seg2.Name = "Segment_2";

local seg2w = Instance.new("Weld",seg2);

seg2w.Part0 = seg1;

seg2w.Part1 = seg2;

seg2w.C0 = CFrame.new(0,0,.45);

seg2w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-5),0,0);

m.Parent = player;

local seg3 = seg2:Clone();

seg3.Parent = m;

seg3.Name = "Segment_3";

local seg3w = Instance.new("Weld",seg3);

seg3w.Part0 = seg2;

seg3w.Part1 = seg3;

seg3w.C0 = CFrame.new(0,0,.45);

seg3w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-2),0,0);

local seg4 = seg3:Clone();

seg4.Name = "Segment_4";

seg4.Parent = m;

local seg4w = Instance.new("Weld",seg4);

seg4w.Part0 = seg3;

seg4w.Part1 = seg4;

seg4w.C0 = CFrame.new(0,0,.45);

seg4w.C1 = CFrame.new(0,0,-.45);

return m;

end

function Flex(cape,vals)

for i,v in pairs(vals) do

if(i ~= 1) then

cape:GetChildren()[i].Weld.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(vals[i-1]),0,0);

end

end

end

local char = game.Players.LocalPlayer.Character;

local cape = Cape(char);

local lastfrstrad = -60;

for i=0, math.huge do

local frstrad = -60;

ta = ta1 * char.Torso.Velocity.magnitude/16 + 1 * (math.random()+.5);

if(ta>10) then

ta = math.random(90,100)/10;

end

frstrad = frstrad + (char.Torso.Velocity.magnitude) + math.sin(i)*3*ta;

if(frstrad > 65) then

frstrad = 65;

elseif (char.Torso.Velocity.magnitude < 5) then

frstrad = -80;

end

if(char.Humanoid:HasCustomStatus("Flying"))then

frstrad = -80;

ta = 15;

end

frstrad = (frstrad+lastfrstrad)/2;

lastfrstrad = frstrad;

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});

wait(.05);

end

print 'Hello world!'

.


No comments:

Post a Comment