Advertisement
LeafyHirt

FE deathgun

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