Advertisement
Guest User

Untitled

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