Advertisement
Oscar55555

Untitled

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