Dark_EccentricYT

Untitled

Jun 30th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.43 KB | None | 0 0
  1. --[[
  2. Fire Mage
  3. Burn the resistors!
  4. --]]
  5.  
  6.  
  7. if script == nil then return end
  8.  
  9.  
  10. ModelName = "Fire Mage"
  11. Player = Game.Players.LocalPlayer
  12. Char = Player.Character
  13. animate = Char:findFirstChild("Animate")
  14. if animate then
  15. animate:Destroy()
  16. end
  17. Selected = false
  18. Connected = false
  19. Button1Down = false
  20. CanUse = true
  21. Mana = 100
  22. ManaMax = 100
  23.  
  24.  
  25.  
  26. function CheckPlayer()
  27. if Player.Character == nil then return false end
  28. if Player.Character:FindFirstChild("Torso") == nil or Player.Character:FindFirstChild("Right Arm") == nil or Player.Character:FindFirstChild("Left Arm") == nil or Player.Character:FindFirstChild("Humanoid") == nil then return false end
  29. if Player.Character.Humanoid.Health <= 0 then return false end
  30. return true
  31. end
  32.  
  33.  
  34. function tagHumanoid(humanoid)
  35. local tag = Instance.new("ObjectValue")
  36. tag.Name = "creator"
  37. tag.Value = Player
  38. tag.Parent = humanoid
  39. local tag = Instance.new("StringValue")
  40. tag.Name = "creatorType1"
  41. tag.Value = ModelName
  42. tag.Parent = humanoid
  43. local tag = Instance.new("StringValue")
  44. tag.Name = "creatorType2"
  45. tag.Value = "shot"
  46. tag.Parent = humanoid
  47. end
  48.  
  49.  
  50. function untagHumanoid(humanoid)
  51. if humanoid ~= nil then
  52. local tag = humanoid:FindFirstChild("creator")
  53. if tag ~= nil then
  54. tag:Remove()
  55. end
  56. local tag = humanoid:FindFirstChild("creatorType1")
  57. if tag ~= nil then
  58. tag:Remove()
  59. end
  60. local tag = humanoid:FindFirstChild("creatorType2")
  61. if tag ~= nil then
  62. tag:Remove()
  63. end
  64. end
  65. end
  66.  
  67.  
  68. function SetAngle(Joint, Angle, Character)
  69. if Character == nil then return false end
  70. local Joints = {
  71. Character.Torso:FindFirstChild("Right Shoulder 2"),
  72. Character.Torso:FindFirstChild("Left Shoulder 2"),
  73. Character.Torso:FindFirstChild("Right Hip 2"),
  74. Character.Torso:FindFirstChild("Left Hip 2")
  75. }
  76. if Joints[Joint] == nil then return false end
  77. if Joint == 1 or Joint == 3 then
  78. Joints[Joint].DesiredAngle = Angle
  79. end
  80. if Joint == 2 or Joint == 4 then
  81. Joints[Joint].DesiredAngle = -Angle
  82. end
  83. end
  84.  
  85.  
  86. function ForceAngle(Joint, Angle, Character)
  87. if Character == nil then return false end
  88. local Joints = {
  89. Character.Torso:FindFirstChild("Right Shoulder 2"),
  90. Character.Torso:FindFirstChild("Left Shoulder 2"),
  91. Character.Torso:FindFirstChild("Right Hip 2"),
  92. Character.Torso:FindFirstChild("Left Hip 2")
  93. }
  94. if Joints[Joint] == nil then return false end
  95. if Joint == 1 or Joint == 3 then
  96. Joints[Joint].DesiredAngle = Angle
  97. Joints[Joint].CurrentAngle = Angle
  98. end
  99. if Joint == 2 or Joint == 4 then
  100. Joints[Joint].DesiredAngle = -Angle
  101. Joints[Joint].CurrentAngle = -Angle
  102. end
  103. end
  104.  
  105.  
  106. function SetSpeed(Joint, Speed, Character)
  107. if Character == nil then return false end
  108. local Joints = {
  109. Character.Torso:FindFirstChild("Right Shoulder 2"),
  110. Character.Torso:FindFirstChild("Left Shoulder 2"),
  111. Character.Torso:FindFirstChild("Right Hip 2"),
  112. Character.Torso:FindFirstChild("Left Hip 2")
  113. }
  114. if Joints[Joint] == nil then return false end
  115. Joints[Joint].MaxVelocity = Speed
  116. end
  117.  
  118.  
  119. function DisableLimb(Limb, Character)
  120. if Character == nil then return false end
  121. if Character:FindFirstChild("Torso") == nil then return false end
  122. local Joints = {
  123. Character.Torso:FindFirstChild("Right Shoulder"),
  124. Character.Torso:FindFirstChild("Left Shoulder"),
  125. Character.Torso:FindFirstChild("Right Hip"),
  126. Character.Torso:FindFirstChild("Left Hip")
  127. }
  128. local Limbs = {
  129. Character:FindFirstChild("Right Arm"),
  130. Character:FindFirstChild("Left Arm"),
  131. Character:FindFirstChild("Right Leg"),
  132. Character:FindFirstChild("Left Leg")
  133. }
  134. if Joints[Limb] == nil then return false end
  135. if Limbs[Limb] == nil then return false end
  136. local Joint = Instance.new("Motor6D")
  137. Joint.Parent = Character.Torso
  138. Joint.Part0 = Character.Torso
  139. Joint.Part1 = Limbs[Limb]
  140. if Limb == 1 then
  141. Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  142. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  143. Joint.Name = "Right Shoulder 2"
  144. elseif Limb == 2 then
  145. Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  146. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  147. Joint.Name = "Left Shoulder 2"
  148. elseif Limb == 3 then
  149. Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  150. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  151. Joint.Name = "Right Hip 2"
  152. elseif Limb == 4 then
  153. Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  154. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  155. Joint.Name = "Left Hip 2"
  156. end
  157. Joint.MaxVelocity = Joints[Limb].MaxVelocity
  158. Joint.CurrentAngle = Joints[Limb].CurrentAngle
  159. Joint.DesiredAngle = Joints[Limb].DesiredAngle
  160. Joints[Limb]:Remove()
  161. end
  162.  
  163.  
  164. function ResetLimbCFrame(Limb, Character)
  165. if Character == nil then return false end
  166. if Character.Parent == nil then return false end
  167. if Character:FindFirstChild("Torso") == nil then return false end
  168. local Joints = {
  169. Character.Torso:FindFirstChild("Right Shoulder 2"),
  170. Character.Torso:FindFirstChild("Left Shoulder 2"),
  171. Character.Torso:FindFirstChild("Right Hip 2"),
  172. Character.Torso:FindFirstChild("Left Hip 2")
  173. }
  174. local Limbs = {
  175. Character:FindFirstChild("Right Arm"),
  176. Character:FindFirstChild("Left Arm"),
  177. Character:FindFirstChild("Right Leg"),
  178. Character:FindFirstChild("Left Leg")
  179. }
  180. if Joints[Limb] == nil then return false end
  181. if Limbs[Limb] == nil then return false end
  182. if Limb == 1 then
  183. Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  184. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  185. elseif Limb == 2 then
  186. Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  187. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  188. elseif Limb == 3 then
  189. Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  190. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  191. elseif Limb == 4 then
  192. Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  193. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  194. end
  195. end
  196.  
  197.  
  198. function EnableLimb(Limb, Character)
  199. if Character == nil then return false end
  200. if Character:FindFirstChild("Torso") == nil then return false end
  201. local Joints = {
  202. Character.Torso:FindFirstChild("Right Shoulder 2"),
  203. Character.Torso:FindFirstChild("Left Shoulder 2"),
  204. Character.Torso:FindFirstChild("Right Hip 2"),
  205. Character.Torso:FindFirstChild("Left Hip 2")
  206. }
  207. local Limbs = {
  208. Character:FindFirstChild("Right Arm"),
  209. Character:FindFirstChild("Left Arm"),
  210. Character:FindFirstChild("Right Leg"),
  211. Character:FindFirstChild("Left Leg")
  212. }
  213. if Joints[Limb] == nil then return false end
  214. if Limbs[Limb] == nil then return false end
  215. if Limb == 1 then
  216. Joints[Limb].Name = "Right Shoulder"
  217. elseif Limb == 2 then
  218. Joints[Limb].Name = "Left Shoulder"
  219. elseif Limb == 3 then
  220. Joints[Limb].Name = "Right Hip"
  221. elseif Limb == 4 then
  222. Joints[Limb].Name = "Left Hip"
  223. end
  224. Animate = Character:FindFirstChild("Animate")
  225. if Animate == nil then return false end
  226. Animate = Animate:Clone()
  227. Character.Animate:Remove()
  228. Animate.Parent = Character
  229. end
  230.  
  231.  
  232. function onButton1Down(Mouse)
  233. if Button1Down == true then return end
  234. Button1Down = true
  235. if CheckPlayer() == false then return end
  236. if CanUse == true then
  237. CanUse = false
  238. SetSpeed(1, 0.25, Player.Character)
  239. SetAngle(1, math.rad(90), Player.Character)
  240. SetSpeed(2, 0.25, Player.Character)
  241. SetAngle(2, math.rad(90), Player.Character)
  242. wait(0.3)
  243. local Arm = math.random(1, 2) == 1 and true or false
  244. local First = true
  245. while (Button1Down == true or First == true) and Selected == true and CheckPlayer() == true do
  246. if Mana <= 0 then break end
  247. First = false
  248. pcall(function()
  249. Arm = not Arm
  250. --SoundToServer("Fire", "http://www.roblox.com/Asset/?id=10209897", 1.5, 1, false, Player.Character.Torso)
  251. Mana = Mana - 2
  252. local Bullet = Instance.new("Part", Workspace)
  253. Bullet.Name = "Bullet"
  254. Bullet.TopSurface = 0
  255. Bullet.BottomSurface = 0
  256. Bullet.BrickColor = BrickColor.new("Really red")
  257. Bullet.Locked = true
  258. Bullet.FormFactor = "Custom"
  259. Bullet.Size = Vector3.new(0.5, 0.5, 1)
  260. Bullet.CFrame = CFrame.new((Player.Character[(Arm == true and "Right" or "Left").. " Arm"].CFrame * CFrame.new(0, -2.5, 0)).p, Mouse.Hit.p)
  261. Bullet.Elasticity = 0
  262. Bullet.Friction = 0
  263. BulletFire = Instance.new("Fire",Bullet)
  264. Instance.new("SpecialMesh", Bullet).MeshType = "Sphere"
  265. tagHumanoid(Bullet)
  266. local BodyVelocity = Instance.new("BodyVelocity", Bullet)
  267. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  268. BodyVelocity.velocity = ((Mouse.Hit.p - Player.Character[(Arm == true and "Right" or "Left").. " Arm"].Position).unit * 150) + Vector3.new(math.random(-400, 400) / 1000, math.random(-400, 400) / 1000, math.random(-400, 400) / 1000)
  269. game:GetService("Debris"):AddItem(Bullet, 5)
  270. end)
  271. SetAngle(Arm == true and 1 or 2, math.rad(150), Player.Character)
  272. --CameraPunch(math.rad(math.random(-1000, 1000) / 1000), math.rad(math.random(-1000, 1000) / 1000))
  273. wait(0.15)
  274. SetAngle(Arm == true and 1 or 2, math.rad(90), Player.Character)
  275. wait(0.05)
  276. end
  277. wait(0.1)
  278. SetAngle(1, 0, Player.Character)
  279. SetAngle(2, 0, Player.Character)
  280. wait(0.2)
  281. CanUse = true
  282. end
  283. end
  284.  
  285.  
  286. function onButton1Up(Mouse)
  287. Button1Down = false
  288. end
  289.  
  290.  
  291. function onKeyDown(Key, Mouse)
  292. if Selected == false then return end
  293. Key = Key:lower()
  294. if Button1Down == false and CanUse == true and CheckPlayer() == true then
  295. if Key == "q" then
  296. if Mana < 25 then return end
  297. CanUse = false
  298. --SoundToServer("Charge", "http://www.roblox.com/Asset/?id=2101137", 0.5, 1, false, Player.Character.Torso)
  299. Mana = Mana - 25
  300. SetSpeed(1, 0.1, Player.Character)
  301. SetAngle(1, math.rad(90), Player.Character)
  302. SetSpeed(2, 0.1, Player.Character)
  303. SetAngle(2, math.rad(90), Player.Character)
  304. local Boulder = Instance.new("Part", Player.Character)
  305. Boulder.Name = "Boulder"
  306. Boulder.Locked = true
  307. Boulder.TopSurface = 0
  308. Boulder.BottomSurface = 0
  309. Boulder.BrickColor = BrickColor.new("Really red")
  310. Boulder.Material = "Concrete"
  311. Boulder.FormFactor = "Custom"
  312. Boulder.Size = Vector3.new(4, 4, 4)
  313. BoulderFire = Instance.new("Fire",Boulder)
  314. BoulderFire.Heat = 10
  315. Instance.new("SpecialMesh", Boulder).MeshType = "Sphere"
  316. local Weld = Instance.new("Weld", Player.Character.Torso)
  317. Weld.Part0 = Weld.Parent
  318. Weld.Part1 = Boulder
  319. Weld.C0 = CFrame.new(0, 0, -4)
  320. for i = 0, 1, 0.02 do
  321. Boulder.Mesh.Scale = Vector3.new(i, i, i)
  322. local Pebble = Instance.new("Part", Player.Character)
  323. Pebble.Name = "Pebble"
  324. Pebble.TopSurface = 0
  325. Pebble.BottomSurface = 0
  326. Pebble.BrickColor = BrickColor.new("Really red")
  327. Pebble.Material = "Concrete"
  328. Pebble.Locked = true
  329. Pebble.CanCollide = false
  330. Pebble.FormFactor = "Custom"
  331. Pebble.Size = Vector3.new(0.2 + (1 - i), 0.2 + (1 - i), 0.2 + (1 - i))
  332. PebbleFire = Instance.new("Fire",Pebble)
  333. Pebble.CFrame = Player.Character.Torso.CFrame * CFrame.new(math.random(-10000, 10000) / 1000, -5, -4 + math.random(-10000, 10000) / 1000)
  334. Instance.new("SpecialMesh", Pebble).MeshType = "Sphere"
  335. local BodyVelocity = Instance.new("BodyVelocity", Pebble)
  336. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  337. coroutine.wrap(function()
  338. while Pebble.Parent ~= nil and Boulder.Parent ~= nil do
  339. if pcall(function() if (Boulder.Position - Pebble.Position).magnitude < math.random(1, 2) then error() end end) == false then break end
  340. pcall(function() BodyVelocity.velocity = ((Boulder.Position - Pebble.Position).unit * 30) end)
  341. wait()
  342. end
  343. Pebble:Remove()
  344. end)()
  345. wait()
  346. end
  347. wait(0.5)
  348. if pcall(function() return Mouse.Hit end) == true then
  349. --SoundToServer("Fire", "http://www.roblox.com/Asset/?id=10209268", 1, 1, false, Player.Character.Torso)
  350. Boulder:Remove()
  351. local Boulder = Boulder:Clone()
  352. Boulder.Transparency = 0
  353. Instance.new("SpecialMesh", Boulder).MeshType = "Sphere"
  354. local BodyVelocity = Instance.new("BodyVelocity", Boulder)
  355. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  356. BodyVelocity.velocity = ((Mouse.Hit.p - Player.Character.Torso.Position).unit * 100)
  357. game:GetService("Debris"):AddItem(Boulder, 5)
  358. Boulder.Parent = Workspace
  359. SetSpeed(1, 0.25, Player.Character)
  360. SetAngle(1, math.rad(120), Player.Character)
  361. SetSpeed(2, 0.25, Player.Character)
  362. SetAngle(2, math.rad(120), Player.Character)
  363. --CameraPunch(math.rad(10), math.rad(math.random(-5000, 5000) / 1000))
  364. tagHumanoid(Boulder)
  365. wait(0.1)
  366.  
  367. wait(0.4)
  368. else
  369. Mana = Mana + 40
  370. --SoundToServer("Decharge", "http://www.roblox.com/Asset/?id=35275769", 1, 1, false, Player.Character.Torso)
  371. Boulder.Material = "Plastic"
  372. for i = 0, 1, 0.01 do
  373. Boulder.Transparency = i
  374. Boulder.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i)
  375. wait()
  376. end
  377. Boulder:Remove()
  378. end
  379. SetSpeed(1, 0.15, Player.Character)
  380. SetAngle(1, 0, Player.Character)
  381. SetSpeed(2, 0.15, Player.Character)
  382. SetAngle(2, 0, Player.Character)
  383. wait(1)
  384. CanUse = true
  385. elseif Key == "e" then
  386. CanUse = false
  387. KeyEDown = true
  388. SetSpeed(1, 0.06, Player.Character)
  389. SetAngle(1, math.rad(40), Player.Character)
  390. SetSpeed(2, 0.06, Player.Character)
  391. SetAngle(2, math.rad(40), Player.Character)
  392. --SoundToServer("Charge", "http://www.roblox.com/Asset/?id=2101144", 1.4, 1, false, Player.Character.Torso)
  393. for i = 0, 1, 0.09 do
  394. pcall(function()
  395. Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + (40 * i)), 0, math.rad(180))
  396. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.2 * i), 0.5, 0.2 * i) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 + (40 * i)), 0)
  397. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.2 * i), 0.5, 0.2 * i) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 - (40 * i)), 0)
  398. end)
  399. wait()
  400. end
  401. pcall(function()
  402. Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-50), 0, math.rad(180))
  403. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.3, 0.5, 0.2) * CFrame.fromEulerAnglesXYZ(0, math.rad(-50), 0)
  404. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.3, 0.5, 0.2) * CFrame.fromEulerAnglesXYZ(0, math.rad(50), 0)
  405. end)
  406. while KeyEDown == true and Selected == true and CheckPlayer() == true do
  407. local Pebble = Instance.new("Part", Player.Character)
  408. Pebble.Name = "Pebble"
  409. Pebble.TopSurface = 0
  410. Pebble.BottomSurface = 0
  411. Pebble.BrickColor = BrickColor.new("Really red")
  412. Pebble.Material = "Concrete"
  413. Pebble.Locked = true
  414. Pebble.CanCollide = false
  415. Pebble.FormFactor = "Custom"
  416. Pebble.Size = Vector3.new(0.3, 0.3, 0.3)
  417. Pebble.CFrame = CFrame.new(Player.Character.Torso.Position + Vector3.new(math.random(-10000, 10000) / 1000, -8, math.random(-10000, 10000) / 1000))
  418. Instance.new("SpecialMesh", Pebble).MeshType = "Sphere"
  419. local BodyVelocity = Instance.new("BodyVelocity", Pebble)
  420. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  421. coroutine.wrap(function()
  422. local i = 0
  423. while true do
  424. i = i + 1
  425. if i > math.random(120, 350) or CheckPlayer() == false or KeyEDown == false then
  426. Pebble:Remove()
  427. return
  428. end
  429. if pcall(function() if (Player.Character.Torso.Position - Pebble.Position).magnitude < 1 then error() end end) == false then break end
  430. pcall(function() BodyVelocity.velocity = ((Player.Character.Torso.Position - Pebble.Position).unit * 10) end)
  431. wait()
  432. end
  433. if Mana < ManaMax then
  434. Mana = Mana + math.random(1, 3)
  435. else
  436. Mana = ManaMax
  437. pcall(function() Player.Character.Humanoid.Health = Player.Character.Humanoid.Health + 2 end)
  438. end
  439. --SoundToServer("Charge", "http://www.roblox.com/Asset/?id=2974249", 3, 1, false, Player.Character.Torso)
  440. Pebble.Anchored = true
  441. Pebble.Material = "Plastic"
  442. local OldPosition = CFrame.new(Pebble.Position)
  443. local OldSize = Pebble.Size
  444. for i = 0, 1, 0.1 do
  445. Pebble.Transparency = i
  446. Pebble.Size = OldSize + (Vector3.new(5, 5, 5) * i)
  447. Pebble.CFrame = OldPosition
  448. wait()
  449. end
  450. Pebble:Remove()
  451. end)()
  452. wait(0.1)
  453. end
  454. KeyEDown = false
  455. SetAngle(1, 0, Player.Character)
  456. SetAngle(2, 0, Player.Character)
  457. for i = 1, 0, -0.03 do
  458. pcall(function()
  459. Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + (40 * i)), 0, math.rad(180))
  460. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5 + (0.2 * i), 0.5, 0.2 * i) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 + (40 * i)), 0)
  461. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5 - (0.2 * i), 0.5, 0.2 * i) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 - (40 * i)), 0)
  462. end)
  463. wait()
  464. end
  465. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180)) end)
  466. ResetLimbCFrame(1, Player.Character)
  467. ResetLimbCFrame(2, Player.Character)
  468. CanUse = true
  469. elseif Key == "r" then
  470. if Mana < 20 then return end
  471. CanUse = false
  472. Mana = Mana - 5
  473. SetSpeed(1, 0.015, Player.Character)
  474. SetAngle(1, math.rad(-40), Player.Character)
  475. SetSpeed(2, 0.015, Player.Character)
  476. SetAngle(2, math.rad(-40), Player.Character)
  477. --SoundToServer("Charge", "http://www.roblox.com/Asset/?id=1369158", 0.8, 1, false, Player.Character.Torso)
  478. for i = 0, 1, 0.03 do
  479. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - (40 * i)), 0, math.rad(180)) end)
  480. wait()
  481. end
  482. local Hit, Position = Workspace:FindPartOnRay(Ray.new((Player.Character.Torso.CFrame * CFrame.new(0, 0, -8)).p, Vector3.new(0, -1000, 0)), Player.Character)
  483. if Hit ~= nil and Position ~= nil then
  484. Mana = Mana - 15
  485. --SoundToServer("Fire", "http://www.roblox.com/Asset/?id=10209268", 0.6, 1, false, Player.Character.Torso)
  486. local Pillar = Instance.new("Part", Workspace)
  487. Pillar.Name = "Pillar"
  488. Pillar.TopSurface = 0
  489. Pillar.BottomSurface = 0
  490. Pillar.BrickColor = BrickColor.new("Really red")
  491. Pillar.Material = "Concrete"
  492. Pillar.Locked = true
  493. Pillar.Anchored = true
  494. Pillar.FormFactor = "Custom"
  495. Pillar.Size = Vector3.new(5, 100, 5)
  496. Pillar.CFrame = CFrame.new(Position, Vector3.new(Player.Character.Torso.Position.x, Position.y, Player.Character.Torso.Position.z)) * CFrame.new(math.random(-1000, 1000) / 1000, -35, (math.random(-1000, 1000) / 1000)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(-2000, 2000) / 1000), math.rad(math.random(-2000, 2000) / 1000), math.rad(math.random(-2000, 2000) / 1000))
  497. tagHumanoid(Pillar)
  498. wait(1)
  499. Pillar:remove()
  500.  
  501. end
  502. SetSpeed(1, 0.275, Player.Character)
  503. SetAngle(1, math.rad(160), Player.Character)
  504. SetSpeed(2, 0.275, Player.Character)
  505. SetAngle(2, math.rad(160), Player.Character)
  506. for i = 0, 1, 0.075 do
  507. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-130 + (90 * i)), 0, math.rad(180)) end)
  508. wait()
  509. end
  510. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-40), 0, math.rad(180)) end)
  511. wait(0.5)
  512. SetSpeed(1, 0.25, Player.Character)
  513. SetAngle(1, 0, Player.Character)
  514. SetSpeed(2, 0.25, Player.Character)
  515. SetAngle(2, 0, Player.Character)
  516. for i = 0, 1, 0.1 do
  517. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-40 - (50 * i)), 0, math.rad(180)) end)
  518. wait()
  519. end
  520. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180)) end)
  521. CanUse = true
  522. elseif Key == "t" then
  523. if Mana < 15 then return end
  524. CanUse = false
  525. SetSpeed(1, 0.03, Player.Character)
  526. SetAngle(1, math.rad(-40), Player.Character)
  527. SetSpeed(2, 0.03, Player.Character)
  528. SetAngle(2, math.rad(-40), Player.Character)
  529. for i = 0, 1, 0.06 do
  530. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - (40 * i)), 0, math.rad(180)) end)
  531. wait()
  532. end
  533. local Hit, Position = Workspace:FindPartOnRay(Ray.new(Player.Character.Torso.Position, Vector3.new(0, -4, 0)), Player.Character)
  534. if Hit ~= nil and Position ~= nil then
  535. Mana = Mana - 15
  536. --SoundToServer("Fire", "http://www.roblox.com/Asset/?id=10209268", 2, 1, false, Player.Character.Torso)
  537. local Pillar = Instance.new("Part", Workspace)
  538. Pillar.Name = "Pillar"
  539. Pillar.TopSurface = 0
  540. Pillar.BottomSurface = 0
  541. Pillar.BrickColor = BrickColor.new("Pastel brown")
  542. Pillar.Material = "Concrete"
  543. Pillar.Locked = true
  544. Pillar.Anchored = true
  545. Pillar.FormFactor = "Custom"
  546. Pillar.Size = Vector3.new(2.5, 25, 2.5)
  547. Pillar.CFrame = CFrame.new(Position) * CFrame.new(0, -20, 0) * CFrame.fromEulerAnglesXYZ(Player.Character.Torso.CFrame:toEulerAnglesXYZ())
  548.  
  549. end
  550. SetSpeed(1, 0.3, Player.Character)
  551. SetAngle(1, math.rad(160), Player.Character)
  552. SetSpeed(2, 0.3, Player.Character)
  553. SetAngle(2, math.rad(160), Player.Character)
  554. for i = 0, 1, 0.09 do
  555. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-130 + (90 * i)), 0, math.rad(180)) end)
  556. wait()
  557. end
  558. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-40), 0, math.rad(180)) end)
  559. wait(0.25)
  560. SetSpeed(1, 0.25, Player.Character)
  561. SetAngle(1, 0, Player.Character)
  562. SetSpeed(2, 0.25, Player.Character)
  563. SetAngle(2, 0, Player.Character)
  564. for i = 0, 1, 0.1 do
  565. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-40 - (50 * i)), 0, math.rad(180)) end)
  566. wait()
  567. end
  568. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180)) end)
  569. CanUse = true
  570. elseif Key == "y" then
  571. if Mana < 50 then return end
  572. CanUse = false
  573. Mana = Mana - 50
  574. SetSpeed(1, 0.1, Player.Character)
  575. SetAngle(1, math.rad(220), Player.Character)
  576. SetSpeed(2, 0.1, Player.Character)
  577. SetAngle(2, math.rad(220), Player.Character)
  578. --SoundToServer("Charge", "http://www.roblox.com/Asset/?id=1369158", 1, 1, false, Player.Character.Torso)
  579. for i = 0, 1, 0.025 do
  580. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + (40 * i)), 0, math.rad(180)) end)
  581. wait()
  582. end
  583. coroutine.wrap(function()
  584. local OldPosition = Player.Character.Torso.CFrame
  585. for i = 1, 50 do
  586. local Hit, Position = Workspace:FindPartOnRay(Ray.new((OldPosition * CFrame.new(0, 0, -8 - (i * 2))).p, Vector3.new(0, -50, 0)), Player.Character)
  587. if Hit ~= nil and Position ~= nil then
  588. local Pillar = Instance.new("Part", Workspace)
  589. Pillar.Name = "Pillar"
  590. Pillar.TopSurface = 0
  591. Pillar.BottomSurface = 0
  592. Pillar.BrickColor = BrickColor.new("Pastel brown")
  593. Pillar.Material = "Concrete"
  594. Pillar.Locked = true
  595. Pillar.Anchored = true
  596. Pillar.FormFactor = "Custom"
  597. Pillar.Size = Vector3.new(2, 5.5, 2)
  598. Pillar.CFrame = CFrame.new(Position) * CFrame.fromEulerAnglesXYZ(OldPosition:toEulerAnglesXYZ()) * CFrame.fromEulerAnglesXYZ(math.rad(-50), 0, 0) * CFrame.new(math.random(-500, 500) / 1000, -4, (math.random(-500, 500) / 1000)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(-1000, 1000) / 1000), math.rad(math.random(-1000, 1000) / 1000), math.rad(math.random(-1000, 1000) / 1000))
  599. --SoundToServer("Fire", "http://www.roblox.com/Asset/?id=10209268", 2, 1, false, Pillar)
  600. tagHumanoid(Pillar)
  601.  
  602. end
  603. wait()
  604. end
  605. end)()
  606. SetSpeed(1, 0.275, Player.Character)
  607. SetAngle(1, math.rad(-40), Player.Character)
  608. SetSpeed(2, 0.275, Player.Character)
  609. SetAngle(2, math.rad(-40), Player.Character)
  610. for i = 0, 1, 0.075 do
  611. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-50 - (100 * i)), 0, math.rad(180)) end)
  612. wait()
  613. end
  614. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-180), 0, math.rad(180)) end)
  615. wait(1)
  616. SetSpeed(1, 0.05, Player.Character)
  617. SetAngle(1, 0, Player.Character)
  618. SetSpeed(2, 0.05, Player.Character)
  619. SetAngle(2, 0, Player.Character)
  620. for i = 0, 1, 0.1 do
  621. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-180 + (90 * i)), 0, math.rad(180)) end)
  622. wait()
  623. end
  624. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180)) end)
  625. CanUse = true
  626. elseif Key == "u" then
  627. if Mana < 100 then return end
  628. CanUse = false
  629. Mana = Mana - 100
  630. SetSpeed(1, 0.005, Player.Character)
  631. SetAngle(1, math.rad(-40), Player.Character)
  632. SetSpeed(2, 0.005, Player.Character)
  633. SetAngle(2, math.rad(-40), Player.Character)
  634. --SoundToServer("Charge", "http://www.roblox.com/Asset/?id=1369158", 0.5, 1, false, Player.Character.Torso)
  635. for i = 0, 1, 0.01 do
  636. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - (40 * i)), 0, math.rad(180)) end)
  637. wait()
  638. end
  639. local Hit, Position = Workspace:FindPartOnRay(Ray.new((Player.Character.Torso.CFrame * CFrame.new(0, 0, -15)).p, Vector3.new(0, -10, 0)), Player.Character)
  640. if Hit ~= nil and Position ~= nil then
  641. local Wave = Instance.new("Part", Workspace)
  642. Wave.Name = "Wave"
  643. Wave.TopSurface = 0
  644. Wave.BottomSurface = 0
  645. Wave.BrickColor = BrickColor.new("Pastel brown")
  646. Wave.Material = "Concrete"
  647. Wave.Locked = true
  648. Wave.Anchored = true
  649. Wave.FormFactor = "Custom"
  650. Wave.Size = Vector3.new(50, 20, 20)
  651. Wave.CFrame = CFrame.new(Position) * CFrame.new(0, -10, 0) * CFrame.fromEulerAnglesXYZ(Player.Character.Torso.CFrame:toEulerAnglesXYZ())
  652. Instance.new("SpecialMesh", Wave).MeshType = "Sphere"
  653. tagHumanoid(Wave)
  654.  
  655. coroutine.wrap(function()
  656. while Wave.Parent ~= nil do
  657. --SoundToServer("Fire", "http://www.roblox.com/Asset/?id=10209268", 0.5, 1, false, Wave)
  658. wait()
  659. end
  660. end)()
  661. end
  662. SetSpeed(1, 0.275, Player.Character)
  663. SetAngle(1, math.rad(160), Player.Character)
  664. SetSpeed(2, 0.275, Player.Character)
  665. SetAngle(2, math.rad(160), Player.Character)
  666. for i = 0, 1, 0.075 do
  667. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-130 + (90 * i)), 0, math.rad(180)) end)
  668. wait()
  669. end
  670. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-40), 0, math.rad(180)) end)
  671. wait(0.5)
  672. SetSpeed(1, 0.25, Player.Character)
  673. SetAngle(1, 0, Player.Character)
  674. SetSpeed(2, 0.25, Player.Character)
  675. SetAngle(2, 0, Player.Character)
  676. for i = 0, 1, 0.1 do
  677. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-40 - (50 * i)), 0, math.rad(180)) end)
  678. wait()
  679. end
  680. pcall(function() Player.Character.Torso.Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180)) end)
  681. CanUse = true
  682. elseif Key == "p" then
  683. if Mana < 30 then return end
  684. CanUse = false
  685. Mana = Mana - 30
  686. SetSpeed(1, 0.06, Player.Character)
  687. SetAngle(1, math.rad(90), Player.Character)
  688. SetSpeed(2, 0.06, Player.Character)
  689. SetAngle(2, math.rad(90), Player.Character)
  690. for i = 0, 1, 0.03 do
  691. pcall(function()
  692. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 * (1 - i)), 0)
  693. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 * (1 - i)), 0)
  694. end)
  695. wait()
  696. end
  697. pcall(function()
  698. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0)
  699. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0)
  700. end)
  701. local OldPosition = Player.Character.Torso.CFrame
  702. for i = math.rad(-90), math.rad(90), math.rad(12.5) do
  703. local Hit, Position = Workspace:FindPartOnRay(Ray.new(OldPosition.p, Vector3.new(0, -4, 0)), Player.Character)
  704. if Hit ~= nil and Position ~= nil then
  705. --SoundToServer("Fire", "http://www.roblox.com/Asset/?id=10209268", 2, 1, false, Player.Character.Torso)
  706. local Pillar = Instance.new("Part", Workspace)
  707. Pillar.Name = "Pillar"
  708. Pillar.TopSurface = 0
  709. Pillar.BottomSurface = 0
  710. Pillar.BrickColor = BrickColor.new("Pastel brown")
  711. Pillar.Material = "Concrete"
  712. Pillar.Locked = true
  713. Pillar.Anchored = true
  714. Pillar.FormFactor = "Custom"
  715. Pillar.Size = Vector3.new(2.5, 8, 2.5)
  716. Pillar.CFrame = CFrame.new(Position) * CFrame.new(0, -5.5, 0) * CFrame.fromEulerAnglesXYZ(OldPosition:toEulerAnglesXYZ()) * CFrame.fromEulerAnglesXYZ(0, i, 0) * CFrame.new(0, 0, -10)
  717. end
  718. wait(0.1)
  719. end
  720. SetSpeed(1, 0.06, Player.Character)
  721. SetAngle(1, 0, Player.Character)
  722. SetSpeed(2, 0.06, Player.Character)
  723. SetAngle(2, 0, Player.Character)
  724. for i = 1, 0, -0.03 do
  725. pcall(function()
  726. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 * (1 - i)), 0)
  727. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 * (1 - i)), 0)
  728. end)
  729. wait()
  730. end
  731. ResetLimbCFrame(1, Player.Character)
  732. ResetLimbCFrame(2, Player.Character)
  733. CanUse = true
  734. elseif Key == "f" then
  735. if Mana <= 0 then return end
  736. CanUse = false
  737. KeyFDown = true
  738. SetSpeed(1, 0.06, Player.Character)
  739. SetAngle(1, math.rad(60), Player.Character)
  740. SetSpeed(2, 0.06, Player.Character)
  741. SetAngle(2, math.rad(60), Player.Character)
  742. local Boulder = Instance.new("Part", Player.Character)
  743. Boulder.Name = "Boulder"
  744. Boulder.Locked = true
  745. Boulder.TopSurface = 0
  746. Boulder.BottomSurface = 0
  747. Boulder.BrickColor = BrickColor.new("Pastel brown")
  748. Boulder.Material = "Concrete"
  749. Boulder.FormFactor = "Custom"
  750. Boulder.Size = Vector3.new(4, 0.5, 7)
  751. Boulder.CFrame = Player.Character.Torso.CFrame * CFrame.new(0, -3, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  752. Instance.new("SpecialMesh", Boulder).MeshType = "Sphere"
  753. local Weld = Instance.new("Weld", Player.Character.Torso)
  754. Weld.Part0 = Weld.Parent
  755. Weld.Part1 = Boulder
  756. Weld.C0 = CFrame.new(0, -3, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  757. local AimGyroAdd = Instance.new("CFrameValue", Player.Character)
  758. AimGyroAdd.Name = "AimGyroAdd"
  759. pcall(function() Player.Character.Torso.Neck.MaxVelocity = 0 end)
  760. for i = 0, 1, 0.07 do
  761. pcall(function() Boulder.Mesh.Scale = Vector3.new(i, i, i) end)
  762. pcall(function()
  763. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 + (80 * i)), 0)
  764. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 - (80 * i)), 0)
  765. Player.Character.Torso.Neck.CurrentAngle = math.rad(90 * i)
  766. end)
  767. AimGyroAdd.Value = CFrame.fromEulerAnglesXYZ(0, math.rad(-90 * i), 0)
  768. wait()
  769. end
  770. pcall(function() Boulder.Mesh.Scale = Vector3.new(1, 1, 1) end)
  771. pcall(function()
  772. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-10), 0)
  773. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(10), 0)
  774. end)
  775. local BodyVelocity = Instance.new("BodyVelocity", Boulder)
  776. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  777. local BodyGyro = Instance.new("BodyGyro", Boulder)
  778. BodyGyro.P = 1000
  779. BodyGyro.D = 500
  780. BodyGyro.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  781. local i = 0
  782. local OldTick = math.huge
  783. while KeyFDown == true and Selected == true and Mana > 0 do
  784. if tick() % 1 <= OldTick then
  785. Mana = Mana - 1
  786. end
  787. OldTick = tick() % 1
  788. pcall(function() Player.Character.Humanoid.PlatformStand = true end)
  789. if (Boulder.Position - Mouse.Hit.p).magnitude <= 10 then
  790. i = i - 0.15
  791. else
  792. i = i + 0.05
  793. end
  794. if i < 0 then
  795. i = 0
  796. elseif i > 1 then
  797. i = 1
  798. end
  799. BodyGyro.cframe = CFrame.new(Boulder.Position, Mouse.Hit.p)
  800. BodyVelocity.velocity = Boulder.CFrame.lookVector * 50 * i
  801. wait()
  802. end
  803. pcall(function() Player.Character.Humanoid.PlatformStand = false end)
  804. BodyVelocity:Remove()
  805. BodyGyro:Remove()
  806. SetSpeed(1, 0.06, Player.Character)
  807. SetAngle(1, 0, Player.Character)
  808. SetSpeed(2, 0.06, Player.Character)
  809. SetAngle(2, 0, Player.Character)
  810. for i = 1, 0, -0.07 do
  811. pcall(function() Boulder.Mesh.Scale = Vector3.new(i, i, i) end)
  812. pcall(function()
  813. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 + (80 * i)), 0)
  814. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90 - (80 * i)), 0)
  815. Player.Character.Torso.Neck.CurrentAngle = math.rad(90 * i)
  816. end)
  817. AimGyroAdd.Value = CFrame.fromEulerAnglesXYZ(0, math.rad(-90 * i), 0)
  818. wait()
  819. end
  820. Boulder:Remove()
  821. pcall(function() Player.Character.Torso.Neck.CurrentAngle = 0 end)
  822. AimGyroAdd:Remove()
  823. ResetLimbCFrame(1, Player.Character)
  824. ResetLimbCFrame(2, Player.Character)
  825. CanUse = true
  826. end
  827. end
  828. end
  829.  
  830.  
  831. function onKeyUp(Key, Mouse)
  832. if Selected == false then return end
  833. Key = Key:lower()
  834. if Key == "e" then
  835. KeyEDown = false
  836. elseif Key == "f" then
  837. KeyFDown = false
  838. end
  839. end
  840.  
  841.  
  842. function onSelected(Mouse)
  843. if Selected == true or CanUse == false then return end
  844. CanUse = false
  845. while true do
  846. if CheckPlayer() == true then
  847. if Player.Character.Torso:FindFirstChild("Right Shoulder") ~= nil and Player.Character.Torso:FindFirstChild("Left Shoulder") ~= nil then
  848. break
  849. end
  850. end
  851. wait(0.1)
  852. end
  853. Selected = true
  854. DisableLimb(1, Player.Character)
  855. SetSpeed(1, 0.5, Player.Character)
  856. SetAngle(1, 0, Player.Character)
  857. DisableLimb(2, Player.Character)
  858. SetSpeed(2, 0.5, Player.Character)
  859. SetAngle(2, 0, Player.Character)
  860. coroutine.wrap(function()
  861. while Selected == true do
  862. script.Parent.Name = "Mana:\n" ..Mana
  863. wait()
  864. end
  865. script.Parent.Name = ModelName
  866. end)()
  867. Mouse.Icon = "rbxasset://textures\\GunCursor.png"
  868. Mouse.Button1Down:connect(function() onButton1Down(Mouse) end)
  869. Mouse.Button1Up:connect(function() onButton1Up(Mouse) end)
  870. Mouse.KeyDown:connect(function(Key) onKeyDown(Key, Mouse) end)
  871. Mouse.KeyUp:connect(function(Key) onKeyUp(Key, Mouse) end)
  872. CanUse = true
  873. end
  874.  
  875.  
  876. function onDeselected(Mouse)
  877. if Selected == false then return end
  878. Selected = false
  879. while CanUse == false do wait() end
  880. ResetLimbCFrame(1, Player.Character)
  881. ResetLimbCFrame(2, Player.Character)
  882. SetSpeed(1, 0.25, Player.Character)
  883. SetSpeed(2, 0.25, Player.Character)
  884. EnableLimb(1, Player.Character)
  885. EnableLimb(2, Player.Character)
  886. CanUse = true
  887. end
  888.  
  889.  
  890. if script.Parent.ClassName ~= "HopperBin" then
  891. if Player == nil then print("Error: Player not found!") return end
  892. Tool = Instance.new("HopperBin")
  893. Tool.Name = ModelName
  894. Tool.Parent = Player.Backpack
  895. Instance.new("IntValue", script).Name = "Magazine"
  896. script.Name = "Main"
  897. script.Parent = Tool
  898. elseif script.Parent.ClassName == "HopperBin" and Connected == false then
  899. Connected = true
  900. Player = script.Parent.Parent.Parent
  901. end wait() if script.Parent.ClassName == "HopperBin" then
  902. while script.Parent.Parent.ClassName ~= "Backpack" do
  903. wait()
  904. end
  905. script.Parent.Selected:connect(onSelected)
  906. script.Parent.Deselected:connect(onDeselected)
  907. end
Add Comment
Please, Sign In to add comment