Advertisement
Guest User

FE Golden Gun

a guest
Dec 6th, 2019
629
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  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 V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86. local h,t
  87. --Give the server mouse data every second frame, but only if the values changed
  88. --If player is not moving their mouse, client won't fire events
  89. local HB = game:GetService("RunService").Heartbeat
  90. while true do
  91. if h~=Mouse.Hit or t~=Mouse.Target then
  92. h,t=Mouse.Hit,Mouse.Target
  93. Event:FireServer({isMouse=true,Target=t,Hit=h})
  94. end
  95. --Wait 2 frames
  96. for i=1,2 do
  97. HB:Wait()
  98. end
  99. end]==],script)
  100.  
  101. ----Sandboxed game object that allows the usage of client-side methods and services
  102. --Real game object
  103. local RealGame = game
  104.  
  105. --Metatable for fake service
  106. local FakeService_Metatable = {
  107. __index = function(self,k)
  108. local s = rawget(self,"_RealService")
  109. if s then
  110. return typeof(s[k])=="function"
  111. and function(_,...)return s[k](s,...)end or s[k]
  112. end
  113. end,
  114. __newindex = function(self,k,v)
  115. local s = rawget(self,"_RealService")
  116. if s then s[k]=v end
  117. end
  118. }
  119. local function FakeService(t,RealService)
  120. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  121. return setmetatable(t,FakeService_Metatable)
  122. end
  123.  
  124. --Fake game object
  125. local FakeGame = {
  126. GetService = function(self,s)
  127. return rawget(self,s) or RealGame:GetService(s)
  128. end,
  129. Players = FakeService({
  130. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  131. },"Players"),
  132. UserInputService = FakeService(UIS,"UserInputService"),
  133. ContextActionService = FakeService(CAS,"ContextActionService"),
  134. RunService = FakeService({
  135. _btrs = {},
  136. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  137. BindToRenderStep = function(self,name,_,fun)
  138. self._btrs[name] = self.Heartbeat:Connect(fun)
  139. end,
  140. UnbindFromRenderStep = function(self,name)
  141. self._btrs[name]:Disconnect()
  142. end,
  143. },"RunService")
  144. }
  145. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  146. FakeGame.service = FakeGame.GetService
  147. FakeService(FakeGame,game)
  148. --Changing owner to fake player object to support owner:GetMouse()
  149. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  150. end
  151. --[[Nocturna_A._Alteriano_Night.Owl.Inc]]--
  152. wait(1 / 60)
  153. Effects = { }
  154. local Player = game.Players.localPlayer
  155. local Character = Player.Character
  156. local Humanoid = Character.Humanoid
  157. local mouse = Player:GetMouse()
  158. local m = Instance.new('Model', Character)
  159. m.Name = "WeaponModel"
  160. local LeftArm = Character["Left Arm"]
  161. local RightArm = Character["Right Arm"]
  162. local LeftLeg = Character["Left Leg"]
  163. local RightLeg = Character["Right Leg"]
  164. local Head = Character.Head
  165. local Torso = Character.Torso
  166. local cam = game.Workspace.CurrentCamera
  167. local RootPart = Character.HumanoidRootPart
  168. local RootJoint = RootPart.RootJoint
  169. local equipped = false
  170. local attack = false
  171. local Anim = 'Idle'
  172. local idle = 0
  173. local attacktype = 1
  174. local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  175. local velocity = RootPart.Velocity.y
  176. local sine = 0
  177. local change = 1
  178. local grabbed = false
  179. local cn = CFrame.new
  180. local mr = math.rad
  181. local angles = CFrame.Angles
  182. local ud = UDim2.new
  183. local c3 = Color3.new
  184.  
  185. Humanoid.Animator.Parent = nil
  186. Character.Animate.Parent = nil
  187.  
  188. local newMotor = function(part0, part1, c0, c1)
  189. local w = Instance.new('Motor', part0)
  190. w.Part0 = part0
  191. w.Part1 = part1
  192. w.C0 = c0
  193. w.C1 = c1
  194. return w
  195. end
  196.  
  197. function clerp(a, b, t)
  198. return a:lerp(b, t)
  199. end
  200.  
  201. RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
  202. NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  203.  
  204. local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0))
  205. local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
  206. local RH = newMotor(Torso, RightLeg, CFrame.new(.5, -2, 0), CFrame.new(0, 0, 0))
  207. local LH = newMotor(Torso, LeftLeg, CFrame.new(-.5, -2, 0), CFrame.new(0, 0, 0))
  208. RootJoint.C1 = CFrame.new(0, 0, 0)
  209. RootJoint.C0 = CFrame.new(0, 0, 0)
  210. Torso.Neck.C1 = CFrame.new(0, 0, 0)
  211. Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
  212.  
  213. local rarmc1 = RW.C1
  214. local larmc1 = LW.C1
  215. local rlegc1 = RH.C1
  216. local llegc1 = LH.C1
  217.  
  218. local resetc1 = false
  219.  
  220. function PlayAnimationFromTable(table, speed, bool)
  221. RootJoint.C0 = clerp(RootJoint.C0, table[1], speed)
  222. Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed)
  223. RW.C0 = clerp(RW.C0, table[3], speed)
  224. LW.C0 = clerp(LW.C0, table[4], speed)
  225. RH.C0 = clerp(RH.C0, table[5], speed)
  226. LH.C0 = clerp(LH.C0, table[6], speed)
  227. if bool == true then
  228. if resetc1 == false then
  229. resetc1 = true
  230. RootJoint.C1 = RootJoint.C1
  231. Torso.Neck.C1 = Torso.Neck.C1
  232. RW.C1 = rarmc1
  233. LW.C1 = larmc1
  234. RH.C1 = rlegc1
  235. LH.C1 = llegc1
  236. end
  237. end
  238. end
  239.  
  240. --[[Credits to SazErenos for his Artificial Heartbeat]]--
  241.  
  242. ArtificialHB = Instance.new("BindableEvent", script)
  243. ArtificialHB.Name = "Heartbeat"
  244.  
  245. script:WaitForChild("Heartbeat")
  246.  
  247. frame = 1 / 30
  248. tf = 0
  249. allowframeloss = false
  250. tossremainder = false
  251. lastframe = tick()
  252. script.Heartbeat:Fire()
  253.  
  254. game:GetService("RunService").Heartbeat:connect(function(s, p)
  255. tf = tf + s
  256. if tf >= frame then
  257. if allowframeloss then
  258. script.Heartbeat:Fire()
  259. lastframe = tick()
  260. else
  261. for i = 1, math.floor(tf / frame) do
  262. script.Heartbeat:Fire()
  263. end
  264. lastframe = tick()
  265. end
  266. if tossremainder then
  267. tf = 0
  268. else
  269. tf = tf - frame * math.floor(tf / frame)
  270. end
  271. end
  272. end)
  273.  
  274. function swait(num)
  275. if num == 0 or num == nil then
  276. ArtificialHB.Event:wait()
  277. else
  278. for i = 0, num do
  279. ArtificialHB.Event:wait()
  280. end
  281. end
  282. end
  283.  
  284. local RbxUtility = LoadLibrary("RbxUtility")
  285. local Create = RbxUtility.Create
  286.  
  287. function RemoveOutlines(part)
  288. part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  289. end
  290.  
  291. CFuncs = {
  292. ["Part"] = {
  293. Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  294. local Part = Create("Part"){
  295. Parent = Parent,
  296. Reflectance = Reflectance,
  297. Transparency = Transparency,
  298. CanCollide = false,
  299. Locked = true,
  300. BrickColor = BrickColor.new(tostring(BColor)),
  301. Name = Name,
  302. Size = Size,
  303. Material = Material,
  304. }
  305. RemoveOutlines(Part)
  306. return Part
  307. end;
  308. };
  309.  
  310. ["Mesh"] = {
  311. Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  312. local Msh = Create(Mesh){
  313. Parent = Part,
  314. Offset = OffSet,
  315. Scale = Scale,
  316. }
  317. if Mesh == "SpecialMesh" then
  318. Msh.MeshType = MeshType
  319. Msh.MeshId = MeshId
  320. end
  321. return Msh
  322. end;
  323. };
  324.  
  325. ["Mesh"] = {
  326. Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  327. local Msh = Create(Mesh){
  328. Parent = Part,
  329. Offset = OffSet,
  330. Scale = Scale,
  331. }
  332. if Mesh == "SpecialMesh" then
  333. Msh.MeshType = MeshType
  334. Msh.MeshId = MeshId
  335. end
  336. return Msh
  337. end;
  338. };
  339.  
  340. ["Weld"] = {
  341. Create = function(Parent, Part0, Part1, C0, C1)
  342. local Weld = Create("Weld"){
  343. Parent = Parent,
  344. Part0 = Part0,
  345. Part1 = Part1,
  346. C0 = C0,
  347. C1 = C1,
  348. }
  349. return Weld
  350. end;
  351. };
  352.  
  353. ["Sound"] = {
  354. Create = function(id, par, vol, pit)
  355. coroutine.resume(coroutine.create(function()
  356. local S = Create("Sound"){
  357. Volume = vol,
  358. Pitch = pit or 1,
  359. SoundId = id,
  360. Parent = par or workspace,
  361. }
  362. Instance.new("DistortionSoundEffect", S).Level = 1
  363. wait()
  364. S:play()
  365. game:GetService("Debris"):AddItem(S, 10)
  366. end))
  367. end;
  368. };
  369.  
  370. ["ParticleEmitter"] = {
  371. Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
  372. local fp = Create("ParticleEmitter"){
  373. Parent = Parent,
  374. Color = ColorSequence.new(Color1, Color2),
  375. LightEmission = LightEmission,
  376. Size = Size,
  377. Texture = Texture,
  378. Transparency = Transparency,
  379. ZOffset = ZOffset,
  380. Acceleration = Accel,
  381. Drag = Drag,
  382. LockedToPart = LockedToPart,
  383. VelocityInheritance = VelocityInheritance,
  384. EmissionDirection = EmissionDirection,
  385. Enabled = Enabled,
  386. Lifetime = LifeTime,
  387. Rate = Rate,
  388. Rotation = Rotation,
  389. RotSpeed = RotSpeed,
  390. Speed = Speed,
  391. VelocitySpread = VelocitySpread,
  392. }
  393. return fp
  394. end;
  395. };
  396. }
  397.  
  398. function rayCast(Position, Direction, Range, Ignore)
  399. return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
  400. end
  401.  
  402. local function GetNearest(obj, distance)
  403. local last, lastx = distance + 1
  404. for i, v in pairs(workspace:GetChildren()) do
  405. if v:IsA'Model' and v ~= Character and v:findFirstChild('Humanoid') and v:findFirstChild('Torso') and v:findFirstChild('Humanoid').Health > 0 then
  406. local t = v.Torso
  407. local dist = (t.Position - obj.Position).magnitude
  408. if dist <= distance then
  409. if dist < last then
  410. last = dist
  411. lastx = v
  412. end
  413. end
  414. end
  415. end
  416. return lastx
  417. end
  418.  
  419. --[[ Credits to Kert109 (Ninja_Deer) for the Damage function. Fenrier for the Magnitude Damage ]]--
  420.  
  421. function Damage(hit, damage, cooldown, Color1, Color2, HSound, HPitch)
  422. for i, v in pairs(hit:GetChildren()) do
  423. if v:IsA("Humanoid") and hit.Name ~= Character.Name then
  424. local find = v:FindFirstChild("DebounceHit")
  425. if not find then
  426. if v.Parent:findFirstChild("Head") then
  427. local BillG = Create("BillboardGui"){
  428. Parent = v.Parent.Head,
  429. Size = UDim2.new(1, 0, 1, 0),
  430. Adornee = v.Parent.Head,
  431. StudsOffset = Vector3.new(math.random(-3, 3), math.random(3, 5), math.random(-3, 3)),
  432. }
  433. local TL = Create("TextLabel"){
  434. Parent = BillG,
  435. Size = UDim2.new(3, 3, 3, 3),
  436. BackgroundTransparency = 1,
  437. Text = tostring(damage).."-",
  438. TextColor3 = Color1.Color,
  439. TextStrokeColor3 = Color2.Color,
  440. TextStrokeTransparency = 0,
  441. TextXAlignment = Enum.TextXAlignment.Center,
  442. TextYAlignment = Enum.TextYAlignment.Center,
  443. FontSize = Enum.FontSize.Size18,
  444. Font = "ArialBold",
  445. }
  446. coroutine.resume(coroutine.create(function()
  447. swait(1)
  448. for i = 0, 1, .1 do
  449. swait(.1)
  450. BillG.StudsOffset = BillG.StudsOffset + Vector3.new(0, .1, 0)
  451. end
  452. BillG:Destroy()
  453. end))
  454. end
  455. v.Health = v.Health - damage
  456. local bool = Create("BoolValue"){
  457. Parent = v,
  458. Name = "DebounceHit",
  459. }
  460. if HSound ~= nil and HPitch ~= nil then
  461. CFuncs["Sound"].Create(HSound, hit, 1, HPitch)
  462. end
  463. game:GetService("Debris"):AddItem(bool, cooldown)
  464. end
  465. end
  466. end
  467. end
  468.  
  469. function MagnitudeDamage(Part, magni, mindam, maxdam, Color1, Color2, HSound, HPitch)
  470. for _, c in pairs(workspace:children()) do
  471. local hum = c:findFirstChild("Humanoid")
  472. if hum ~= nil then
  473. local head = c:findFirstChild("Torso")
  474. if head ~= nil then
  475. local targ = head.Position - Part.Position
  476. local mag = targ.magnitude
  477. if mag <= magni and c.Name ~= Player.Name then
  478. Damage(head.Parent, math.random(mindam, maxdam), 0.5, Color1, Color2, HSound, HPitch)
  479. end
  480. end
  481. end
  482. end
  483. end
  484.  
  485. Handle = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "Handle", Vector3.new(0.399999946, 0.899999976, 0.400000095))
  486. HandleWeld = CFuncs["Weld"].Create(m, Character["Right Arm"], Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.199958801, -0.0500774384, -1.09998882, -1, 0, 0, 0, 0, -1, -0, -1, -0))
  487. FakeHandle = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "FakeHandle", Vector3.new(0.399999946, 0.899999976, 0.400000095))
  488. FakeHandleWeld = CFuncs["Weld"].Create(m, Handle, FakeHandle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.199996948, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1))
  489. Barrel = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "Barrel", Vector3.new(0.399999946, 0.399999976, 0.400000095))
  490. BarrelWeld = CFuncs["Weld"].Create(m, FakeHandle, Barrel, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, -0.749999046, -1.50000024, 1, 0, 0, 0, 1, 0, 0, 0, 1))
  491. Part = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 0, "Medium stone grey", "Part", Vector3.new(0.399999946, 0.299999952, 0.400000095))
  492. PartWeld = CFuncs["Weld"].Create(m, FakeHandle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, -0.300000191, -0.400000095, 1, 0, 0, 0, 1, 0, 0, 0, 1))
  493. CFuncs["Mesh"].Create("SpecialMesh", Part, Enum.MeshType.FileMesh, "rbxassetid://435840330", Vector3.new(0, 0, 0), Vector3.new(0.00200000009, 0.00200000009, 0.00200000009))
  494. Part.Mesh.TextureId = "rbxassetid://435840335"
  495.  
  496. EffectModel = Instance.new("Model", Character)
  497. EffectModel.Name = "Effects"
  498.  
  499. Effects = {
  500. ["Block"] = {
  501. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  502. local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  503. prt.Anchored = true
  504. prt.CFrame = cframe
  505. local msh = CFuncs["Mesh"].Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  506. game:GetService("Debris"):AddItem(prt, 10)
  507. if Type == 1 or Type == nil then
  508. table.insert(Effects, {
  509. prt,
  510. "Block1",
  511. delay,
  512. x3,
  513. y3,
  514. z3,
  515. msh
  516. })
  517. elseif Type == 2 then
  518. table.insert(Effects, {
  519. prt,
  520. "Block2",
  521. delay,
  522. x3,
  523. y3,
  524. z3,
  525. msh
  526. })
  527. end
  528. end;
  529. };
  530.  
  531. ["Cylinder"] = {
  532. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  533. local prt = CFuncs["Part"].Create(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.2, 0.2, 0.2))
  534. prt.Anchored = true
  535. prt.CFrame = cframe
  536. local msh = CFuncs["Mesh"].Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  537. game:GetService("Debris"):AddItem(prt, 2)
  538. Effects[#Effects + 1] = {
  539. prt,
  540. "Cylinder",
  541. delay,
  542. x3,
  543. y3,
  544. z3
  545. }
  546. end;
  547. };
  548.  
  549. ["Sphere"] = {
  550. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  551. local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  552. prt.Anchored = true
  553. prt.CFrame = cframe
  554. local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  555. game:GetService("Debris"):AddItem(prt, 10)
  556. table.insert(Effects, {
  557. prt,
  558. "Cylinder",
  559. delay,
  560. x3,
  561. y3,
  562. z3,
  563. msh
  564. })
  565. end;
  566. };
  567.  
  568. ["Elec"] = {
  569. Create = function(cff, x, y, z)
  570. local prt = CFuncs["Part"].Create(workspace, "Neon", 0, 0, BrickColor.new("Lime green"), "Part", Vector3.new(1, 1, 1))
  571. prt.Anchored = true
  572. prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
  573. prt.CFrame = CFrame.new(prt.Position)
  574. game:GetService("Debris"):AddItem(prt, 2)
  575. local xval = math.random() / 2
  576. local yval = math.random() / 2
  577. local zval = math.random() / 2
  578. local msh = CFuncs["Mesh"].Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
  579. table.insert(Effects, {
  580. prt,
  581. "Elec",
  582. 0.1,
  583. x,
  584. y,
  585. z,
  586. xval,
  587. yval,
  588. zval
  589. })
  590. end;
  591.  
  592. };
  593.  
  594. ["Ring"] = {
  595. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  596. local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  597. prt.Anchored = true
  598. prt.CFrame = cframe
  599. local msh = CFuncs["Mesh"].Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  600. game:GetService("Debris"):AddItem(prt, 10)
  601. table.insert(Effects, {
  602. prt,
  603. "Cylinder",
  604. delay,
  605. x3,
  606. y3,
  607. z3,
  608. msh
  609. })
  610. end;
  611. };
  612.  
  613.  
  614. ["Wave"] = {
  615. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  616. local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  617. prt.Anchored = true
  618. prt.CFrame = cframe
  619. local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  620. game:GetService("Debris"):AddItem(prt, 10)
  621. table.insert(Effects, {
  622. prt,
  623. "Cylinder",
  624. delay,
  625. x3,
  626. y3,
  627. z3,
  628. msh
  629. })
  630. end;
  631. };
  632.  
  633. ["Break"] = {
  634. Create = function(brickcolor, cframe, x1, y1, z1)
  635. local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  636. prt.Anchored = true
  637. prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  638. local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  639. local num = math.random(10, 50) / 1000
  640. game:GetService("Debris"):AddItem(prt, 10)
  641. table.insert(Effects, {
  642. prt,
  643. "Shatter",
  644. num,
  645. prt.CFrame,
  646. math.random() - math.random(),
  647. 0,
  648. math.random(50, 100) / 100
  649. })
  650. end;
  651. };
  652. }
  653.  
  654. Shoot2 = function(orgpos)
  655. local MouseLook = CFrame.new((orgpos + mouse.Hit.p) / 2, mouse.Hit.p)
  656. Effects["Sphere"].Create(BrickColor.new("New Yeller"), CFrame.new(orgpos), 5, 5, 5, 3, 3, 3, 0.1)
  657. table.insert(Effects, {
  658. MouseLook.lookVector,
  659. "Shoot2",
  660. 50,
  661. orgpos,
  662. 5,
  663. 7,
  664. 0,
  665. 1,
  666. 2
  667. })
  668. end
  669.  
  670. function attackone()
  671. attack = true
  672. CFuncs["Sound"].Create("rbxassetid://243053454", Torso, .1, 2.8)
  673. for i = 0, 1, 0.025 do
  674. swait()
  675. PlayAnimationFromTable({
  676. CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  677. CFrame.new(0, 1.4999907, 3.42726707e-007, 1, 0, 0, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  678. CFrame.new(0.431798398, 0.400000006, -0.888215482, 0.939692736, 0.342019886, 0, 0, 0, -1, -0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  679. CFrame.new(-0.559965074, 0.300000012, -0.828456283, 0.939692736, -0.342019886, 0, 0, 0, -1, 0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  680. CFrame.new(0.599619746, -1.99127948, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  681. CFrame.new(-0.599619746, -1.99127901, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  682. }, .3, false)
  683. FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0)), 0.3)
  684. end
  685. CFuncs["Sound"].Create("rbxassetid://203691837", Barrel, .01, .3)
  686. CFuncs["Sound"].Create("rbxassetid://131384028", Barrel, .01, .9)
  687. CFuncs["Sound"].Create("rbxassetid://184718741", Barrel, .05, .9)
  688. Shoot2(Barrel.Position)
  689. for i = 0, 1, 0.15 do
  690. swait()
  691. RootPart.Velocity = RootPart.CFrame.lookVector * -50
  692. PlayAnimationFromTable({
  693. CFrame.new(-0, -0.281125277, 0.157014638, 1, 0, -0, 0, 0.906307876, -0.422617942, 0, 0.422617942, 0.906307876) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  694. CFrame.new(0, 1.4999938, 1.05202198e-005, 1, 0, -0, 0, 0.965925813, 0.258818924, -0, -0.258818924, 0.965925813) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  695. CFrame.new(0.406597674, 0.817824185, -0.957423151, 0.939692974, 0.280165672, -0.196174338, -5.36441803e-007, -0.573575616, -0.819152534, -0.34201926, 0.769751906, -0.538984895) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  696. CFrame.new(-0.506752789, 0.775180221, -0.974653006, 0.939692974, -0.280165732, 0.196174279, 5.36441803e-007, -0.573575556, -0.819152713, 0.34201926, 0.769752145, -0.538984716) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  697. CFrame.new(0.566868722, -1.61683154, -0.13679418, 0.954536259, -0.174988821, -0.241328761, 0.172366679, 0.984509468, -0.0321052969, 0.243208498, -0.0109513998, 0.969912171) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  698. CFrame.new(-0.545306504, -1.37044179, -0.679420352, 0.996202111, 0.0754783303, 0.0434113704, -0.0434117466, 0.862729907, -0.503797948, -0.0754781216, 0.49999994, 0.862729967) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  699. }, .6, false)
  700. FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-30), math.rad(-20), math.rad(0)), 0.3)
  701. end
  702. for i = 0, 1, 0.15 do
  703. swait()
  704. RootPart.Velocity = RootPart.CFrame.lookVector * -100
  705. PlayAnimationFromTable({
  706. CFrame.new(-0, -0.795007467, 0.0831707418, 1, 0, -0, 0, 0.76604414, -0.642788053, 0, 0.642788053, 0.76604414) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  707. CFrame.new(0, 1.49999774, 1.20103359e-005, 1, 0, -0, 0, 0.965925634, 0.258819878, -0, -0.258819878, 0.965925634) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  708. CFrame.new(1.70605683, 1.21151328, -0.185158521, 0.893217862, -0.29338178, -0.340718448, -0.340719074, -0.936116338, -0.0871595442, -0.293381065, 0.193941653, -0.936116695) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  709. CFrame.new(-1.69524968, 1.05172348, -0.252849877, 0.812758088, 0.493294626, 0.309975445, 0.582562625, -0.694268882, -0.422624737, 0.00672781467, 0.524071693, -0.851647615) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  710. CFrame.new(0.689150453, -1.88461804, -0.0157705098, 0.954536736, -0.174989104, -0.241326213, 0.172367141, 0.984509468, -0.0321044922, 0.243205875, -0.0109517872, 0.969912887) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  711. CFrame.new(-0.536899447, -1.34506011, -0.583059072, 0.99620223, 0.0226762109, 0.0840658173, -0.043412663, 0.966281295, 0.253803402, -0.0754759163, -0.256489068, 0.963595748) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  712. }, .2, false)
  713. FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-50), math.rad(0)), 0.3)
  714. end
  715. for i = 0, 1, 0.05 do
  716. swait()
  717. RootPart.Velocity = RootPart.CFrame.lookVector * -50
  718. PlayAnimationFromTable({
  719. CFrame.new(-0, -2.09708667, 0.108620644, 1, 0, -0, 0, 0.573575675, -0.819152594, 0, 0.819152594, 0.573575675) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  720. CFrame.new(0, 1.53697455, -0.422635257, 1, 0, -0, 0, 0.766043842, 0.64278841, -0, -0.64278841, 0.766043842) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  721. CFrame.new(1.57810855, 0.650130272, 0.33058399, 0.930655897, -0.284022599, -0.230674848, 0.352510452, 0.527023435, 0.773293555, -0.0980618149, -0.800985396, 0.590598404) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  722. CFrame.new(-1.38994181, 0.87733829, 0.667137444, 0.963715255, 0.08906921, 0.251633942, -0.25866431, 0.0788001418, 0.962747812, 0.0659223944, -0.992903471, 0.0989798903) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  723. CFrame.new(0.774198592, -1.52057803, -0.607582211, 0.954536974, -0.272207022, -0.121501081, 0.172365844, 0.83655864, -0.520057499, 0.243206039, 0.475471497, 0.845445395) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  724. CFrame.new(-0.530096769, -1.05517173, -0.660005629, 0.99620223, 0.0226761587, 0.0840661526, -0.0434127897, 0.966280818, 0.253804684, -0.0754762068, -0.256490231, 0.96359539) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  725. }, .3, false)
  726. FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-60), math.rad(0)), 0.3)
  727. end
  728. for i = 0, 1, 0.13 do
  729. swait()
  730. PlayAnimationFromTable({
  731. CFrame.new(-0, -1.01349139, -0.251608461, 1, 0, 0, 0, 0.707105339, 0.707108378, 0, -0.707108378, 0.707105339) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  732. CFrame.new(0.0127754211, 1.44207788, 0.0749337673, 1, 0, 0, 0, 0.939691544, -0.342023343, 0, 0.342023343, 0.939691544) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  733. CFrame.new(1.62296665, 0.191783041, -0.192457974, 0.930656254, -0.329096794, 0.159920022, 0.352511466, 0.923570275, -0.150843769, -0.098055169, 0.196757287, 0.975536823) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  734. CFrame.new(-0.870643735, 0.71258086, -0.942903101, 0.18127799, -0.372358024, -0.910213113, -0.781424284, 0.507405519, -0.363202393, 0.597088516, 0.777103186, -0.19898814) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  735. CFrame.new(0.214147568, -1.73508716, -0.0895051956, 0.924306214, 0.282332808, -0.256800473, -0.113861978, 0.846218646, 0.520528436, 0.364271581, -0.451887846, 0.814311981) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  736. CFrame.new(-0.535767198, -0.599929333, -0.996632636, 0.996202111, 0.0754788443, 0.0434101112, -0.0434126705, 0.862728953, -0.503799856, -0.0754773915, 0.500001788, 0.862729192) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  737. }, .3, false)
  738. end
  739. attack = false
  740. end
  741.  
  742. --[[Attacks]]--
  743.  
  744. mouse.Button1Down:connect(function()
  745. if attack == false and attacktype == 1 then
  746. attackone()
  747. end
  748. end)
  749.  
  750. mouse.KeyDown:connect(function(k)
  751. k = k:lower()
  752. if attack == false and k == '' then
  753.  
  754. end
  755. end)
  756.  
  757. while true do
  758. swait()
  759. for i, v in pairs(Character:GetChildren()) do
  760. if v:IsA("Part") then
  761. v.Material = "SmoothPlastic"
  762. elseif v:IsA("Accessory") then
  763. v:WaitForChild("Handle").Material = "SmoothPlastic"
  764. end
  765. end
  766. Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  767. velocity = RootPart.Velocity.y
  768. sine = sine + change
  769. local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
  770. if equipped == true or equipped == false then
  771. if RootPart.Velocity.y > 1 and hit == nil then
  772. Anim = "Jump"
  773. if attack == false then
  774. PlayAnimationFromTable({
  775. CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  776. CFrame.new(0, 1.49221826, -0.044082582, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  777. CFrame.new(1.66304386, 0.182627335, 0.00782334805, 0.883022726, -0.392632574, 0.257119894, 0.321392894, 0.905103981, 0.2783764, -0.342019886, -0.163176134, 0.925416708) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  778. CFrame.new(-1.66570556, 0.224230319, 0.110721856, 0.903736115, 0.408218145, -0.128915116, -0.34750703, 0.875426054, 0.33595863, 0.25000003, -0.258819014, 0.933012724) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  779. CFrame.new(0.499999166, -1.99999452, 4.76837158e-007, 0.984807849, -5.94328526e-007, -0.173648044, 0.0449439958, 0.965925872, 0.254886925, 0.167730987, -0.258819073, 0.951251388) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  780. CFrame.new(-0.499999404, -1.51703107, -0.129407585, 0.965925753, 6.6929374e-007, 0.258819193, -0.0669879839, 0.965925813, 0.24999994, -0.24999994, -0.258819163, 0.933012724) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  781. }, .3, false)
  782. end
  783. elseif RootPart.Velocity.y < -1 and hit == nil then
  784. Anim = "Fall"
  785. if attack == false then
  786. PlayAnimationFromTable({
  787. CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  788. CFrame.new(0, 1.49221873, -0.0440826714, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  789. CFrame.new(1.76076102, 0.406842887, 0.0212866664, 0.695482016, -0.670965135, 0.257119834, 0.611573994, 0.74059701, 0.278376371, -0.377202988, -0.0363579579, 0.925416648) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  790. CFrame.new(-1.68029141, 0.390803367, 0.155905366, 0.70961535, 0.692695498, -0.128914997, -0.625963271, 0.703777075, 0.335958213, 0.323444158, -0.157705069, 0.933012843) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  791. CFrame.new(0.693307817, -1.96826017, -0.0605875254, 0.986561239, -0.127662987, -0.101976946, 0.137943029, 0.985269904, 0.101069227, 0.0875720233, -0.113777988, 0.989639223) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  792. CFrame.new(-0.526552737, -1.81498528, -0.152177691, 0.965925574, 0.0449441113, 0.254888207, -0.066988036, 0.994663239, 0.0784704387, -0.250001162, -0.0928710476, 0.963781357) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  793. }, .3, false)
  794. end
  795. elseif Torsovelocity < 1 and hit ~= nil then
  796. Anim = "Idle"
  797. if attack == false then
  798. change = 1
  799. PlayAnimationFromTable({
  800. CFrame.new(1.22602091e-006, -0.219458103, 1.46111324e-006, 0.76604414, 0, 0.642788053, 0, 1, 0, -0.642788053, 0, 0.76604414) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  801. CFrame.new(0, 1.49999201, 0, 0.707106233, 0, -0.707107306, 0, 1, 0, 0.707107306, 0, 0.707106233) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  802. CFrame.new(0.571566343, -0.0739164352, -0.639066696, 0.939692855, 0.340718329, -0.0298085809, -0.241844058, 0.600305915, -0.762328327, -0.241844922, 0.723563433, 0.646503866) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  803. CFrame.new(-0.628383756, -0.12163578, -0.696761668, 0.939692736, -0.342020065, -5.06639481e-007, 0.196173996, 0.538984895, -0.819152653, 0.280166954, 0.769751549, 0.573575616) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  804. CFrame.new(0.624118924, -1.79798961, 0.0678238794, 0.995454907, -0.0383867361, -0.0871553123, 0.0385330059, 0.999257326, -4.09960694e-006, 0.0870907605, -0.00335427374, 0.996194839) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  805. CFrame.new(-0.53866595, -1.82180798, 0.00821807235, 0.977763176, 0.0281341001, 0.207816422, -0.0287620034, 0.999586344, -1.4934686e-007, -0.207730502, -0.00597707182, 0.978167892) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  806. }, .3, false)
  807. FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0)), 0.3)
  808. end
  809. elseif Torsovelocity > 2 and hit ~= nil then
  810. Anim = "Walk"
  811. if attack == false then
  812. change = 3
  813. PlayAnimationFromTable({
  814. CFrame.new(0, -0.0240751095, -0.146390602, 1, 0, 0, 0, 0.965925872, 0.258818984, 0, -0.258818984, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  815. CFrame.new(0, 1.49999237, -1.81794167e-006, 1, 0, 0, 0, 0.984807789, -0.173647881, 0, 0.173647881, 0.984807789) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  816. CFrame.new(0.172261134, 0.427689523, -1.09730911, 0.644483984, 0.748984814, -0.153825179, 0.413525045, -0.510645986, -0.753815472, -0.643146515, 0.422211438, -0.638827145) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  817. CFrame.new(-1.1922102, 0.363029838, -0.448653877, 0.935289383, -0.110854559, -0.33607316, -0.341521561, -0.531564534, -0.775114357, -0.0927196145, 0.839732468, -0.535025835) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  818. CFrame.new(.5, -1.85 - 0.5 * math.cos(sine / 8) / 2, 0 + 1.8 * math.sin(sine / 8) / 2) * angles(math.rad(-50 * math.sin(sine / 8)), math.rad(0), math.rad(0)),
  819. CFrame.new(-.5, -1.85 + 0.5 * math.cos(sine / 8) / 2, 0 - 1.8 * math.sin(sine / 8) / 2) * angles(math.rad(50 * math.sin(sine / 8)), math.rad(0), math.rad(0)),
  820. }, .3, false)
  821. FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-30), math.rad(0)), 0.3)
  822. end
  823. end
  824. end
  825. if 0 < #Effects then
  826. for e = 1, #Effects do
  827. if Effects[e] ~= nil then
  828. local Thing = Effects[e]
  829. if Thing ~= nil then
  830. local Part = Thing[1]
  831. local Mode = Thing[2]
  832. local Delay = Thing[3]
  833. local IncX = Thing[4]
  834. local IncY = Thing[5]
  835. local IncZ = Thing[6]
  836. if Thing[2] == "Shoot" then
  837. local Look = Thing[1]
  838. local hit, pos = rayCast(Thing[4], Look, 15, Character)
  839. local mag = (Thing[4] - pos).magnitude
  840. Thing[9] = Thing[9] + 0.5
  841. Thing[5] = Thing[5] + 0.2
  842. Thing[6] = Thing[6] + 0.2
  843. Effects["Cylinder"].Create(BrickColor.new("New Yeller"), CFrame.new((Thing[4] + pos) / 2, pos) * angles(1.57, 0, 0), Thing[9], mag * 5, Thing[9], -0.2, 0, -0.2, 0.1)
  844. Thing[4] = Thing[4] + Look * 15
  845. Thing[3] = Thing[3] - 1
  846. if hit ~= nil then
  847. Thing[3] = 0
  848. ref = CFuncs["Part"].Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
  849. ref.Anchored = true
  850. ref.CFrame = CFrame.new(pos)
  851. Effects["Sphere"].Create(BrickColor.new("New Yeller"), CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
  852. CFuncs["Sound"].Create("rbxassetid://315748949", ref, 1, 1.1)
  853. game:GetService("Debris"):AddItem(ref, 1)
  854. end
  855. if Thing[3] <= 0 then
  856. table.remove(Effects, e)
  857. end
  858. end
  859. do
  860. if Thing[2] == "Shoot2" then
  861. local Look = Thing[1]
  862. local hit, pos = rayCast(Thing[4], Look, 3, Character)
  863. local mag = (Thing[4] - pos).magnitude
  864. Thing[9] = Thing[9] + 0.5
  865. Thing[5] = Thing[5] + 0.2
  866. Thing[6] = Thing[6] + 0.2
  867. Effects["Sphere"].Create(BrickColor.new("New Yeller"), CFrame.new((Thing[4] + pos) / 2, pos), 25, 25, 25, -5, -5, -5, 0.2)
  868. Thing[4] = Thing[4] + Look * 3
  869. Thing[3] = Thing[3] + 5
  870. if hit ~= nil then
  871. Thing[3] = 0
  872. ref = CFuncs["Part"].Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
  873. ref.Anchored = true
  874. ref.CFrame = CFrame.new(pos)
  875. Effects["Sphere"].Create(BrickColor.new("New Yeller"), CFrame.new(pos), 25, 25, 25, 5, 5, 5, 0.01)
  876. Effects["Sphere"].Create(BrickColor.new("New Yeller"), CFrame.new(pos), 10, 10, 10, 15, 15, 15, 0.01)
  877. Effects["Block"].Create(BrickColor.new("New Yeller"), CFrame.new(pos), 10, 10, 10, 15, 15, 15, 0.01, 1)
  878. Effects["Wave"].Create(BrickColor.new("New Yeller"), CFrame.new(pos), 2, 2, 2, 3, 3, 3, 0.01)
  879. CFuncs["Sound"].Create("rbxassetid://203691837", ref, 1, .3)
  880. CFuncs["Sound"].Create("rbxassetid://203691885", ref, 1, .9)
  881. CFuncs["Sound"].Create("rbxassetid://184718741", ref, 1, .9)
  882. local e = Instance.new("Explosion", ref)
  883. e.Position = ref.Position
  884. e.BlastRadius = 400
  885. e.DestroyJointRadiusPercent = 20
  886. e.Visible = false
  887. e.ExplosionType = "CratersAndDebris"
  888. game:GetService("Debris"):AddItem(ref, 10)
  889. end
  890. if Thing[3] <= 0 then
  891. table.remove(Effects, e)
  892. end
  893. end
  894. do
  895. do
  896. if Thing[2] ~= "Shoot" and Thing[2] ~= "DecreaseStat" and Thing[2] ~= "showDamage" and Thing[2] ~= "Shoot2" then
  897. if Thing[1].Transparency <= 1 then
  898. if Thing[2] == "Block1" then
  899. Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  900. Mesh = Thing[7]
  901. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  902. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  903. else
  904. if Thing[2] == "Block2" then
  905. Thing[1].CFrame = Thing[1].CFrame
  906. Mesh = Thing[7]
  907. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  908. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  909. else
  910. if Thing[2] == "Block3" then
  911. Thing[8].C0 = CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * Thing[9]
  912. Mesh = Thing[7]
  913. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  914. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  915. else
  916. if Thing[2] == "Cylinder" then
  917. Mesh = Thing[7]
  918. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  919. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  920. else
  921. if Thing[2] == "Cylinder2" then
  922. Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, Thing[8], 0)
  923. Mesh = Thing[7]
  924. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  925. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  926. else
  927. if Thing[2] == "Blood" then
  928. Mesh = Thing[7]
  929. Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
  930. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  931. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  932. else
  933. if Thing[2] == "Elec" then
  934. Mesh = Thing[10]
  935. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
  936. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  937. else
  938. if Thing[2] == "Disappear" then
  939. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  940. end
  941. end
  942. end
  943. end
  944. end
  945. end
  946. end
  947. end
  948. else
  949. Part.Parent = nil
  950. table.remove(Effects, e)
  951. end
  952. end
  953. end
  954. end
  955. end
  956. end
  957. end
  958. end
  959. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement