coolgoldboy166

duelist

Oct 9th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 49.46 KB | None | 0 0
  1. --------------------------This is an Official script from Duelist--------------------------
  2. ---{-------------------- -------------------}---
  3. ---{-------------------- / \ -------------------}---
  4. ---{-------------------- II -------------------}---
  5. ---{-------------------- II -------------------}---
  6. ---{-------------------- II -------------------}---
  7. ---{-------------------- A========A -------------------}---
  8. ---{-------------------- II -------------------}---
  9. ---{-------------------- II -------------------}---
  10. ---{-------------------- W -------------------}---
  11. -------------------------------------------------------------------------------------------------------------
  12. local asin, atan2, rad, cos, abs, ceil, pi = math.asin, math.atan2, math.rad, math.cos, math.abs, math.ceil, math.pi
  13. local anglespeed = 1
  14. local v3 = Vector3.new
  15. local cf = CFrame.new
  16. local ca = CFrame.Angles
  17. local protect=game.Players.LocalPlayer.Name
  18. local angle = 0
  19. local Names = {"Demon"}
  20. local Speed = 40
  21. local Health = 2000
  22. Me = game.Players.LocalPlayer
  23. player = Me
  24. char = Me.Character
  25. chara = char
  26. larm = char["Left Arm"]
  27. rarm = char["Right Arm"]
  28. lleg = char["Left Leg"]
  29. rleg = char["Right Leg"]
  30. torso = char.Torso
  31. hed = char.Head
  32. chara.Humanoid.MaxHealth = 999e+999
  33. chara.Humanoid.Health = 999e+999
  34. chara.Humanoid.WalkSpeed = 100
  35.  
  36. larm.Transparency = 0.9
  37. rarm.Transparency = 0.9
  38. lleg.Transparency = 0.9
  39. rleg.Transparency = 0.9
  40. torso.Transparency = 0.9
  41.  
  42. local attack = false
  43. local combo = 0
  44. Cols={"Black","Really black","Really red","Really red","Really red"}
  45.  
  46.  
  47. function stick(x, y)
  48. weld = Instance.new("Motor")
  49. weld.Name='mot'
  50. weld.Part0 = x
  51. weld.Part1 = y
  52. local HitPos = x.Position
  53. local CJ = CFrame.new(HitPos)
  54. local C0 = x.CFrame:inverse() *CJ
  55. local C1 = y.CFrame:inverse() * CJ
  56. weld.C0 = C0
  57. weld.C1 = C1
  58. weld.Parent = x
  59. end
  60.  
  61. do
  62. local function QuaternionFromCFrame(cf) local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() local trace = m00 + m11 + m22 if trace > 0 then local s = math.sqrt(1 + trace) local recip = 0.5/s return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 else local i = 0 if m11 > m00 then i = 1 end if m22 > (i == 0 and m00 or m11) then i = 2 end if i == 0 then local s = math.sqrt(m00-m11-m22+1) local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip elseif i == 1 then local s = math.sqrt(m11-m22-m00+1) local recip = 0.5/s return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip elseif i == 2 then local s = math.sqrt(m22-m00-m11+1) local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip end end end
  63. local function QuaternionToCFrame(px, py, pz, x, y, z, w) local xs, ys, zs = x + x, y + y, z + z local wx, wy, wz = w*xs, w*ys, w*zs local xx = x*xs local xy = x*ys local xz = x*zs local yy = y*ys local yz = y*zs local zz = z*zs return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) end
  64. local function QuaternionSlerp(a, b, t) local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] local startInterp, finishInterp; if cosTheta >= 0.0001 then if (1 - cosTheta) > 0.0001 then local theta = math.acos(cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((1-t)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = 1-t finishInterp = t end else if (1+cosTheta) > 0.0001 then local theta = math.acos(-cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((t-1)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = t-1 finishInterp = t end end return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp end
  65.  
  66. function clerp(a,b,t)
  67. local qa = {QuaternionFromCFrame(a)}
  68. local qb = {QuaternionFromCFrame(b)}
  69. local ax, ay, az = a.x, a.y, a.z
  70. local bx, by, bz = b.x, b.y, b.z
  71.  
  72. local _t = 1-t
  73. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  74. end
  75. end
  76.  
  77. Part = function(x,y,z,color,tr,cc,an,parent)
  78. local p = Instance.new('Part',parent or Weapon)
  79. p.formFactor = 'Custom'
  80. p.Size = Vector3.new(x,y,z)
  81. p.BrickColor = BrickColor.new(color)
  82. p.CanCollide = cc
  83. p.Transparency = tr
  84. p.Anchored = an
  85. p.TopSurface,p.BottomSurface = 0,0
  86. p.Locked=true
  87. p:BreakJoints()
  88. return p
  89. end
  90.  
  91. wPart = function(x,y,z,color,tr,cc,an,parent)
  92. local wp = Instance.new('WedgePart',parent or Weapon)
  93. wp.formFactor = 'Custom'
  94. wp.Size = Vector3.new(x,y,z)
  95. wp.BrickColor = BrickColor.new(color)
  96. wp.CanCollide = cc
  97. wp.Transparency = tr
  98. wp.Anchored = an
  99. wp.TopSurface,wp.BottomSurface = 0,0
  100. return wp
  101. end
  102.  
  103.  
  104. local function CFrameFromTopBack(at, top, back)
  105. local right = top:Cross(back)
  106. return CFrame.new(at.x, at.y, at.z,
  107. right.x, top.x, back.x,
  108. right.y, top.y, back.y,
  109. right.z, top.z, back.z)
  110. end
  111.  
  112. function Triangle(a, b, c)
  113. local edg1 = (c-a):Dot((b-a).unit)
  114. local edg2 = (a-b):Dot((c-b).unit)
  115. local edg3 = (b-c):Dot((a-c).unit)
  116. if edg1 <= (b-a).magnitude and edg1 >= 0 then
  117. a, b, c = a, b, c
  118. elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
  119. a, b, c = b, c, a
  120. elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
  121. a, b, c = c, a, b
  122. else
  123. print("unreachable")
  124. end
  125. local len1 = (c-a):Dot((b-a).unit)
  126. local len2 = (b-a).magnitude - len1
  127. local width = (a + (b-a).unit*len1 - c).magnitude
  128. local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
  129. local list = {}
  130. if len1 > 0.01 then
  131. local w1 = wPart(0,0,0,'Really red',0.5,false,true,pchar)
  132. local sz = Vector3.new(0.2, width, len1)
  133. w1.Size = sz
  134. local sp = Mesh(w1,2,0,0,0)
  135. sp.MeshType='Wedge'
  136. sp.Scale=Vector3.new(0,1,1)*sz/w1.Size
  137. w1:BreakJoints()
  138. w1.Anchored = true
  139. w1.Transparency = 0.7
  140. Spawn(function()
  141. for i=0,1,0.1 do
  142. wait()
  143. w1.Transparency=w1.Transparency+0.03
  144. end
  145. end)
  146. w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
  147. table.insert(list,w1)
  148. end
  149. if len2 > 0.01 then
  150. local w2 = wPart(0,0,0,'Really black',0.5,false,true,pchar)
  151. local sz = Vector3.new(0.2, width, len2)
  152. w2.Size = sz
  153. local sp = Mesh(w2,2,0,0,0)
  154. sp.MeshType='Wedge'
  155. sp.Scale=Vector3.new(0,1,1)*sz/w2.Size
  156. w2:BreakJoints()
  157. w2.Anchored = true
  158. w2.Transparency = 0.7
  159. Spawn(function()
  160. for i=0,1,0.1 do
  161. wait()
  162. w2.Transparency=w2.Transparency+0.03
  163. end
  164. end)
  165. w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
  166. table.insert(list,w2)
  167. end
  168. return unpack(list)
  169. end
  170.  
  171. function mgblock(pa,cfr,tm,col1,col2,sz,wa)
  172. local cols={col1,col2}
  173. Spawn(function()
  174. for i=1,tm do
  175. local a= Part(1,1,1,cols[math.random(1,2)],0,false,true,pchar)
  176. curre=a
  177. v1,v2,v3=sz.x,sz.y,sz.z
  178. local m= Mesh(a,3,v1,v2,v3)
  179. a.CFrame=pa.CFrame*cfr*CFrame.Angles(math.random(),math.random(),math.random())
  180. Spawn(function()
  181. while wait() do
  182. if a.Transparency >= 1 then a:Destroy() break end
  183. m.Scale=m.Scale-Vector3.new(.1,0.1,0.1)
  184. a.CFrame=a.CFrame*CFrame.Angles(math.rad(2),math.rad(2),math.rad(2))+Vector3.new(0,0.1,0)
  185. a.Transparency=a.Transparency+0.05
  186. end
  187. end)
  188. wait(wa)
  189. end
  190. end)
  191. return curre
  192. end
  193.  
  194. function trail(p,t,h)
  195. Spawn(function()
  196. local blcf = p.CFrame
  197. local scfr = blcf
  198. for i=1,t do
  199. local blcf = p.CFrame
  200. if scfr and (p.Position-scfr.p).magnitude > .1 then
  201. local a,b = Triangle((scfr*CFrame.new(0,h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p,(blcf*CFrame.new(0,h/2,0)).p)
  202. if a then game.Debris:AddItem(a,1) end
  203. if b then game.Debris:AddItem(b,1) end
  204. local a,b = Triangle((blcf*CFrame.new(0,h/2,0)).p,(blcf*CFrame.new(0,-h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p)
  205. if a then game.Debris:AddItem(a,1) end
  206. if b then game.Debris:AddItem(b,1) end
  207. scfr = blcf
  208. elseif not scfr then
  209. scfr = blcf
  210. end
  211. game:service'RunService'.Stepped:wait()
  212. end
  213. scfr=nil
  214. end)
  215. end
  216.  
  217.  
  218. so = function(id,par,lo,pi,tm)
  219. local s = Instance.new("Sound",par)
  220. s.Looped=lo
  221. s.Pitch=pi
  222. s.SoundId = "http://roblox.com/asset/?id="..id
  223. wait()
  224. s:play()
  225. s.Volume=10
  226. game.Debris:AddItem(s,tm)
  227. return s
  228. end
  229.  
  230. function posfix(nom)
  231. Spawn(function()
  232. local bg=Instance.new("BodyGyro",pchar.Torso)
  233. bg.maxTorque=Vector3.new(0,math.huge,0)
  234. bg.P=5000
  235. bg.D=100
  236. bg.cframe=workspace.CurrentCamera.CoordinateFrame*CFrame.Angles(0,nom,0)
  237. wait(.5)
  238. bg:Destroy()
  239. end)
  240. end
  241.  
  242. Weld = function(p0,p1,x,y,z,rx,ry,rz,par)
  243. local w = Instance.new('Motor',par or p0)
  244. w.Part0 = p0
  245. w.Part1 = p1
  246. w.C1 = CFrame.new(x,y,z)*CFrame.Angles(rx,ry,rz)
  247. return w
  248. end
  249.  
  250. Mesh = function(par,num,x,y,z)
  251. local msh = _
  252. if num == 1 then
  253. msh = Instance.new("CylinderMesh",par)
  254. elseif num == 2 then
  255. msh = Instance.new("SpecialMesh",par)
  256. msh.MeshType = 3
  257. elseif num == 3 then
  258. msh = Instance.new("BlockMesh",par)
  259. elseif num == 4 then
  260. msh = Instance.new("SpecialMesh",par)
  261. msh.MeshType = "Torso"
  262. elseif type(num) == 'string' then
  263. msh = Instance.new("SpecialMesh",par)
  264. msh.MeshId = num
  265. end
  266. msh.Scale = Vector3.new(x,y,z)
  267. return msh
  268. end
  269.  
  270. anglespeed = 1
  271.  
  272. angle = 0
  273.  
  274. local function getAngles(cf)
  275. local sx,sy,sz,m00,m01,m02,m10,m11,m12,m20,m21,m22 = cf:components()
  276. return atan2(-m12,m22),asin(m02),atan2(-m01,m00)
  277. end
  278.  
  279. function explosion(col1,col2,cfr,sz,rng,dmg)
  280. local a= Part(1,1,1,col1,.5,false,true,pchar)
  281. local a2= Part(1,1,1,col2,.5,false,true,pchar)
  282. local a3= Part(1,1,1,col2,.5,false,true,pchar)
  283. v1,v2,v3=sz.x,sz.y,sz.z
  284. local m= Mesh(a,'http://www.roblox.com/asset/?id=1185246',v1,v2,v3)
  285. local m2= Mesh(a2,3,v1/3,v2/3,v3/3)
  286. local m3= Mesh(a3,3,v1/3,v2/3,v3/3)
  287. a.CFrame=cfr
  288. a2.CFrame=cfr*CFrame.Angles(math.random(),math.random(),math.random())
  289. a3.CFrame=cfr*CFrame.Angles(math.random(),math.random(),math.random())
  290. for i,v in pairs(workspace:children()) do
  291. if v:IsA("Model") and v:findFirstChild("Humanoid") then
  292. if v:findFirstChild("Head") and v:findFirstChild("Torso") then
  293. if (v:findFirstChild("Torso").Position - a.Position).magnitude < rng and v.Name ~= pchar.Name and v.Name ~= protect then
  294. v.Humanoid.Health=v.Humanoid.Health-dmg
  295. v.Torso.Velocity=Vector3.new(math.random(-dmg*2,dmg*2),dmg*3,math.random(-dmg*2,dmg*2))
  296. end
  297. end
  298. end
  299. end
  300. Spawn(function()
  301. while true do
  302. wait()
  303. if a.Transparency >= 1 then a:Destroy() a2:Destroy() a3:Destroy() break end
  304. m.Scale=m.Scale+Vector3.new(.1,0.1,0.1)
  305. m2.Scale=m2.Scale+Vector3.new(.1,0.1,0.1)
  306. m3.Scale=m3.Scale+Vector3.new(.1,0.1,0.1)
  307. a2.CFrame=a2.CFrame*CFrame.Angles(math.rad(2),math.rad(2),math.rad(2))
  308. a3.CFrame=a3.CFrame*CFrame.Angles(-math.rad(2),-math.rad(2),-math.rad(2))
  309. a.Transparency=a.Transparency+0.05
  310. a2.Transparency=a2.Transparency+0.05
  311. a3.Transparency=a3.Transparency+0.05
  312. end
  313. end)
  314. end
  315.  
  316. function tmdmg(tm,pa,dmg,rng)
  317. Spawn(function()
  318. for i=1,tm do wait()
  319. for i,v in pairs(workspace:children()) do
  320. if v:IsA("Model") and v:findFirstChild("Humanoid") then
  321. if v:findFirstChild("Head") and v:findFirstChild("Torso") then
  322. if (v:findFirstChild("Torso").Position - pa.Position).magnitude < rng and v.Name ~= pchar.Name and v.Name ~= protect then
  323. v.Humanoid.Health=v.Humanoid.Health-dmg
  324. end
  325. end
  326. end
  327. end
  328. end
  329. end)
  330. end
  331.  
  332. local function getAngles(cf)
  333. local sx,sy,sz,m00,m01,m02,m10,m11,m12,m20,m21,m22 = cf:components()
  334. return atan2(-m12,m22),asin(m02),atan2(-m01,m00)
  335. end
  336.  
  337. Lerp = {
  338. Number = function(C1,C2,inc)
  339. return C1 + (C2 - C1) * inc
  340. end;
  341. CFrame = function(a,b,m)
  342. local c,d={a:components()},{b:components()}
  343. table.foreach(c,function(a,b)c[a]=c[a]+(d[a]-c[a])*m end)
  344. return CFrame.new(unpack(c))
  345. end;
  346. }
  347. function build()
  348. local SelectedName = Names[math.random(#Names)]
  349. workspace[protect].Archivable=true
  350. pchar = workspace[protect]:Clone() --Create("Model",{Parent=workspace})
  351. pchar.Parent=workspace[protect]
  352. torso=pchar.Torso
  353. hum=pchar.Humanoid
  354. pchar.Name=SelectedName
  355. pl=pchar
  356. hum.MaxHealth=Health
  357. wait()
  358. hum.Health=Health
  359. hum.WalkSpeed=Speed
  360. local mainp=Part(2.01,2.01,1.01,'Really red',1,false,false,pl)
  361. Weld(pl.Torso,mainp,0,0,0,0,0,0,mainp)
  362. local p=Part(2.02,1.2,1.02,'Really black',0,false,false,pl)
  363. Weld(mainp,p,0,.41,0,0,0,0,p)
  364. local p=Part(2.02,2.03,.5,'Really black',0,false,false,pl)
  365. Weld(mainp,p,0,0,-0.26,0,0,0,p)
  366. local p=Part(.5,1,1.02,'Really black',0,false,false,pl)
  367. Weld(mainp,p,-0.2,-0.65,0,0,0,rad(30),p)
  368. local p=Part(.5,1,1.02,'Really black',0,false,false,pl)
  369. Weld(mainp,p,0.2,-0.65,0,0,0,-rad(30),p)
  370. local p=Part(.5,1,1.02,'Really black',0,false,false,pl)
  371. Weld(mainp,p,.76,-0.51,0,0,0,0,p)
  372. local p=Part(.5,1,1.02,'Really black',0,false,false,pl)
  373. Weld(mainp,p,-.76,-0.51,0,0,0,0,p)
  374. local p=Part(.65,.95,1.01,'Really red',0,false,false,pl)
  375. Weld(mainp,p,-0.15,-0.65,0,0,0,rad(30),p)
  376. local p=Part(.65,.95,1.01,'Really red',0,false,false,pl)
  377. Weld(mainp,p,0.15,-0.65,0,0,0,-rad(30),p)
  378. local p=Part(.2,1.2,.2,'Really red',0,false,false,pl)
  379. Weld(mainp,p,0,.35,.45,0,0,0,p)
  380. local p=Part(.2,.2,.2,'Really red',0,false,false,pl)
  381. Mesh(p,1,.5,.5,.5)
  382. Weld(mainp,p,0,-.51,.05,pi/2,0,0,p)
  383. local p=Part(.2,.2,.2,'Really red',0,false,false,pl)
  384. Mesh(p,1,.5,.5,.5)
  385. Weld(mainp,p,0,-.51,.2,pi/2,0,0,p)
  386. local p=Part(2.11,.2,1.11,'Really red',0,false,false,pl)
  387. Weld(mainp,p,0,.5,0,0,0,0,p)
  388. local p=Part(2.13,.2,1.13,'Black',0,false,false,pl)
  389. Weld(mainp,p,0,.5,0,0,0,0,p)
  390. Mesh(p,3,1,.75,1)
  391. local p=Part(.2,.6,.2,'Really red',0,false,false,pl)
  392. Weld(mainp,p,0.3,.65,0.5,0,0,0,p)
  393. Mesh(p,3,.75,1,.75)
  394. local p=Part(.2,.6,.2,'Really red',0,false,false,pl)
  395. Weld(mainp,p,-0.3,.65,0.5,0,0,0,p)
  396. Mesh(p,3,.75,1,.75)
  397. local p=Part(.6,.2,.2,'Really red',0,false,false,pl)
  398. Weld(mainp,p,0,.425,0.5,0,0,0,p)
  399. Mesh(p,3,1,.75,.75)
  400. local p=Part(.6,.2,.2,'Really red',0,false,false,pl)
  401. Weld(mainp,p,0,.875,0.5,0,0,0,p)
  402. Mesh(p,3,1,.75,.75)
  403. local p=Part(.2,.6,.2,'Really red',0,false,false,pl)
  404. Weld(mainp,p,0.1,.65,0.5,0,0,-rad(20),p)
  405. Mesh(p,3,.5,1,.75)
  406. local p=Part(.2,.6,.2,'Really red',0,false,false,pl)
  407. Weld(mainp,p,-0.1,.65,0.5,0,0,rad(20),p)
  408. Mesh(p,3,.5,1,.75)
  409. local p=Part(.2,.25,.2,'Really red',0,false,false,pl)
  410. Weld(mainp,p,-0.7,.5,0.5,0,0,0,p)
  411. Mesh(p,3,.5,1,.75)
  412. local p=Part(.2,.25,.2,'Really red',0,false,false,pl)
  413. Weld(mainp,p,0.7,.5,0.5,0,0,0,p)
  414. Mesh(p,3,.5,1,.75)
  415. p=Part(2.11,.2,1.11,'Really red',0,false,false,pl)
  416. Weld(mainp,p,0,.75,0,0,0,0,p)
  417. local p=Part(1.01,2.01,1.01,'Really red',0,false,false,pl)
  418. Weld(pl['Right Leg'],p,0,0,0,0,0,0,p)
  419. local p=Part(1.01,2.01,1.01,'Really red',0,false,false,pl)
  420. Weld(pl['Left Leg'],p,0,0,0,0,0,0,p)
  421. local p=Part(1.01,2.01,1.01,'Really red',0,false,false,pl)
  422. Weld(pl['Right Arm'],p,0,0,0,0,0,0,p)
  423. local p=Part(1.01,2.01,1.01,'Really black',0,false,false,pl)
  424. Weld(pl['Left Arm'],p,0,0,0,0,0,0,p)
  425. local p=Part(1.02,1,1.02,'Black',0,false,false,pl)
  426. Weld(pl['Right Arm'],p,0,0.41,0,0,0,0,p)
  427. local p=Part(1.02,1,1.02,'Black',0,false,false,pl)
  428. Weld(pl['Left Arm'],p,0,0.41,0,0,0,0,p)
  429. local p=Part(1.1,.3,1.1,'Black',0,false,false,pl)
  430. Weld(pl['Right Arm'],p,0,-0.4,0,0,0,0,p)
  431. local p=Part(1.1,.3,1.1,'Black',0,false,false,pl)
  432. Weld(pl['Left Arm'],p,0,-0.4,0,0,0,0,p)
  433. local p=Part(.51,.2,1.11,'Really red',0,false,false,pl)
  434. Weld(pl['Right Arm'],p,-0.3,-0.4,0,0,0,0,p)
  435. local p=Part(.51,.2,1.11,'Really red',0,false,false,pl)
  436. Weld(pl['Left Arm'],p,0.3,-0.4,0,0,0,0,p)
  437. local p=Part(.2,1.11,.2,'Really red',0,false,false,pl)
  438. Mesh(p,1,1,1,1)
  439. Weld(pl['Right Arm'],p,0.3,0,-.4,rad(90),0,0,p)
  440. local p=Part(.2,1.11,.2,'Really red',0,false,false,pl)
  441. Mesh(p,1,1,1,1)
  442. Weld(pl['Left Arm'],p,-0.3,0,-.4,rad(90),0,0,p)
  443. local p=Part(1.03,.2,1.03,'Really red',0,false,false,pl)
  444. Weld(pl['Left Arm'],p,0,0,0,0,0,0,p)
  445. local p=Part(1.1,.2,1.03,'Really red',0,false,false,pl)
  446. Weld(pl['Left Arm'],p,-0.2,0.25,0,0,0,rad(40),p)
  447. local p=Part(1.1,.2,1.03,'Really red',0,false,false,pl)
  448. Weld(pl['Left Arm'],p,0.2,0.25,0,0,0,-rad(40),p)
  449.  
  450. New = function(Object, Parent, Name, Data)
  451. local Object = Instance.new(Object)
  452. for Index, Value in pairs(Data or {}) do
  453. Object[Index] = Value
  454. end
  455. Object.Parent = Parent
  456. Object.Name = Name
  457. return Object
  458. end
  459.  
  460. m = New("Model",nil,"Model",{})
  461. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-6.19765997, 2.3154006, -20.1852283, -0.459659487, -0.844636917, -0.274245769, 0.868429303, -0.36309287, -0.337406158, 0.185414284, -0.393307269, 0.900434256),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  462. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.0900000036, 1.5, 0.200000003),MeshId = "http://www.roblox.com/Asset/?id=9756362",MeshType = Enum.MeshType.FileMesh,})
  463. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.2849026, 0.47093609, -21.6759739, 0.459599137, 0.274224967, 0.844680846, -0.868458629, 0.337394416, 0.363040775, -0.185440272, -0.90044713, 0.393271238),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  464. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.100000001, 0.25999999, 0.100000001),MeshId = "http://www.roblox.com/Asset/?id=9756362",MeshType = Enum.MeshType.FileMesh,})
  465. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.2849197, 0.470925152, -21.6759644, 0.820387483, 0.274235934, 0.501713693, -0.570611954, 0.337407678, 0.748654962, 0.0360371731, -0.900483251, 0.433310956),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  466. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.100000001, 0.25999999, 0.100000001),MeshId = "http://www.roblox.com/Asset/?id=9756362",MeshType = Enum.MeshType.FileMesh,})
  467. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.0655117, 0.740833163, -22.3963528, 0.92226541, 0.274225026, 0.272291988, -0.357383519, 0.337394148, 0.870802283, 0.146959186, -0.900447249, 0.409210235),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  468. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.100000001, 0.25999999, 0.100000001),MeshId = "http://www.roblox.com/Asset/?id=9756362",MeshType = Enum.MeshType.FileMesh,})
  469. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.0655212, 0.740832984, -22.3963718, 0.459617496, 0.274235934, 0.844692051, -0.868493438, 0.337407887, 0.363045663, -0.185447723, -0.900483131, 0.393276483),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  470. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.100000001, 0.25999999, 0.100000001),MeshId = "http://www.roblox.com/Asset/?id=9756362",MeshType = Enum.MeshType.FileMesh,})
  471. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.5975561, 0.424365997, -22.2327957, 0.459635943, 0.844703317, -0.274246991, -0.868528426, 0.36305055, -0.337421417, -0.185455203, 0.393281788, 0.900519311),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  472. Mesh1 = New("CylinderMesh",Part1,"Mesh",{Scale = Vector3.new(1, 1.5, 0.100000001),})
  473. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-11.1043253, 0.206570342, -22.4687767, 0.274225235, 0.844680905, 0.459599048, 0.337394118, 0.363040715, -0.868458927, -0.900447369, 0.393271297, -0.185439944),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  474. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.280000001, 0.280000001, 0.5),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  475. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-5.86756945, 2.44408679, -19.9689026, -0.459599227, 0.844680905, 0.274225056, 0.868458807, 0.363040775, 0.337394476, 0.185440302, 0.393271297, -0.900447309),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  476. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.400000006, 1, 0.600000024),MeshType = Enum.MeshType.Wedge,})
  477. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-9.75292015, 0.787398696, -21.8395786, 0.459599227, 0.844680905, -0.274225056, -0.868458807, 0.363040775, -0.337394476, -0.185440302, 0.393271297, 0.900447309),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  478. Mesh1 = New("BlockMesh",Part1,"Mesh",{Scale = Vector3.new(0.449999988, 1.10000002, 0.150000006),})
  479. handl = New("Part",m,"handle",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.5975342, 0.424375206, -22.2327862, 0.459603816, 0.844683707, -0.274227798, -0.86846751, 0.363041997, -0.337397844, -0.185442165, 0.393272609, 0.900456309),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  480. Mesh1 = New("BlockMesh",handl,"Mesh",{Scale = Vector3.new(0.5, 1.5, 0.150000006),})
  481. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.1752129, 0.605890632, -22.0361595, -0.844603121, 0.459629774, -0.274413377, -0.362855345, -0.868378639, -0.337799579, -0.393609494, -0.185738698, 0.900237918),Anchored = true,CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(1, 0, 0),})
  482. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.0500000007, 0.0599999987, 0.219999999),MeshId = "http://www.roblox.com/asset/?id=16606212",MeshType = Enum.MeshType.FileMesh,})
  483. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.4286127, 0.496973038, -22.1541042, 0.274230719, 0.459608227, -0.844686568, 0.337400854, -0.868476331, -0.363043159, -0.900465369, -0.185443684, -0.39327392),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  484. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.200000003, 0.200000003, 0.400000006),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  485. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-8.23247528, 1.44083679, -21.1316605, 0.459617585, 0.844692111, -0.274236023, -0.868493617, 0.363045663, -0.337407947, -0.185447752, 0.393276542, 0.90048331),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  486. Mesh1 = New("BlockMesh",Part1,"Mesh",{Scale = Vector3.new(0.400000006, 2.70000005, 1.25),})
  487. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.1752262, 0.605885088, -22.0361652, 0.459617496, 0.274235934, 0.844692051, -0.868493438, 0.337407887, 0.363045663, -0.185447723, -0.900483131, 0.393276483),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  488. Mesh1 = New("CylinderMesh",Part1,"Mesh",{Scale = Vector3.new(1, 0.860000014, 0.349999994),})
  489. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.3441544, 0.53327328, -22.1147881, 0.274225235, 0.459599048, -0.844680965, 0.337394118, -0.868458927, -0.363040715, -0.900447369, -0.185439959, -0.393271297),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  490. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.200000003, 0.200000003, 0.400000006),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  491. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.1752262, 0.605885088, -22.0361652, 0.274241686, -0.459626645, 0.844697714, 0.337414324, 0.86851114, 0.363048106, -0.90050137, 0.185451105, 0.393279165),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  492. Mesh1 = New("CylinderMesh",Part1,"Mesh",{Scale = Vector3.new(1, 0.899999976, 0.899999976),})
  493. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.1752129, 0.605890632, -22.0361595, 0.274224788, -0.459598899, 0.844681144, 0.337392837, 0.868459284, 0.363041222, -0.900448024, 0.185438991, 0.393270314),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  494. Mesh1 = New("CylinderMesh",Part1,"Mesh",{Scale = Vector3.new(1, 1.10000002, 0.25),})
  495. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.1752129, 0.605890632, -22.0361595, 0.274230719, -0.459608287, 0.844686508, 0.337400854, 0.868476331, 0.363043219, -0.900465369, 0.185443655, 0.39327392),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  496. Mesh1 = New("CylinderMesh",Part1,"Mesh",{Scale = Vector3.new(1, 1, 0.5),})
  497. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-5.83461905, 2.48459363, -20.0769348, 0.459617555, 0.844692111, -0.274236083, -0.868493617, 0.363045603, -0.337407947, -0.185447752, 0.393276602, 0.90048331),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  498. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.400000006, 1, 0.600000024),MeshType = Enum.MeshType.Wedge,})
  499. blade = New("Part",m,"blade",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-8.23247528, 1.44083679, -21.1316605, 0.459617585, 0.844692111, -0.274236023, -0.868493617, 0.363045663, -0.337407947, -0.185447752, 0.393276542, 0.90048331),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  500. Mesh1 = New("BlockMesh",blade,"Mesh",{Scale = Vector3.new(0.419999987, 2.70000005, 0.5),})
  501. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.3096189, 0.440624267, -21.594902, 0.274241686, 0.844697714, 0.459626615, 0.337414354, 0.363048047, -0.86851114, -0.90050137, 0.393279165, -0.185451165),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  502. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.280000001, 0.280000001, 0.5),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  503. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.1113911, 0.576328218, -21.73909, 0.274236202, 0.844692111, 0.459617436, 0.337407619, 0.363045603, -0.868493736, -0.90048337, 0.393276542, -0.18544744),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  504. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.280000001, 0.280000001, 0.5),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  505. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.3732338, 0.463769555, -21.8610172, 0.274236202, 0.844692111, 0.459617436, 0.337407619, 0.363045603, -0.868493736, -0.90048337, 0.393276542, -0.18544744),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  506. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.280000001, 0.280000001, 0.5),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  507. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-8.28543091, 1.41672218, -21.1517391, -0.459677845, -0.844648123, -0.274256736, 0.868464112, -0.363097757, -0.337419629, 0.185421735, -0.393312514, 0.900470257),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  508. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.100000001, 1.5, 0.100000001),MeshId = "http://www.roblox.com/Asset/?id=9756362",MeshType = Enum.MeshType.FileMesh,})
  509. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-9.9687748, 0.751787782, -22.2073421, -0.274281591, 0.844617963, -0.459726632, -0.337427109, 0.363139778, 0.868446827, 0.90046227, 0.393348873, 0.185396582),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  510. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.280000001, 0.280000001, 0.5),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  511. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.0408382, 0.771299124, -22.4773846, -0.274281591, 0.844617963, -0.459726632, -0.337427109, 0.363139778, 0.868446827, 0.90046227, 0.393348873, 0.185396582),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  512. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.280000001, 0.280000001, 0.5),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  513. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-10.2306175, 0.639229178, -22.3292694, -0.274281591, 0.844617963, -0.459726632, -0.337427109, 0.363139778, 0.868446827, 0.90046227, 0.393348873, 0.185396582),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  514. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.280000001, 0.280000001, 0.5),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  515. Part1 = New("Part",m,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(2, 2, 2),CFrame = CFrame.new(-9.9687748, 0.751787782, -22.2073421, -0.274281591, 0.844617963, -0.459726632, -0.337427109, 0.363139778, 0.868446827, 0.90046227, 0.393348873, 0.185396582),Anchored = true,CanCollide = false,Color = Color3.new(1, 0, 0),})
  516. Mesh1 = New("SpecialMesh",Part1,"Mesh",{Scale = Vector3.new(0.280000001, 0.280000001, 0.5),MeshId = "http://www.roblox.com/asset/?id=3270017",MeshType = Enum.MeshType.FileMesh,})
  517. c = m:children()
  518. for n = 1, #c do
  519. if (c[n].className == "Part") then
  520. if (c[n].Name ~= "handle") then
  521. stick(c[n], m.handle)
  522. wait()
  523. c[n].Anchored = false
  524. end
  525. end
  526. end
  527. handl.Anchored=false
  528. mwl= Weld(handl,pchar.Torso,-1,0,-1,rad(120),0,0,m)
  529. m.Parent = pchar
  530.  
  531. local function genWeld(a,b)
  532. local w = Instance.new("Weld",a)
  533. w.Part0 = a
  534. w.Part1 = b
  535. return w
  536. end
  537.  
  538. local Neck = genWeld(pchar.Torso,pchar.Head)
  539. Neck.C0 = CFrame.new(0,1,0)
  540. Neck.C1 = CFrame.new(0,-0.5,0)
  541. local LeftShoulder = genWeld(pchar.Torso,pchar['Left Arm'])
  542. LeftShoulder.C0 = CFrame.new(-1,0.5,0)
  543. LeftShoulder.C1 = CFrame.new(0.5,0.5,0)
  544. local RightShoulder = genWeld(pchar.Torso,pchar['Right Arm'])
  545. RightShoulder.C0 = CFrame.new(1,0.5,0)
  546. RightShoulder.C1 = CFrame.new(-0.5,0.5,0)
  547. local LeftHip = genWeld(pchar.Torso,pchar['Left Leg'])
  548. LeftHip.C0 = CFrame.new(-1,-1,0)
  549. LeftHip.C1 = CFrame.new(-0.5,1,0)
  550. local RightHip = genWeld(pchar.Torso,pchar['Right Leg'])
  551. RightHip.C0 = CFrame.new(1,-1,0)
  552. RightHip.C1 = CFrame.new(0.5,1,0)
  553. local RootJoint = genWeld(pchar.HumanoidRootPart,pchar.Torso)
  554. RootJoint.C0 = CFrame.new(0,0,0) * CFrame.Angles(-math.pi/2,0,math.pi)
  555. RootJoint.C1 = CFrame.new(0,0,0) * CFrame.Angles(-math.pi/2,0,math.pi)
  556.  
  557. for i=1,4 do wait()
  558. pchar:MoveTo(workspace[protect].Torso.Position+Vector3.new(5,0,0))
  559. end
  560. local function newLerpTo(weld)
  561. return {
  562. Weld = weld;
  563. To = weld.C0;
  564. Cache = weld.C0;
  565. Speed = 0.2;
  566. }
  567. end
  568. LerpTo = {
  569. Neck = newLerpTo(Neck);
  570. LeftArm = newLerpTo(LeftShoulder);
  571. RightArm = newLerpTo(RightShoulder);
  572. LeftLeg = newLerpTo(LeftHip);
  573. RightLeg = newLerpTo(RightHip);
  574. RootJoint = newLerpTo(RootJoint);
  575. hndl = newLerpTo(mwl);
  576. }
  577. LerpTo.hndl.Cache=CFrame.new(0,-0.3,0)*CFrame.Angles(0,0,rad(90))
  578. end
  579.  
  580. build()
  581.  
  582. Used={Head=false,RightArm=false,LeftArm=false,RightLeg=false,LeftLeg=false,Torso=false}
  583.  
  584. function SetAnimData(IF_DATA_IS_USED)
  585. Used = IF_DATA_IS_USED
  586. end
  587.  
  588. function CheckAnimData(ANIM_TAB,DO_ANIM)
  589. anglespeed=Anims[ANIM_TAB][DO_ANIM].speed or 1
  590. if Used.Head == true then
  591. LerpTo.Neck.To = LerpTo.Neck.Cache * Anims[ANIM_TAB][DO_ANIM].Head
  592. end
  593. if Used.RightArm == true then
  594. LerpTo.RightArm.To = LerpTo.RightArm.Cache * Anims[ANIM_TAB][DO_ANIM].RightArm
  595. end
  596. if Used.LeftArm == true then
  597. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * Anims[ANIM_TAB][DO_ANIM].LeftArm
  598. end
  599. if Used.RightLeg == true then
  600. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * Anims[ANIM_TAB][DO_ANIM].RightLeg
  601. end
  602. if Used.LeftLeg == true then
  603. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * Anims[ANIM_TAB][DO_ANIM].LeftLeg
  604. end
  605. if Used.Torso == true then
  606. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * Anims[ANIM_TAB][DO_ANIM].Torso
  607. end
  608. end
  609.  
  610. function UpdateAnims()
  611. Anims = {
  612. ["Idle"] = {
  613. ["Stance"] = {
  614. speed=.25,
  615. Head = CFrame.Angles(cos(angle)*0.01,0,0),
  616. RightArm = CFrame.Angles(cos(angle)*0.1,0,0),
  617. LeftArm = CFrame.Angles(-cos(angle)*0.1,0,0),
  618. RightLeg = CFrame.Angles(cos(angle)*0.1,0,0),
  619. LeftLeg = CFrame.Angles(-cos(angle)*0.1,0,0),
  620. Torso = CFrame.Angles(0,0,0)
  621. },
  622. ["Walk"] = {
  623. speed=2,
  624. Head = CFrame.Angles(0,0,cos(angle)*0.05),
  625. RightArm = CFrame.Angles(-cos(angle)*1,0,0),
  626. LeftArm = CFrame.Angles(cos(angle)*1,0,0),
  627. RightLeg = CFrame.Angles(cos(angle)*1,0,0),
  628. LeftLeg = CFrame.Angles(-cos(angle)*1,0,0),
  629. Torso = CFrame.Angles(0,0,0)
  630. },
  631. ["Jump"] = {
  632. speed=2,
  633. Head = CFrame.Angles(0,0,0),
  634. RightArm = CFrame.Angles(rad(-20),0,0),
  635. LeftArm = CFrame.Angles(rad(-20),0,0),
  636. RightLeg = CFrame.new(0,.5,-.5)*CFrame.Angles(rad(-20),0,0),
  637. LeftLeg = CFrame.Angles(0,0,0),
  638. Torso = CFrame.Angles(rad(10),0,0)
  639. }
  640. },
  641. ["Holding"] = {
  642. ["Stance"] = {
  643. speed=.25,
  644. Head = CFrame.Angles(cos(angle)*0.01,0,0),
  645. RightArm = CFrame.Angles(cos(angle)*0.1,0,rad(10)),
  646. LeftArm = CFrame.Angles(-cos(angle)*0.1,0,-rad(10)),
  647. RightLeg = CFrame.Angles(cos(angle)*0.1,0,0),
  648. LeftLeg = CFrame.Angles(-cos(angle)*0.1,0,0),
  649. Torso = CFrame.Angles(0,0,0)
  650. },
  651. ["Walk"] = {
  652. speed=2,
  653. Head = CFrame.Angles(0,0,cos(angle)*0.05),
  654. RightArm = CFrame.Angles(-cos(angle)*.3,0,rad(10)),
  655. LeftArm = CFrame.Angles(cos(angle)*.3,0,-rad(10)),
  656. RightLeg = CFrame.Angles(cos(angle)*1,0,0),
  657. LeftLeg = CFrame.Angles(-cos(angle)*1,0,0),
  658. Torso = CFrame.Angles(0,0,0)
  659. },
  660. ["Jump"] = {
  661. speed=2,
  662. Head = CFrame.Angles(0,0,0),
  663. RightArm = CFrame.Angles(rad(-20),0,0),
  664. LeftArm = CFrame.Angles(rad(-20),0,0),
  665. RightLeg = CFrame.new(0,.5,-.5)*CFrame.Angles(rad(-20),0,0),
  666. LeftLeg = CFrame.Angles(0,0,0),
  667. Torso = CFrame.Angles(rad(10),0,0)
  668. }
  669. }
  670. }
  671. end
  672.  
  673. UpdateAnims()
  674. equi=false
  675. jumpt=false
  676. walked=false
  677.  
  678. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  679.  
  680. CurrentActiveAnim="Idle"
  681.  
  682. function jump()
  683. if attack == true or jumpt==true then return end
  684. jumpt=true
  685. attack=true
  686. Spawn(function()
  687. for i=1,3 do wait()
  688. local efx= Part(200,200,200,'Really red',.5,false,true,m)
  689. local m= Mesh(efx,'http://www.roblox.com/asset/?id=20329976',300,200,300)
  690. efx.CFrame=torso.CFrame
  691. Spawn(function()
  692. for i=1,7 do wait()
  693. m.Scale=m.Scale+Vector3.new(1,.2,1)
  694. efx.Transparency=efx.Transparency+.12
  695. end
  696. efx:Destroy()
  697. end)
  698. end
  699. end)
  700. local vs = Instance.new("BodyVelocity",pchar.Torso)
  701. vs.maxForce = Vector3.new(200,200,200)*9e9
  702. vs.P = 500000
  703. vs.velocity = pchar.Torso.CFrame.lookVector*60+Vector3.new(0,250,0)
  704. wait(.025)
  705. vs:Destroy()
  706. trail(blade,30,30)
  707. so('168065379',torso,false,.8)
  708. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=false})
  709. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,0)
  710. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(40))*CFrame.new(0,-.5,0)
  711. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))*CFrame.new(0,-.5,0)
  712. LerpTo.hndl.To = CFrame.new(0,-0.3,0)*CFrame.Angles(0,rad(90),0)*CFrame.Angles(rad(130),0,0)
  713. local spn=0
  714. for i=1,14 do
  715. spn=spn+30
  716. wait(i/1000)
  717. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(rad(spn),0,0)
  718. end
  719. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=false,LeftLeg=false,Torso=false})
  720. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(40))* CFrame.new(-.2,-.25,0)
  721. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))* CFrame.new(.2,-.25,0)
  722. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,-1)
  723. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,1,-1)
  724. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(-rad(50),0,0) * CFrame.new(0,0.5,0)
  725. LerpTo.hndl.To = CFrame.new(0,-0.3,0)*CFrame.Angles(0,0,-rad(90))*CFrame.Angles(-rad(130),0,0)
  726. hitted=false
  727. local hp=blade.Touched:connect(function(hit)
  728. if hitted == true or hit.Parent.Name==pchar.Name then return end
  729. so('514867425',torso,false,1)
  730. hitted=true
  731. explosion('Really black','Really red',torso.CFrame,Vector3.new(500,500,500),100,50)
  732. for i=1, 5 do
  733. local p= Part(math.random(2,7),math.random(2,7),math.random(2,7),workspace.Base.BrickColor.Color,0,false,false,pchar)
  734. p.Material=workspace.Base.Material
  735. p.CFrame=CFrame.new(torso.CFrame.x+math.random(-i,i),0,torso.CFrame.z+math.random(-i,i))*CFrame.Angles(math.random(-10,10)/30,math.random(-10,10)/30,math.random(-10,10)/30)*CFrame.Angles(pi/2,0,0)
  736. p.Velocity=Vector3.new(math.random(-7000,6000),math.random(6000,4000),math.random(-9000,9000))
  737. game.Debris:AddItem(p,2)
  738. Spawn(function()
  739. for i=1,10 do wait(.01)
  740. p.Transparency=p.Transparency+.1
  741. end
  742. end)
  743. end
  744. end)
  745. repeat wait() until hitted
  746. hp:disconnect()
  747. wait(.5)
  748. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  749. LerpTo.hndl.To = LerpTo.hndl.Cache
  750. attack=false
  751. SetAnimData({Head=true,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=true})
  752. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(70),rad(20),-rad(70))*CFrame.new(0,-1,0)
  753. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,-rad(30))
  754. wait(.01)
  755. mwl.Part1=pchar['Right Arm']
  756. mwl.C1=CFrame.new(0,-1,0)*CFrame.Angles(-rad(90),0,rad(90))
  757. wait(.2)
  758. CurrentActiveAnim="Holding"
  759. LerpTo.hndl.To = LerpTo.hndl.Cache
  760. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  761. Spawn(function()
  762. wait(math.random(10,20))
  763. jumpt=false
  764. end)
  765. end
  766.  
  767. function swing()
  768. if attack == true then return end
  769. if combo==0 then
  770. attack=true
  771. tmdmg(10,blade,5,10)
  772. SetAnimData({Head=false,RightArm=false,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=false})
  773. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(120),rad(40),-rad(50))*CFrame.new(0,-.5,0)
  774. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,rad(30))
  775. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-rad(30),0)
  776. wait(.1)
  777. trail(blade,30,30)
  778. so('357622136',torso,false,1)
  779. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(0,0,rad(50))*CFrame.new(0,-.5,0)
  780. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(30))
  781. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(30),0)
  782. wait(.2)
  783. attack=false
  784. combo=1
  785. elseif combo==1 then
  786. attack=true
  787. tmdmg(10,blade,5,10)
  788. SetAnimData({Head=false,RightArm=false,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=false})
  789. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(150),0,rad(120))*CFrame.new(-.5,0,0)
  790. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(30))
  791. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(30),0)
  792. wait(.1)
  793. trail(blade,30,30)
  794. so('357622136',torso,false,.8)
  795. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(70),0,-rad(50))*CFrame.new(.5,0,-0.5)*CFrame.Angles(0,-rad(90),0)
  796. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,rad(70))
  797. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-rad(70),0)
  798. wait(.2)
  799. attack=false
  800. combo=2
  801. elseif combo==2 then
  802. attack=true
  803. trail(blade,30,30)
  804. tmdmg(10,blade,5,10)
  805. so('665549876',torso,false,1)
  806. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=false})
  807. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,0)
  808. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(40))*CFrame.new(0,-.5,0)
  809. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))*CFrame.new(0,-.5,0)
  810. LerpTo.hndl.To = CFrame.new(0,-0.3,0)*CFrame.Angles(rad(90),0,0)
  811. local spn=0
  812. for i=1,15 do
  813. spn=spn+30
  814. wait(i/1000)
  815. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(spn)+rad(70))
  816. end
  817. attack=false
  818. combo=3
  819. end
  820. Spawn(function()
  821. wait(0.6)
  822. if attack==false then
  823. attack=true
  824. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  825. LerpTo.hndl.To = LerpTo.hndl.Cache
  826. wait(.2)
  827. attack=false
  828. combo=0
  829. end
  830. end)
  831. end
  832.  
  833. deb=false
  834. function eq()
  835. if attack == true then return end
  836. if deb==true then return end
  837. deb=true
  838. SetAnimData({Head=true,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=true})
  839. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(70),rad(20),-rad(70))*CFrame.new(0,-1,0)
  840. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,-rad(30))
  841. wait(.01)
  842. mwl.Part1=pchar['Right Arm']
  843. mwl.C1=CFrame.new(0,-1,0)*CFrame.Angles(-rad(90),0,rad(90))
  844. wait(.2)
  845. CurrentActiveAnim="Holding"
  846. LerpTo.hndl.To = LerpTo.hndl.Cache
  847. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  848. deb=false
  849. equi=true
  850. end
  851. function deq()
  852. if attack == true then return end
  853. if deb==true then return end
  854. deb=true
  855. wait(2)
  856. SetAnimData({Head=true,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=true})
  857. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(70),rad(20),-rad(70))*CFrame.new(0,-1,0)
  858. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,-rad(30))
  859. LerpTo.hndl.To = CFrame.new(0,-0.3,0)*CFrame.Angles(0,0,0)
  860. wait(.1)
  861. mwl.Part1=pchar.Torso
  862. mwl.C1=CFrame.new(-1,0,-1)*CFrame.Angles(rad(120),0,0)
  863. wait(.1)
  864. CurrentActiveAnim="Idle"
  865. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  866. deb=false
  867. equi=false
  868. end
  869. chardeb=false
  870. game:service'RunService'.Stepped:connect(function()
  871. if pchar.Humanoid.Health<1 then if chardeb==false then chardeb=true wait(5) pchar:Destroy() build() chardeb=false end end
  872. closer={}
  873. for _,x in pairs(workspace:GetChildren()) do
  874. if x.ClassName=="Model" and x:findFirstChild("Humanoid")~=nil and x:findFirstChild("Torso")~=nil then
  875. dist = (x.Torso.Position - torso.Position).magnitude
  876. if dist <= 1000 and x.Name ~= workspace[protect].Name then
  877. table.insert(closer,x.Name)
  878. end
  879. end
  880. end
  881. if #closer > 0 then
  882. if equi==false then eq() end
  883. for _,x in pairs(workspace:GetChildren()) do
  884. if x.ClassName=="Model" and x:findFirstChild("Humanoid")~=nil and x:findFirstChild("Torso")~=nil then
  885. dist = (x.Torso.Position - torso.Position).magnitude
  886. if dist <= 2000 and x.Name ~= workspace[protect].Name then
  887. if equi==true then hum:MoveTo(workspace[closer[1]].Torso.Position)
  888. jump()
  889. swing()
  890. end
  891. end
  892. end
  893. end
  894. else
  895. if equi==true then deq() end
  896. Spawn(function()
  897. if walked==false then
  898. walked=true
  899. hum:MoveTo(workspace[protect].Torso.Position+Vector3.new(math.random(-10,10),0,math.random(-10,10)))
  900. wait(7)
  901. walked=false
  902. end
  903. end)
  904. end
  905. UpdateAnims(angle)
  906. for _,v in pairs(LerpTo) do
  907. v.Weld.C0 = Lerp.CFrame(v.Weld.C0,v.To,v.Speed)
  908. end
  909. angle = (angle % 100) + anglespeed/10
  910. if Vector3.new(0, torso.Velocity.y, 0).magnitude > 2 then
  911. CheckAnimData(CurrentActiveAnim,"Jump")
  912. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 2 then
  913. CheckAnimData(CurrentActiveAnim,"Stance")
  914. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude > 2 then
  915. CheckAnimData(CurrentActiveAnim,"Walk")
  916. end
  917. end)
Add Comment
Please, Sign In to add comment