Advertisement
rcubed1003

one if my best non fe to fe

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