Advertisement
bmrx13

Untitled

Sep 28th, 2018
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.88 KB | None | 0 0
  1.  
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code by Mokiros")
  7. local rp = RealPlayer
  8. script.Parent = rp.Character
  9.  
  10. --RemoteEvent for communicating
  11. local Event = Instance.new("RemoteEvent")
  12. Event.Name = "UserInput_Event"
  13.  
  14. --Fake event to make stuff like Mouse.KeyDown work
  15. local function fakeEvent()
  16. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  17. t.connect = t.Connect
  18. return t
  19. end
  20.  
  21. --Creating fake input objects with fake variables
  22. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  23. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26. end}
  27. --Merged 2 functions into one by checking amount of arguments
  28. CAS.UnbindAction = CAS.BindAction
  29.  
  30. --This function will trigger the events that have been :Connect()'ed
  31. local function te(self,ev,...)
  32. local t = m[ev]
  33. if t and t._fakeEvent then
  34. for _,f in pairs(t.Functions) do
  35. f(...)
  36. end
  37. end
  38. end
  39. m.TrigEvent = te
  40. UIS.TrigEvent = te
  41.  
  42. Event.OnServerEvent:Connect(function(plr,io)
  43. if plr~=rp then return end
  44. m.Target = io.Target
  45. m.Hit = io.Hit
  46. if not io.isMouse then
  47. local b = io.UserInputState == Enum.UserInputState.Begin
  48. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  49. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  50. end
  51. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  52. return m:TrigEvent(b and "Button2Down" or "Button2Up")
  53. end
  54. for _,t in pairs(CAS.Actions) do
  55. for _,k in pairs(t.Keys) do
  56. if k==io.KeyCode then
  57. t.Function(t.Name,io.UserInputState,io)
  58. end
  59. end
  60. end
  61. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  62. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  63. end
  64. end)
  65. Event.Parent = NLS([==[
  66. local Player = game:GetService("Players").LocalPlayer
  67. local Event = script:WaitForChild("UserInput_Event")
  68.  
  69. local Mouse = Player:GetMouse()
  70. local UIS = game:GetService("UserInputService")
  71. local input = function(io,a)
  72. if a then return end
  73. --Since InputObject is a client-side instance, we create and pass table instead
  74. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  75. end
  76. UIS.InputBegan:Connect(input)
  77. UIS.InputEnded:Connect(input)
  78.  
  79. local h,t
  80. --Give the server mouse data 30 times every second, but only if the values changed
  81. --If player is not moving their mouse, client won't fire events
  82. while wait(1/30) do
  83. if h~=Mouse.Hit or t~=Mouse.Target then
  84. h,t=Mouse.Hit,Mouse.Target
  85. Event:FireServer({isMouse=true,Target=t,Hit=h})
  86. end
  87. end]==],Player.Character)
  88.  
  89. ----Sandboxed game object that allows the usage of client-side methods and services
  90. --Real game object
  91. local _rg = game
  92.  
  93. --Metatable for fake service
  94. local fsmt = {
  95. __index = function(self,k)
  96. local s = rawget(self,"_RealService")
  97. if s then
  98. return typeof(s[k])=="function"
  99. and function(_,...)return s[k](s,...)end or s[k]
  100. end
  101. end,
  102. __newindex = function(self,k,v)
  103. local s = rawget(self,"_RealService")
  104. if s then s[k]=v end
  105. end
  106. }
  107. local function FakeService(t,RealService)
  108. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  109. return setmetatable(t,fsmt)
  110. end
  111.  
  112. --Fake game object
  113. local g = {
  114. GetService = function(self,s)
  115. return rawget(self,s) or _rg:GetService(s)
  116. end,
  117. Players = FakeService({
  118. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  119. },"Players"),
  120. UserInputService = FakeService(UIS,"UserInputService"),
  121. ContextActionService = FakeService(CAS,"ContextActionService"),
  122. RunService = FakeService({
  123. _btrs = {},
  124. RenderStepped = _rg:GetService("RunService").Heartbeat,
  125. BindToRenderStep = function(self,name,_,fun)
  126. self._btrs[name] = self.Heartbeat:Connect(fun)
  127. end,
  128. UnbindFromRenderStep = function(self,name)
  129. self._btrs[name]:Disconnect()
  130. end,
  131. },"RunService")
  132. }
  133. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  134. g.service = g.GetService
  135. FakeService(g,game)
  136. --Changing owner to fake player object to support owner:GetMouse()
  137. game,owner = g,g.Players.LocalPlayer
  138. end
  139. function sandbox(var,func)
  140. local env = getfenv(func)
  141. local newenv = setmetatable({},{
  142. __index = function(self,k)
  143. if k=="script" then
  144. return var
  145. else
  146. return env[k]
  147. end
  148. end,
  149. })
  150. setfenv(func,newenv)
  151. return func
  152. end
  153. cors = {}
  154. mas = Instance.new("Model",game:GetService("Lighting"))
  155. Tool0 = Instance.new("Tool")
  156. Part1 = Instance.new("Part")
  157. SpecialMesh2 = Instance.new("SpecialMesh")
  158. Sound3 = Instance.new("Sound")
  159. Sound4 = Instance.new("Sound")
  160. Sound5 = Instance.new("Sound")
  161. Sound6 = Instance.new("Sound")
  162. Sound7 = Instance.new("Sound")
  163. Part8 = Instance.new("Part")
  164. PointLight9 = Instance.new("PointLight")
  165. Weld10 = Instance.new("Weld")
  166. ParticleEmitter11 = Instance.new("ParticleEmitter")
  167. Script12 = Instance.new("Script")
  168. LocalScript13 = Instance.new("LocalScript")
  169. Animation14 = Instance.new("Animation")
  170. Animation15 = Instance.new("Animation")
  171. Script16 = Instance.new("Script")
  172. Script17 = Instance.new("Script")
  173. Script18 = Instance.new("Script")
  174. ScreenGui19 = Instance.new("ScreenGui")
  175. TextLabel20 = Instance.new("TextLabel")
  176. LocalScript21 = Instance.new("LocalScript")
  177. RemoteFunction22 = Instance.new("RemoteFunction")
  178. RemoteFunction23 = Instance.new("RemoteFunction")
  179. Tool0.Name = "CrescendoTheSoulStealer"
  180. Tool0.Parent = mas
  181. Tool0.TextureId = "http://www.roblox.com/asset/?id=94840368"
  182. Tool0.GripPos = Vector3.new(0, -2.29999995, 0)
  183. Part1.Name = "Handle"
  184. Part1.Parent = Tool0
  185. Part1.Material = Enum.Material.Concrete
  186. Part1.BrickColor = BrickColor.new("Dark stone grey")
  187. Part1.Rotation = Vector3.new(40.9899979, -4.28999996, -7.32999992)
  188. Part1.RotVelocity = Vector3.new(1, 1, 1)
  189. Part1.Locked = true
  190. Part1.FormFactor = Enum.FormFactor.Custom
  191. Part1.Size = Vector3.new(0.26000005, 5.24000025, 0.639999628)
  192. Part1.CFrame = CFrame.new(-27.7267723, 2.17319989, 179.24765, 0.98905611, 0.127203584, -0.0747402683, -0.144907758, 0.742372572, -0.654129505, -0.0277222823, 0.657800913, 0.752681792)
  193. Part1.BottomSurface = Enum.SurfaceType.Smooth
  194. Part1.TopSurface = Enum.SurfaceType.Smooth
  195. Part1.Color = Color3.new(0.388235, 0.372549, 0.384314)
  196. Part1.Position = Vector3.new(-27.7267723, 2.17319989, 179.24765)
  197. Part1.Orientation = Vector3.new(40.8499985, -5.67000008, -11.04)
  198. Part1.Color = Color3.new(0.388235, 0.372549, 0.384314)
  199. SpecialMesh2.Parent = Part1
  200. SpecialMesh2.MeshId = "http://www.roblox.com/asset/?id=94840342"
  201. SpecialMesh2.Scale = Vector3.new(0.75, 0.75, 0.75)
  202. SpecialMesh2.TextureId = "http://www.roblox.com/asset/?id=94840359"
  203. SpecialMesh2.MeshType = Enum.MeshType.FileMesh
  204. SpecialMesh2.Scale = Vector3.new(0.75, 0.75, 0.75)
  205. Sound3.Name = "Lunge"
  206. Sound3.Parent = Part1
  207. Sound3.Pitch = 0.69999998807907
  208. Sound3.SoundId = "http://www.roblox.com/asset/?id=92597369"
  209. Sound3.Volume = 1
  210. Sound4.Name = "Consume"
  211. Sound4.Parent = Part1
  212. Sound4.SoundId = "http://www.roblox.com/asset/?id=94893733"
  213. Sound5.Name = "Slash"
  214. Sound5.Parent = Part1
  215. Sound5.SoundId = "http://www.roblox.com/asset/?id=92597369"
  216. Sound5.Volume = 0.69999998807907
  217. Sound6.Name = "Purge"
  218. Sound6.Parent = Part1
  219. Sound6.SoundId = "http://www.roblox.com/asset/?id=94893733"
  220. Sound7.Name = "Unsheath"
  221. Sound7.Parent = Part1
  222. Sound7.SoundId = "http://www.roblox.com/asset/?id=96098241"
  223. Sound7.Volume = 1
  224. Part8.Name = "Effect"
  225. Part8.Parent = Part1
  226. Part8.Transparency = 1
  227. Part8.Rotation = Vector3.new(40.9899979, -4.28999996, -7.32999992)
  228. Part8.RotVelocity = Vector3.new(1, 1, 1)
  229. Part8.Velocity = Vector3.new(0.0845661163, 0.530603409, -0.615169525)
  230. Part8.CanCollide = false
  231. Part8.Locked = true
  232. Part8.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  233. Part8.CFrame = CFrame.new(-27.8539753, 1.43082738, 178.589844, 0.98905611, 0.127203584, -0.0747402683, -0.144907758, 0.742372572, -0.654129505, -0.0277222823, 0.657800913, 0.752681792)
  234. Part8.BottomSurface = Enum.SurfaceType.Smooth
  235. Part8.TopSurface = Enum.SurfaceType.Smooth
  236. Part8.Position = Vector3.new(-27.8539753, 1.43082738, 178.589844)
  237. Part8.Orientation = Vector3.new(40.8499985, -5.67000008, -11.04)
  238. PointLight9.Name = "Light"
  239. PointLight9.Parent = Part8
  240. PointLight9.Color = Color3.new(1, 0, 0)
  241. PointLight9.Brightness = 35
  242. PointLight9.Range = 4
  243. PointLight9.Color = Color3.new(1, 0, 0)
  244. Weld10.Parent = Part8
  245. Weld10.C1 = CFrame.new(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  246. Weld10.Part0 = Part1
  247. Weld10.Part1 = Part8
  248. ParticleEmitter11.Parent = Part1
  249. ParticleEmitter11.Transparency = NumberSequence.new(1,0.25,0.25,1)
  250. ParticleEmitter11.Rotation = NumberRange.new(0, 360)
  251. ParticleEmitter11.Size = NumberSequence.new(3.9999997615814,3.9999997615814,3.9999997615814)
  252. ParticleEmitter11.Color = ColorSequence.new(Color3.new(0.666667, 0, 0),Color3.new(0.333333, 0, 0),Color3.new(1, 0, 0),Color3.new(0.784314, 1, 1))
  253. ParticleEmitter11.LightEmission = 1
  254. ParticleEmitter11.Texture = "http://www.roblox.com/asset/?id=248764835"
  255. ParticleEmitter11.ZOffset = 3
  256. ParticleEmitter11.Lifetime = NumberRange.new(0.10000000149012, 0.10000000149012)
  257. ParticleEmitter11.RotSpeed = NumberRange.new(-40, 40)
  258. ParticleEmitter11.Speed = NumberRange.new(0, 0)
  259. ParticleEmitter11.Color = ColorSequence.new(Color3.new(0.666667, 0, 0),Color3.new(0.333333, 0, 0),Color3.new(1, 0, 0),Color3.new(0.784314, 1, 1))
  260. Script12.Parent = Tool0
  261. table.insert(cors,sandbox(Script12,function()
  262. --Rescripted by Luckymaxer
  263.  
  264. Tool = script.Parent
  265. Handle = Tool:WaitForChild("Handle")
  266.  
  267. Module = require(191816425) --To prevent any future bugs.
  268. ModuleData = Module.GetTable({Key = "CrescendoTheSoulStealer"})
  269. Data = ModuleData.GetData({Tool = Tool})
  270. Data.SharpenKnife()
  271. end))
  272. LocalScript13.Name = "MouseIcon"
  273. LocalScript13.Parent = Tool0
  274. table.insert(cors,sandbox(LocalScript13,function()
  275. --Rescripted by Luckymaxer
  276.  
  277. Mouse_Icon = "rbxasset://textures/GunCursor.png"
  278. Reloading_Icon = "rbxasset://textures/GunWaitCursor.png"
  279.  
  280. Tool = script.Parent
  281.  
  282. Mouse = nil
  283.  
  284. function UpdateIcon()
  285. if Mouse then
  286. Mouse.Icon = Tool.Enabled and Mouse_Icon or Reloading_Icon
  287. end
  288. end
  289.  
  290. function OnEquipped(ToolMouse)
  291. Mouse = ToolMouse
  292. UpdateIcon()
  293. end
  294.  
  295. function OnChanged(Property)
  296. if Property == "Enabled" then
  297. UpdateIcon()
  298. end
  299. end
  300.  
  301. Tool.Equipped:connect(OnEquipped)
  302. Tool.Changed:connect(OnChanged)
  303. end))
  304. Animation14.Name = "Consume"
  305. Animation14.Parent = Tool0
  306. Animation14.AnimationId = "http://www.roblox.com/asset/?id=77319318"
  307. Animation15.Name = "Purge"
  308. Animation15.Parent = Tool0
  309. Animation15.AnimationId = "http://www.roblox.com/asset/?id=77329203"
  310. Script16.Name = "SwordScript"
  311. Script16.Parent = Tool0
  312. table.insert(cors,sandbox(Script16,function()
  313. --Rescripted by Luckymaxer
  314.  
  315. Tool = script.Parent
  316. Handle = Tool:WaitForChild("Handle")
  317.  
  318. Players = game:GetService("Players")
  319. Debris = game:GetService("Debris")
  320. RunService = game:GetService("RunService")
  321.  
  322. RbxUtility = LoadLibrary("RbxUtility")
  323. Create = RbxUtility.Create
  324.  
  325. BaseUrl = "http://www.roblox.com/asset/?id="
  326.  
  327. SoulCounter = script:WaitForChild("SoulCounter")
  328. HelpGui = script:WaitForChild("HelpGui")
  329. Remover = script:WaitForChild("Remover")
  330. DecimateScript = script:WaitForChild("DecimateScript")
  331.  
  332. LastAttack = 0
  333. Lunging = false
  334.  
  335. Grips = {
  336. Up = CFrame.new(0, -2.3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  337. Out = CFrame.new(0, -2.3, 0, 1, 0, 0, 0, 0, -1, -0, 1, 0),
  338. }
  339.  
  340. Animations = {
  341. --Consume = {Animation = Tool:WaitForChild("Consume"), FadeTime = nil, Weight = nil, Speed = nil},
  342. Purge = {Animation = Tool:WaitForChild("Purge"), FadeTime = nil, Weight = nil, Speed = nil},
  343. }
  344.  
  345. Sounds = {
  346. Consume = Handle:WaitForChild("Consume"),
  347. Purge = Handle:WaitForChild("Purge"),
  348. Unsheath = Handle:WaitForChild("Unsheath"),
  349. Slash = Handle:WaitForChild("Slash"),
  350. Lunge = Handle:WaitForChild("Lunge"),
  351. }
  352.  
  353. BasePart = Create("Part"){
  354. Material = Enum.Material.Plastic,
  355. Shape = Enum.PartType.Block,
  356. TopSurface = Enum.SurfaceType.Smooth,
  357. BottomSurface = Enum.SurfaceType.Smooth,
  358. FormFactor = Enum.FormFactor.Custom,
  359. Size = Vector3.new(0.2, 0.2, 0.2),
  360. CanCollide = true,
  361. Locked = true,
  362. }
  363.  
  364. SoulFire = Create("Fire"){
  365. Name = "Fire",
  366. Color = Color3.new((255 / 255), (0 / 255), (0 / 255)),
  367. SecondaryColor = Color3.new((85 / 255), (0 / 255), (0 / 255)),
  368. Heat = 18,
  369. Size = 2.5,
  370. Enabled = true,
  371. }
  372. SoulLight = Create("PointLight"){
  373. Name = "Light",
  374. Color = SoulFire.Color,
  375. Brightness = 35,
  376. Range = 4,
  377. Shadows = false,
  378. Enabled = true,
  379. }
  380.  
  381. Gravity = 196.20
  382.  
  383. SoulColors = {
  384. Color3.new(1, 0, 0),
  385. Color3.new(1, 0.2, 0),
  386. Color3.new(0.8, 0.2, 0),
  387. Color3.new(1, 0, 0.2),
  388. Color3.new(0.8, 0.4, 0),
  389. }
  390.  
  391. SwordDamage = 25
  392.  
  393. Abilities = {
  394. Consume = {
  395. Enabled = true,
  396. Active = false,
  397. ReloadTime = 20,
  398. },
  399. Purge = {
  400. Enabled = true,
  401. Active = false,
  402. ReloadTime = 42,
  403. },
  404. }
  405.  
  406. ToolEquipped = false
  407.  
  408. ServerControl = (Tool:FindFirstChild("ServerControl") or Create("RemoteFunction"){
  409. Name = "ServerControl",
  410. Parent = Tool,
  411. })
  412.  
  413. ClientControl = (Tool:FindFirstChild("ClientControl") or Create("RemoteFunction"){
  414. Name = "ClientControl",
  415. Parent = Tool,
  416. })
  417.  
  418. SoulCounter.Value = 0
  419. Tool.Grip = Grips.Up
  420. Tool.Enabled = true
  421.  
  422. function IsTeamMate(Player1, Player2)
  423. return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor)
  424. end
  425.  
  426. function TagHumanoid(humanoid, player)
  427. local Creator_Tag = Create("ObjectValue"){
  428. Name = "creator",
  429. Value = player,
  430. }
  431. Debris:AddItem(Creator_Tag, 2)
  432. Creator_Tag.Parent = humanoid
  433. end
  434.  
  435. function UntagHumanoid(humanoid)
  436. for i, v in pairs(humanoid:GetChildren()) do
  437. if v:IsA("ObjectValue") and v.Name == "creator" then
  438. v:Destroy()
  439. end
  440. end
  441. end
  442.  
  443. function Decimate(character)
  444. if not character or not CheckIfAlive() then
  445. return
  446. end
  447. for i, v in pairs(character:GetChildren()) do
  448. if v:IsA("ForceField") then
  449. return
  450. end
  451. end
  452. local DecimateScriptCopy = character:FindFirstChild(DecimateScript.Name)
  453. if DecimateScriptCopy then
  454. return
  455. end
  456. local Values = {
  457. {Name = "Creator", Class = "ObjectValue", Value = Player},
  458. {Name = "Counter", Class = "ObjectValue", Value = SoulCounter},
  459. }
  460. local DecimateScriptCopy = DecimateScript:Clone()
  461. for i, v in pairs(Values) do
  462. local Value = Create(v.Class){
  463. Name = v.Name,
  464. Value = v.Value,
  465. Parent = DecimateScriptCopy,
  466. }
  467. end
  468. DecimateScriptCopy.Disabled = false
  469. DecimateScriptCopy.Parent = character
  470. end
  471.  
  472. function Blow(Part, Damage)
  473. local PartTouched
  474. PartTouched = Part.Touched:connect(function(Hit)
  475. if not Hit or not Hit.Parent or not CheckIfAlive() then
  476. return
  477. end
  478. local RightArm = Character:FindFirstChild("Right Arm")
  479. if not RightArm then
  480. return
  481. end
  482. local RightGrip = RightArm:FindFirstChild("RightGrip")
  483. if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then
  484. return
  485. end
  486. local character = Hit.Parent
  487. if character == Character then
  488. return
  489. end
  490. local humanoid = character:FindFirstChild("Humanoid")
  491. if not humanoid or humanoid.Health == 0 then
  492. return
  493. end
  494. local player = Players:GetPlayerFromCharacter(character)
  495. if player and (player == Player or IsTeamMate(Player, player)) then
  496. return
  497. end
  498. local HealthAfter = (humanoid.Health - Damage)
  499. if HealthAfter < 20 then
  500. Decimate(character)
  501. else
  502. UntagHumanoid(humanoid)
  503. TagHumanoid(humanoid, Player)
  504. humanoid:TakeDamage(Damage)
  505. end
  506. Humanoid.Health = (Humanoid.Health + (Damage / 10))
  507. Spawn(function()
  508. humanoid.WalkSpeed = 9
  509. wait(1.25)
  510. humanoid.WalkSpeed = 16
  511. end)
  512. end)
  513. return PartTouched
  514. end
  515.  
  516. function CreateTrail(Damage, TrailRate)
  517. local TrailLoop
  518. local Count = Create("IntValue"){
  519. Value = 0,
  520. }
  521. local Enabled = Create("BoolValue"){
  522. Value = true,
  523. }
  524. Spawn(function()
  525. while Enabled.Value and ToolEquipped and CheckIfAlive() do
  526. local TrailPart = Handle:Clone()
  527. TrailPart.Name = "Effect"
  528. TrailPart.Transparency = 0.5
  529. TrailPart.CanCollide = false
  530. TrailPart.Anchored = true
  531. Blow(TrailPart, 5)
  532. Count.Value = (Count.Value + 1)
  533. Debris:AddItem(TrailPart, 1)
  534. TrailPart.Parent = game:GetService("Workspace")
  535. TrailPart.CFrame = Handle.CFrame
  536. wait(TrailRate)
  537. end
  538. end)
  539. return {Connection = TrailLoop, Count = Count, Enabled = Enabled}
  540. end
  541.  
  542. function Lunge()
  543. Lunging = true
  544. local Target = InvokeClient("MousePosition")
  545. if not Target then
  546. return
  547. end
  548. local TargetPosition = Target.Position
  549. local Direction = (CFrame.new(Torso.Position, TargetPosition).lookVector * Vector3.new(1, 0, 1))
  550. Tool.Grip = Grips.Out
  551. Sounds.Lunge:Play()
  552. local Anim = Create("StringValue"){
  553. Name = "toolanim",
  554. Value = "Lunge",
  555. Parent = Tool,
  556. }
  557. if Direction.Magnitude > .01 then
  558. Direction = Direction.Unit
  559. local NewBV = Create("BodyVelocity"){
  560. P = 100000,
  561. maxForce = Vector3.new(100000, 0, 100000),
  562. velocity = (Direction * 50),
  563. }
  564. Debris:AddItem(NewBV, 0.75)
  565. NewBV.Parent = Torso
  566. Torso.CFrame = CFrame.new(Torso.Position, (TargetPosition * Vector3.new(1, 0, 1) + Vector3.new(0, Torso.Position.Y, 0)))
  567. end
  568. Spawn(function()
  569. local LungeTrail = CreateTrail(5, 0.08)
  570. while Lunging and CheckIfAlive() and ToolEquipped do
  571. RunService.Stepped:wait()
  572. end
  573. LungeTrail.Enabled.Value = false
  574. end)
  575. wait(0.75)
  576. Lunging = false
  577. Tool.Grip = Grips.Up
  578. wait(0.5)
  579. end
  580.  
  581. function Attack()
  582. Tool.Grip = Grips.Up
  583. Sounds.Slash:Play()
  584. local Anim = Create("StringValue"){
  585. Name = "toolanim",
  586. Value = "Slash",
  587. Parent = Tool,
  588. }
  589. Spawn(function()
  590. local AttackTrail = CreateTrail(5, 0.06)
  591. while AttackTrail.Count.Value < 4 and CheckIfAlive() and ToolEquipped do
  592. RunService.Stepped:wait()
  593. end
  594. AttackTrail.Enabled.Value = false
  595. end)
  596. Tool.Grip = Grips.Up
  597. end
  598. --[[
  599. function SetPlayerMaxHealth(humanoid, health)
  600. if not humanoid or not health then
  601. return
  602. end
  603. local Ratio = (humanoid.Health / humanoid.MaxHealth)
  604. humanoid.MaxHealth = health
  605. humanoid.Health = (Ratio * humanoid.MaxHealth)
  606. end
  607. ]]
  608. function Encompass()
  609. for i, v in pairs(Souls:GetChildren()) do
  610. if v:IsA("BasePart") and v.Name == "Effect" then
  611. v:Destroy()
  612. end
  613. end
  614. if ToolUnequipped2 then
  615. ToolUnequipped2:disconnect()
  616. end
  617. local CurrentlyEquipped = true
  618. ToolUnequipped2 = Tool.Unequipped:connect(function()
  619. CurrentlyEquipped = false
  620. if ToolUnequipped2 then
  621. ToolUnequipped2:disconnect()
  622. end
  623. end)
  624. local CurrentCount = SoulCounter.Value
  625. for i = 1, CurrentCount do
  626. local Part = BasePart:Clone()
  627. Part.Name = "Effect"
  628. Part.Transparency = 1
  629. Part.Anchored = true
  630. Part.CanCollide = false
  631. local Fire = SoulFire:Clone()
  632. Fire.Size = 1
  633. Fire.Color = SoulColors[math.random(1, #SoulColors)]
  634. Fire.Enabled = true
  635. Fire.Parent = Part
  636. local Light = SoulLight:Clone()
  637. Light.Color = Fire.Color
  638. Light.Enabled = true
  639. Light.Parent = Part
  640. --Debris:AddItem(Part, 45)
  641. Part.Parent = Souls
  642. Spawn(function()
  643. while Part and Part.Parent and CurrentlyEquipped and ToolEquipped and CheckIfAlive() do
  644. for i = 1, 30 do
  645. Part.CFrame = (Torso.CFrame + CFrame.Angles(0, (2 * i * math.pi / 30), 0) * Torso.CFrame.lookVector * 5)
  646. wait()
  647. end
  648. end
  649. end)
  650. wait(0.75)
  651. end
  652. end
  653.  
  654. function ConsumeTarget(character, number)
  655. local Part = BasePart:Clone()
  656. Part.Name = "Effect"
  657. Part.Transparency = 1
  658. Part.Size = Vector3.new(0.5, 0.5, 0.5)
  659. Part.CanCollide = false
  660. local Fire = SoulFire:Clone()
  661. Fire.Size = 1
  662. Fire.Enabled = true
  663. Fire.Parent = Part
  664. local Light = SoulLight:Clone()
  665. Light.Color = Fire.Color
  666. Light.Enabled = true
  667. Light.Parent = Part
  668. if number and number < 3 then
  669. number = 3
  670. end
  671. if character then
  672. local torso = character:FindFirstChild("Torso")
  673. if torso then
  674. number = (number or 4)
  675. for i = 1, number do
  676. local Part2 = Part:Clone()
  677. Part2.CFrame = (Torso.CFrame + Torso.CFrame.lookVector * 4)
  678. local Propulsion = Create("RocketPropulsion"){
  679. Target = torso,
  680. TargetOffset = Vector3.new(0, 2, 0),
  681. ThrustP = 500,
  682. ThrustD = 5,
  683. MaxSpeed = 150,
  684. MaxTorque = Vector3.new(4000000, 4000000, 0),
  685. Parent = Part2,
  686. }
  687. Debris:AddItem(Part2, 15)
  688. Part2.Parent = game:GetService("Workspace")
  689. Propulsion.ReachedTarget:connect(function()
  690. if not CheckIfAlive() then
  691. return
  692. end
  693. if Part2 and Part2.Parent then
  694. Part2:Destroy()
  695. end
  696. Decimate(character)
  697. end)
  698. Propulsion:Fire()
  699. wait(0.25)
  700. end
  701. end
  702. else
  703. local TargetPosition = InvokeClient("MousePosition")
  704. if TargetPosition then
  705. TargetPosition = TargetPosition.Position
  706. local Direction = (TargetPosition - Torso.Position).Unit
  707. for i = 1, 5 do
  708. local Part2 = Part:Clone()
  709. Part2.CFrame = (Torso.CFrame + Torso.CFrame.lookVector * 4)
  710. local Velocity = (Direction * 150)
  711. local Mass = (Part2:GetMass() * Gravity)
  712. local BF = Create("BodyForce"){
  713. Parent = Part2,
  714. force = Vector3.new(0, Part2:GetMass() * 196.2, 0),
  715. }
  716. Part2.Velocity = Velocity
  717. Part2.Touched:connect(function(Hit)
  718. if not Hit or not Hit.Parent then
  719. return
  720. end
  721. local character = Hit.Parent
  722. if character:IsA("Hat") then
  723. character = Hit.Parent
  724. end
  725. local humanoid = character:FindFirstChild("Humanoid")
  726. if not humanoid or humanoid.Health == 0 then
  727. return
  728. end
  729. local player = Players:GetPlayerFromCharacter(character)
  730. if player and (Player == player or IsTeamMate(Player, player)) then
  731. return
  732. end
  733. if Part2 and Part2.Parent then
  734. Part2:Destroy()
  735. end
  736. Decimate(character)
  737. end)
  738. Debris:AddItem(Part2, 15)
  739. Part2.Parent = game:GetService("Workspace")
  740. end
  741. end
  742. end
  743. end
  744.  
  745. function CreateFirePart(CreateNew)
  746. for i, v in pairs(Handle:GetChildren()) do
  747. if v:IsA("BasePart") then
  748. v:Destroy()
  749. end
  750. end
  751. if not CreateNew then
  752. return
  753. end
  754. FirePart = BasePart:Clone()
  755. FirePart.Name = "Effect"
  756. FirePart.Transparency = 1
  757. FirePart.CanCollide = false
  758. local Fire = SoulFire:Clone()
  759. Fire.Enabled = true
  760. Fire.Parent = FirePart
  761. local Light = SoulLight:Clone()
  762. Light.Color = Fire.Color
  763. Light.Enabled = true
  764. Light.Parent = FirePart
  765. local Weld = Create("Weld"){
  766. Part0 = Handle,
  767. Part1 = FirePart,
  768. C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  769. C1 = CFrame.new(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  770. Parent = FirePart,
  771. }
  772. FirePart.Parent = Handle
  773. end
  774.  
  775. function CheckIfAlive()
  776. return (((Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent and Player and Player.Parent) and true) or false)
  777. end
  778.  
  779. function Activated()
  780. if not Tool.Enabled or not ToolEquipped or not CheckIfAlive() then
  781. return
  782. end
  783. Tool.Enabled = false
  784. local Time = RunService.Stepped:wait()
  785. if (Time - LastAttack) < 0.2 then
  786. Lunge()
  787. else
  788. Attack()
  789. end
  790. LastAttack = Time
  791. Tool.Enabled = true
  792. end
  793.  
  794. function Equipped()
  795. Character = Tool.Parent
  796. Player = Players:GetPlayerFromCharacter(Character)
  797. Humanoid = Character:FindFirstChild("Humanoid")
  798. Torso = Character:FindFirstChild("Torso")
  799. if not CheckIfAlive() then
  800. return
  801. end
  802. ToolEquipped = true
  803. Spawn(function()
  804. local CurrentlyEquipped = true
  805. ToolUnequipped1 = Tool.Unequipped:connect(function()
  806. CurrentlyEquipped = false
  807. if ToolUnequipped1 then
  808. ToolUnequipped1:disconnect()
  809. end
  810. end)
  811. Sounds.Unsheath:Play()
  812. Humanoid.WalkSpeed = 18
  813. --SetPlayerMaxHealth(Humanoid, 135)
  814. CreateFirePart(true)
  815. Spawn(function()
  816. while ToolEquipped and CurrentlyEquipped and CheckIfAlive() do
  817. wait(1)
  818. if not ToolEquipped or not CurrentlyEquipped or not CheckIfAlive() then
  819. break
  820. end
  821. Humanoid.Health = (Humanoid.Health + 0.25)
  822. end
  823. end)
  824. local ModelName = (Player.Name .. "'sSouls")
  825. Souls = Create("Model"){
  826. Name = ModelName,
  827. }
  828. local Values = {
  829. {Name = "Creator", Class = "ObjectValue", Value = Player},
  830. {Name = "Tool", Class = "ObjectValue", Value = Tool},
  831. }
  832. local RemoverCopy = Remover:Clone()
  833. for i, v in pairs(Values) do
  834. local Value = Create(v.Class){
  835. Name = v.Name,
  836. Value = v.Value,
  837. Parent = RemoverCopy,
  838. }
  839. end
  840. RemoverCopy.Disabled = false
  841. RemoverCopy.Parent = Souls
  842. Souls.Parent = game:GetService("Workspace")
  843. SoulCounter.Changed:connect(Encompass)
  844. Encompass()
  845. end)
  846. end
  847.  
  848. function Unequipped()
  849. CreateFirePart(true)
  850. for i, v in pairs({ToolUnequipped1, ToolUnequipped2, HelpGuiCopy}) do
  851. if tostring(v) == "Connection" then
  852. v:disconnect()
  853. elseif v and v.Parent then
  854. v:Destroy()
  855. end
  856. end
  857. --[[for i, v in pairs(Sounds) do
  858. v:Stop()
  859. end]]
  860. if CheckIfAlive() then
  861. --SetPlayerMaxHealth(Humanoid, 100)
  862. Humanoid.WalkSpeed = 16
  863. end
  864. Tool.Grip = Grips.Up
  865. ToolEquipped = false
  866. end
  867.  
  868. function OnServerInvoke(player, mode, value)
  869. if player ~= Player or not ToolEquipped or not value or not CheckIfAlive() then
  870. return
  871. end
  872. if mode == "KeyPress" then
  873. local Key = value.Key
  874. local Down = value.Down
  875. if Down and Tool.Enabled then
  876. if Key == "e" then
  877. local Ability = Abilities.Consume
  878. if Ability.Enabled and not Ability.Active then
  879. Ability.Enabled = false
  880. Ability.Active = true
  881. Sounds.Consume:Play()
  882. local MarkedCharacter = {Player = nil, Distance = 175}
  883. for i, v in pairs(Players:GetChildren()) do
  884. if v:IsA("Player") and v ~= Player and v.Character then
  885. local character = v.Character
  886. local humanoid = character:FindFirstChild("Humanoid")
  887. local torso = character:FindFirstChild("Torso")
  888. if humanoid and humanoid.Health > 0 and torso then
  889. local DistanceApart = (Handle.Position - torso.Position).Magnitude
  890. if DistanceApart < MarkedCharacter.Distance then
  891. MarkedCharacter.Player = character
  892. MarkedCharacter.Distance = DistanceApart
  893. end
  894. end
  895. end
  896. end
  897. if MarkedCharacter.Player then
  898. ConsumeTarget(MarkedCharacter.Player, 4)
  899. else
  900. ConsumeTarget()
  901. end
  902. Ability.Active = false
  903. wait(Ability.ReloadTime)
  904. Ability.Enabled = true
  905. end
  906. elseif Key == "x" then
  907. local Ability = Abilities.Purge
  908. if SoulCounter.Value == 0 then
  909. local PlayerGui = Player:FindFirstChild("PlayerGui")
  910. if PlayerGui then
  911. HelpGuiCopy = PlayerGui:FindFirstChild(HelpGui.Name)
  912. if not HelpGuiCopy then
  913. HelpGuiCopy = HelpGui:Clone()
  914. local TextLabel = HelpGuiCopy:FindFirstChild("TextLabel")
  915. if TextLabel then
  916. TextLabel.Visible = false
  917. TextLabel.Position = UDim2.new(0.5, -200, 0, -100)
  918. Debris:AddItem(HelpGuiCopy, 7.5)
  919. HelpGuiCopy.Parent = PlayerGui
  920. TextLabel.Visible = true
  921. TextLabel:TweenPosition(UDim2.new(0.5, -250, 0, 70), 1, 1, 1, true)
  922. end
  923. end
  924. end
  925. return
  926. end
  927. if Ability.Enabled and not Ability.Active then
  928. Ability.Enabled = false
  929. Ability.Active = true
  930. Sounds.Purge:Play()
  931. Spawn(function()
  932. InvokeClient("PlayAnimation", Animations.Purge)
  933. end)
  934. Humanoid.WalkSpeed = 10
  935. wait(1.25)
  936. Humanoid.WalkSpeed = 18
  937. local SoulCount = SoulCounter.Value
  938. SoulCounter.Value = 0
  939. for i = 1, SoulCount do
  940. local Pillar = BasePart:Clone()
  941. BasePart.Name = "Effect"
  942. Pillar.Transparency = 1
  943. Pillar.Size = Vector3.new(6, 33, 6)
  944. Pillar.CanCollide = false
  945. local Fire = SoulFire:Clone()
  946. Fire.Size = 25
  947. Fire.Heat = 25
  948. Fire.Enabled = true
  949. Fire.Parent = Pillar
  950. local Light = SoulLight:Clone()
  951. Light.Color = Fire.Color
  952. Light.Enabled = true
  953. Light.Parent = Pillar
  954. local Mass = (Pillar:GetMass() * Gravity)
  955. local Float = Create("BodyForce"){
  956. Name = "Float",
  957. force = Vector3.new(0, Mass, 0),
  958. Parent = Pillar,
  959. }
  960. local TorsoCFrame = Torso.CFrame
  961. local DesiredCFrame = (CFrame.new((TorsoCFrame + (TorsoCFrame.lookVector * Vector3.new(1, 0, 1)) * 2).p) * CFrame.new(0, -3, 0))
  962. local Angle = CFrame.Angles(0, (2 * i * math.pi / SoulCount), 0)
  963. Pillar.CFrame = (CFrame.new(TorsoCFrame.p, Vector3.new(DesiredCFrame.X, TorsoCFrame.Y, DesiredCFrame.Z)) * Angle)
  964. Pillar.Velocity = (Pillar.CFrame.lookVector * 75)
  965. local OriginPos = Pillar.CFrame
  966. Pillar.Touched:connect(function(Hit)
  967. if not Hit or not Hit.Parent then
  968. return
  969. end
  970. local character = Hit.Parent
  971. if character:IsA("Hat") then
  972. character = Hit.Parent
  973. end
  974. local humanoid = character:FindFirstChild("Humanoid")
  975. local torso = character:FindFirstChild("Torso")
  976. if not humanoid or humanoid.Health == 0 or not torso then
  977. return
  978. end
  979. local player = Players:GetPlayerFromCharacter(character)
  980. if player and (Player == player or IsTeamMate(Player, player)) then
  981. return
  982. end
  983. local DistanceApart = (OriginPos.p - torso.Position).Magnitude
  984. UntagHumanoid(humanoid)
  985. TagHumanoid(humanoid, Player)
  986. humanoid:TakeDamage(77 / (DistanceApart % 10))
  987. end)
  988. Debris:AddItem(Pillar, 5)
  989. Pillar.Parent = game:GetService("Workspace")
  990. end
  991. Ability.Active = false
  992. wait(Ability.ReloadTime)
  993. Ability.Enabled = true
  994. end
  995. end
  996. end
  997. end
  998. end
  999.  
  1000. function InvokeClient(Mode, Value)
  1001. local ClientReturn = nil
  1002. pcall(function()
  1003. ClientReturn = ClientControl:InvokeClient(Player, Mode, Value)
  1004. end)
  1005. return ClientReturn
  1006. end
  1007.  
  1008. CreateFirePart(true)
  1009.  
  1010. ServerControl.OnServerInvoke = OnServerInvoke
  1011.  
  1012. Tool.Activated:connect(Activated)
  1013. Tool.Equipped:connect(Equipped)
  1014. Tool.Unequipped:connect(Unequipped)
  1015.  
  1016. Blow(Handle, SwordDamage)
  1017. end))
  1018. Script17.Name = "DecimateScript"
  1019. Script17.Parent = Script16
  1020. Script17.Disabled = true
  1021. table.insert(cors,sandbox(Script17,function()
  1022. --Rescripted by Luckymaxer
  1023.  
  1024. Players = game:GetService("Players")
  1025. Debris = game:GetService("Debris")
  1026.  
  1027. Creator = script:FindFirstChild("Creator")
  1028. Counter = script:FindFirstChild("Counter")
  1029.  
  1030. RbxUtility = LoadLibrary("RbxUtility")
  1031. Create = RbxUtility.Create
  1032.  
  1033. BasePart = Create("Part"){
  1034. Material = Enum.Material.Plastic,
  1035. Shape = Enum.PartType.Block,
  1036. TopSurface = Enum.SurfaceType.Smooth,
  1037. BottomSurface = Enum.SurfaceType.Smooth,
  1038. FormFactor = Enum.FormFactor.Custom,
  1039. Size = Vector3.new(0.2, 0.2, 0.2),
  1040. CanCollide = true,
  1041. Locked = true,
  1042. }
  1043.  
  1044. FirePart = BasePart:Clone()
  1045. FirePart.Name = "Effect"
  1046. FirePart.Transparency = 1
  1047. FirePart.CanCollide = false
  1048. SoulFire = Create("Fire"){
  1049. Name = "Fire",
  1050. Color = Color3.new((255 / 255), (0 / 255), (0 / 255)),
  1051. SecondaryColor = Color3.new((102 / 255), (255 / 255), (153 / 255)),
  1052. Heat = 25,
  1053. Size = 6,
  1054. Enabled = true,
  1055. Parent = FirePart
  1056. }
  1057.  
  1058. FireChaseDuration = 15
  1059.  
  1060. Gravity = 196.20
  1061.  
  1062. StoreHealth = 0
  1063. StoreCFrame = nil
  1064.  
  1065. function IsTeamMate(Player1, Player2)
  1066. return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor)
  1067. end
  1068.  
  1069. function TagHumanoid(humanoid, player)
  1070. local Creator_Tag = Create("ObjectValue"){
  1071. Name = "creator",
  1072. Value = player,
  1073. }
  1074. Debris:AddItem(Creator_Tag, 2)
  1075. Creator_Tag.Parent = humanoid
  1076. end
  1077.  
  1078. function UntagHumanoid(humanoid)
  1079. for i, v in pairs(humanoid:GetChildren()) do
  1080. if v:IsA("ObjectValue") and v.Name == "creator" then
  1081. v:Destroy()
  1082. end
  1083. end
  1084. end
  1085.  
  1086. function Clamp(Number, Min, Max)
  1087. return math.max(math.min(Max, Number), Min)
  1088. end
  1089.  
  1090. function GetPercentage(Start, End, Number)
  1091. return (((Number - Start) / (End - Start)) * 100)
  1092. end
  1093.  
  1094. function Round(Number, RoundDecimal)
  1095. local WholeNumber, Decimal = math.modf(Number)
  1096. return ((Decimal >= RoundDecimal and math.ceil(Number)) or (Decimal < RoundDecimal and math.floor(Number)))
  1097. end
  1098.  
  1099. function GetCreator()
  1100. return (((Creator and Creator.Value and Creator.Value.Parent and Creator.Value:IsA("Player")) and Creator.Value) or nil)
  1101. end
  1102.  
  1103. function KillEnemy()
  1104. local Character = script.Parent
  1105. local Humanoid = Character:FindFirstChild("Humanoid")
  1106. local Torso = Character:FindFirstChild("Torso")
  1107. local Player = Players:GetPlayerFromCharacter(Character)
  1108. local HealthAfter = 0
  1109. if Humanoid and Humanoid.Health > 0 and Torso then
  1110. for i, v in pairs(Character:GetChildren()) do
  1111. if v:IsA("Tool") then
  1112. v:Destroy()
  1113. end
  1114. end
  1115. if Humanoid then
  1116. Humanoid.WalkSpeed = 0
  1117. end
  1118. if Torso then
  1119. local BV = Create("BodyVelocity"){
  1120. P = 300000,
  1121. maxForce = Vector3.new(300000, 300000, 300000),
  1122. velocity = Vector3.new(0, 3, 0),
  1123. }
  1124. FireWeld = Create("Weld"){
  1125. Name = "FireWeld",
  1126. Part0 = Torso,
  1127. Part1 = FirePart,
  1128. C0 = CFrame.new(0, 0, 0),
  1129. C1 = CFrame.new(0, 0, 0),
  1130. Parent = FirePart,
  1131. }
  1132. Debris:AddItem(BV, 2.75)
  1133. Debris:AddItem(FirePart, FireChaseDuration)
  1134. BV.Parent = Torso
  1135. FirePart.Parent = game:GetService("Workspace")
  1136. end
  1137. wait(2.75)
  1138. if Humanoid and Humanoid.Parent and Humanoid.Health > 0 then
  1139. local CreatorPlayer = GetCreator()
  1140. local TeamMate = false
  1141. if CreatorPlayer and Player and IsTeamMate(CreatorPlayer, Player) then
  1142. TeamMate = true
  1143. end
  1144. if not TeamMate then
  1145. local Damage = math.huge
  1146. HealthAfter = (Humanoid.Health - Damage)
  1147. StoreHealth = Clamp(Humanoid.Health, 0, 100)
  1148. UntagHumanoid(Humanoid)
  1149. TagHumanoid(Humanoid, CreatorPlayer)
  1150. Humanoid:TakeDamage(Damage)
  1151. if Damage == math.huge then
  1152. Character:BreakJoints()
  1153. end
  1154. StoreCFrame = Torso.CFrame
  1155. end
  1156. end
  1157. end
  1158. return ((HealthAfter <= 0 and true) or false)
  1159. end
  1160.  
  1161. function Follow(torso)
  1162. while torso and FirePart do
  1163. local Distance = (torso.Position - FirePart.Position).Magnitude
  1164. if Distance > 2 then
  1165. if FirePart then
  1166. FirePart.Velocity = ((torso.Position - FirePart.Position).Unit * 55)
  1167. end
  1168. end
  1169. wait()
  1170. end
  1171. end
  1172.  
  1173. local Dead = KillEnemy()
  1174.  
  1175. if Dead then
  1176. --wait(1)
  1177. local CreatorPlayer = GetCreator()
  1178. if CreatorPlayer then
  1179. local Character = CreatorPlayer.Character
  1180. if Character then
  1181. local Humanoid = Character:FindFirstChild("Humanoid")
  1182. local Torso = Character:FindFirstChild("Torso")
  1183. if Humanoid and Humanoid.Health > 0 and Torso then
  1184. Spawn(function()
  1185. --wait(3)
  1186. if Counter.Value.Value < Counter.Value.MaxValue then
  1187. Counter.Value.Value = (Counter.Value.Value + 1)
  1188. end
  1189. end)
  1190. if FireWeld and FireWeld.Parent then
  1191. FireWeld:Destroy()
  1192. end
  1193. local Mass = (FirePart:GetMass() * Gravity)
  1194. local Force = Create("BodyForce"){
  1195. force = Vector3.new(0, Mass, 0),
  1196. Parent = FirePart,
  1197. }
  1198. FirePart.Velocity = Vector3.new(0, 0, 0)
  1199. if StoreCFrame then
  1200. FirePart.CFrame = StoreCFrame
  1201. end
  1202. Spawn(function()
  1203. Follow(Torso)
  1204. end)
  1205. FirePart.Touched:connect(function(Hit)
  1206. if not Hit or not Hit.Parent then
  1207. return
  1208. end
  1209. local character = Hit.Parent
  1210. if character:IsA("Hat") then
  1211. character = character.Parent
  1212. end
  1213. local humanoid = character:FindFirstChild("Humanoid")
  1214. if not humanoid or humanoid.Health == 0 then
  1215. return
  1216. end
  1217. local player = Players:GetPlayerFromCharacter(character)
  1218. if player and player == CreatorPlayer then
  1219. if FirePart and FirePart.Parent then
  1220. FirePart:Destroy()
  1221. end
  1222. humanoid.Health = (humanoid.Health + StoreHealth + 10)
  1223. end
  1224. end)
  1225. end
  1226. end
  1227. else
  1228. for i, v in pairs({FirePart, FireWeld}) do
  1229. if v and v.Parent then
  1230. v:Destroy()
  1231. end
  1232. end
  1233. end
  1234. end
  1235.  
  1236. wait(FireChaseDuration)
  1237.  
  1238. for i, v in pairs({FirePart, FireWeld}) do
  1239. if v and v.Parent then
  1240. v:Destroy()
  1241. end
  1242. end
  1243.  
  1244. script:Destroy()
  1245. end))
  1246. Script18.Name = "Remover"
  1247. Script18.Parent = Script16
  1248. Script18.Disabled = true
  1249. table.insert(cors,sandbox(Script18,function()
  1250. --Rescripted by Luckymaxer
  1251.  
  1252. Model = script.Parent
  1253.  
  1254. Debris = game:GetService("Debris")
  1255.  
  1256. Creator = script:FindFirstChild("Creator")
  1257. Tool = script:FindFirstChild("Tool")
  1258.  
  1259. function DestroyModel()
  1260. if Model and Model.Parent then
  1261. Debris:AddItem(Model, 2)
  1262. Model:Destroy()
  1263. end
  1264. end
  1265.  
  1266. if not Creator or not Creator.Value or not Creator.Value:IsA("Player") or not Creator.Value.Parent or not Tool or not Tool.Value or not Tool.Value.Parent then
  1267. DestroyModel()
  1268. return
  1269. end
  1270.  
  1271. Creator = Creator.Value
  1272. Tool = Tool.Value
  1273.  
  1274. Character = Creator.Character
  1275. if not Character then
  1276. DestroyModel()
  1277. return
  1278. end
  1279.  
  1280. Creator.Changed:connect(function(Property)
  1281. if Property == "Parent" and not Creator.Parent then
  1282. DestroyModel()
  1283. end
  1284. end)
  1285.  
  1286. Character.Changed:connect(function(Property)
  1287. if Property == "Parent" and not Character.Parent then
  1288. DestroyModel()
  1289. end
  1290. end)
  1291.  
  1292. Tool.Changed:connect(function(Property)
  1293. if Property == "Parent" then
  1294. DestroyModel()
  1295. end
  1296. end)
  1297. end))
  1298. ScreenGui19.Name = "HelpGui"
  1299. ScreenGui19.Parent = Script16
  1300. TextLabel20.Parent = ScreenGui19
  1301. TextLabel20.Transparency = 1
  1302. TextLabel20.Size = UDim2.new(0, 500, 0, 100)
  1303. TextLabel20.Text = "You need souls to unleash the soul blast. Frag enemies to collect up to 7 souls and unleash soul blast."
  1304. TextLabel20.Position = UDim2.new(0.5, -250, 0, 70)
  1305. TextLabel20.BackgroundTransparency = 1
  1306. TextLabel20.Font = Enum.Font.ArialBold
  1307. TextLabel20.FontSize = Enum.FontSize.Size18
  1308. TextLabel20.TextColor3 = Color3.new(1, 0, 0)
  1309. TextLabel20.TextStrokeColor3 = Color3.new(1, 1, 1)
  1310. TextLabel20.TextStrokeTransparency = 0.5
  1311. TextLabel20.TextWrapped = true
  1312. LocalScript21.Parent = Tool0
  1313. table.insert(cors,sandbox(LocalScript21,function()
  1314. --Rescripted by Luckymaxer
  1315.  
  1316. Tool = script.Parent
  1317. Handle = Tool:WaitForChild("Handle")
  1318.  
  1319. Players = game:GetService("Players")
  1320.  
  1321. Animations = {}
  1322.  
  1323. ServerControl = Tool:WaitForChild("ServerControl")
  1324. ClientControl = Tool:WaitForChild("ClientControl")
  1325.  
  1326. Rate = (1 / 60)
  1327.  
  1328. ToolEquipped = false
  1329.  
  1330. function SetAnimation(mode, value)
  1331. if mode == "PlayAnimation" and value and ToolEquipped and Humanoid then
  1332. for i, v in pairs(Animations) do
  1333. if v.Animation == value.Animation then
  1334. v.AnimationTrack:Stop()
  1335. table.remove(Animations, i)
  1336. end
  1337. end
  1338. local AnimationTrack = Humanoid:LoadAnimation(value.Animation)
  1339. table.insert(Animations, {Animation = value.Animation, AnimationTrack = AnimationTrack})
  1340. AnimationTrack:Play(value.FadeTime, value.Weight, value.Speed)
  1341. elseif mode == "StopAnimation" and value then
  1342. for i, v in pairs(Animations) do
  1343. if v.Animation == value.Animation then
  1344. v.AnimationTrack:Stop(value.FadeTime)
  1345. table.remove(Animations, i)
  1346. end
  1347. end
  1348. end
  1349. end
  1350.  
  1351. function CheckIfAlive()
  1352. return (((Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Player and Player.Parent) and true) or false)
  1353. end
  1354.  
  1355. function Equipped(Mouse)
  1356. Character = Tool.Parent
  1357. Player = Players:GetPlayerFromCharacter(Character)
  1358. Humanoid = Character:FindFirstChild("Humanoid")
  1359. ToolEquipped = true
  1360. if not CheckIfAlive() then
  1361. return
  1362. end
  1363. Spawn(function()
  1364. PlayerMouse = Mouse
  1365. Mouse.Button1Down:connect(function()
  1366. InvokeServer("Button1Click", {Down = true})
  1367. end)
  1368. Mouse.Button1Up:connect(function()
  1369. InvokeServer("Button1Click", {Down = false})
  1370. end)
  1371. Mouse.KeyDown:connect(function(Key)
  1372. InvokeServer("KeyPress", {Key = Key, Down = true})
  1373. end)
  1374. Mouse.KeyUp:connect(function(Key)
  1375. InvokeServer("KeyPress", {Key = Key, Down = false})
  1376. end)
  1377. end)
  1378. end
  1379.  
  1380. function Unequipped()
  1381. for i, v in pairs(Animations) do
  1382. if v and v.AnimationTrack then
  1383. v.AnimationTrack:Stop()
  1384. end
  1385. end
  1386. Animations = {}
  1387. ToolEquipped = false
  1388. end
  1389.  
  1390. function InvokeServer(mode, value)
  1391. local ServerReturn = nil
  1392. pcall(function()
  1393. ServerReturn = ServerControl:InvokeServer(mode, value)
  1394. end)
  1395. return ServerReturn
  1396. end
  1397.  
  1398. function OnClientInvoke(mode, value)
  1399. if mode == "PlayAnimation" and value and ToolEquipped and Humanoid then
  1400. SetAnimation("PlayAnimation", value)
  1401. elseif mode == "StopAnimation" and value then
  1402. SetAnimation("StopAnimation", value)
  1403. elseif mode == "PlaySound" and value then
  1404. value:Play()
  1405. elseif mode == "StopSound" and value then
  1406. value:Stop()
  1407. elseif mode == "MousePosition" then
  1408. return ((PlayerMouse and {Position = PlayerMouse.Hit.p, Target = PlayerMouse.Target}) or nil)
  1409. end
  1410. end
  1411.  
  1412. ClientControl.OnClientInvoke = OnClientInvoke
  1413.  
  1414. Tool.Equipped:connect(Equipped)
  1415. Tool.Unequipped:connect(Unequipped)
  1416. end))
  1417. RemoteFunction22.Name = "ServerControl"
  1418. RemoteFunction22.Parent = Tool0
  1419. RemoteFunction23.Name = "ClientControl"
  1420. RemoteFunction23.Parent = Tool0
  1421. for i,v in pairs(mas:GetChildren()) do
  1422. v.Parent = game:GetService("Players").LocalPlayer.Character
  1423. pcall(function() v:MakeJoints() end)
  1424. end
  1425. mas:Destroy()
  1426. for i,v in pairs(cors) do
  1427. spawn(function()
  1428. pcall(v)
  1429. end)
  1430. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement