Advertisement
Zach_script_stealer2

Edited Banisher

Dec 28th, 2018
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. script.Name = "BANISHER"
  2. --//====================================================\\--
  3. --|| CREATED BY SHACKLUSTER
  4. --|| EDIT BY NAME CLAN
  5. --|| TRANSFORM TO BANISHER GUN V.4
  6. --|| BY nguyenducloi123
  7. --\\====================================================//--
  8. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  9. local Player,game,owner = owner,game
  10. local RealPlayer = Player
  11. do
  12. print("FE Compatibility code by Mokiros | Showcase by Bacon Hair!")
  13. local rp = RealPlayer
  14. script.Parent = rp.Character
  15.  
  16. --RemoteEvent for communicating
  17. local Event = Instance.new("RemoteEvent")
  18. Event.Name = "UserInput_Event"
  19.  
  20. --Fake event to make stuff like Mouse.KeyDown work
  21. local function fakeEvent()
  22. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  23. t.connect = t.Connect
  24. return t
  25. end
  26.  
  27. --Creating fake input objects with fake variables
  28. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  29. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  30. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  31. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  32. end}
  33. --Merged 2 functions into one by checking amount of arguments
  34. CAS.UnbindAction = CAS.BindAction
  35.  
  36. --This function will trigger the events that have been :Connect()'ed
  37. local function te(self,ev,...)
  38. local t = m[ev]
  39. if t and t._fakeEvent then
  40. for _,f in pairs(t.Functions) do
  41. f(...)
  42. end
  43. end
  44. end
  45. m.TrigEvent = te
  46. UIS.TrigEvent = te
  47.  
  48. Event.OnServerEvent:Connect(function(plr,io)
  49. if plr~=rp then return end
  50. m.Target = io.Target
  51. m.Hit = io.Hit
  52. if not io.isMouse then
  53. local b = io.UserInputState == Enum.UserInputState.Begin
  54. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  55. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  56. end
  57. for _,t in pairs(CAS.Actions) do
  58. for _,k in pairs(t.Keys) do
  59. if k==io.KeyCode then
  60. t.Function(t.Name,io.UserInputState,io)
  61. end
  62. end
  63. end
  64. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  65. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  66. end
  67. end)
  68. Event.Parent = NLS([==[
  69. local Player = game:GetService("Players").LocalPlayer
  70. local Event = script:WaitForChild("UserInput_Event")
  71.  
  72. local Mouse = Player:GetMouse()
  73. local UIS = game:GetService("UserInputService")
  74. local input = function(io,a)
  75. if a then return end
  76. --Since InputObject is a client-side instance, we create and pass table instead
  77. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  78. end
  79. UIS.InputBegan:Connect(input)
  80. UIS.InputEnded:Connect(input)
  81.  
  82. local h,t
  83. --Give the server mouse data 30 times every second, but only if the values changed
  84. --If player is not moving their mouse, client won't fire events
  85. while wait(1/30) do
  86. if h~=Mouse.Hit or t~=Mouse.Target then
  87. h,t=Mouse.Hit,Mouse.Target
  88. Event:FireServer({isMouse=true,Target=t,Hit=h})
  89. end
  90. end]==],Player.Character)
  91.  
  92. ----Sandboxed game object that allows the usage of client-side methods and services
  93. --Real game object
  94. local _rg = game
  95.  
  96. --Metatable for fake service
  97. local fsmt = {
  98. __index = function(self,k)
  99. local s = rawget(self,"_RealService")
  100. if s then return s[k] end
  101. end,
  102. __newindex = function(self,k,v)
  103. local s = rawget(self,"_RealService")
  104. if s then s[k]=v end
  105. end,
  106. __call = function(self,...)
  107. local s = rawget(self,"_RealService")
  108. if s then return s(...) end
  109. end
  110. }
  111. local function FakeService(t,RealService)
  112. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  113. return setmetatable(t,fsmt)
  114. end
  115.  
  116. --Fake game object
  117. local g = {
  118. GetService = function(self,s)
  119. return self[s]
  120. end,
  121. Players = FakeService({
  122. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  123. },"Players"),
  124. UserInputService = FakeService(UIS,"UserInputService"),
  125. ContextActionService = FakeService(CAS,"ContextActionService"),
  126. }
  127. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  128. g.service = g.GetService
  129.  
  130. g.RunService = FakeService({
  131. RenderStepped = _rg:GetService("RunService").Heartbeat,
  132. BindToRenderStep = function(self,name,_,fun)
  133.  
  134. end,
  135. UnbindFromRenderStep = function(self,name)
  136. self._btrs[name]:Disconnect()
  137. end,
  138. },"RunService")
  139.  
  140. setmetatable(g,{
  141. __index=function(self,s)
  142. return _rg:GetService(s) or typeof(_rg[s])=="function"
  143. and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  144. end,
  145. __newindex = fsmt.__newindex,
  146. __call = fsmt.__call
  147. })
  148. --Changing owner to fake player object to support owner:GetMouse()
  149. game,owner = g,g.Players.LocalPlayer
  150. end
  151.  
  152. wait(0.2)
  153.  
  154. Player = game:GetService("Players").LocalPlayer
  155. PlayerGui = Player.PlayerGui
  156. chara = Player.Character
  157. Character = Player.Character
  158. Cam = workspace.CurrentCamera
  159. Backpack = Player.Backpack
  160. Character = Player.Character
  161. Humanoid = Character.Humanoid
  162. Mouse = Player:GetMouse()
  163. RootPart = Character["HumanoidRootPart"]
  164. Torso = Character["Torso"]
  165. Head = Character["Head"]
  166. RightArm = Character["Right Arm"]
  167. LeftArm = Character["Left Arm"]
  168. RightLeg = Character["Right Leg"]
  169. LeftLeg = Character["Left Leg"]
  170. RootJoint = RootPart["RootJoint"]
  171. Neck = Torso["Neck"]
  172. RightShoulder = Torso["Right Shoulder"]
  173. LeftShoulder = Torso["Left Shoulder"]
  174. RightHip = Torso["Right Hip"]
  175. LeftHip = Torso["Left Hip"]
  176. local sick = Instance.new("Sound",Character)
  177. sick.Parent = Character
  178. sick.SoundId = "rbxassetid://723652641"
  179. sick.Looped = true
  180. sick.Pitch = 1
  181. sick.Volume = 7
  182. sick:Play()
  183. Character.Archivable = true
  184. Humanoid.DisplayDistanceType = "None"
  185.  
  186. local naeeym = Instance.new("BillboardGui",chara)
  187. naeeym.Size = UDim2.new(0,100,0,40)
  188. naeeym.StudsOffset = Vector3.new(0,2,0)
  189. naeeym.Adornee = chara.Head
  190. local tecks = Instance.new("TextLabel",naeeym)
  191. tecks.BackgroundTransparency = 1
  192. tecks.BorderSizePixel = 0
  193. tecks.Text = "Super-Evolved Banish"
  194. tecks.Font = "Fantasy"
  195. tecks.FontSize = "Size24"
  196. tecks.TextStrokeTransparency = 0
  197. tecks.TextStrokeColor3 = Color3.new(170,0,0)
  198. tecks.TextColor3 = Color3.new(1,0,0)
  199. tecks.Size = UDim2.new(1,0,0.5,0)
  200.  
  201. IT = Instance.new
  202. CF = CFrame.new
  203. VT = Vector3.new
  204. RAD = math.rad
  205. C3 = Color3.new
  206. UD2 = UDim2.new
  207. BRICKC = BrickColor.new
  208. ANGLES = CFrame.Angles
  209. EULER = CFrame.fromEulerAnglesXYZ
  210. COS = math.cos
  211. ACOS = math.acos
  212. SIN = math.sin
  213. ASIN = math.asin
  214. ABS = math.abs
  215. MRANDOM = math.random
  216. FLOOR = math.floor
  217.  
  218. --//=================================\\
  219. --|| USEFUL VALUES
  220. --\\=================================//
  221.  
  222. Animation_Speed = 3
  223. local FORCERESET = false
  224. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  225. local Speed = 16
  226. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  227. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  228. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  229. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  230. local DAMAGEMULTIPLIER = 1
  231. local ANIM = "Idle"
  232. local ATTACK = false
  233. local EQUIPPED = false
  234. local HOLD = false
  235. local COMBO = 1
  236. local Rooted = false
  237. local Gun = IT("Model")
  238. Gun.Name = "Gun"
  239. local SINE = 0
  240. local KEYHOLD = false
  241. local CHANGE = 2 / Animation_Speed
  242. local WALKINGANIM = false
  243. local VALUE1 = false
  244. local VALUE2 = false
  245. local ROBLOXIDLEANIMATION = IT("Animation")
  246. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  247. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  248. --ROBLOXIDLEANIMATION.Parent = Humanoid
  249. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  250. WEAPONGUI.Name = "BanishV3Gui"
  251. local Weapon = IT("Model")
  252. Weapon.Name = "Adds"
  253. local Effects = IT("Folder", Weapon)
  254. Effects.Name = "Effects"
  255. local ANIMATOR = Humanoid.Animator
  256. local ANIMATE = Character:FindFirstChild("Animate")
  257. local UNANCHOR = true
  258. local TOBANISH = {}
  259. script.Parent = PlayerGui
  260.  
  261. --//=================================\\
  262. --\\=================================//
  263.  
  264.  
  265. --//=================================\\
  266. --|| CUSTOMIZATION
  267. --\\=================================//
  268.  
  269. Class_Name = "Sharpshooter"
  270. Weapon_Name = "Add-ons"
  271.  
  272. Custom_Color_1 = BRICKC("Navy blue"); --1st color for the weapon.
  273. Custom_Color_2 = BRICKC("Lime green"); --2nd color for the weapon.
  274.  
  275. Custom_Color_3 = BRICKC("Really red"); --Color for the abilities.
  276. Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  277. Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  278. Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  279. Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  280.  
  281. Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  282. Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  283. Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  284. Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  285. Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  286.  
  287.  
  288. Player_Size = 1 --Size of the player.
  289. Animation_Speed = 3
  290. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  291.  
  292. local Speed = 20
  293. local Effects2 = {}
  294.  
  295. --//=================================\\
  296. --|| END OF CUSTOMIZATION
  297. --\\=================================//
  298.  
  299.  
  300. --//=================================\\
  301. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  302. --\\=================================//
  303.  
  304. ArtificialHB = Instance.new("BindableEvent", script)
  305. ArtificialHB.Name = "ArtificialHB"
  306.  
  307. script:WaitForChild("ArtificialHB")
  308.  
  309. frame = Frame_Speed
  310. tf = 0
  311. allowframeloss = false
  312. tossremainder = false
  313. lastframe = tick()
  314. script.ArtificialHB:Fire()
  315.  
  316. game:GetService("RunService").Heartbeat:connect(function(s, p)
  317. tf = tf + s
  318. if tf >= frame then
  319. if allowframeloss then
  320. script.ArtificialHB:Fire()
  321. lastframe = tick()
  322. else
  323. for i = 1, math.floor(tf / frame) do
  324. script.ArtificialHB:Fire()
  325. end
  326. lastframe = tick()
  327. end
  328. if tossremainder then
  329. tf = 0
  330. else
  331. tf = tf - frame * math.floor(tf / frame)
  332. end
  333. end
  334. end)
  335.  
  336. --//=================================\\
  337. --\\=================================//
  338.  
  339. --//=================================\\
  340. --|| SOME FUNCTIONS
  341. --\\=================================//
  342.  
  343. function Clerp(a, b, t)
  344. local qa = {QuaternionFromCFrame(a)}
  345. local qb = {QuaternionFromCFrame(b)}
  346. local ax, ay, az = a.x, a.y, a.z
  347. local bx, by, bz = b.x, b.y, b.z
  348. local _t = 1 - t
  349. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  350. end
  351.  
  352. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  353. local frame = IT("Frame")
  354. frame.BackgroundTransparency = TRANSPARENCY
  355. frame.BorderSizePixel = BORDERSIZEPIXEL
  356. frame.Position = POSITION
  357. frame.Size = SIZE
  358. frame.BackgroundColor3 = COLOR
  359. frame.BorderColor3 = BORDERCOLOR
  360. frame.Name = NAME
  361. frame.Parent = PARENT
  362. return frame
  363. end
  364.  
  365. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  366. local label = IT("TextLabel")
  367. label.BackgroundTransparency = 1
  368. label.Size = UD2(1, 0, 1, 0)
  369. label.Position = UD2(0, 0, 0, 0)
  370. label.TextColor3 = TEXTCOLOR
  371. label.TextStrokeTransparency = STROKETRANSPARENCY
  372. label.TextTransparency = TRANSPARENCY
  373. label.FontSize = TEXTFONTSIZE
  374. label.Font = TEXTFONT
  375. label.BorderSizePixel = BORDERSIZEPIXEL
  376. label.TextScaled = false
  377. label.Text = TEXT
  378. label.Name = NAME
  379. label.Parent = PARENT
  380. return label
  381. end
  382.  
  383. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  384. if FLOOR ~= nil then
  385. coroutine.resume(coroutine.create(function()
  386. local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  387. PART.CFrame = CF(POSITION)
  388. for i = 1, 45 do
  389. local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  390. RingPiece.Material = FLOOR.Material
  391. RingPiece.Color = FLOOR.Color
  392. RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  393. Debris:AddItem(RingPiece,SWAIT)
  394. end
  395. PART:remove()
  396. end))
  397. end
  398. end
  399.  
  400. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  401. if FLOOR ~= nil then
  402. for i = 1, AMOUNT do
  403. local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
  404. DEBREE.Material = FLOOR.Material
  405. DEBREE.Color = FLOOR.Color
  406. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  407. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  408. coroutine.resume(coroutine.create(function()
  409. Swait(15)
  410. DEBREE.Parent = workspace
  411. DEBREE.CanCollide = true
  412. Debris:AddItem(DEBREE,SWAIT)
  413. end))
  414. end
  415. end
  416. end
  417.  
  418. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  419. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  420. end
  421.  
  422. function PositiveAngle(NUMBER)
  423. if NUMBER >= 0 then
  424. NUMBER = 0
  425. end
  426. return NUMBER
  427. end
  428.  
  429. function NegativeAngle(NUMBER)
  430. if NUMBER <= 0 then
  431. NUMBER = 0
  432. end
  433. return NUMBER
  434. end
  435.  
  436. function Swait(NUMBER)
  437. if NUMBER == 0 or NUMBER == nil then
  438. ArtificialHB.Event:wait()
  439. else
  440. for i = 1, NUMBER do
  441. ArtificialHB.Event:wait()
  442. end
  443. end
  444. end
  445.  
  446. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  447. local NEWMESH = IT(MESH)
  448. if MESH == "SpecialMesh" then
  449. NEWMESH.MeshType = MESHTYPE
  450. if MESHID ~= "nil" and MESHID ~= "" then
  451. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  452. end
  453. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  454. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  455. end
  456. end
  457. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  458. NEWMESH.Scale = SCALE
  459. NEWMESH.Parent = PARENT
  460. return NEWMESH
  461. end
  462.  
  463. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  464. local NEWPART = IT("Part")
  465. NEWPART.formFactor = FORMFACTOR
  466. NEWPART.Reflectance = REFLECTANCE
  467. NEWPART.Transparency = TRANSPARENCY
  468. NEWPART.CanCollide = false
  469. NEWPART.Locked = true
  470. NEWPART.Anchored = true
  471. if ANCHOR == false then
  472. NEWPART.Anchored = false
  473. end
  474. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  475. NEWPART.Name = NAME
  476. NEWPART.Size = SIZE
  477. NEWPART.Position = Torso.Position
  478. NEWPART.Material = MATERIAL
  479. NEWPART:BreakJoints()
  480. NEWPART.Parent = PARENT
  481. return NEWPART
  482. end
  483.  
  484. local function weldBetween(a, b)
  485. local weldd = Instance.new("ManualWeld")
  486. weldd.Part0 = a
  487. weldd.Part1 = b
  488. weldd.C0 = CFrame.new()
  489. weldd.C1 = b.CFrame:inverse() * a.CFrame
  490. weldd.Parent = a
  491. return weldd
  492. end
  493.  
  494.  
  495. function QuaternionFromCFrame(cf)
  496. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  497. local trace = m00 + m11 + m22
  498. if trace > 0 then
  499. local s = math.sqrt(1 + trace)
  500. local recip = 0.5 / s
  501. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  502. else
  503. local i = 0
  504. if m11 > m00 then
  505. i = 1
  506. end
  507. if m22 > (i == 0 and m00 or m11) then
  508. i = 2
  509. end
  510. if i == 0 then
  511. local s = math.sqrt(m00 - m11 - m22 + 1)
  512. local recip = 0.5 / s
  513. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  514. elseif i == 1 then
  515. local s = math.sqrt(m11 - m22 - m00 + 1)
  516. local recip = 0.5 / s
  517. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  518. elseif i == 2 then
  519. local s = math.sqrt(m22 - m00 - m11 + 1)
  520. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  521. end
  522. end
  523. end
  524.  
  525. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  526. local xs, ys, zs = x + x, y + y, z + z
  527. local wx, wy, wz = w * xs, w * ys, w * zs
  528. local xx = x * xs
  529. local xy = x * ys
  530. local xz = x * zs
  531. local yy = y * ys
  532. local yz = y * zs
  533. local zz = z * zs
  534. 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))
  535. end
  536.  
  537. function QuaternionSlerp(a, b, t)
  538. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  539. local startInterp, finishInterp;
  540. if cosTheta >= 0.0001 then
  541. if (1 - cosTheta) > 0.0001 then
  542. local theta = ACOS(cosTheta)
  543. local invSinTheta = 1 / SIN(theta)
  544. startInterp = SIN((1 - t) * theta) * invSinTheta
  545. finishInterp = SIN(t * theta) * invSinTheta
  546. else
  547. startInterp = 1 - t
  548. finishInterp = t
  549. end
  550. else
  551. if (1 + cosTheta) > 0.0001 then
  552. local theta = ACOS(-cosTheta)
  553. local invSinTheta = 1 / SIN(theta)
  554. startInterp = SIN((t - 1) * theta) * invSinTheta
  555. finishInterp = SIN(t * theta) * invSinTheta
  556. else
  557. startInterp = t - 1
  558. finishInterp = t
  559. end
  560. end
  561. 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
  562. end
  563.  
  564. function Clerp(a, b, t)
  565. local qa = {QuaternionFromCFrame(a)}
  566. local qb = {QuaternionFromCFrame(b)}
  567. local ax, ay, az = a.x, a.y, a.z
  568. local bx, by, bz = b.x, b.y, b.z
  569. local _t = 1 - t
  570. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  571. end
  572.  
  573. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  574. local frame = IT("Frame")
  575. frame.BackgroundTransparency = TRANSPARENCY
  576. frame.BorderSizePixel = BORDERSIZEPIXEL
  577. frame.Position = POSITION
  578. frame.Size = SIZE
  579. frame.BackgroundColor3 = COLOR
  580. frame.BorderColor3 = BORDERCOLOR
  581. frame.Name = NAME
  582. frame.Parent = PARENT
  583. return frame
  584. end
  585.  
  586. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  587. local label = IT("TextLabel")
  588. label.BackgroundTransparency = 1
  589. label.Size = UD2(1, 0, 1, 0)
  590. label.Position = UD2(0, 0, 0, 0)
  591. label.TextColor3 = TEXTCOLOR
  592. label.TextStrokeTransparency = STROKETRANSPARENCY
  593. label.TextTransparency = TRANSPARENCY
  594. label.FontSize = TEXTFONTSIZE
  595. label.Font = TEXTFONT
  596. label.BorderSizePixel = BORDERSIZEPIXEL
  597. label.TextScaled = false
  598. label.Text = TEXT
  599. label.Name = NAME
  600. label.Parent = PARENT
  601. return label
  602. end
  603.  
  604. function NoOutlines(PART)
  605. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  606. end
  607.  
  608. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  609. local NEWWELD = IT(TYPE)
  610. NEWWELD.Part0 = PART0
  611. NEWWELD.Part1 = PART1
  612. NEWWELD.C0 = C0
  613. NEWWELD.C1 = C1
  614. NEWWELD.Parent = PARENT
  615. return NEWWELD
  616. end
  617.  
  618. local S = IT("Sound")
  619. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  620. local NEWSOUND = nil
  621. coroutine.resume(coroutine.create(function()
  622. NEWSOUND = S:Clone()
  623. NEWSOUND.Parent = PARENT
  624. NEWSOUND.Volume = VOLUME
  625. NEWSOUND.Pitch = PITCH
  626. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  627. NEWSOUND:play()
  628. if DOESLOOP == true then
  629. NEWSOUND.Looped = true
  630. else
  631. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  632. NEWSOUND:remove()
  633. end
  634. end))
  635. return NEWSOUND
  636. end
  637.  
  638. function CFrameFromTopBack(at, top, back)
  639. local right = top:Cross(back)
  640. 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)
  641. end
  642.  
  643. --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})
  644. function WACKYEFFECT(Table)
  645. local TYPE = (Table.EffectType or "Sphere")
  646. local SIZE = (Table.Size or VT(1,1,1))
  647. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  648. local TRANSPARENCY = (Table.Transparency or 0)
  649. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  650. local CFRAME = (Table.CFrame or Torso.CFrame)
  651. local MOVEDIRECTION = (Table.MoveToPos or nil)
  652. local ROTATION1 = (Table.RotationX or 0)
  653. local ROTATION2 = (Table.RotationY or 0)
  654. local ROTATION3 = (Table.RotationZ or 0)
  655. local MATERIAL = (Table.Material or "Neon")
  656. local COLOR = (Table.Color or C3(1,1,1))
  657. local TIME = (Table.Time or 45)
  658. local SOUNDID = (Table.SoundID or nil)
  659. local SOUNDPITCH = (Table.SoundPitch or nil)
  660. local SOUNDVOLUME = (Table.SoundVolume or nil)
  661. coroutine.resume(coroutine.create(function()
  662. local PLAYSSOUND = false
  663. local SOUND = nil
  664. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  665. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  666. PLAYSSOUND = true
  667. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  668. end
  669. EFFECT.Color = COLOR
  670. local MSH = nil
  671. if TYPE == "Sphere" then
  672. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  673. elseif TYPE == "Block" then
  674. MSH = IT("BlockMesh",EFFECT)
  675. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  676. elseif TYPE == "Wave" then
  677. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  678. elseif TYPE == "Ring" then
  679. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  680. elseif TYPE == "Slash" then
  681. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  682. elseif TYPE == "Round Slash" then
  683. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  684. elseif TYPE == "Swirl" then
  685. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  686. elseif TYPE == "Skull" then
  687. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  688. elseif TYPE == "Crystal" then
  689. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  690. end
  691. if MSH ~= nil then
  692. local MOVESPEED = nil
  693. if MOVEDIRECTION ~= nil then
  694. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  695. end
  696. local GROWTH = SIZE - ENDSIZE
  697. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  698. if TYPE == "Block" then
  699. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  700. else
  701. EFFECT.CFrame = CFRAME
  702. end
  703. for LOOP = 1, TIME+1 do
  704. Swait()
  705. MSH.Scale = MSH.Scale - GROWTH/TIME
  706. if TYPE == "Wave" then
  707. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  708. end
  709. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  710. if TYPE == "Block" then
  711. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  712. else
  713. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  714. end
  715. if MOVEDIRECTION ~= nil then
  716. local ORI = EFFECT.Orientation
  717. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  718. EFFECT.Orientation = ORI
  719. end
  720. end
  721. if PLAYSSOUND == false then
  722. EFFECT:remove()
  723. else
  724. SOUND.Stopped:Connect(function()
  725. EFFECT:remove()
  726. end)
  727. end
  728. else
  729. if PLAYSSOUND == false then
  730. EFFECT:remove()
  731. else
  732. repeat Swait() until SOUND.Playing == false
  733. EFFECT:remove()
  734. end
  735. end
  736. end))
  737. end
  738.  
  739. local DECAL = IT("Decal")
  740. function MakeRing()
  741. local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Lime green"), "MagicRing", VT(0, 0, 0), true)
  742. local MSH = IT("BlockMesh", RING)
  743. local TOP = DECAL:Clone()
  744. local BOTTOM = DECAL:Clone()
  745. TOP.Parent = RING
  746. BOTTOM.Parent = RING
  747. TOP.Face = "Top"
  748. BOTTOM.Face = "Bottom"
  749. TOP.Texture = "http://www.roblox.com/asset/?id=127817121"
  750. BOTTOM.Texture = "http://www.roblox.com/asset/?id=127817121"
  751. local function REMOVE()
  752. coroutine.resume(coroutine.create(function()
  753. local SIZE = MSH.Scale.X
  754. for i = 1, 35 do
  755. Swait()
  756. MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
  757. TOP.Transparency = TOP.Transparency + 0.02857142857142857
  758. BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
  759. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
  760. end
  761. RING:remove()
  762. end))
  763. end
  764. return RING, MSH, REMOVE
  765. end
  766.  
  767. function MakeForm(PART,TYPE)
  768. if TYPE == "Cyl" then
  769. local MSH = IT("CylinderMesh",PART)
  770. elseif TYPE == "Ball" then
  771. local MSH = IT("SpecialMesh",PART)
  772. MSH.MeshType = "Sphere"
  773. elseif TYPE == "Wedge" then
  774. local MSH = IT("SpecialMesh",PART)
  775. MSH.MeshType = "Wedge"
  776. end
  777. end
  778.  
  779. function SpawnTrail(FROM,TO,BIG)
  780. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  781. MakeForm(TRAIL,"Cyl")
  782. local DIST = (FROM - TO).Magnitude
  783. if BIG == true then
  784. TRAIL.Size = VT(0.5,DIST,0.5)
  785. else
  786. TRAIL.Size = VT(0.25,DIST,0.25)
  787. end
  788. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  789. coroutine.resume(coroutine.create(function()
  790. for i = 1, 5 do
  791. Swait()
  792. TRAIL.Transparency = TRAIL.Transparency + 0.1
  793. end
  794. TRAIL:remove()
  795. end))
  796. end
  797. --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})
  798. function WACKYEFFECT(Table)
  799. local TYPE = (Table.EffectType or "Sphere")
  800. local SIZE = (Table.Size or VT(1,1,1))
  801. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  802. local TRANSPARENCY = (Table.Transparency or 0)
  803. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  804. local CFRAME = (Table.CFrame or Torso.CFrame)
  805. local MOVEDIRECTION = (Table.MoveToPos or nil)
  806. local ROTATION1 = (Table.RotationX or 0)
  807. local ROTATION2 = (Table.RotationY or 0)
  808. local ROTATION3 = (Table.RotationZ or 0)
  809. local MATERIAL = (Table.Material or "Neon")
  810. local COLOR = (Table.Color or C3(1,1,1))
  811. local TIME = (Table.Time or 45)
  812. local SOUNDID = (Table.SoundID or nil)
  813. local SOUNDPITCH = (Table.SoundPitch or nil)
  814. local SOUNDVOLUME = (Table.SoundVolume or nil)
  815. coroutine.resume(coroutine.create(function()
  816. local PLAYSSOUND = false
  817. local SOUND = nil
  818. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  819. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  820. PLAYSSOUND = true
  821. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  822. end
  823. EFFECT.Color = COLOR
  824. local MSH = nil
  825. if TYPE == "Sphere" then
  826. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  827. elseif TYPE == "Block" then
  828. MSH = IT("BlockMesh",EFFECT)
  829. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  830. elseif TYPE == "Wave" then
  831. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  832. elseif TYPE == "Ring" then
  833. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  834. elseif TYPE == "Slash" then
  835. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  836. elseif TYPE == "Round Slash" then
  837. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  838. elseif TYPE == "Swirl" then
  839. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  840. elseif TYPE == "Skull" then
  841. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  842. elseif TYPE == "Crystal" then
  843. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  844. end
  845. if MSH ~= nil then
  846. local MOVESPEED = nil
  847. if MOVEDIRECTION ~= nil then
  848. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  849. end
  850. local GROWTH = SIZE - ENDSIZE
  851. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  852. if TYPE == "Block" then
  853. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  854. else
  855. EFFECT.CFrame = CFRAME
  856. end
  857. for LOOP = 1, TIME+1 do
  858. Swait()
  859. MSH.Scale = MSH.Scale - GROWTH/TIME
  860. if TYPE == "Wave" then
  861. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  862. end
  863. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  864. if TYPE == "Block" then
  865. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  866. else
  867. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  868. end
  869. if MOVEDIRECTION ~= nil then
  870. local ORI = EFFECT.Orientation
  871. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  872. EFFECT.Orientation = ORI
  873. end
  874. end
  875. if PLAYSSOUND == false then
  876. EFFECT:remove()
  877. else
  878. SOUND.Stopped:Connect(function()
  879. EFFECT:remove()
  880. end)
  881. end
  882. else
  883. if PLAYSSOUND == false then
  884. EFFECT:remove()
  885. else
  886. repeat Swait() until SOUND.Playing == false
  887. EFFECT:remove()
  888. end
  889. end
  890. end))
  891. end
  892.  
  893. function MakeForm(PART,TYPE)
  894. if TYPE == "Cyl" then
  895. local MSH = IT("CylinderMesh",PART)
  896. elseif TYPE == "Ball" then
  897. local MSH = IT("SpecialMesh",PART)
  898. MSH.MeshType = "Sphere"
  899. elseif TYPE == "Wedge" then
  900. local MSH = IT("SpecialMesh",PART)
  901. MSH.MeshType = "Wedge"
  902. end
  903. end
  904.  
  905. function SpawnTrail(FROM,TO,BIG)
  906. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  907. MakeForm(TRAIL,"Cyl")
  908. local DIST = (FROM - TO).Magnitude
  909. if BIG == true then
  910. TRAIL.Size = VT(0.5,DIST,0.5)
  911. else
  912. TRAIL.Size = VT(0.25,DIST,0.25)
  913. end
  914. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  915. coroutine.resume(coroutine.create(function()
  916. for i = 1, 5 do
  917. Swait()
  918. TRAIL.Transparency = TRAIL.Transparency + 0.1
  919. end
  920. TRAIL:remove()
  921. end))
  922. end
  923.  
  924. function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
  925. local TORSO = Torso
  926. local HUM = Humanoid
  927. if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  928. coroutine.wrap(function()
  929. VT = Vector3.new
  930. MRANDOM = math.random
  931. local A = TIME
  932. local B = INTENSITY
  933. local C = true
  934. local HUMANOID = Humanoid
  935. local TIMER = A or 35
  936. local SHAKE = B or 5
  937. local FADE = C or true
  938. if HUMANOID then
  939. local FADER = SHAKE / TIMER
  940. for i = 1, TIMER do
  941. wait()
  942. HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
  943. end
  944. HUMANOID.CameraOffset = VT(0, 0, 0)
  945. end
  946.  
  947. end)()
  948. end
  949. end
  950.  
  951. function chatfunc(text)
  952. local chat = coroutine.wrap(function()
  953. if Character:FindFirstChild("TalkingBillBoard")~= nil then
  954. Character:FindFirstChild("TalkingBillBoard"):destroy()
  955. end
  956. local Bill = Instance.new("BillboardGui",Character)
  957. Bill.Size = UDim2.new(0,100,0,40)
  958. Bill.StudsOffset = Vector3.new(0,3,0)
  959. Bill.Adornee = Character.Head
  960. Bill.Name = "TalkingBillBoard"
  961. local Hehe = Instance.new("TextLabel",Bill)
  962. Hehe.BackgroundTransparency = 1
  963. Hehe.BorderSizePixel = 0
  964. Hehe.Text = ""
  965. Hehe.Font = "Bodoni"
  966. Hehe.TextSize = 40
  967. Hehe.TextStrokeTransparency = 0
  968. Hehe.Size = UDim2.new(1,0,0.5,0)
  969. coroutine.resume(coroutine.create(function()
  970. while Hehe ~= nil do
  971. Swait()
  972. Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
  973. Hehe.Rotation = math.random(-2.5,2.5)
  974. Hehe.TextColor3 = Color3.new(MRANDOM(55,255),0,0)
  975. Hehe.TextStrokeColor3 = Color3.new(0,0,0)
  976. end
  977. end))
  978. for i = 1,string.len(text),1 do
  979. Swait()
  980. Hehe.Text = string.sub(text,1,i)
  981. end
  982. Swait(90)--Re[math.random(1, 93)]
  983. for i = 0, 1, .025 do
  984. Swait()
  985. Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
  986. Hehe.TextStrokeTransparency = i
  987. Hehe.TextTransparency = i
  988. end
  989. Bill:Destroy()
  990. end)
  991. chat()
  992. end
  993.  
  994. Debris = game:GetService("Debris")
  995.  
  996. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  997. local DIRECTION = CF(StartPos,EndPos).lookVector
  998. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  999. end
  1000.  
  1001. function turnto(position)
  1002. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1003. end
  1004.  
  1005. --//=================================\\
  1006. --|| RAGDOLL STUFF
  1007. --\\=================================//
  1008.  
  1009. function recurse(root,callback,i)
  1010. i= i or 0
  1011. for _,v in pairs(root:GetChildren()) do
  1012. i = i + 1
  1013. callback(i,v)
  1014.  
  1015. if #v:GetChildren() > 0 then
  1016. i = recurse(v,callback,i)
  1017. end
  1018. end
  1019.  
  1020. return i
  1021. end
  1022.  
  1023. function ragdollJoint(character, part0, part1, attachmentName, className, properties)
  1024. attachmentName = attachmentName.."RigAttachment"
  1025. local constraint = Instance.new(className.."Constraint")
  1026. constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  1027. constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  1028. constraint.Name = "RagdollConstraint"..part1.Name
  1029.  
  1030. for _,propertyData in next,properties or {} do
  1031. constraint[propertyData[1]] = propertyData[2]
  1032. end
  1033.  
  1034. constraint.Parent = character
  1035. end
  1036.  
  1037. function getAttachment0(character, attachmentName)
  1038. for _,child in next,character:GetChildren() do
  1039. local attachment = child:FindFirstChild(attachmentName)
  1040. if attachment then
  1041. return attachment
  1042. end
  1043. end
  1044. end
  1045.  
  1046. function ArtificialHitbox(Part)
  1047. local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
  1048. HITBOX.CanCollide = true
  1049. HITBOX.CFrame = Part.CFrame
  1050. weldBetween(Part,HITBOX)
  1051. end
  1052.  
  1053. function R15Ragdoll(character,KeepArms)
  1054. character:BreakJoints()
  1055. coroutine.resume(coroutine.create(function()
  1056. recurse(character, function(_,v)
  1057. if v:IsA("Attachment") then
  1058. v.Axis = Vector3.new(0, 1, 0)
  1059. v.SecondaryAxis = Vector3.new(0, 0, 1)
  1060. v.Rotation = Vector3.new(0, 0, 0)
  1061. end
  1062. end)
  1063. for _,child in next,character:GetChildren() do
  1064. if child:IsA("Accoutrement") then
  1065. for _,part in next,child:GetChildren() do
  1066. if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  1067. local attachment1 = part:FindFirstChildOfClass("Attachment")
  1068. local attachment0 = getAttachment0(character,attachment1.Name)
  1069. if attachment0 and attachment1 then
  1070. local constraint = Instance.new("HingeConstraint")
  1071. constraint.Attachment0 = attachment0
  1072. constraint.Attachment1 = attachment1
  1073. constraint.LimitsEnabled = true
  1074. constraint.UpperAngle = 0
  1075. constraint.LowerAngle = 0
  1076. constraint.Parent = character
  1077. end
  1078. ArtificialHitbox(part)
  1079. elseif part.Name == "HumanoidRootPart" then
  1080. part:remove()
  1081. end
  1082. end
  1083. end
  1084. end
  1085.  
  1086. ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  1087. {"LimitsEnabled",true};
  1088. {"UpperAngle",5};
  1089. })
  1090. if character:FindFirstChild("Head") then
  1091. ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
  1092. {"LimitsEnabled",true};
  1093. {"UpperAngle",15};
  1094. })
  1095. end
  1096.  
  1097. local handProperties = {
  1098. {"LimitsEnabled", true};
  1099. {"UpperAngle",0};
  1100. {"LowerAngle",0};
  1101. }
  1102. ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  1103. ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  1104.  
  1105. local shinProperties = {
  1106. {"LimitsEnabled", true};
  1107. {"UpperAngle", 0};
  1108. {"LowerAngle", -75};
  1109. }
  1110. ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  1111. ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  1112.  
  1113. local footProperties = {
  1114. {"LimitsEnabled", true};
  1115. {"UpperAngle", 15};
  1116. {"LowerAngle", -45};
  1117. }
  1118. ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  1119. ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  1120. if KeepArms == true then
  1121. ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
  1122. ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  1123. ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
  1124. ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  1125. end
  1126. ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  1127. ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  1128. Debris:AddItem(character,5)
  1129. end))
  1130. end
  1131.  
  1132. function Ragdoll(Character2,CharTorso,KeepArms)
  1133. coroutine.resume(coroutine.create(function()
  1134. Character2:BreakJoints()
  1135. local hum = Character2:findFirstChild("Humanoid")
  1136. hum:remove()
  1137. local function Scan(ch)
  1138. local e
  1139. for e = 1,#ch do
  1140. Scan(ch[e]:GetChildren())
  1141. if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
  1142. ch[e]:remove()
  1143. end
  1144. end
  1145. end
  1146. local NEWHUM = IT("Humanoid")
  1147. NEWHUM.Name = "Corpse"
  1148. NEWHUM.Health = 0
  1149. NEWHUM.MaxHealth = 0
  1150. NEWHUM.PlatformStand = true
  1151. NEWHUM.Parent = Character2
  1152. NEWHUM.DisplayDistanceType = "None"
  1153.  
  1154. local ch = Character2:GetChildren()
  1155. local i
  1156. for i = 1,#ch do
  1157. if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1158. ch[i]:remove()
  1159. end
  1160. end
  1161.  
  1162. local Torso2 = Character2.Torso
  1163. local movevector = Vector3.new()
  1164.  
  1165. if Torso2 then
  1166. movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
  1167. local Head = Character2:FindFirstChild("Head")
  1168. if Head then
  1169. local Neck = Instance.new("Weld")
  1170. Neck.Name = "Neck"
  1171. Neck.Part0 = Torso2
  1172. Neck.Part1 = Head
  1173. Neck.C0 = CFrame.new(0, 1.5, 0)
  1174. Neck.C1 = CFrame.new()
  1175. Neck.Parent = Torso2
  1176.  
  1177. end
  1178. local Limb = Character2:FindFirstChild("Right Arm")
  1179. if Limb and KeepArms == true then
  1180.  
  1181. Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
  1182. local Joint = Instance.new("Glue")
  1183. Joint.Name = "RightShoulder"
  1184. Joint.Part0 = Torso2
  1185. Joint.Part1 = Limb
  1186. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1187. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1188. Joint.Parent = Torso2
  1189.  
  1190. local B = Instance.new("Part")
  1191. B.TopSurface = 0
  1192. B.BottomSurface = 0
  1193. B.formFactor = "Symmetric"
  1194. B.Size = Vector3.new(1, 1, 1)
  1195. B.Transparency = 1
  1196. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1197. B.Parent = Character2
  1198. local W = Instance.new("Weld")
  1199. W.Part0 = Limb
  1200. W.Part1 = B
  1201. W.C0 = CFrame.new(0, -0.5, 0)
  1202. W.Parent = Limb
  1203.  
  1204. end
  1205. local Limb = Character2:FindFirstChild("Left Arm")
  1206. if Limb and KeepArms == true then
  1207.  
  1208. Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
  1209. local Joint = Instance.new("Glue")
  1210. Joint.Name = "LeftShoulder"
  1211. Joint.Part0 = Torso2
  1212. Joint.Part1 = Limb
  1213. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1214. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1215. Joint.Parent = Torso2
  1216.  
  1217. local B = Instance.new("Part")
  1218. B.TopSurface = 0
  1219. B.BottomSurface = 0
  1220. B.formFactor = "Symmetric"
  1221. B.Size = Vector3.new(1, 1, 1)
  1222. B.Transparency = 1
  1223. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1224. B.Parent = Character2
  1225. local W = Instance.new("Weld")
  1226. W.Part0 = Limb
  1227. W.Part1 = B
  1228. W.C0 = CFrame.new(0, -0.5, 0)
  1229. W.Parent = Limb
  1230.  
  1231. end
  1232. local Limb = Character2:FindFirstChild("Right Leg")
  1233. if Limb then
  1234.  
  1235. Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
  1236. local Joint = Instance.new("Glue")
  1237. Joint.Name = "RightHip"
  1238. Joint.Part0 = Torso2
  1239. Joint.Part1 = Limb
  1240. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1241. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1242. Joint.Parent = Torso2
  1243.  
  1244. local B = Instance.new("Part")
  1245. B.TopSurface = 0
  1246. B.BottomSurface = 0
  1247. B.formFactor = "Symmetric"
  1248. B.Size = Vector3.new(1, 1, 1)
  1249. B.Transparency = 1
  1250. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1251. B.Parent = Character2
  1252. local W = Instance.new("Weld")
  1253. W.Part0 = Limb
  1254. W.Part1 = B
  1255. W.C0 = CFrame.new(0, -0.5, 0)
  1256. W.Parent = Limb
  1257.  
  1258. end
  1259. local Limb = Character2:FindFirstChild("Left Leg")
  1260. if Limb then
  1261.  
  1262. Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
  1263. local Joint = Instance.new("Glue")
  1264. Joint.Name = "LeftHip"
  1265. Joint.Part0 = Torso2
  1266. Joint.Part1 = Limb
  1267. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1268. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1269. Joint.Parent = Torso2
  1270.  
  1271. local B = Instance.new("Part")
  1272. B.TopSurface = 0
  1273. B.BottomSurface = 0
  1274. B.formFactor = "Symmetric"
  1275. B.Size = Vector3.new(1, 1, 1)
  1276. B.Transparency = 1
  1277. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1278. B.Parent = Character2
  1279. local W = Instance.new("Weld")
  1280. W.Part0 = Limb
  1281. W.Part1 = B
  1282. W.C0 = CFrame.new(0, -0.5, 0)
  1283. W.Parent = Limb
  1284.  
  1285. end
  1286. --[
  1287. local Bar = Instance.new("Part")
  1288. Bar.TopSurface = 0
  1289. Bar.BottomSurface = 0
  1290. Bar.formFactor = "Symmetric"
  1291. Bar.Size = Vector3.new(1, 1, 1)
  1292. Bar.Transparency = 1
  1293. Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
  1294. Bar.Parent = Character2
  1295. local Weld = Instance.new("Weld")
  1296. Weld.Part0 = Torso2
  1297. Weld.Part1 = Bar
  1298. Weld.C0 = CFrame.new(0, 0.5, 0)
  1299. Weld.Parent = Torso2
  1300. --]]
  1301. end
  1302. Character2.Parent = workspace
  1303. Debris:AddItem(Character2,5)
  1304.  
  1305. return Character2,Torso2
  1306. end))
  1307. end
  1308.  
  1309. --//=================================\\
  1310. --|| WEAPON CREATION
  1311. --\\=================================//
  1312.  
  1313. local Particle = IT("ParticleEmitter",nil)
  1314. Particle.Enabled = false
  1315. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1316. Particle.LightEmission = 0.5
  1317. Particle.Rate = 250
  1318. Particle.ZOffset = 0.2
  1319. Particle.Rotation = NumberRange.new(-180, 180)
  1320. Particle.RotSpeed = NumberRange.new(-180, 180)
  1321. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1322. Particle.Color = ColorSequence.new(C3(1,0,0),C3(1,0,0))
  1323.  
  1324. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1325. function ParticleEmitter(Table)
  1326. local PRTCL = Particle:Clone()
  1327. local Speed = Table.Speed or 5
  1328. local Drag = Table.Drag or 0
  1329. local Size1 = Table.Size1 or 1
  1330. local Size2 = Table.Size2 or 5
  1331. local Lifetime1 = Table.Lifetime1 or 1
  1332. local Lifetime2 = Table.Lifetime2 or 1.5
  1333. local Parent = Table.Parent or Torso
  1334. local Emit = Table.Emit or 100
  1335. local Offset = Table.Offset or 360
  1336. local Acel = Table.Acel or VT(0,0,0)
  1337. local Enabled = Table.Enabled or false
  1338. PRTCL.Parent = Parent
  1339. PRTCL.Size = NumberSequence.new(Size1,Size2)
  1340. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1341. PRTCL.Speed = NumberRange.new(Speed)
  1342. PRTCL.VelocitySpread = Offset
  1343. PRTCL.Drag = Drag
  1344. PRTCL.Acceleration = Acel
  1345. if Enabled == false then
  1346. PRTCL:Emit(Emit)
  1347. Debris:AddItem(PRTCL,Lifetime2)
  1348. else
  1349. PRTCL.Enabled = true
  1350. end
  1351. return PRTCL
  1352. end
  1353.  
  1354. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
  1355. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  1356. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  1357. MakeForm(Part,"Wedge")
  1358. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  1359. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
  1360. MakeForm(Part,"Wedge")
  1361. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  1362. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
  1363. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1364. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
  1365. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1366. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
  1367. MakeForm(Part,"Cyl")
  1368. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1369. for i = 1, 8 do
  1370. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
  1371. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  1372. end
  1373. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
  1374. MakeForm(Part,"Cyl")
  1375. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1376. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
  1377. MakeForm(Part,"Ball")
  1378. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1379. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
  1380. MakeForm(Part,"Wedge")
  1381. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  1382. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
  1383. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1384. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
  1385. MakeForm(Part,"Cyl")
  1386. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1387. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
  1388. MakeForm(Part,"Cyl")
  1389. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1390. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
  1391. MakeForm(Part,"Cyl")
  1392. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1393. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  1394. MakeForm(Part,"Wedge")
  1395. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  1396. local LASTPART = Handle
  1397. for i = 1, 10 do
  1398. if LASTPART == Handle then
  1399. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  1400. LASTPART = Part
  1401. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1402. else
  1403. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  1404. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  1405. LASTPART = Part
  1406. end
  1407. end
  1408.  
  1409. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
  1410. MakeForm(Barrel,"Cyl")
  1411. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1412. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
  1413. MakeForm(Part,"Cyl")
  1414. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  1415. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  1416. MakeForm(Part,"Wedge")
  1417. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1418. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  1419. MakeForm(Hole,"Cyl")
  1420. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  1421. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  1422. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1423. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  1424. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  1425. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1426. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  1427. coroutine.resume(coroutine.create(function()
  1428. while wait() do
  1429. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  1430. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  1431. end
  1432. end))
  1433.  
  1434. ParticleEmitter({Speed = 0.35, Drag = 0, Size1 = 0.4, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(1,5,1)})
  1435. --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)})
  1436.  
  1437. for _, c in pairs(Weapon:GetDescendants()) do
  1438. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1439. c.Material = "Glass"
  1440. c.Color = C3(0,0,0)
  1441. elseif c.ClassName == "Part" and c.Name == "Eye" then
  1442. c.Color = C3(1,0,0)
  1443. c.Material = "Neon"
  1444. end
  1445. end
  1446.  
  1447. Weapon.Parent = Character
  1448. for _, c in pairs(Weapon:GetChildren()) do
  1449. if c.ClassName == "Part" then
  1450. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1451. end
  1452. end
  1453.  
  1454. local SKILLTEXTCOLOR = C3(1,0,0)
  1455. local SKILLFONT = "Fantasy"
  1456. local SKILLTEXTSIZE = 5
  1457.  
  1458. Humanoid.Died:connect(function()
  1459. ATTACK = true
  1460. end)
  1461.  
  1462. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1463. 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")
  1464. 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")
  1465. 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")
  1466. 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")
  1467. local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
  1468.  
  1469. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banish Shot", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  1470. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[V] Shot", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  1471. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[X] Go to Sleep", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  1472. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[C] Bullet On Sky", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  1473. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[T] Laugh", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  1474. local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[F] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 6")
  1475.  
  1476. function printbye(Name)
  1477. local MESSAGES = {"Stay until It's Over...... "}
  1478. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  1479. end
  1480.  
  1481. workspace.ChildAdded:connect(function(instance)
  1482. for BANISH = 1, #TOBANISH do
  1483. if TOBANISH[BANISH] ~= nil then
  1484. if instance.Name == TOBANISH[BANISH] then
  1485. coroutine.resume(coroutine.create(function()
  1486. printbye(instance.Name)
  1487. instance:ClearAllChildren()
  1488. Debris:AddItem(instance,0.0005)
  1489. end))
  1490. end
  1491. end
  1492. end
  1493. end)
  1494.  
  1495. --//=================================\\
  1496. --|| DAMAGING
  1497. --\\=================================//
  1498.  
  1499. function ApplyDamage(Humanoid,Damage,OneShot)
  1500. Damage = Damage * DAMAGEMULTIPLIER
  1501. local DEAD = false
  1502. if Humanoid.Health < 2000 and OneShot == false then
  1503. if Humanoid.Health - Damage > 0 then
  1504. Humanoid.Health = Humanoid.Health - Damage
  1505. else
  1506. Humanoid.Parent:BreakJoints()
  1507. DEAD = true
  1508. end
  1509. else
  1510. DEAD = true
  1511. Humanoid.Parent:BreakJoints()
  1512. end
  1513. if DEAD == true then
  1514. local PARTS = {}
  1515. for index, CHILD in pairs(Humanoid.Parent:GetChildren()) do
  1516. if CHILD:IsA("BasePart") then
  1517. table.insert(PARTS,CHILD)
  1518. end
  1519. end
  1520. coroutine.resume(coroutine.create(function()
  1521. wait(2)
  1522. repeat
  1523. Swait()
  1524. local PIECE = nil
  1525. if MRANDOM(1,5) == 1 then
  1526. for E = 1, #PARTS do
  1527. if MRANDOM(1,5) == 1 then
  1528. PIECE = PARTS[E]
  1529. table.remove(PARTS,E)
  1530. break
  1531. end
  1532. end
  1533. end
  1534. if PIECE ~= nil then
  1535. if PIECE.Name == "Head" then
  1536. WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z), Size2 = (VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z))*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0.4,0,0), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  1537. else
  1538. WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = PIECE.Size, Size2 = PIECE.Size*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0.4,0,0), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  1539. end
  1540. PIECE:remove()
  1541. end
  1542. until #PARTS == 0
  1543. end))
  1544. end
  1545. end
  1546.  
  1547.  
  1548. function ApplyDamage3(Humanoid,Damage,TorsoPart)
  1549. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1550. defence.Name = ("HitBy"..Player.Name)
  1551. game:GetService("Debris"):AddItem(defence, 0.001)
  1552. Damage = Damage * DAMAGEMULTIPLIER
  1553. if Humanoid.Health ~= 0 then
  1554. local CritChance = MRANDOM(1,100)
  1555. if Damage > Humanoid.Health then
  1556. Damage = math.ceil(Humanoid.Health)
  1557. if Damage == 0 then
  1558. Damage = 0.1
  1559. end
  1560. end
  1561. Humanoid.Health = Humanoid.Health - Damage
  1562. end
  1563. end
  1564.  
  1565. function ApplyDamage3(Humanoid,Damage,TorsoPart)
  1566. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1567. defence.Name = ("HitBy"..Player.Name)
  1568. game:GetService("Debris"):AddItem(defence, 0.001)
  1569. Damage = Damage * DAMAGEMULTIPLIER
  1570. if Humanoid.Health ~= 0 then
  1571. local CritChance = MRANDOM(1,100)
  1572. if Damage > Humanoid.Health then
  1573. Damage = math.ceil(Humanoid.Health)
  1574. if Damage == 0 then
  1575. Damage = 0.1
  1576. end
  1577. end
  1578. Humanoid.Health = Humanoid.Health - Damage
  1579. end
  1580. end
  1581.  
  1582. function ApplyAoE3(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  1583. local CHILDREN = workspace:GetDescendants()
  1584. for index, CHILD in pairs(CHILDREN) do
  1585. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  1586. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1587. if HUM then
  1588. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1589. if TORSO then
  1590. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1591. if INSTAKILL == true then
  1592. CHILD:BreakJoints()
  1593. else
  1594. local DMG = MRANDOM(MINDMG,MAXDMG)
  1595. ApplyDamage(HUM,DMG,TORSO)
  1596. end
  1597. if FLING > 0 then
  1598. for _, c in pairs(CHILD:GetChildren()) do
  1599. if c:IsA("BasePart") then
  1600. local bv = Instance.new("BodyVelocity")
  1601. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1602. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  1603. bv.Parent = c
  1604. Debris:AddItem(bv,0.05)
  1605. end
  1606. end
  1607. end
  1608. end
  1609. end
  1610. end
  1611. end
  1612. end
  1613. end
  1614.  
  1615. function CameraEnshaking(Length, Intensity)
  1616. coroutine.resume(coroutine.create(function()
  1617. local intensity = 1 * Intensity
  1618. local rotM = 0.01 * Intensity
  1619. for i = 0, Length, 0.1 do
  1620. Swait()
  1621. intensity = intensity - 0.05 * Intensity / Length
  1622. rotM = rotM - 5.0E-4 * Intensity / Length
  1623. Humanoid.CameraOffset = Vector3.new(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)))
  1624. Cam.CFrame = Cam.CFrame * CF(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity))) * EULER(RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM)
  1625. end
  1626. Humanoid.CameraOffset = Vector3.new(0, 0, 0)
  1627. end))
  1628. end
  1629.  
  1630. function ApplyAoE4(POSITION,RANGE,BRUTAL)
  1631. local CHILDREN = workspace:GetDescendants()
  1632. for index, CHILD in pairs(CHILDREN) do
  1633. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1634. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1635. if HUM then
  1636. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1637. if TORSO then
  1638. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1639. if BRUTAL == true then
  1640. Kill(CHILD)
  1641. else
  1642. CHILD:BreakJoints()
  1643. end
  1644. end
  1645. end
  1646. end
  1647. end
  1648. end
  1649. end
  1650.  
  1651. function Kill(Char)
  1652. local NewCharacter = IT("Model",Effects)
  1653. NewCharacter.Name = "Ow im ded ;-;"
  1654. for _, c in pairs(Char:GetDescendants()) do
  1655. if c:IsA("BasePart") and c.Transparency == 0 then
  1656. c:BreakJoints()
  1657. c.Material = "Glass"
  1658. c.Color = C3(1,0,0)
  1659. c.CanCollide = true
  1660. c.Transparency = 0.3
  1661. if c:FindFirstChildOfClass("SpecialMesh") then
  1662. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1663. end
  1664. if c.Name == "Head" then
  1665. c:ClearAllChildren()
  1666. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  1667. end
  1668. if c.ClassName == "MeshPart" then
  1669. c.TextureID = ""
  1670. end
  1671. if c:FindFirstChildOfClass("BodyPosition") then
  1672. c:FindFirstChildOfClass("BodyPosition"):remove()
  1673. end
  1674. if c:FindFirstChildOfClass("ParticleEmitter") then
  1675. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1676. end
  1677. c.Parent = NewCharacter
  1678. c.Name = "DeadPart"
  1679. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  1680. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  1681. end
  1682. end
  1683. Char:remove()
  1684. Debris:AddItem(NewCharacter,5)
  1685. end
  1686.  
  1687. function ApplyAoE(POSITION,RANGE,BRUTAL)
  1688. local CHILDREN = workspace:GetDescendants()
  1689. for index, CHILD in pairs(CHILDREN) do
  1690. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1691. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1692. if HUM then
  1693. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1694. if TORSO then
  1695. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1696. if BRUTAL == true then
  1697. Kill(CHILD)
  1698. else
  1699. CHILD:BreakJoints()
  1700. end
  1701. end
  1702. end
  1703. end
  1704. end
  1705. end
  1706. end
  1707.  
  1708. function ApplyAoE(POSITION,RANGE,BRUTAL)
  1709. local CHILDREN = workspace:GetDescendants()
  1710. for index, CHILD in pairs(CHILDREN) do
  1711. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1712. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1713. if HUM then
  1714. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1715. if TORSO then
  1716. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1717. if BRUTAL == true then
  1718. Kill(CHILD)
  1719. else
  1720. CHILD:BreakJoints()
  1721. end
  1722. end
  1723. end
  1724. end
  1725. end
  1726. end
  1727. end
  1728.  
  1729. function Banish(Foe)
  1730. if Foe then
  1731. coroutine.resume(coroutine.create(function()
  1732. --if game.Players:FindFirstChild(Foe.Name) then
  1733. table.insert(TOBANISH,Foe.Name)
  1734. printbye(Foe.Name)
  1735. --end
  1736. Foe.Archivable = true
  1737. local CLONE = Foe:Clone()
  1738. Foe:Destroy()
  1739. CLONE.Parent = Effects
  1740. CLONE:BreakJoints()
  1741. local MATERIALS = {"Glass","Neon"}
  1742. for _, c in pairs(CLONE:GetDescendants()) do
  1743. if c:IsA("BasePart") then
  1744. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1745. CreateSound(138271815, c, 10, 1, false)
  1746. end
  1747. c.Anchored = true
  1748. c.Transparency = c.Transparency + 0.2
  1749. c.Material = MATERIALS[MRANDOM(1,2)]
  1750. c.Color = C3(1,0,0)
  1751. if c.ClassName == "MeshPart" then
  1752. c.TextureID = ""
  1753. end
  1754. if c:FindFirstChildOfClass("SpecialMesh") then
  1755. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1756. end
  1757. if c:FindFirstChildOfClass("Decal") then
  1758. c:FindFirstChildOfClass("Decal"):remove()
  1759. end
  1760. c.Name = "Banished"
  1761. c.CanCollide = false
  1762. else
  1763. c:remove()
  1764. end
  1765. end
  1766. local A = false
  1767. for i = 1, 35 do
  1768. if A == false then
  1769. A = true
  1770. elseif A == true then
  1771. A = false
  1772. end
  1773. for _, c in pairs(CLONE:GetDescendants()) do
  1774. if c:IsA("BasePart") then
  1775. c.Anchored = true
  1776. c.Material = MATERIALS[MRANDOM(1,2)]
  1777. c.Transparency = c.Transparency + 0.8/35
  1778. if A == false then
  1779. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1780. elseif A == true then
  1781. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1782. end
  1783. end
  1784. end
  1785. Swait()
  1786. end
  1787. CLONE:remove()
  1788. end))
  1789. end
  1790. end
  1791.  
  1792.  
  1793. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1794. local CHILDREN = workspace:GetDescendants()
  1795. for index, CHILD in pairs(CHILDREN) do
  1796. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1797. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1798. if HUM then
  1799. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1800. if TORSO then
  1801. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1802. if ISBANISH == true then
  1803. Banish(CHILD)
  1804. else
  1805. if ISBANISH == "Gravity" then
  1806. HUM.PlatformStand = true
  1807. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1808. local grav = Instance.new("BodyPosition",TORSO)
  1809. grav.D = 15
  1810. grav.P = 20000
  1811. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1812. grav.position = TORSO.Position
  1813. grav.Name = "V3BanishForce"..Player.Name
  1814. else
  1815. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1816. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1817. end
  1818. else
  1819. HUM.PlatformStand = false
  1820. end
  1821. end
  1822. elseif ISBANISH == "Gravity" then
  1823. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1824. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1825. HUM.PlatformStand = false
  1826. end
  1827. end
  1828. end
  1829. end
  1830. end
  1831. end
  1832. end
  1833.  
  1834. function SpawnSmite(POS)
  1835. local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  1836. local EMITPOS = HITPOS
  1837. if HITFLOOR ~= nil then
  1838. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  1839. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  1840. EMITPOS = HITPOS
  1841. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  1842. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  1843. EMITPOS = HITPOS
  1844. end
  1845. end
  1846. if HITFLOOR ~= nil then
  1847. ApplyAoE(EMITPOS,10)
  1848. WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  1849. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1850. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1851. for i = 1, 5 do
  1852. local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  1853. WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  1854. end
  1855. end
  1856. end
  1857.  
  1858. --//=================================\\
  1859. --|| ATTACK FUNCTIONS AND STUFF
  1860. --\\=================================//
  1861.  
  1862. function eh()
  1863. ATTACK = true
  1864. Rooted = false
  1865. Speed = 20
  1866. Swait()
  1867. local CHILDREN = workspace:GetDescendants()
  1868. for index, CHILD in pairs(CHILDREN) do
  1869. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1870. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1871. if HUM then
  1872. local TORSO = CHILD:FindFirstChild("Head")
  1873. if TORSO then
  1874. if (TORSO.Position - Head.Position).Magnitude <= 25 then
  1875. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1876. TORSO:remove()
  1877. if CHILD:FindFirstChild("Torso") then
  1878. Ragdoll(CHILD,Torso,true)
  1879. elseif CHILD:FindFirstChild("UpperTorso") then
  1880. R15Ragdoll(CHILD,true)
  1881. end
  1882. end
  1883. end
  1884. end
  1885. end
  1886. end
  1887. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1888. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 1})
  1889. for i=0, 0.3, 0.1 / Animation_Speed do
  1890. Swait()
  1891. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  1892. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
  1893. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  1894. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
  1895. 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.25 / Animation_Speed)
  1896. 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.25 / Animation_Speed)
  1897. end
  1898. Speed = 20
  1899. ATTACK = false
  1900. Rooted = false
  1901. end
  1902.  
  1903. function Taunt()
  1904. ATTACK = true
  1905. Rooted = true
  1906. CreateSound("1238240145", Torso, 6, 0.9)
  1907. for i=0, 0.6, 0.1 / Animation_Speed do
  1908. Swait()
  1909. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1910. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1911. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1912. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1913. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1914. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1915. end
  1916. for i=0, 0.6, 0.1 / Animation_Speed do
  1917. Swait()
  1918. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1919. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1920. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1921. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1922. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1923. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1924. end
  1925. for i=0, 0.6, 0.1 / Animation_Speed do
  1926. Swait()
  1927. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1928. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1929. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1930. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1931. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1932. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1933. end
  1934. for i=0, 0.6, 0.1 / Animation_Speed do
  1935. Swait()
  1936. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1937. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1938. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1939. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1940. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1941. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1942. end
  1943. for i=0, 0.6, 0.1 / Animation_Speed do
  1944. Swait()
  1945. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1946. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1947. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1948. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1949. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1950. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1951. end
  1952. for i=0, 0.6, 0.1 / Animation_Speed do
  1953. Swait()
  1954. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1955. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1956. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1957. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1958. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1959. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1960. end
  1961. ATTACK = false
  1962. Rooted = false
  1963. end
  1964.  
  1965. function Shot()
  1966. ATTACK = true
  1967. Rooted = false
  1968. for i=0, 0.2, 0.05 / Animation_Speed do
  1969. Swait()
  1970. turnto(Mouse.Hit.p)
  1971. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1972. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1973. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1974. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1975. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1976. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1977. end
  1978. repeat
  1979. for i=0, 0.2, 0.05 / Animation_Speed do
  1980. Swait()
  1981. turnto(Mouse.Hit.p)
  1982. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1983. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1984. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1985. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1986. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1987. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1988. end
  1989. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  1990. SpawnTrail(Hole.Position,POS)
  1991. if HIT ~= nil then
  1992. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1993. Banish(HIT.Parent)
  1994. end
  1995. end
  1996. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1997. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1998. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1999. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2000. Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
  2001. for i=0, 0.2, 0.05 / Animation_Speed do
  2002. Swait()
  2003. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2004. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2005. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2006. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2007. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2008. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2009. end
  2010. until KEYHOLD == false
  2011. ATTACK = false
  2012. Rooted = false
  2013. end
  2014.  
  2015. function Shot2()
  2016. ATTACK = true
  2017. Rooted = false
  2018. for i=0, 0.2, 0.05 / Animation_Speed do
  2019. Swait()
  2020. turnto(Mouse.Hit.p)
  2021. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2022. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2023. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2024. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2025. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2026. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2027. end
  2028. repeat
  2029. for i=0, 0.2, 0.05 / Animation_Speed do
  2030. Swait()
  2031. turnto(Mouse.Hit.p)
  2032. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2033. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2034. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2035. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2036. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2037. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2038. end
  2039. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  2040. SpawnTrail(Hole.Position,POS)
  2041. if HIT ~= nil then
  2042. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2043. Kill(HIT.Parent)
  2044. end
  2045. end
  2046. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2047. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2048. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2049. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2050. Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
  2051. for i=0, 0.2, 0.05 / Animation_Speed do
  2052. Swait()
  2053. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2054. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2055. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2056. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2057. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2058. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2059. end
  2060. until KEYHOLD == false
  2061. ATTACK = false
  2062. Rooted = false
  2063. end
  2064.  
  2065. function AttackTemplate()
  2066. ATTACK = true
  2067. Rooted = false
  2068. for i=0, 1, 0.1 / Animation_Speed do
  2069. Swait()
  2070. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2071. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2072. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2073. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2074. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2075. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2076. end
  2077. ATTACK = false
  2078. Rooted = false
  2079. end
  2080.  
  2081. function Finisher()
  2082. local TARGET = Mouse.Target
  2083. if TARGET ~= nil then
  2084. if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
  2085. local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
  2086. local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
  2087. if ROOT and HUM.Health > 0 then
  2088. local FOE = Mouse.Target.Parent
  2089. ATTACK = true
  2090. Rooted = true
  2091. RootPart.CFrame = ROOT.CFrame*CF(-1.35,0,4)
  2092. ROOT.Anchored = true
  2093. CreateSound(670796769, Torso, 9999, 0.6, false)
  2094. CreateSound(362990415, Torso, 5, 1.08, false)
  2095. for i=0, 0.4, 0.1 / Animation_Speed do
  2096. Swait()
  2097. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2098. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2099. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2100. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2101. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2102. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2103. end
  2104. HUM.PlatformStand = true
  2105. ROOT.CFrame = ROOT.CFrame * CF(0,-2*ROOT.Size.Z,0) * ANGLES(RAD(-90), RAD(0), RAD(0))
  2106. coroutine.resume(coroutine.create(function()
  2107. Swait()
  2108. ROOT.Anchored = true
  2109. end))
  2110. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
  2111. for i=0, 0.2, 0.1 / Animation_Speed do
  2112. Swait()
  2113. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2114. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2115. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2116. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2117. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2118. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2119. end
  2120. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2121. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2122. for i=0, 0.2, 0.1 / Animation_Speed do
  2123. Swait()
  2124. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  2125. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2126. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2127. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2128. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2129. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2130. end
  2131. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2132. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2133. local AMMO = 6
  2134. local FIRING = true
  2135. local SHOOTING = false
  2136. local TIMER = 70
  2137. CreateSound(147722227, GunPoint, 6, 1.3, false)
  2138. for i=0, 0.2, 0.1 / Animation_Speed do
  2139. Swait()
  2140. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2141. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2142. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2143. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2144. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2145. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2146. end
  2147. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2148. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2149. for i = 1, 6 do
  2150. local GUNPOS = Hole.CFrame*CF(0, 0, 0).p
  2151. local DISTANCE = (FOE.Head.Position - GUNPOS).Magnitude
  2152. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2153. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2154. HUM.Health = HUM.Health/1.5
  2155. for i=0, 0.2, 0.1 / Animation_Speed do
  2156. Swait()
  2157. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2158. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2159. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2160. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2161. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2162. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2163. end
  2164. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2165. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2166. for i=0, 0.2, 0.1 / Animation_Speed do
  2167. Swait()
  2168. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2169. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2170. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2171. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2172. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2173. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2174. end
  2175. end
  2176. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2177. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2178. ApplyDamage(HUM,0,true)
  2179. FOE:BreakJoints()
  2180. ROOT.Anchored = false
  2181. for i=0, 0.3, 0.1 / Animation_Speed do
  2182. Swait()
  2183. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2184. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
  2185. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2186. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2187. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2188. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2189. end
  2190. ATTACK = false
  2191. Rooted = false
  2192. end
  2193. end
  2194. end
  2195. end
  2196.  
  2197.  
  2198. --//=================================\\
  2199. --|| ASSIGN THINGS TO KEYS
  2200. --\\=================================//
  2201.  
  2202. function MouseDown(Mouse)
  2203. if ATTACK == false then
  2204. end
  2205. end
  2206.  
  2207. function MouseUp(Mouse)
  2208. HOLD = false
  2209. end
  2210.  
  2211. function KeyDown(Key)
  2212. KEYHOLD = true
  2213. if Key == "z" and ATTACK == false then
  2214. Shot()
  2215. end
  2216.  
  2217. if Key == "v" and ATTACK == false then
  2218. Shot2()
  2219. end
  2220.  
  2221. if Key == "x" and ATTACK == false then
  2222. Finisher()
  2223. end
  2224.  
  2225. if Key == "f" and ATTACK == false then
  2226. for i=0, 0.3, 0.1 / Animation_Speed do
  2227. Swait()
  2228. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2229. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
  2230. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  2231. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
  2232. 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.25 / Animation_Speed)
  2233. 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.25 / Animation_Speed)
  2234. end
  2235. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2236. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 1})
  2237. TOBANISH = {}
  2238. end
  2239.  
  2240. if Key == "t" and ATTACK == false then
  2241. Taunt()
  2242. end
  2243.  
  2244. if Key == "c" and ATTACK == false then
  2245. eh()
  2246. end
  2247. end
  2248.  
  2249. function KeyUp(Key)
  2250. KEYHOLD = false
  2251. end
  2252.  
  2253. Mouse.Button1Down:connect(function(NEWKEY)
  2254. MouseDown(NEWKEY)
  2255. end)
  2256. Mouse.Button1Up:connect(function(NEWKEY)
  2257. MouseUp(NEWKEY)
  2258. end)
  2259. Mouse.KeyDown:connect(function(NEWKEY)
  2260. KeyDown(NEWKEY)
  2261. end)
  2262. Mouse.KeyUp:connect(function(NEWKEY)
  2263. KeyUp(NEWKEY)
  2264. end)
  2265.  
  2266. --//=================================\\
  2267. --\\=================================//
  2268.  
  2269.  
  2270. function unanchor()
  2271. if UNANCHOR == true then
  2272. g = Character:GetChildren()
  2273. for i = 1, #g do
  2274. if g[i].ClassName == "Part" then
  2275. g[i].Anchored = false
  2276. end
  2277. end
  2278. end
  2279. end
  2280.  
  2281.  
  2282. --//=================================\\
  2283. --|| WRAP THE WHOLE SCRIPT UP
  2284. --\\=================================//
  2285.  
  2286. Humanoid.Changed:connect(function(Jump)
  2287. if Jump == "Jump" and (Disable_Jump == true) then
  2288. Humanoid.Jump = false
  2289. end
  2290. end)
  2291.  
  2292. local FF = IT("ForceField",Character)
  2293. FF.Visible = false
  2294.  
  2295. INSTANT = false
  2296. Speed = 20
  2297.  
  2298. while true do
  2299. Swait()
  2300. SINE = SINE + CHANGE
  2301. ANIMATE.Parent = nil
  2302. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2303. IDLEANIMATION:Play()
  2304. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2305. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2306. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  2307. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  2308. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  2309. if ATTACK == false and VALUE2 == false then
  2310. end
  2311. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2312. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2313. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * 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)
  2314. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * 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)
  2315. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * 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)
  2316. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2317. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2318. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2319. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2320. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2321. end
  2322. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2323. ANIM = "Jump"
  2324. if ATTACK == false then
  2325. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2326. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2327. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2328. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2329. 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)
  2330. 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)
  2331. end
  2332. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2333. ANIM = "Fall"
  2334. if ATTACK == false then
  2335. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2336. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2337. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2338. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2339. 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)
  2340. 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)
  2341. end
  2342. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2343. ANIM = "Idle"
  2344. if ATTACK == false then
  2345. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2346. if MRANDOM(1,7) == 1 then
  2347. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2348. end
  2349. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
  2350. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  2351. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
  2352. 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.25 / Animation_Speed)
  2353. 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.25 / Animation_Speed)
  2354. end
  2355. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2356. ANIM = "Walk"
  2357. if ATTACK == false then
  2358. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2359. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2360. if MRANDOM(1,7) == 1 then
  2361. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2362. end
  2363. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(0), RAD(180), RAD(180)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2364. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
  2365. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  2366. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  2367. end
  2368. end
  2369. end
  2370. --end
  2371. Humanoid.DisplayDistanceType = "None"
  2372. SHAKECAM(999999, 25, 25)
  2373. Humanoid.CameraOffset = VT(MRANDOM(-5,5)/4.5,MRANDOM(-5,5)/4.5,MRANDOM(-5,5)/4.5)/60
  2374. unanchor()
  2375. Humanoid.MaxHealth = "inf"
  2376. Humanoid.Health = "inf"
  2377. if Rooted == false then
  2378. Disable_Jump = false
  2379. Humanoid.WalkSpeed = Speed
  2380. elseif Rooted == true then
  2381. Disable_Jump = true
  2382. Humanoid.WalkSpeed = 0
  2383. end
  2384. local MATHS = {"0","1"}
  2385. Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
  2386. Humanoid.PlatformStand = false
  2387. script.Parent = PlayerGui
  2388. Character.Parent = workspace
  2389. Humanoid.Parent = Character
  2390. --//=================================\\
  2391. --\\=================================//
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397. --//====================================================\\--
  2398. --|| END OF SCRIPT
  2399. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement