Advertisement
DarkScriptZEditors

Banisher Gun V3

Dec 17th, 2018
2,629
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.18 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5. print("FE Compatibility code by Mokiros")
  6. local rp = RealPlayer
  7. script.Parent = rp.Character
  8.  
  9. --RemoteEvent for communicating
  10. local Event = Instance.new("RemoteEvent")
  11. Event.Name = "UserInput_Event"
  12.  
  13. --Fake event to make stuff like Mouse.KeyDown work
  14. local function fakeEvent()
  15. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16. t.connect = t.Connect
  17. return t
  18. end
  19.  
  20. --Creating fake input objects with fake variables
  21. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  22. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25. end}
  26. --Merged 2 functions into one by checking amount of arguments
  27. CAS.UnbindAction = CAS.BindAction
  28.  
  29. --This function will trigger the events that have been :Connect()'ed
  30. local function te(self,ev,...)
  31. local t = m[ev]
  32. if t and t._fakeEvent then
  33. for _,f in pairs(t.Functions) do
  34. f(...)
  35. end
  36. end
  37. end
  38. m.TrigEvent = te
  39. UIS.TrigEvent = te
  40.  
  41. Event.OnServerEvent:Connect(function(plr,io)
  42. if plr~=rp then return end
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. if not io.isMouse then
  46. local b = io.UserInputState == Enum.UserInputState.Begin
  47. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49. end
  50. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  51. return m:TrigEvent(b and "Button2Down" or "Button2Up")
  52. end
  53. for _,t in pairs(CAS.Actions) do
  54. for _,k in pairs(t.Keys) do
  55. if k==io.KeyCode then
  56. t.Function(t.Name,io.UserInputState,io)
  57. end
  58. end
  59. end
  60. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  61. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  62. end
  63. end)
  64. Event.Parent = NLS([==[
  65. local Player = game:GetService("Players").LocalPlayer
  66. local Event = script:WaitForChild("UserInput_Event")
  67. local Mouse = Player:GetMouse()
  68. local UIS = game:GetService("UserInputService")
  69. local input = function(io,a)
  70. if a then return end
  71. --Since InputObject is a client-side instance, we create and pass table instead
  72. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  73. end
  74. UIS.InputBegan:Connect(input)
  75. UIS.InputEnded:Connect(input)
  76. local h,t
  77. --Give the server mouse data 30 times every second, but only if the values changed
  78. --If player is not moving their mouse, client won't fire events
  79. while wait(1/30) do
  80. if h~=Mouse.Hit or t~=Mouse.Target then
  81. h,t=Mouse.Hit,Mouse.Target
  82. Event:FireServer({isMouse=true,Target=t,Hit=h})
  83. end
  84. end]==],Player.Character)
  85.  
  86. ----Sandboxed game object that allows the usage of client-side methods and services
  87. --Real game object
  88. local _rg = game
  89.  
  90. --Metatable for fake service
  91. local fsmt = {
  92. __index = function(self,k)
  93. local s = rawget(self,"_RealService")
  94. if s then
  95. return typeof(s[k])=="function"
  96. and function(_,...)return s[k](s,...)end or s[k]
  97. end
  98. end,
  99. __newindex = function(self,k,v)
  100. local s = rawget(self,"_RealService")
  101. if s then s[k]=v end
  102. end
  103. }
  104. local function FakeService(t,RealService)
  105. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106. return setmetatable(t,fsmt)
  107. end
  108.  
  109. --Fake game object
  110. local g = {
  111. GetService = function(self,s)
  112. return rawget(self,s) or _rg:GetService(s)
  113. end,
  114. Players = FakeService({
  115. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116. },"Players"),
  117. UserInputService = FakeService(UIS,"UserInputService"),
  118. ContextActionService = FakeService(CAS,"ContextActionService"),
  119. RunService = FakeService({
  120. _btrs = {},
  121. RenderStepped = _rg:GetService("RunService").Heartbeat,
  122. BindToRenderStep = function(self,name,_,fun)
  123. self._btrs[name] = self.Heartbeat:Connect(fun)
  124. end,
  125. UnbindFromRenderStep = function(self,name)
  126. self._btrs[name]:Disconnect()
  127. end,
  128. },"RunService")
  129. }
  130. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  131. g.service = g.GetService
  132. FakeService(g,game)
  133. --Changing owner to fake player object to support owner:GetMouse()
  134. game,owner = g,g.Players.LocalPlayer
  135. end
  136. script.Name = "Banisher Gun V3 / 1"
  137. --//====================================================\\--
  138. --|| CREATED BY SHACKLUSTER
  139. --\\====================================================//--
  140.  
  141. script:ClearAllChildren()
  142. wait(0.2)
  143.  
  144. Player = game:GetService("Players").LocalPlayer
  145. PlayerGui = Player.PlayerGui
  146. Cam = workspace.CurrentCamera
  147. Backpack = Player.Backpack
  148. Character = Player.Character
  149. Humanoid = Character.Humanoid
  150. Mouse = Player:GetMouse()
  151. RootPart = Character["HumanoidRootPart"]
  152. Torso = Character["Torso"]
  153. Head = Character["Head"]
  154. RightArm = Character["Right Arm"]
  155. LeftArm = Character["Left Arm"]
  156. RightLeg = Character["Right Leg"]
  157. LeftLeg = Character["Left Leg"]
  158. RootJoint = RootPart["RootJoint"]
  159. Neck = Torso["Neck"]
  160. RightShoulder = Torso["Right Shoulder"]
  161. LeftShoulder = Torso["Left Shoulder"]
  162. RightHip = Torso["Right Hip"]
  163. LeftHip = Torso["Left Hip"]
  164. local TIME = 5
  165. local sick = Instance.new("Sound",Torso)
  166. sick.Parent = Torso
  167. sick.Playing = true
  168. sick.Looped = true
  169. sick.Volume = 2
  170. sick.Pitch = 0.9
  171. sick.TimePosition = 0
  172. sick.SoundId = "rbxassetid://1383666704"
  173.  
  174. IT = Instance.new
  175. CF = CFrame.new
  176. VT = Vector3.new
  177. RAD = math.rad
  178. C3 = Color3.new
  179. UD2 = UDim2.new
  180. BRICKC = BrickColor.new
  181. ANGLES = CFrame.Angles
  182. EULER = CFrame.fromEulerAnglesXYZ
  183. COS = math.cos
  184. ACOS = math.acos
  185. SIN = math.sin
  186. ASIN = math.asin
  187. ABS = math.abs
  188. MRANDOM = math.random
  189. FLOOR = math.floor
  190.  
  191. --//=================================\\
  192. --|| USEFUL VALUES
  193. --\\=================================//
  194.  
  195. Animation_Speed = 3
  196. local FORCERESET = false
  197. Frame_Speed = 1 / 80 -- (1 / 60) OR (1 / 80)
  198. local Speed = 12
  199. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  200. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  201. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  202. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  203. local DAMAGEMULTIPLIER = 1
  204. local ANIM = "Idle"
  205. local ATTACK = false
  206. local EQUIPPED = false
  207. local HOLD = false
  208. local COMBO = 1
  209. local Rooted = false
  210. local SINE = 0
  211. local SIZE = 1
  212. local KEYHOLD = false
  213. local CHANGE = 2 / Animation_Speed
  214. local WALKINGANIM = false
  215. local VALUE1 = false
  216. local VALUE2 = false
  217. local ROBLOXIDLEANIMATION = IT("Animation")
  218. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  219. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  220. --ROBLOXIDLEANIMATION.Parent = Humanoid
  221. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  222. WEAPONGUI.Name = "BanishV3Gui"
  223. local Weapon = IT("Model")
  224. Player_Size = 1 --Size of the player.
  225. Weapon.Name = "Adds"
  226. local Effects = IT("Folder", Weapon)
  227. Effects.Name = "Effects"
  228. local ANIMATOR = Humanoid.Animator
  229. local ANIMATE = Character:FindFirstChild("Animate")
  230. local UNANCHOR = true
  231. local TOBANISH = {}
  232. script.Parent = PlayerGui
  233.  
  234. --//=================================\\
  235. --\\=================================//
  236.  
  237.  
  238. --//=================================\\
  239. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  240. --\\=================================//
  241.  
  242. ArtificialHB = Instance.new("BindableEvent", script)
  243. ArtificialHB.Name = "ArtificialHB"
  244.  
  245. script:WaitForChild("ArtificialHB")
  246.  
  247. frame = Frame_Speed
  248. tf = 0
  249. allowframeloss = false
  250. tossremainder = false
  251. lastframe = tick()
  252. script.ArtificialHB: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.ArtificialHB:Fire()
  259. lastframe = tick()
  260. else
  261. for i = 1, math.floor(tf / frame) do
  262. script.ArtificialHB: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. --//=================================\\
  275. --\\=================================//
  276.  
  277. --//=================================\\
  278. --|| SOME FUNCTIONS
  279. --\\=================================//
  280.  
  281. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  282. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  283. end
  284.  
  285. function PositiveAngle(NUMBER)
  286. if NUMBER >= 0 then
  287. NUMBER = 0
  288. end
  289. return NUMBER
  290. end
  291.  
  292. function NegativeAngle(NUMBER)
  293. if NUMBER <= 0 then
  294. NUMBER = 0
  295. end
  296. return NUMBER
  297. end
  298.  
  299. function Swait(NUMBER)
  300. if NUMBER == 0 or NUMBER == nil then
  301. ArtificialHB.Event:wait()
  302. else
  303. for i = 1, NUMBER do
  304. ArtificialHB.Event:wait()
  305. end
  306. end
  307. end
  308.  
  309. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  310. local NEWMESH = IT(MESH)
  311. if MESH == "SpecialMesh" then
  312. NEWMESH.MeshType = MESHTYPE
  313. if MESHID ~= "nil" and MESHID ~= "" then
  314. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  315. end
  316. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  317. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  318. end
  319. end
  320. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  321. NEWMESH.Scale = SCALE
  322. NEWMESH.Parent = PARENT
  323. return NEWMESH
  324. end
  325.  
  326. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  327. local NEWPART = IT("Part")
  328. NEWPART.formFactor = FORMFACTOR
  329. NEWPART.Reflectance = REFLECTANCE
  330. NEWPART.Transparency = TRANSPARENCY
  331. NEWPART.CanCollide = false
  332. NEWPART.Locked = true
  333. NEWPART.Anchored = true
  334. if ANCHOR == false then
  335. NEWPART.Anchored = false
  336. end
  337. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  338. NEWPART.Name = NAME
  339. NEWPART.Size = SIZE
  340. NEWPART.Position = Torso.Position
  341. NEWPART.Material = MATERIAL
  342. NEWPART:BreakJoints()
  343. NEWPART.Parent = PARENT
  344. return NEWPART
  345. end
  346.  
  347. local function weldBetween(a, b)
  348. local weldd = Instance.new("ManualWeld")
  349. weldd.Part0 = a
  350. weldd.Part1 = b
  351. weldd.C0 = CFrame.new()
  352. weldd.C1 = b.CFrame:inverse() * a.CFrame
  353. weldd.Parent = a
  354. return weldd
  355. end
  356.  
  357.  
  358. function QuaternionFromCFrame(cf)
  359. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  360. local trace = m00 + m11 + m22
  361. if trace > 0 then
  362. local s = math.sqrt(1 + trace)
  363. local recip = 0.5 / s
  364. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  365. else
  366. local i = 0
  367. if m11 > m00 then
  368. i = 1
  369. end
  370. if m22 > (i == 0 and m00 or m11) then
  371. i = 2
  372. end
  373. if i == 0 then
  374. local s = math.sqrt(m00 - m11 - m22 + 1)
  375. local recip = 0.5 / s
  376. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  377. elseif i == 1 then
  378. local s = math.sqrt(m11 - m22 - m00 + 1)
  379. local recip = 0.5 / s
  380. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  381. elseif i == 2 then
  382. local s = math.sqrt(m22 - m00 - m11 + 1)
  383. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  384. end
  385. end
  386. end
  387.  
  388. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  389. local xs, ys, zs = x + x, y + y, z + z
  390. local wx, wy, wz = w * xs, w * ys, w * zs
  391. local xx = x * xs
  392. local xy = x * ys
  393. local xz = x * zs
  394. local yy = y * ys
  395. local yz = y * zs
  396. local zz = z * zs
  397. return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
  398. end
  399.  
  400. function QuaternionSlerp(a, b, t)
  401. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  402. local startInterp, finishInterp;
  403. if cosTheta >= 0.0001 then
  404. if (1 - cosTheta) > 0.0001 then
  405. local theta = ACOS(cosTheta)
  406. local invSinTheta = 1 / SIN(theta)
  407. startInterp = SIN((1 - t) * theta) * invSinTheta
  408. finishInterp = SIN(t * theta) * invSinTheta
  409. else
  410. startInterp = 1 - t
  411. finishInterp = t
  412. end
  413. else
  414. if (1 + cosTheta) > 0.0001 then
  415. local theta = ACOS(-cosTheta)
  416. local invSinTheta = 1 / SIN(theta)
  417. startInterp = SIN((t - 1) * theta) * invSinTheta
  418. finishInterp = SIN(t * theta) * invSinTheta
  419. else
  420. startInterp = t - 1
  421. finishInterp = t
  422. end
  423. end
  424. return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
  425. end
  426.  
  427. function Clerp(a, b, t)
  428. local qa = {QuaternionFromCFrame(a)}
  429. local qb = {QuaternionFromCFrame(b)}
  430. local ax, ay, az = a.x, a.y, a.z
  431. local bx, by, bz = b.x, b.y, b.z
  432. local _t = 1 - t
  433. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  434. end
  435.  
  436. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  437. local frame = IT("Frame")
  438. frame.BackgroundTransparency = TRANSPARENCY
  439. frame.BorderSizePixel = BORDERSIZEPIXEL
  440. frame.Position = POSITION
  441. frame.Size = SIZE
  442. frame.BackgroundColor3 = COLOR
  443. frame.BorderColor3 = BORDERCOLOR
  444. frame.Name = NAME
  445. frame.Parent = PARENT
  446. return frame
  447. end
  448.  
  449. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  450. local label = IT("TextLabel")
  451. label.BackgroundTransparency = 1
  452. label.Size = UD2(1, 0, 1, 0)
  453. label.Position = UD2(0, 0, 0, 0)
  454. label.TextColor3 = TEXTCOLOR
  455. label.TextStrokeTransparency = STROKETRANSPARENCY
  456. label.TextTransparency = TRANSPARENCY
  457. label.FontSize = TEXTFONTSIZE
  458. label.Font = TEXTFONT
  459. label.BorderSizePixel = BORDERSIZEPIXEL
  460. label.TextScaled = false
  461. label.Text = TEXT
  462. label.Name = NAME
  463. label.Parent = PARENT
  464. return label
  465. end
  466.  
  467. function NoOutlines(PART)
  468. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  469. end
  470.  
  471. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  472. local NEWWELD = IT(TYPE)
  473. NEWWELD.Part0 = PART0
  474. NEWWELD.Part1 = PART1
  475. NEWWELD.C0 = C0
  476. NEWWELD.C1 = C1
  477. NEWWELD.Parent = PARENT
  478. return NEWWELD
  479. end
  480.  
  481. local S = IT("Sound")
  482. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  483. local NEWSOUND = nil
  484. coroutine.resume(coroutine.create(function()
  485. NEWSOUND = S:Clone()
  486. NEWSOUND.Parent = PARENT
  487. NEWSOUND.Volume = VOLUME
  488. NEWSOUND.Pitch = PITCH
  489. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  490. NEWSOUND:play()
  491. if DOESLOOP == true then
  492. NEWSOUND.Looped = true
  493. else
  494. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  495. NEWSOUND:remove()
  496. end
  497. end))
  498. return NEWSOUND
  499. end
  500.  
  501. function CFrameFromTopBack(at, top, back)
  502. local right = top:Cross(back)
  503. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  504. end
  505.  
  506. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  507. function WACKYEFFECT(Table)
  508. local TYPE = (Table.EffectType or "Sphere")
  509. local SIZE = (Table.Size or VT(1,1,1))
  510. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  511. local TRANSPARENCY = (Table.Transparency or 0)
  512. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  513. local CFRAME = (Table.CFrame or Torso.CFrame)
  514. local MOVEDIRECTION = (Table.MoveToPos or nil)
  515. local ROTATION1 = (Table.RotationX or 0)
  516. local ROTATION2 = (Table.RotationY or 0)
  517. local ROTATION3 = (Table.RotationZ or 0)
  518. local MATERIAL = (Table.Material or "Neon")
  519. local COLOR = (Table.Color or C3(1,1,1))
  520. local TIME = (Table.Time or 45)
  521. local SOUNDID = (Table.SoundID or nil)
  522. local SOUNDPITCH = (Table.SoundPitch or nil)
  523. local SOUNDVOLUME = (Table.SoundVolume or nil)
  524. coroutine.resume(coroutine.create(function()
  525. local PLAYSSOUND = false
  526. local SOUND = nil
  527. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  528. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  529. PLAYSSOUND = true
  530. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  531. end
  532. EFFECT.Color = COLOR
  533. local MSH = nil
  534. if TYPE == "Sphere" then
  535. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  536. elseif TYPE == "Block" then
  537. MSH = IT("BlockMesh",EFFECT)
  538. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  539. elseif TYPE == "Wave" then
  540. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  541. elseif TYPE == "Ring" then
  542. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  543. elseif TYPE == "Slash" then
  544. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  545. elseif TYPE == "Round Slash" then
  546. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  547. elseif TYPE == "Swirl" then
  548. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  549. elseif TYPE == "Skull" then
  550. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  551. elseif TYPE == "Crystal" then
  552. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  553. end
  554. if MSH ~= nil then
  555. local MOVESPEED = nil
  556. if MOVEDIRECTION ~= nil then
  557. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  558. end
  559. local GROWTH = SIZE - ENDSIZE
  560. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  561. if TYPE == "Block" then
  562. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  563. else
  564. EFFECT.CFrame = CFRAME
  565. end
  566. for LOOP = 1, TIME+1 do
  567. Swait()
  568. MSH.Scale = MSH.Scale - GROWTH/TIME
  569. if TYPE == "Wave" then
  570. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  571. end
  572. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  573. if TYPE == "Block" then
  574. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  575. else
  576. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  577. end
  578. if MOVEDIRECTION ~= nil then
  579. local ORI = EFFECT.Orientation
  580. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  581. EFFECT.Orientation = ORI
  582. end
  583. end
  584. if PLAYSSOUND == false then
  585. EFFECT:remove()
  586. else
  587. SOUND.Stopped:Connect(function()
  588. EFFECT:remove()
  589. end)
  590. end
  591. else
  592. if PLAYSSOUND == false then
  593. EFFECT:remove()
  594. else
  595. repeat Swait() until SOUND.Playing == false
  596. EFFECT:remove()
  597. end
  598. end
  599. end))
  600. end
  601.  
  602. function MakeForm(PART,TYPE)
  603. if TYPE == "Cyl" then
  604. local MSH = IT("CylinderMesh",PART)
  605. elseif TYPE == "Ball" then
  606. local MSH = IT("SpecialMesh",PART)
  607. MSH.MeshType = "Sphere"
  608. elseif TYPE == "Wedge" then
  609. local MSH = IT("SpecialMesh",PART)
  610. MSH.MeshType = "Wedge"
  611. end
  612. end
  613.  
  614. function SpawnTrail(FROM,TO,BIG)
  615. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  616. MakeForm(TRAIL,"Cyl")
  617. local DIST = (FROM - TO).Magnitude
  618. if BIG == true then
  619. TRAIL.Size = VT(0.8,DIST,0.8)
  620. else
  621. TRAIL.Size = VT(0.35,DIST,0.35)
  622. end
  623. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  624. coroutine.resume(coroutine.create(function()
  625. for i = 1, 5 do
  626. Swait()
  627. TRAIL.Transparency = TRAIL.Transparency + 0.1
  628. end
  629. TRAIL:remove()
  630. end))
  631. end
  632.  
  633. Debris = game:GetService("Debris")
  634.  
  635. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  636. local DIRECTION = CF(StartPos,EndPos).lookVector
  637. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  638. end
  639.  
  640. function turnto(position)
  641. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  642. end
  643.  
  644.  
  645. --//=================================\\
  646. --|| WEAPON CREATION
  647. --\\=================================//
  648.  
  649.  
  650. local Particle = IT("ParticleEmitter",nil)
  651. Particle.Enabled = false
  652. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  653. Particle.LightEmission = 0.5
  654. Particle.Rate = 150
  655. Particle.ZOffset = 0.2
  656. Particle.Rotation = NumberRange.new(-180, 180)
  657. Particle.RotSpeed = NumberRange.new(-180, 180)
  658. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  659. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  660.  
  661. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  662. function ParticleEmitter(Table)
  663. local PRTCL = Particle:Clone()
  664. local Speed = Table.Speed or 5
  665. local Drag = Table.Drag or 0
  666. local Size1 = Table.Size1 or 1
  667. local Size2 = Table.Size2 or 5
  668. local Lifetime1 = Table.Lifetime1 or 1
  669. local Lifetime2 = Table.Lifetime2 or 1.5
  670. local Parent = Table.Parent or Torso
  671. local Emit = Table.Emit or 100
  672. local Offset = Table.Offset or 360
  673. local Acel = Table.Acel or VT(0,0,0)
  674. local Enabled = Table.Enabled or false
  675. PRTCL.Parent = Parent
  676. PRTCL.Size = NumberSequence.new(Size1,Size2)
  677. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  678. PRTCL.Speed = NumberRange.new(Speed)
  679. PRTCL.VelocitySpread = Offset
  680. PRTCL.Drag = Drag
  681. PRTCL.Acceleration = Acel
  682. if Enabled == false then
  683. PRTCL:Emit(Emit)
  684. Debris:AddItem(PRTCL,Lifetime2)
  685. else
  686. PRTCL.Enabled = true
  687. end
  688. return PRTCL
  689. end
  690.  
  691. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
  692. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  693. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  694. MakeForm(Part,"Wedge")
  695. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  696. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
  697. MakeForm(Part,"Wedge")
  698. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  699. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
  700. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  701. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
  702. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  703. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
  704. MakeForm(Part,"Cyl")
  705. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  706. for i = 1, 8 do
  707. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
  708. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  709. end
  710. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
  711. MakeForm(Part,"Cyl")
  712. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  713. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
  714. MakeForm(Part,"Ball")
  715. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  716. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
  717. MakeForm(Part,"Wedge")
  718. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  719. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
  720. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  721. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
  722. MakeForm(Part,"Cyl")
  723. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  724. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
  725. MakeForm(Part,"Cyl")
  726. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  727. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
  728. MakeForm(Part,"Cyl")
  729. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  730. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  731. MakeForm(Part,"Wedge")
  732. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  733. local LASTPART = Handle
  734. for i = 1, 10 do
  735. if LASTPART == Handle then
  736. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  737. LASTPART = Part
  738. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  739. else
  740. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  741. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  742. LASTPART = Part
  743. end
  744. end
  745.  
  746. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
  747. MakeForm(Barrel,"Cyl")
  748. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  749. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
  750. MakeForm(Part,"Cyl")
  751. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  752. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  753. MakeForm(Part,"Wedge")
  754. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  755. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  756. MakeForm(Hole,"Cyl")
  757. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  758. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  759. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  760. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  761. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  762. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  763. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  764. coroutine.resume(coroutine.create(function()
  765. while wait() do
  766. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(0 - 25 * SIN(SINE / 25)))
  767. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(0 - -25 * SIN(SINE / 25)))
  768. end
  769. end))
  770.  
  771. local Hole2 = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  772. MakeForm(Hole2,"Cyl")
  773. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole2, CF(0.8, 0.98, 0), CF(0, 0, 0))
  774.  
  775. local Hole3 = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  776. MakeForm(Hole3,"Cyl")
  777. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole3, CF(-0.8, 0.98, 0), CF(0, 0, 0))
  778.  
  779. ParticleEmitter({Speed = 0.02, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  780. ParticleEmitter({Speed = 50, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  781. ParticleEmitter({Speed = 10, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  782. --ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  783.  
  784. for _, c in pairs(Weapon:GetDescendants()) do
  785. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  786. c.Material = "Glass"
  787. c.Color = C3(3,0,0)
  788. elseif c.ClassName == "Part" and c.Name == "Eye" then
  789. c.Color = C3(1,0,0)
  790. c.Material = "Neon"
  791. end
  792. end
  793.  
  794. Weapon.Parent = Character
  795. for _, c in pairs(Weapon:GetChildren()) do
  796. if c.ClassName == "Part" then
  797. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  798. end
  799. end
  800.  
  801. local SKILLTEXTCOLOR = C3(1,0,0)
  802. local SKILLFONT = "Antique"
  803. local SKILLTEXTSIZE = 7
  804.  
  805. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  806. --[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  807. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  808. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  809. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  810. ]]
  811. local SKILL1TEXT = CreateLabel(SKILL1FRAME, ":/ Edit By NameClan", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  812. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  813. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  814. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  815. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  816. ]]
  817. function printbye(Name)
  818. local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
  819. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  820. end
  821.  
  822. workspace.ChildAdded:connect(function(instance)
  823. for BANISH = 1, #TOBANISH do
  824. if TOBANISH[BANISH] ~= nil then
  825. if instance.Name == TOBANISH[BANISH] then
  826. coroutine.resume(coroutine.create(function()
  827. printbye(instance.Name)
  828. instance:ClearAllChildren()
  829. Debris:AddItem(instance,0.0005)
  830. end))
  831. end
  832. end
  833. end
  834. end)
  835.  
  836. --//=================================\\
  837. --|| DAMAGING
  838. --\\=================================//
  839.  
  840. function Banish(Foe)
  841. if Foe then
  842. coroutine.resume(coroutine.create(function()
  843. --if game.Players:FindFirstChild(Foe.Name) then
  844. table.insert(TOBANISH,Foe.Name)
  845. printbye(Foe.Name)
  846. --end
  847. Foe.Archivable = true
  848. local CLONE = Foe:Clone()
  849. Foe:Destroy()
  850. CLONE.Parent = Effects
  851. CLONE:BreakJoints()
  852. local MATERIALS = {"Glass","Neon"}
  853. for _, c in pairs(CLONE:GetDescendants()) do
  854. if c:IsA("BasePart") then
  855. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  856. CreateSound(340722848, c, 10, 1, false)
  857. end
  858. c.Anchored = true
  859. c.Transparency = c.Transparency + 0.2
  860. c.Material = MATERIALS[MRANDOM(1,2)]
  861. c.Color = C3(1,0,0)
  862. if c.ClassName == "MeshPart" then
  863. c.TextureID = ""
  864. end
  865. if c:FindFirstChildOfClass("SpecialMesh") then
  866. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  867. end
  868. if c:FindFirstChildOfClass("Decal") then
  869. c:FindFirstChildOfClass("Decal"):remove()
  870. end
  871. c.Name = "Banished"
  872. c.CanCollide = false
  873. else
  874. c:remove()
  875. end
  876. end
  877. local A = false
  878. for i = 1, 35 do
  879. if A == false then
  880. A = true
  881. elseif A == true then
  882. A = false
  883. end
  884. for _, c in pairs(CLONE:GetDescendants()) do
  885. if c:IsA("BasePart") then
  886. c.Anchored = true
  887. c.Material = MATERIALS[MRANDOM(1,2)]
  888. c.Transparency = c.Transparency + 0.8/35
  889. if A == false then
  890. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  891. elseif A == true then
  892. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  893. end
  894. end
  895. end
  896. Swait()
  897. end
  898. CLONE:remove()
  899. end))
  900. end
  901. end
  902.  
  903. function ApplyAoE(POSITION,RANGE,ISBANISH)
  904. local CHILDREN = workspace:GetDescendants()
  905. for index, CHILD in pairs(CHILDREN) do
  906. if CHILD.ClassName == "Model" and CHILD ~= Character then
  907. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  908. if HUM then
  909. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  910. if TORSO then
  911. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  912. if ISBANISH == true then
  913. Banish(CHILD)
  914. else
  915. if ISBANISH == "Gravity" then
  916. HUM.PlatformStand = true
  917. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  918. local grav = Instance.new("BodyPosition",TORSO)
  919. grav.D = 15
  920. grav.P = 20000
  921. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  922. grav.position = TORSO.Position
  923. grav.Name = "V3BanishForce"..Player.Name
  924. else
  925. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  926. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  927. end
  928. else
  929. HUM.PlatformStand = false
  930. end
  931. end
  932. elseif ISBANISH == "Gravity" then
  933. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  934. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  935. HUM.PlatformStand = false
  936. end
  937. end
  938. end
  939. end
  940. end
  941. end
  942. end
  943.  
  944. function ApplyDamage(Humanoid,Damage,TorsoPart)
  945. local defence = Instance.new("BoolValue",Humanoid.Parent)
  946. defence.Name = ("HitBy"..Player.Name)
  947. game:GetService("Debris"):AddItem(defence, 0.001)
  948. Damage = Damage * DAMAGEMULTIPLIER
  949. if Humanoid.Health ~= 0 then
  950. local CritChance = MRANDOM(1,100)
  951. if Damage > Humanoid.Health then
  952. Damage = math.ceil(Humanoid.Health)
  953. if Damage == 0 then
  954. Damage = 0.1
  955. end
  956. end
  957. Humanoid.Health = Humanoid.Health - Damage
  958. end
  959. end
  960.  
  961. function ApplyAoE3(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  962. local CHILDREN = workspace:GetDescendants()
  963. for index, CHILD in pairs(CHILDREN) do
  964. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  965. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  966. if HUM then
  967. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  968. if TORSO then
  969. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  970. if INSTAKILL == true then
  971. CHILD:BreakJoints()
  972. else
  973. local DMG = MRANDOM(MINDMG,MAXDMG)
  974. ApplyDamage(HUM,DMG,TORSO)
  975. end
  976. if FLING > 0 then
  977. for _, c in pairs(CHILD:GetChildren()) do
  978. if c:IsA("BasePart") then
  979. local bv = Instance.new("BodyVelocity")
  980. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  981. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  982. bv.Parent = c
  983. Debris:AddItem(bv,0.05)
  984. end
  985. end
  986. end
  987. end
  988. end
  989. end
  990. end
  991. end
  992. end
  993.  
  994. --//=================================\\
  995. --|| ATTACK FUNCTIONS AND STUFF
  996. --\\=================================//
  997.  
  998. function Shot()
  999. ATTACK = true
  1000. Rooted = false
  1001. for i=0, 1, 0.1 / Animation_Speed do
  1002. Swait()
  1003. turnto(Mouse.Hit.p)
  1004. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1005. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
  1006. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1007. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1008. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1009. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1010. end
  1011. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 317129949, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 999999})
  1012. repeat
  1013. for i=0, 0.2, 0.1 / Animation_Speed do
  1014. Swait()
  1015. turnto(Mouse.Hit.p)
  1016. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1017. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1018. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1019. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1020. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1021. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.2, 0.5, -0.7) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1022. end
  1023. local HIT,POS = CastProperRay(Hole2.Position, Mouse.Hit.p, 1000, Character)
  1024. SpawnTrail(Hole2.Position,POS)
  1025. local HIT,POS = CastProperRay(Hole3.Position, Mouse.Hit.p, 1000, Character)
  1026. SpawnTrail(Hole3.Position,POS)
  1027. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  1028. SpawnTrail(Hole.Position,POS)
  1029. if HIT ~= nil then
  1030. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1031. Banish(HIT.Parent)
  1032. end
  1033. end
  1034.  
  1035. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole3.CFrame, MoveToPos = Hole3.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1036. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole3.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1037. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole3.CFrame, MoveToPos = Hole3.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1038. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole3.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 168143115, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1039. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole3.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1040. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole3.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1041.  
  1042. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = Hole2.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1043. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1044. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = Hole2.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1045. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 168143115, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1046. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1047. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1048.  
  1049. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1050. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1051. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1052. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 168143115, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1053. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1054. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1055. for i=0, 0.2, 0.1 / Animation_Speed do
  1056. Swait()
  1057. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(95), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1058. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.2, 0.5, 0.04) * ANGLES(RAD(95), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1059. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -1) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1060. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0.1, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1061. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1062. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1063. end
  1064. until KEYHOLD == false
  1065. ATTACK = false
  1066. Rooted = false
  1067. end
  1068.  
  1069. function Shot2()
  1070. ATTACK = true
  1071. Rooted = false
  1072. for i=0, 3, 0.1 / Animation_Speed do
  1073. Swait()
  1074. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1075. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(75), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1076. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(75), RAD(0), RAD(-45)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1077. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-25), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1078. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-25), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1079. end
  1080. WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(45,45,45), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1081. WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(180,180,180), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1082. WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(123,123,123), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1083. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,180,1), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1084. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,1,150), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1085. WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(150,150,150), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1086. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 100})
  1087. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 999999})
  1088. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,180,1), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1089. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,1,150), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1090. WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(150,150,150), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  1091. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 100})
  1092. ApplyAoE3(RootPart.Position,95,999,999,999,false)
  1093. for i=0, 0.5, 0.1 / Animation_Speed do
  1094. Swait()
  1095. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(30), RAD(0), RAD(0)), 1 / Animation_Speed)
  1096. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.2, 0.5, -0.5) * ANGLES(RAD(75), RAD(0), RAD(-70)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
  1097. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2, 0.5, -0.5) * ANGLES(RAD(75), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1098. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(30), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1099. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(30), RAD(-75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1100. end
  1101. ATTACK = false
  1102. Rooted = false
  1103. end
  1104.  
  1105. --//=================================\\
  1106. --|| ASSIGN THINGS TO KEYS
  1107. --\\=================================//
  1108.  
  1109. function MouseDown(Mouse)
  1110. if ATTACK == false then
  1111. end
  1112. end
  1113.  
  1114. function MouseUp(Mouse)
  1115. HOLD = false
  1116. end
  1117.  
  1118. function KeyDown(Key)
  1119. KEYHOLD = true
  1120. if Key == "z" and ATTACK == false then
  1121. Shot()
  1122. end
  1123.  
  1124. if Key == "b" and ATTACK == false then
  1125. AttackTemplate()
  1126. end
  1127.  
  1128. if Key == "c" and ATTACK == false then
  1129. Shot2()
  1130. end
  1131.  
  1132. if Key == "v" and ATTACK == false then
  1133. end
  1134.  
  1135. if Key == "x" and ATTACK == false then
  1136. end
  1137. end
  1138.  
  1139. function KeyUp(Key)
  1140. KEYHOLD = false
  1141. end
  1142.  
  1143. Mouse.Button1Down:connect(function(NEWKEY)
  1144. MouseDown(NEWKEY)
  1145. end)
  1146. Mouse.Button1Up:connect(function(NEWKEY)
  1147. MouseUp(NEWKEY)
  1148. end)
  1149. Mouse.KeyDown:connect(function(NEWKEY)
  1150. KeyDown(NEWKEY)
  1151. end)
  1152. Mouse.KeyUp:connect(function(NEWKEY)
  1153. KeyUp(NEWKEY)
  1154. end)
  1155.  
  1156. --//=================================\\
  1157. --\\=================================//
  1158.  
  1159.  
  1160. function unanchor()
  1161. if UNANCHOR == true then
  1162. g = Character:GetChildren()
  1163. for i = 1, #g do
  1164. if g[i].ClassName == "Part" then
  1165. g[i].Anchored = false
  1166. end
  1167. end
  1168. end
  1169. end
  1170.  
  1171.  
  1172. --//=================================\\
  1173. --|| WRAP THE WHOLE SCRIPT UP
  1174. --\\=================================//
  1175.  
  1176. Humanoid.Changed:connect(function(Jump)
  1177. if Jump == "Jump" and (Disable_Jump == true) then
  1178. Humanoid.Jump = false
  1179. end
  1180. end)
  1181.  
  1182. local CONNECT = nil
  1183.  
  1184. while true do
  1185. Swait()
  1186. ANIMATE.Parent = nil
  1187. if Character:FindFirstChildOfClass("Humanoid") == nil then
  1188. Humanoid = IT("Humanoid",Character)
  1189. end
  1190. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1191. v:Stop();
  1192. end
  1193. SINE = SINE + CHANGE
  1194. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1195. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1196. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1197. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1198. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1199. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1200. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1201. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1202. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1203. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1204. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1205. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1206. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1207. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1208. end
  1209. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1210. ANIM = "Jump"
  1211. if ATTACK == false then
  1212. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1213. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1214. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1215. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1216. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1217. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1218. end
  1219. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1220. ANIM = "Fall"
  1221. if ATTACK == false then
  1222. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1223. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1224. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1225. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1226. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1227. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1228. end
  1229. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1230. ANIM = "Idle"
  1231. if ATTACK == false then
  1232. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0 + 0.75 * SIN(SINE / 12) - 1.75 * COS(SINE / 12)), RAD(2.75 * SIN(SINE / 12))), 0.2 / Animation_Speed*3)
  1233. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0 + 0.75 * SIN(SINE / 8) - 1.75 * COS(SINE / 8)), RAD(2.75 * SIN(SINE / 8))), 0.2 / Animation_Speed)
  1234. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 + 0.05 * SIN(SINE / (SINE/1)), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1235. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1236. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1237. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.2, 0.2 - 0.1 * COS(SINE / 24), -0.4 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1238. end
  1239. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1240. ANIM = "Walk"
  1241. if ATTACK == false then
  1242. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
  1243. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, -0.025, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
  1244. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80 * SIN(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(5), RAD(0 - 40 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1245. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-80 * SIN(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(5), RAD(0 - 40 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1246. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(-5), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1247. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-5), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1248. end
  1249. end
  1250. unanchor()
  1251. Humanoid.MaxHealth = "inf"
  1252. Humanoid.Health = "inf"
  1253. if Rooted == false then
  1254. Disable_Jump = false
  1255. Humanoid.WalkSpeed = Speed
  1256. elseif Rooted == true then
  1257. Disable_Jump = true
  1258. Humanoid.WalkSpeed = 0
  1259. end
  1260. end
  1261.  
  1262. --//=================================\\
  1263. --\\=================================//
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269. --//====================================================\\--
  1270. --|| END OF SCRIPT
  1271. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement