XxmadmaxgamexX

Gun

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