Advertisement
Christoffer07700Extr

ewqeqewqewq

Sep 2nd, 2019
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 169.06 KB | None | 0 0
  1. script.Name = "Banisher Gun V3 / 1"
  2. --//====================================================\\--
  3. --|| CREATED BY SHACKLUSTER
  4. --\\====================================================//--
  5.  
  6. script:ClearAllChildren()
  7. wait(0.2)
  8.  
  9. Player = game:GetService("Players").LocalPlayer
  10. PlayerGui = Player.PlayerGui
  11. Cam = workspace.CurrentCamera
  12. Backpack = Player.Backpack
  13. Character = Player.Character
  14. Humanoid = Character.Humanoid
  15. Mouse = Player:GetMouse()
  16. RootPart = Character["HumanoidRootPart"]
  17. Torso = Character["Torso"]
  18. Head = Character["Head"]
  19. RightArm = Character["Right Arm"]
  20. LeftArm = Character["Left Arm"]
  21. RightLeg = Character["Right Leg"]
  22. LeftLeg = Character["Left Leg"]
  23. RootJoint = RootPart["RootJoint"]
  24. Neck = Torso["Neck"]
  25. RightShoulder = Torso["Right Shoulder"]
  26. LeftShoulder = Torso["Left Shoulder"]
  27. RightHip = Torso["Right Hip"]
  28. LeftHip = Torso["Left Hip"]
  29. local TIME = 0
  30. local sick = Instance.new("Sound",Torso)
  31.  
  32. IT = Instance.new
  33. CF = CFrame.new
  34. VT = Vector3.new
  35. RAD = math.rad
  36. C3 = Color3.new
  37. UD2 = UDim2.new
  38. BRICKC = BrickColor.new
  39. ANGLES = CFrame.Angles
  40. EULER = CFrame.fromEulerAnglesXYZ
  41. COS = math.cos
  42. ACOS = math.acos
  43. SIN = math.sin
  44. ASIN = math.asin
  45. ABS = math.abs
  46. MRANDOM = math.random
  47. FLOOR = math.floor
  48. --//=================================\\
  49. --|| USEFUL VALUES
  50. --\\=================================//
  51.  
  52. Animation_Speed = 3
  53. local FORCERESET = false
  54. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  55. local Speed = 16
  56. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  57. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  58. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  59. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  60. local DAMAGEMULTIPLIER = 1
  61. local ANIM = "Idle"
  62. local ATTACK = false
  63. local EQUIPPED = false
  64. local HOLD = false
  65. local COMBO = 1
  66. local Rooted = false
  67. local SINE = 0
  68. local KEYHOLD = false
  69. local CHANGE = 2 / Animation_Speed
  70. local WALKINGANIM = false
  71. local VALUE1 = false
  72. local VALUE2 = false
  73. local ROBLOXIDLEANIMATION = IT("Animation")
  74. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  75. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  76. --ROBLOXIDLEANIMATION.Parent = Humanoid
  77. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  78. WEAPONGUI.Name = "BanishV3Gui"
  79. local Weapon = IT("Model")
  80. Weapon.Name = "Adds"
  81. local Effects = IT("Folder", Weapon)
  82. Effects.Name = "Effects"
  83. local ANIMATOR = Humanoid.Animator
  84. local ANIMATE = Character:FindFirstChild("Animate")
  85. local UNANCHOR = true
  86. local TOBANISH = {}
  87. script.Parent = PlayerGui
  88.  
  89. --//=================================\\
  90. --\\=================================//
  91.  
  92.  
  93. --//=================================\\
  94. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  95. --\\=================================//
  96.  
  97. ArtificialHB = Instance.new("BindableEvent", script)
  98. ArtificialHB.Name = "ArtificialHB"
  99.  
  100. script:WaitForChild("ArtificialHB")
  101.  
  102. frame = Frame_Speed
  103. tf = 0
  104. allowframeloss = false
  105. tossremainder = false
  106. lastframe = tick()
  107. script.ArtificialHB:Fire()
  108.  
  109. game:GetService("RunService").Heartbeat:connect(function(s, p)
  110. tf = tf + s
  111. if tf >= frame then
  112. if allowframeloss then
  113. script.ArtificialHB:Fire()
  114. lastframe = tick()
  115. else
  116. for i = 1, math.floor(tf / frame) do
  117. script.ArtificialHB:Fire()
  118. end
  119. lastframe = tick()
  120. end
  121. if tossremainder then
  122. tf = 0
  123. else
  124. tf = tf - frame * math.floor(tf / frame)
  125. end
  126. end
  127. end)
  128.  
  129. --//=================================\\
  130. --\\=================================//
  131.  
  132. --//=================================\\
  133. --|| SOME FUNCTIONS
  134. --\\=================================//
  135.  
  136. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  137. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  138. end
  139.  
  140. function PositiveAngle(NUMBER)
  141. if NUMBER >= 0 then
  142. NUMBER = 0
  143. end
  144. return NUMBER
  145. end
  146.  
  147. function NegativeAngle(NUMBER)
  148. if NUMBER <= 0 then
  149. NUMBER = 0
  150. end
  151. return NUMBER
  152. end
  153.  
  154. function Swait(NUMBER)
  155. if NUMBER == 0 or NUMBER == nil then
  156. ArtificialHB.Event:wait()
  157. else
  158. for i = 1, NUMBER do
  159. ArtificialHB.Event:wait()
  160. end
  161. end
  162. end
  163.  
  164. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  165. local NEWMESH = IT(MESH)
  166. if MESH == "SpecialMesh" then
  167. NEWMESH.MeshType = MESHTYPE
  168. if MESHID ~= "nil" and MESHID ~= "" then
  169. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  170. end
  171. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  172. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  173. end
  174. end
  175. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  176. NEWMESH.Scale = SCALE
  177. NEWMESH.Parent = PARENT
  178. return NEWMESH
  179. end
  180.  
  181. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  182. local NEWPART = IT("Part")
  183. NEWPART.formFactor = FORMFACTOR
  184. NEWPART.Reflectance = REFLECTANCE
  185. NEWPART.Transparency = TRANSPARENCY
  186. NEWPART.CanCollide = false
  187. NEWPART.Locked = true
  188. NEWPART.Anchored = true
  189. if ANCHOR == false then
  190. NEWPART.Anchored = false
  191. end
  192. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  193. NEWPART.Name = NAME
  194. NEWPART.Size = SIZE
  195. NEWPART.Position = Torso.Position
  196. NEWPART.Material = MATERIAL
  197. NEWPART:BreakJoints()
  198. NEWPART.Parent = PARENT
  199. return NEWPART
  200. end
  201.  
  202. local function weldBetween(a, b)
  203. local weldd = Instance.new("ManualWeld")
  204. weldd.Part0 = a
  205. weldd.Part1 = b
  206. weldd.C0 = CFrame.new()
  207. weldd.C1 = b.CFrame:inverse() * a.CFrame
  208. weldd.Parent = a
  209. return weldd
  210. end
  211.  
  212.  
  213. function QuaternionFromCFrame(cf)
  214. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  215. local trace = m00 + m11 + m22
  216. if trace > 0 then
  217. local s = math.sqrt(1 + trace)
  218. local recip = 0.5 / s
  219. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  220. else
  221. local i = 0
  222. if m11 > m00 then
  223. i = 1
  224. end
  225. if m22 > (i == 0 and m00 or m11) then
  226. i = 2
  227. end
  228. if i == 0 then
  229. local s = math.sqrt(m00 - m11 - m22 + 1)
  230. local recip = 0.5 / s
  231. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  232. elseif i == 1 then
  233. local s = math.sqrt(m11 - m22 - m00 + 1)
  234. local recip = 0.5 / s
  235. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  236. elseif i == 2 then
  237. local s = math.sqrt(m22 - m00 - m11 + 1)
  238. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  239. end
  240. end
  241. end
  242.  
  243. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  244. local xs, ys, zs = x + x, y + y, z + z
  245. local wx, wy, wz = w * xs, w * ys, w * zs
  246. local xx = x * xs
  247. local xy = x * ys
  248. local xz = x * zs
  249. local yy = y * ys
  250. local yz = y * zs
  251. local zz = z * zs
  252. 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))
  253. end
  254.  
  255. function QuaternionSlerp(a, b, t)
  256. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  257. local startInterp, finishInterp;
  258. if cosTheta >= 0.0001 then
  259. if (1 - cosTheta) > 0.0001 then
  260. local theta = ACOS(cosTheta)
  261. local invSinTheta = 1 / SIN(theta)
  262. startInterp = SIN((1 - t) * theta) * invSinTheta
  263. finishInterp = SIN(t * theta) * invSinTheta
  264. else
  265. startInterp = 1 - t
  266. finishInterp = t
  267. end
  268. else
  269. if (1 + cosTheta) > 0.0001 then
  270. local theta = ACOS(-cosTheta)
  271. local invSinTheta = 1 / SIN(theta)
  272. startInterp = SIN((t - 1) * theta) * invSinTheta
  273. finishInterp = SIN(t * theta) * invSinTheta
  274. else
  275. startInterp = t - 1
  276. finishInterp = t
  277. end
  278. end
  279. 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
  280. end
  281.  
  282. function Clerp(a, b, t)
  283. local qa = {QuaternionFromCFrame(a)}
  284. local qb = {QuaternionFromCFrame(b)}
  285. local ax, ay, az = a.x, a.y, a.z
  286. local bx, by, bz = b.x, b.y, b.z
  287. local _t = 1 - t
  288. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  289. end
  290.  
  291. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  292. local frame = IT("Frame")
  293. frame.BackgroundTransparency = TRANSPARENCY
  294. frame.BorderSizePixel = BORDERSIZEPIXEL
  295. frame.Position = POSITION
  296. frame.Size = SIZE
  297. frame.BackgroundColor3 = COLOR
  298. frame.BorderColor3 = BORDERCOLOR
  299. frame.Name = NAME
  300. frame.Parent = PARENT
  301. return frame
  302. end
  303.  
  304. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  305. local label = IT("TextLabel")
  306. label.BackgroundTransparency = 1
  307. label.Size = UD2(1, 0, 1, 0)
  308. label.Position = UD2(0, 0, 0, 0)
  309. label.TextColor3 = TEXTCOLOR
  310. label.TextStrokeTransparency = STROKETRANSPARENCY
  311. label.TextTransparency = TRANSPARENCY
  312. label.FontSize = TEXTFONTSIZE
  313. label.Font = TEXTFONT
  314. label.BorderSizePixel = BORDERSIZEPIXEL
  315. label.TextScaled = false
  316. label.Text = TEXT
  317. label.Name = NAME
  318. label.Parent = PARENT
  319. return label
  320. end
  321.  
  322. function NoOutlines(PART)
  323. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  324. end
  325.  
  326. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  327. local NEWWELD = IT(TYPE)
  328. NEWWELD.Part0 = PART0
  329. NEWWELD.Part1 = PART1
  330. NEWWELD.C0 = C0
  331. NEWWELD.C1 = C1
  332. NEWWELD.Parent = PARENT
  333. return NEWWELD
  334. end
  335.  
  336. local S = IT("Sound")
  337. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  338. local NEWSOUND = nil
  339. coroutine.resume(coroutine.create(function()
  340. NEWSOUND = S:Clone()
  341. NEWSOUND.Parent = PARENT
  342. NEWSOUND.Volume = VOLUME
  343. NEWSOUND.Pitch = PITCH
  344. NEWSOUND.SoundId = "1753701701"..ID
  345. NEWSOUND:play()
  346. if DOESLOOP == true then
  347. NEWSOUND.Looped = true
  348. else
  349. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  350. NEWSOUND:remove()
  351. end
  352. end))
  353. return NEWSOUND
  354. end
  355.  
  356. function CFrameFromTopBack(at, top, back)
  357. local right = top:Cross(back)
  358. 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)
  359. end
  360.  
  361. --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})
  362. function WACKYEFFECT(Table)
  363. local TYPE = (Table.EffectType or "Sphere")
  364. local SIZE = (Table.Size or VT(1,1,1))
  365. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  366. local TRANSPARENCY = (Table.Transparency or 0)
  367. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  368. local CFRAME = (Table.CFrame or Torso.CFrame)
  369. local MOVEDIRECTION = (Table.MoveToPos or nil)
  370. local ROTATION1 = (Table.RotationX or 0)
  371. local ROTATION2 = (Table.RotationY or 0)
  372. local ROTATION3 = (Table.RotationZ or 0)
  373. local MATERIAL = (Table.Material or "Neon")
  374. local COLOR = (Table.Color or C3(1,1,1))
  375. local TIME = (Table.Time or 45)
  376. local SOUNDID = (Table.SoundID or nil)
  377. local SOUNDPITCH = (Table.SoundPitch or nil)
  378. local SOUNDVOLUME = (Table.SoundVolume or nil)
  379. coroutine.resume(coroutine.create(function()
  380. local PLAYSSOUND = false
  381. local SOUND = nil
  382. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  383. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  384. PLAYSSOUND = true
  385. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  386. end
  387. EFFECT.Color = COLOR
  388. local MSH = nil
  389. if TYPE == "Sphere" then
  390. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  391. elseif TYPE == "Block" then
  392. MSH = IT("BlockMesh",EFFECT)
  393. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  394. elseif TYPE == "Wave" then
  395. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  396. elseif TYPE == "Ring" then
  397. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  398. elseif TYPE == "Slash" then
  399. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  400. elseif TYPE == "Round Slash" then
  401. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  402. elseif TYPE == "Swirl" then
  403. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  404. elseif TYPE == "Skull" then
  405. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  406. elseif TYPE == "Crystal" then
  407. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  408. end
  409. if MSH ~= nil then
  410. local MOVESPEED = nil
  411. if MOVEDIRECTION ~= nil then
  412. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  413. end
  414. local GROWTH = SIZE - ENDSIZE
  415. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  416. if TYPE == "Block" then
  417. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  418. else
  419. EFFECT.CFrame = CFRAME
  420. end
  421. for LOOP = 1, TIME+1 do
  422. Swait()
  423. MSH.Scale = MSH.Scale - GROWTH/TIME
  424. if TYPE == "Wave" then
  425. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  426. end
  427. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  428. if TYPE == "Block" then
  429. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  430. else
  431. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  432. end
  433. if MOVEDIRECTION ~= nil then
  434. local ORI = EFFECT.Orientation
  435. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  436. EFFECT.Orientation = ORI
  437. end
  438. end
  439. if PLAYSSOUND == false then
  440. EFFECT:remove()
  441. else
  442. SOUND.Stopped:Connect(function()
  443. EFFECT:remove()
  444. end)
  445. end
  446. else
  447. if PLAYSSOUND == false then
  448. EFFECT:remove()
  449. else
  450. repeat Swait() until SOUND.Playing == false
  451. EFFECT:remove()
  452. end
  453. end
  454. end))
  455. end
  456.  
  457. function MakeForm(PART,TYPE)
  458. if TYPE == "Cyl" then
  459. local MSH = IT("CylinderMesh",PART)
  460. elseif TYPE == "Ball" then
  461. local MSH = IT("SpecialMesh",PART)
  462. MSH.MeshType = "Sphere"
  463. elseif TYPE == "Wedge" then
  464. local MSH = IT("SpecialMesh",PART)
  465. MSH.MeshType = "Wedge"
  466. end
  467. end
  468.  
  469. function SpawnTrail(FROM,TO,BIG)
  470. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  471. MakeForm(TRAIL,"Cyl")
  472. local DIST = (FROM - TO).Magnitude
  473. if BIG == true then
  474. TRAIL.Size = VT(0.5,DIST,0.5)
  475. else
  476. TRAIL.Size = VT(0.25,DIST,0.25)
  477. end
  478. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  479. coroutine.resume(coroutine.create(function()
  480. for i = 1, 5 do
  481. Swait()
  482. TRAIL.Transparency = TRAIL.Transparency + 0.1
  483. end
  484. TRAIL:remove()
  485. end))
  486. end
  487.  
  488. Debris = game:GetService("Debris")
  489.  
  490. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  491. local DIRECTION = CF(StartPos,EndPos).lookVector
  492. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  493. end
  494.  
  495. function turnto(position)
  496. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  497. end
  498.  
  499. --//=================================\\
  500. --|| WEAPON CREATION
  501. --\\=================================//
  502.  
  503. local Particle = IT("ParticleEmitter",nil)
  504. Particle.Enabled = false
  505. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  506. Particle.LightEmission = 0.5
  507. Particle.Rate = 150
  508. Particle.ZOffset = 0.2
  509. Particle.Rotation = NumberRange.new(-180, 180)
  510. Particle.RotSpeed = NumberRange.new(-180, 180)
  511. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  512. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  513.  
  514. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  515. function ParticleEmitter(Table)
  516. local PRTCL = Particle:Clone()
  517. local Speed = Table.Speed or 5
  518. local Drag = Table.Drag or 0
  519. local Size1 = Table.Size1 or 1
  520. local Size2 = Table.Size2 or 5
  521. local Lifetime1 = Table.Lifetime1 or 1
  522. local Lifetime2 = Table.Lifetime2 or 1.5
  523. local Parent = Table.Parent or Torso
  524. local Emit = Table.Emit or 100
  525. local Offset = Table.Offset or 360
  526. local Acel = Table.Acel or VT(0,0,0)
  527. local Enabled = Table.Enabled or false
  528. PRTCL.Parent = Parent
  529. PRTCL.Size = NumberSequence.new(Size1,Size2)
  530. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  531. PRTCL.Speed = NumberRange.new(Speed)
  532. PRTCL.VelocitySpread = Offset
  533. PRTCL.Drag = Drag
  534. PRTCL.Acceleration = Acel
  535. if Enabled == false then
  536. PRTCL:Emit(Emit)
  537. Debris:AddItem(PRTCL,Lifetime2)
  538. else
  539. PRTCL.Enabled = true
  540. end
  541. return PRTCL
  542. end
  543.  
  544. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.6,0.2),false)
  545. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  546. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  547. MakeForm(Part,"Wedge")
  548. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  549. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.3,0.2),false)
  550. MakeForm(Part,"Wedge")
  551. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  552. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.3,0.3),false)
  553. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  554. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.5,0.5),false)
  555. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  556. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.4,0.4,0.4),false)
  557. MakeForm(Part,"Cyl")
  558. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  559. for i = 1, 8 do
  560. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0,0.35,0.41),false)
  561. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  562. end
  563. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.38,0.41,0.38),false)
  564. MakeForm(Part,"Cyl")
  565. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  566. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.37,0.5,0.37),false)
  567. MakeForm(Part,"Ball")
  568. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  569. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.7,0.4),false)
  570. MakeForm(Part,"Wedge")
  571. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  572. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.4,0.2),false)
  573. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  574. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.35,0.35,0.35),false)
  575. MakeForm(Part,"Cyl")
  576. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  577. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.5),false)
  578. MakeForm(Part,"Cyl")
  579. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  580. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.45),false)
  581. MakeForm(Part,"Cyl")
  582. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  583. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  584. MakeForm(Part,"Wedge")
  585. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  586. local LASTPART = Handle
  587. for i = 1, 10 do
  588. if LASTPART == Handle then
  589. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.2,0),false)
  590. LASTPART = Part
  591. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  592. else
  593. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.05,0),false)
  594. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  595. LASTPART = Part
  596. end
  597. end
  598.  
  599. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.15,2,0.15),false)
  600. MakeForm(Barrel,"Cyl")
  601. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  602. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.25,1,0.25),false)
  603. MakeForm(Part,"Cyl")
  604. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  605. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0.1,0.2),false)
  606. MakeForm(Part,"Wedge")
  607. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  608. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.125,0,0.125),false)
  609. MakeForm(Hole,"Cyl")
  610. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  611. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0,0),false)
  612. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  613. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  614. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Brown", "Eye", VT(0,0,0),false)
  615. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  616. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  617. coroutine.resume(coroutine.create(function()
  618. while wait() do
  619. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  620. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  621. end
  622. end))
  623.  
  624. 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)})
  625. --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)})
  626.  
  627. for _, c in pairs(Weapon:GetDescendants()) do
  628. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  629. c.Material = "Glass"
  630. c.Color = C3(0,0,0)
  631. elseif c.ClassName == "Part" and c.Name == "Eye" then
  632. c.Color = C3(1,0,0)
  633. c.Material = "Neon"
  634. end
  635. end
  636.  
  637. Weapon.Parent = Character
  638. for _, c in pairs(Weapon:GetChildren()) do
  639. if c.ClassName == "Part" then
  640. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  641. end
  642. end
  643.  
  644. local SKILLTEXTCOLOR = C3(1,0,0)
  645. local SKILLFONT = "Antique"
  646. local SKILLTEXTSIZE = 7
  647.  
  648. Humanoid.Died:connect(function()
  649. ATTACK = true
  650. end)
  651.  
  652. 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")
  653. --[[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")
  654. 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")
  655. 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")
  656. 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")
  657. ]]
  658. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  659. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  660. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  661. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  662. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  663. ]]
  664. function printbye(Name)
  665. 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, "}
  666. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  667. end
  668.  
  669. workspace.ChildAdded:connect(function(instance)
  670. for BANISH = 1, #TOBANISH do
  671. if TOBANISH[BANISH] ~= nil then
  672. if instance.Name == TOBANISH[BANISH] then
  673. coroutine.resume(coroutine.create(function()
  674. printbye(instance.Name)
  675. instance:ClearAllChildren()
  676. Debris:AddItem(instance,0.0005)
  677. end))
  678. end
  679. end
  680. end
  681. end)
  682.  
  683. --//=================================\\
  684. --|| DAMAGING
  685. --\\=================================//
  686.  
  687. function Banish(Foe)
  688. if Foe then
  689. coroutine.resume(coroutine.create(function()
  690. --if game.Players:FindFirstChild(Foe.Name) then
  691. table.insert(TOBANISH,Foe.Name)
  692. printbye(Foe.Name)
  693. --end
  694. Foe.Archivable = true
  695. local CLONE = Foe:Clone()
  696. Foe:Destroy()
  697. CLONE.Parent = Effects
  698. CLONE:BreakJoints()
  699. local MATERIALS = {"Glass","Neon"}
  700. for _, c in pairs(CLONE:GetDescendants()) do
  701. if c:IsA("BasePart") then
  702. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  703. CreateSound(340722848, c, 10, 1, false)
  704. end
  705. c.Anchored = true
  706. c.Transparency = c.Transparency + 0.2
  707. c.Material = MATERIALS[MRANDOM(1,2)]
  708. c.Color = C3(1,0,0)
  709. if c.ClassName == "MeshPart" then
  710. c.TextureID = ""
  711. end
  712. if c:FindFirstChildOfClass("SpecialMesh") then
  713. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  714. end
  715. if c:FindFirstChildOfClass("Decal") then
  716. c:FindFirstChildOfClass("Decal"):remove()
  717. end
  718. c.Name = "Banished"
  719. c.CanCollide = false
  720. else
  721. c:remove()
  722. end
  723. end
  724. local A = false
  725. for i = 1, 35 do
  726. if A == false then
  727. A = true
  728. elseif A == true then
  729. A = false
  730. end
  731. for _, c in pairs(CLONE:GetDescendants()) do
  732. if c:IsA("BasePart") then
  733. c.Anchored = true
  734. c.Material = MATERIALS[MRANDOM(1,2)]
  735. c.Transparency = c.Transparency + 0.8/35
  736. if A == false then
  737. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  738. elseif A == true then
  739. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  740. end
  741. end
  742. end
  743. Swait()
  744. end
  745. CLONE:remove()
  746. end))
  747. end
  748. end
  749.  
  750. function ApplyAoE(POSITION,RANGE,ISBANISH)
  751. local CHILDREN = workspace:GetDescendants()
  752. for index, CHILD in pairs(CHILDREN) do
  753. if CHILD.ClassName == "Model" and CHILD ~= Character then
  754. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  755. if HUM then
  756. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  757. if TORSO then
  758. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  759. if ISBANISH == true then
  760. Banish(CHILD)
  761. else
  762. if ISBANISH == "Gravity" then
  763. HUM.PlatformStand = true
  764. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  765. local grav = Instance.new("BodyPosition",TORSO)
  766. grav.D = 15
  767. grav.P = 20000
  768. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  769. grav.position = TORSO.Position
  770. grav.Name = "V3BanishForce"..Player.Name
  771. else
  772. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  773. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  774. end
  775. else
  776. HUM.PlatformStand = false
  777. end
  778. end
  779. elseif ISBANISH == "Gravity" then
  780. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  781. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  782. HUM.PlatformStand = false
  783. end
  784. end
  785. end
  786. end
  787. end
  788. end
  789. end
  790.  
  791. --//=================================\\
  792. --|| ATTACK FUNCTIONS AND STUFF
  793. --\\=================================//
  794.  
  795. function Banisher_Bullet()
  796. ATTACK = true
  797. Rooted = false
  798. for i=0, 0.4, 0.1 / Animation_Speed do
  799. Swait()
  800. turnto(Mouse.Hit.p)
  801. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  802. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  803. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  804. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  805. 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)
  806. 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)
  807. end
  808. repeat
  809. for i=0, 0.2, 0.1 / Animation_Speed do
  810. Swait()
  811. turnto(Mouse.Hit.p)
  812. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  813. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  814. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  815. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  816. 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)
  817. 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)
  818. end
  819. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  820. SpawnTrail(Hole.Position,POS)
  821. if HIT ~= nil then
  822. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  823. Banish(HIT.Parent)
  824. end
  825. end
  826. 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})
  827. 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})
  828. 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})
  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. for i=0, 0.3, 0.1 / Animation_Speed do
  831. Swait()
  832. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  833. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  834. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  835. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  836. 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)
  837. 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)
  838. end
  839. until KEYHOLD == false
  840. ATTACK = false
  841. Rooted = false
  842. end
  843.  
  844. function AttackTemplate()
  845. ATTACK = true
  846. Rooted = false
  847. for i=0, 1, 0.1 / Animation_Speed do
  848. Swait()
  849. 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)
  850. 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)
  851. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  852. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  853. 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)
  854. 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)
  855. end
  856. ATTACK = false
  857. Rooted = false
  858. end
  859.  
  860. --//=================================\\
  861. --|| ASSIGN THINGS TO KEYS
  862. --\\=================================//
  863.  
  864. function MouseDown(Mouse)
  865. if ATTACK == false then
  866. end
  867. end
  868.  
  869. function MouseUp(Mouse)
  870. HOLD = false
  871. end
  872.  
  873. function KeyDown(Key)
  874. KEYHOLD = true
  875. if Key == "z" and ATTACK == false then
  876. Banisher_Bullet()
  877. end
  878.  
  879. if Key == "b" and ATTACK == false then
  880. end
  881.  
  882. if Key == "c" and ATTACK == false then
  883. end
  884.  
  885. if Key == "v" and ATTACK == false then
  886. end
  887.  
  888. if Key == "x" and ATTACK == false then
  889. end
  890. end
  891.  
  892. function KeyUp(Key)
  893. KEYHOLD = false
  894. end
  895.  
  896. Mouse.Button1Down:connect(function(NEWKEY)
  897. MouseDown(NEWKEY)
  898. end)
  899. Mouse.Button1Up:connect(function(NEWKEY)
  900. MouseUp(NEWKEY)
  901. end)
  902. Mouse.KeyDown:connect(function(NEWKEY)
  903. KeyDown(NEWKEY)
  904. end)
  905. Mouse.KeyUp:connect(function(NEWKEY)
  906. KeyUp(NEWKEY)
  907. end)
  908.  
  909. --//=================================\\
  910. --\\=================================//
  911.  
  912.  
  913. function unanchor()
  914. if UNANCHOR == true then
  915. g = Character:GetChildren()
  916. for i = 1, #g do
  917. if g[i].ClassName == "Part" then
  918. g[i].Anchored = false
  919. end
  920. end
  921. end
  922. end
  923.  
  924.  
  925. --//=================================\\
  926. --|| WRAP THE WHOLE SCRIPT UP
  927. --\\=================================//
  928.  
  929. Humanoid.Changed:connect(function(Jump)
  930. if Jump == "Jump" and (Disable_Jump == true) then
  931. Humanoid.Jump = false
  932. end
  933. end)
  934.  
  935. local CONNECT = nil
  936.  
  937. while true do
  938. Swait()
  939. ANIMATE.Parent = nil
  940. if Character:FindFirstChildOfClass("Humanoid") == nil then
  941. Humanoid = IT("Humanoid",Character)
  942. end
  943. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  944. v:Stop();
  945. end
  946. SINE = SINE + CHANGE
  947. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  948. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  949. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  950. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  951. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  952. 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)
  953. 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)
  954. 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)
  955. 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)
  956. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  957. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  958. 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)
  959. 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)
  960. 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)
  961. end
  962. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  963. ANIM = "Jump"
  964. if ATTACK == false then
  965. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  966. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  967. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  968. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  969. 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)
  970. 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)
  971. end
  972. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  973. ANIM = "Fall"
  974. if ATTACK == false then
  975. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  976. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  977. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  978. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  979. 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)
  980. 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)
  981. end
  982. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  983. ANIM = "Idle"
  984. if ATTACK == false then
  985. 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)
  986. 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)
  987. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  988. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  989. 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)
  990. 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)
  991. end
  992. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  993. ANIM = "Walk"
  994. if ATTACK == false then
  995. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  996. 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)
  997. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  998. 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)
  999. 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)
  1000. 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)
  1001. end
  1002. end
  1003. unanchor()
  1004. Humanoid.MaxHealth = "inf"
  1005. Humanoid.Health = "inf"
  1006. if Rooted == false then
  1007. Disable_Jump = false
  1008. Humanoid.WalkSpeed = Speed
  1009. elseif Rooted == true then
  1010. Disable_Jump = true
  1011. Humanoid.WalkSpeed = 0
  1012. end
  1013. sick.Parent = Torso
  1014. sick:resume()
  1015. sick.Volume = 5
  1016. sick.Pitch = 1
  1017. sick.SoundId = "script.Name = "Banisher Gun V3 / 1"
  1018. --//====================================================\\--
  1019. --|| CREATED BY SHACKLUSTER
  1020. --\\====================================================//--
  1021.  
  1022. script:ClearAllChildren()
  1023. wait(0.2)
  1024.  
  1025. Player = game:GetService("Players").LocalPlayer
  1026. PlayerGui = Player.PlayerGui
  1027. Cam = workspace.CurrentCamera
  1028. Backpack = Player.Backpack
  1029. Character = Player.Character
  1030. Humanoid = Character.Humanoid
  1031. Mouse = Player:GetMouse()
  1032. RootPart = Character["HumanoidRootPart"]
  1033. Torso = Character["Torso"]
  1034. Head = Character["Head"]
  1035. RightArm = Character["Right Arm"]
  1036. LeftArm = Character["Left Arm"]
  1037. RightLeg = Character["Right Leg"]
  1038. LeftLeg = Character["Left Leg"]
  1039. RootJoint = RootPart["RootJoint"]
  1040. Neck = Torso["Neck"]
  1041. RightShoulder = Torso["Right Shoulder"]
  1042. LeftShoulder = Torso["Left Shoulder"]
  1043. RightHip = Torso["Right Hip"]
  1044. LeftHip = Torso["Left Hip"]
  1045. local TIME = 0
  1046. local sick = Instance.new("Sound",Torso)
  1047.  
  1048. IT = Instance.new
  1049. CF = CFrame.new
  1050. VT = Vector3.new
  1051. RAD = math.rad
  1052. C3 = Color3.new
  1053. UD2 = UDim2.new
  1054. BRICKC = BrickColor.new
  1055. ANGLES = CFrame.Angles
  1056. EULER = CFrame.fromEulerAnglesXYZ
  1057. COS = math.cos
  1058. ACOS = math.acos
  1059. SIN = math.sin
  1060. ASIN = math.asin
  1061. ABS = math.abs
  1062. MRANDOM = math.random
  1063. FLOOR = math.floor
  1064. --//=================================\\
  1065. --|| USEFUL VALUES
  1066. --\\=================================//
  1067.  
  1068. Animation_Speed = 3
  1069. local FORCERESET = false
  1070. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  1071. local Speed = 16
  1072. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1073. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1074. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  1075. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  1076. local DAMAGEMULTIPLIER = 1
  1077. local ANIM = "Idle"
  1078. local ATTACK = false
  1079. local EQUIPPED = false
  1080. local HOLD = false
  1081. local COMBO = 1
  1082. local Rooted = false
  1083. local SINE = 0
  1084. local KEYHOLD = false
  1085. local CHANGE = 2 / Animation_Speed
  1086. local WALKINGANIM = false
  1087. local VALUE1 = false
  1088. local VALUE2 = false
  1089. local ROBLOXIDLEANIMATION = IT("Animation")
  1090. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  1091. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  1092. --ROBLOXIDLEANIMATION.Parent = Humanoid
  1093. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  1094. WEAPONGUI.Name = "BanishV3Gui"
  1095. local Weapon = IT("Model")
  1096. Weapon.Name = "Adds"
  1097. local Effects = IT("Folder", Weapon)
  1098. Effects.Name = "Effects"
  1099. local ANIMATOR = Humanoid.Animator
  1100. local ANIMATE = Character:FindFirstChild("Animate")
  1101. local UNANCHOR = true
  1102. local TOBANISH = {}
  1103. script.Parent = PlayerGui
  1104.  
  1105. --//=================================\\
  1106. --\\=================================//
  1107.  
  1108.  
  1109. --//=================================\\
  1110. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  1111. --\\=================================//
  1112.  
  1113. ArtificialHB = Instance.new("BindableEvent", script)
  1114. ArtificialHB.Name = "ArtificialHB"
  1115.  
  1116. script:WaitForChild("ArtificialHB")
  1117.  
  1118. frame = Frame_Speed
  1119. tf = 0
  1120. allowframeloss = false
  1121. tossremainder = false
  1122. lastframe = tick()
  1123. script.ArtificialHB:Fire()
  1124.  
  1125. game:GetService("RunService").Heartbeat:connect(function(s, p)
  1126. tf = tf + s
  1127. if tf >= frame then
  1128. if allowframeloss then
  1129. script.ArtificialHB:Fire()
  1130. lastframe = tick()
  1131. else
  1132. for i = 1, math.floor(tf / frame) do
  1133. script.ArtificialHB:Fire()
  1134. end
  1135. lastframe = tick()
  1136. end
  1137. if tossremainder then
  1138. tf = 0
  1139. else
  1140. tf = tf - frame * math.floor(tf / frame)
  1141. end
  1142. end
  1143. end)
  1144.  
  1145. --//=================================\\
  1146. --\\=================================//
  1147.  
  1148. --//=================================\\
  1149. --|| SOME FUNCTIONS
  1150. --\\=================================//
  1151.  
  1152. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1153. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1154. end
  1155.  
  1156. function PositiveAngle(NUMBER)
  1157. if NUMBER >= 0 then
  1158. NUMBER = 0
  1159. end
  1160. return NUMBER
  1161. end
  1162.  
  1163. function NegativeAngle(NUMBER)
  1164. if NUMBER <= 0 then
  1165. NUMBER = 0
  1166. end
  1167. return NUMBER
  1168. end
  1169.  
  1170. function Swait(NUMBER)
  1171. if NUMBER == 0 or NUMBER == nil then
  1172. ArtificialHB.Event:wait()
  1173. else
  1174. for i = 1, NUMBER do
  1175. ArtificialHB.Event:wait()
  1176. end
  1177. end
  1178. end
  1179.  
  1180. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1181. local NEWMESH = IT(MESH)
  1182. if MESH == "SpecialMesh" then
  1183. NEWMESH.MeshType = MESHTYPE
  1184. if MESHID ~= "nil" and MESHID ~= "" then
  1185. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1186. end
  1187. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1188. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1189. end
  1190. end
  1191. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1192. NEWMESH.Scale = SCALE
  1193. NEWMESH.Parent = PARENT
  1194. return NEWMESH
  1195. end
  1196.  
  1197. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1198. local NEWPART = IT("Part")
  1199. NEWPART.formFactor = FORMFACTOR
  1200. NEWPART.Reflectance = REFLECTANCE
  1201. NEWPART.Transparency = TRANSPARENCY
  1202. NEWPART.CanCollide = false
  1203. NEWPART.Locked = true
  1204. NEWPART.Anchored = true
  1205. if ANCHOR == false then
  1206. NEWPART.Anchored = false
  1207. end
  1208. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1209. NEWPART.Name = NAME
  1210. NEWPART.Size = SIZE
  1211. NEWPART.Position = Torso.Position
  1212. NEWPART.Material = MATERIAL
  1213. NEWPART:BreakJoints()
  1214. NEWPART.Parent = PARENT
  1215. return NEWPART
  1216. end
  1217.  
  1218. local function weldBetween(a, b)
  1219. local weldd = Instance.new("ManualWeld")
  1220. weldd.Part0 = a
  1221. weldd.Part1 = b
  1222. weldd.C0 = CFrame.new()
  1223. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1224. weldd.Parent = a
  1225. return weldd
  1226. end
  1227.  
  1228.  
  1229. function QuaternionFromCFrame(cf)
  1230. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1231. local trace = m00 + m11 + m22
  1232. if trace > 0 then
  1233. local s = math.sqrt(1 + trace)
  1234. local recip = 0.5 / s
  1235. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1236. else
  1237. local i = 0
  1238. if m11 > m00 then
  1239. i = 1
  1240. end
  1241. if m22 > (i == 0 and m00 or m11) then
  1242. i = 2
  1243. end
  1244. if i == 0 then
  1245. local s = math.sqrt(m00 - m11 - m22 + 1)
  1246. local recip = 0.5 / s
  1247. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1248. elseif i == 1 then
  1249. local s = math.sqrt(m11 - m22 - m00 + 1)
  1250. local recip = 0.5 / s
  1251. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1252. elseif i == 2 then
  1253. local s = math.sqrt(m22 - m00 - m11 + 1)
  1254. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1255. end
  1256. end
  1257. end
  1258.  
  1259. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1260. local xs, ys, zs = x + x, y + y, z + z
  1261. local wx, wy, wz = w * xs, w * ys, w * zs
  1262. local xx = x * xs
  1263. local xy = x * ys
  1264. local xz = x * zs
  1265. local yy = y * ys
  1266. local yz = y * zs
  1267. local zz = z * zs
  1268. 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))
  1269. end
  1270.  
  1271. function QuaternionSlerp(a, b, t)
  1272. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1273. local startInterp, finishInterp;
  1274. if cosTheta >= 0.0001 then
  1275. if (1 - cosTheta) > 0.0001 then
  1276. local theta = ACOS(cosTheta)
  1277. local invSinTheta = 1 / SIN(theta)
  1278. startInterp = SIN((1 - t) * theta) * invSinTheta
  1279. finishInterp = SIN(t * theta) * invSinTheta
  1280. else
  1281. startInterp = 1 - t
  1282. finishInterp = t
  1283. end
  1284. else
  1285. if (1 + cosTheta) > 0.0001 then
  1286. local theta = ACOS(-cosTheta)
  1287. local invSinTheta = 1 / SIN(theta)
  1288. startInterp = SIN((t - 1) * theta) * invSinTheta
  1289. finishInterp = SIN(t * theta) * invSinTheta
  1290. else
  1291. startInterp = t - 1
  1292. finishInterp = t
  1293. end
  1294. end
  1295. 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
  1296. end
  1297.  
  1298. function Clerp(a, b, t)
  1299. local qa = {QuaternionFromCFrame(a)}
  1300. local qb = {QuaternionFromCFrame(b)}
  1301. local ax, ay, az = a.x, a.y, a.z
  1302. local bx, by, bz = b.x, b.y, b.z
  1303. local _t = 1 - t
  1304. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1305. end
  1306.  
  1307. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1308. local frame = IT("Frame")
  1309. frame.BackgroundTransparency = TRANSPARENCY
  1310. frame.BorderSizePixel = BORDERSIZEPIXEL
  1311. frame.Position = POSITION
  1312. frame.Size = SIZE
  1313. frame.BackgroundColor3 = COLOR
  1314. frame.BorderColor3 = BORDERCOLOR
  1315. frame.Name = NAME
  1316. frame.Parent = PARENT
  1317. return frame
  1318. end
  1319.  
  1320. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1321. local label = IT("TextLabel")
  1322. label.BackgroundTransparency = 1
  1323. label.Size = UD2(1, 0, 1, 0)
  1324. label.Position = UD2(0, 0, 0, 0)
  1325. label.TextColor3 = TEXTCOLOR
  1326. label.TextStrokeTransparency = STROKETRANSPARENCY
  1327. label.TextTransparency = TRANSPARENCY
  1328. label.FontSize = TEXTFONTSIZE
  1329. label.Font = TEXTFONT
  1330. label.BorderSizePixel = BORDERSIZEPIXEL
  1331. label.TextScaled = false
  1332. label.Text = TEXT
  1333. label.Name = NAME
  1334. label.Parent = PARENT
  1335. return label
  1336. end
  1337.  
  1338. function NoOutlines(PART)
  1339. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1340. end
  1341.  
  1342. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1343. local NEWWELD = IT(TYPE)
  1344. NEWWELD.Part0 = PART0
  1345. NEWWELD.Part1 = PART1
  1346. NEWWELD.C0 = C0
  1347. NEWWELD.C1 = C1
  1348. NEWWELD.Parent = PARENT
  1349. return NEWWELD
  1350. end
  1351.  
  1352. local S = IT("Sound")
  1353. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1354. local NEWSOUND = nil
  1355. coroutine.resume(coroutine.create(function()
  1356. NEWSOUND = S:Clone()
  1357. NEWSOUND.Parent = PARENT
  1358. NEWSOUND.Volume = VOLUME
  1359. NEWSOUND.Pitch = PITCH
  1360. NEWSOUND.SoundId = "1753701701"..ID
  1361. NEWSOUND:play()
  1362. if DOESLOOP == true then
  1363. NEWSOUND.Looped = true
  1364. else
  1365. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  1366. NEWSOUND:remove()
  1367. end
  1368. end))
  1369. return NEWSOUND
  1370. end
  1371.  
  1372. function CFrameFromTopBack(at, top, back)
  1373. local right = top:Cross(back)
  1374. 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)
  1375. end
  1376.  
  1377. --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})
  1378. function WACKYEFFECT(Table)
  1379. local TYPE = (Table.EffectType or "Sphere")
  1380. local SIZE = (Table.Size or VT(1,1,1))
  1381. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1382. local TRANSPARENCY = (Table.Transparency or 0)
  1383. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1384. local CFRAME = (Table.CFrame or Torso.CFrame)
  1385. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1386. local ROTATION1 = (Table.RotationX or 0)
  1387. local ROTATION2 = (Table.RotationY or 0)
  1388. local ROTATION3 = (Table.RotationZ or 0)
  1389. local MATERIAL = (Table.Material or "Neon")
  1390. local COLOR = (Table.Color or C3(1,1,1))
  1391. local TIME = (Table.Time or 45)
  1392. local SOUNDID = (Table.SoundID or nil)
  1393. local SOUNDPITCH = (Table.SoundPitch or nil)
  1394. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1395. coroutine.resume(coroutine.create(function()
  1396. local PLAYSSOUND = false
  1397. local SOUND = nil
  1398. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1399. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1400. PLAYSSOUND = true
  1401. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1402. end
  1403. EFFECT.Color = COLOR
  1404. local MSH = nil
  1405. if TYPE == "Sphere" then
  1406. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1407. elseif TYPE == "Block" then
  1408. MSH = IT("BlockMesh",EFFECT)
  1409. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1410. elseif TYPE == "Wave" then
  1411. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1412. elseif TYPE == "Ring" then
  1413. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1414. elseif TYPE == "Slash" then
  1415. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1416. elseif TYPE == "Round Slash" then
  1417. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1418. elseif TYPE == "Swirl" then
  1419. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1420. elseif TYPE == "Skull" then
  1421. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1422. elseif TYPE == "Crystal" then
  1423. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1424. end
  1425. if MSH ~= nil then
  1426. local MOVESPEED = nil
  1427. if MOVEDIRECTION ~= nil then
  1428. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1429. end
  1430. local GROWTH = SIZE - ENDSIZE
  1431. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1432. if TYPE == "Block" then
  1433. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1434. else
  1435. EFFECT.CFrame = CFRAME
  1436. end
  1437. for LOOP = 1, TIME+1 do
  1438. Swait()
  1439. MSH.Scale = MSH.Scale - GROWTH/TIME
  1440. if TYPE == "Wave" then
  1441. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1442. end
  1443. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1444. if TYPE == "Block" then
  1445. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1446. else
  1447. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1448. end
  1449. if MOVEDIRECTION ~= nil then
  1450. local ORI = EFFECT.Orientation
  1451. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1452. EFFECT.Orientation = ORI
  1453. end
  1454. end
  1455. if PLAYSSOUND == false then
  1456. EFFECT:remove()
  1457. else
  1458. SOUND.Stopped:Connect(function()
  1459. EFFECT:remove()
  1460. end)
  1461. end
  1462. else
  1463. if PLAYSSOUND == false then
  1464. EFFECT:remove()
  1465. else
  1466. repeat Swait() until SOUND.Playing == false
  1467. EFFECT:remove()
  1468. end
  1469. end
  1470. end))
  1471. end
  1472.  
  1473. function MakeForm(PART,TYPE)
  1474. if TYPE == "Cyl" then
  1475. local MSH = IT("CylinderMesh",PART)
  1476. elseif TYPE == "Ball" then
  1477. local MSH = IT("SpecialMesh",PART)
  1478. MSH.MeshType = "Sphere"
  1479. elseif TYPE == "Wedge" then
  1480. local MSH = IT("SpecialMesh",PART)
  1481. MSH.MeshType = "Wedge"
  1482. end
  1483. end
  1484.  
  1485. function SpawnTrail(FROM,TO,BIG)
  1486. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  1487. MakeForm(TRAIL,"Cyl")
  1488. local DIST = (FROM - TO).Magnitude
  1489. if BIG == true then
  1490. TRAIL.Size = VT(0.5,DIST,0.5)
  1491. else
  1492. TRAIL.Size = VT(0.25,DIST,0.25)
  1493. end
  1494. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1495. coroutine.resume(coroutine.create(function()
  1496. for i = 1, 5 do
  1497. Swait()
  1498. TRAIL.Transparency = TRAIL.Transparency + 0.1
  1499. end
  1500. TRAIL:remove()
  1501. end))
  1502. end
  1503.  
  1504. Debris = game:GetService("Debris")
  1505.  
  1506. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1507. local DIRECTION = CF(StartPos,EndPos).lookVector
  1508. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1509. end
  1510.  
  1511. function turnto(position)
  1512. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1513. end
  1514.  
  1515. --//=================================\\
  1516. --|| WEAPON CREATION
  1517. --\\=================================//
  1518.  
  1519. local Particle = IT("ParticleEmitter",nil)
  1520. Particle.Enabled = false
  1521. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1522. Particle.LightEmission = 0.5
  1523. Particle.Rate = 150
  1524. Particle.ZOffset = 0.2
  1525. Particle.Rotation = NumberRange.new(-180, 180)
  1526. Particle.RotSpeed = NumberRange.new(-180, 180)
  1527. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1528. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  1529.  
  1530. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1531. function ParticleEmitter(Table)
  1532. local PRTCL = Particle:Clone()
  1533. local Speed = Table.Speed or 5
  1534. local Drag = Table.Drag or 0
  1535. local Size1 = Table.Size1 or 1
  1536. local Size2 = Table.Size2 or 5
  1537. local Lifetime1 = Table.Lifetime1 or 1
  1538. local Lifetime2 = Table.Lifetime2 or 1.5
  1539. local Parent = Table.Parent or Torso
  1540. local Emit = Table.Emit or 100
  1541. local Offset = Table.Offset or 360
  1542. local Acel = Table.Acel or VT(0,0,0)
  1543. local Enabled = Table.Enabled or false
  1544. PRTCL.Parent = Parent
  1545. PRTCL.Size = NumberSequence.new(Size1,Size2)
  1546. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1547. PRTCL.Speed = NumberRange.new(Speed)
  1548. PRTCL.VelocitySpread = Offset
  1549. PRTCL.Drag = Drag
  1550. PRTCL.Acceleration = Acel
  1551. if Enabled == false then
  1552. PRTCL:Emit(Emit)
  1553. Debris:AddItem(PRTCL,Lifetime2)
  1554. else
  1555. PRTCL.Enabled = true
  1556. end
  1557. return PRTCL
  1558. end
  1559.  
  1560. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.6,0.2),false)
  1561. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  1562. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  1563. MakeForm(Part,"Wedge")
  1564. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  1565. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.3,0.2),false)
  1566. MakeForm(Part,"Wedge")
  1567. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  1568. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.3,0.3),false)
  1569. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1570. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.5,0.5),false)
  1571. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1572. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.4,0.4,0.4),false)
  1573. MakeForm(Part,"Cyl")
  1574. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1575. for i = 1, 8 do
  1576. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0,0.35,0.41),false)
  1577. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  1578. end
  1579. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.38,0.41,0.38),false)
  1580. MakeForm(Part,"Cyl")
  1581. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1582. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.37,0.5,0.37),false)
  1583. MakeForm(Part,"Ball")
  1584. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1585. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.7,0.4),false)
  1586. MakeForm(Part,"Wedge")
  1587. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  1588. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.4,0.2),false)
  1589. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1590. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.35,0.35,0.35),false)
  1591. MakeForm(Part,"Cyl")
  1592. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1593. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.5),false)
  1594. MakeForm(Part,"Cyl")
  1595. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1596. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.45),false)
  1597. MakeForm(Part,"Cyl")
  1598. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1599. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  1600. MakeForm(Part,"Wedge")
  1601. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  1602. local LASTPART = Handle
  1603. for i = 1, 10 do
  1604. if LASTPART == Handle then
  1605. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.2,0),false)
  1606. LASTPART = Part
  1607. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1608. else
  1609. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.05,0),false)
  1610. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  1611. LASTPART = Part
  1612. end
  1613. end
  1614.  
  1615. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.15,2,0.15),false)
  1616. MakeForm(Barrel,"Cyl")
  1617. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1618. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.25,1,0.25),false)
  1619. MakeForm(Part,"Cyl")
  1620. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  1621. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0.1,0.2),false)
  1622. MakeForm(Part,"Wedge")
  1623. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1624. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.125,0,0.125),false)
  1625. MakeForm(Hole,"Cyl")
  1626. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  1627. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0,0),false)
  1628. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1629. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  1630. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Brown", "Eye", VT(0,0,0),false)
  1631. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1632. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  1633. coroutine.resume(coroutine.create(function()
  1634. while wait() do
  1635. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  1636. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  1637. end
  1638. end))
  1639.  
  1640. 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)})
  1641. --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)})
  1642.  
  1643. for _, c in pairs(Weapon:GetDescendants()) do
  1644. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1645. c.Material = "Glass"
  1646. c.Color = C3(0,0,0)
  1647. elseif c.ClassName == "Part" and c.Name == "Eye" then
  1648. c.Color = C3(1,0,0)
  1649. c.Material = "Neon"
  1650. end
  1651. end
  1652.  
  1653. Weapon.Parent = Character
  1654. for _, c in pairs(Weapon:GetChildren()) do
  1655. if c.ClassName == "Part" then
  1656. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1657. end
  1658. end
  1659.  
  1660. local SKILLTEXTCOLOR = C3(1,0,0)
  1661. local SKILLFONT = "Antique"
  1662. local SKILLTEXTSIZE = 7
  1663.  
  1664. Humanoid.Died:connect(function()
  1665. ATTACK = true
  1666. end)
  1667.  
  1668. 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")
  1669. --[[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")
  1670. 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")
  1671. 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")
  1672. 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")
  1673. ]]
  1674. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  1675. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  1676. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  1677. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  1678. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  1679. ]]
  1680. function printbye(Name)
  1681. 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, "}
  1682. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  1683. end
  1684.  
  1685. workspace.ChildAdded:connect(function(instance)
  1686. for BANISH = 1, #TOBANISH do
  1687. if TOBANISH[BANISH] ~= nil then
  1688. if instance.Name == TOBANISH[BANISH] then
  1689. coroutine.resume(coroutine.create(function()
  1690. printbye(instance.Name)
  1691. instance:ClearAllChildren()
  1692. Debris:AddItem(instance,0.0005)
  1693. end))
  1694. end
  1695. end
  1696. end
  1697. end)
  1698.  
  1699. --//=================================\\
  1700. --|| DAMAGING
  1701. --\\=================================//
  1702.  
  1703. function Banish(Foe)
  1704. if Foe then
  1705. coroutine.resume(coroutine.create(function()
  1706. --if game.Players:FindFirstChild(Foe.Name) then
  1707. table.insert(TOBANISH,Foe.Name)
  1708. printbye(Foe.Name)
  1709. --end
  1710. Foe.Archivable = true
  1711. local CLONE = Foe:Clone()
  1712. Foe:Destroy()
  1713. CLONE.Parent = Effects
  1714. CLONE:BreakJoints()
  1715. local MATERIALS = {"Glass","Neon"}
  1716. for _, c in pairs(CLONE:GetDescendants()) do
  1717. if c:IsA("BasePart") then
  1718. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1719. CreateSound(340722848, c, 10, 1, false)
  1720. end
  1721. c.Anchored = true
  1722. c.Transparency = c.Transparency + 0.2
  1723. c.Material = MATERIALS[MRANDOM(1,2)]
  1724. c.Color = C3(1,0,0)
  1725. if c.ClassName == "MeshPart" then
  1726. c.TextureID = ""
  1727. end
  1728. if c:FindFirstChildOfClass("SpecialMesh") then
  1729. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1730. end
  1731. if c:FindFirstChildOfClass("Decal") then
  1732. c:FindFirstChildOfClass("Decal"):remove()
  1733. end
  1734. c.Name = "Banished"
  1735. c.CanCollide = false
  1736. else
  1737. c:remove()
  1738. end
  1739. end
  1740. local A = false
  1741. for i = 1, 35 do
  1742. if A == false then
  1743. A = true
  1744. elseif A == true then
  1745. A = false
  1746. end
  1747. for _, c in pairs(CLONE:GetDescendants()) do
  1748. if c:IsA("BasePart") then
  1749. c.Anchored = true
  1750. c.Material = MATERIALS[MRANDOM(1,2)]
  1751. c.Transparency = c.Transparency + 0.8/35
  1752. if A == false then
  1753. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1754. elseif A == true then
  1755. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1756. end
  1757. end
  1758. end
  1759. Swait()
  1760. end
  1761. CLONE:remove()
  1762. end))
  1763. end
  1764. end
  1765.  
  1766. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1767. local CHILDREN = workspace:GetDescendants()
  1768. for index, CHILD in pairs(CHILDREN) do
  1769. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1770. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1771. if HUM then
  1772. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1773. if TORSO then
  1774. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1775. if ISBANISH == true then
  1776. Banish(CHILD)
  1777. else
  1778. if ISBANISH == "Gravity" then
  1779. HUM.PlatformStand = true
  1780. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1781. local grav = Instance.new("BodyPosition",TORSO)
  1782. grav.D = 15
  1783. grav.P = 20000
  1784. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1785. grav.position = TORSO.Position
  1786. grav.Name = "V3BanishForce"..Player.Name
  1787. else
  1788. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1789. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1790. end
  1791. else
  1792. HUM.PlatformStand = false
  1793. end
  1794. end
  1795. elseif ISBANISH == "Gravity" then
  1796. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1797. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1798. HUM.PlatformStand = false
  1799. end
  1800. end
  1801. end
  1802. end
  1803. end
  1804. end
  1805. end
  1806.  
  1807. --//=================================\\
  1808. --|| ATTACK FUNCTIONS AND STUFF
  1809. --\\=================================//
  1810.  
  1811. function Banisher_Bullet()
  1812. ATTACK = true
  1813. Rooted = false
  1814. for i=0, 0.4, 0.1 / Animation_Speed do
  1815. Swait()
  1816. turnto(Mouse.Hit.p)
  1817. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1818. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1819. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1820. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1821. 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)
  1822. 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)
  1823. end
  1824. repeat
  1825. for i=0, 0.2, 0.1 / Animation_Speed do
  1826. Swait()
  1827. turnto(Mouse.Hit.p)
  1828. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1829. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1830. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1831. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1832. 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)
  1833. 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)
  1834. end
  1835. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  1836. SpawnTrail(Hole.Position,POS)
  1837. if HIT ~= nil then
  1838. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1839. Banish(HIT.Parent)
  1840. end
  1841. end
  1842. 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})
  1843. 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})
  1844. 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})
  1845. 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})
  1846. for i=0, 0.3, 0.1 / Animation_Speed do
  1847. Swait()
  1848. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1849. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  1850. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1851. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1852. 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)
  1853. 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)
  1854. end
  1855. until KEYHOLD == false
  1856. ATTACK = false
  1857. Rooted = false
  1858. end
  1859.  
  1860. function AttackTemplate()
  1861. ATTACK = true
  1862. Rooted = false
  1863. for i=0, 1, 0.1 / Animation_Speed do
  1864. Swait()
  1865. 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)
  1866. 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)
  1867. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1868. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1869. 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)
  1870. 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)
  1871. end
  1872. ATTACK = false
  1873. Rooted = false
  1874. end
  1875.  
  1876. --//=================================\\
  1877. --|| ASSIGN THINGS TO KEYS
  1878. --\\=================================//
  1879.  
  1880. function MouseDown(Mouse)
  1881. if ATTACK == false then
  1882. end
  1883. end
  1884.  
  1885. function MouseUp(Mouse)
  1886. HOLD = false
  1887. end
  1888.  
  1889. function KeyDown(Key)
  1890. KEYHOLD = true
  1891. if Key == "z" and ATTACK == false then
  1892. Banisher_Bullet()
  1893. end
  1894.  
  1895. if Key == "b" and ATTACK == false then
  1896. end
  1897.  
  1898. if Key == "c" and ATTACK == false then
  1899. end
  1900.  
  1901. if Key == "v" and ATTACK == false then
  1902. end
  1903.  
  1904. if Key == "x" and ATTACK == false then
  1905. end
  1906. end
  1907.  
  1908. function KeyUp(Key)
  1909. KEYHOLD = false
  1910. end
  1911.  
  1912. Mouse.Button1Down:connect(function(NEWKEY)
  1913. MouseDown(NEWKEY)
  1914. end)
  1915. Mouse.Button1Up:connect(function(NEWKEY)
  1916. MouseUp(NEWKEY)
  1917. end)
  1918. Mouse.KeyDown:connect(function(NEWKEY)
  1919. KeyDown(NEWKEY)
  1920. end)
  1921. Mouse.KeyUp:connect(function(NEWKEY)
  1922. KeyUp(NEWKEY)
  1923. end)
  1924.  
  1925. --//=================================\\
  1926. --\\=================================//
  1927.  
  1928.  
  1929. function unanchor()
  1930. if UNANCHOR == true then
  1931. g = Character:GetChildren()
  1932. for i = 1, #g do
  1933. if g[i].ClassName == "Part" then
  1934. g[i].Anchored = false
  1935. end
  1936. end
  1937. end
  1938. end
  1939.  
  1940.  
  1941. --//=================================\\
  1942. --|| WRAP THE WHOLE SCRIPT UP
  1943. --\\=================================//
  1944.  
  1945. Humanoid.Changed:connect(function(Jump)
  1946. if Jump == "Jump" and (Disable_Jump == true) then
  1947. Humanoid.Jump = false
  1948. end
  1949. end)
  1950.  
  1951. local CONNECT = nil
  1952.  
  1953. while true do
  1954. Swait()
  1955. ANIMATE.Parent = nil
  1956. if Character:FindFirstChildOfClass("Humanoid") == nil then
  1957. Humanoid = IT("Humanoid",Character)
  1958. end
  1959. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1960. v:Stop();
  1961. end
  1962. SINE = SINE + CHANGE
  1963. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1964. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1965. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1966. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1967. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1968. 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)
  1969. 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)
  1970. 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)
  1971. 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)
  1972. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1973. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1974. 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)
  1975. 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)
  1976. 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)
  1977. end
  1978. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1979. ANIM = "Jump"
  1980. if ATTACK == false then
  1981. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1982. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1983. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1984. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1985. 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)
  1986. 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)
  1987. end
  1988. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1989. ANIM = "Fall"
  1990. if ATTACK == false then
  1991. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1992. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1993. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1994. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1995. 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)
  1996. 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)
  1997. end
  1998. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1999. ANIM = "Idle"
  2000. if ATTACK == false then
  2001. 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)
  2002. 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)
  2003. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2004. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2005. 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)
  2006. 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)
  2007. end
  2008. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2009. ANIM = "Walk"
  2010. if ATTACK == false then
  2011. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2012. 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)
  2013. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2014. 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)
  2015. 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)
  2016. 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)
  2017. end
  2018. end
  2019. unanchor()
  2020. Humanoid.MaxHealth = "inf"
  2021. Humanoid.Health = "inf"
  2022. if Rooted == false then
  2023. Disable_Jump = false
  2024. Humanoid.WalkSpeed = Speed
  2025. elseif Rooted == true then
  2026. Disable_Jump = true
  2027. Humanoid.WalkSpeed = 0
  2028. end
  2029. sick.Parent = Torso
  2030. sick:resume()
  2031. sick.Volume = 5
  2032. sick.Pitch = 1.2
  2033. sick.SoundId = "script.Name = "Banisher Gun V3 / 1"
  2034. --//====================================================\\--
  2035. --|| CREATED BY SHACKLUSTER
  2036. --\\====================================================//--
  2037.  
  2038. script:ClearAllChildren()
  2039. wait(0.2)
  2040.  
  2041. Player = game:GetService("Players").LocalPlayer
  2042. PlayerGui = Player.PlayerGui
  2043. Cam = workspace.CurrentCamera
  2044. Backpack = Player.Backpack
  2045. Character = Player.Character
  2046. Humanoid = Character.Humanoid
  2047. Mouse = Player:GetMouse()
  2048. RootPart = Character["HumanoidRootPart"]
  2049. Torso = Character["Torso"]
  2050. Head = Character["Head"]
  2051. RightArm = Character["Right Arm"]
  2052. LeftArm = Character["Left Arm"]
  2053. RightLeg = Character["Right Leg"]
  2054. LeftLeg = Character["Left Leg"]
  2055. RootJoint = RootPart["RootJoint"]
  2056. Neck = Torso["Neck"]
  2057. RightShoulder = Torso["Right Shoulder"]
  2058. LeftShoulder = Torso["Left Shoulder"]
  2059. RightHip = Torso["Right Hip"]
  2060. LeftHip = Torso["Left Hip"]
  2061. local TIME = 0
  2062. local sick = Instance.new("Sound",Torso)
  2063.  
  2064. IT = Instance.new
  2065. CF = CFrame.new
  2066. VT = Vector3.new
  2067. RAD = math.rad
  2068. C3 = Color3.new
  2069. UD2 = UDim2.new
  2070. BRICKC = BrickColor.new
  2071. ANGLES = CFrame.Angles
  2072. EULER = CFrame.fromEulerAnglesXYZ
  2073. COS = math.cos
  2074. ACOS = math.acos
  2075. SIN = math.sin
  2076. ASIN = math.asin
  2077. ABS = math.abs
  2078. MRANDOM = math.random
  2079. FLOOR = math.floor
  2080. --//=================================\\
  2081. --|| USEFUL VALUES
  2082. --\\=================================//
  2083.  
  2084. Animation_Speed = 3
  2085. local FORCERESET = false
  2086. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  2087. local Speed = 16
  2088. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  2089. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  2090. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  2091. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  2092. local DAMAGEMULTIPLIER = 1
  2093. local ANIM = "Idle"
  2094. local ATTACK = false
  2095. local EQUIPPED = false
  2096. local HOLD = false
  2097. local COMBO = 1
  2098. local Rooted = false
  2099. local SINE = 0
  2100. local KEYHOLD = false
  2101. local CHANGE = 2 / Animation_Speed
  2102. local WALKINGANIM = false
  2103. local VALUE1 = false
  2104. local VALUE2 = false
  2105. local ROBLOXIDLEANIMATION = IT("Animation")
  2106. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  2107. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  2108. --ROBLOXIDLEANIMATION.Parent = Humanoid
  2109. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  2110. WEAPONGUI.Name = "BanishV3Gui"
  2111. local Weapon = IT("Model")
  2112. Weapon.Name = "Adds"
  2113. local Effects = IT("Folder", Weapon)
  2114. Effects.Name = "Effects"
  2115. local ANIMATOR = Humanoid.Animator
  2116. local ANIMATE = Character:FindFirstChild("Animate")
  2117. local UNANCHOR = true
  2118. local TOBANISH = {}
  2119. script.Parent = PlayerGui
  2120.  
  2121. --//=================================\\
  2122. --\\=================================//
  2123.  
  2124.  
  2125. --//=================================\\
  2126. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  2127. --\\=================================//
  2128.  
  2129. ArtificialHB = Instance.new("BindableEvent", script)
  2130. ArtificialHB.Name = "ArtificialHB"
  2131.  
  2132. script:WaitForChild("ArtificialHB")
  2133.  
  2134. frame = Frame_Speed
  2135. tf = 0
  2136. allowframeloss = false
  2137. tossremainder = false
  2138. lastframe = tick()
  2139. script.ArtificialHB:Fire()
  2140.  
  2141. game:GetService("RunService").Heartbeat:connect(function(s, p)
  2142. tf = tf + s
  2143. if tf >= frame then
  2144. if allowframeloss then
  2145. script.ArtificialHB:Fire()
  2146. lastframe = tick()
  2147. else
  2148. for i = 1, math.floor(tf / frame) do
  2149. script.ArtificialHB:Fire()
  2150. end
  2151. lastframe = tick()
  2152. end
  2153. if tossremainder then
  2154. tf = 0
  2155. else
  2156. tf = tf - frame * math.floor(tf / frame)
  2157. end
  2158. end
  2159. end)
  2160.  
  2161. --//=================================\\
  2162. --\\=================================//
  2163.  
  2164. --//=================================\\
  2165. --|| SOME FUNCTIONS
  2166. --\\=================================//
  2167.  
  2168. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  2169. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  2170. end
  2171.  
  2172. function PositiveAngle(NUMBER)
  2173. if NUMBER >= 0 then
  2174. NUMBER = 0
  2175. end
  2176. return NUMBER
  2177. end
  2178.  
  2179. function NegativeAngle(NUMBER)
  2180. if NUMBER <= 0 then
  2181. NUMBER = 0
  2182. end
  2183. return NUMBER
  2184. end
  2185.  
  2186. function Swait(NUMBER)
  2187. if NUMBER == 0 or NUMBER == nil then
  2188. ArtificialHB.Event:wait()
  2189. else
  2190. for i = 1, NUMBER do
  2191. ArtificialHB.Event:wait()
  2192. end
  2193. end
  2194. end
  2195.  
  2196. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  2197. local NEWMESH = IT(MESH)
  2198. if MESH == "SpecialMesh" then
  2199. NEWMESH.MeshType = MESHTYPE
  2200. if MESHID ~= "nil" and MESHID ~= "" then
  2201. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  2202. end
  2203. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  2204. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  2205. end
  2206. end
  2207. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  2208. NEWMESH.Scale = SCALE
  2209. NEWMESH.Parent = PARENT
  2210. return NEWMESH
  2211. end
  2212.  
  2213. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  2214. local NEWPART = IT("Part")
  2215. NEWPART.formFactor = FORMFACTOR
  2216. NEWPART.Reflectance = REFLECTANCE
  2217. NEWPART.Transparency = TRANSPARENCY
  2218. NEWPART.CanCollide = false
  2219. NEWPART.Locked = true
  2220. NEWPART.Anchored = true
  2221. if ANCHOR == false then
  2222. NEWPART.Anchored = false
  2223. end
  2224. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  2225. NEWPART.Name = NAME
  2226. NEWPART.Size = SIZE
  2227. NEWPART.Position = Torso.Position
  2228. NEWPART.Material = MATERIAL
  2229. NEWPART:BreakJoints()
  2230. NEWPART.Parent = PARENT
  2231. return NEWPART
  2232. end
  2233.  
  2234. local function weldBetween(a, b)
  2235. local weldd = Instance.new("ManualWeld")
  2236. weldd.Part0 = a
  2237. weldd.Part1 = b
  2238. weldd.C0 = CFrame.new()
  2239. weldd.C1 = b.CFrame:inverse() * a.CFrame
  2240. weldd.Parent = a
  2241. return weldd
  2242. end
  2243.  
  2244.  
  2245. function QuaternionFromCFrame(cf)
  2246. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  2247. local trace = m00 + m11 + m22
  2248. if trace > 0 then
  2249. local s = math.sqrt(1 + trace)
  2250. local recip = 0.5 / s
  2251. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  2252. else
  2253. local i = 0
  2254. if m11 > m00 then
  2255. i = 1
  2256. end
  2257. if m22 > (i == 0 and m00 or m11) then
  2258. i = 2
  2259. end
  2260. if i == 0 then
  2261. local s = math.sqrt(m00 - m11 - m22 + 1)
  2262. local recip = 0.5 / s
  2263. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  2264. elseif i == 1 then
  2265. local s = math.sqrt(m11 - m22 - m00 + 1)
  2266. local recip = 0.5 / s
  2267. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  2268. elseif i == 2 then
  2269. local s = math.sqrt(m22 - m00 - m11 + 1)
  2270. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  2271. end
  2272. end
  2273. end
  2274.  
  2275. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  2276. local xs, ys, zs = x + x, y + y, z + z
  2277. local wx, wy, wz = w * xs, w * ys, w * zs
  2278. local xx = x * xs
  2279. local xy = x * ys
  2280. local xz = x * zs
  2281. local yy = y * ys
  2282. local yz = y * zs
  2283. local zz = z * zs
  2284. 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))
  2285. end
  2286.  
  2287. function QuaternionSlerp(a, b, t)
  2288. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  2289. local startInterp, finishInterp;
  2290. if cosTheta >= 0.0001 then
  2291. if (1 - cosTheta) > 0.0001 then
  2292. local theta = ACOS(cosTheta)
  2293. local invSinTheta = 1 / SIN(theta)
  2294. startInterp = SIN((1 - t) * theta) * invSinTheta
  2295. finishInterp = SIN(t * theta) * invSinTheta
  2296. else
  2297. startInterp = 1 - t
  2298. finishInterp = t
  2299. end
  2300. else
  2301. if (1 + cosTheta) > 0.0001 then
  2302. local theta = ACOS(-cosTheta)
  2303. local invSinTheta = 1 / SIN(theta)
  2304. startInterp = SIN((t - 1) * theta) * invSinTheta
  2305. finishInterp = SIN(t * theta) * invSinTheta
  2306. else
  2307. startInterp = t - 1
  2308. finishInterp = t
  2309. end
  2310. end
  2311. 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
  2312. end
  2313.  
  2314. function Clerp(a, b, t)
  2315. local qa = {QuaternionFromCFrame(a)}
  2316. local qb = {QuaternionFromCFrame(b)}
  2317. local ax, ay, az = a.x, a.y, a.z
  2318. local bx, by, bz = b.x, b.y, b.z
  2319. local _t = 1 - t
  2320. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  2321. end
  2322.  
  2323. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  2324. local frame = IT("Frame")
  2325. frame.BackgroundTransparency = TRANSPARENCY
  2326. frame.BorderSizePixel = BORDERSIZEPIXEL
  2327. frame.Position = POSITION
  2328. frame.Size = SIZE
  2329. frame.BackgroundColor3 = COLOR
  2330. frame.BorderColor3 = BORDERCOLOR
  2331. frame.Name = NAME
  2332. frame.Parent = PARENT
  2333. return frame
  2334. end
  2335.  
  2336. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  2337. local label = IT("TextLabel")
  2338. label.BackgroundTransparency = 1
  2339. label.Size = UD2(1, 0, 1, 0)
  2340. label.Position = UD2(0, 0, 0, 0)
  2341. label.TextColor3 = TEXTCOLOR
  2342. label.TextStrokeTransparency = STROKETRANSPARENCY
  2343. label.TextTransparency = TRANSPARENCY
  2344. label.FontSize = TEXTFONTSIZE
  2345. label.Font = TEXTFONT
  2346. label.BorderSizePixel = BORDERSIZEPIXEL
  2347. label.TextScaled = false
  2348. label.Text = TEXT
  2349. label.Name = NAME
  2350. label.Parent = PARENT
  2351. return label
  2352. end
  2353.  
  2354. function NoOutlines(PART)
  2355. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  2356. end
  2357.  
  2358. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  2359. local NEWWELD = IT(TYPE)
  2360. NEWWELD.Part0 = PART0
  2361. NEWWELD.Part1 = PART1
  2362. NEWWELD.C0 = C0
  2363. NEWWELD.C1 = C1
  2364. NEWWELD.Parent = PARENT
  2365. return NEWWELD
  2366. end
  2367.  
  2368. local S = IT("Sound")
  2369. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  2370. local NEWSOUND = nil
  2371. coroutine.resume(coroutine.create(function()
  2372. NEWSOUND = S:Clone()
  2373. NEWSOUND.Parent = PARENT
  2374. NEWSOUND.Volume = VOLUME
  2375. NEWSOUND.Pitch = PITCH
  2376. NEWSOUND.SoundId = "1753701701"..ID
  2377. NEWSOUND:play()
  2378. if DOESLOOP == true then
  2379. NEWSOUND.Looped = true
  2380. else
  2381. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  2382. NEWSOUND:remove()
  2383. end
  2384. end))
  2385. return NEWSOUND
  2386. end
  2387.  
  2388. function CFrameFromTopBack(at, top, back)
  2389. local right = top:Cross(back)
  2390. 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)
  2391. end
  2392.  
  2393. --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})
  2394. function WACKYEFFECT(Table)
  2395. local TYPE = (Table.EffectType or "Sphere")
  2396. local SIZE = (Table.Size or VT(1,1,1))
  2397. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  2398. local TRANSPARENCY = (Table.Transparency or 0)
  2399. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  2400. local CFRAME = (Table.CFrame or Torso.CFrame)
  2401. local MOVEDIRECTION = (Table.MoveToPos or nil)
  2402. local ROTATION1 = (Table.RotationX or 0)
  2403. local ROTATION2 = (Table.RotationY or 0)
  2404. local ROTATION3 = (Table.RotationZ or 0)
  2405. local MATERIAL = (Table.Material or "Neon")
  2406. local COLOR = (Table.Color or C3(1,1,1))
  2407. local TIME = (Table.Time or 45)
  2408. local SOUNDID = (Table.SoundID or nil)
  2409. local SOUNDPITCH = (Table.SoundPitch or nil)
  2410. local SOUNDVOLUME = (Table.SoundVolume or nil)
  2411. coroutine.resume(coroutine.create(function()
  2412. local PLAYSSOUND = false
  2413. local SOUND = nil
  2414. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  2415. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  2416. PLAYSSOUND = true
  2417. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  2418. end
  2419. EFFECT.Color = COLOR
  2420. local MSH = nil
  2421. if TYPE == "Sphere" then
  2422. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  2423. elseif TYPE == "Block" then
  2424. MSH = IT("BlockMesh",EFFECT)
  2425. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  2426. elseif TYPE == "Wave" then
  2427. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  2428. elseif TYPE == "Ring" then
  2429. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  2430. elseif TYPE == "Slash" then
  2431. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  2432. elseif TYPE == "Round Slash" then
  2433. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  2434. elseif TYPE == "Swirl" then
  2435. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  2436. elseif TYPE == "Skull" then
  2437. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  2438. elseif TYPE == "Crystal" then
  2439. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  2440. end
  2441. if MSH ~= nil then
  2442. local MOVESPEED = nil
  2443. if MOVEDIRECTION ~= nil then
  2444. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  2445. end
  2446. local GROWTH = SIZE - ENDSIZE
  2447. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  2448. if TYPE == "Block" then
  2449. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2450. else
  2451. EFFECT.CFrame = CFRAME
  2452. end
  2453. for LOOP = 1, TIME+1 do
  2454. Swait()
  2455. MSH.Scale = MSH.Scale - GROWTH/TIME
  2456. if TYPE == "Wave" then
  2457. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  2458. end
  2459. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  2460. if TYPE == "Block" then
  2461. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2462. else
  2463. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  2464. end
  2465. if MOVEDIRECTION ~= nil then
  2466. local ORI = EFFECT.Orientation
  2467. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  2468. EFFECT.Orientation = ORI
  2469. end
  2470. end
  2471. if PLAYSSOUND == false then
  2472. EFFECT:remove()
  2473. else
  2474. SOUND.Stopped:Connect(function()
  2475. EFFECT:remove()
  2476. end)
  2477. end
  2478. else
  2479. if PLAYSSOUND == false then
  2480. EFFECT:remove()
  2481. else
  2482. repeat Swait() until SOUND.Playing == false
  2483. EFFECT:remove()
  2484. end
  2485. end
  2486. end))
  2487. end
  2488.  
  2489. function MakeForm(PART,TYPE)
  2490. if TYPE == "Cyl" then
  2491. local MSH = IT("CylinderMesh",PART)
  2492. elseif TYPE == "Ball" then
  2493. local MSH = IT("SpecialMesh",PART)
  2494. MSH.MeshType = "Sphere"
  2495. elseif TYPE == "Wedge" then
  2496. local MSH = IT("SpecialMesh",PART)
  2497. MSH.MeshType = "Wedge"
  2498. end
  2499. end
  2500.  
  2501. function SpawnTrail(FROM,TO,BIG)
  2502. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  2503. MakeForm(TRAIL,"Cyl")
  2504. local DIST = (FROM - TO).Magnitude
  2505. if BIG == true then
  2506. TRAIL.Size = VT(0.5,DIST,0.5)
  2507. else
  2508. TRAIL.Size = VT(0.25,DIST,0.25)
  2509. end
  2510. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  2511. coroutine.resume(coroutine.create(function()
  2512. for i = 1, 5 do
  2513. Swait()
  2514. TRAIL.Transparency = TRAIL.Transparency + 0.1
  2515. end
  2516. TRAIL:remove()
  2517. end))
  2518. end
  2519.  
  2520. Debris = game:GetService("Debris")
  2521.  
  2522. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  2523. local DIRECTION = CF(StartPos,EndPos).lookVector
  2524. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  2525. end
  2526.  
  2527. function turnto(position)
  2528. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  2529. end
  2530.  
  2531. --//=================================\\
  2532. --|| WEAPON CREATION
  2533. --\\=================================//
  2534.  
  2535. local Particle = IT("ParticleEmitter",nil)
  2536. Particle.Enabled = false
  2537. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  2538. Particle.LightEmission = 0.5
  2539. Particle.Rate = 150
  2540. Particle.ZOffset = 0.2
  2541. Particle.Rotation = NumberRange.new(-180, 180)
  2542. Particle.RotSpeed = NumberRange.new(-180, 180)
  2543. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  2544. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  2545.  
  2546. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  2547. function ParticleEmitter(Table)
  2548. local PRTCL = Particle:Clone()
  2549. local Speed = Table.Speed or 5
  2550. local Drag = Table.Drag or 0
  2551. local Size1 = Table.Size1 or 1
  2552. local Size2 = Table.Size2 or 5
  2553. local Lifetime1 = Table.Lifetime1 or 1
  2554. local Lifetime2 = Table.Lifetime2 or 1.5
  2555. local Parent = Table.Parent or Torso
  2556. local Emit = Table.Emit or 100
  2557. local Offset = Table.Offset or 360
  2558. local Acel = Table.Acel or VT(0,0,0)
  2559. local Enabled = Table.Enabled or false
  2560. PRTCL.Parent = Parent
  2561. PRTCL.Size = NumberSequence.new(Size1,Size2)
  2562. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  2563. PRTCL.Speed = NumberRange.new(Speed)
  2564. PRTCL.VelocitySpread = Offset
  2565. PRTCL.Drag = Drag
  2566. PRTCL.Acceleration = Acel
  2567. if Enabled == false then
  2568. PRTCL:Emit(Emit)
  2569. Debris:AddItem(PRTCL,Lifetime2)
  2570. else
  2571. PRTCL.Enabled = true
  2572. end
  2573. return PRTCL
  2574. end
  2575.  
  2576. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.6,0.2),false)
  2577. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  2578. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  2579. MakeForm(Part,"Wedge")
  2580. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  2581. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.3,0.2),false)
  2582. MakeForm(Part,"Wedge")
  2583. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  2584. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.3,0.3),false)
  2585. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2586. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.5,0.5),false)
  2587. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2588. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.4,0.4,0.4),false)
  2589. MakeForm(Part,"Cyl")
  2590. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2591. for i = 1, 8 do
  2592. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0,0.35,0.41),false)
  2593. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  2594. end
  2595. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.38,0.41,0.38),false)
  2596. MakeForm(Part,"Cyl")
  2597. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2598. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.37,0.5,0.37),false)
  2599. MakeForm(Part,"Ball")
  2600. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2601. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.7,0.4),false)
  2602. MakeForm(Part,"Wedge")
  2603. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  2604. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.4,0.2),false)
  2605. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2606. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.35,0.35,0.35),false)
  2607. MakeForm(Part,"Cyl")
  2608. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2609. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.5),false)
  2610. MakeForm(Part,"Cyl")
  2611. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2612. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.45),false)
  2613. MakeForm(Part,"Cyl")
  2614. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2615. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  2616. MakeForm(Part,"Wedge")
  2617. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  2618. local LASTPART = Handle
  2619. for i = 1, 10 do
  2620. if LASTPART == Handle then
  2621. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.2,0),false)
  2622. LASTPART = Part
  2623. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2624. else
  2625. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.05,0),false)
  2626. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  2627. LASTPART = Part
  2628. end
  2629. end
  2630.  
  2631. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.15,2,0.15),false)
  2632. MakeForm(Barrel,"Cyl")
  2633. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2634. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.25,1,0.25),false)
  2635. MakeForm(Part,"Cyl")
  2636. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  2637. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0.1,0.2),false)
  2638. MakeForm(Part,"Wedge")
  2639. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  2640. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.125,0,0.125),false)
  2641. MakeForm(Hole,"Cyl")
  2642. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  2643. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0,0),false)
  2644. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2645. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  2646. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Brown", "Eye", VT(0,0,0),false)
  2647. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2648. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  2649. coroutine.resume(coroutine.create(function()
  2650. while wait() do
  2651. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  2652. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  2653. end
  2654. end))
  2655.  
  2656. 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)})
  2657. --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)})
  2658.  
  2659. for _, c in pairs(Weapon:GetDescendants()) do
  2660. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  2661. c.Material = "Glass"
  2662. c.Color = C3(0,0,0)
  2663. elseif c.ClassName == "Part" and c.Name == "Eye" then
  2664. c.Color = C3(1,0,0)
  2665. c.Material = "Neon"
  2666. end
  2667. end
  2668.  
  2669. Weapon.Parent = Character
  2670. for _, c in pairs(Weapon:GetChildren()) do
  2671. if c.ClassName == "Part" then
  2672. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2673. end
  2674. end
  2675.  
  2676. local SKILLTEXTCOLOR = C3(1,0,0)
  2677. local SKILLFONT = "Antique"
  2678. local SKILLTEXTSIZE = 7
  2679.  
  2680. Humanoid.Died:connect(function()
  2681. ATTACK = true
  2682. end)
  2683.  
  2684. 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")
  2685. --[[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")
  2686. 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")
  2687. 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")
  2688. 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")
  2689. ]]
  2690. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  2691. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  2692. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  2693. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  2694. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  2695. ]]
  2696. function printbye(Name)
  2697. 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, "}
  2698. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  2699. end
  2700.  
  2701. workspace.ChildAdded:connect(function(instance)
  2702. for BANISH = 1, #TOBANISH do
  2703. if TOBANISH[BANISH] ~= nil then
  2704. if instance.Name == TOBANISH[BANISH] then
  2705. coroutine.resume(coroutine.create(function()
  2706. printbye(instance.Name)
  2707. instance:ClearAllChildren()
  2708. Debris:AddItem(instance,0.0005)
  2709. end))
  2710. end
  2711. end
  2712. end
  2713. end)
  2714.  
  2715. --//=================================\\
  2716. --|| DAMAGING
  2717. --\\=================================//
  2718.  
  2719. function Banish(Foe)
  2720. if Foe then
  2721. coroutine.resume(coroutine.create(function()
  2722. --if game.Players:FindFirstChild(Foe.Name) then
  2723. table.insert(TOBANISH,Foe.Name)
  2724. printbye(Foe.Name)
  2725. --end
  2726. Foe.Archivable = true
  2727. local CLONE = Foe:Clone()
  2728. Foe:Destroy()
  2729. CLONE.Parent = Effects
  2730. CLONE:BreakJoints()
  2731. local MATERIALS = {"Glass","Neon"}
  2732. for _, c in pairs(CLONE:GetDescendants()) do
  2733. if c:IsA("BasePart") then
  2734. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  2735. CreateSound(340722848, c, 10, 1, false)
  2736. end
  2737. c.Anchored = true
  2738. c.Transparency = c.Transparency + 0.2
  2739. c.Material = MATERIALS[MRANDOM(1,2)]
  2740. c.Color = C3(1,0,0)
  2741. if c.ClassName == "MeshPart" then
  2742. c.TextureID = ""
  2743. end
  2744. if c:FindFirstChildOfClass("SpecialMesh") then
  2745. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2746. end
  2747. if c:FindFirstChildOfClass("Decal") then
  2748. c:FindFirstChildOfClass("Decal"):remove()
  2749. end
  2750. c.Name = "Banished"
  2751. c.CanCollide = false
  2752. else
  2753. c:remove()
  2754. end
  2755. end
  2756. local A = false
  2757. for i = 1, 35 do
  2758. if A == false then
  2759. A = true
  2760. elseif A == true then
  2761. A = false
  2762. end
  2763. for _, c in pairs(CLONE:GetDescendants()) do
  2764. if c:IsA("BasePart") then
  2765. c.Anchored = true
  2766. c.Material = MATERIALS[MRANDOM(1,2)]
  2767. c.Transparency = c.Transparency + 0.8/35
  2768. if A == false then
  2769. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2770. elseif A == true then
  2771. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2772. end
  2773. end
  2774. end
  2775. Swait()
  2776. end
  2777. CLONE:remove()
  2778. end))
  2779. end
  2780. end
  2781.  
  2782. function ApplyAoE(POSITION,RANGE,ISBANISH)
  2783. local CHILDREN = workspace:GetDescendants()
  2784. for index, CHILD in pairs(CHILDREN) do
  2785. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2786. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2787. if HUM then
  2788. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2789. if TORSO then
  2790. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2791. if ISBANISH == true then
  2792. Banish(CHILD)
  2793. else
  2794. if ISBANISH == "Gravity" then
  2795. HUM.PlatformStand = true
  2796. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  2797. local grav = Instance.new("BodyPosition",TORSO)
  2798. grav.D = 15
  2799. grav.P = 20000
  2800. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  2801. grav.position = TORSO.Position
  2802. grav.Name = "V3BanishForce"..Player.Name
  2803. else
  2804. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  2805. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  2806. end
  2807. else
  2808. HUM.PlatformStand = false
  2809. end
  2810. end
  2811. elseif ISBANISH == "Gravity" then
  2812. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  2813. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  2814. HUM.PlatformStand = false
  2815. end
  2816. end
  2817. end
  2818. end
  2819. end
  2820. end
  2821. end
  2822.  
  2823. --//=================================\\
  2824. --|| ATTACK FUNCTIONS AND STUFF
  2825. --\\=================================//
  2826.  
  2827. function Banisher_Bullet()
  2828. ATTACK = true
  2829. Rooted = false
  2830. for i=0, 0.4, 0.1 / Animation_Speed do
  2831. Swait()
  2832. turnto(Mouse.Hit.p)
  2833. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2834. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2835. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2836. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2837. 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)
  2838. 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)
  2839. end
  2840. repeat
  2841. for i=0, 0.2, 0.1 / Animation_Speed do
  2842. Swait()
  2843. turnto(Mouse.Hit.p)
  2844. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2845. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2846. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2847. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2848. 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)
  2849. 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)
  2850. end
  2851. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  2852. SpawnTrail(Hole.Position,POS)
  2853. if HIT ~= nil then
  2854. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2855. Banish(HIT.Parent)
  2856. end
  2857. end
  2858. 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})
  2859. 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})
  2860. 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})
  2861. 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})
  2862. for i=0, 0.3, 0.1 / Animation_Speed do
  2863. Swait()
  2864. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2865. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2866. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2867. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2868. 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)
  2869. 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)
  2870. end
  2871. until KEYHOLD == false
  2872. ATTACK = false
  2873. Rooted = false
  2874. end
  2875.  
  2876. function AttackTemplate()
  2877. ATTACK = true
  2878. Rooted = false
  2879. for i=0, 1, 0.1 / Animation_Speed do
  2880. Swait()
  2881. 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)
  2882. 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)
  2883. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2884. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2885. 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)
  2886. 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)
  2887. end
  2888. ATTACK = false
  2889. Rooted = false
  2890. end
  2891.  
  2892. --//=================================\\
  2893. --|| ASSIGN THINGS TO KEYS
  2894. --\\=================================//
  2895.  
  2896. function MouseDown(Mouse)
  2897. if ATTACK == false then
  2898. end
  2899. end
  2900.  
  2901. function MouseUp(Mouse)
  2902. HOLD = false
  2903. end
  2904.  
  2905. function KeyDown(Key)
  2906. KEYHOLD = true
  2907. if Key == "z" and ATTACK == false then
  2908. Banisher_Bullet()
  2909. end
  2910.  
  2911. if Key == "b" and ATTACK == false then
  2912. end
  2913.  
  2914. if Key == "c" and ATTACK == false then
  2915. end
  2916.  
  2917. if Key == "v" and ATTACK == false then
  2918. end
  2919.  
  2920. if Key == "x" and ATTACK == false then
  2921. end
  2922. end
  2923.  
  2924. function KeyUp(Key)
  2925. KEYHOLD = false
  2926. end
  2927.  
  2928. Mouse.Button1Down:connect(function(NEWKEY)
  2929. MouseDown(NEWKEY)
  2930. end)
  2931. Mouse.Button1Up:connect(function(NEWKEY)
  2932. MouseUp(NEWKEY)
  2933. end)
  2934. Mouse.KeyDown:connect(function(NEWKEY)
  2935. KeyDown(NEWKEY)
  2936. end)
  2937. Mouse.KeyUp:connect(function(NEWKEY)
  2938. KeyUp(NEWKEY)
  2939. end)
  2940.  
  2941. --//=================================\\
  2942. --\\=================================//
  2943.  
  2944.  
  2945. function unanchor()
  2946. if UNANCHOR == true then
  2947. g = Character:GetChildren()
  2948. for i = 1, #g do
  2949. if g[i].ClassName == "Part" then
  2950. g[i].Anchored = false
  2951. end
  2952. end
  2953. end
  2954. end
  2955.  
  2956.  
  2957. --//=================================\\
  2958. --|| WRAP THE WHOLE SCRIPT UP
  2959. --\\=================================//
  2960.  
  2961. Humanoid.Changed:connect(function(Jump)
  2962. if Jump == "Jump" and (Disable_Jump == true) then
  2963. Humanoid.Jump = false
  2964. end
  2965. end)
  2966.  
  2967. local CONNECT = nil
  2968.  
  2969. while true do
  2970. Swait()
  2971. ANIMATE.Parent = nil
  2972. if Character:FindFirstChildOfClass("Humanoid") == nil then
  2973. Humanoid = IT("Humanoid",Character)
  2974. end
  2975. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  2976. v:Stop();
  2977. end
  2978. SINE = SINE + CHANGE
  2979. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2980. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2981. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2982. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  2983. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2984. 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)
  2985. 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)
  2986. 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)
  2987. 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)
  2988. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2989. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2990. 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)
  2991. 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)
  2992. 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)
  2993. end
  2994. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2995. ANIM = "Jump"
  2996. if ATTACK == false then
  2997. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2998. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2999. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3000. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  3001. 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)
  3002. 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)
  3003. end
  3004. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  3005. ANIM = "Fall"
  3006. if ATTACK == false then
  3007. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3008. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3009. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3010. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  3011. 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)
  3012. 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)
  3013. end
  3014. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  3015. ANIM = "Idle"
  3016. if ATTACK == false then
  3017. 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)
  3018. 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)
  3019. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3020. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  3021. 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)
  3022. 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)
  3023. end
  3024. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  3025. ANIM = "Walk"
  3026. if ATTACK == false then
  3027. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3028. 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)
  3029. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3030. 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)
  3031. 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)
  3032. 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)
  3033. end
  3034. end
  3035. unanchor()
  3036. Humanoid.MaxHealth = "inf"
  3037. Humanoid.Health = "inf"
  3038. if Rooted == false then
  3039. Disable_Jump = false
  3040. Humanoid.WalkSpeed = Speed
  3041. elseif Rooted == true then
  3042. Disable_Jump = true
  3043. Humanoid.WalkSpeed = 0
  3044. end
  3045. sick.Parent = Torso
  3046. sick:resume()
  3047. sick.Volume = 5
  3048. sick.Pitch = 1
  3049. sick.SoundId = "script.Name = "Banisher Gun V3 / 1"
  3050. --//====================================================\\--
  3051. --|| CREATED BY SHACKLUSTER
  3052. --\\====================================================//--
  3053.  
  3054. script:ClearAllChildren()
  3055. wait(0.2)
  3056.  
  3057. Player = game:GetService("Players").LocalPlayer
  3058. PlayerGui = Player.PlayerGui
  3059. Cam = workspace.CurrentCamera
  3060. Backpack = Player.Backpack
  3061. Character = Player.Character
  3062. Humanoid = Character.Humanoid
  3063. Mouse = Player:GetMouse()
  3064. RootPart = Character["HumanoidRootPart"]
  3065. Torso = Character["Torso"]
  3066. Head = Character["Head"]
  3067. RightArm = Character["Right Arm"]
  3068. LeftArm = Character["Left Arm"]
  3069. RightLeg = Character["Right Leg"]
  3070. LeftLeg = Character["Left Leg"]
  3071. RootJoint = RootPart["RootJoint"]
  3072. Neck = Torso["Neck"]
  3073. RightShoulder = Torso["Right Shoulder"]
  3074. LeftShoulder = Torso["Left Shoulder"]
  3075. RightHip = Torso["Right Hip"]
  3076. LeftHip = Torso["Left Hip"]
  3077. local TIME = 0
  3078. local sick = Instance.new("Sound",Torso)
  3079.  
  3080. IT = Instance.new
  3081. CF = CFrame.new
  3082. VT = Vector3.new
  3083. RAD = math.rad
  3084. C3 = Color3.new
  3085. UD2 = UDim2.new
  3086. BRICKC = BrickColor.new
  3087. ANGLES = CFrame.Angles
  3088. EULER = CFrame.fromEulerAnglesXYZ
  3089. COS = math.cos
  3090. ACOS = math.acos
  3091. SIN = math.sin
  3092. ASIN = math.asin
  3093. ABS = math.abs
  3094. MRANDOM = math.random
  3095. FLOOR = math.floor
  3096. --//=================================\\
  3097. --|| USEFUL VALUES
  3098. --\\=================================//
  3099.  
  3100. Animation_Speed = 3
  3101. local FORCERESET = false
  3102. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  3103. local Speed = 16
  3104. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  3105. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  3106. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  3107. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  3108. local DAMAGEMULTIPLIER = 1
  3109. local ANIM = "Idle"
  3110. local ATTACK = false
  3111. local EQUIPPED = false
  3112. local HOLD = false
  3113. local COMBO = 1
  3114. local Rooted = false
  3115. local SINE = 0
  3116. local KEYHOLD = false
  3117. local CHANGE = 2 / Animation_Speed
  3118. local WALKINGANIM = false
  3119. local VALUE1 = false
  3120. local VALUE2 = false
  3121. local ROBLOXIDLEANIMATION = IT("Animation")
  3122. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  3123. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  3124. --ROBLOXIDLEANIMATION.Parent = Humanoid
  3125. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  3126. WEAPONGUI.Name = "BanishV3Gui"
  3127. local Weapon = IT("Model")
  3128. Weapon.Name = "Adds"
  3129. local Effects = IT("Folder", Weapon)
  3130. Effects.Name = "Effects"
  3131. local ANIMATOR = Humanoid.Animator
  3132. local ANIMATE = Character:FindFirstChild("Animate")
  3133. local UNANCHOR = true
  3134. local TOBANISH = {}
  3135. script.Parent = PlayerGui
  3136.  
  3137. --//=================================\\
  3138. --\\=================================//
  3139.  
  3140.  
  3141. --//=================================\\
  3142. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  3143. --\\=================================//
  3144.  
  3145. ArtificialHB = Instance.new("BindableEvent", script)
  3146. ArtificialHB.Name = "ArtificialHB"
  3147.  
  3148. script:WaitForChild("ArtificialHB")
  3149.  
  3150. frame = Frame_Speed
  3151. tf = 0
  3152. allowframeloss = false
  3153. tossremainder = false
  3154. lastframe = tick()
  3155. script.ArtificialHB:Fire()
  3156.  
  3157. game:GetService("RunService").Heartbeat:connect(function(s, p)
  3158. tf = tf + s
  3159. if tf >= frame then
  3160. if allowframeloss then
  3161. script.ArtificialHB:Fire()
  3162. lastframe = tick()
  3163. else
  3164. for i = 1, math.floor(tf / frame) do
  3165. script.ArtificialHB:Fire()
  3166. end
  3167. lastframe = tick()
  3168. end
  3169. if tossremainder then
  3170. tf = 0
  3171. else
  3172. tf = tf - frame * math.floor(tf / frame)
  3173. end
  3174. end
  3175. end)
  3176.  
  3177. --//=================================\\
  3178. --\\=================================//
  3179.  
  3180. --//=================================\\
  3181. --|| SOME FUNCTIONS
  3182. --\\=================================//
  3183.  
  3184. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  3185. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  3186. end
  3187.  
  3188. function PositiveAngle(NUMBER)
  3189. if NUMBER >= 0 then
  3190. NUMBER = 0
  3191. end
  3192. return NUMBER
  3193. end
  3194.  
  3195. function NegativeAngle(NUMBER)
  3196. if NUMBER <= 0 then
  3197. NUMBER = 0
  3198. end
  3199. return NUMBER
  3200. end
  3201.  
  3202. function Swait(NUMBER)
  3203. if NUMBER == 0 or NUMBER == nil then
  3204. ArtificialHB.Event:wait()
  3205. else
  3206. for i = 1, NUMBER do
  3207. ArtificialHB.Event:wait()
  3208. end
  3209. end
  3210. end
  3211.  
  3212. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  3213. local NEWMESH = IT(MESH)
  3214. if MESH == "SpecialMesh" then
  3215. NEWMESH.MeshType = MESHTYPE
  3216. if MESHID ~= "nil" and MESHID ~= "" then
  3217. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  3218. end
  3219. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  3220. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  3221. end
  3222. end
  3223. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  3224. NEWMESH.Scale = SCALE
  3225. NEWMESH.Parent = PARENT
  3226. return NEWMESH
  3227. end
  3228.  
  3229. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  3230. local NEWPART = IT("Part")
  3231. NEWPART.formFactor = FORMFACTOR
  3232. NEWPART.Reflectance = REFLECTANCE
  3233. NEWPART.Transparency = TRANSPARENCY
  3234. NEWPART.CanCollide = false
  3235. NEWPART.Locked = true
  3236. NEWPART.Anchored = true
  3237. if ANCHOR == false then
  3238. NEWPART.Anchored = false
  3239. end
  3240. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  3241. NEWPART.Name = NAME
  3242. NEWPART.Size = SIZE
  3243. NEWPART.Position = Torso.Position
  3244. NEWPART.Material = MATERIAL
  3245. NEWPART:BreakJoints()
  3246. NEWPART.Parent = PARENT
  3247. return NEWPART
  3248. end
  3249.  
  3250. local function weldBetween(a, b)
  3251. local weldd = Instance.new("ManualWeld")
  3252. weldd.Part0 = a
  3253. weldd.Part1 = b
  3254. weldd.C0 = CFrame.new()
  3255. weldd.C1 = b.CFrame:inverse() * a.CFrame
  3256. weldd.Parent = a
  3257. return weldd
  3258. end
  3259.  
  3260.  
  3261. function QuaternionFromCFrame(cf)
  3262. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  3263. local trace = m00 + m11 + m22
  3264. if trace > 0 then
  3265. local s = math.sqrt(1 + trace)
  3266. local recip = 0.5 / s
  3267. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  3268. else
  3269. local i = 0
  3270. if m11 > m00 then
  3271. i = 1
  3272. end
  3273. if m22 > (i == 0 and m00 or m11) then
  3274. i = 2
  3275. end
  3276. if i == 0 then
  3277. local s = math.sqrt(m00 - m11 - m22 + 1)
  3278. local recip = 0.5 / s
  3279. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  3280. elseif i == 1 then
  3281. local s = math.sqrt(m11 - m22 - m00 + 1)
  3282. local recip = 0.5 / s
  3283. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  3284. elseif i == 2 then
  3285. local s = math.sqrt(m22 - m00 - m11 + 1)
  3286. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  3287. end
  3288. end
  3289. end
  3290.  
  3291. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  3292. local xs, ys, zs = x + x, y + y, z + z
  3293. local wx, wy, wz = w * xs, w * ys, w * zs
  3294. local xx = x * xs
  3295. local xy = x * ys
  3296. local xz = x * zs
  3297. local yy = y * ys
  3298. local yz = y * zs
  3299. local zz = z * zs
  3300. 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))
  3301. end
  3302.  
  3303. function QuaternionSlerp(a, b, t)
  3304. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  3305. local startInterp, finishInterp;
  3306. if cosTheta >= 0.0001 then
  3307. if (1 - cosTheta) > 0.0001 then
  3308. local theta = ACOS(cosTheta)
  3309. local invSinTheta = 1 / SIN(theta)
  3310. startInterp = SIN((1 - t) * theta) * invSinTheta
  3311. finishInterp = SIN(t * theta) * invSinTheta
  3312. else
  3313. startInterp = 1 - t
  3314. finishInterp = t
  3315. end
  3316. else
  3317. if (1 + cosTheta) > 0.0001 then
  3318. local theta = ACOS(-cosTheta)
  3319. local invSinTheta = 1 / SIN(theta)
  3320. startInterp = SIN((t - 1) * theta) * invSinTheta
  3321. finishInterp = SIN(t * theta) * invSinTheta
  3322. else
  3323. startInterp = t - 1
  3324. finishInterp = t
  3325. end
  3326. end
  3327. 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
  3328. end
  3329.  
  3330. function Clerp(a, b, t)
  3331. local qa = {QuaternionFromCFrame(a)}
  3332. local qb = {QuaternionFromCFrame(b)}
  3333. local ax, ay, az = a.x, a.y, a.z
  3334. local bx, by, bz = b.x, b.y, b.z
  3335. local _t = 1 - t
  3336. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  3337. end
  3338.  
  3339. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  3340. local frame = IT("Frame")
  3341. frame.BackgroundTransparency = TRANSPARENCY
  3342. frame.BorderSizePixel = BORDERSIZEPIXEL
  3343. frame.Position = POSITION
  3344. frame.Size = SIZE
  3345. frame.BackgroundColor3 = COLOR
  3346. frame.BorderColor3 = BORDERCOLOR
  3347. frame.Name = NAME
  3348. frame.Parent = PARENT
  3349. return frame
  3350. end
  3351.  
  3352. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  3353. local label = IT("TextLabel")
  3354. label.BackgroundTransparency = 1
  3355. label.Size = UD2(1, 0, 1, 0)
  3356. label.Position = UD2(0, 0, 0, 0)
  3357. label.TextColor3 = TEXTCOLOR
  3358. label.TextStrokeTransparency = STROKETRANSPARENCY
  3359. label.TextTransparency = TRANSPARENCY
  3360. label.FontSize = TEXTFONTSIZE
  3361. label.Font = TEXTFONT
  3362. label.BorderSizePixel = BORDERSIZEPIXEL
  3363. label.TextScaled = false
  3364. label.Text = TEXT
  3365. label.Name = NAME
  3366. label.Parent = PARENT
  3367. return label
  3368. end
  3369.  
  3370. function NoOutlines(PART)
  3371. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  3372. end
  3373.  
  3374. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  3375. local NEWWELD = IT(TYPE)
  3376. NEWWELD.Part0 = PART0
  3377. NEWWELD.Part1 = PART1
  3378. NEWWELD.C0 = C0
  3379. NEWWELD.C1 = C1
  3380. NEWWELD.Parent = PARENT
  3381. return NEWWELD
  3382. end
  3383.  
  3384. local S = IT("Sound")
  3385. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  3386. local NEWSOUND = nil
  3387. coroutine.resume(coroutine.create(function()
  3388. NEWSOUND = S:Clone()
  3389. NEWSOUND.Parent = PARENT
  3390. NEWSOUND.Volume = VOLUME
  3391. NEWSOUND.Pitch = PITCH
  3392. NEWSOUND.SoundId = "1753701701"..ID
  3393. NEWSOUND:play()
  3394. if DOESLOOP == true then
  3395. NEWSOUND.Looped = true
  3396. else
  3397. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  3398. NEWSOUND:remove()
  3399. end
  3400. end))
  3401. return NEWSOUND
  3402. end
  3403.  
  3404. function CFrameFromTopBack(at, top, back)
  3405. local right = top:Cross(back)
  3406. 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)
  3407. end
  3408.  
  3409. --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})
  3410. function WACKYEFFECT(Table)
  3411. local TYPE = (Table.EffectType or "Sphere")
  3412. local SIZE = (Table.Size or VT(1,1,1))
  3413. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  3414. local TRANSPARENCY = (Table.Transparency or 0)
  3415. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  3416. local CFRAME = (Table.CFrame or Torso.CFrame)
  3417. local MOVEDIRECTION = (Table.MoveToPos or nil)
  3418. local ROTATION1 = (Table.RotationX or 0)
  3419. local ROTATION2 = (Table.RotationY or 0)
  3420. local ROTATION3 = (Table.RotationZ or 0)
  3421. local MATERIAL = (Table.Material or "Neon")
  3422. local COLOR = (Table.Color or C3(1,1,1))
  3423. local TIME = (Table.Time or 45)
  3424. local SOUNDID = (Table.SoundID or nil)
  3425. local SOUNDPITCH = (Table.SoundPitch or nil)
  3426. local SOUNDVOLUME = (Table.SoundVolume or nil)
  3427. coroutine.resume(coroutine.create(function()
  3428. local PLAYSSOUND = false
  3429. local SOUND = nil
  3430. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  3431. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  3432. PLAYSSOUND = true
  3433. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  3434. end
  3435. EFFECT.Color = COLOR
  3436. local MSH = nil
  3437. if TYPE == "Sphere" then
  3438. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  3439. elseif TYPE == "Block" then
  3440. MSH = IT("BlockMesh",EFFECT)
  3441. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  3442. elseif TYPE == "Wave" then
  3443. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  3444. elseif TYPE == "Ring" then
  3445. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  3446. elseif TYPE == "Slash" then
  3447. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  3448. elseif TYPE == "Round Slash" then
  3449. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  3450. elseif TYPE == "Swirl" then
  3451. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  3452. elseif TYPE == "Skull" then
  3453. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  3454. elseif TYPE == "Crystal" then
  3455. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  3456. end
  3457. if MSH ~= nil then
  3458. local MOVESPEED = nil
  3459. if MOVEDIRECTION ~= nil then
  3460. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  3461. end
  3462. local GROWTH = SIZE - ENDSIZE
  3463. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  3464. if TYPE == "Block" then
  3465. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  3466. else
  3467. EFFECT.CFrame = CFRAME
  3468. end
  3469. for LOOP = 1, TIME+1 do
  3470. Swait()
  3471. MSH.Scale = MSH.Scale - GROWTH/TIME
  3472. if TYPE == "Wave" then
  3473. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  3474. end
  3475. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  3476. if TYPE == "Block" then
  3477. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  3478. else
  3479. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  3480. end
  3481. if MOVEDIRECTION ~= nil then
  3482. local ORI = EFFECT.Orientation
  3483. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  3484. EFFECT.Orientation = ORI
  3485. end
  3486. end
  3487. if PLAYSSOUND == false then
  3488. EFFECT:remove()
  3489. else
  3490. SOUND.Stopped:Connect(function()
  3491. EFFECT:remove()
  3492. end)
  3493. end
  3494. else
  3495. if PLAYSSOUND == false then
  3496. EFFECT:remove()
  3497. else
  3498. repeat Swait() until SOUND.Playing == false
  3499. EFFECT:remove()
  3500. end
  3501. end
  3502. end))
  3503. end
  3504.  
  3505. function MakeForm(PART,TYPE)
  3506. if TYPE == "Cyl" then
  3507. local MSH = IT("CylinderMesh",PART)
  3508. elseif TYPE == "Ball" then
  3509. local MSH = IT("SpecialMesh",PART)
  3510. MSH.MeshType = "Sphere"
  3511. elseif TYPE == "Wedge" then
  3512. local MSH = IT("SpecialMesh",PART)
  3513. MSH.MeshType = "Wedge"
  3514. end
  3515. end
  3516.  
  3517. function SpawnTrail(FROM,TO,BIG)
  3518. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  3519. MakeForm(TRAIL,"Cyl")
  3520. local DIST = (FROM - TO).Magnitude
  3521. if BIG == true then
  3522. TRAIL.Size = VT(0.5,DIST,0.5)
  3523. else
  3524. TRAIL.Size = VT(0.25,DIST,0.25)
  3525. end
  3526. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  3527. coroutine.resume(coroutine.create(function()
  3528. for i = 1, 5 do
  3529. Swait()
  3530. TRAIL.Transparency = TRAIL.Transparency + 0.1
  3531. end
  3532. TRAIL:remove()
  3533. end))
  3534. end
  3535.  
  3536. Debris = game:GetService("Debris")
  3537.  
  3538. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  3539. local DIRECTION = CF(StartPos,EndPos).lookVector
  3540. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  3541. end
  3542.  
  3543. function turnto(position)
  3544. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  3545. end
  3546.  
  3547. --//=================================\\
  3548. --|| WEAPON CREATION
  3549. --\\=================================//
  3550.  
  3551. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Hood", VT(1,1,1),false)
  3552. PRT.Color = C3(0,0,0)
  3553. local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
  3554. CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
  3555. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Scarf", VT(1,1,1),false)
  3556. PRT.Color = C3(0,0,0)
  3557. CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
  3558. CreateMesh("SpecialMesh", PRT, "FileMesh", "2333745532", "2333750544", VT(1.1,1,1.1), VT(0,0,0))
  3559.  
  3560. local Particle = IT("ParticleEmitter",nil)
  3561. Particle.Enabled = false
  3562. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  3563. Particle.LightEmission = 0.5
  3564. Particle.Rate = 150
  3565. Particle.ZOffset = 0.2
  3566. Particle.Rotation = NumberRange.new(-180, 180)
  3567. Particle.RotSpeed = NumberRange.new(-180, 180)
  3568. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  3569. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  3570.  
  3571. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  3572. function ParticleEmitter(Table)
  3573. local PRTCL = Particle:Clone()
  3574. local Speed = Table.Speed or 5
  3575. local Drag = Table.Drag or 0
  3576. local Size1 = Table.Size1 or 1
  3577. local Size2 = Table.Size2 or 5
  3578. local Lifetime1 = Table.Lifetime1 or 1
  3579. local Lifetime2 = Table.Lifetime2 or 1.5
  3580. local Parent = Table.Parent or Torso
  3581. local Emit = Table.Emit or 100
  3582. local Offset = Table.Offset or 360
  3583. local Acel = Table.Acel or VT(0,0,0)
  3584. local Enabled = Table.Enabled or false
  3585. PRTCL.Parent = Parent
  3586. PRTCL.Size = NumberSequence.new(Size1,Size2)
  3587. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  3588. PRTCL.Speed = NumberRange.new(Speed)
  3589. PRTCL.VelocitySpread = Offset
  3590. PRTCL.Drag = Drag
  3591. PRTCL.Acceleration = Acel
  3592. if Enabled == false then
  3593. PRTCL:Emit(Emit)
  3594. Debris:AddItem(PRTCL,Lifetime2)
  3595. else
  3596. PRTCL.Enabled = true
  3597. end
  3598. return PRTCL
  3599. end
  3600.  
  3601. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.6,0.2),false)
  3602. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  3603. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  3604. MakeForm(Part,"Wedge")
  3605. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  3606. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.3,0.2),false)
  3607. MakeForm(Part,"Wedge")
  3608. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  3609. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.3,0.3),false)
  3610. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  3611. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.5,0.5),false)
  3612. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  3613. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.4,0.4,0.4),false)
  3614. MakeForm(Part,"Cyl")
  3615. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  3616. for i = 1, 8 do
  3617. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0,0.35,0.41),false)
  3618. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  3619. end
  3620. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.38,0.41,0.38),false)
  3621. MakeForm(Part,"Cyl")
  3622. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  3623. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.37,0.5,0.37),false)
  3624. MakeForm(Part,"Ball")
  3625. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  3626. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.7,0.4),false)
  3627. MakeForm(Part,"Wedge")
  3628. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  3629. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.4,0.2),false)
  3630. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  3631. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.35,0.35,0.35),false)
  3632. MakeForm(Part,"Cyl")
  3633. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  3634. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.5),false)
  3635. MakeForm(Part,"Cyl")
  3636. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  3637. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.45),false)
  3638. MakeForm(Part,"Cyl")
  3639. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  3640. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  3641. MakeForm(Part,"Wedge")
  3642. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  3643. local LASTPART = Handle
  3644. for i = 1, 10 do
  3645. if LASTPART == Handle then
  3646. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.2,0),false)
  3647. LASTPART = Part
  3648. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  3649. else
  3650. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.05,0),false)
  3651. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  3652. LASTPART = Part
  3653. end
  3654. end
  3655.  
  3656. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.15,2,0.15),false)
  3657. MakeForm(Barrel,"Cyl")
  3658. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  3659. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.25,1,0.25),false)
  3660. MakeForm(Part,"Cyl")
  3661. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  3662. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0.1,0.2),false)
  3663. MakeForm(Part,"Wedge")
  3664. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  3665. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.125,0,0.125),false)
  3666. MakeForm(Hole,"Cyl")
  3667. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  3668. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0,0),false)
  3669. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  3670. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  3671. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Brown", "Eye", VT(0,0,0),false)
  3672. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  3673. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  3674. coroutine.resume(coroutine.create(function()
  3675. while wait() do
  3676. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  3677. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  3678. end
  3679. end))
  3680.  
  3681. 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)})
  3682. --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)})
  3683.  
  3684. for _, c in pairs(Weapon:GetDescendants()) do
  3685. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  3686. c.Material = "Glass"
  3687. c.Color = C3(0,0,0)
  3688. elseif c.ClassName == "Part" and c.Name == "Eye" then
  3689. c.Color = C3(1,0,0)
  3690. c.Material = "Neon"
  3691. end
  3692. end
  3693.  
  3694. Weapon.Parent = Character
  3695. for _, c in pairs(Weapon:GetChildren()) do
  3696. if c.ClassName == "Part" then
  3697. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  3698. end
  3699. end
  3700.  
  3701. local SKILLTEXTCOLOR = C3(1,0,0)
  3702. local SKILLFONT = "Antique"
  3703. local SKILLTEXTSIZE = 7
  3704.  
  3705. Humanoid.Died:connect(function()
  3706. ATTACK = true
  3707. end)
  3708.  
  3709. 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")
  3710. --[[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")
  3711. 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")
  3712. 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")
  3713. 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")
  3714. ]]
  3715. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  3716. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  3717. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  3718. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  3719. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  3720. ]]
  3721. function printbye(Name)
  3722. 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, "}
  3723. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  3724. end
  3725.  
  3726. workspace.ChildAdded:connect(function(instance)
  3727. for BANISH = 1, #TOBANISH do
  3728. if TOBANISH[BANISH] ~= nil then
  3729. if instance.Name == TOBANISH[BANISH] then
  3730. coroutine.resume(coroutine.create(function()
  3731. printbye(instance.Name)
  3732. instance:ClearAllChildren()
  3733. Debris:AddItem(instance,0.0005)
  3734. end))
  3735. end
  3736. end
  3737. end
  3738. end)
  3739.  
  3740. --//=================================\\
  3741. --|| DAMAGING
  3742. --\\=================================//
  3743.  
  3744. function Banish(Foe)
  3745. if Foe then
  3746. coroutine.resume(coroutine.create(function()
  3747. --if game.Players:FindFirstChild(Foe.Name) then
  3748. table.insert(TOBANISH,Foe.Name)
  3749. printbye(Foe.Name)
  3750. --end
  3751. Foe.Archivable = true
  3752. local CLONE = Foe:Clone()
  3753. Foe:Destroy()
  3754. CLONE.Parent = Effects
  3755. CLONE:BreakJoints()
  3756. local MATERIALS = {"Glass","Neon"}
  3757. for _, c in pairs(CLONE:GetDescendants()) do
  3758. if c:IsA("BasePart") then
  3759. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  3760. CreateSound(340722848, c, 10, 1, false)
  3761. end
  3762. c.Anchored = true
  3763. c.Transparency = c.Transparency + 0.2
  3764. c.Material = MATERIALS[MRANDOM(1,2)]
  3765. c.Color = C3(1,0,0)
  3766. if c.ClassName == "MeshPart" then
  3767. c.TextureID = ""
  3768. end
  3769. if c:FindFirstChildOfClass("SpecialMesh") then
  3770. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  3771. end
  3772. if c:FindFirstChildOfClass("Decal") then
  3773. c:FindFirstChildOfClass("Decal"):remove()
  3774. end
  3775. c.Name = "Banished"
  3776. c.CanCollide = false
  3777. else
  3778. c:remove()
  3779. end
  3780. end
  3781. local A = false
  3782. for i = 1, 35 do
  3783. if A == false then
  3784. A = true
  3785. elseif A == true then
  3786. A = false
  3787. end
  3788. for _, c in pairs(CLONE:GetDescendants()) do
  3789. if c:IsA("BasePart") then
  3790. c.Anchored = true
  3791. c.Material = MATERIALS[MRANDOM(1,2)]
  3792. c.Transparency = c.Transparency + 0.8/35
  3793. if A == false then
  3794. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  3795. elseif A == true then
  3796. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  3797. end
  3798. end
  3799. end
  3800. Swait()
  3801. end
  3802. CLONE:remove()
  3803. end))
  3804. end
  3805. end
  3806.  
  3807. function ApplyAoE(POSITION,RANGE,ISBANISH)
  3808. local CHILDREN = workspace:GetDescendants()
  3809. for index, CHILD in pairs(CHILDREN) do
  3810. if CHILD.ClassName == "Model" and CHILD ~= Character then
  3811. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3812. if HUM then
  3813. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3814. if TORSO then
  3815. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  3816. if ISBANISH == true then
  3817. Banish(CHILD)
  3818. else
  3819. if ISBANISH == "Gravity" then
  3820. HUM.PlatformStand = true
  3821. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  3822. local grav = Instance.new("BodyPosition",TORSO)
  3823. grav.D = 15
  3824. grav.P = 20000
  3825. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  3826. grav.position = TORSO.Position
  3827. grav.Name = "V3BanishForce"..Player.Name
  3828. else
  3829. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  3830. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  3831. end
  3832. else
  3833. HUM.PlatformStand = false
  3834. end
  3835. end
  3836. elseif ISBANISH == "Gravity" then
  3837. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  3838. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  3839. HUM.PlatformStand = false
  3840. end
  3841. end
  3842. end
  3843. end
  3844. end
  3845. end
  3846. end
  3847.  
  3848. --//=================================\\
  3849. --|| ATTACK FUNCTIONS AND STUFF
  3850. --\\=================================//
  3851.  
  3852. function Banisher_Bullet()
  3853. ATTACK = true
  3854. Rooted = false
  3855. for i=0, 0.4, 0.1 / Animation_Speed do
  3856. Swait()
  3857. turnto(Mouse.Hit.p)
  3858. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3859. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  3860. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3861. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  3862. 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)
  3863. 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)
  3864. end
  3865. repeat
  3866. for i=0, 0.2, 0.1 / Animation_Speed do
  3867. Swait()
  3868. turnto(Mouse.Hit.p)
  3869. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3870. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  3871. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3872. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  3873. 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)
  3874. 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)
  3875. end
  3876. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  3877. SpawnTrail(Hole.Position,POS)
  3878. if HIT ~= nil then
  3879. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  3880. Banish(HIT.Parent)
  3881. end
  3882. end
  3883. 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})
  3884. 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})
  3885. 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})
  3886. 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})
  3887. for i=0, 0.3, 0.1 / Animation_Speed do
  3888. Swait()
  3889. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3890. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  3891. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3892. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  3893. 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)
  3894. 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)
  3895. end
  3896. until KEYHOLD == false
  3897. ATTACK = false
  3898. Rooted = false
  3899. end
  3900.  
  3901. function AttackTemplate()
  3902. ATTACK = true
  3903. Rooted = false
  3904. for i=0, 1, 0.1 / Animation_Speed do
  3905. Swait()
  3906. 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)
  3907. 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)
  3908. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3909. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  3910. 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)
  3911. 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)
  3912. end
  3913. ATTACK = false
  3914. Rooted = false
  3915. end
  3916.  
  3917. --//=================================\\
  3918. --|| ASSIGN THINGS TO KEYS
  3919. --\\=================================//
  3920.  
  3921. function MouseDown(Mouse)
  3922. if ATTACK == false then
  3923. end
  3924. end
  3925.  
  3926. function MouseUp(Mouse)
  3927. HOLD = false
  3928. end
  3929.  
  3930. function KeyDown(Key)
  3931. KEYHOLD = true
  3932. if Key == "z" and ATTACK == false then
  3933. Banisher_Bullet()
  3934. end
  3935.  
  3936. if Key == "b" and ATTACK == false then
  3937. end
  3938.  
  3939. if Key == "c" and ATTACK == false then
  3940. end
  3941.  
  3942. if Key == "v" and ATTACK == false then
  3943. end
  3944.  
  3945. if Key == "x" and ATTACK == false then
  3946. end
  3947. end
  3948.  
  3949. function KeyUp(Key)
  3950. KEYHOLD = false
  3951. end
  3952.  
  3953. Mouse.Button1Down:connect(function(NEWKEY)
  3954. MouseDown(NEWKEY)
  3955. end)
  3956. Mouse.Button1Up:connect(function(NEWKEY)
  3957. MouseUp(NEWKEY)
  3958. end)
  3959. Mouse.KeyDown:connect(function(NEWKEY)
  3960. KeyDown(NEWKEY)
  3961. end)
  3962. Mouse.KeyUp:connect(function(NEWKEY)
  3963. KeyUp(NEWKEY)
  3964. end)
  3965.  
  3966. --//=================================\\
  3967. --\\=================================//
  3968.  
  3969.  
  3970. function unanchor()
  3971. if UNANCHOR == true then
  3972. g = Character:GetChildren()
  3973. for i = 1, #g do
  3974. if g[i].ClassName == "Part" then
  3975. g[i].Anchored = false
  3976. end
  3977. end
  3978. end
  3979. end
  3980.  
  3981.  
  3982. --//=================================\\
  3983. --|| WRAP THE WHOLE SCRIPT UP
  3984. --\\=================================//
  3985.  
  3986. Humanoid.Changed:connect(function(Jump)
  3987. if Jump == "Jump" and (Disable_Jump == true) then
  3988. Humanoid.Jump = false
  3989. end
  3990. end)
  3991.  
  3992. local CONNECT = nil
  3993.  
  3994. while true do
  3995. Swait()
  3996. ANIMATE.Parent = nil
  3997. if Character:FindFirstChildOfClass("Humanoid") == nil then
  3998. Humanoid = IT("Humanoid",Character)
  3999. end
  4000. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  4001. v:Stop();
  4002. end
  4003. SINE = SINE + CHANGE
  4004. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  4005. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  4006. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  4007. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  4008. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  4009. 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)
  4010. 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)
  4011. 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)
  4012. 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)
  4013. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  4014. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  4015. 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)
  4016. 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)
  4017. 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)
  4018. end
  4019. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  4020. ANIM = "Jump"
  4021. if ATTACK == false then
  4022. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  4023. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  4024. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  4025. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  4026. 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)
  4027. 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)
  4028. end
  4029. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  4030. ANIM = "Fall"
  4031. if ATTACK == false then
  4032. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  4033. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  4034. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  4035. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  4036. 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)
  4037. 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)
  4038. end
  4039. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  4040. ANIM = "Idle"
  4041. if ATTACK == false then
  4042. 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)
  4043. 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)
  4044. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  4045. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  4046. 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)
  4047. 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)
  4048. end
  4049. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  4050. ANIM = "Walk"
  4051. if ATTACK == false then
  4052. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4053. 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)
  4054. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  4055. 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)
  4056. 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)
  4057. 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)
  4058. end
  4059. end
  4060. unanchor()
  4061. Humanoid.MaxHealth = "inf"
  4062. Humanoid.Health = "inf"
  4063. if Rooted == false then
  4064. Disable_Jump = false
  4065. Humanoid.WalkSpeed = Speed
  4066. elseif Rooted == true then
  4067. Disable_Jump = true
  4068. Humanoid.WalkSpeed = 0
  4069. end
  4070. sick.Parent = Torso
  4071. sick:resume()
  4072. sick.Volume = 10
  4073. sick.Pitch = 1.2
  4074. sick.SoundId = "2586147657"
  4075. sick.Name = "BanishV3Music"
  4076. end
  4077.  
  4078. --//=================================\\
  4079. --\\=================================//
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085. --//====================================================\\--
  4086. --|| END OF SCRIPT
  4087. --\\====================================================//--"
  4088. sick.Name = "BanishV3Music"
  4089. end
  4090.  
  4091. --//=================================\\
  4092. --\\=================================//
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098. --//====================================================\\--
  4099. --|| END OF SCRIPT
  4100. --\\====================================================//--"
  4101. sick.Name = "BanishV3Music"
  4102. end
  4103.  
  4104. --//=================================\\
  4105. --\\=================================//
  4106.  
  4107.  
  4108.  
  4109.  
  4110.  
  4111. --//====================================================\\--
  4112. --|| END OF SCRIPT
  4113. --\\====================================================//--"
  4114. sick.Name = "BanishV3Music"
  4115. end
  4116.  
  4117. --//=================================\\
  4118. --\\=================================//
  4119.  
  4120.  
  4121.  
  4122.  
  4123.  
  4124. --//====================================================\\--
  4125. --|| END OF SCRIPT
  4126. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement