Advertisement
EARTHWORM_SALLY

Untitled

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