Advertisement
Christoffer07700Extr

DUPLEX FIXED

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