AxeuerAlt

Untitled

Apr 24th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 84.34 KB | None | 0 0
  1.  
  2. script.Name = "Banisher Gun V3 / 1"
  3. --//====================================================\\--
  4. --|| CREATED BY SHACKLUSTER
  5. --\\====================================================//--
  6.  
  7. script:ClearAllChildren()
  8. wait(0.2)
  9.  
  10. Player = game:GetService("Players").LocalPlayer
  11. PlayerGui = Player.PlayerGui
  12. Cam = workspace.CurrentCamera
  13. Backpack = Player.Backpack
  14. Character = Player.Character
  15. Humanoid = Character.Humanoid
  16. Mouse = Player:GetMouse()
  17. RootPart = Character["HumanoidRootPart"]
  18. Torso = Character["Torso"]
  19. Head = Character["Head"]
  20. RightArm = Character["Right Arm"]
  21. LeftArm = Character["Left Arm"]
  22. RightLeg = Character["Right Leg"]
  23. LeftLeg = Character["Left Leg"]
  24. RootJoint = RootPart["RootJoint"]
  25. Neck = Torso["Neck"]
  26. RightShoulder = Torso["Right Shoulder"]
  27. LeftShoulder = Torso["Left Shoulder"]
  28. RightHip = Torso["Right Hip"]
  29. LeftHip = Torso["Left Hip"]
  30. local TIME = 0
  31. local sick = Instance.new("Sound",Torso)
  32.  
  33. IT = Instance.new
  34. CF = CFrame.new
  35. VT = Vector3.new
  36. RAD = math.rad
  37. C3 = Color3.new
  38. UD2 = UDim2.new
  39. BRICKC = BrickColor.new
  40. ANGLES = CFrame.Angles
  41. EULER = CFrame.fromEulerAnglesXYZ
  42. COS = math.cos
  43. ACOS = math.acos
  44. SIN = math.sin
  45. ASIN = math.asin
  46. ABS = math.abs
  47. MRANDOM = math.random
  48. FLOOR = math.floor
  49. --//=================================\\
  50. --|| USEFUL VALUES
  51. --\\=================================//
  52.  
  53. Animation_Speed = 3
  54. local FORCERESET = false
  55. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  56. local Speed = 16
  57. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  58. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  59. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  60. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  61. local DAMAGEMULTIPLIER = 1
  62. local ANIM = "Idle"
  63. local ATTACK = false
  64. local EQUIPPED = false
  65. local HOLD = false
  66. local COMBO = 1
  67. local Rooted = false
  68. local SINE = 0
  69. local KEYHOLD = false
  70. local CHANGE = 2 / Animation_Speed
  71. local WALKINGANIM = false
  72. local VALUE1 = false
  73. local VALUE2 = false
  74. local ROBLOXIDLEANIMATION = IT("Animation")
  75. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  76. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id="
  77. --ROBLOXIDLEANIMATION.Parent = Humanoid
  78. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  79. WEAPONGUI.Name = "BanishV3Gui"
  80. local Weapon = IT("Model")
  81. Weapon.Name = "Adds"
  82. local Effects = IT("Folder", Weapon)
  83. Effects.Name = "Effects"
  84. local ANIMATOR = Humanoid.Animator
  85. local ANIMATE = Character:FindFirstChild("Animate")
  86. local UNANCHOR = true
  87. local TOBANISH = {}
  88. script.Parent = PlayerGui
  89.  
  90. --//=================================\\
  91. --\\=================================//
  92.  
  93.  
  94. --//=================================\\
  95. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  96. --\\=================================//
  97.  
  98. ArtificialHB = Instance.new("BindableEvent", script)
  99. ArtificialHB.Name = "ArtificialHB"
  100.  
  101. script:WaitForChild("ArtificialHB")
  102.  
  103. frame = Frame_Speed
  104. tf = 0
  105. allowframeloss = false
  106. tossremainder = false
  107. lastframe = tick()
  108. script.ArtificialHB:Fire()
  109.  
  110. game:GetService("RunService").Heartbeat:connect(function(s, p)
  111. tf = tf + s
  112. if tf >= frame then
  113. if allowframeloss then
  114. script.ArtificialHB:Fire()
  115. lastframe = tick()
  116. else
  117. for i = 1, math.floor(tf / frame) do
  118. script.ArtificialHB:Fire()
  119. end
  120. lastframe = tick()
  121. end
  122. if tossremainder then
  123. tf = 0
  124. else
  125. tf = tf - frame * math.floor(tf / frame)
  126. end
  127. end
  128. end)
  129.  
  130. --//=================================\\
  131. --\\=================================//
  132.  
  133. --//=================================\\
  134. --|| SOME FUNCTIONS
  135. --\\=================================//
  136.  
  137. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  138. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  139. end
  140.  
  141. function PositiveAngle(NUMBER)
  142. if NUMBER >= 0 then
  143. NUMBER = 0
  144. end
  145. return NUMBER
  146. end
  147.  
  148. function NegativeAngle(NUMBER)
  149. if NUMBER <= 0 then
  150. NUMBER = 0
  151. end
  152. return NUMBER
  153. end
  154.  
  155. function Swait(NUMBER)
  156. if NUMBER == 0 or NUMBER == nil then
  157. ArtificialHB.Event:wait()
  158. else
  159. for i = 1, NUMBER do
  160. ArtificialHB.Event:wait()
  161. end
  162. end
  163. end
  164.  
  165. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  166. local NEWMESH = IT(MESH)
  167. if MESH == "SpecialMesh" then
  168. NEWMESH.MeshType = MESHTYPE
  169. if MESHID ~= "nil" and MESHID ~= "" then
  170. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  171. end
  172. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  173. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  174. end
  175. end
  176. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  177. NEWMESH.Scale = SCALE
  178. NEWMESH.Parent = PARENT
  179. return NEWMESH
  180. end
  181.  
  182. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  183. local NEWPART = IT("Part")
  184. NEWPART.formFactor = FORMFACTOR
  185. NEWPART.Reflectance = REFLECTANCE
  186. NEWPART.Transparency = TRANSPARENCY
  187. NEWPART.CanCollide = false
  188. NEWPART.Locked = true
  189. NEWPART.Anchored = true
  190. if ANCHOR == false then
  191. NEWPART.Anchored = false
  192. end
  193. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  194. NEWPART.Name = NAME
  195. NEWPART.Size = SIZE
  196. NEWPART.Position = Torso.Position
  197. NEWPART.Material = MATERIAL
  198. NEWPART:BreakJoints()
  199. NEWPART.Parent = PARENT
  200. return NEWPART
  201. end
  202.  
  203. local function weldBetween(a, b)
  204. local weldd = Instance.new("ManualWeld")
  205. weldd.Part0 = a
  206. weldd.Part1 = b
  207. weldd.C0 = CFrame.new()
  208. weldd.C1 = b.CFrame:inverse() * a.CFrame
  209. weldd.Parent = a
  210. return weldd
  211. end
  212.  
  213.  
  214. function QuaternionFromCFrame(cf)
  215. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  216. local trace = m00 + m11 + m22
  217. if trace > 0 then
  218. local s = math.sqrt(1 + trace)
  219. local recip = 0.5 / s
  220. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  221. else
  222. local i = 0
  223. if m11 > m00 then
  224. i = 1
  225. end
  226. if m22 > (i == 0 and m00 or m11) then
  227. i = 2
  228. end
  229. if i == 0 then
  230. local s = math.sqrt(m00 - m11 - m22 + 1)
  231. local recip = 0.5 / s
  232. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  233. elseif i == 1 then
  234. local s = math.sqrt(m11 - m22 - m00 + 1)
  235. local recip = 0.5 / s
  236. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  237. elseif i == 2 then
  238. local s = math.sqrt(m22 - m00 - m11 + 1)
  239. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  240. end
  241. end
  242. end
  243.  
  244. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  245. local xs, ys, zs = x + x, y + y, z + z
  246. local wx, wy, wz = w * xs, w * ys, w * zs
  247. local xx = x * xs
  248. local xy = x * ys
  249. local xz = x * zs
  250. local yy = y * ys
  251. local yz = y * zs
  252. local zz = z * zs
  253. 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))
  254. end
  255.  
  256. function QuaternionSlerp(a, b, t)
  257. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  258. local startInterp, finishInterp;
  259. if cosTheta >= 0.0001 then
  260. if (1 - cosTheta) > 0.0001 then
  261. local theta = ACOS(cosTheta)
  262. local invSinTheta = 1 / SIN(theta)
  263. startInterp = SIN((1 - t) * theta) * invSinTheta
  264. finishInterp = SIN(t * theta) * invSinTheta
  265. else
  266. startInterp = 1 - t
  267. finishInterp = t
  268. end
  269. else
  270. if (1 + cosTheta) > 0.0001 then
  271. local theta = ACOS(-cosTheta)
  272. local invSinTheta = 1 / SIN(theta)
  273. startInterp = SIN((t - 1) * theta) * invSinTheta
  274. finishInterp = SIN(t * theta) * invSinTheta
  275. else
  276. startInterp = t - 1
  277. finishInterp = t
  278. end
  279. end
  280. 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
  281. end
  282.  
  283. function Clerp(a, b, t)
  284. local qa = {QuaternionFromCFrame(a)}
  285. local qb = {QuaternionFromCFrame(b)}
  286. local ax, ay, az = a.x, a.y, a.z
  287. local bx, by, bz = b.x, b.y, b.z
  288. local _t = 1 - t
  289. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  290. end
  291.  
  292. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  293. local frame = IT("Frame")
  294. frame.BackgroundTransparency = TRANSPARENCY
  295. frame.BorderSizePixel = BORDERSIZEPIXEL
  296. frame.Position = POSITION
  297. frame.Size = SIZE
  298. frame.BackgroundColor3 = COLOR
  299. frame.BorderColor3 = BORDERCOLOR
  300. frame.Name = NAME
  301. frame.Parent = PARENT
  302. return frame
  303. end
  304.  
  305. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  306. local label = IT("TextLabel")
  307. label.BackgroundTransparency = 1
  308. label.Size = UD2(1, 0, 1, 0)
  309. label.Position = UD2(0, 0, 0, 0)
  310. label.TextColor3 = TEXTCOLOR
  311. label.TextStrokeTransparency = STROKETRANSPARENCY
  312. label.TextTransparency = TRANSPARENCY
  313. label.FontSize = TEXTFONTSIZE
  314. label.Font = TEXTFONT
  315. label.BorderSizePixel = BORDERSIZEPIXEL
  316. label.TextScaled = false
  317. label.Text = TEXT
  318. label.Name = NAME
  319. label.Parent = PARENT
  320. return label
  321. end
  322.  
  323. function NoOutlines(PART)
  324. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  325. end
  326.  
  327. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  328. local NEWWELD = IT(TYPE)
  329. NEWWELD.Part0 = PART0
  330. NEWWELD.Part1 = PART1
  331. NEWWELD.C0 = C0
  332. NEWWELD.C1 = C1
  333. NEWWELD.Parent = PARENT
  334. return NEWWELD
  335. end
  336.  
  337. local S = IT("Sound")
  338. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  339. local NEWSOUND = nil
  340. coroutine.resume(coroutine.create(function()
  341. NEWSOUND = S:Clone()
  342. NEWSOUND.Parent = PARENT
  343. NEWSOUND.Volume = VOLUME
  344. NEWSOUND.Pitch = PITCH
  345. NEWSOUND.SoundId = "1753701701"..ID
  346. NEWSOUND:play()
  347. if DOESLOOP == true then
  348. NEWSOUND.Looped = true
  349. else
  350. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  351. NEWSOUND:remove()
  352. end
  353. end))
  354. return NEWSOUND
  355. end
  356.  
  357. function CFrameFromTopBack(at, top, back)
  358. local right = top:Cross(back)
  359. 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)
  360. end
  361.  
  362. --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})
  363. function WACKYEFFECT(Table)
  364. local TYPE = (Table.EffectType or "Sphere")
  365. local SIZE = (Table.Size or VT(1,1,1))
  366. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  367. local TRANSPARENCY = (Table.Transparency or 0)
  368. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  369. local CFRAME = (Table.CFrame or Torso.CFrame)
  370. local MOVEDIRECTION = (Table.MoveToPos or nil)
  371. local ROTATION1 = (Table.RotationX or 0)
  372. local ROTATION2 = (Table.RotationY or 0)
  373. local ROTATION3 = (Table.RotationZ or 0)
  374. local MATERIAL = (Table.Material or "Neon")
  375. local COLOR = (Table.Color or C3(1,1,1))
  376. local TIME = (Table.Time or 45)
  377. local SOUNDID = (Table.SoundID or nil)
  378. local SOUNDPITCH = (Table.SoundPitch or nil)
  379. local SOUNDVOLUME = (Table.SoundVolume or nil)
  380. coroutine.resume(coroutine.create(function()
  381. local PLAYSSOUND = false
  382. local SOUND = nil
  383. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  384. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  385. PLAYSSOUND = true
  386. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  387. end
  388. EFFECT.Color = COLOR
  389. local MSH = nil
  390. if TYPE == "Sphere" then
  391. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  392. elseif TYPE == "Block" then
  393. MSH = IT("BlockMesh",EFFECT)
  394. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  395. elseif TYPE == "Wave" then
  396. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  397. elseif TYPE == "Ring" then
  398. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  399. elseif TYPE == "Slash" then
  400. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  401. elseif TYPE == "Round Slash" then
  402. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  403. elseif TYPE == "Swirl" then
  404. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  405. elseif TYPE == "Skull" then
  406. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  407. elseif TYPE == "Crystal" then
  408. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  409. end
  410. if MSH ~= nil then
  411. local MOVESPEED = nil
  412. if MOVEDIRECTION ~= nil then
  413. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  414. end
  415. local GROWTH = SIZE - ENDSIZE
  416. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  417. if TYPE == "Block" then
  418. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  419. else
  420. EFFECT.CFrame = CFRAME
  421. end
  422. for LOOP = 1, TIME+1 do
  423. Swait()
  424. MSH.Scale = MSH.Scale - GROWTH/TIME
  425. if TYPE == "Wave" then
  426. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  427. end
  428. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  429. if TYPE == "Block" then
  430. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  431. else
  432. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  433. end
  434. if MOVEDIRECTION ~= nil then
  435. local ORI = EFFECT.Orientation
  436. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  437. EFFECT.Orientation = ORI
  438. end
  439. end
  440. if PLAYSSOUND == false then
  441. EFFECT:remove()
  442. else
  443. SOUND.Stopped:Connect(function()
  444. EFFECT:remove()
  445. end)
  446. end
  447. else
  448. if PLAYSSOUND == false then
  449. EFFECT:remove()
  450. else
  451. repeat Swait() until SOUND.Playing == false
  452. EFFECT:remove()
  453. end
  454. end
  455. end))
  456. end
  457.  
  458. function MakeForm(PART,TYPE)
  459. if TYPE == "Cyl" then
  460. local MSH = IT("CylinderMesh",PART)
  461. elseif TYPE == "Ball" then
  462. local MSH = IT("SpecialMesh",PART)
  463. MSH.MeshType = "Sphere"
  464. elseif TYPE == "Wedge" then
  465. local MSH = IT("SpecialMesh",PART)
  466. MSH.MeshType = "Wedge"
  467. end
  468. end
  469.  
  470. function SpawnTrail(FROM,TO,BIG)
  471. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  472. MakeForm(TRAIL,"Cyl")
  473. local DIST = (FROM - TO).Magnitude
  474. if BIG == true then
  475. TRAIL.Size = VT(0.5,DIST,0.5)
  476. else
  477. TRAIL.Size = VT(0.25,DIST,0.25)
  478. end
  479. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  480. coroutine.resume(coroutine.create(function()
  481. for i = 1, 5 do
  482. Swait()
  483. TRAIL.Transparency = TRAIL.Transparency + 0.1
  484. end
  485. TRAIL:remove()
  486. end))
  487. end
  488.  
  489. Debris = game:GetService("Debris")
  490.  
  491. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  492. local DIRECTION = CF(StartPos,EndPos).lookVector
  493. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  494. end
  495.  
  496. function turnto(position)
  497. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  498. end
  499.  
  500. --//=================================\\
  501. --|| WEAPON CREATION
  502. --\\=================================//
  503.  
  504. local Particle = IT("ParticleEmitter",nil)
  505. Particle.Enabled = false
  506. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  507. Particle.LightEmission = 0.5
  508. Particle.Rate = 150
  509. Particle.ZOffset = 0.2
  510. Particle.Rotation = NumberRange.new(-180, 180)
  511. Particle.RotSpeed = NumberRange.new(-180, 180)
  512. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  513. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  514.  
  515. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  516. function ParticleEmitter(Table)
  517. local PRTCL = Particle:Clone()
  518. local Speed = Table.Speed or 5
  519. local Drag = Table.Drag or 0
  520. local Size1 = Table.Size1 or 1
  521. local Size2 = Table.Size2 or 5
  522. local Lifetime1 = Table.Lifetime1 or 1
  523. local Lifetime2 = Table.Lifetime2 or 1.5
  524. local Parent = Table.Parent or Torso
  525. local Emit = Table.Emit or 100
  526. local Offset = Table.Offset or 360
  527. local Acel = Table.Acel or VT(0,0,0)
  528. local Enabled = Table.Enabled or false
  529. PRTCL.Parent = Parent
  530. PRTCL.Size = NumberSequence.new(Size1,Size2)
  531. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  532. PRTCL.Speed = NumberRange.new(Speed)
  533. PRTCL.VelocitySpread = Offset
  534. PRTCL.Drag = Drag
  535. PRTCL.Acceleration = Acel
  536. if Enabled == false then
  537. PRTCL:Emit(Emit)
  538. Debris:AddItem(PRTCL,Lifetime2)
  539. else
  540. PRTCL.Enabled = true
  541. end
  542. return PRTCL
  543. end
  544.  
  545. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.6,0.2),false)
  546. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  547. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  548. MakeForm(Part,"Wedge")
  549. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  550. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.3,0.2),false)
  551. MakeForm(Part,"Wedge")
  552. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  553. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.3,0.3),false)
  554. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  555. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.5,0.5),false)
  556. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  557. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.4,0.4,0.4),false)
  558. MakeForm(Part,"Cyl")
  559. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  560. for i = 1, 8 do
  561. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0,0.35,0.41),false)
  562. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  563. end
  564. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.38,0.41,0.38),false)
  565. MakeForm(Part,"Cyl")
  566. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  567. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.37,0.5,0.37),false)
  568. MakeForm(Part,"Ball")
  569. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  570. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.7,0.4),false)
  571. MakeForm(Part,"Wedge")
  572. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  573. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.4,0.2),false)
  574. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  575. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.35,0.35,0.35),false)
  576. MakeForm(Part,"Cyl")
  577. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  578. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.5),false)
  579. MakeForm(Part,"Cyl")
  580. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  581. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.45),false)
  582. MakeForm(Part,"Cyl")
  583. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  584. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  585. MakeForm(Part,"Wedge")
  586. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  587. local LASTPART = Handle
  588. for i = 1, 10 do
  589. if LASTPART == Handle then
  590. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.2,0),false)
  591. LASTPART = Part
  592. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  593. else
  594. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.05,0),false)
  595. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  596. LASTPART = Part
  597. end
  598. end
  599.  
  600. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.15,2,0.15),false)
  601. MakeForm(Barrel,"Cyl")
  602. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  603. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.25,1,0.25),false)
  604. MakeForm(Part,"Cyl")
  605. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  606. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0.1,0.2),false)
  607. MakeForm(Part,"Wedge")
  608. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  609. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.125,0,0.125),false)
  610. MakeForm(Hole,"Cyl")
  611. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  612. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0,0),false)
  613. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  614. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  615. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Brown", "Eye", VT(0,0,0),false)
  616. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  617. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  618. coroutine.resume(coroutine.create(function()
  619. while wait() do
  620. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  621. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  622. end
  623. end))
  624.  
  625. ParticleEmitter({Speed = 0.2, 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)})
  626. --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)})
  627.  
  628. for _, c in pairs(Weapon:GetDescendants()) do
  629. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  630. c.Material = "Glass"
  631. c.Color = C3(0,0,0)
  632. elseif c.ClassName == "Part" and c.Name == "Eye" then
  633. c.Color = C3(1,0,0)
  634. c.Material = "Neon"
  635. end
  636. end
  637.  
  638. Weapon.Parent = Character
  639. for _, c in pairs(Weapon:GetChildren()) do
  640. if c.ClassName == "Part" then
  641. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  642. end
  643. end
  644.  
  645. local SKILLTEXTCOLOR = C3(1,0,0)
  646. local SKILLFONT = "Antique"
  647. local SKILLTEXTSIZE = 7
  648.  
  649. Humanoid.Died:connect(function()
  650. ATTACK = true
  651. end)
  652.  
  653. 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")
  654. --[[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")
  655. 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")
  656. 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")
  657. 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")
  658. ]]
  659. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  660. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  661. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  662. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  663. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  664. ]]
  665. function printbye(Name)
  666. 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, "}
  667. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  668. end
  669.  
  670. workspace.ChildAdded:connect(function(instance)
  671. for BANISH = 1, #TOBANISH do
  672. if TOBANISH[BANISH] ~= nil then
  673. if instance.Name == TOBANISH[BANISH] then
  674. coroutine.resume(coroutine.create(function()
  675. printbye(instance.Name)
  676. instance:ClearAllChildren()
  677. Debris:AddItem(instance,0.0005)
  678. end))
  679. end
  680. end
  681. end
  682. end)
  683.  
  684. --//=================================\\
  685. --|| DAMAGING
  686. --\\=================================//
  687.  
  688. function Banish(Foe)
  689. if Foe then
  690. coroutine.resume(coroutine.create(function()
  691. --if game.Players:FindFirstChild(Foe.Name) then
  692. table.insert(TOBANISH,Foe.Name)
  693. printbye(Foe.Name)
  694. --end
  695. Foe.Archivable = true
  696. local CLONE = Foe:Clone()
  697. Foe:Destroy()
  698. CLONE.Parent = Effects
  699. CLONE:BreakJoints()
  700. local MATERIALS = {"Glass","Neon"}
  701. for _, c in pairs(CLONE:GetDescendants()) do
  702. if c:IsA("BasePart") then
  703. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  704. CreateSound(340722848, c, 10, 1, false)
  705. end
  706. c.Anchored = true
  707. c.Transparency = c.Transparency + 0.2
  708. c.Material = MATERIALS[MRANDOM(1,2)]
  709. c.Color = C3(1,0,0)
  710. if c.ClassName == "MeshPart" then
  711. c.TextureID = ""
  712. end
  713. if c:FindFirstChildOfClass("SpecialMesh") then
  714. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  715. end
  716. if c:FindFirstChildOfClass("Decal") then
  717. c:FindFirstChildOfClass("Decal"):remove()
  718. end
  719. c.Name = "Banished"
  720. c.CanCollide = false
  721. else
  722. c:remove()
  723. end
  724. end
  725. local A = false
  726. for i = 1, 35 do
  727. if A == false then
  728. A = true
  729. elseif A == true then
  730. A = false
  731. end
  732. for _, c in pairs(CLONE:GetDescendants()) do
  733. if c:IsA("BasePart") then
  734. c.Anchored = true
  735. c.Material = MATERIALS[MRANDOM(1,2)]
  736. c.Transparency = c.Transparency + 0.8/35
  737. if A == false then
  738. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  739. elseif A == true then
  740. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  741. end
  742. end
  743. end
  744. Swait()
  745. end
  746. CLONE:remove()
  747. end))
  748. end
  749. end
  750.  
  751. function ApplyAoE(POSITION,RANGE,ISBANISH)
  752. local CHILDREN = workspace:GetDescendants()
  753. for index, CHILD in pairs(CHILDREN) do
  754. if CHILD.ClassName == "Model" and CHILD ~= Character then
  755. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  756. if HUM then
  757. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  758. if TORSO then
  759. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  760. if ISBANISH == true then
  761. Banish(CHILD)
  762. else
  763. if ISBANISH == "Gravity" then
  764. HUM.PlatformStand = true
  765. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  766. local grav = Instance.new("BodyPosition",TORSO)
  767. grav.D = 15
  768. grav.P = 20000
  769. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  770. grav.position = TORSO.Position
  771. grav.Name = "V3BanishForce"..Player.Name
  772. else
  773. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  774. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  775. end
  776. else
  777. HUM.PlatformStand = false
  778. end
  779. end
  780. elseif ISBANISH == "Gravity" then
  781. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  782. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  783. HUM.PlatformStand = false
  784. end
  785. end
  786. end
  787. end
  788. end
  789. end
  790. end
  791.  
  792. --//=================================\\
  793. --|| ATTACK FUNCTIONS AND STUFF
  794. --\\=================================//
  795.  
  796. function Banisher_Bullet()
  797. ATTACK = true
  798. Rooted = false
  799. for i=0, 0.4, 0.1 / Animation_Speed do
  800. Swait()
  801. turnto(Mouse.Hit.p)
  802. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  803. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  804. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  805. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  806. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  807. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  808. end
  809. repeat
  810. for i=0, 0.2, 0.1 / Animation_Speed do
  811. Swait()
  812. turnto(Mouse.Hit.p)
  813. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  814. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  815. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  816. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  817. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  818. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  819. end
  820. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  821. SpawnTrail(Hole.Position,POS)
  822. if HIT ~= nil then
  823. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  824. Banish(HIT.Parent)
  825. end
  826. end
  827. 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})
  828. 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 = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  829. 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})
  830. 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})
  831. for i=0, 0.3, 0.1 / Animation_Speed do
  832. Swait()
  833. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  834. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  835. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  836. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  837. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  838. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  839. end
  840. until KEYHOLD == false
  841. ATTACK = false
  842. Rooted = false
  843. end
  844.  
  845. function AttackTemplate()
  846. ATTACK = true
  847. Rooted = false
  848. for i=0, 1, 0.1 / Animation_Speed do
  849. Swait()
  850. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  851. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  852. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  853. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  854. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  855. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  856. end
  857. ATTACK = false
  858. Rooted = false
  859. end
  860.  
  861. --//=================================\\
  862. --|| ASSIGN THINGS TO KEYS
  863. --\\=================================//
  864.  
  865. function MouseDown(Mouse)
  866. if ATTACK == false then
  867. end
  868. end
  869.  
  870. function MouseUp(Mouse)
  871. HOLD = false
  872. end
  873.  
  874. function KeyDown(Key)
  875. KEYHOLD = true
  876. if Key == "z" and ATTACK == false then
  877. Banisher_Bullet()
  878. end
  879.  
  880. if Key == "b" and ATTACK == false then
  881. end
  882.  
  883. if Key == "c" and ATTACK == false then
  884. end
  885.  
  886. if Key == "v" and ATTACK == false then
  887. end
  888.  
  889. if Key == "x" and ATTACK == false then
  890. end
  891. end
  892.  
  893. function KeyUp(Key)
  894. KEYHOLD = false
  895. end
  896.  
  897. Mouse.Button1Down:connect(function(NEWKEY)
  898. MouseDown(NEWKEY)
  899. end)
  900. Mouse.Button1Up:connect(function(NEWKEY)
  901. MouseUp(NEWKEY)
  902. end)
  903. Mouse.KeyDown:connect(function(NEWKEY)
  904. KeyDown(NEWKEY)
  905. end)
  906. Mouse.KeyUp:connect(function(NEWKEY)
  907. KeyUp(NEWKEY)
  908. end)
  909.  
  910. --//=================================\\
  911. --\\=================================//
  912.  
  913.  
  914. function unanchor()
  915. if UNANCHOR == true then
  916. g = Character:GetChildren()
  917. for i = 1, #g do
  918. if g[i].ClassName == "Part" then
  919. g[i].Anchored = false
  920. end
  921. end
  922. end
  923. end
  924.  
  925.  
  926. --//=================================\\
  927. --|| WRAP THE WHOLE SCRIPT UP
  928. --\\=================================//
  929.  
  930. Humanoid.Changed:connect(function(Jump)
  931. if Jump == "Jump" and (Disable_Jump == true) then
  932. Humanoid.Jump = false
  933. end
  934. end)
  935.  
  936. local CONNECT = nil
  937.  
  938. while true do
  939. Swait()
  940. ANIMATE.Parent = nil
  941. if Character:FindFirstChildOfClass("Humanoid") == nil then
  942. Humanoid = IT("Humanoid",Character)
  943. end
  944. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  945. v:Stop();
  946. end
  947. SINE = SINE + CHANGE
  948. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  949. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  950. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  951. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  952. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  953. 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)
  954. 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)
  955. 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)
  956. 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)
  957. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  958. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  959. 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)
  960. 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)
  961. 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)
  962. end
  963. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  964. ANIM = "Jump"
  965. if ATTACK == false then
  966. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  967. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  968. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  969. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  970. 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)
  971. 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)
  972. end
  973. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  974. ANIM = "Fall"
  975. if ATTACK == false then
  976. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  977. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  978. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  979. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  980. 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)
  981. 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)
  982. end
  983. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  984. ANIM = "Idle"
  985. if ATTACK == false then
  986. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  987. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  988. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  989. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  990. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  991. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  992. end
  993. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  994. ANIM = "Walk"
  995. if ATTACK == false then
  996. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  997. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  998. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  999. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
  1000. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  1001. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  1002. end
  1003. end
  1004. unanchor()
  1005. Humanoid.MaxHealth = "inf"
  1006. Humanoid.Health = "inf"
  1007. if Rooted == false then
  1008. Disable_Jump = false
  1009. Humanoid.WalkSpeed = Speed
  1010. elseif Rooted == true then
  1011. Disable_Jump = true
  1012. Humanoid.WalkSpeed = 0
  1013. end
  1014. sick.Parent = Torso
  1015. sick:resume()
  1016. sick.Volume = 5
  1017. sick.Pitch = 1
  1018. sick.SoundId = "https://www.roblox.com/library/1753701701/The-Muffin-Song-FULL-VERSION"
  1019. sick.Name = "BanishV3Music"
  1020. end
  1021.  
  1022. --//=================================\\
  1023. --\\=================================//
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029. --//====================================================\\--
  1030. --|| END OF SCRIPT
  1031. --\\====================================================//--
  1032. script.Name = "Banisher Gun V3 / 1"
  1033. --//====================================================\\--
  1034. --|| CREATED BY SHACKLUSTER
  1035. --\\====================================================//--
  1036.  
  1037. script:ClearAllChildren()
  1038. wait(0.2)
  1039.  
  1040. Player = game:GetService("Players").LocalPlayer
  1041. PlayerGui = Player.PlayerGui
  1042. Cam = workspace.CurrentCamera
  1043. Backpack = Player.Backpack
  1044. Character = Player.Character
  1045. Humanoid = Character.Humanoid
  1046. Mouse = Player:GetMouse()
  1047. RootPart = Character["HumanoidRootPart"]
  1048. Torso = Character["Torso"]
  1049. Head = Character["Head"]
  1050. RightArm = Character["Right Arm"]
  1051. LeftArm = Character["Left Arm"]
  1052. RightLeg = Character["Right Leg"]
  1053. LeftLeg = Character["Left Leg"]
  1054. RootJoint = RootPart["RootJoint"]
  1055. Neck = Torso["Neck"]
  1056. RightShoulder = Torso["Right Shoulder"]
  1057. LeftShoulder = Torso["Left Shoulder"]
  1058. RightHip = Torso["Right Hip"]
  1059. LeftHip = Torso["Left Hip"]
  1060. local TIME = 0
  1061. local sick = Instance.new("Sound",Torso)
  1062.  
  1063. IT = Instance.new
  1064. CF = CFrame.new
  1065. VT = Vector3.new
  1066. RAD = math.rad
  1067. C3 = Color3.new
  1068. UD2 = UDim2.new
  1069. BRICKC = BrickColor.new
  1070. ANGLES = CFrame.Angles
  1071. EULER = CFrame.fromEulerAnglesXYZ
  1072. COS = math.cos
  1073. ACOS = math.acos
  1074. SIN = math.sin
  1075. ASIN = math.asin
  1076. ABS = math.abs
  1077. MRANDOM = math.random
  1078. FLOOR = math.floor
  1079. --//=================================\\
  1080. --|| USEFUL VALUES
  1081. --\\=================================//
  1082.  
  1083. Animation_Speed = 3
  1084. local FORCERESET = false
  1085. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  1086. local Speed = 16
  1087. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1088. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1089. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  1090. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  1091. local DAMAGEMULTIPLIER = 1
  1092. local ANIM = "Idle"
  1093. local ATTACK = false
  1094. local EQUIPPED = false
  1095. local HOLD = false
  1096. local COMBO = 1
  1097. local Rooted = false
  1098. local SINE = 0
  1099. local KEYHOLD = false
  1100. local CHANGE = 2 / Animation_Speed
  1101. local WALKINGANIM = false
  1102. local VALUE1 = false
  1103. local VALUE2 = false
  1104. local ROBLOXIDLEANIMATION = IT("Animation")
  1105. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  1106. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  1107. --ROBLOXIDLEANIMATION.Parent = Humanoid
  1108. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  1109. WEAPONGUI.Name = "BanishV3Gui"
  1110. local Weapon = IT("Model")
  1111. Weapon.Name = "Adds"
  1112. local Effects = IT("Folder", Weapon)
  1113. Effects.Name = "Effects"
  1114. local ANIMATOR = Humanoid.Animator
  1115. local ANIMATE = Character:FindFirstChild("Animate")
  1116. local UNANCHOR = true
  1117. local TOBANISH = {}
  1118. script.Parent = PlayerGui
  1119.  
  1120. --//=================================\\
  1121. --\\=================================//
  1122.  
  1123.  
  1124. --//=================================\\
  1125. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  1126. --\\=================================//
  1127.  
  1128. ArtificialHB = Instance.new("BindableEvent", script)
  1129. ArtificialHB.Name = "ArtificialHB"
  1130.  
  1131. script:WaitForChild("ArtificialHB")
  1132.  
  1133. frame = Frame_Speed
  1134. tf = 0
  1135. allowframeloss = false
  1136. tossremainder = false
  1137. lastframe = tick()
  1138. script.ArtificialHB:Fire()
  1139.  
  1140. game:GetService("RunService").Heartbeat:connect(function(s, p)
  1141. tf = tf + s
  1142. if tf >= frame then
  1143. if allowframeloss then
  1144. script.ArtificialHB:Fire()
  1145. lastframe = tick()
  1146. else
  1147. for i = 1, math.floor(tf / frame) do
  1148. script.ArtificialHB:Fire()
  1149. end
  1150. lastframe = tick()
  1151. end
  1152. if tossremainder then
  1153. tf = 0
  1154. else
  1155. tf = tf - frame * math.floor(tf / frame)
  1156. end
  1157. end
  1158. end)
  1159.  
  1160. --//=================================\\
  1161. --\\=================================//
  1162.  
  1163. --//=================================\\
  1164. --|| SOME FUNCTIONS
  1165. --\\=================================//
  1166.  
  1167. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1168. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1169. end
  1170.  
  1171. function PositiveAngle(NUMBER)
  1172. if NUMBER >= 0 then
  1173. NUMBER = 0
  1174. end
  1175. return NUMBER
  1176. end
  1177.  
  1178. function NegativeAngle(NUMBER)
  1179. if NUMBER <= 0 then
  1180. NUMBER = 0
  1181. end
  1182. return NUMBER
  1183. end
  1184.  
  1185. function Swait(NUMBER)
  1186. if NUMBER == 0 or NUMBER == nil then
  1187. ArtificialHB.Event:wait()
  1188. else
  1189. for i = 1, NUMBER do
  1190. ArtificialHB.Event:wait()
  1191. end
  1192. end
  1193. end
  1194.  
  1195. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1196. local NEWMESH = IT(MESH)
  1197. if MESH == "SpecialMesh" then
  1198. NEWMESH.MeshType = MESHTYPE
  1199. if MESHID ~= "nil" and MESHID ~= "" then
  1200. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1201. end
  1202. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1203. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1204. end
  1205. end
  1206. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1207. NEWMESH.Scale = SCALE
  1208. NEWMESH.Parent = PARENT
  1209. return NEWMESH
  1210. end
  1211.  
  1212. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1213. local NEWPART = IT("Part")
  1214. NEWPART.formFactor = FORMFACTOR
  1215. NEWPART.Reflectance = REFLECTANCE
  1216. NEWPART.Transparency = TRANSPARENCY
  1217. NEWPART.CanCollide = false
  1218. NEWPART.Locked = true
  1219. NEWPART.Anchored = true
  1220. if ANCHOR == false then
  1221. NEWPART.Anchored = false
  1222. end
  1223. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1224. NEWPART.Name = NAME
  1225. NEWPART.Size = SIZE
  1226. NEWPART.Position = Torso.Position
  1227. NEWPART.Material = MATERIAL
  1228. NEWPART:BreakJoints()
  1229. NEWPART.Parent = PARENT
  1230. return NEWPART
  1231. end
  1232.  
  1233. local function weldBetween(a, b)
  1234. local weldd = Instance.new("ManualWeld")
  1235. weldd.Part0 = a
  1236. weldd.Part1 = b
  1237. weldd.C0 = CFrame.new()
  1238. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1239. weldd.Parent = a
  1240. return weldd
  1241. end
  1242.  
  1243.  
  1244. function QuaternionFromCFrame(cf)
  1245. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1246. local trace = m00 + m11 + m22
  1247. if trace > 0 then
  1248. local s = math.sqrt(1 + trace)
  1249. local recip = 0.5 / s
  1250. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1251. else
  1252. local i = 0
  1253. if m11 > m00 then
  1254. i = 1
  1255. end
  1256. if m22 > (i == 0 and m00 or m11) then
  1257. i = 2
  1258. end
  1259. if i == 0 then
  1260. local s = math.sqrt(m00 - m11 - m22 + 1)
  1261. local recip = 0.5 / s
  1262. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1263. elseif i == 1 then
  1264. local s = math.sqrt(m11 - m22 - m00 + 1)
  1265. local recip = 0.5 / s
  1266. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1267. elseif i == 2 then
  1268. local s = math.sqrt(m22 - m00 - m11 + 1)
  1269. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1270. end
  1271. end
  1272. end
  1273.  
  1274. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1275. local xs, ys, zs = x + x, y + y, z + z
  1276. local wx, wy, wz = w * xs, w * ys, w * zs
  1277. local xx = x * xs
  1278. local xy = x * ys
  1279. local xz = x * zs
  1280. local yy = y * ys
  1281. local yz = y * zs
  1282. local zz = z * zs
  1283. 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))
  1284. end
  1285.  
  1286. function QuaternionSlerp(a, b, t)
  1287. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1288. local startInterp, finishInterp;
  1289. if cosTheta >= 0.0001 then
  1290. if (1 - cosTheta) > 0.0001 then
  1291. local theta = ACOS(cosTheta)
  1292. local invSinTheta = 1 / SIN(theta)
  1293. startInterp = SIN((1 - t) * theta) * invSinTheta
  1294. finishInterp = SIN(t * theta) * invSinTheta
  1295. else
  1296. startInterp = 1 - t
  1297. finishInterp = t
  1298. end
  1299. else
  1300. if (1 + cosTheta) > 0.0001 then
  1301. local theta = ACOS(-cosTheta)
  1302. local invSinTheta = 1 / SIN(theta)
  1303. startInterp = SIN((t - 1) * theta) * invSinTheta
  1304. finishInterp = SIN(t * theta) * invSinTheta
  1305. else
  1306. startInterp = t - 1
  1307. finishInterp = t
  1308. end
  1309. end
  1310. 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
  1311. end
  1312.  
  1313. function Clerp(a, b, t)
  1314. local qa = {QuaternionFromCFrame(a)}
  1315. local qb = {QuaternionFromCFrame(b)}
  1316. local ax, ay, az = a.x, a.y, a.z
  1317. local bx, by, bz = b.x, b.y, b.z
  1318. local _t = 1 - t
  1319. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1320. end
  1321.  
  1322. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1323. local frame = IT("Frame")
  1324. frame.BackgroundTransparency = TRANSPARENCY
  1325. frame.BorderSizePixel = BORDERSIZEPIXEL
  1326. frame.Position = POSITION
  1327. frame.Size = SIZE
  1328. frame.BackgroundColor3 = COLOR
  1329. frame.BorderColor3 = BORDERCOLOR
  1330. frame.Name = NAME
  1331. frame.Parent = PARENT
  1332. return frame
  1333. end
  1334.  
  1335. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1336. local label = IT("TextLabel")
  1337. label.BackgroundTransparency = 1
  1338. label.Size = UD2(1, 0, 1, 0)
  1339. label.Position = UD2(0, 0, 0, 0)
  1340. label.TextColor3 = TEXTCOLOR
  1341. label.TextStrokeTransparency = STROKETRANSPARENCY
  1342. label.TextTransparency = TRANSPARENCY
  1343. label.FontSize = TEXTFONTSIZE
  1344. label.Font = TEXTFONT
  1345. label.BorderSizePixel = BORDERSIZEPIXEL
  1346. label.TextScaled = false
  1347. label.Text = TEXT
  1348. label.Name = NAME
  1349. label.Parent = PARENT
  1350. return label
  1351. end
  1352.  
  1353. function NoOutlines(PART)
  1354. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1355. end
  1356.  
  1357. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1358. local NEWWELD = IT(TYPE)
  1359. NEWWELD.Part0 = PART0
  1360. NEWWELD.Part1 = PART1
  1361. NEWWELD.C0 = C0
  1362. NEWWELD.C1 = C1
  1363. NEWWELD.Parent = PARENT
  1364. return NEWWELD
  1365. end
  1366.  
  1367. local S = IT("Sound")
  1368. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1369. local NEWSOUND = nil
  1370. coroutine.resume(coroutine.create(function()
  1371. NEWSOUND = S:Clone()
  1372. NEWSOUND.Parent = PARENT
  1373. NEWSOUND.Volume = VOLUME
  1374. NEWSOUND.Pitch = PITCH
  1375. NEWSOUND.SoundId = "1753701701"..ID
  1376. NEWSOUND:play()
  1377. if DOESLOOP == true then
  1378. NEWSOUND.Looped = true
  1379. else
  1380. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  1381. NEWSOUND:remove()
  1382. end
  1383. end))
  1384. return NEWSOUND
  1385. end
  1386.  
  1387. function CFrameFromTopBack(at, top, back)
  1388. local right = top:Cross(back)
  1389. 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)
  1390. end
  1391.  
  1392. --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})
  1393. function WACKYEFFECT(Table)
  1394. local TYPE = (Table.EffectType or "Sphere")
  1395. local SIZE = (Table.Size or VT(1,1,1))
  1396. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1397. local TRANSPARENCY = (Table.Transparency or 0)
  1398. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1399. local CFRAME = (Table.CFrame or Torso.CFrame)
  1400. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1401. local ROTATION1 = (Table.RotationX or 0)
  1402. local ROTATION2 = (Table.RotationY or 0)
  1403. local ROTATION3 = (Table.RotationZ or 0)
  1404. local MATERIAL = (Table.Material or "Neon")
  1405. local COLOR = (Table.Color or C3(1,1,1))
  1406. local TIME = (Table.Time or 45)
  1407. local SOUNDID = (Table.SoundID or nil)
  1408. local SOUNDPITCH = (Table.SoundPitch or nil)
  1409. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1410. coroutine.resume(coroutine.create(function()
  1411. local PLAYSSOUND = false
  1412. local SOUND = nil
  1413. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1414. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1415. PLAYSSOUND = true
  1416. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1417. end
  1418. EFFECT.Color = COLOR
  1419. local MSH = nil
  1420. if TYPE == "Sphere" then
  1421. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1422. elseif TYPE == "Block" then
  1423. MSH = IT("BlockMesh",EFFECT)
  1424. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1425. elseif TYPE == "Wave" then
  1426. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1427. elseif TYPE == "Ring" then
  1428. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1429. elseif TYPE == "Slash" then
  1430. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1431. elseif TYPE == "Round Slash" then
  1432. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1433. elseif TYPE == "Swirl" then
  1434. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1435. elseif TYPE == "Skull" then
  1436. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1437. elseif TYPE == "Crystal" then
  1438. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1439. end
  1440. if MSH ~= nil then
  1441. local MOVESPEED = nil
  1442. if MOVEDIRECTION ~= nil then
  1443. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1444. end
  1445. local GROWTH = SIZE - ENDSIZE
  1446. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1447. if TYPE == "Block" then
  1448. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1449. else
  1450. EFFECT.CFrame = CFRAME
  1451. end
  1452. for LOOP = 1, TIME+1 do
  1453. Swait()
  1454. MSH.Scale = MSH.Scale - GROWTH/TIME
  1455. if TYPE == "Wave" then
  1456. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1457. end
  1458. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1459. if TYPE == "Block" then
  1460. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1461. else
  1462. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1463. end
  1464. if MOVEDIRECTION ~= nil then
  1465. local ORI = EFFECT.Orientation
  1466. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1467. EFFECT.Orientation = ORI
  1468. end
  1469. end
  1470. if PLAYSSOUND == false then
  1471. EFFECT:remove()
  1472. else
  1473. SOUND.Stopped:Connect(function()
  1474. EFFECT:remove()
  1475. end)
  1476. end
  1477. else
  1478. if PLAYSSOUND == false then
  1479. EFFECT:remove()
  1480. else
  1481. repeat Swait() until SOUND.Playing == false
  1482. EFFECT:remove()
  1483. end
  1484. end
  1485. end))
  1486. end
  1487.  
  1488. function MakeForm(PART,TYPE)
  1489. if TYPE == "Cyl" then
  1490. local MSH = IT("CylinderMesh",PART)
  1491. elseif TYPE == "Ball" then
  1492. local MSH = IT("SpecialMesh",PART)
  1493. MSH.MeshType = "Sphere"
  1494. elseif TYPE == "Wedge" then
  1495. local MSH = IT("SpecialMesh",PART)
  1496. MSH.MeshType = "Wedge"
  1497. end
  1498. end
  1499.  
  1500. function SpawnTrail(FROM,TO,BIG)
  1501. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  1502. MakeForm(TRAIL,"Cyl")
  1503. local DIST = (FROM - TO).Magnitude
  1504. if BIG == true then
  1505. TRAIL.Size = VT(0.5,DIST,0.5)
  1506. else
  1507. TRAIL.Size = VT(0.25,DIST,0.25)
  1508. end
  1509. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1510. coroutine.resume(coroutine.create(function()
  1511. for i = 1, 5 do
  1512. Swait()
  1513. TRAIL.Transparency = TRAIL.Transparency + 0.1
  1514. end
  1515. TRAIL:remove()
  1516. end))
  1517. end
  1518.  
  1519. Debris = game:GetService("Debris")
  1520.  
  1521. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1522. local DIRECTION = CF(StartPos,EndPos).lookVector
  1523. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1524. end
  1525.  
  1526. function turnto(position)
  1527. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1528. end
  1529.  
  1530. --//=================================\\
  1531. --|| WEAPON CREATION
  1532. --\\=================================//
  1533.  
  1534. local Particle = IT("ParticleEmitter",nil)
  1535. Particle.Enabled = false
  1536. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1537. Particle.LightEmission = 0.5
  1538. Particle.Rate = 150
  1539. Particle.ZOffset = 0.2
  1540. Particle.Rotation = NumberRange.new(-180, 180)
  1541. Particle.RotSpeed = NumberRange.new(-180, 180)
  1542. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1543. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  1544.  
  1545. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1546. function ParticleEmitter(Table)
  1547. local PRTCL = Particle:Clone()
  1548. local Speed = Table.Speed or 5
  1549. local Drag = Table.Drag or 0
  1550. local Size1 = Table.Size1 or 1
  1551. local Size2 = Table.Size2 or 5
  1552. local Lifetime1 = Table.Lifetime1 or 1
  1553. local Lifetime2 = Table.Lifetime2 or 1.5
  1554. local Parent = Table.Parent or Torso
  1555. local Emit = Table.Emit or 100
  1556. local Offset = Table.Offset or 360
  1557. local Acel = Table.Acel or VT(0,0,0)
  1558. local Enabled = Table.Enabled or false
  1559. PRTCL.Parent = Parent
  1560. PRTCL.Size = NumberSequence.new(Size1,Size2)
  1561. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1562. PRTCL.Speed = NumberRange.new(Speed)
  1563. PRTCL.VelocitySpread = Offset
  1564. PRTCL.Drag = Drag
  1565. PRTCL.Acceleration = Acel
  1566. if Enabled == false then
  1567. PRTCL:Emit(Emit)
  1568. Debris:AddItem(PRTCL,Lifetime2)
  1569. else
  1570. PRTCL.Enabled = true
  1571. end
  1572. return PRTCL
  1573. end
  1574.  
  1575. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.6,0.2),false)
  1576. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  1577. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  1578. MakeForm(Part,"Wedge")
  1579. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  1580. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.3,0.2),false)
  1581. MakeForm(Part,"Wedge")
  1582. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  1583. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.3,0.3),false)
  1584. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1585. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.5,0.5),false)
  1586. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1587. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.4,0.4,0.4),false)
  1588. MakeForm(Part,"Cyl")
  1589. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1590. for i = 1, 8 do
  1591. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0,0.35,0.41),false)
  1592. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  1593. end
  1594. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.38,0.41,0.38),false)
  1595. MakeForm(Part,"Cyl")
  1596. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1597. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.37,0.5,0.37),false)
  1598. MakeForm(Part,"Ball")
  1599. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1600. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.7,0.4),false)
  1601. MakeForm(Part,"Wedge")
  1602. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  1603. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.4,0.2),false)
  1604. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1605. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.35,0.35,0.35),false)
  1606. MakeForm(Part,"Cyl")
  1607. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1608. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.5),false)
  1609. MakeForm(Part,"Cyl")
  1610. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1611. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.45),false)
  1612. MakeForm(Part,"Cyl")
  1613. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1614. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  1615. MakeForm(Part,"Wedge")
  1616. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  1617. local LASTPART = Handle
  1618. for i = 1, 10 do
  1619. if LASTPART == Handle then
  1620. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.2,0),false)
  1621. LASTPART = Part
  1622. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1623. else
  1624. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.05,0),false)
  1625. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  1626. LASTPART = Part
  1627. end
  1628. end
  1629.  
  1630. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.15,2,0.15),false)
  1631. MakeForm(Barrel,"Cyl")
  1632. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1633. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.25,1,0.25),false)
  1634. MakeForm(Part,"Cyl")
  1635. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  1636. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0.1,0.2),false)
  1637. MakeForm(Part,"Wedge")
  1638. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1639. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.125,0,0.125),false)
  1640. MakeForm(Hole,"Cyl")
  1641. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  1642. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0,0),false)
  1643. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1644. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  1645. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Brown", "Eye", VT(0,0,0),false)
  1646. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1647. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  1648. coroutine.resume(coroutine.create(function()
  1649. while wait() do
  1650. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  1651. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  1652. end
  1653. end))
  1654.  
  1655. ParticleEmitter({Speed = 0.2, 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)})
  1656. --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)})
  1657.  
  1658. for _, c in pairs(Weapon:GetDescendants()) do
  1659. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1660. c.Material = "Glass"
  1661. c.Color = C3(0,0,0)
  1662. elseif c.ClassName == "Part" and c.Name == "Eye" then
  1663. c.Color = C3(1,0,0)
  1664. c.Material = "Neon"
  1665. end
  1666. end
  1667.  
  1668. Weapon.Parent = Character
  1669. for _, c in pairs(Weapon:GetChildren()) do
  1670. if c.ClassName == "Part" then
  1671. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1672. end
  1673. end
  1674.  
  1675. local SKILLTEXTCOLOR = C3(1,0,0)
  1676. local SKILLFONT = "Antique"
  1677. local SKILLTEXTSIZE = 7
  1678.  
  1679. Humanoid.Died:connect(function()
  1680. ATTACK = true
  1681. end)
  1682.  
  1683. 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")
  1684. --[[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")
  1685. 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")
  1686. 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")
  1687. 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")
  1688. ]]
  1689. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  1690. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  1691. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  1692. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  1693. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  1694. ]]
  1695. function printbye(Name)
  1696. 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, "}
  1697. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  1698. end
  1699.  
  1700. workspace.ChildAdded:connect(function(instance)
  1701. for BANISH = 1, #TOBANISH do
  1702. if TOBANISH[BANISH] ~= nil then
  1703. if instance.Name == TOBANISH[BANISH] then
  1704. coroutine.resume(coroutine.create(function()
  1705. printbye(instance.Name)
  1706. instance:ClearAllChildren()
  1707. Debris:AddItem(instance,0.0005)
  1708. end))
  1709. end
  1710. end
  1711. end
  1712. end)
  1713.  
  1714. --//=================================\\
  1715. --|| DAMAGING
  1716. --\\=================================//
  1717.  
  1718. function Banish(Foe)
  1719. if Foe then
  1720. coroutine.resume(coroutine.create(function()
  1721. --if game.Players:FindFirstChild(Foe.Name) then
  1722. table.insert(TOBANISH,Foe.Name)
  1723. printbye(Foe.Name)
  1724. --end
  1725. Foe.Archivable = true
  1726. local CLONE = Foe:Clone()
  1727. Foe:Destroy()
  1728. CLONE.Parent = Effects
  1729. CLONE:BreakJoints()
  1730. local MATERIALS = {"Glass","Neon"}
  1731. for _, c in pairs(CLONE:GetDescendants()) do
  1732. if c:IsA("BasePart") then
  1733. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1734. CreateSound(340722848, c, 10, 1, false)
  1735. end
  1736. c.Anchored = true
  1737. c.Transparency = c.Transparency + 0.2
  1738. c.Material = MATERIALS[MRANDOM(1,2)]
  1739. c.Color = C3(1,0,0)
  1740. if c.ClassName == "MeshPart" then
  1741. c.TextureID = ""
  1742. end
  1743. if c:FindFirstChildOfClass("SpecialMesh") then
  1744. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1745. end
  1746. if c:FindFirstChildOfClass("Decal") then
  1747. c:FindFirstChildOfClass("Decal"):remove()
  1748. end
  1749. c.Name = "Banished"
  1750. c.CanCollide = false
  1751. else
  1752. c:remove()
  1753. end
  1754. end
  1755. local A = false
  1756. for i = 1, 35 do
  1757. if A == false then
  1758. A = true
  1759. elseif A == true then
  1760. A = false
  1761. end
  1762. for _, c in pairs(CLONE:GetDescendants()) do
  1763. if c:IsA("BasePart") then
  1764. c.Anchored = true
  1765. c.Material = MATERIALS[MRANDOM(1,2)]
  1766. c.Transparency = c.Transparency + 0.8/35
  1767. if A == false then
  1768. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1769. elseif A == true then
  1770. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1771. end
  1772. end
  1773. end
  1774. Swait()
  1775. end
  1776. CLONE:remove()
  1777. end))
  1778. end
  1779. end
  1780.  
  1781. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1782. local CHILDREN = workspace:GetDescendants()
  1783. for index, CHILD in pairs(CHILDREN) do
  1784. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1785. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1786. if HUM then
  1787. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1788. if TORSO then
  1789. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1790. if ISBANISH == true then
  1791. Banish(CHILD)
  1792. else
  1793. if ISBANISH == "Gravity" then
  1794. HUM.PlatformStand = true
  1795. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1796. local grav = Instance.new("BodyPosition",TORSO)
  1797. grav.D = 15
  1798. grav.P = 20000
  1799. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1800. grav.position = TORSO.Position
  1801. grav.Name = "V3BanishForce"..Player.Name
  1802. else
  1803. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1804. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1805. end
  1806. else
  1807. HUM.PlatformStand = false
  1808. end
  1809. end
  1810. elseif ISBANISH == "Gravity" then
  1811. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1812. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1813. HUM.PlatformStand = false
  1814. end
  1815. end
  1816. end
  1817. end
  1818. end
  1819. end
  1820. end
  1821.  
  1822. --//=================================\\
  1823. --|| ATTACK FUNCTIONS AND STUFF
  1824. --\\=================================//
  1825.  
  1826. function Banisher_Bullet()
  1827. ATTACK = true
  1828. Rooted = false
  1829. for i=0, 0.4, 0.1 / Animation_Speed do
  1830. Swait()
  1831. turnto(Mouse.Hit.p)
  1832. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1833. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1834. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1835. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1836. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1837. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1838. end
  1839. repeat
  1840. for i=0, 0.2, 0.1 / Animation_Speed do
  1841. Swait()
  1842. turnto(Mouse.Hit.p)
  1843. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1844. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1845. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1846. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1847. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1848. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1849. end
  1850. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  1851. SpawnTrail(Hole.Position,POS)
  1852. if HIT ~= nil then
  1853. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1854. Banish(HIT.Parent)
  1855. end
  1856. end
  1857. 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})
  1858. 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 = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1859. 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})
  1860. 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})
  1861. for i=0, 0.3, 0.1 / Animation_Speed do
  1862. Swait()
  1863. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1864. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  1865. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1866. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1867. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1868. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1869. end
  1870. until KEYHOLD == false
  1871. ATTACK = false
  1872. Rooted = false
  1873. end
  1874.  
  1875. function AttackTemplate()
  1876. ATTACK = true
  1877. Rooted = false
  1878. for i=0, 1, 0.1 / Animation_Speed do
  1879. Swait()
  1880. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1881. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1882. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1883. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1884. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1885. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1886. end
  1887. ATTACK = false
  1888. Rooted = false
  1889. end
  1890.  
  1891. --//=================================\\
  1892. --|| ASSIGN THINGS TO KEYS
  1893. --\\=================================//
  1894.  
  1895. function MouseDown(Mouse)
  1896. if ATTACK == false then
  1897. end
  1898. end
  1899.  
  1900. function MouseUp(Mouse)
  1901. HOLD = false
  1902. end
  1903.  
  1904. function KeyDown(Key)
  1905. KEYHOLD = true
  1906. if Key == "z" and ATTACK == false then
  1907. Banisher_Bullet()
  1908. end
  1909.  
  1910. if Key == "b" and ATTACK == false then
  1911. end
  1912.  
  1913. if Key == "c" and ATTACK == false then
  1914. end
  1915.  
  1916. if Key == "v" and ATTACK == false then
  1917. end
  1918.  
  1919. if Key == "x" and ATTACK == false then
  1920. end
  1921. end
  1922.  
  1923. function KeyUp(Key)
  1924. KEYHOLD = false
  1925. end
  1926.  
  1927. Mouse.Button1Down:connect(function(NEWKEY)
  1928. MouseDown(NEWKEY)
  1929. end)
  1930. Mouse.Button1Up:connect(function(NEWKEY)
  1931. MouseUp(NEWKEY)
  1932. end)
  1933. Mouse.KeyDown:connect(function(NEWKEY)
  1934. KeyDown(NEWKEY)
  1935. end)
  1936. Mouse.KeyUp:connect(function(NEWKEY)
  1937. KeyUp(NEWKEY)
  1938. end)
  1939.  
  1940. --//=================================\\
  1941. --\\=================================//
  1942.  
  1943.  
  1944. function unanchor()
  1945. if UNANCHOR == true then
  1946. g = Character:GetChildren()
  1947. for i = 1, #g do
  1948. if g[i].ClassName == "Part" then
  1949. g[i].Anchored = false
  1950. end
  1951. end
  1952. end
  1953. end
  1954.  
  1955.  
  1956. --//=================================\\
  1957. --|| WRAP THE WHOLE SCRIPT UP
  1958. --\\=================================//
  1959.  
  1960. Humanoid.Changed:connect(function(Jump)
  1961. if Jump == "Jump" and (Disable_Jump == true) then
  1962. Humanoid.Jump = false
  1963. end
  1964. end)
  1965.  
  1966. local CONNECT = nil
  1967.  
  1968. while true do
  1969. Swait()
  1970. ANIMATE.Parent = nil
  1971. if Character:FindFirstChildOfClass("Humanoid") == nil then
  1972. Humanoid = IT("Humanoid",Character)
  1973. end
  1974. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1975. v:Stop();
  1976. end
  1977. SINE = SINE + CHANGE
  1978. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1979. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1980. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1981. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1982. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1983. 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)
  1984. 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)
  1985. 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)
  1986. 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)
  1987. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1988. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1989. 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)
  1990. 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)
  1991. 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)
  1992. end
  1993. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1994. ANIM = "Jump"
  1995. if ATTACK == false then
  1996. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1997. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1998. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1999. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2000. 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)
  2001. 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)
  2002. end
  2003. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2004. ANIM = "Fall"
  2005. if ATTACK == false then
  2006. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2007. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2008. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2009. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2010. 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)
  2011. 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)
  2012. end
  2013. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2014. ANIM = "Idle"
  2015. if ATTACK == false then
  2016. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  2017. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  2018. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2019. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2020. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2021. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2022. end
  2023. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2024. ANIM = "Walk"
  2025. if ATTACK == false then
  2026. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2027. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2028. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2029. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
  2030. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  2031. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  2032. end
  2033. end
  2034. unanchor()
  2035. Humanoid.MaxHealth = "inf"
  2036. Humanoid.Health = "inf"
  2037. if Rooted == false then
  2038. Disable_Jump = false
  2039. Humanoid.WalkSpeed = Speed
  2040. elseif Rooted == true then
  2041. Disable_Jump = true
  2042. Humanoid.WalkSpeed = 0
  2043. end
  2044. sick.Parent = Torso
  2045. sick:resume()
  2046. sick.Volume = 5
  2047. sick.Pitch = 1
  2048. sick.SoundId = "https://www.roblox.com/library/1753701701/The-Muffin-Song-FULL-VERSION"
  2049. sick.Name = "BanishV3Music"
  2050. end
  2051.  
  2052. --//=================================\\
  2053. --\\=================================//
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059. --//====================================================\\--
  2060. --|| END OF SCRIPT
  2061. --\\====================================================//--
Add Comment
Please, Sign In to add comment