Advertisement
Anunga

Untitled

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