Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- coroutine.wrap(function()
- game.Players.ChildAdded:connect(function(p)
- wait()
- p:Destroy()
- end)
- end)()
- local p = game.Players.LocalPlayer
- local char = p.Character
- local nc = Instance.new("Model",char)
- local t = char.Torso
- for i=10,1,-1 do
- game.Lighting.TimeOfDay=i
- wait(0.1)
- end
- t.Anchored=true
- nc.Name='NewChar'
- local zap = Instance.new("Part",char.NewChar)
- zap.Size=Vector3.new(5,1,5)
- zap.BrickColor=BrickColor.new'Really red'
- zap.Material = 'Corroded Metal'
- zap.CanCollide=false
- zap.Anchored=true
- zap.CFrame=t.CFrame*CFrame.new(0,-2.5,0)
- zap.Transparency=0.5
- cf=zap.CFrame
- for i=1,30,2 do
- zap.Size=Vector3.new(5,i*2,5)
- zap.CFrame=cf*CFrame.new(0,i,0)
- wait(0)
- end
- local zaptop = Instance.new("Part",nc)
- zaptop.FormFactor='Custom'
- zaptop.Size=Vector3.new(5,0.5,5)
- zaptop.Anchored=true
- cf=zap.CFrame*CFrame.new(0,zap.Size.Y/2,0)
- zaptop.CFrame=cf
- zaptop.Material=zap.Material
- zaptop.BrickColor=zap.BrickColor
- zaptop.Transparency=zap.Transparency
- for i=1,20 do
- zaptop.Size=zaptop.Size+Vector3.new(0.25,0.1,0.25)
- zaptop.CFrame=cf
- wait(0)
- end
- local w= Instance.new("Weld",char)
- w.Part0=zap
- w.Part1=t
- w.C0=CFrame.new(0,-(zap.Size.Y/2),0)
- w.C0=w.C0*CFrame.new(0,3,0)
- w2=Instance.new("Weld",char)
- w2.Part0=zap
- w2.Part1=zaptop
- w2.C0 = CFrame.new(0,zap.Size.Y/2,0)
- zap.Anchored,t.Anchored,zaptop.Anchored=false,false,false
- local mod = Instance.new('Model',nc)
- mod.Name = "Round"
- create = function(Z)
- local a = Instance.new("Part")
- a.Name=tostring(#nc.Round:children()+1)
- a.Parent=nc.Round
- a.FormFactor='Custom'
- a.Size=Vector3.new(1,zap.Size.Y,1)
- a.BrickColor=zap.BrickColor
- a.Material=zap.Material
- a.Transparency=0.5
- local w3 = Instance.new("Weld",zaptop)
- w3.Part0 = zaptop
- w3.Part1 = a
- w3.Name=w3.Name..a.Name
- print(Z)
- if Z=='z' then
- w3.C0=CFrame.new(0,-(a.Size.Y/2),-(zaptop.Size.Z/2))
- elseif Z=='x' then
- w3.C0=CFrame.new(-(zaptop.Size.X/2),-(a.Size.Y/2),0)
- elseif Z=='-z' then
- w3.C0=CFrame.new(0,-(a.Size.Y/2),(zaptop.Size.Z/2))
- elseif Z=='-x' then
- w3.C0=CFrame.new((zaptop.Size.X/2),-(a.Size.Y/2),0)
- end
- end
- create'z'
- create'x'
- create'-z'
- create'-x'
- wait(1)
- a=1
- ow1=zaptop.Weld1.C0
- ow2=zaptop.Weld2.C0
- ow3=zaptop.Weld3.C0
- ow4=zaptop.Weld4.C0
- for ii=1,10 do
- for i=1,5 do
- wait(0)
- zaptop.Weld1.C0=zaptop.Weld1.C0*CFrame.new(-1,0,0)
- zaptop.Weld2.C0=zaptop.Weld2.C0*CFrame.new(0,0,1)
- zaptop.Weld3.C0=zaptop.Weld3.C0*CFrame.new(1,0,0)
- zaptop.Weld4.C0=zaptop.Weld4.C0*CFrame.new(0,0,-1)
- end
- for i=1,4 do
- zaptop["Weld"..i].C0=zaptop['Weld'..i].C0*CFrame.Angles(0,math.rad(90),0)
- end
- if ii==2 or ii==4 or ii==6 or ii==8 or ii==10 then
- zaptop.Weld1.C0=ow1
- zaptop.Weld2.C0=ow2
- zaptop.Weld3.C0=ow3
- zaptop.Weld4.C0=ow4
- end
- end
- local bottom = zaptop:clone()
- bottom.Parent=nc
- bottom:breakJoints()
- bottom.Name='Bottom'
- bottom.Material=Workspace.Base.Material
- bottom.BrickColor=Workspace.Base.BrickColor
- bottom.FormFactor='Custom'
- bottom.Size=bottom.Size-Vector3.new(0,(bottom.Size.Y),0)
- bottom.Size=bottom.Size+Vector3.new(0,0.1,0)
- bottom.Transparency=0
- local WtC = Instance.new("Weld",zap)
- WtC.Part0=zap
- WtC.Part1=bottom
- WtC.C0=CFrame.new(0,-(zap.Size.Y/2),0)
- local bod = Instance.new("Model",nc)
- bod.Name='Body'
- weldz={}
- for A=1,15 do
- local new = Instance.new("Part",bod)
- new.Parent=bod
- local X,Z=bottom.Size.X,bottom.Size.Z
- new.Size=Vector3.new(X,(X+Z)/2,Z)
- new.BrickColor=BrickColor.New'Brown'
- new.Material='Grass'
- local newWeld = Instance.new("Weld",bottom)
- newWeld.Part0=newWeld.Parent
- newWeld.Part1=new
- newWeld.C0=CFrame.new(0,-((last or bottom).Size.Y)/2,0)
- newWeld.C0=newWeld.C0*CFrame.new(0,-(new.Size.Y/3),0)
- newWeld.C0=newWeld.C0*CFrame.new(0,-((A-1)*((new.Size.Y)/2)),0)
- if A==1 then
- newWeld.C0=newWeld.C0*CFrame.new(0,-3,0)
- end
- r=function() return math.random(-200,150) end
- weldz[#weldz+1]=newWeld
- last=new
- LAST=new
- zaptop.CFrame=zaptop.CFrame*CFrame.new(0,-((last.Size.Y)/2),0)
- wait()
- end
- for i,v in pairs(weldz) do
- local newWeld=v
- if i~=#weldz then
- newWeld.C1=newWeld.C1*CFrame.Angles(math.rad(r()),math.rad(r()),math.rad(r()))
- end
- end
- local arm1 = Instance.new("Model",nc)
- arm1.Name='Right Arm'
- local X,Z=bottom.Size.X,bottom.Size.Z
- YY=(X+Z)/4
- local limb = Instance.new("Part",arm1)
- limb.Name='Limb1'
- limb.Size = Vector3.new(X,YY*10,Z)
- local aWeld1 = Instance.new("Weld",bottom)
- aWeld1.Part0=bottom
- aWeld1.Part1=limb
- aWeld1.C0 = CFrame.new(0,0,0)
- aWeld1.C0=aWeld1.C0*CFrame.Angles(0,0,math.rad(30))*CFrame.new(0,-(YY*5),0)
- limb.BrickColor=BrickColor.New'Brown'
- limb.Material='Grass'
- local limb2 = limb:clone()
- limb2.Parent=arm1
- limb2:breakJoints()
- limb2.Name='Limb2'
- limb2.Size=Vector3.new(X,YY*15,Z)
- local aWeld2 = Instance.new("Weld",limb)
- aWeld2.Part0=limb
- aWeld2.Part1=limb2
- aWeld2.C0 = CFrame.new(0,0,0)
- aWeld2.C0=aWeld2.C0*CFrame.new(20,-(YY*7.5),0)*CFrame.Angles(0,0,math.rad(50))*CFrame.new(0,-10,0)
- local arm2 = Instance.new("Model",nc)
- arm2.Name='Right Arm'
- local X,Z=bottom.Size.X,bottom.Size.Z
- YY=(X+Z)/4
- local o2limb = Instance.new("Part",arm2)
- o2limb.Name='Limb1'
- o2limb.Size = Vector3.new(X,YY*10,Z)
- local a2Weld1 = Instance.new("Weld",bottom)
- a2Weld1.Part0=bottom
- a2Weld1.Part1=o2limb
- a2Weld1.C0 = CFrame.new(0,0,0)
- a2Weld1.C0=a2Weld1.C0*CFrame.Angles(0,0,math.rad(-30))*CFrame.new(0,-(YY*5),0)
- o2limb.BrickColor=BrickColor.New'Brown'
- o2limb.Material='Grass'
- local o2limb2 = o2limb:clone()
- o2limb2.Parent=arm2
- o2limb2:breakJoints()
- o2limb2.Name='Limb2'
- o2limb2.Size=Vector3.new(X,YY*15,Z)
- local a2Weld2 = Instance.new("Weld",o2limb)
- a2Weld2.Part0=o2limb
- a2Weld2.Part1=o2limb2
- a2Weld2.C0 = CFrame.new(0,0,0)
- a2Weld2.C0=a2Weld2.C0*CFrame.new(-20,-(YY*7.5),0)*CFrame.Angles(0,0,math.rad(-50))*CFrame.new(0,-10,0)
- wait(5)
- for i=1,50 do
- wait()
- a2Weld2.C0=CFrame.new(0,0,0)*CFrame.new(-20+(0.75*i),-(YY*5),0)*CFrame.Angles(0,0,math.rad(-50))*CFrame.new(0,-10,0)*CFrame.Angles(0,0,math.rad(i*1.5))
- aWeld2.C0=CFrame.new(0,0,0)*CFrame.new(20-(0.75*i),-(YY*5),0)*CFrame.Angles(0,0,math.rad(50))*CFrame.new(0,-10,0)*CFrame.Angles(0,0,math.rad(-i*1.5))
- bottom.Anchored=true
- end
- wait(1)
- bottom.Anchored=false
- wait()
- local leg1=Instance.new("Part",bod)
- leg1.Name="Left Leg"
- local leg2 = Instance.new("Part",bod)
- leg2.Name='Right Leg'
- leg1.Size=Vector3.new(last.Size.X,YY*20,last.Size.Z)
- leg2.Size=leg1.Size
- leg1.BrickColor,leg2.BrickColor=BrickColor.New'Brown',BrickColor.New'Brown'
- leg1.Material,leg2.Material='Grass','Grass'
- local WELD = Instance.new("Weld",LAST)
- WELD.Part0 = LAST
- WELD.Part1 = leg1
- WELD.C0=CFrame.new(-10,-(YY*10.3),0)*CFrame.Angles(0,0,math.rad(-10))
- local WELD2 = Instance.new("Weld",LAST)
- WELD2.Part0 = LAST
- WELD2.Part1 = leg2
- WELD2.C0=CFrame.new(10,-(YY*10.3),0)*CFrame.Angles(0,0,math.rad(10))
- leg12 = Instance.new("Part",leg1)
- leg22 = Instance.new("Part",leg2)
- leg12.Size=Vector3.new(leg1.Size.X,YY*7.5,leg1.Size.Z)
- leg22.Size=leg12.Size
- leg12.BrickColor,leg22.BrickColor=BrickColor.New'Brown',BrickColor.New'Brown'
- leg12.Material,leg22.Material='Grass','Grass'
- wait()
- local WELD02 = Instance.new("Weld",leg1)
- WELD02.Part0 = leg1
- WELD02.Part1 = leg12
- WELD02.C0=CFrame.new(0,-(leg1.Size.Y/2),0)*CFrame.Angles(0,0,math.rad(5))
- wait()
- local WELD22 = Instance.new("Weld",leg2)
- WELD22.Part0 = leg2
- WELD22.Part1 = leg22
- WELD22.C0=CFrame.new(0,-(leg2.Size.Y/2),0)*CFrame.Angles(0,0,math.rad(-5))
- local mouse = p:GetMouse()
- An=false
- Moving=false
- local Sine=0
- local Change=1.2
- POS=WELD22.C0*CFrame.new(0,-20,0)
- POS2=WELD2.C0
- POSS=WELD02.C0*CFrame.new(0,-20,0)*CFrame.Angles(0,math.rad(180),0)
- POSS2=WELD.C0*CFrame.Angles(0,math.rad(180),0)
- L=function(A,B,C)
- return A:lerp(B,C)
- end
- char.Torso.CFrame=char.Torso.CFrame*CFrame.new(0,-50,0)
- wait(3)
- local split = function(str,index,opt)
- if opt then
- return {str:sub(1,index),str:sub(index)}
- end
- return str:sub(1,index),str:sub(index)
- end
- aWeld2.C0=CFrame.new(0,10,0)
- aWeld2.C0=aWeld2.C0*CFrame.new(0,-(YY*7.5),0)*CFrame.Angles(0,0,math.rad(120))*CFrame.new(0,-35,0)
- bottom.Anchored=false
- Sword=Instance.new("Model",bod)
- Sword.Name='Sword'
- local Handle= Instance.new("Part",Sword)
- Handle.FormFactor='Custom'
- Handle.Size=Vector3.new(10,30,10)
- local HWeld=Instance.new("Weld",limb2)
- HWeld.Part0=limb2
- HWeld.Part1=Handle
- HWeld.C0=CFrame.new(0,-(limb2.Size.Y/2),0)*CFrame.new(0,-15,0)
- --[[local STop = Handle:clone()
- STop.Parent=Sword
- STop:BreakJoints()
- STop.Size=STop.Size+Vector3.new(0,25,50)
- local StHWeld=Instance.new("Weld",Handle)
- StHWeld.Part0=Handle
- StHWeld.Part1=STop
- StHWeld.C0=CFrame.new(0,-(Handle.Size.Y/2),0)*CFrame.new(0,-20,0)]]
- local w1=Instance.new("Part",Sword)
- w1.FormFactor='Custom'
- w1.Size=Vector3.new(10,12.5,45)
- Instance.new("SpecialMesh",w1).MeshType='Wedge'
- sm=w1.Mesh
- sm.Offset=Vector3.new(0,6.25,0)
- sm.Scale=Vector3.new(1,2,1)
- local w1Weld=Instance.new("Weld",Handle)
- w1Weld.Part0=Handle
- w1Weld.Part1=w1
- w1Weld.C0=CFrame.new(0,-(37.5),-7)*CFrame.Angles(math.rad(-90),0,0)
- local w2=Instance.new("Part",Sword)
- w2.FormFactor='Custom'
- w2.Size=Vector3.new(10,12.5,45)
- Instance.new("SpecialMesh",w2).MeshType='Wedge'
- sm=w2.Mesh
- sm.Offset=Vector3.new(0,6.25,5)
- sm.Scale=Vector3.new(1,2,1)
- local w2Weld=Instance.new("Weld",Handle)
- w2Weld.Part0=Handle
- w2Weld.Part1=w2
- w2Weld.C0=CFrame.new(0,-(42.5),5)*CFrame.Angles(math.rad(-90),0,0)*CFrame.Angles(0,0,math.rad(180))
- attack=false
- ind=10
- End=90
- local hand=Instance.new("Part",Sword)
- hand.Size=Vector3.new(20,10,45)
- local handWeld=Instance.new("Weld",Handle)
- handWeld.Part0=Handle
- handWeld.Part1=hand
- handWeld.C0=CFrame.new(0,-Handle.Size.Y/2,0)
- hand.BrickColor=BrickColor.Black()
- Handle.BrickColor=hand.BrickColor
- mouse.Button1Down:connect(function()
- if attack then return end
- attack=true
- local CO=aWeld1.C0
- for i=1,End,ind do
- wait()
- aWeld1.C0=aWeld1.C0*CFrame.Angles(math.rad(-ind),math.rad(ind),0)*CFrame.new(-1,-0.1,0)
- end
- for i=End,1,-ind do
- wait()
- aWeld1.C0=aWeld1.C0*CFrame.Angles(math.rad(ind),math.rad(-ind),0)*CFrame.new(1,0.1,0)
- end
- aWeld1.C0=CO
- wait(1)
- attack=false
- end)
- zap.CFrame=CFrame.new(zap.CFrame.p)*CFrame.new(0,20,0)
- while true do
- local p=char.Torso.Position
- wait(0)
- local pp = char.Torso.Position
- if (Vector3.new(pp.X,0,pp.Z)-Vector3.new(p.X,0,p.Z)).magnitude >1 then
- Moving=true
- else
- Moving=false
- end
- -- STUFF TO DETECT MOVING, ETC
- if Moving then
- Sine=Sine+Change
- WELD22.C0=L(WELD22.C0,POS*CFrame.Angles(math.sin(Sine/3)*0.3,0,0),0.08) -- CFRAMETOLERP:Lerp(POS,SPEED)
- WELD2.C0= L(WELD2.C0,POS2*CFrame.Angles(math.sin(Sine/3)*0.3,0,0),0.08)*CFrame.new(0,0,-(math.sin(Sine/3))) -- CFRAMETOLERP:Lerp(POS,SPEED)
- if Sine>10 then
- WELD02.C0=L(WELD02.C0,POSS*CFrame.Angles(math.sin(Sine/3)*0.3,0,0),0.08) -- CFRAMETOLERP:Lerp(POS,SPEED)
- WELD.C0= L(WELD.C0,POSS2*CFrame.Angles(math.sin(Sine/3)*0.3,0,0),0.08)*CFrame.new(0,0,-(math.sin(Sine/3))) -- CFRAMETOLERP:Lerp(POS,SPEED)
- end
- else
- Sine=0
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement