Advertisement
Christoffer07700Extr

DUPLEX

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