codemen

Undyne's Spear script [roblox]

Nov 22nd, 2017
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.66 KB | None | 0 0
  1. local Handle = Instance.new("Part", game.Players.LocalPlayer.Character)
  2. Handle:BreakJoints()
  3. Handle.TopSurface = "Smooth"
  4. Handle.Material = "SmoothPlastic"
  5. Handle.Name = 'Handle'
  6. Handle.Transparency=1
  7. Handle.BottomSurface = "Smooth"
  8. Handle.FormFactor = "Custom" Handle.CanCollide = false
  9. Handle.BrickColor = BrickColor.new("Medium stone grey")
  10. Handle.Size = Vector3.new(0.5, 4.9000001, 0.799999833)
  11. local Handleweld = Instance.new("ManualWeld")
  12. Handleweld.Part0 = game.Players.LocalPlayer.Character["Right Arm"]
  13. Handleweld.Part1 = Handle Handleweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  14. Handleweld.C1 = CFrame.new(-0.0500130653, -0.15998745, 0.999988556, 1, 0, 0, 0, 0, -1, 0, 0.999999881, 0)
  15. Handleweld.Parent = game.Players.LocalPlayer.Character["Right Arm"]
  16. staffweld=Handleweld
  17. Handlecf=Handleweld.C1
  18. local Grip = Instance.new("Part", game.Players.LocalPlayer.Character)
  19. Grip:BreakJoints()
  20. Grip.TopSurface = "Smooth"
  21. Grip.Material = "SmoothPlastic"
  22. Grip.Name = 'Grip'
  23. Grip.BottomSurface = "Smooth"
  24. Grip.FormFactor = "Custom" Grip.CanCollide = false
  25. Grip.BrickColor = BrickColor.new("Toothpaste")
  26. Grip.Size = Vector3.new(0.400000006, 4, 0.400000006)
  27. local Gripweld = Instance.new("ManualWeld")
  28. Gripweld.Part0 = Handle Gripweld.Part1 = Grip Gripweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  29. Gripweld.C1 = CFrame.new(0.0500068665, 0.449998379, 5.96046448e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  30. Gripweld.Parent = Grip
  31. local GripMesh = Instance.new("CylinderMesh",Grip)
  32. GripMesh.Name = "Mesh"
  33. GripMesh.Offset = Vector3.new(0, 0, 0)
  34. GripMesh.Scale = Vector3.new(1, 1, 1)
  35.  
  36. local Down = Instance.new("WedgePart", game.Players.LocalPlayer.Character)
  37. Down:BreakJoints()
  38. Down.TopSurface = "Smooth"
  39. Down.Material = "SmoothPlastic"
  40. Down.Name = 'Down'
  41. Down.BottomSurface = "Smooth"
  42. Down.FormFactor = "Custom" Down.CanCollide = false
  43. Down.BrickColor = BrickColor.new("Toothpaste")
  44. Down.Size = Vector3.new(0.200000003, 1, 0.400000006)
  45. local Downweld = Instance.new("ManualWeld")
  46. Downweld.Part0 = Handle Downweld.Part1 = Down Downweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  47. Downweld.C1 = CFrame.new(0.0500155687, -1.95003223, 0.19999814, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  48. Downweld.Parent = Down
  49. local Connector = Instance.new("Part", game.Players.LocalPlayer.Character)
  50. Connector:BreakJoints()
  51. Connector.TopSurface = "Smooth"
  52. Connector.Material = "SmoothPlastic"
  53. Connector.Name = 'Connector'
  54. Connector.Shape="Ball"
  55. Connector.BottomSurface = "Smooth"
  56. Connector.FormFactor = "Custom" Connector.CanCollide = false
  57. Connector.BrickColor = BrickColor.new("Toothpaste")
  58. Connector.Size = Vector3.new(0.400000006, 0.400000006, 0.400000006)
  59. Connectorweld = Instance.new("ManualWeld")
  60. Connectorweld.Part0 = Handle Connectorweld.Part1 = Connector Connectorweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  61. Connectorweld.C1 = CFrame.new(0.0500068665, -1.55001354, 6.91413879e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  62. Connectorweld.Parent = Connector
  63. local Up = Instance.new("WedgePart", game.Players.LocalPlayer.Character)
  64. Up:BreakJoints()
  65. Up.TopSurface = "Smooth"
  66. Up.Material = "SmoothPlastic"
  67. Up.Name = 'Up'
  68. Up.BottomSurface = "Smooth"
  69. Up.FormFactor = "Custom" Up.CanCollide = false
  70. Up.BrickColor = BrickColor.new("Toothpaste")
  71. Up.Size = Vector3.new(0.200000003, 1, 0.400000006)
  72. local Upweld = Instance.new("ManualWeld")
  73. Upweld.Part0 = Handle Upweld.Part1 = Up Upweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  74. Upweld.C1 = CFrame.new(-0.0500155687, -1.95002747, 0.200003147, -1, 0, 0, 0, 1, 0, -0, 0, -1)
  75. Upweld.Parent = Up
  76. Connector.Material="Neon"
  77. Grip.Material="Neon"
  78. Up.Material="Neon"
  79. Down.Material="Neon"
  80. Player=game:GetService("Players").LocalPlayer
  81. Character=Player.Character
  82. Character.Animate:Destroy()
  83. PlayerGui=Player.PlayerGui
  84. Backpack=Player.Backpack
  85. Torso=Character.Torso
  86. Head=Character.Head
  87. Humanoid=Character.Humanoid
  88. Humanoid.WalkSpeed=32
  89. LeftArm=Character["Left Arm"]
  90. LeftLeg=Character["Left Leg"]
  91. RightArm=Character["Right Arm"]
  92. RightLeg=Character["Right Leg"]
  93. LS=Torso["Left Shoulder"]
  94. LH=Torso["Left Hip"]
  95. RS=Torso["Right Shoulder"]
  96. RH=Torso["Right Hip"]
  97. Neck=Torso.Neck
  98. it=Instance.new
  99. vt=Vector3.new
  100. cf=CFrame.new
  101. euler=CFrame.fromEulerAnglesXYZ
  102. angles=CFrame.Angles
  103. necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  104. necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  105. LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
  106. LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0)
  107. RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
  108. RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0)
  109. RootPart=Character.HumanoidRootPart
  110. RootJoint=RootPart.RootJoint
  111. RootCF=euler(-1.57,0,3.14)
  112. attack=false
  113. attackdebounce=false
  114. MMouse=nil
  115. combo=0
  116. local Anim="Idle"
  117. player=nil
  118. --save shoulders
  119. RSH, LSH=nil, nil
  120. --welds
  121. RW, LW=Instance.new("Weld"), Instance.new("Weld")
  122. RW.Name="Right Shoulder" LW.Name="Left Shoulder"
  123. LH=Torso["Left Hip"]
  124. RH=Torso["Right Hip"]
  125. Head.Running.SoundId="rbxassetid://696796643"
  126. Instance.new("PitchShiftSoundEffect",Character.Head.Running).Octave=0.5
  127. function clerp(a,b,t)
  128. local qa = {QuaternionFromCFrame(a)}
  129. local qb = {QuaternionFromCFrame(b)}
  130. local ax, ay, az = a.x, a.y, a.z
  131. local bx, by, bz = b.x, b.y, b.z
  132. local _t = 1-t
  133. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  134. end
  135.  
  136. function QuaternionFromCFrame(cf)
  137. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  138. local trace = m00 + m11 + m22
  139. if trace > 0 then
  140. local s = math.sqrt(1 + trace)
  141. local recip = 0.5/s
  142. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  143. else
  144. local i = 0
  145. if m11 > m00 then
  146. i = 1
  147. end
  148. if m22 > (i == 0 and m00 or m11) then
  149. i = 2
  150. end
  151. if i == 0 then
  152. local s = math.sqrt(m00-m11-m22+1)
  153. local recip = 0.5/s
  154. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  155. elseif i == 1 then
  156. local s = math.sqrt(m11-m22-m00+1)
  157. local recip = 0.5/s
  158. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  159. elseif i == 2 then
  160. local s = math.sqrt(m22-m00-m11+1)
  161. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  162. end
  163. end
  164. end
  165.  
  166. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  167. local xs, ys, zs = x + x, y + y, z + z
  168. local wx, wy, wz = w*xs, w*ys, w*zs
  169. local xx = x*xs
  170. local xy = x*ys
  171. local xz = x*zs
  172. local yy = y*ys
  173. local yz = y*zs
  174. local zz = z*zs
  175. 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))
  176. end
  177.  
  178. function QuaternionSlerp(a, b, t)
  179. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  180. local startInterp, finishInterp;
  181. if cosTheta >= 0.0001 then
  182. if (1 - cosTheta) > 0.0001 then
  183. local theta = math.acos(cosTheta)
  184. local invSinTheta = 1/math.sin(theta)
  185. startInterp = math.sin((1-t)*theta)*invSinTheta
  186. finishInterp = math.sin(t*theta)*invSinTheta
  187. else
  188. startInterp = 1-t
  189. finishInterp = t
  190. end
  191. else
  192. if (1+cosTheta) > 0.0001 then
  193. local theta = math.acos(-cosTheta)
  194. local invSinTheta = 1/math.sin(theta)
  195. startInterp = math.sin((t-1)*theta)*invSinTheta
  196. finishInterp = math.sin(t*theta)*invSinTheta
  197. else
  198. startInterp = t-1
  199. finishInterp = t
  200. end
  201. end
  202. 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
  203. end
  204. function swait(num)
  205. if num==0 or num==nil then
  206. game:service'RunService'.RenderStepped:wait()
  207. else
  208. for i=0,num do
  209. game:service'RunService'.RenderStepped:wait()
  210. end
  211. end
  212. end
  213. function weld(parent,part0,part1,c0)
  214. local weld=it("Weld")
  215. weld.Parent=parent
  216. weld.Part0=part0
  217. weld.Part1=part1
  218. weld.C0=c0
  219. return weld
  220. end
  221. local function rs()
  222. game:GetService("RunService").RenderStepped:wait()
  223. end
  224.  
  225. Plr = game.Players.LocalPlayer
  226. P = Plr.Character
  227. Mouse = Plr:GetMouse()
  228.  
  229. ch = P
  230. RSH=ch.Torso["Right Shoulder"]
  231. LSH=ch.Torso["Left Shoulder"]
  232. RF, LF=Instance.new("Weld"), Instance.new("Weld")
  233. --
  234. RSH.Parent=nil
  235. LSH.Parent=nil
  236. --
  237. RW.Name="Right Shoulder"
  238. RW.Part0=ch.Torso
  239. RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
  240. RW.C1=cf(0, 0.5, 0)
  241. RW.Part1=ch["Right Arm"]
  242. RW.Parent=P.Torso
  243. --
  244. LW.Name="Left Shoulder"
  245. LW.Part0=ch.Torso
  246. LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  247. LW.C1=cf(0, 0.5, 0)
  248. LW.Part1=ch["Left Arm"]
  249. LW.Parent=P.Torso
  250. --
  251. RF.Name="Right Hip"
  252. RF.Part0=ch.Torso
  253. RF.C0=cf(.5, -1.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
  254. RF.C1=cf(0, 0.5, 0)
  255. RF.Part1=ch["Right Leg"]
  256. RF.Parent=P.Torso
  257. --
  258. LF.Name="Left Hip"
  259. LF.Part0=ch.Torso
  260. LF.C0=cf(-.5, -1.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  261. LF.C1=cf(0, 0.5, 0)
  262. LF.Part1=ch["Left Leg"]
  263. LF.Parent=P.Torso
  264. RFC0 = RF.C0
  265. LFC0 = LF.C0
  266. RWC0 = CFrame.new(1.5, 0.5, 0, -0.945518613, -0.32556811, 0, 0.32556811, -0.945518613, 0, 0, 0, 1)
  267. LWC0 = CFrame.new(-1.05161786, 0.471444488, -0.853310168, 0.459834456, -0.887635231, -0.0256112181, 0.116241433, 0.08876127, -0.989246905, 0.880363643, 0.451912731, 0.143995479)
  268. TC0 = RootJoint.C0
  269. HC0 = Torso.Neck.C0
  270.  
  271. local Rads = 14
  272. local sine = 0
  273. local Arms = true
  274. local Legs = true
  275. local AttArm = 0
  276. local AttLeg = 0
  277. local Enabled = true
  278.  
  279. function Walk()
  280. if Arms then
  281. RW.C0=clerp(RW.C0,cf(1.5, 0.5, 0)*euler(-math.rad(50),0,math.rad(30)),.3)
  282. RootJoint.C0=clerp(RootJoint.C0,RootCF*CFrame.Angles(math.rad(15),0,0),.3)
  283. Handleweld.C1=clerp(Handleweld.C1,Handlecf*CFrame.Angles(0,math.rad(90),0),.3)
  284. LW.C0=clerp(LW.C0,cf(-1.5+math.abs(math.sin(-sine)*.233), 0.5, math.sin(sine)*.233)*euler(-math.sin(sine)/1.5*(Humanoid.WalkSpeed/13),0,-math.sin(sine)/3*(Humanoid.WalkSpeed/13)),.3)
  285. end
  286. if Legs then
  287. RF.C0=clerp(RF.C0,cf(.5, -1.5, math.sin(sine)*.233)*euler(-math.sin(sine)/2*((Humanoid.WalkSpeed+8)/24),0,0),.5)
  288. LF.C0=clerp(LF.C0,cf(-.5, -1.5, math.sin(-sine)*.233)*euler(-math.sin(-sine)/2*((Humanoid.WalkSpeed+8)/24),0,0),.5)
  289. end
  290. sine = sine + math.rad(Rads)
  291. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),.3)
  292. end
  293. function Aim()
  294. RW.C0=clerp(RW.C0,CFrame.new(1.5, 0.5, 0, -0.945518613, -0.32556811, 0, 0.32556811, -0.945518613, 0, 0, 0, 1),.3)
  295. LW.C0=clerp(LW.C0,CFrame.new(-1.05161786, 0.471444488, -0.853310168, 0.459834456, -0.887635231, -0.0256112181, 0.116241433, 0.08876127, -0.989246905, 0.880363643, 0.451912731, 0.143995479),.3)
  296. RootJoint.C0=clerp(RootJoint.C0,TC0,.3)
  297. Handleweld.C1=clerp(Handleweld.C1,Handlecf,.3)
  298. Torso.Neck.C0=clerp(Torso.Neck.C0,HC0,.3)
  299. if Vector3.new(P.Torso.Velocity.x, 0, P.Torso.Velocity.z).magnitude > 3 and Legs then
  300. RF.C0=clerp(RF.C0,cf(.5, -1.5, math.sin(sine)*.233)*euler(-math.sin(sine)/2*((Humanoid.WalkSpeed+8)/24),0,0),.5)
  301. LF.C0=clerp(LF.C0,cf(-.5, -1.5, math.sin(-sine)*.233)*euler(-math.sin(-sine)/2*((Humanoid.WalkSpeed+8)/24),0,0),.5)
  302. sine = sine + math.rad(Rads)
  303. end
  304. end
  305. function Idle()
  306. if Arms then
  307. RW.C0=clerp(RW.C0,cf(1.5, 0.5, 0)*CFrame.new(0, 0, 0, 0.862729907, -0.5, -0.0754789189, 0.49809736, 0.866025388, -0.0435777754, 0.0871555507, 0, 0.99619472),.3)
  308. LW.C0=clerp(LW.C0,cf(-1.5, 0.5, 0)*CFrame.new(0, 0, 0, 0.173648223, 0.98480773, 0, -0.98480773, 0.173648223, 0, 0, 0, 1),.3)
  309. RootJoint.C0=clerp(RootJoint.C0,RootCF*CFrame.Angles(0,0,-math.rad(70)),.3)
  310. Handleweld.C1=clerp(Handleweld.C1,Handlecf,.3)
  311. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,math.rad(70)),.3)
  312. end
  313. if Legs then
  314. RF.C0=clerp(RF.C0,RFC0*cf(0,0,0)*CFrame.new(0, -0, 0, 0.99619472, 0, -0.0871557817, 0, 1, 0, 0.0871557817, 0, 0.99619472),.3)
  315. LF.C0=clerp(LF.C0,LFC0*cf(0,0,0)*CFrame.new(0, -0, 0, 0.906307638, 0, 0.422618419, 0, 1, 0, -0.422618419, 0, 0.906307638),.3)
  316. end
  317. end
  318.  
  319. function Sound(ID,Par,Pitch,Vol)
  320. local Sound = Instance.new("Sound",Par)
  321. Sound.SoundId = "http://www.roblox.com/asset/?id="..tostring(ID)
  322. game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id="..tostring(ID))
  323. Sound.Pitch = Pitch
  324. Sound.Volume = Vol
  325. game.Debris:AddItem(Sound,Sound.TimeLength)
  326. rs()
  327. Sound:Play()
  328. end
  329. local aiming = false
  330. local Jumping = false
  331. local Jumpi = 0
  332.  
  333. game:GetService("RunService").Heartbeat:connect(function()
  334. if Jumping == true then
  335. Jumpi = Jumpi + 1
  336. if Arms then
  337. RW.C0=clerp(RW.C0,cf(1, 1, 0)*euler(0,0,math.pi/2+math.pi/4),.5)
  338. LW.C0=clerp(LW.C0,cf(-1, 1, 0)*euler(0,0,-math.pi/2-math.pi/4),.5)
  339. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(math.pi/16,0,0),.5)
  340. end
  341. if Legs then
  342. RF.C0=clerp(RF.C0,RFC0*cf(0,0,0)*euler(0,0,0),.5)
  343. LF.C0=clerp(LF.C0,LFC0*cf(0,.5,-.6)*euler(0,0,0),.5)
  344. end
  345. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),.5)
  346. if Jumpi == 10 then
  347. Jumping = false
  348. Jumpi = 0
  349. end
  350. elseif Vector3.new(P.Torso.Velocity.x, 0, P.Torso.Velocity.z).magnitude < 3 then
  351. if aiming then
  352. Aim()
  353. else
  354. Idle()
  355. end
  356. elseif Vector3.new(P.Torso.Velocity.x, 0, P.Torso.Velocity.z).magnitude > 3 then
  357. if aiming then
  358. Aim()
  359. else
  360. Walk()
  361. end
  362. end
  363. end)
  364. P.Humanoid.Jumping:connect(function()
  365. if Arms == false and Legs == false then
  366. else
  367. Jumping = true
  368. end
  369. end)
  370. function hwait()
  371. game:GetService("RunService").Heartbeat:wait()
  372. end
  373. function Sound(ID,Par,Pitch,Vol)
  374. local Sound = Instance.new("Sound",Par)
  375. Sound.SoundId = "http://www.roblox.com/asset/?id="..tostring(ID)
  376. game:GetService("ContentProvider"):Preload("rbxassetid://"..tostring(ID))
  377. Sound.Pitch = Pitch
  378. Sound.Volume = Vol
  379. wait()
  380. game.Debris:AddItem(Sound,Sound.TimeLength)
  381. rs()
  382. Sound:Play()
  383. return Sound
  384. end
  385. function Damage(Dmg,Part)
  386. local Child = Part
  387. local Par = Part.Parent
  388. if Par == workspace then
  389. elseif Par~=nil then
  390. repeat
  391. Child = Par
  392. Par = Par.Parent
  393. until Par == workspace
  394. end
  395. local Found = false
  396. function Search(c)
  397. coroutine.resume(coroutine.create(function()
  398. for i,v in pairs (c:GetChildren()) do
  399. if v:IsA("Humanoid") then
  400. for i = 1,10 do
  401. v.Health = v.Health - Dmg/10
  402. Found = true
  403. end
  404. end
  405. Search(v)
  406. end
  407. end))
  408. end
  409. if Child ~= P then
  410. Search(Child)
  411. end
  412. if Found == false then
  413. return false
  414. else
  415. return true
  416. end
  417. end
  418. neg={-1,1}
  419. Mouse.Button1Down:connect(function()
  420. if Enabled == true then
  421. Enabled = false
  422. Arms = false
  423. local Hit = false
  424. AttArm = AttArm + 1
  425. Handle.Touched:connect(function(part)
  426. if Hit == false then
  427. local Hitz = Damage(10,part)
  428. if Hitz == true then
  429. Hit = true
  430. end
  431. end
  432. end)
  433. if AttArm % 2 == 0 then
  434. for i = 0,1,0.05 do
  435. rs()
  436. RW.C0=clerp(RW.C0,CFrame.new(0.327810407, 0.426284045, -0.812734485, 0.499530673, 0.832429767, 0.23985371, -0.765840292, 0.553754687, -0.32687068, -0.404916912, -0.0204077363, 0.914125562),.3)
  437. LW.C0=clerp(LW.C0,cf(-1.5, 0.5, 0)*euler(0,0,-math.pi/16),.3)
  438. LW.C0=clerp(LW.C0,CFrame.new(-1.12515569, 0.390085489, -0.0568969324, 0.966400146, 0.0897351503, -0.240870312, -0.223289788, 0.757267952, -0.613748312, 0.127328619, 0.646910369, 0.751860738),.3)
  439. RF.C0=clerp(RF.C0,cf(.5, -1.5, 0)*euler(math.rad(30),0,0),.3)
  440. LF.C0=clerp(LF.C0,cf(-.5, -1.5, 0)*euler(-math.rad(30),0,0),.3)
  441. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),.3)
  442. Handleweld.C1=clerp(Handleweld.C1,Handlecf*CFrame.new(0,0,1.5),.3)
  443. RootJoint.C0=clerp(RootJoint.C0,RootCF*CFrame.Angles(math.rad(0),0,0),.3)
  444.  
  445. end
  446. elseif AttArm % 2 == 1 then
  447. LW.C0=clerp(LW.C0,cf(-1.5, 0.5, 0)*euler(math.pi/2,0,0),1)
  448. for i = 0,1,0.05 do
  449. rs()
  450. RW.C0=clerp(RW.C0, CFrame.new(1.00035846, 0.481068671, 0, -0.838670492, -0.436109662, 0.326251596, 0.544639111, -0.671549916, 0.502383232, 0, 0.599023461, 0.80073148),.3)
  451. LW.C0=clerp(LW.C0,CFrame.new(0.418275297, 0.689788699, -0.483788908, -0.600420177, -0.779812098, 0.177168876, 0.799684703, -0.585499287, 0.133022174, 0, 0.221548468, 0.975149393),.3)
  452. RF.C0=clerp(RF.C0,cf(.5, -1.5, 0)*euler(-math.rad(30),0,0),.3)
  453. LF.C0=clerp(LF.C0,cf(-.5, -1.5, 0)*euler(math.rad(30),0,0),.3)
  454. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),.3)
  455. Handleweld.C1=clerp(Handleweld.C1,Handlecf*CFrame.new(0,0,1.5),.3)
  456. RootJoint.C0=clerp(RootJoint.C0,RootCF*CFrame.Angles(math.rad(0),0,0),.3)
  457.  
  458. end
  459. end
  460. Hit=true
  461. Enabled=true
  462. Arms=true
  463. end
  464. end)
  465. Handle.Archivable=true
  466. Character.Sound.Parent=Character.Head
  467. --battle against a true hero, spear of justice, run, undyne, sharax, game over
  468. songs = {333552980,344965733,320307291,322427044,582376765,326810807,392344547}
  469. songtitles = {"Battle Against a True Hero","Spear of Justice","Run!","Undyne","SharaX's Battle Against a True Hero","Soul break","Game Over"}
  470. k=0
  471. spears={}
  472. Mouse.KeyDown:connect(function(key)
  473. if key=="f" then
  474. aiming=true
  475. Arms=false
  476. wait(.3)
  477. Sound(334702864,Character.Torso,1,1)
  478. if Character.Humanoid.Health<=50 and Handle~=nil then
  479. for offset = 1, 5 do
  480. Handleweld.Parent=nil
  481. Upweld.Parent=nil
  482. Downweld.Parent=nil
  483. Gripweld.Parent=nil
  484. Connectorweld.Parent=nil
  485. Handle:BreakJoints()
  486. local spear = Handle:Clone()
  487. Upweld.Parent=Handle
  488. Downweld.Parent=Handle
  489. Gripweld.Parent=Handle
  490. Connectorweld.Parent=Handle
  491. Handleweld.Parent=Handle
  492. spear:BreakJoints()
  493. spear.Anchored=true
  494. Connector:Clone().Parent=spear
  495. Up:Clone().Parent=spear
  496. Down:Clone().Parent=spear
  497. Grip:Clone().Parent=spear
  498. for i,v in pairs(spear:children'') do if v:IsA("BasePart") then v.Anchored=true else v:Remove() end end
  499. local parts = {spear.Connector,spear.Up,spear.Down,spear.Grip}
  500. local cframes = {CFrame.new(0.0500068665, -1.55001354, 6.91413879e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0500155687, -1.95002747, 0.200003147, -1, 0, 0, 0, 1, 0, -0, 0, -1),CFrame.new(0.0500155687, -1.95003223, 0.19999814, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0500068665, 0.449998379, 5.96046448e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1)}
  501. spear.CFrame=Handle.CFrame*CFrame.new(math.random(2,6),0,math.random(2,6)*-1)
  502. spear.Parent=workspace
  503. for _,v in pairs(parts) do
  504. v.CFrame=spear.CFrame*cframes[_]:inverse()
  505. end
  506. table.insert(spears,spear)
  507. end
  508. end
  509. elseif key=="t" then
  510. Arms=false
  511. for i=1,3 do
  512. for erp = 1,10 do
  513. RW.C0=clerp(RW.C0,CFrame.new(1.5, 0.5, 0, 0.153277263, -0.283480376, -0.946649313, 0.879648566, 0.475624204, 0, 0.450249314, -0.83271873, 0.322265476),erp/10)
  514. LW.C0=clerp(LW.C0,CFrame.new(-1.39469635, 0.517272592, -0.170228422, 0.937898338, -0.299321532, 0.175366715, 0.169711918, -0.0450018011, -0.984465718, 0.302563637, 0.953090549, 0.00859132782),erp/10)
  515. Handleweld.C1=clerp(Handleweld.C1,Handlecf,erp/10)
  516. RootJoint.C0=clerp(RootJoint.C0,RootCF*CFrame.Angles(math.rad(0),0,0),erp/10)
  517. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),erp/10)
  518. rs()
  519. end
  520. Hit = false
  521. Handle.Touched:connect(function(part)
  522. if Hit == false then
  523. local Hitz = Damage(10,part)
  524. if Hitz == true then
  525. Hit = true
  526. end
  527. end
  528. end)
  529. for erp = 1,10 do
  530. if i==1 then
  531. RW.C0=clerp(RW.C0,CFrame.new(1.5, 0.5, 0, 0.674811959, 0.700760841, 0.231437087, -0.0440065488, 0.351255953, -0.935244679, -0.736676514, 0.620929599, 0.26786983),erp/10)
  532. elseif i==2 then
  533. RW.C0=clerp(RW.C0,CFrame.new(1.5, 0.5, 0, 0.920771599, 0.388925076, -0.0302828625, 0.0161895473, -0.115658574, -0.993157089, -0.389766157, 0.913980544, -0.112791643),erp/10)
  534. else
  535. RW.C0=clerp(RW.C0,CFrame.new(1.5, 0.5, 0, 0.868244171, 0.476193607, 0.13925457, 0.0297700949, 0.230168059, -0.97269541, -0.495243251, 0.848682761, 0.185665786),erp/10)
  536. end
  537. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,math.rad(-40)),erp/10)
  538. RootJoint.C0=clerp(RootJoint.C0,RootCF*CFrame.Angles(0,0,math.rad(40)),erp/10)
  539. LW.C0=clerp(LW.C0,CFrame.new(-1.5, 0.5, 0, 0.210330695, 0.29751879, 0.931259096, -0.398629963, 0.895882845, -0.196183711, -0.892667413, -0.32996431, 0.307031572),erp/10)
  540. Handleweld.C1=clerp(Handleweld.C1,Handlecf*CFrame.Angles(math.rad(70),0,0)*CFrame.new(0,1,2),erp/10)
  541. rs()
  542. end
  543. Hit=true
  544. end
  545. Arms=true
  546. elseif key=="p" then
  547. k=k+1
  548. if k>#songs then k=1 end
  549. print(songtitles[k])
  550. elseif key=="v" then
  551. Arms=false
  552. local push = true
  553. Character["Left Arm"].Touched:connect(function(op)
  554. if push then
  555. if op:IsA("BasePart") then
  556. op.Velocity=Character.HumanoidRootPart.CFrame.lookVector*250
  557. push=false
  558. if op.Parent~=nil then
  559. if op.Parent:FindFirstChild("Humanoid") then
  560. op.Parent.Humanoid.Health=op.Parent.Humanoid.Health-10
  561. end
  562. end
  563. end
  564. end
  565. end)
  566. for erp=1,10 do
  567. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,math.rad(20)),erp/10)
  568. RootJoint.C0=clerp(RootJoint.C0,RootCF*CFrame.Angles(0,0,math.rad(-20)),erp/10)
  569. RW.C0=clerp(RW.C0,CFrame.new(1.5, 0.5, 0, 0.321100682, -0.192936763, -0.927183747, 0.515038073, 0.857167304, 0, 0.794751585, -0.47753495, 0.374606788),erp/10)
  570. LW.C0=clerp(LW.C0,CFrame.new(-0.896866202, 0.486411452, -0.778488934, 0.92977649, 0.368124545, 0, -0.00642465055, 0.0162268169, -0.99984771, -0.368068486, 0.929634929, 0.0174523834),erp/10)
  571. Handleweld.C1=clerp(Handleweld.C1,Handlecf,erp/10)
  572. rs()
  573. end
  574. wait(.3)
  575. push=false
  576. Arms=true
  577. elseif key=="m" then
  578. if Character.Torso:FindFirstChild("Sound") then
  579. Character.Torso.Sound:Stop()
  580. Character.Torso.Sound:Remove()
  581. else
  582. Sound(songs[k],Character.Torso,1,1)
  583. end
  584. elseif key=="g" then
  585. local hit, pos = workspace:FindPartOnRay(Ray.new(Character.Torso.Position,Vector3.new(0,-1000,0)),Character)
  586. if hit then
  587. idis = (pos-Character.Torso.Position).magnitude
  588. if (pos-Character.Torso.Position).magnitude > 20 then
  589. dis = (pos-Character.Torso.Position).magnitude
  590. Character.Torso.Velocity=Vector3.new(0,-250,0)
  591. Arms=false
  592. Legs=false
  593. for i=1,10 do
  594. LF.C0=clerp(LFC0,CFrame.new(-0.5, 0.200000048, -0.400000006, 1, 0, 0, 0, 1, 0, 0, 0, 1),i/10)
  595. RW.C0=clerp(RWC0,CFrame.new(0.915500879, 0.521719158, -0.684024155, -0.760409832, 0.649443507, 0.000383748062, -0.0201063696, -0.0241324138, 0.999506533, 0.649132311, 0.760026872, 0.0314084738),i/10)
  596. LW.C0=clerp(LWC0,CFrame.new(-0.942085445, 0.456736922, -0.571716368, 0.715692759, -0.697393179, -0.037769489, 0, 0.0540788434, -0.998536646, 0.69841522, 0.714645445, 0.0387038365),i/10)
  597. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(math.rad(20),0,0),i/10)
  598. RF.C0=clerp(RFC0,CFrame.new(0.5, 0.200000048, -0.400000006, 1, 0, 0, 0, 1, 0, 0, 0, 1),i/10)
  599. Handleweld.C1=clerp(Handleweld.C1,Handlecf,i/10)
  600. rs()
  601. end
  602. repeat
  603. dis = (pos-Character.Torso.Position).magnitude
  604. rs()
  605. until dis<=3
  606. Arms=true
  607. Legs=true
  608. local p=Instance.new("Part")
  609. p.Anchored=true
  610. p.CanCollide=false
  611. p.Size=Vector3.new(4,4,4)
  612. p.Transparency=0
  613. local m=Instance.new("SpecialMesh",p)
  614. m.MeshType="FileMesh"
  615. m.Scale=p.Size
  616. m.MeshId="http://www.roblox.com/asset/?id=20329976"
  617. local p2=Instance.new("Part")
  618. p2.Anchored=true
  619. p2.CanCollide=false
  620. p2.Size=Vector3.new(4,4,4)
  621. p2.Transparency=0
  622. local m2=Instance.new("SpecialMesh",p2)
  623. m2.MeshType="FileMesh"
  624. m2.Scale=p2.Size
  625. m2.MeshId="http://www.roblox.com/asset/?id=3270017"
  626. local initpcf = P.Torso.CFrame*CFrame.new(0,-2.5,0)
  627. Sound(696814340,Character.Torso,1,2)
  628. p.Touched:connect(function(op)
  629. if op.Parent.Name~=P.Name then
  630. if op.Parent:FindFirstChild("Humanoid") then
  631. op.Parent.Humanoid:TakeDamage(5)
  632. end
  633. end
  634. end)
  635. spawn(function()
  636. repeat
  637. p.Size=p.Size+Vector3.new(0.5,0.5,0.5)
  638. p.CFrame=initpcf
  639. p.Parent=workspace
  640. p.Transparency=p.Transparency+5/idis
  641. m.Scale=p.Size
  642. p2.Size=p2.Size+Vector3.new(0.5,0.5,0)
  643. p2.CFrame=p.CFrame*CFrame.Angles(math.rad(90),0,0)
  644. p2.Parent=workspace
  645. p2.Transparency=p2.Transparency+5/idis
  646. m2.Scale=p2.Size
  647. wait()
  648. until p.Transparency>=1
  649. p:Remove()
  650. p2:Remove()
  651. end)
  652. end
  653. end
  654. elseif key=="e" then
  655. Arms=false
  656. Legs=false
  657. for i = 1,10 do
  658. rs()
  659. RW.C0=clerp(RWC0,CFrame.new(1.5, 0.5, 0, 0.98419559, 0, 0.177084729, -0.12521781, 0.707106709, 0.695931375, -0.125217795, -0.707106769, 0.695931315),i/10)
  660. LW.C0=clerp(LWC0,CFrame.new(-0.387910306, 0.400549024, -0.802101016, 0.642787635, -0.766044438, 0, 0.627506793, 0.526540756, -0.57357657, 0.439385146, 0.368687928, 0.819151938),i/10)
  661. RF.C0=clerp(RFC0,CFrame.new(0.5, -1.00000024, -0.600000006, 1, 0, 0, 0, 0.993571818, 0.113203347, 0, -0.113203347, 0.993571818),i/10)
  662. LF.C0=clerp(LFC0,CFrame.new(-0.5, -0.938060188, -0.091341728, 1, 0, 0, 0, 0.923879504, 0.382683456, 0, -0.382683456, 0.923879504),i/10)
  663. RootJoint.C0=clerp(TC0,TC0*CFrame.new(0,0,-0.5),i/10)
  664. Handleweld.C1=clerp(Handleweld.C1*CFrame.Angles(-math.rad(30),0,0),Handlecf,.3)
  665. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),i/10)
  666. end
  667. wait(.5)
  668. local p=Instance.new("Part")
  669. p.Anchored=true
  670. p.CanCollide=false
  671. p.Size=Vector3.new(4,4,4)
  672. p.Transparency=0
  673. local m=Instance.new("SpecialMesh",p)
  674. m.MeshType="FileMesh"
  675. m.Scale=p.Size
  676. m.MeshId="http://www.roblox.com/asset/?id=20329976"
  677. local initpcf = P.Torso.CFrame*CFrame.Angles(math.rad(90),0,0)
  678. Sound(696814340,Character.Torso,1,1)
  679. spawn(function()
  680. repeat
  681. p.Size=p.Size+Vector3.new(0.5,0.5,0.5)
  682. p.CFrame=initpcf
  683. p.Parent=workspace
  684. p.Transparency=p.Transparency+0.05
  685. m.Scale=p.Size
  686. wait()
  687. until p.Transparency>=1
  688. p:Remove()
  689. end)
  690. local init = Character.Torso.CFrame
  691. Character.Torso.Velocity=Character.HumanoidRootPart.CFrame.lookVector*250
  692. Arms=true
  693. Legs=true
  694. elseif key=="q" then
  695. Arms=false
  696. Legs=false
  697. for i = 1,10 do
  698. rs()
  699. RW.C0=clerp(RWC0,CFrame.new(1.5, 0.5, 0, 0.901832521, -0.432085752, 0, 0.432085752, 0.901832521, 0, 0, 0, 1),i/10)
  700. LW.C0=clerp(LWC0,CFrame.new(-1.5, 0.5, 0, 0.921185374, 0.389123946, 0, -0.389123946, 0.921185374, 0, 0, 0, 1),i/10)
  701. RF.C0=clerp(RFC0,CFrame.new(0.5, -1.000000024, -0.600000006, 1, 0, 0, 0, 0.993571818, 0.113203347, 0, -0.113203347, 0.993571818),i/10)
  702. LF.C0=clerp(LFC0,CFrame.new(-0.5, -0.938060188, -0.091341728, 1, 0, 0, 0, 0.923879504, 0.382683456, 0, -0.382683456, 0.923879504),i/10)
  703. RootJoint.C0=clerp(TC0,TC0*CFrame.new(0,0,-0.5),i/10)
  704. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(math.rad(20),0,0),i/10)
  705. end
  706. wait(.5)
  707. local p=Instance.new("Part")
  708. p.Anchored=true
  709. p.CanCollide=false
  710. p.Size=Vector3.new(4,4,4)
  711. p.Transparency=0
  712. local m=Instance.new("SpecialMesh",p)
  713. m.MeshType="FileMesh"
  714. m.Scale=p.Size
  715. m.MeshId="http://www.roblox.com/asset/?id=20329976"
  716. local initpcf = P.Torso.CFrame*CFrame.new(0,-2.5,0)
  717. Sound(696796878,Character.Torso,1,1)
  718. spawn(function()
  719. repeat
  720. p.Size=p.Size+Vector3.new(0.5,0.5,0.5)
  721. p.CFrame=initpcf
  722. p.Parent=workspace
  723. p.Transparency=p.Transparency+0.05
  724. m.Scale=p.Size
  725. wait()
  726. until p.Transparency>=1
  727. p:Remove()
  728. end)
  729. local init = Character.Torso.CFrame
  730. Character.Humanoid.Jump=true
  731. Character.Torso.Velocity=Vector3.new(0,250,0)
  732. Arms=true
  733. Legs=true
  734. elseif key=="r" then
  735. if Character.Humanoid.Health>=Character.Humanoid.MaxHealth/2 then
  736. local hint = Instance.new("Part")
  737. hint.Shape="Cylinder"
  738. Sound(334702864,hint,1,1)
  739. hint.Anchored=true
  740. hint.CanCollide=false
  741. hint.Material="Neon"
  742. hint.Transparency=1
  743. hint.BrickColor=BrickColor.new("Toothpaste")
  744. hint.Size=Vector3.new(.2,4,4)
  745. hint.CFrame=CFrame.new(Mouse.Hit.p)*CFrame.Angles(0,0,math.rad(90))
  746. hint.Parent=workspace
  747. for i = 1,30 do
  748. rs()
  749. hint.Transparency=1-i/30
  750. end
  751. Handleweld.Parent=nil
  752. Upweld.Parent=nil
  753. Downweld.Parent=nil
  754. Gripweld.Parent=nil
  755. Connectorweld.Parent=nil
  756. Handle:BreakJoints()
  757. local spear = Handle:Clone()
  758. Upweld.Parent=Handle
  759. Downweld.Parent=Handle
  760. Gripweld.Parent=Handle
  761. Connectorweld.Parent=Handle
  762. Handleweld.Parent=Handle
  763. spear:BreakJoints()
  764. spear.Anchored=true
  765. Connector:Clone().Parent=spear
  766. Up:Clone().Parent=spear
  767. Down:Clone().Parent=spear
  768. Grip:Clone().Parent=spear
  769. for i,v in pairs(spear:children'') do if v:IsA("BasePart") then v.Anchored=true else v:Remove() end end
  770. local parts = {spear.Connector,spear.Up,spear.Down,spear.Grip}
  771. local cframes = {CFrame.new(0.0500068665, -1.55001354, 6.91413879e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0500155687, -1.95002747, 0.200003147, -1, 0, 0, 0, 1, 0, -0, 0, -1),CFrame.new(0.0500155687, -1.95003223, 0.19999814, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0500068665, 0.449998379, 5.96046448e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1)}
  772. spear.CFrame=CFrame.new((hint.CFrame*CFrame.new(-5,0,0)).p)
  773. spear.Parent=workspace
  774. Sound(696796381,spear,1,1)
  775. spear.Touched:connect(function(v)
  776. if v.Parent~=nil then
  777. if v.Parent:FindFirstChild("Humanoid") and v.Parent~=Character then
  778. v.Parent.Humanoid.Health=v.Parent.Humanoid.Health-10
  779. end
  780. end
  781. end)
  782. for _,v in pairs(parts) do
  783. v.CFrame=spear.CFrame*cframes[_]:inverse()
  784. end
  785. for i = 1,10 do
  786. rs()
  787. spear.CFrame=spear.CFrame*CFrame.new(0,0.7,0)
  788. for _,v in pairs(parts) do
  789. v.CFrame=spear.CFrame*cframes[_]:inverse()
  790. end
  791. end
  792. spawn(function()
  793. wait(.5)
  794. spear:Destroy()
  795. Handleweld = Instance.new("ManualWeld")
  796. Handleweld.Part0 = game.Players.LocalPlayer.Character["Right Arm"]
  797. Handleweld.Part1 = Character.Handle Handleweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  798. Handleweld.C1 = CFrame.new(-0.0500130653, -0.15998745, 0.999988556, 1, 0, 0, 0, 0, -1, 0, 0.999999881, 0)
  799. Handleweld.Parent = game.Players.LocalPlayer.Character["Right Arm"]
  800. hint:Remove()
  801. end)
  802. else
  803. for offset = 1, 5 do
  804. spawn(function()
  805. local multiplier = neg[math.random(1,2)]
  806. local multi = neg[math.random(1,2)]
  807. local hint = Instance.new("Part")
  808. hint.Shape="Cylinder"
  809. Sound(334702864,hint,1,1)
  810. hint.Anchored=true
  811. hint.CanCollide=false
  812. hint.Material="Neon"
  813. hint.Transparency=1
  814. hint.BrickColor=BrickColor.new("Toothpaste")
  815. hint.Size=Vector3.new(.2,4,4)
  816. if offset==1 then
  817. hint.CFrame=CFrame.new(Mouse.Hit.p)*CFrame.Angles(0,0,math.rad(90))
  818. else
  819. hint.CFrame=CFrame.new(Mouse.Hit.p+Vector3.new(math.random(1,10)*multi,0,math.random(1,10)*multiplier))*CFrame.Angles(0,0,math.rad(90))
  820. end
  821. hint.Parent=workspace
  822. for i = 1,30 do
  823. rs()
  824. hint.Transparency=1-i/30
  825. end
  826. Handleweld.Parent=nil
  827. Upweld.Parent=nil
  828. Downweld.Parent=nil
  829. Gripweld.Parent=nil
  830. Connectorweld.Parent=nil
  831. Handle:BreakJoints()
  832. local spear = Handle:Clone()
  833. Upweld.Parent=Handle
  834. Downweld.Parent=Handle
  835. Gripweld.Parent=Handle
  836. Connectorweld.Parent=Handle
  837. Handleweld.Parent=Handle
  838. spear:BreakJoints()
  839. spear.Anchored=true
  840. Connector:Clone().Parent=spear
  841. Up:Clone().Parent=spear
  842. Down:Clone().Parent=spear
  843. Grip:Clone().Parent=spear
  844. for i,v in pairs(spear:children'') do if v:IsA("BasePart") then v.Anchored=true else v:Remove() end end
  845. local parts = {spear.Connector,spear.Up,spear.Down,spear.Grip}
  846. local cframes = {CFrame.new(0.0500068665, -1.55001354, 6.91413879e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0500155687, -1.95002747, 0.200003147, -1, 0, 0, 0, 1, 0, -0, 0, -1),CFrame.new(0.0500155687, -1.95003223, 0.19999814, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0500068665, 0.449998379, 5.96046448e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1)}
  847. spear.CFrame=CFrame.new((hint.CFrame*CFrame.new(-5,0,0)).p)
  848. spear.Parent=workspace
  849. Sound(696796381,spear,1,1)
  850. spear.Touched:connect(function(v)
  851. if v.Parent~=nil then
  852. if v.Parent:FindFirstChild("Humanoid") and v.Parent~=Character then
  853. v.Parent.Humanoid.Health=v.Parent.Humanoid.Health-10
  854. end
  855. end
  856. end)
  857. for _,v in pairs(parts) do
  858. v.CFrame=spear.CFrame*cframes[_]:inverse()
  859. end
  860. for i = 1,10 do
  861. rs()
  862. spear.CFrame=spear.CFrame*CFrame.new(0,0.7,0)
  863. for _,v in pairs(parts) do
  864. v.CFrame=spear.CFrame*cframes[_]:inverse()
  865. end
  866. end
  867. spawn(function()
  868. wait(.5)
  869. spear:Destroy()
  870. Handleweld = Instance.new("ManualWeld")
  871. Handleweld.Part0 = game.Players.LocalPlayer.Character["Right Arm"]
  872. Handleweld.Part1 = Character.Handle Handleweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  873. Handleweld.C1 = CFrame.new(-0.0500130653, -0.15998745, 0.999988556, 1, 0, 0, 0, 0, -1, 0, 0.999999881, 0)
  874. Handleweld.Parent = game.Players.LocalPlayer.Character["Right Arm"]
  875. hint:Remove()
  876. end)
  877. end)
  878. end
  879. end
  880. end
  881. end)
  882.  
  883. local enabled=true
  884. Mouse.KeyUp:connect(function(key)
  885. if key=="f" and enabled then
  886. aiming=false
  887. enabled=false
  888. if #spears==0 then
  889. Handleweld:Destroy()
  890. local temp = Handle
  891. temp.Parent=workspace
  892. temp.CanCollide=true
  893. local parts = {Connector,Up,Down,Grip}
  894. local cframes = {Connectorweld.C1,Upweld.C1,Downweld.C1,Gripweld.C1}
  895. local init = Mouse.Hit.p
  896. local dir = init - temp.Position
  897. for i,v in pairs(parts) do v.Anchored=true end Handle.Anchored=true
  898. spawn(function()
  899. for i = 1,200 do
  900. rs()
  901. for _,v in pairs(temp:GetTouchingParts()) do
  902. if v.Parent~=nil then
  903. if v.Parent:FindFirstChild("Humanoid") and v.Parent~=Character then
  904. v.Parent.Humanoid.Health=v.Parent.Humanoid.Health-5
  905. end
  906. end
  907. end
  908. local Distance = (init-temp.Position).magnitude
  909. if Distance > 2 then Distance = 2 end
  910. temp.CFrame = CFrame.new(temp.Position,init) * CFrame.new(0,0,-Distance) * CFrame.Angles(math.rad(-90),math.rad(90),0)
  911. for _,v in pairs(parts) do
  912. v.CFrame=temp.CFrame*cframes[_]:inverse()
  913. end
  914. end
  915. temp:Remove()
  916. for i,v in pairs(parts) do v:Remove() end
  917. end)
  918. Handle = Instance.new("Part", game.Players.LocalPlayer.Character)
  919. Handle:BreakJoints()
  920. Handle.TopSurface = "Smooth"
  921. Handle.Material = "SmoothPlastic"
  922. Handle.Name = 'Handle'
  923. Handle.Transparency=1
  924. Handle.BottomSurface = "Smooth"
  925. Handle.FormFactor = "Custom" Handle.CanCollide = false
  926. Handle.BrickColor = BrickColor.new("Medium stone grey")
  927. Handle.Size = Vector3.new(0.5, 4.9000001, 0.799999833)
  928. Handleweld = Instance.new("ManualWeld")
  929. Handleweld.Part0 = game.Players.LocalPlayer.Character["Right Arm"]
  930. Handleweld.Part1 = Handle Handleweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  931. Handleweld.C1 = CFrame.new(-0.0500130653, -0.15998745, 0.999988556, 1, 0, 0, 0, 0, -1, 0, 0.999999881, 0)
  932. Handleweld.Parent = game.Players.LocalPlayer.Character["Right Arm"]
  933. staffweld=Handleweld
  934. Handlecf=Handleweld.C1
  935. Grip = Instance.new("Part", game.Players.LocalPlayer.Character)
  936. Grip:BreakJoints()
  937. Grip.TopSurface = "Smooth"
  938. Grip.Material = "SmoothPlastic"
  939. Grip.Name = 'Grip'
  940. Grip.BottomSurface = "Smooth"
  941. Grip.FormFactor = "Custom" Grip.CanCollide = false
  942. Grip.BrickColor = BrickColor.new("Toothpaste")
  943. Grip.Size = Vector3.new(0.400000006, 4, 0.400000006)
  944. Gripweld = Instance.new("ManualWeld")
  945. Gripweld.Part0 = Handle Gripweld.Part1 = Grip Gripweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  946. Gripweld.C1 = CFrame.new(0.0500068665, 0.449998379, 5.96046448e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  947. Gripweld.Parent = Grip
  948. GripMesh = Instance.new("CylinderMesh",Grip)
  949. GripMesh.Name = "Mesh"
  950. GripMesh.Offset = Vector3.new(0, 0, 0)
  951. GripMesh.Scale = Vector3.new(1, 1, 1)
  952.  
  953. Down = Instance.new("WedgePart", game.Players.LocalPlayer.Character)
  954. Down:BreakJoints()
  955. Down.TopSurface = "Smooth"
  956. Down.Material = "SmoothPlastic"
  957. Down.Name = 'Down'
  958. Down.BottomSurface = "Smooth"
  959. Down.FormFactor = "Custom" Down.CanCollide = false
  960. Down.BrickColor = BrickColor.new("Toothpaste")
  961. Down.Size = Vector3.new(0.200000003, 1, 0.400000006)
  962. Downweld = Instance.new("ManualWeld")
  963. Downweld.Part0 = Handle Downweld.Part1 = Down Downweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  964. Downweld.C1 = CFrame.new(0.0500155687, -1.95003223, 0.19999814, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  965. Downweld.Parent = Down
  966. Connector = Instance.new("Part", game.Players.LocalPlayer.Character)
  967. Connector:BreakJoints()
  968. Connector.TopSurface = "Smooth"
  969. Connector.Material = "SmoothPlastic"
  970. Connector.Name = 'Connector'
  971. Connector.Shape="Ball"
  972. Connector.BottomSurface = "Smooth"
  973. Connector.FormFactor = "Custom" Connector.CanCollide = false
  974. Connector.BrickColor = BrickColor.new("Toothpaste")
  975. Connector.Size = Vector3.new(0.400000006, 0.400000006, 0.400000006)
  976. Connectorweld = Instance.new("ManualWeld")
  977. Connectorweld.Part0 = Handle Connectorweld.Part1 = Connector Connectorweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  978. Connectorweld.C1 = CFrame.new(0.0500068665, -1.55001354, 6.91413879e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  979. Connectorweld.Parent = Connector
  980. Up = Instance.new("WedgePart", game.Players.LocalPlayer.Character)
  981. Up:BreakJoints()
  982. Up.TopSurface = "Smooth"
  983. Up.Material = "SmoothPlastic"
  984. Up.Name = 'Up'
  985. Up.BottomSurface = "Smooth"
  986. Up.FormFactor = "Custom" Up.CanCollide = false
  987. Up.BrickColor = BrickColor.new("Toothpaste")
  988. Up.Size = Vector3.new(0.200000003, 1, 0.400000006)
  989. Upweld = Instance.new("ManualWeld")
  990. Upweld.Part0 = Handle Upweld.Part1 = Up Upweld.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  991. Upweld.C1 = CFrame.new(-0.0500155687, -1.95002747, 0.200003147, -1, 0, 0, 0, 1, 0, -0, 0, -1)
  992. Upweld.Parent = Up
  993. Connector.Material="Neon"
  994. Grip.Material="Neon"
  995. Up.Material="Neon"
  996. Down.Material="Neon"
  997. Handle.Archivable=true
  998. else
  999. local init = Mouse.Hit.p
  1000. for derp,rekt in pairs(spears) do
  1001. spawn(function()
  1002. local asd = rekt
  1003. asd:BreakJoints()
  1004. asd.Parent = workspace
  1005. asd.CanCollide = true
  1006. local parts = {asd.Connector,asd.Up,asd.Down,asd.Grip}
  1007. local cframes = {Connectorweld.C1,Upweld.C1,Downweld.C1,Gripweld.C1}
  1008. for i,v in pairs(parts) do v.Anchored=true end asd.Anchored=true
  1009. for i = 1,200 do
  1010. rs()
  1011. for _,v in pairs(asd:GetTouchingParts()) do
  1012. if v.Parent~=nil then
  1013. if v.Parent:FindFirstChild("Humanoid") and v.Parent~=Character then
  1014. v.Parent.Humanoid.Health=v.Parent.Humanoid.Health-5
  1015. end
  1016. end
  1017. end
  1018. local Distance = (init-asd.Position).magnitude
  1019. if Distance > 2 then Distance = 2 end
  1020. asd.CFrame = CFrame.new(asd.Position,init) * CFrame.new(0,0,-Distance) * CFrame.Angles(math.rad(-90),math.rad(90),0)
  1021. for _,v in pairs(parts) do
  1022. v.CFrame=asd.CFrame*cframes[_]:inverse()
  1023. end
  1024. end
  1025. asd:Remove()
  1026. for i,v in pairs(parts) do v:Remove() end
  1027. end)
  1028. end
  1029. spears = {}
  1030. end
  1031. Sound(696796381,Handle,1,1)
  1032. for i = 1,10 do
  1033. rs()
  1034. RW.C0=clerp(RWC0,CFrame.new(1.5, 0.5, 0, -0.969445348, 0.175265431, 0.171632558, 0.245307371, 0.692642331, 0.678285301, 0, 0.699663281, -0.714472771),i/10)
  1035. LW.C0=clerp(LWC0,CFrame.new(-1.5, 0.5, 0, 0.880477369, 0.474088192, 0, -0.0928957462, 0.172526136, -0.980614662, -0.464897841, 0.863409042, 0.195946127),i/10)
  1036. end
  1037. enabled=true
  1038. Arms=true
  1039. end
  1040. end)
Add Comment
Please, Sign In to add comment