Gokussjg

Untitled

Feb 27th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 62.97 KB | None | 0 0
  1. --[[
  2. Black Katana
  3. A lightweight blade gives this black-hilted katana speedy and powerful slashes.
  4. --]]
  5.  
  6.  
  7. if script == nil then return end
  8.  
  9.  
  10. ModelName = "Black Katana"
  11. Player = Game.Players.LocalPlayer
  12. Char = Player.Character
  13. animate = Char:findFirstChild("Animate")
  14. if animate then
  15. animate:Destroy()
  16. end
  17. Selected = false
  18. Connected = false
  19. Button1Down = false
  20. CanUse = true
  21. Damage = 0
  22.  
  23.  
  24. function SetSwordDamage(DamageNew, Time)
  25. if DamageDefault == nil then
  26. DamageDefault = Damage
  27. end
  28. if DamageNew == "Default" then
  29. Damage = DamageDefault
  30. elseif type(DamageNew) == "number" then
  31. Damage = DamageNew
  32. end
  33. if Time ~= nil then
  34. coroutine.wrap(function()
  35. local DamageResetDefault = time()
  36. DamageReset = DamageResetDefault
  37. wait(Time)
  38. if DamageReset == DamageResetDefault then
  39. Damage = DamageDefault
  40. end
  41. end)()
  42. end
  43. end
  44.  
  45.  
  46. function CheckPlayer()
  47. if Player.Character == nil then return false end
  48. if Player.Character:FindFirstChild("Torso") == nil or Player.Character:FindFirstChild("Right Arm") == nil or Player.Character:FindFirstChild("Humanoid") == nil then return false end
  49. if Player.Character.Humanoid.Health <= 0 then return false end
  50. return true
  51. end
  52.  
  53.  
  54. SoundToServer = function(Name, SoundId, Pitch, Volume, Looped, Parent)
  55. local Sound = Instance.new("Sound")
  56. Sound.Name = Name
  57. Sound.SoundId = SoundId
  58. Sound.Pitch = Pitch
  59. Sound.Volume = Volume
  60. Sound.Looped = Looped
  61. Sound.Parent = Parent
  62. Sound:Play()
  63. end
  64.  
  65.  
  66. function CreateParts(Parent, Format)
  67. if Parent == nil then return end
  68. local Parts = Instance.new("Model")
  69. Parts.Name = ModelName
  70. if Format == 1 then
  71. Parts.Name = Parts.Name.. " (Holstered)"
  72. end
  73. Parts.Parent = Parent
  74.  
  75. local MasterPart1 = Instance.new("Part")
  76. MasterPart1.Name = "Sheath"
  77. MasterPart1.BrickColor = BrickColor.new("Really black")
  78. MasterPart1.TopSurface = 0
  79. MasterPart1.BottomSurface = 0
  80. MasterPart1.FormFactor = "Custom"
  81. MasterPart1.Size = Vector3.new(0.25, 0.5, 3.5)
  82. MasterPart1.Locked = true
  83. MasterPart1.Parent = Parts
  84. local Weld = Instance.new("Weld")
  85. Weld.Part0 = MasterPart1
  86. Weld.Part1 = Player.Character:FindFirstChild("Torso")
  87. Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(150), 0, 0)
  88. Weld.C1 = CFrame.new(-1.1, -1.75, 0.5)
  89. Weld.Parent = Weld.Part0
  90.  
  91. local MasterPart2 = Instance.new("Part")
  92. MasterPart2.Name = "Handle"
  93. MasterPart2.BrickColor = BrickColor.new("Really black")
  94. MasterPart2.TopSurface = 0
  95. MasterPart2.BottomSurface = 0
  96. MasterPart2.FormFactor = "Custom"
  97. MasterPart2.Size = Vector3.new(0.3, 0.4, 1.25)
  98. MasterPart2.Locked = true
  99. MasterPart2.Parent = Parts
  100. local Weld = Instance.new("Weld")
  101. Weld.Part0 = MasterPart2
  102. if Format == 1 then
  103. Weld.Part1 = MasterPart1
  104. Weld.C1 = CFrame.new(0, 0, 2.625)
  105. elseif Format == 2 then
  106. Weld.Part1 = Player.Character:FindFirstChild("Right Arm")
  107. Weld.C1 = CFrame.new(0, -1, -0.1)
  108. end
  109. Weld.Parent = Weld.Part0
  110. local Part = Instance.new("Part")
  111. Part.Name = "Hand Guard"
  112. Part.BrickColor = BrickColor.new("Really black")
  113. Part.TopSurface = 0
  114. Part.BottomSurface = 0
  115. Part.FormFactor = "Custom"
  116. Part.Size = Vector3.new(0.5, 0.6, 0.25)
  117. Part.Locked = true
  118. Part.Parent = Parts
  119. local Weld = Instance.new("Weld")
  120. Weld.Part0 = Part
  121. Weld.Part1 = MasterPart2
  122. Weld.C0 = CFrame.new(0, 0, 0.75)
  123. Weld.Parent = Weld.Part0
  124. local Part = Instance.new("Part")
  125. Part.Name = "Blade Holder"
  126. Part.BrickColor = BrickColor.new("Really black")
  127. Part.TopSurface = 0
  128. Part.BottomSurface = 0
  129. Part.FormFactor = "Custom"
  130. Part.Size = Vector3.new(0.25, 0.375, 0.2)
  131. Part.Locked = true
  132. Part.Parent = Parts
  133. local Weld = Instance.new("Weld")
  134. Weld.Part0 = Part
  135. Weld.Part1 = MasterPart2
  136. Weld.C0 = CFrame.new(0, 0, 0.9)
  137. Weld.Parent = Weld.Part0
  138. local Mesh = Instance.new("SpecialMesh", Part)
  139. Mesh.MeshType = "Brick"
  140. Mesh.Scale = Vector3.new(1, 1, 0.25)
  141. local Part = Instance.new("Part")
  142. Part.Name = "Blade"
  143. Part.BrickColor = BrickColor.new("Light stone grey")
  144. Part.Reflectance = 0.25
  145. Part.TopSurface = 0
  146. Part.BottomSurface = 0
  147. Part.FormFactor = "Custom"
  148. Part.Size = Vector3.new(0.2, 0.3, 2.75)
  149. Part.Locked = true
  150. Part.Parent = Parts
  151. Part.Touched:connect(SwordTouched)
  152. local Weld = Instance.new("Weld")
  153. Weld.Part0 = Part
  154. Weld.Part1 = MasterPart2
  155. Weld.C0 = CFrame.new(0, 0, 2.25)
  156. Weld.Parent = Weld.Part0
  157. local Mesh = Instance.new("SpecialMesh", Part)
  158. Mesh.MeshType = "Brick"
  159. Mesh.Scale = Vector3.new(0.1, 1, 1)
  160. local Part = Instance.new("WedgePart")
  161. Part.Name = "Blade Tip"
  162. Part.BrickColor = BrickColor.new("Light stone grey")
  163. Part.Reflectance = 0.25
  164. Part.TopSurface = 0
  165. Part.BottomSurface = 0
  166. Part.FormFactor = "Custom"
  167. Part.Size = Vector3.new(0.2, 0.3, 0.75)
  168. Part.Locked = true
  169. Part.Parent = Parts
  170. Part.Touched:connect(SwordTouched)
  171. local Weld = Instance.new("Weld")
  172. Weld.Part0 = Part
  173. Weld.Part1 = MasterPart2
  174. Weld.C0 = CFrame.new(0, 0, 4) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(180))
  175. Weld.Parent = Weld.Part0
  176. local Mesh = Instance.new("SpecialMesh", Part)
  177. Mesh.MeshType = "Wedge"
  178. Mesh.Scale = Vector3.new(0.1, 1, 1)
  179. end
  180.  
  181.  
  182. function RemoveParts(Parent, Format)
  183. if Format == 1 then
  184. pcall(function() Parent[ModelName.. " (Holstered)"]:Remove() end)
  185. elseif Format == 2 then
  186. pcall(function() Parent[ModelName]:Remove() end)
  187. end
  188. end
  189.  
  190.  
  191. function SetAngle(Joint, Angle, Character)
  192. if Character == nil then return false end
  193. local Joints = {
  194. Character.Torso:FindFirstChild("Right Shoulder 2"),
  195. Character.Torso:FindFirstChild("Left Shoulder 2"),
  196. Character.Torso:FindFirstChild("Right Hip 2"),
  197. Character.Torso:FindFirstChild("Left Hip 2")
  198. }
  199. if Joints[Joint] == nil then return false end
  200. if Joint == 1 or Joint == 3 then
  201. Joints[Joint].DesiredAngle = Angle
  202. end
  203. if Joint == 2 or Joint == 4 then
  204. Joints[Joint].DesiredAngle = -Angle
  205. end
  206. end
  207.  
  208.  
  209. function ForceAngle(Joint, Angle, Character)
  210. if Character == nil then return false end
  211. local Joints = {
  212. Character.Torso:FindFirstChild("Right Shoulder 2"),
  213. Character.Torso:FindFirstChild("Left Shoulder 2"),
  214. Character.Torso:FindFirstChild("Right Hip 2"),
  215. Character.Torso:FindFirstChild("Left Hip 2")
  216. }
  217. if Joints[Joint] == nil then return false end
  218. if Joint == 1 or Joint == 3 then
  219. Joints[Joint].DesiredAngle = Angle
  220. Joints[Joint].CurrentAngle = Angle
  221. end
  222. if Joint == 2 or Joint == 4 then
  223. Joints[Joint].DesiredAngle = -Angle
  224. Joints[Joint].CurrentAngle = -Angle
  225. end
  226. end
  227.  
  228.  
  229. function SetSpeed(Joint, Speed, Character)
  230. if Character == nil then return false end
  231. local Joints = {
  232. Character.Torso:FindFirstChild("Right Shoulder 2"),
  233. Character.Torso:FindFirstChild("Left Shoulder 2"),
  234. Character.Torso:FindFirstChild("Right Hip 2"),
  235. Character.Torso:FindFirstChild("Left Hip 2")
  236. }
  237. if Joints[Joint] == nil then return false end
  238. Joints[Joint].MaxVelocity = Speed
  239. end
  240.  
  241.  
  242. function DisableLimb(Limb, Character)
  243. if Character == nil then return false end
  244. if Character:FindFirstChild("Torso") == nil then return false end
  245. local Joints = {
  246. Character.Torso:FindFirstChild("Right Shoulder"),
  247. Character.Torso:FindFirstChild("Left Shoulder"),
  248. Character.Torso:FindFirstChild("Right Hip"),
  249. Character.Torso:FindFirstChild("Left Hip")
  250. }
  251. local Limbs = {
  252. Character:FindFirstChild("Right Arm"),
  253. Character:FindFirstChild("Left Arm"),
  254. Character:FindFirstChild("Right Leg"),
  255. Character:FindFirstChild("Left Leg")
  256. }
  257. if Joints[Limb] == nil then return false end
  258. if Limbs[Limb] == nil then return false end
  259. local Joint = Instance.new("Motor6D")
  260. Joint.Parent = Character.Torso
  261. Joint.Part0 = Character.Torso
  262. Joint.Part1 = Limbs[Limb]
  263. if Limb == 1 then
  264. Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  265. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  266. Joint.Name = "Right Shoulder 2"
  267. elseif Limb == 2 then
  268. Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  269. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  270. Joint.Name = "Left Shoulder 2"
  271. elseif Limb == 3 then
  272. Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  273. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  274. Joint.Name = "Right Hip 2"
  275. elseif Limb == 4 then
  276. Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  277. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  278. Joint.Name = "Left Hip 2"
  279. end
  280. Joint.MaxVelocity = Joints[Limb].MaxVelocity
  281. Joint.CurrentAngle = Joints[Limb].CurrentAngle
  282. Joint.DesiredAngle = Joints[Limb].DesiredAngle
  283. Joints[Limb]:Remove()
  284. end
  285.  
  286.  
  287. function ResetLimbCFrame(Limb, Character)
  288. if Character == nil then return false end
  289. if Character.Parent == nil then return false end
  290. if Character:FindFirstChild("Torso") == nil then return false end
  291. local Joints = {
  292. Character.Torso:FindFirstChild("Right Shoulder 2"),
  293. Character.Torso:FindFirstChild("Left Shoulder 2"),
  294. Character.Torso:FindFirstChild("Right Hip 2"),
  295. Character.Torso:FindFirstChild("Left Hip 2")
  296. }
  297. local Limbs = {
  298. Character:FindFirstChild("Right Arm"),
  299. Character:FindFirstChild("Left Arm"),
  300. Character:FindFirstChild("Right Leg"),
  301. Character:FindFirstChild("Left Leg")
  302. }
  303. if Joints[Limb] == nil then return false end
  304. if Limbs[Limb] == nil then return false end
  305. if Limb == 1 then
  306. Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  307. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  308. elseif Limb == 2 then
  309. Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  310. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  311. elseif Limb == 3 then
  312. Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  313. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  314. elseif Limb == 4 then
  315. Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  316. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  317. end
  318. end
  319.  
  320.  
  321. function EnableLimb(Limb, Character)
  322. if Character == nil then return false end
  323. if Character:FindFirstChild("Torso") == nil then return false end
  324. local Joints = {
  325. Character.Torso:FindFirstChild("Right Shoulder 2"),
  326. Character.Torso:FindFirstChild("Left Shoulder 2"),
  327. Character.Torso:FindFirstChild("Right Hip 2"),
  328. Character.Torso:FindFirstChild("Left Hip 2")
  329. }
  330. local Limbs = {
  331. Character:FindFirstChild("Right Arm"),
  332. Character:FindFirstChild("Left Arm"),
  333. Character:FindFirstChild("Right Leg"),
  334. Character:FindFirstChild("Left Leg")
  335. }
  336. if Joints[Limb] == nil then return false end
  337. if Limbs[Limb] == nil then return false end
  338. if Limb == 1 then
  339. Joints[Limb].Name = "Right Shoulder"
  340. elseif Limb == 2 then
  341. Joints[Limb].Name = "Left Shoulder"
  342. elseif Limb == 3 then
  343. Joints[Limb].Name = "Right Hip"
  344. elseif Limb == 4 then
  345. Joints[Limb].Name = "Left Hip"
  346. end
  347. Animate = Character:FindFirstChild("Animate")
  348. if Animate == nil then return false end
  349. Animate = Animate:Clone()
  350. Character.Animate:Remove()
  351. Animate.Parent = Character
  352. end
  353.  
  354.  
  355. function Weld(x, y)
  356. local Weld = Instance.new("Weld")
  357. Weld.Part0 = x
  358. Weld.Part1 = y
  359. Weld.C0 = x.CFrame:inverse() * CFrame.new(x.Position)
  360. Weld.C1 = y.CFrame:inverse() * CFrame.new(x.Position)
  361. Weld.Parent = x
  362. end
  363.  
  364.  
  365. function SwordTouched(Hit)
  366. if Hit:IsDescendantOf(Player.Character) then return end
  367. if Hit.Parent:FindFirstChild("Humanoid") ~= nil then
  368. tagHumanoid(Hit.Parent.Humanoid)
  369. Hit.Parent.Humanoid:TakeDamage(Damage)
  370. wait()
  371. pcall(function() untagHumanoid(hit.Parent.Humanoid) end)
  372. end
  373. end
  374.  
  375.  
  376. function tagHumanoid(humanoid)
  377. local tag = Instance.new("ObjectValue")
  378. tag.Name = "creator"
  379. tag.Value = Player
  380. tag.Parent = humanoid
  381. end
  382.  
  383.  
  384. function untagHumanoid(humanoid)
  385. if humanoid ~= nil then
  386. local tag = humanoid:FindFirstChild("creator")
  387. if tag ~= nil then
  388. tag:Remove()
  389. end
  390. end
  391. end
  392.  
  393.  
  394. function onButton1Down(Mouse)
  395. if Button1Down == true then return end
  396. Button1Down = true
  397. if CheckPlayer() == false then return end
  398. if KeyUGrab == true and KeyUGrabCharacter ~= nil and KeyUChoke ~= true and KeyUSlit ~= true then
  399. KeyUChoke = true
  400. for i = 0, 1, 0.1 do
  401. pcall(function()
  402. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(math.rad(10 * i), math.rad(110 + (25 * i)), 0)
  403. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(math.rad(10 * i), math.rad(-110 - (25 * i)), 0)
  404. end)
  405. wait()
  406. end
  407. pcall(function()
  408. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(135), 0)
  409. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(-135), 0)
  410. end)
  411. while Button1Down == true and KeyUGrab == true and Selected == true do
  412. if KeyUGrabCharacter.Humanoid.Health - 0.5 <= 0 and KeyUGrabCharacter:FindFirstChild("Head") ~= nil then
  413. pcall(function() KeyUWeld:Remove() end)
  414. for _, Part in pairs(KeyUGrabCharacter.Head:GetChildren()) do
  415. pcall(function()
  416. Part.SoundId = ""
  417. Part.Volume = 0
  418. Part.Pitch = 0
  419. end)
  420. end
  421. wait(0.1)
  422. KeyUGrabCharacter.Humanoid.Health = 0
  423. else
  424. KeyUGrabCharacter.Humanoid:TakeDamage(0.5)
  425. end
  426. if math.random(1, 20) == 1 then
  427. local BillboardGui = Instance.new("BillboardGui")
  428. BillboardGui.Parent = KeyUGrabCharacter
  429. BillboardGui.Adornee = KeyUGrabCharacter:FindFirstChild("Head")
  430. BillboardGui.Size = UDim2.new(1, 0, 1, 0)
  431. BillboardGui.StudsOffset = Vector3.new(0, 0.5, 0)
  432. local TextLabel = Instance.new("TextLabel")
  433. TextLabel.Parent = BillboardGui
  434. TextLabel.Position = UDim2.new(0, 0, 0, 0)
  435. TextLabel.Size = UDim2.new(1, 0, 1, 0)
  436. TextLabel.Text = (function()
  437. local Choice1 = math.random(1, 5)
  438. if Choice1 == 1 then
  439. Choice1 = "Hrk"
  440. elseif Choice1 == 2 then
  441. Choice1 = "Hk"
  442. elseif Choice1 == 3 then
  443. Choice1 = "Gak"
  444. elseif Choice1 == 4 then
  445. Choice1 = "Mmph"
  446. elseif Choice1 == 5 then
  447. Choice1 = "Mph"
  448. end
  449. local Choice2 = math.random(1, 5)
  450. if Choice2 == 1 then
  451. Choice2 = "!"
  452. elseif Choice2 == 2 then
  453. Choice2 = "?"
  454. elseif Choice2 == 3 then
  455. Choice2 = "..."
  456. elseif Choice2 == 4 then
  457. Choice2 = "-"
  458. elseif Choice2 == 5 then
  459. Choice2 = "!?"
  460. elseif Choice2 == 5 then
  461. Choice2 = "?!"
  462. end
  463. return Choice1 .. Choice2
  464. end)()
  465. TextLabel.FontSize = "Size14"
  466. TextLabel.TextColor3 = Color3.new(math.random(0, 255) / 255, 0, 0)
  467. TextLabel.BackgroundTransparency = 1
  468. coroutine.wrap(function()
  469. local Direction = Vector3.new(math.random(-75, 75) / 1000, math.random(-75, 75) / 1000, math.random(-75, 75) / 1000)
  470. for i = 0, math.random(25, 100) do
  471. BillboardGui.StudsOffset = BillboardGui.StudsOffset + Direction
  472. wait()
  473. end
  474. for i = 0, 1, 0.05 do
  475. BillboardGui.StudsOffset = BillboardGui.StudsOffset + (Direction * (1 - i)) - Vector3.new(0, 0.5 * i, 0)
  476. TextLabel.TextTransparency = i
  477. wait()
  478. end
  479. BillboardGui:Remove()
  480. end)()
  481. end
  482. wait()
  483. end
  484. for i = 0, 1, 0.1 do
  485. pcall(function()
  486. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(math.rad(10 * (1 - i)), math.rad(135 - (25 * i)), 0)
  487. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(math.rad(10 * (1 - i)), math.rad(-135 + (25 * i)), 0)
  488. end)
  489. wait()
  490. end
  491. pcall(function()
  492. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(110), 0)
  493. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-110), 0)
  494. end)
  495. KeyUChoke = false
  496. elseif KeyUChoke == true and KeyUSlit ~= true then
  497. KeyUSlit = true
  498. while KeyUChoke == true do wait() end
  499. for i = 0, 1, 0.25 do
  500. pcall(function()
  501. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1 + (0.5 * i), 0.5, -0.75 + (0.75 * i)) * CFrame.fromEulerAnglesXYZ(0, math.rad(110 - (100 * i)), 0)
  502. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-110 + (50 * i)), 0)
  503. end)
  504. wait()
  505. end
  506. pcall(function() KeyUWeld:Remove() end)
  507. KeyUGrabCharacter.Humanoid.Health = 0
  508. wait(1)
  509. KeyUSlit = false
  510. CanUse = true
  511. elseif CanUse == true then
  512. CanUse = false
  513. SoundToServer("Slash", "rbxasset://sounds/\swordslash.wav", math.random(150, 175) / 100, 1, false, Player.Character[ModelName].Blade)
  514. SetSwordDamage(2)
  515. SetSpeed(1, 0.75, Player.Character)
  516. SetAngle(1, math.rad(125), Player.Character)
  517. wait(0.15)
  518. SetSwordDamage(10, 0.2)
  519. SetSpeed(1, 1, Player.Character)
  520. SetAngle(1, math.rad(-10), Player.Character)
  521. wait(0.15)
  522. SetSpeed(1, 0.5, Player.Character)
  523. SetAngle(1, math.rad(90), Player.Character)
  524. wait(0.05)
  525. CanUse = true
  526. end
  527. end
  528.  
  529.  
  530. function onButton1Up(Mouse)
  531. Button1Down = false
  532. end
  533.  
  534.  
  535. function onKeyDown(Key, Mouse)
  536. if Selected == false then return end
  537. Key = Key:lower()
  538. if Key == "u" then
  539. if KeyUGrab == true then
  540. KeyUGrab = false
  541. end
  542. end
  543. if Button1Down == false and CanUse == true and CheckPlayer() == true then
  544. if Key == "q" then
  545. if Mouse.Target == nil then return end
  546. if CheckPlayer() == false then return end
  547. local NewPlayer = game:GetService("Players"):GetPlayerFromCharacter(Mouse.Target.Parent)
  548. if NewPlayer == nil then return end
  549. if NewPlayer.Character == nil then return end
  550. if NewPlayer.Character:FindFirstChild("Torso") == nil then return end
  551. if (NewPlayer.Character.Torso.Position - Player.Character.Torso.Position).magnitude > 10 then return end
  552. onDeselected(Mouse)
  553. wait()
  554. RemoveParts(Player.Character, 1)
  555. script.Parent.Parent = NewPlayer.Backpack
  556. Player = NewPlayer
  557. end
  558. if Key == "e" then
  559. CanUse = false
  560. local OldWalkSpeed = Player.Character.Humanoid.WalkSpeed
  561. local Direction = Player.Character.Torso.CFrame.lookVector
  562. Player.Character.Humanoid.WalkSpeed = 0
  563. DisableLimb(2, Player.Character)
  564. DisableLimb(3, Player.Character)
  565. DisableLimb(4, Player.Character)
  566. SetSpeed(1, 0.2, Player.Character)
  567. SetSpeed(2, 0.2, Player.Character)
  568. SetSpeed(3, 0.05, Player.Character)
  569. SetSpeed(4, 0.05, Player.Character)
  570. SetAngle(1, math.rad(90), Player.Character)
  571. SetAngle(2, math.rad(90), Player.Character)
  572. SetAngle(3, math.rad(35), Player.Character)
  573. SetAngle(4, math.rad(-35), Player.Character)
  574. for i = 0, 1, 0.075 do
  575. pcall(function()
  576. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90 * i), math.rad(180 * i), 0)
  577. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 * (1 - i)), 0)
  578. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 * (1 - i)), 0)
  579. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 * (1 - i)), 0)
  580. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 * (1 - i)), 0)
  581. end)
  582. wait()
  583. end
  584. pcall(function()
  585. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180 * i), 0)
  586. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0)
  587. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0)
  588. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0)
  589. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0, 0.5, 0)
  590. end)
  591. SetSwordDamage(10, 2.5)
  592. local BodyVelocity = Instance.new("BodyVelocity")
  593. BodyVelocity.maxForce = Vector3.new(math.huge, 0, math.huge)
  594. BodyVelocity.velocity = Direction * (OldWalkSpeed * 1.5)
  595. BodyVelocity.Parent = Player.Character.Torso
  596. local BodyAngularVelocity = Instance.new("BodyAngularVelocity")
  597. BodyAngularVelocity.maxTorque = Vector3.new(0, math.huge, 0)
  598. BodyAngularVelocity.angularvelocity = Vector3.new(0, 37.5, 0)
  599. BodyAngularVelocity.Parent = Player.Character.Torso
  600. for i = 0, 1, 0.01 do
  601. SoundToServer("Slash", "rbxasset://sounds/\swordslash.wav", math.random(125, 200) / 100, 1, false, Player.Character[ModelName].Blade)
  602. local Wave = Instance.new("Part")
  603. Wave.Name = "Wave"
  604. Wave.BrickColor = BrickColor.new("Light stone grey")
  605. Wave.TopSurface = 0
  606. Wave.BottomSurface = 0
  607. Wave.Transparency = math.cos(i * math.pi * 1.85)
  608. Wave.Transparency = Wave.Transparency < 0.4 and 0.4 or Wave.Transparency
  609. Wave.Anchored = true
  610. Wave.CanCollide = false
  611. Wave.FormFactor = "Custom"
  612. Wave.Size = Vector3.new(math.random(12, 16), 1, math.random(12, 16))
  613. Wave.CFrame = Player.Character.Torso.CFrame * CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(-5, 5)), 0, math.rad(math.random(-5, 5)))
  614. Wave.Parent = Workspace
  615. local Mesh = Instance.new("CylinderMesh", Wave)
  616. local Size = math.random(14, 16)
  617. Mesh.Scale = Vector3.new(1, 0.075, 1)
  618. coroutine.wrap(function()
  619. for i = Wave.Transparency, 1, 0.1 do
  620. Wave.Transparency = i
  621. wait()
  622. end
  623. Wave:Remove()
  624. end)()
  625. wait()
  626. end
  627. for i = 1, 25 do
  628. BodyVelocity.velocity = BodyVelocity.velocity / 1.2
  629. BodyAngularVelocity.angularvelocity = BodyAngularVelocity.angularvelocity / 1.075
  630. wait()
  631. end
  632. BodyVelocity:Remove()
  633. BodyAngularVelocity:Remove()
  634. SetAngle(2, 0, Player.Character)
  635. SetAngle(3, 0, Player.Character)
  636. SetAngle(4, 0, Player.Character)
  637. for i = 1, 0, -0.075 do
  638. pcall(function()
  639. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90 * i), math.rad(180 * i), 0)
  640. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 * (1 - i)), 0)
  641. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 * (1 - i)), 0)
  642. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 * (1 - i)), 0)
  643. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 * (1 - i)), 0)
  644. end)
  645. wait()
  646. end
  647. pcall(function()
  648. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new()
  649. end)
  650. ResetLimbCFrame(1, Player.Character)
  651. ResetLimbCFrame(2, Player.Character)
  652. ResetLimbCFrame(3, Player.Character)
  653. ResetLimbCFrame(4, Player.Character)
  654. SetSpeed(1, 0.5, Player.Character)
  655. SetSpeed(2, 0.5, Player.Character)
  656. SetSpeed(3, 0.1, Player.Character)
  657. SetSpeed(4, 0.1, Player.Character)
  658. EnableLimb(1, Player.Character)
  659. EnableLimb(2, Player.Character)
  660. EnableLimb(3, Player.Character)
  661. EnableLimb(4, Player.Character)
  662. DisableLimb(1, Player.Character)
  663. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed
  664. CanUse = true
  665. end
  666. if Key == "r" then
  667. CanUse = false
  668. local OldWalkSpeed = Player.Character.Humanoid.WalkSpeed
  669. local Direction = Player.Character.Torso.CFrame.lookVector
  670. Player.Character.Humanoid.WalkSpeed = 0
  671. DisableLimb(2, Player.Character)
  672. DisableLimb(3, Player.Character)
  673. DisableLimb(4, Player.Character)
  674. SetSpeed(1, 0.1, Player.Character)
  675. SetSpeed(2, 0.1, Player.Character)
  676. SetSpeed(3, 0.075, Player.Character)
  677. SetSpeed(4, 0.075, Player.Character)
  678. SetAngle(1, math.rad(90), Player.Character)
  679. SetAngle(2, math.rad(-45), Player.Character)
  680. SetAngle(3, math.rad(90), Player.Character)
  681. SetAngle(4, math.rad(-60), Player.Character)
  682. SoundToServer("Slash", "rbxasset://sounds/\swordslash.wav", math.random(75, 100) / 100, 1, false, Player.Character[ModelName].Blade)
  683. for i = 0, 1, 0.075 do
  684. pcall(function()
  685. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90 * i), 0, 0)
  686. end)
  687. wait()
  688. end
  689. pcall(function()
  690. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  691. end)
  692. SetSwordDamage(20, 1)
  693. local BodyVelocity = Instance.new("BodyVelocity")
  694. BodyVelocity.maxForce = Vector3.new(math.huge, 0, math.huge)
  695. BodyVelocity.velocity = Direction * (OldWalkSpeed * 5)
  696. BodyVelocity.Parent = Player.Character.Torso
  697. for i = 1, 20 do
  698. BodyVelocity.velocity = BodyVelocity.velocity / 1.15
  699. wait()
  700. end
  701. BodyVelocity:Remove()
  702. SetAngle(2, 0, Player.Character)
  703. SetAngle(3, 0, Player.Character)
  704. SetAngle(4, 0, Player.Character)
  705. for i = 1, 0, -0.1 do
  706. pcall(function()
  707. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90 * i), 0, 0)
  708. end)
  709. wait()
  710. end
  711. pcall(function()
  712. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new()
  713. end)
  714. SetSpeed(1, 0.5, Player.Character)
  715. SetSpeed(2, 0.5, Player.Character)
  716. SetSpeed(3, 0.1, Player.Character)
  717. SetSpeed(4, 0.1, Player.Character)
  718. EnableLimb(1, Player.Character)
  719. EnableLimb(2, Player.Character)
  720. EnableLimb(3, Player.Character)
  721. EnableLimb(4, Player.Character)
  722. DisableLimb(1, Player.Character)
  723. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed
  724. CanUse = true
  725. end
  726. if Key == "t" then
  727. CanUse = false
  728. KeyTDown = true
  729. local KeyTCharge = 0
  730. local KeyTFire = false
  731. local OldWalkSpeed = Player.Character.Humanoid.WalkSpeed
  732. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed / 10
  733. for i = 0, 1, 0.1 do
  734. pcall(function()
  735. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 - (100 * i)), 0)
  736. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (90 * i)), 0)
  737. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90 * i), 0, 0)
  738. end)
  739. wait()
  740. end
  741. pcall(function()
  742. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-10), 0)
  743. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(180), 0)
  744. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  745. end)
  746. while KeyTDown == true and Mouse ~= nil and Selected == true do
  747. KeyTCharge = KeyTCharge + 1
  748. if KeyTCharge >= 35 then
  749. KeyTFire = true
  750. local Shock = Instance.new("Part", Workspace)
  751. Shock.Name = "Shock Ring"
  752. Shock.BrickColor = BrickColor.new("Institutional white")
  753. Shock.Transparency = 0.5
  754. Shock.Anchored = true
  755. Shock.CanCollide = false
  756. Shock.FormFactor = "Custom"
  757. Shock.Size = Vector3.new(1.5, 1, 1.5)
  758. Shock.CFrame = Player.Character["Right Arm"].CFrame * CFrame.new(0, -1.5, 0.125) * CFrame.fromEulerAnglesXYZ(math.rad(180 + math.random(-25, 25)), 0, math.rad(math.random(-25, 25)))
  759. local Mesh = Instance.new("SpecialMesh", Shock)
  760. Mesh.MeshType = "FileMesh"
  761. Mesh.MeshId = "http://www.roblox.com/Asset/?id=20329976"
  762. Mesh.Scale = Shock.Size
  763. coroutine.wrap(function()
  764. wait()
  765. for i = Shock.Transparency, 1, 0.05 do
  766. Shock.Transparency = i
  767. Shock.CFrame = Shock.CFrame * CFrame.new(0, 0.5, 0)
  768. wait()
  769. end
  770. Shock:Remove()
  771. end)()
  772. end
  773. wait()
  774. end
  775. SoundToServer("Slash", "rbxasset://sounds/\swordslash.wav", math.random(125, 150) / 100, 1, false, Player.Character[ModelName].Blade)
  776. wait(0.05)
  777. SetSwordDamage(20, 0.5)
  778. local _, Position = pcall(function() return Mouse.Hit.p end)
  779. for i = 0, 1, KeyTFire == true and 0.1 or 0.2 do
  780. pcall(function()
  781. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-10 + (170 * i)), 0)
  782. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90 + (10 * i)), 0, 0)
  783. end)
  784. if KeyTFire == true and type(Position) == "userdata" then
  785. local Shock = Instance.new("Part", Workspace)
  786. Shock.Name = "Shock Ring"
  787. Shock.BrickColor = BrickColor.new("Institutional white")
  788. Shock.TopSurface = 0
  789. Shock.BottomSurface = 0
  790. Shock.Anchored = true
  791. Shock.CanCollide = false
  792. Shock.FormFactor = "Custom"
  793. Shock.Size = Vector3.new(0.2, 0.2, 0.2)
  794. Shock.CFrame = CFrame.new(Player.Character[ModelName].Blade.Position, Position) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(math.sin((i + 1.5) * math.pi) * 25))
  795. coroutine.wrap(function()
  796. wait()
  797. for i = 0, 1, 0.05 do
  798. Shock.Transparency = i
  799. local NewPosition = Shock.CFrame * CFrame.new(0, 3, 0)
  800. Shock.Size = Shock.Size + Vector3.new(0.75, 0.5, 0.05)
  801. Shock.CFrame = NewPosition
  802. wait()
  803. end
  804. Shock:Remove()
  805. end)()
  806. coroutine.wrap(function()
  807. --if Hit.Parent:FindFirstChild("Humanoid") ~= nil then
  808. pcall(function() Hit.Parent.Humanoid:TakeDamage(15) end)
  809. end)
  810. --end)()
  811. end
  812. wait()
  813. end
  814. pcall(function()
  815. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(160), 0)
  816. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(100), 0, 0)
  817. end)
  818. for i = 0, 1, 0.1 do
  819. pcall(function()
  820. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(160 - (70 * i)), 0)
  821. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(180 - (90 * i)), 0)
  822. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(100 * (1 - i)), 0, 0)
  823. end)
  824. wait()
  825. end
  826. pcall(function()
  827. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new()
  828. end)
  829. ResetLimbCFrame(1, Player.Character)
  830. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed
  831. CanUse = true
  832. end
  833. if Key == "y" then
  834. CanUse = false
  835. KeyYDown = true
  836. local OldWalkSpeed = Player.Character.Humanoid.WalkSpeed
  837. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed / 5
  838. for i = 0, 1, 0.25 do
  839. pcall(function()
  840. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90 * i), 0, 0)
  841. end)
  842. wait()
  843. end
  844. pcall(function()
  845. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  846. end)
  847. for _, Part in pairs(Player.Character[ModelName]:GetChildren()) do
  848. if Part.Name ~= "Sheath" then
  849. pcall(function() Part.Transparency = 1 end)
  850. end
  851. end
  852. SetSwordDamage(10)
  853. while KeyYDown == true and Mouse ~= nil and Selected == true do
  854. SoundToServer("Slash", "rbxasset://sounds/\swordslash.wav", math.random(150, 175) / 100, 1, false, Player.Character[ModelName].Blade)
  855. pcall(function()
  856. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0)
  857. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + math.random(-30, 30)), math.rad(math.random(-30, 30)), 0)
  858. end)
  859. local Ghost = Instance.new("Part", Workspace)
  860. Ghost.Name = "Ghost"
  861. Ghost.BrickColor = BrickColor.new("Institutional white")
  862. Ghost.Anchored = true
  863. Ghost.CanCollide = false
  864. Ghost.FormFactor = "Custom"
  865. Ghost.Size = Vector3.new(0.2, 0.2, 4)
  866. Ghost.CFrame = Player.Character[ModelName].Handle.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(math.random(-25, 25)), math.rad(math.random(-25, 25)), 0) * CFrame.new(math.random(-100, 100) / 100, math.random(-100, 100) / 100, math.random(-4, -3))
  867. local Mesh = Instance.new("SpecialMesh", Ghost)
  868. Mesh.MeshType = "Sphere"
  869. coroutine.wrap(function()
  870. wait()
  871. for i = 0, 1, 0.1 do
  872. Ghost.Transparency = i
  873. wait()
  874. end
  875. Ghost:Remove()
  876. end)()
  877. wait()
  878. end
  879. ResetLimbCFrame(1, Player.Character)
  880. SetSwordDamage(0)
  881. for _, Part in pairs(Player.Character[ModelName]:GetChildren()) do
  882. if Part.Name ~= "Sheath" then
  883. pcall(function() Part.Transparency = 0 end)
  884. end
  885. end
  886. for i = 0, 1, 0.1 do
  887. pcall(function()
  888. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(100 * (1 - i)), 0, 0)
  889. end)
  890. wait()
  891. end
  892. pcall(function()
  893. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new()
  894. end)
  895. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed
  896. CanUse = true
  897. end
  898. if Key == "u" then
  899. if KeyUGrab ~= true then
  900. if Player.Character.Torso:FindFirstChild("IsGrabbed") ~= nil then return end
  901. if Mouse.Target == nil then return end
  902. KeyUGrabCharacter = Mouse.Target.Parent
  903. if KeyUGrabCharacter == nil then return end
  904. if KeyUGrabCharacter:FindFirstChild("Torso") == nil or KeyUGrabCharacter:FindFirstChild("Head") == nil or KeyUGrabCharacter:FindFirstChild("Humanoid") == nil then return end
  905. if KeyUGrabCharacter.Torso:FindFirstChild("IsGrabbed") ~= nil then return end
  906. if (KeyUGrabCharacter.Torso.Position - Player.Character.Torso.Position).magnitude > 5 then return end
  907. CanUse = false
  908. KeyUGrab = true
  909. local Marker1 = Instance.new("IntValue", KeyUGrabCharacter.Torso)
  910. Marker1.Name = "IsGrabbed"
  911. KeyUWeld = Instance.new("Weld", Player.Character.Torso)
  912. KeyUWeld.Name = "IsGrabbed"
  913. KeyUWeld.Part0 = KeyUWeld.Parent
  914. KeyUWeld.Part1 = KeyUGrabCharacter.Torso
  915. KeyUWeld.C0 = CFrame.new(0, 0, -1.05)
  916. DisableLimb(2, Player.Character)
  917. SetSpeed(1, 0.2, Player.Character)
  918. SetSpeed(2, 0.2, Player.Character)
  919. SetAngle(1, math.rad(100), Player.Character)
  920. SetAngle(2, math.rad(100), Player.Character)
  921. for i = 0, 1, 0.1 do
  922. pcall(function()
  923. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.5 * i), 0.5, -0.75 * i) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (20 * i)), 0)
  924. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.5 * i), 0.5, -0.75 * i) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 - (20 * i)), 0)
  925. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(160 * i), math.rad(110 * i), 0)
  926. end)
  927. wait()
  928. end
  929. pcall(function()
  930. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(110), 0)
  931. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1, 0.5, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-110), 0)
  932. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(160), math.rad(110), 0)
  933. end)
  934. while KeyUGrab == true and Selected == true do
  935. if CheckPlayer() == false then break end
  936. if KeyUWeld.Parent == nil then break end
  937. if KeyUGrabCharacter == nil then break end
  938. if KeyUGrabCharacter:FindFirstChild("Torso") == nil or KeyUGrabCharacter:FindFirstChild("Humanoid") == nil then break end
  939. if KeyUGrabCharacter.Humanoid.Health <= 0 then break end
  940. KeyUGrabCharacter.Humanoid.PlatformStand = true
  941. wait()
  942. end
  943. KeyUGrab = false
  944. while KeyUChoke == true do wait() end
  945. pcall(function() KeyUWeld:Remove() end)
  946. pcall(function() Marker1:Remove() end)
  947. pcall(function() Marker2:Remove() end)
  948. pcall(function() KeyUGrabCharacter.Humanoid.Sit = true end)
  949. if KeyUSlit == true then
  950. while KeyUSlit == true do wait() end
  951. SetSpeed(1, 0.5, Player.Character)
  952. SetSpeed(2, 0.5, Player.Character)
  953. SetAngle(1, math.rad(90), Player.Character)
  954. SetAngle(2, 0, Player.Character)
  955. for i = 0, 1, 0.1 do
  956. pcall(function()
  957. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(10 + (80 * i)), 0)
  958. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1 - (0.5 * i), 0.5, -0.75 + 0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-10 - (80 * i)), 0)
  959. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(160 * (1 - i)), math.rad(110 * (1 - i)), 0)
  960. end)
  961. wait()
  962. end
  963. else
  964. SetSpeed(1, 0.5, Player.Character)
  965. SetSpeed(2, 0.5, Player.Character)
  966. SetAngle(1, math.rad(90), Player.Character)
  967. SetAngle(2, 0, Player.Character)
  968. for i = 1, 0, -0.1 do
  969. pcall(function()
  970. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.5 * i), 0.5, -0.75 * i) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (20 * i)), 0)
  971. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.5 * i), 0.5, -0.75 * i) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 - (20 * i)), 0)
  972. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(160 * i), math.rad(110 * i), 0)
  973. end)
  974. wait()
  975. end
  976. end
  977. ResetLimbCFrame(1, Player.Character)
  978. ResetLimbCFrame(2, Player.Character)
  979. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new()
  980. EnableLimb(1, Player.Character)
  981. EnableLimb(2, Player.Character)
  982. DisableLimb(1, Player.Character)
  983. CanUse = true
  984. end
  985. end
  986. if Key == "f" then
  987. CanUse = false
  988. DisableLimb(2, Player.Character)
  989. SetSpeed(1, 0.3, Player.Character)
  990. SetSpeed(2, 0.3, Player.Character)
  991. SetAngle(1, math.rad(45), Player.Character)
  992. SetAngle(2, math.rad(45), Player.Character)
  993. SoundToServer("Slash", "rbxasset://sounds/\swordslash.wav", math.random(65, 80) / 100, 1, false, Player.Character[ModelName].Blade)
  994. for i = 0, 1, 0.25 do
  995. pcall(function()
  996. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (45 * i)), 0)
  997. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 - (45 * i)), 0)
  998. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90 * i), math.rad(213.25 * i), math.rad(-39 * i))
  999. end)
  1000. wait()
  1001. end
  1002. pcall(function()
  1003. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(100), math.rad(213.25), math.rad(-39))
  1004. end)
  1005. wait(0.35)
  1006. SetSpeed(1, 0.75, Player.Character)
  1007. SetSpeed(2, 0.75, Player.Character)
  1008. SetAngle(1, math.rad(135), Player.Character)
  1009. SetAngle(2, math.rad(135), Player.Character)
  1010. SetSwordDamage(15, 0.5)
  1011. Player.Character.Humanoid.Jump = true
  1012. local Connection = Player.Character[ModelName].Blade.Touched:connect(function(Hit)
  1013. if Hit:IsDescendantOf(Player.Character) then return end
  1014. pcall(function() Hit.Parent.Humanoid.Sit = true end)
  1015. pcall(function() Hit.Parent.Torso.Velocity = (Player.Character.Torso.CFrame.lookVector * math.random(10, 25)) + Vector3.new(math.random(-10, 10), 75, math.random(-10, 10)) end)
  1016. end)
  1017. for i = 0, 1, 0.25 do
  1018. pcall(function()
  1019. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(100 + (45 * i)), math.rad(213.25 - (66.5 * i)), math.rad(-39))
  1020. end)
  1021. wait()
  1022. end
  1023. wait(0.5)
  1024. Connection:disconnect()
  1025. wait(0.25)
  1026. SetSpeed(1, 0.5, Player.Character)
  1027. SetSpeed(2, 0.5, Player.Character)
  1028. SetAngle(1, math.rad(90), Player.Character)
  1029. SetAngle(2, 0, Player.Character)
  1030. for i = 1, 0, -0.1 do
  1031. pcall(function()
  1032. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (45 * i)), 0)
  1033. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 - (45 * i)), 0)
  1034. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(145 * i), math.rad(146.75 * i), math.rad(-39 * i))
  1035. end)
  1036. wait()
  1037. end
  1038. pcall(function()
  1039. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new()
  1040. end)
  1041. ResetLimbCFrame(1, Player.Character)
  1042. ResetLimbCFrame(2, Player.Character)
  1043. EnableLimb(1, Player.Character)
  1044. EnableLimb(2, Player.Character)
  1045. DisableLimb(1, Player.Character)
  1046. CanUse = true
  1047. end
  1048. if Key == "g" then
  1049. CanUse = false
  1050. DisableLimb(2, Player.Character)
  1051. SetSpeed(1, 0.3, Player.Character)
  1052. SetSpeed(2, 0.3, Player.Character)
  1053. SetAngle(1, math.rad(135), Player.Character)
  1054. SetAngle(2, math.rad(135), Player.Character)
  1055. SoundToServer("Slash", "rbxasset://sounds/\swordslash.wav", math.random(65, 80) / 100, 1, false, Player.Character[ModelName].Blade)
  1056. for i = 0, 1, 0.25 do
  1057. pcall(function()
  1058. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (45 * i)), 0)
  1059. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 - (45 * i)), 0)
  1060. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(10 * i), math.rad(-28.125 * i), math.rad(-39 * i))
  1061. end)
  1062. wait()
  1063. end
  1064. pcall(function()
  1065. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(-28.125), math.rad(-39))
  1066. end)
  1067. Player.Character.Humanoid.Jump = true
  1068. wait(0.4)
  1069. SetSpeed(1, 0.75, Player.Character)
  1070. SetSpeed(2, 0.75, Player.Character)
  1071. SetAngle(1, math.rad(45), Player.Character)
  1072. SetAngle(2, math.rad(45), Player.Character)
  1073. SetSwordDamage(20, 0.5)
  1074. for i = 0, 1, 0.25 do
  1075. pcall(function()
  1076. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(10 + (90 * i)), math.rad(-28.125 + (66.5 * i)), math.rad(-39))
  1077. end)
  1078. wait()
  1079. end
  1080. wait(0.5)
  1081. SetSpeed(1, 0.5, Player.Character)
  1082. SetSpeed(2, 0.5, Player.Character)
  1083. SetAngle(1, math.rad(90), Player.Character)
  1084. SetAngle(2, 0, Player.Character)
  1085. for i = 1, 0, -0.1 do
  1086. pcall(function()
  1087. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (45 * i)), 0)
  1088. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 - (45 * i)), 0)
  1089. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(145 * i), math.rad(146.75 * i), math.rad(-39 * i))
  1090. end)
  1091. wait()
  1092. end
  1093. pcall(function()
  1094. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new()
  1095. end)
  1096. ResetLimbCFrame(1, Player.Character)
  1097. ResetLimbCFrame(2, Player.Character)
  1098. EnableLimb(1, Player.Character)
  1099. EnableLimb(2, Player.Character)
  1100. DisableLimb(1, Player.Character)
  1101. CanUse = true
  1102. end
  1103. if Key == "h" then
  1104. CanUse = false
  1105. local OldWalkSpeed = Player.Character.Humanoid.WalkSpeed
  1106. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed / 10
  1107. SetAngle(1, math.rad(90), Player.Character)
  1108. SetSwordDamage(10)
  1109. for i = 0, 1, 0.01 do
  1110. pcall(function()
  1111. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(360 * 15 * i), 0)
  1112. end)
  1113. SoundToServer("Slash", "rbxasset://sounds/\swordslash.wav", math.random(125, 200) / 100, 1, false, Player.Character[ModelName].Blade)
  1114. local Size = math.random(8, 12)
  1115. local Wave = Instance.new("Part")
  1116. Wave.Name = "Wave"
  1117. Wave.BrickColor = BrickColor.new("Light stone grey")
  1118. Wave.TopSurface = 0
  1119. Wave.BottomSurface = 0
  1120. Wave.Transparency = math.cos(i * math.pi * 1.85)
  1121. Wave.Transparency = Wave.Transparency < 0.4 and 0.4 or Wave.Transparency
  1122. Wave.Anchored = true
  1123. Wave.CanCollide = math.random(1, 3) == 1 and true or false
  1124. Wave.FormFactor = "Custom"
  1125. Wave.Size = Vector3.new(Size, 1, Size)
  1126. Wave.CFrame = Player.Character["Right Arm"].CFrame * CFrame.new(0, math.random(-150, -125) / 100, 0) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(-5, 5)), 0, math.rad(math.random(-5, 5)))
  1127. Wave.Parent = Workspace
  1128. local Mesh = Instance.new("CylinderMesh", Wave)
  1129. Mesh.Scale = Vector3.new(1, 0.075, 1)
  1130. coroutine.wrap(function()
  1131. for i = Wave.Transparency, 1, 0.1 do
  1132. Wave.Transparency = i
  1133. wait()
  1134. end
  1135. Wave:Remove()
  1136. end)()
  1137. wait()
  1138. end
  1139. pcall(function()
  1140. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new()
  1141. end)
  1142. SetSwordDamage("Default")
  1143. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed
  1144. CanUse = true
  1145. end
  1146. if Key == "x" then
  1147. if Player.Character.Torso.Velocity.x > 2 or Player.Character.Torso.Velocity.y > 2 or Player.Character.Torso.Velocity.z > 2 or Player.Character.Torso.Velocity.x < -2 or Player.Character.Torso.Velocity.y < -2 or Player.Character.Torso.Velocity.z < -2 then return end
  1148. CanUse = false
  1149. Player.Character.Torso.Anchored = true
  1150. Player.Character.Humanoid.PlatformStand = true
  1151. local Pos = Player.Character.Torso.CFrame
  1152. DisableLimb(2, Player.Character)
  1153. DisableLimb(3, Player.Character)
  1154. DisableLimb(4, Player.Character)
  1155. SetSpeed(1, 0.3, Player.Character)
  1156. SetSpeed(2, 0.3, Player.Character)
  1157. SetSpeed(3, 0.3, Player.Character)
  1158. SetSpeed(4, 0.3, Player.Character)
  1159. SetAngle(1, math.rad(90), Player.Character)
  1160. SetAngle(2, math.rad(90), Player.Character)
  1161. SetAngle(3, 0, Player.Character)
  1162. SetAngle(4, 0, Player.Character)
  1163. for i = 0, 1, 0.25 do
  1164. pcall(function()
  1165. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (45 * i)), 0)
  1166. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 - (45 * i)), 0)
  1167. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(10 * i), math.rad(-28.125 * i), math.rad(-39 * i))
  1168. end)
  1169. wait()
  1170. end
  1171. wait(0.1)
  1172. for i = 0, math.pi, 0.05 do
  1173. Player.Character.Torso.CFrame = Pos * CFrame.new(0, math.sin(-i) + 0.25, math.sin(-i)) * CFrame.fromEulerAnglesXYZ(math.rad(math.sin(-i) * 80), 0, 0)
  1174. ForceAngle(3, math.rad(math.sin(i) * 80), Player.Character)
  1175. ForceAngle(4, math.rad(math.sin(i) * 80), Player.Character)
  1176. wait()
  1177. end
  1178. SetAngle(2, 0, Player.Character)
  1179. for i = 1, 0, -0.25 do
  1180. pcall(function()
  1181. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 + (45 * i)), 0)
  1182. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.5 * i), 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 - (45 * i)), 0)
  1183. Player.Character[ModelName].Handle.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(10 * i), math.rad(-28.125 * i), math.rad(-39 * i))
  1184. end)
  1185. wait()
  1186. end
  1187. wait(0.1)
  1188. SetSpeed(1, 0.2, Player.Character)
  1189. SetSpeed(2, 0.2, Player.Character)
  1190. SetSpeed(3, 0.1, Player.Character)
  1191. SetSpeed(4, 0.1, Player.Character)
  1192. EnableLimb(1, Player.Character)
  1193. EnableLimb(2, Player.Character)
  1194. EnableLimb(3, Player.Character)
  1195. EnableLimb(4, Player.Character)
  1196. DisableLimb(1, Player.Character)
  1197. Player.Character.Torso.Velocity = Vector3.new(0, 0, 0)
  1198. Player.Character.Torso.Anchored = false
  1199. Player.Character.Humanoid.PlatformStand = false
  1200. CanUse = true
  1201. end
  1202. if Key == "j" then
  1203. CanUse = false
  1204. local OldWalkSpeed = Player.Character.Humanoid.WalkSpeed
  1205. local Direction = (Player.Character.Torso.Position - (Player.Character.Torso.CFrame * CFrame.new(3, 0, 0)).p).unit
  1206. Player.Character.Humanoid.WalkSpeed = 0
  1207. local BodyVelocity = Instance.new("BodyVelocity")
  1208. BodyVelocity.maxForce = Vector3.new(math.huge, 0, math.huge)
  1209. BodyVelocity.velocity = Direction * (OldWalkSpeed * 10)
  1210. BodyVelocity.Parent = Player.Character.Torso
  1211. for i = 1, 20 do
  1212. BodyVelocity.velocity = BodyVelocity.velocity / 1.2
  1213. wait()
  1214. end
  1215. BodyVelocity:Remove()
  1216. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed
  1217. CanUse = true
  1218. end
  1219. if Key == "k" then
  1220. CanUse = false
  1221. local OldWalkSpeed = Player.Character.Humanoid.WalkSpeed
  1222. local Direction = (Player.Character.Torso.Position - (Player.Character.Torso.CFrame * CFrame.new(-3, 0, 0)).p).unit
  1223. Player.Character.Humanoid.WalkSpeed = 0
  1224. local BodyVelocity = Instance.new("BodyVelocity")
  1225. BodyVelocity.maxForce = Vector3.new(math.huge, 0, math.huge)
  1226. BodyVelocity.velocity = Direction * (OldWalkSpeed * 10)
  1227. BodyVelocity.Parent = Player.Character.Torso
  1228. for i = 1, 20 do
  1229. BodyVelocity.velocity = BodyVelocity.velocity / 1.2
  1230. wait()
  1231. end
  1232. BodyVelocity:Remove()
  1233. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed
  1234. CanUse = true
  1235. end
  1236. if Key == "z" then
  1237. if KeyZDown == true then return end
  1238. local KeyZMaxTime = 25
  1239. if KeyZTime == nil then KeyZTime = KeyZMaxTime end
  1240. if KeyZTime <= 0 then return end
  1241. CanUse = false
  1242. KeyZDown = true
  1243. DisableLimb(2, Player.Character)
  1244. SetSpeed(1, 0.5, Player.Character)
  1245. SetSpeed(2, 0.5, Player.Character)
  1246. SetAngle(1, math.rad(10), Player.Character)
  1247. SetAngle(2, math.rad(10), Player.Character)
  1248. local KeyZMovement1 = Player.Character.Humanoid.Running:connect(function(Speed)
  1249. if Speed > 0 then
  1250. SetAngle(1, math.rad(-45), Player.Character)
  1251. SetAngle(2, math.rad(-45), Player.Character)
  1252. else
  1253. SetAngle(1, math.rad(10), Player.Character)
  1254. SetAngle(2, math.rad(10), Player.Character)
  1255. end
  1256. end)
  1257. local KeyZMovement2 = Player.Character.Humanoid.Jumping:connect(function()
  1258. --Player.Character.Torso.Velocity = Player.Character.Torso.Velocity + Vector3.new(0, 35, 0)
  1259. wait()
  1260. SetAngle(1, math.rad(-45), Player.Character)
  1261. SetAngle(2, math.rad(-45), Player.Character)
  1262. wait(0.15)
  1263. SetAngle(1, math.rad(180), Player.Character)
  1264. SetAngle(2, math.rad(180), Player.Character)
  1265. wait(0.5)
  1266. end)
  1267. local KeyZMovement3 = Player.Character.Humanoid.FreeFalling:connect(function()
  1268. SetAngle(1, math.rad(180), Player.Character)
  1269. SetAngle(2, math.rad(180), Player.Character)
  1270. end)
  1271. local Gui = Instance.new("ScreenGui", Player.PlayerGui)
  1272. Gui.Name = ModelName.. " Stamina Bar"
  1273. local BarUnderlay = Instance.new("Frame", Gui)
  1274. BarUnderlay.Name = "BarUnderlay"
  1275. BarUnderlay.BackgroundColor3 = Color3.new(1, 0, 0)
  1276. BarUnderlay.BorderColor3 = Color3.new(0, 0, 0)
  1277. BarUnderlay.Size = UDim2.new(0, 250, 0, 15)
  1278. BarUnderlay.Position = UDim2.new(1, -300, 1, -100)
  1279. local BarOverlay = Instance.new("Frame", Gui)
  1280. BarOverlay.Name = "BarOverlay"
  1281. BarOverlay.BackgroundColor3 = Color3.new(0, 1, 0)
  1282. BarOverlay.BorderColor3 = Color3.new(0, 0, 0)
  1283. BarOverlay.Position = UDim2.new(1, -300, 1, -100)
  1284. local TextLabel = Instance.new("TextLabel", Gui)
  1285. TextLabel.Name = "Stamina"
  1286. TextLabel.Text = "Stamina"
  1287. TextLabel.BackgroundTransparency = 1
  1288. TextLabel.BorderSizePixel = 1
  1289. TextLabel.Size = UDim2.new(0, 250, 0, 15)
  1290. TextLabel.Position = UDim2.new(1, -300, 1, -100)
  1291. coroutine.wrap(function()
  1292. for i = 1, 0, -0.1 do
  1293. BarUnderlay.BackgroundTransparency = i
  1294. BarOverlay.BackgroundTransparency = i
  1295. TextLabel.TextTransparency = i
  1296. wait()
  1297. end
  1298. end)()
  1299. local OldWalkSpeed = Player.Character.Humanoid.WalkSpeed
  1300. Player.Character.Humanoid.WalkSpeed = 0
  1301. wait(0.1)
  1302. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed * 2.5
  1303. while KeyZDown == true and KeyZTime > 0 and Selected == true do
  1304. KeyZTime = KeyZTime - 0.1
  1305. BarOverlay.Size = UDim2.new(0, 250 - ((1 - (KeyZTime / KeyZMaxTime)) * 250), 0, 15)
  1306. wait()
  1307. end
  1308. KeyZMovement1:disconnect()
  1309. KeyZMovement2:disconnect()
  1310. KeyZMovement3:disconnect()
  1311. Player.Character.Humanoid.WalkSpeed = 0
  1312. wait(0.1)
  1313. Player.Character.Humanoid.WalkSpeed = OldWalkSpeed
  1314. SetSpeed(1, 0.2, Player.Character)
  1315. SetSpeed(2, 0.2, Player.Character)
  1316. SetAngle(1, math.rad(90), Player.Character)
  1317. SetAngle(2, 0, Player.Character)
  1318. EnableLimb(1, Player.Character)
  1319. EnableLimb(2, Player.Character)
  1320. DisableLimb(1, Player.Character)
  1321. while KeyZDown == true and Selected == true do
  1322. wait()
  1323. end
  1324. CanUse = true
  1325. while KeyZDown == false and KeyZTime < KeyZMaxTime and Selected == true do
  1326. KeyZTime = KeyZTime + 0.09
  1327. BarOverlay.Size = UDim2.new(0, 250 - ((1 - (KeyZTime / KeyZMaxTime)) * 250), 0, 15)
  1328. wait()
  1329. end
  1330. coroutine.wrap(function()
  1331. for i = 0, 1, 0.05 do
  1332. BarUnderlay.BackgroundTransparency = i
  1333. BarOverlay.BackgroundTransparency = i
  1334. TextLabel.TextTransparency = i
  1335. wait()
  1336. end
  1337. Gui:Remove()
  1338. end)()
  1339. end
  1340. end
  1341. end
  1342.  
  1343.  
  1344. function onKeyUp(Key, Mouse)
  1345. if Selected == false then return end
  1346. Key = Key:lower()
  1347. if Key == "z" then
  1348. KeyZDown = false
  1349. elseif Key == "t" then
  1350. KeyTDown = false
  1351. elseif Key == "y" then
  1352. KeyYDown = false
  1353. end
  1354. end
  1355.  
  1356.  
  1357. function onSelected(Mouse)
  1358. if Selected == true or CanUse == false then return end
  1359. CanUse = false
  1360. while true do
  1361. if CheckPlayer() == true then
  1362. if Player.Character.Torso:FindFirstChild("Right Shoulder") ~= nil then
  1363. break
  1364. end
  1365. end
  1366. wait(0.1)
  1367. end
  1368. Selected = true
  1369. DisableLimb(1, Player.Character)
  1370. SetSpeed(1, 0.5, Player.Character)
  1371. SetAngle(1, 0, Player.Character)
  1372. DisableLimb(2, Player.Character)
  1373. SetSpeed(2, 0.5, Player.Character)
  1374. SetAngle(2, 0, Player.Character)
  1375. wait(0.05)
  1376. for i = 0, 1, 0.1 do
  1377. pcall(function()
  1378. Player.Character.Torso["Right Shoulder 2"].C0 =
  1379. CFrame.new(-0.05 * i, 0.11 * i, -0.8 * i) * CFrame.fromEulerAnglesXYZ(math.rad(50) * i, 0, math.rad(-45) * i) *
  1380. CFrame.new(1.5 * (1 - i), 0.5 * (1 - i), 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90) * (1 - i), 0)
  1381. Player.Character.Torso["Right Shoulder 2"].C1 =
  1382. CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90) * (1 - i), 0)
  1383. end)
  1384. wait()
  1385. end
  1386. RemoveParts(Player.Character, 1)
  1387. CreateParts(Player.Character, 2)
  1388. pcall(function()
  1389. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(-0.05, 0.11, -0.8) * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, math.rad(-45))
  1390. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0)
  1391. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new(0, 0, -0.1) * CFrame.fromEulerAnglesXYZ(math.rad(200), 0, math.rad(-45))
  1392. end)
  1393. wait(0.1)
  1394. SoundToServer("Unsheath", "rbxasset://sounds/\unsheath.wav", 1.25, 1, false, Player.Character[ModelName].Sheath)
  1395. SetSwordDamage(10, 0.5)
  1396. SetSpeed(2, 0.025, Player.Character)
  1397. SetAngle(2, math.rad(-15), Player.Character)
  1398. for i = 0, 1, 0.1 do
  1399. pcall(function()
  1400. Player.Character.Torso["Right Shoulder 2"].C0 =
  1401. CFrame.new(-0.05 + (0.4 * i), 0.11 + (0.49 * i), -0.8 - (0.1 * i)) * CFrame.fromEulerAnglesXYZ(math.rad(50 + (130 * i)), 0, math.rad(-45 + (10 * i)))
  1402. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new(0.2 * i, 0, -0.5 * i) * CFrame.fromEulerAnglesXYZ(math.rad(200 + (87.5 * i)), 0, math.rad(-45 - (3 * i)))
  1403. Player.Character[ModelName].Sheath.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(150 - (40 * i)), math.rad(17.5 * i), 0)
  1404. Player.Character[ModelName].Sheath.Weld.C1 = CFrame.new(-1.1 - (0.375 * i), -1.75, 0.5 - (0.2 * i))
  1405. end)
  1406. wait()
  1407. end
  1408. SetAngle(2, 0, Player.Character)
  1409. pcall(function()
  1410. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(0.35, 0.6, -0.9) * CFrame.fromEulerAnglesXYZ(math.rad(180), 0, math.rad(-35))
  1411. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new(0.2, 0, -0.5) * CFrame.fromEulerAnglesXYZ(math.rad(287.5), 0, math.rad(-48))
  1412. Player.Character[ModelName].Sheath.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(110), math.rad(17.5), 0)
  1413. Player.Character[ModelName].Sheath.Weld.C1 = CFrame.new(-1.475, -1.75, 0.3)
  1414. end)
  1415. SetAngle(1, math.rad(90), Player.Character)
  1416. for i = 0, 1, 0.1 do
  1417. pcall(function()
  1418. Player.Character.Torso["Right Shoulder 2"].C0 =
  1419. CFrame.new(1.5 * i, 0.5 * i, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90) * i, 0) *
  1420. CFrame.new(0.35 * (1 - i), 0.6 * (1 - i), -0.9 * (1 - i)) * CFrame.fromEulerAnglesXYZ(math.rad(180 * (1 - i)), 0, math.rad(-35 * (1 - i)))
  1421. Player.Character.Torso["Right Shoulder 2"].C1 =
  1422. CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90) * i, 0)
  1423. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new(0.2 * (1 - i), 0, -0.5 * (1 - i)) * CFrame.fromEulerAnglesXYZ(math.rad(287.5 * (1 - i)), 0, math.rad(-48 * (1 - i)))
  1424. Player.Character[ModelName].Sheath.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(110 + (40 * i)), math.rad(17.5 * (1 - i)), 0)
  1425. Player.Character[ModelName].Sheath.Weld.C1 = CFrame.new(-1.475 + (0.375 * i), -1.75, 0.3 + (0.2 * i))
  1426. end)
  1427. wait()
  1428. end
  1429. ResetLimbCFrame(1, Player.Character)
  1430. EnableLimb(1, Player.Character)
  1431. SetSpeed(2, 0.2, Player.Character)
  1432. SetAngle(2, 0, Player.Character)
  1433. EnableLimb(2, Player.Character)
  1434. DisableLimb(1, Player.Character)
  1435. Mouse.Icon = "rbxasset://textures\\GunCursor.png"
  1436. Mouse.Button1Down:connect(function() onButton1Down(Mouse) end)
  1437. Mouse.Button1Up:connect(function() onButton1Up(Mouse) end)
  1438. Mouse.KeyDown:connect(function(Key) onKeyDown(Key, Mouse) end)
  1439. Mouse.KeyUp:connect(function(Key) onKeyUp(Key, Mouse) end)
  1440. CanUse = true
  1441. end
  1442.  
  1443.  
  1444. function onDeselected(Mouse)
  1445. if Selected == false then return end
  1446. Selected = false
  1447. while CanUse == false do wait() end
  1448. if CheckPlayer() == false or pcall(function() local _ = Player.Character.Torso["Right Shoulder 2"] end) == false then
  1449. RemoveParts(Player.Character, 2)
  1450. CreateParts(Player.Character, 1)
  1451. SetSpeed(1, 0.25, Player.Character)
  1452. SetAngle(1, 0, Player.Character)
  1453. ResetLimbCFrame(1, Player.Character)
  1454. EnableLimb(1, Player.Character)
  1455. return
  1456. end
  1457. if Selected == true then return end
  1458. CanUse = false
  1459. SetSpeed(1, 0.5, Player.Character)
  1460. SetAngle(1, 0, Player.Character)
  1461. DisableLimb(2, Player.Character)
  1462. SetSpeed(2, 0.5, Player.Character)
  1463. SetAngle(2, 0, Player.Character)
  1464. wait(0.1)
  1465. SetSpeed(2, 0.025, Player.Character)
  1466. SetAngle(2, math.rad(-15), Player.Character)
  1467. for i = 1, 0, -0.1 do
  1468. pcall(function()
  1469. Player.Character.Torso["Right Shoulder 2"].C0 =
  1470. CFrame.new(1.5 * i, 0.5 * i, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90) * i, 0) *
  1471. CFrame.new(0.35 * (1 - i), 0.6 * (1 - i), -0.9 * (1 - i)) * CFrame.fromEulerAnglesXYZ(math.rad(180 * (1 - i)), 0, math.rad(-35 * (1 - i)))
  1472. Player.Character.Torso["Right Shoulder 2"].C1 =
  1473. CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90) * i, 0)
  1474. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new(0.2 * (1 - i), 0, -0.5 * (1 - i)) * CFrame.fromEulerAnglesXYZ(math.rad(287.5 * (1 - i)), 0, math.rad(-48 * (1 - i)))
  1475. Player.Character[ModelName].Sheath.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(110 + (40 * i)), math.rad(17.5 * (1 - i)), 0)
  1476. Player.Character[ModelName].Sheath.Weld.C1 = CFrame.new(-1.475 + (0.375 * i), -1.75, 0.3 + (0.2 * i))
  1477. end)
  1478. wait()
  1479. end
  1480. pcall(function()
  1481. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(0.35, 0.6, -0.9) * CFrame.fromEulerAnglesXYZ(math.rad(180), 0, math.rad(-35))
  1482. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new(0.2, 0, -0.5) * CFrame.fromEulerAnglesXYZ(math.rad(287.5), 0, math.rad(-48))
  1483. Player.Character[ModelName].Sheath.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(110), math.rad(17.5), 0)
  1484. Player.Character[ModelName].Sheath.Weld.C1 = CFrame.new(-1.475, -1.75, 0.3)
  1485. end)
  1486. SoundToServer("Sheath", "rbxasset://sounds/\unsheath.wav", -1.1, 1, true, Player.Character[ModelName].Sheath)
  1487. coroutine.wrap(function()
  1488. while Player.Character[ModelName].Sheath:FindFirstChild("Sheath") == nil do
  1489. wait()
  1490. end
  1491. wait(0.05)
  1492. Player.Character[ModelName].Sheath.Sheath.Looped = false
  1493. end)()
  1494. wait(0.15)
  1495. SetAngle(2, 0, Player.Character)
  1496. for i = 1, 0, -0.1 do
  1497. pcall(function()
  1498. Player.Character.Torso["Right Shoulder 2"].C0 =
  1499. CFrame.new(-0.05 + (0.4 * i), 0.11 + (0.49 * i), -0.8 - (0.1 * i)) * CFrame.fromEulerAnglesXYZ(math.rad(50 + (130 * i)), 0, math.rad(-45 + (10 * i)))
  1500. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new(0.2 * i, 0, -0.5 * i) * CFrame.fromEulerAnglesXYZ(math.rad(200 + (87.5 * i)), 0, math.rad(-45 - (3 * i)))
  1501. Player.Character[ModelName].Sheath.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(150 - (40 * i)), math.rad(17.5 * i), 0)
  1502. Player.Character[ModelName].Sheath.Weld.C1 = CFrame.new(-1.1 - (0.375 * i), -1.75, 0.5 - (0.2 * i))
  1503. end)
  1504. wait()
  1505. end
  1506. pcall(function()
  1507. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(-0.05, 0.11, -0.8) * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, math.rad(-45))
  1508. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(0, 0.5, 0)
  1509. Player.Character[ModelName].Handle.Weld.C0 = CFrame.new(0, 0, -0.1) * CFrame.fromEulerAnglesXYZ(math.rad(200), 0, math.rad(-45))
  1510. end)
  1511. wait(0.1)
  1512. RemoveParts(Player.Character, 2)
  1513. CreateParts(Player.Character, 1)
  1514. for i = 1, 0, -0.1 do
  1515. pcall(function()
  1516. Player.Character.Torso["Right Shoulder 2"].C0 =
  1517. CFrame.new(-0.05 * i, 0.11 * i, -0.8 * i) * CFrame.fromEulerAnglesXYZ(math.rad(50) * i, 0, math.rad(-45) * i) *
  1518. CFrame.new(1.5 * (1 - i), 0.5 * (1 - i), 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90) * (1 - i), 0)
  1519. Player.Character.Torso["Right Shoulder 2"].C1 =
  1520. CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90) * (1 - i), 0)
  1521. end)
  1522. wait()
  1523. end
  1524. SetSpeed(1, 0.25, Player.Character)
  1525. SetAngle(1, 0, Player.Character)
  1526. ResetLimbCFrame(1, Player.Character)
  1527. EnableLimb(1, Player.Character)
  1528. SetSpeed(2, 0.2, Player.Character)
  1529. SetAngle(2, 0, Player.Character)
  1530. EnableLimb(2, Player.Character)
  1531. CanUse = true
  1532. end
  1533.  
  1534.  
  1535. if script.Parent.ClassName ~= "HopperBin" then
  1536. if Player == nil then print("Error: Player not found!") return end
  1537. Tool = Instance.new("HopperBin")
  1538. Tool.Name = ModelName
  1539. Tool.Parent = Player.Backpack
  1540. script.Name = "Main"
  1541. script.Parent = Tool
  1542. elseif script.Parent.ClassName == "HopperBin" and Connected == false then
  1543. Connected = true
  1544. Player = script.Parent.Parent.Parent
  1545. end wait() if script.Parent.ClassName == "HopperBin" then
  1546. while script.Parent.Parent.ClassName ~= "Backpack" do
  1547. wait()
  1548. end
  1549. script.Parent.Selected:connect(onSelected)
  1550. script.Parent.Deselected:connect(onDeselected)
  1551. CreateParts(Player.Character, 1)
  1552. --[[
  1553. MouseAim v11
  1554. --]]
  1555.  
  1556.  
  1557. script.Parent.Selected:connect(function(Mouse)
  1558. while Selected == false do wait() end
  1559. while Selected == true do
  1560. if script.Parent == nil then break end
  1561. if Player.Character:FindFirstChild("Humanoid") == nil or Player.Character:FindFirstChild("Torso") == nil then break end
  1562. if Player.Character.Humanoid.Health > 0 and Player.Character.Humanoid.Sit == false and Player.Character.Humanoid.PlatformStand == false and Player.Character.Torso:FindFirstChild("BodyGyro") == nil and Player.Character.Torso:FindFirstChild("BodyAngularVelocity") == nil and Player.Character:FindFirstChild("Ragdoll") == nil then
  1563. local AimGyro = Instance.new("BodyGyro")
  1564. game:GetService("Debris"):AddItem(AimGyro, 0)
  1565. AimGyro.Parent = Player.Character.Torso
  1566. AimGyro.Name = "AimGyro"
  1567. AimGyro.P = 40000
  1568. AimGyro.D = 300
  1569. AimGyro.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  1570. AimGyro.cframe = CFrame.new(Player.Character.Torso.Position, Vector3.new(Mouse.Hit.p.x, Player.Character.Torso.Position.y, Mouse.Hit.p.z)) * (Player.Character:FindFirstChild("AimGyroAdd") and Player.Character.AimGyroAdd.Value or CFrame.new())
  1571. end
  1572. wait()
  1573. end
  1574. end)
  1575. end
Add Comment
Please, Sign In to add comment