Infintyboy

fat

Jul 19th, 2018
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 61.59 KB | None | 0 0
  1. wait()
  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.     local rp = RealPlayer
  7.     script.Parent = rp.Character
  8.    
  9.     --RemoteEvent for communicating
  10.     local Event = Instance.new("RemoteEvent")
  11.     Event.Name = "UserInput_Event"
  12.  
  13.     --Fake event to make stuff like Mouse.KeyDown work
  14.     local function fakeEvent()
  15.         local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16.         t.connect = t.Connect
  17.         return t
  18.     end
  19.  
  20.     --Creating fake input objects with fake variables
  21.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  22.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25.     end}
  26.     --Merged 2 functions into one by checking amount of arguments
  27.     CAS.UnbindAction = CAS.BindAction
  28.  
  29.     --This function will trigger the events that have been :Connect()'ed
  30.     local function te(self,ev,...)
  31.         local t = m[ev]
  32.         if t and t._fakeEvent then
  33.             for _,f in pairs(t.Functions) do
  34.                 f(...)
  35.             end
  36.         end
  37.     end
  38.     m.TrigEvent = te
  39.     UIS.TrigEvent = te
  40.  
  41.     Event.OnServerEvent:Connect(function(plr,io)
  42.         if plr~=rp then return end
  43.         m.Target = io.Target
  44.         m.Hit = io.Hit
  45.         if not io.isMouse then
  46.             local b = io.UserInputState == Enum.UserInputState.Begin
  47.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49.             end
  50.             for _,t in pairs(CAS.Actions) do
  51.                 for _,k in pairs(t.Keys) do
  52.                     if k==io.KeyCode then
  53.                         t.Function(t.Name,io.UserInputState,io)
  54.                     end
  55.                 end
  56.             end
  57.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59.         end
  60.     end)
  61.     Event.Parent = NLS([==[
  62.     local Player = game:GetService("Players").LocalPlayer
  63.     local Event = script:WaitForChild("UserInput_Event")
  64.  
  65.     local Mouse = Player:GetMouse()
  66.     local UIS = game:GetService("UserInputService")
  67.     local input = function(io,a)
  68.         if a then return end
  69.         --Since InputObject is a client-side instance, we create and pass table instead
  70.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  71.     end
  72.     UIS.InputBegan:Connect(input)
  73.     UIS.InputEnded:Connect(input)
  74.  
  75.     local h,t
  76.     --Give the server mouse data 30 times every second, but only if the values changed
  77.     --If player is not moving their mouse, client won't fire events
  78.     while wait(1/30) do
  79.         if h~=Mouse.Hit or t~=Mouse.Target then
  80.             h,t=Mouse.Hit,Mouse.Target
  81.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  82.         end
  83.     end]==],Player.Character)
  84.  
  85.     ----Sandboxed game object that allows the usage of client-side methods and services
  86.     --Real game object
  87.     local _rg = game
  88.  
  89.     --Metatable for fake service
  90.     local fsmt = {
  91.         __index = function(self,k)
  92.             local s = rawget(self,"_RealService")
  93.             if s then return s[k] end
  94.         end,
  95.         __newindex = function(self,k,v)
  96.             local s = rawget(self,"_RealService")
  97.             if s then s[k]=v end
  98.         end,
  99.         __call = function(self,...)
  100.             local s = rawget(self,"_RealService")
  101.             if s then return s(...) end
  102.         end
  103.     }
  104.     local function FakeService(t,RealService)
  105.         t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106.         return setmetatable(t,fsmt)
  107.     end
  108.  
  109.     --Fake game object
  110.     local g = {
  111.         GetService = function(self,s)
  112.             return self[s]
  113.         end,
  114.         Players = FakeService({
  115.             LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116.         },"Players"),
  117.         UserInputService = FakeService(UIS,"UserInputService"),
  118.         ContextActionService = FakeService(CAS,"ContextActionService"),
  119.     }
  120.     rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  121.     g.service = g.GetService
  122.    
  123.     g.RunService = FakeService({
  124.         RenderStepped = _rg:GetService("RunService").Heartbeat,
  125.         BindToRenderStep = function(self,name,_,fun)
  126.  
  127.         end,
  128.         UnbindFromRenderStep = function(self,name)
  129.             self._btrs[name]:Disconnect()
  130.         end,
  131.     },"RunService")
  132.  
  133.     setmetatable(g,{
  134.         __index=function(self,s)
  135.             return _rg:GetService(s) or typeof(_rg[s])=="function"
  136.             and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  137.         end,
  138.         __newindex = fsmt.__newindex,
  139.         __call = fsmt.__call
  140.     })
  141.     --Changing owner to fake player object to support owner:GetMouse()
  142.     game,owner = g,g.Players.LocalPlayer
  143. end
  144. wait()
  145. wait()
  146. wait()
  147.  
  148. plr = game:GetService('Players').LocalPlayer
  149. char = plr.Character
  150. mouse = plr:GetMouse()
  151. camera = workspace.Camera
  152. Player = game:GetService("Players").LocalPlayer
  153. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  154. local Plrs = S.Players
  155. local Plr = Plrs.LocalPlayer
  156. rad = math.rad
  157. random = math.random
  158. sin = math.sin
  159. cos = math.cos
  160. floor = math.floor
  161. local Char = Plr.Character
  162. local Hum = Char:FindFirstChildOfClass'Humanoid'
  163. local RArm = Char["Right Arm"]
  164. local LArm = Char["Left Arm"]
  165. local RLeg = Char["Right Leg"]
  166. local LLeg = Char["Left Leg"]  
  167. local PlayerSize = 1
  168. local Root = Char:FindFirstChild'HumanoidRootPart'
  169. local Torso = Char.Torso
  170. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  171. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  172. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  173. local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
  174. local R3 = {N=Region3.new}
  175. local WS = workspace
  176. local Lght = S.Lighting
  177. local RepS = S.ReplicatedStorage
  178. local IN = Instance.new
  179. local Head = Char.Head
  180. local NeutralAnims = true
  181. local Attack = false
  182. local BloodPuddles = {}
  183. local Effects = {}
  184. local Debounces = {Debounces={}}
  185. local Mouse = Plr:GetMouse()
  186. local Hit = {}
  187. cam = game.Workspace.CurrentCamera
  188. CF = CFrame.new
  189. angles = CFrame.Angles
  190. attack = false
  191. Euler = CFrame.fromEulerAnglesXYZ
  192. Rad = math.rad
  193. IT = Instance.new
  194. BrickC = BrickColor.new
  195. Cos = math.cos
  196. Acos = math.acos
  197. Sin = math.sin
  198. Asin = math.asin
  199. Abs = math.abs
  200. Mrandom = math.random
  201. Floor = math.floor
  202. local Sine = 0
  203. local Idle = 0
  204. local Change = 1
  205. local FLArm,FRArm,FRArmW,FLArmW
  206. local Stunned = {}
  207. local VoidSB = (game.PlaceId == 843468296) -- You can change the 843468296 to 0 if you dont care about potential lag on Void SB
  208. PlayerGui = Player.PlayerGui
  209. Cam = workspace.CurrentCamera
  210. Backpack = Player.Backpack
  211. Character = Player.Character
  212. Head = Character["Head"]
  213. Humanoid = Character.Humanoid
  214. Mouse = Player:GetMouse()
  215. RootPart = Character["HumanoidRootPart"]
  216. Torso = Character["Torso"]
  217. Head = Character["Head"]
  218. RightArm = Character["Right Arm"]
  219. LeftArm = Character["Left Arm"]
  220. RightLeg = Character["Right Leg"]
  221. LeftLeg = Character["Left Leg"]
  222. RootJoint = RootPart["RootJoint"]
  223. Neck = Torso["Neck"]
  224. RightShoulder = Torso["Right Shoulder"]
  225. LeftShoulder = Torso["Left Shoulder"]
  226. RightHip = Torso["Right Hip"]
  227. local Create = LoadLibrary("RbxUtility").Create
  228. LeftHip = Torso["Left Hip"]
  229. local TIME = 0
  230. local sick = Instance.new("Sound",Torso)
  231.  
  232. IT = Instance.new
  233. CF = CFrame.new
  234. VT = Vector3.new
  235. RAD = math.rad
  236. C3 = Color3.new
  237. UD2 = UDim2.new
  238. BRICKC = BrickColor.new
  239. ANGLES = CFrame.Angles
  240. EULER = CFrame.fromEulerAnglesXYZ
  241. COS = math.cos
  242. ACOS = math.acos
  243. SIN = math.sin
  244. ASIN = math.asin
  245. ABS = math.abs
  246. MRANDOM = math.random
  247. FLOOR = math.floor
  248. -------------------------------------
  249. Humanoid.DisplayDistanceType = "None"
  250. local naeeym2 = IT("BillboardGui",Character)
  251. naeeym2.AlwaysOnTop = true
  252. naeeym2.Size = UDim2.new(5,35,2,15)
  253. naeeym2.StudsOffset = Vector3.new(0,2,0)
  254. naeeym2.MaxDistance = math.huge
  255. naeeym2.Adornee = Character.Head
  256. naeeym2.Name = "Name"
  257. local tecks2 = IT("TextLabel",naeeym2)
  258. tecks2.BackgroundTransparency = 1
  259. tecks2.TextScaled = true
  260. tecks2.BorderSizePixel = 23
  261. tecks2.Text = ""
  262. tecks2.Font = "Code"
  263. tecks2.TextSize = 30
  264. tecks2.TextStrokeTransparency = 0
  265. tecks2.TextColor3 = C3(21,21,21)
  266. tecks2.TextStrokeColor3 = C3(21/21, 21/21, 21/21)
  267. tecks2.Size = UDim2.new(1,0,0.5,0)
  268. tecks2.Parent = naeeym2
  269. -----------------------
  270. tecks2.Text = ""
  271. --//=================================\\
  272. --||          USEFUL VALUES
  273. --\\=================================//
  274.  
  275. Animation_Speed = 2
  276. local FORCERESET = false
  277. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  278. local Speed = 16
  279. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  280. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  281. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  282. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  283. local DAMAGEMULTIPLIER = 1
  284. local ANIM = "Idle"
  285. local ATTACK = false
  286. local EQUIPPED = false
  287. local HOLD = false
  288. local COMBO = 1
  289. local Rooted = false
  290. local SINE = 0
  291. local KEYHOLD = false
  292. local CHANGE = 2 / Animation_Speed
  293. local WALKINGANIM = false
  294. local VALUE1 = false
  295. local VALUE2 = false
  296. local ROBLOXIDLEANIMATION = IT("Animation")
  297. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  298. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  299. --ROBLOXIDLEANIMATION.Parent = Humanoid
  300. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  301. WEAPONGUI.Name = "BanishV3Gui"
  302. local Weapon = IT("Model")
  303. Weapon.Name = "Adds"
  304. local Effects = IT("Folder", Weapon)
  305. Effects.Name = "Effects"
  306. local ANIMATOR = Humanoid.Animator
  307. local ANIMATE = Character:FindFirstChild("Animate")
  308. local UNANCHOR = true
  309. local TOBANISH = {}
  310. script.Parent = PlayerGui
  311.  
  312. --//=================================\\
  313. --\\=================================//
  314. Humanoid.DisplayDistanceType = "None"
  315. local naeeym2 = IT("BillboardGui",Character)
  316. naeeym2.AlwaysOnTop = true
  317. naeeym2.Size = UDim2.new(5,35,2,15)
  318. naeeym2.StudsOffset = Vector3.new(0,2,0)
  319. naeeym2.MaxDistance = math.huge
  320. naeeym2.Adornee = Character.Head
  321. naeeym2.Name = "Name"
  322. local tecks2 = IT("TextLabel",naeeym2)
  323. tecks2.BackgroundTransparency = 1
  324. tecks2.TextScaled = true
  325. tecks2.BorderSizePixel = 23
  326. tecks2.Text = ""
  327. tecks2.Font = "Code"
  328. tecks2.TextSize = 30
  329. tecks2.TextStrokeTransparency = 0
  330. tecks2.TextColor3 = C3(21,21,21)
  331. tecks2.TextStrokeColor3 = C3(21/21, 21/21, 21/21)
  332. tecks2.Size = UDim2.new(1,0,0.5,0)
  333. tecks2.Parent = naeeym2
  334. --//=================================\\
  335. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  336. --\\=================================//
  337.  
  338. ArtificialHB = Instance.new("BindableEvent", script)
  339. ArtificialHB.Name = "ArtificialHB"
  340.  
  341. script:WaitForChild("ArtificialHB")
  342.  
  343. frame = Frame_Speed
  344. tf = 0
  345. allowframeloss = false
  346. tossremainder = false
  347. lastframe = tick()
  348. script.ArtificialHB:Fire()
  349.  
  350. game:GetService("RunService").Heartbeat:connect(function(s, p)
  351.     tf = tf + s
  352.     if tf >= frame then
  353.         if allowframeloss then
  354.             script.ArtificialHB:Fire()
  355.             lastframe = tick()
  356.         else
  357.             for i = 1, math.floor(tf / frame) do
  358.                 script.ArtificialHB:Fire()
  359.             end
  360.         lastframe = tick()
  361.         end
  362.         if tossremainder then
  363.             tf = 0
  364.         else
  365.             tf = tf - frame * math.floor(tf / frame)
  366.         end
  367.     end
  368. end)
  369.  
  370. --//=================================\\
  371. --\\=================================//
  372.  
  373. --//=================================\\
  374. --||          SOME FUNCTIONS
  375. --\\=================================//
  376.  
  377. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  378.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  379. end
  380.  
  381. function PositiveAngle(NUMBER)
  382.     if NUMBER >= 0 then
  383.         NUMBER = 0
  384.     end
  385.     return NUMBER
  386. end
  387.  
  388. function NegativeAngle(NUMBER)
  389.     if NUMBER <= 0 then
  390.         NUMBER = 0
  391.     end
  392.     return NUMBER
  393. end
  394.  
  395. function Swait(NUMBER)
  396.     if NUMBER == 0 or NUMBER == nil then
  397.         ArtificialHB.Event:wait()
  398.     else
  399.         for i = 1, NUMBER do
  400.             ArtificialHB.Event:wait()
  401.         end
  402.     end
  403. end
  404.  
  405. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  406.     local NEWMESH = IT(MESH)
  407.     if MESH == "SpecialMesh" then
  408.         NEWMESH.MeshType = MESHTYPE
  409.         if MESHID ~= "nil" and MESHID ~= "" then
  410.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  411.         end
  412.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  413.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  414.         end
  415.     end
  416.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  417.     NEWMESH.Scale = SCALE
  418.     NEWMESH.Parent = PARENT
  419.     return NEWMESH
  420. end
  421.  
  422. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  423.     local NEWPART = IT("Part")
  424.     NEWPART.formFactor = FORMFACTOR
  425.     NEWPART.Reflectance = REFLECTANCE
  426.     NEWPART.Transparency = TRANSPARENCY
  427.     NEWPART.CanCollide = false
  428.     NEWPART.Locked = true
  429.     NEWPART.Anchored = true
  430.     if ANCHOR == false then
  431.         NEWPART.Anchored = false
  432.     end
  433.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  434.     NEWPART.Name = NAME
  435.     NEWPART.Size = SIZE
  436.     NEWPART.Position = Torso.Position
  437.     NEWPART.Material = MATERIAL
  438.     NEWPART:BreakJoints()
  439.     NEWPART.Parent = PARENT
  440.     return NEWPART
  441. end
  442.  
  443.     local function weldBetween(a, b)
  444.         local weldd = Instance.new("ManualWeld")
  445.         weldd.Part0 = a
  446.         weldd.Part1 = b
  447.         weldd.C0 = CFrame.new()
  448.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  449.         weldd.Parent = a
  450.         return weldd
  451.     end
  452.  
  453.  
  454. function QuaternionFromCFrame(cf)
  455.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  456.     local trace = m00 + m11 + m22
  457.     if trace > 0 then
  458.         local s = math.sqrt(1 + trace)
  459.         local recip = 0.5 / s
  460.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  461.     else
  462.         local i = 0
  463.         if m11 > m00 then
  464.             i = 1
  465.         end
  466.         if m22 > (i == 0 and m00 or m11) then
  467.             i = 2
  468.         end
  469.         if i == 0 then
  470.             local s = math.sqrt(m00 - m11 - m22 + 1)
  471.             local recip = 0.5 / s
  472.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  473.         elseif i == 1 then
  474.             local s = math.sqrt(m11 - m22 - m00 + 1)
  475.             local recip = 0.5 / s
  476.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  477.         elseif i == 2 then
  478.             local s = math.sqrt(m22 - m00 - m11 + 1)
  479.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  480.         end
  481.     end
  482. end
  483.  
  484. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  485.     local xs, ys, zs = x + x, y + y, z + z
  486.     local wx, wy, wz = w * xs, w * ys, w * zs
  487.     local xx = x * xs
  488.     local xy = x * ys
  489.     local xz = x * zs
  490.     local yy = y * ys
  491.     local yz = y * zs
  492.     local zz = z * zs
  493.     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))
  494. end
  495.  
  496. function QuaternionSlerp(a, b, t)
  497.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  498.     local startInterp, finishInterp;
  499.     if cosTheta >= 0.0001 then
  500.         if (1 - cosTheta) > 0.0001 then
  501.             local theta = ACOS(cosTheta)
  502.             local invSinTheta = 1 / SIN(theta)
  503.             startInterp = SIN((1 - t) * theta) * invSinTheta
  504.             finishInterp = SIN(t * theta) * invSinTheta
  505.         else
  506.             startInterp = 1 - t
  507.             finishInterp = t
  508.         end
  509.     else
  510.         if (1 + cosTheta) > 0.0001 then
  511.             local theta = ACOS(-cosTheta)
  512.             local invSinTheta = 1 / SIN(theta)
  513.             startInterp = SIN((t - 1) * theta) * invSinTheta
  514.             finishInterp = SIN(t * theta) * invSinTheta
  515.         else
  516.             startInterp = t - 1
  517.             finishInterp = t
  518.         end
  519.     end
  520.     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
  521. end
  522.  
  523. function Clerp(a, b, t)
  524.     local qa = {QuaternionFromCFrame(a)}
  525.     local qb = {QuaternionFromCFrame(b)}
  526.     local ax, ay, az = a.x, a.y, a.z
  527.     local bx, by, bz = b.x, b.y, b.z
  528.     local _t = 1 - t
  529.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  530. end
  531.  
  532. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  533.     local frame = IT("Frame")
  534.     frame.BackgroundTransparency = TRANSPARENCY
  535.     frame.BorderSizePixel = BORDERSIZEPIXEL
  536.     frame.Position = POSITION
  537.     frame.Size = SIZE
  538.     frame.BackgroundColor3 = COLOR
  539.     frame.BorderColor3 = BORDERCOLOR
  540.     frame.Name = NAME
  541.     frame.Parent = PARENT
  542.     return frame
  543. end
  544.  
  545. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  546.     local label = IT("TextLabel")
  547.     label.BackgroundTransparency = 1
  548.     label.Size = UD2(1, 0, 1, 0)
  549.     label.Position = UD2(0, 0, 0, 0)
  550.     label.TextColor3 = TEXTCOLOR
  551.     label.TextStrokeTransparency = STROKETRANSPARENCY
  552.     label.TextTransparency = TRANSPARENCY
  553.     label.FontSize = TEXTFONTSIZE
  554.     label.Font = TEXTFONT
  555.     label.BorderSizePixel = BORDERSIZEPIXEL
  556.     label.TextScaled = false
  557.     label.Text = TEXT
  558.     label.Name = NAME
  559.     label.Parent = PARENT
  560.     return label
  561. end
  562.  
  563. function NoOutlines(PART)
  564.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  565. end
  566.  
  567. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  568.     local NEWWELD = IT(TYPE)
  569.     NEWWELD.Part0 = PART0
  570.     NEWWELD.Part1 = PART1
  571.     NEWWELD.C0 = C0
  572.     NEWWELD.C1 = C1
  573.     NEWWELD.Parent = PARENT
  574.     return NEWWELD
  575. end
  576.  
  577. local S = IT("Sound")
  578. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  579.     local NEWSOUND = nil
  580.     coroutine.resume(coroutine.create(function()
  581.         NEWSOUND = S:Clone()
  582.         NEWSOUND.Parent = PARENT
  583.         NEWSOUND.Volume = VOLUME
  584.         NEWSOUND.Pitch = PITCH
  585.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  586.         NEWSOUND:play()
  587.         if DOESLOOP == true then
  588.             NEWSOUND.Looped = true
  589.         else
  590.             repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  591.             NEWSOUND:remove()
  592.         end
  593.     end))
  594.     return NEWSOUND
  595. end
  596.  
  597. function CFrameFromTopBack(at, top, back)
  598.     local right = top:Cross(back)
  599.     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)
  600. end
  601.  
  602. --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})
  603. function WACKYEFFECT(Table)
  604.     local TYPE = (Table.EffectType or "Sphere")
  605.     local SIZE = (Table.Size or VT(1,1,1))
  606.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  607.     local TRANSPARENCY = (Table.Transparency or 0)
  608.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  609.     local CFRAME = (Table.CFrame or Torso.CFrame)
  610.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  611.     local ROTATION1 = (Table.RotationX or 0)
  612.     local ROTATION2 = (Table.RotationY or 0)
  613.     local ROTATION3 = (Table.RotationZ or 0)
  614.     local MATERIAL = (Table.Material or "Neon")
  615.     local COLOR = (Table.Color or C3(1,1,1))
  616.     local TIME = (Table.Time or 45)
  617.     local SOUNDID = (Table.SoundID or nil)
  618.     local SOUNDPITCH = (Table.SoundPitch or nil)
  619.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  620.     coroutine.resume(coroutine.create(function()
  621.         local PLAYSSOUND = false
  622.         local SOUND = nil
  623.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  624.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  625.             PLAYSSOUND = true
  626.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  627.         end
  628.         EFFECT.Color = COLOR
  629.         local MSH = nil
  630.         if TYPE == "Sphere" then
  631.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  632.         elseif TYPE == "Block" then
  633.             MSH = IT("BlockMesh",EFFECT)
  634.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  635.         elseif TYPE == "Wave" then
  636.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  637.         elseif TYPE == "Ring" then
  638.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  639.         elseif TYPE == "Slash" then
  640.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  641.         elseif TYPE == "Round Slash" then
  642.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  643.         elseif TYPE == "Swirl" then
  644.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  645.         elseif TYPE == "Skull" then
  646.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  647.         elseif TYPE == "Crystal" then
  648.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  649.         end
  650.         if MSH ~= nil then
  651.             local MOVESPEED = nil
  652.             if MOVEDIRECTION ~= nil then
  653.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  654.             end
  655.             local GROWTH = SIZE - ENDSIZE
  656.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  657.             if TYPE == "Block" then
  658.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  659.             else
  660.                 EFFECT.CFrame = CFRAME
  661.             end
  662.             for LOOP = 1, TIME+1 do
  663.                 Swait()
  664.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  665.                 if TYPE == "Wave" then
  666.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  667.                 end
  668.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  669.                 if TYPE == "Block" then
  670.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  671.                 else
  672.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  673.                 end
  674.                 if MOVEDIRECTION ~= nil then
  675.                     local ORI = EFFECT.Orientation
  676.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  677.                     EFFECT.Orientation = ORI
  678.                 end
  679.             end
  680.             if PLAYSSOUND == false then
  681.                 EFFECT:remove()
  682.             else
  683.                 SOUND.Stopped:Connect(function()
  684.                     EFFECT:remove()
  685.                 end)
  686.             end
  687.         else
  688.             if PLAYSSOUND == false then
  689.                 EFFECT:remove()
  690.             else
  691.                 repeat Swait() until SOUND.Playing == false
  692.                 EFFECT:remove()
  693.             end
  694.         end
  695.     end))
  696. end
  697. function Part(parent,color,material,size,cframe,anchored,cancollide)
  698.     local part = IN("Part")
  699.     part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  700.     part.Material = material or Enum.Material.SmoothPlastic
  701.     part.TopSurface,part.BottomSurface=10,10
  702.     part.Size = size or V3.N(1,1,1)
  703.     part.CFrame = cframe or CF.N(0,0,0)
  704.     part.CanCollide = cancollide or false
  705.     part.Anchored = anchored or false
  706.     part.Parent = parent or Char
  707.     return part
  708. end
  709.  
  710. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  711.     local part = IN("SpecialMesh")
  712.     part.MeshId = meshid or ""
  713.     part.TextureId = textid or ""
  714.     part.Scale = scale or V3.N(1,1,1)
  715.     part.Offset = offset or V3.N(0,0,0)
  716.     part.MeshType = meshtype or Enum.MeshType.Sphere
  717.     part.Parent = parent
  718.     return part
  719. end
  720.  
  721. NewInstance = function(instance,parent,properties)
  722.     local inst = Instance.new(instance,parent)
  723.     if(properties)then
  724.         for i,v in next, properties do
  725.             pcall(function() inst[i] = v end)
  726.         end
  727.     end
  728.     return inst;
  729. end
  730. function MakeForm(PART,TYPE)
  731.     if TYPE == "Cyl" then
  732.         local MSH = IT("CylinderMesh",PART)
  733.     elseif TYPE == "Ball" then
  734.         local MSH = IT("SpecialMesh",PART)
  735.         MSH.MeshType = "Sphere"
  736.     elseif TYPE == "Wedge" then
  737.         local MSH = IT("SpecialMesh",PART)
  738.         MSH.MeshType = "Wedge"
  739.     end
  740. end
  741.  
  742. function SpawnTrail(FROM,TO,BIG)
  743.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  744.     MakeForm(TRAIL,"Cyl")
  745.     local DIST = (FROM - TO).Magnitude
  746.     if BIG == true then
  747.         TRAIL.Size = VT(0.5,DIST,0.5)
  748.     else
  749.         TRAIL.Size = VT(0.25,DIST,0.25)
  750.     end
  751.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  752.     coroutine.resume(coroutine.create(function()
  753.         for i = 1, 5 do
  754.             Swait()
  755.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  756.         end
  757.         TRAIL:remove()
  758.     end))
  759. end
  760.  
  761. Debris = game:GetService("Debris")
  762.  
  763. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  764.     local DIRECTION = CF(StartPos,EndPos).lookVector
  765.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  766. end
  767.  
  768. function turnto(position)
  769.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  770. end
  771.  
  772. CFuncs = { 
  773.     ["Part"] = {
  774.         Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  775.             local Part = Create("Part"){
  776.                 Parent = Parent,
  777.                 Reflectance = Reflectance,
  778.                 Transparency = Transparency,
  779.                 CanCollide = false,
  780.                 Locked = true,
  781.                 BrickColor = BrickColor.new(tostring(BColor)),
  782.                 Name = Name,
  783.                 Size = Size,
  784.                 Material = Material,
  785.             }
  786.             RemoveOutlines(Part)
  787.             return Part
  788.         end;
  789.     };
  790.    
  791.     ["Mesh"] = {
  792.         Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  793.             local Msh = Create(Mesh){
  794.                 Parent = Part,
  795.                 Offset = OffSet,
  796.                 Scale = Scale,
  797.             }
  798.             if Mesh == "SpecialMesh" then
  799.                 Msh.MeshType = MeshType
  800.                 Msh.MeshId = MeshId
  801.             end
  802.             return Msh
  803.         end;
  804.     };
  805.    
  806.     ["Mesh"] = {
  807.         Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  808.             local Msh = Create(Mesh){
  809.                 Parent = Part,
  810.                 Offset = OffSet,
  811.                 Scale = Scale,
  812.             }
  813.             if Mesh == "SpecialMesh" then
  814.                 Msh.MeshType = MeshType
  815.                 Msh.MeshId = MeshId
  816.             end
  817.             return Msh
  818.         end;
  819.     };
  820.    
  821.     ["Weld"] = {
  822.         Create = function(Parent, Part0, Part1, C0, C1)
  823.             local Weld = Create("Weld"){
  824.                 Parent = Parent,
  825.                 Part0 = Part0,
  826.                 Part1 = Part1,
  827.                 C0 = C0,
  828.                 C1 = C1,
  829.             }
  830.             return Weld
  831.         end;
  832.     };
  833.    
  834.     ["ParticleEmitter"] = {
  835.         Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
  836.             local fp = Create("ParticleEmitter"){
  837.                 Parent = Parent,
  838.                 Color = ColorSequence.new(Color1, Color2),
  839.                 LightEmission = LightEmission,
  840.                 Size = Size,
  841.                 Texture = Texture,
  842.                 Transparency = Transparency,
  843.                 ZOffset = ZOffset,
  844.                 Acceleration = Accel,
  845.                 Drag = Drag,
  846.                 LockedToPart = LockedToPart,
  847.                 VelocityInheritance = VelocityInheritance,
  848.                 EmissionDirection = EmissionDirection,
  849.                 Enabled = Enabled,
  850.                 Lifetime = LifeTime,
  851.                 Rate = Rate,
  852.                 Rotation = Rotation,
  853.                 RotSpeed = RotSpeed,
  854.                 Speed = Speed,
  855.                 VelocitySpread = VelocitySpread,
  856.             }
  857.             return fp
  858.         end;
  859.     };
  860.  
  861.     CreateTemplate = {
  862.    
  863.     };
  864. }
  865. local BODY = {}
  866. for _, c in pairs(Character:GetDescendants()) do
  867.     if c:IsA("BasePart") and c.Name ~= "Handle" then
  868.         if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  869.             c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  870.         end
  871.         table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  872.     elseif c:IsA("JointInstance") then
  873.         table.insert(BODY,{c,c.Parent,nil,nil,nil})
  874.     end
  875. end
  876.     TalkSound = Instance.new("Sound",Character,"Music",{SoundId = "rbxassetid://615716445",Volume = 5,Looped = false})
  877. TalkSound.Pitch = 1.7
  878. attack = false
  879. ATTACK = false
  880. ----------------
  881. function getRegion(point,range,ignore)
  882.     return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  883. end
  884.  
  885. function clerp(startCF,endCF,alpha)
  886.     return startCF:lerp(endCF, alpha)
  887. end
  888.  
  889. function GetTorso(char)
  890.     return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso'
  891. end
  892.  
  893.  
  894.  
  895. function ShowDamage(Pos, Text, Time, Color)
  896.     coroutine.wrap(function()
  897.     local Rate = (1 / 30)
  898.     local Pos = (Pos or Vector3.new(0, 0, 0))
  899.     local Text = (Text or "")
  900.     local Time = (Time or 2)
  901.     local Color = (Color or Color3.new(1, 0, 1))
  902.     local EffectPart = NewInstance("Part",Effects,{
  903.         Material=Enum.Material.SmoothPlastic,
  904.         RArmlectance = 0,
  905.         Transparency = 1,
  906.         BrickColor = BrickColor.new(Color),
  907.         Name = "Effect",
  908.         Size = Vector3.new(0,0,0),
  909.         Anchored = true
  910.     })
  911.     local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  912.         Size = UDim2.new(1.25, 0, 1.25, 0),
  913.         Adornee = EffectPart,
  914.     })
  915.     local TextLabel = NewInstance("TextLabel",BillboardGui,{
  916.         BackgroundTransparency = 1,
  917.         Size = UDim2.new(1, 0, 1, 0),
  918.         Text = Text,
  919.         Font = "Arial",
  920.         TextColor3 = Color,
  921.         TextStrokeColor3 = Color3.new(0,0,0),
  922.         TextStrokeTransparency=0,
  923.         TextScaled = true,
  924.     })
  925.     game.Debris:AddItem(EffectPart, (Time))
  926.     EffectPart.Parent = game:GetService("Workspace")
  927.     delay(0, function()
  928.         local Frames = (Time / Rate)
  929.         for Frame = 1, Frames do
  930.             wait(Rate)
  931.             local Percent = (Frame / Frames)
  932.             EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
  933.             TextLabel.TextTransparency = Percent
  934.             TextLabel.TextStrokeTransparency = Percent
  935.         end
  936.         if EffectPart and EffectPart.Parent then
  937.             EffectPart:Destroy()
  938.         end
  939.     end) end)()
  940. end
  941.  
  942. function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
  943.     if(who)then
  944.         local hum = who:FindFirstChildOfClass'Humanoid'
  945.         local Damage = M.RNG(minDam,maxDam)
  946.         local canHit = true
  947.         if(hum)then
  948.             for _, p in pairs(Hit) do
  949.                 if p[1] == hum then
  950.                     if(time() - p[2] < 0.1) then
  951.                         canHit = false
  952.                     else
  953.                         Hit[_] = nil
  954.                     end
  955.                 end
  956.             end
  957.             if(canHit)then
  958.                 if(hum.Health >= math.huge)then
  959.                     who:BreakJoints()
  960.                     if(who:FindFirstChild'Head' and hum.Health > 0)then
  961.                         ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "INSTANT", 1.5, C3.N(1,0,0))
  962.                     end
  963.                 else
  964.                     local player = S.Players:GetPlayerFromCharacter(who)
  965.                     if(Type == "Fire")then
  966.                         --idk..
  967.                     else
  968.                         local  c = Instance.new("ObjectValue",hum)
  969.                         c.Name = "creator"
  970.                         c.Value = Plr
  971.                         game:service'Debris':AddItem(c,0.35)
  972.                         if(M.RNG(1,100) <= (critChance or 0))then
  973.                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  974.                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "[CRIT] "..Damage*(critMult or 2), 1.5, BrickColor.new'New Yeller'.Color)
  975.                             end
  976.                             hum.Health = hum.Health - Damage*(critMult or 2)
  977.                         else
  978.                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  979.                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), Damage, 1.5, DamageColor.Color)
  980.                             end
  981.                             hum.Health = hum.Health - Damage
  982.                         end
  983.                         if(Type == 'Knockback' and GetTorso(who))then
  984.                             local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
  985.                             local body = NewInstance('BodyVelocity',GetTorso(who),{
  986.                                 P = 500,
  987.                                 maxForce = V3.N(math.huge,0,math.huge),
  988.                                 velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
  989.                             })
  990.                             game:service'Debris':AddItem(body,.5)  
  991.                         elseif(Type == 'Knockdown' and GetTorso(who))then
  992.                             local rek = GetTorso(who)
  993.                             print(rek)
  994.                             hum.PlatformStand = true
  995.                             delay(1,function()
  996.                                 hum.PlatformStand = false
  997.                             end)
  998.                             local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
  999.                             local bodvol = NewInstance("BodyVelocity",rek,{
  1000.                                 velocity = angle * Knock,
  1001.                                 P = 5000,
  1002.                                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1003.                             })
  1004.                             local rl = NewInstance("BodyAngularVelocity",rek,{
  1005.                                 P = 3000,
  1006.                                 maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  1007.                                 angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  1008.                             })
  1009.                             game:GetService("Debris"):AddItem(bodvol, .5)
  1010.                             game:GetService("Debris"):AddItem(rl, .5)
  1011.                         end
  1012.                     end
  1013.                 end
  1014.             end
  1015.             table.insert(Hit,{hum,time()})
  1016.         end
  1017.     end
  1018. end
  1019.  
  1020. function AOEDamage(where,range,minDam,maxDam,Knock,Type)
  1021.     for _,v in next, getRegion(where,range,{Char}) do
  1022.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
  1023.             DealDamage(v.Parent,minDam,maxDam,Knock,Type)
  1024.         end
  1025.     end
  1026. end
  1027.  
  1028. function AOEFunction(where,range,callback)
  1029.     for _,v in next, getRegion(where,range,{Char}) do
  1030.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
  1031.             callback(v.Parent)
  1032.         end
  1033.     end
  1034. end
  1035.  
  1036. function ClosestHumanoid(pos,range)
  1037.     local mag,closest = math.huge;
  1038.     for _,v in next, getRegion(pos,range or 10,{Char}) do
  1039.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')
  1040.         if((v.CFrame.p-pos).magnitude < mag and hum and closest ~= hum and hum.Health > 0)then
  1041.             mag = (v.CFrame.p-pos).magnitude
  1042.             closest = hum
  1043.         end
  1044.     end
  1045.     return closest,(closest and GetTorso(closest.Parent) or nil)
  1046. end
  1047.  
  1048. function AOEHeal(where,range,amount)
  1049.     local healed = {}
  1050.     for _,v in next, getRegion(where,range,{Char}) do
  1051.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  1052.         if(hum and not healed[hum])then
  1053.             hum.Health = hum.Health + amount
  1054.             if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  1055.                 ShowDamage((v.Parent.Head.CFrame * CF.N(0, 0, (v.Parent.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "+"..amount, 1.5, BrickColor.new'Really red'.Color)
  1056.             end
  1057.         end
  1058.     end
  1059. end
  1060. function firer(a)
  1061.         local fire1 = Instance.new("ParticleEmitter", a)
  1062.         fire1.Texture = "rbxassetid://160041569"
  1063.         fire1.Rotation = NumberRange.new(-180,180)
  1064.         fire1.RotSpeed = NumberRange.new(5, 9)
  1065.         fire1.Speed = NumberRange.new(5, 7)
  1066.         fire1.Lifetime = NumberRange.new(0.05,0.06)
  1067.         fire1.Color =  ColorSequence.new(BrickColor.new'Deep orange'.Color)
  1068.         fire1.Rate = 200,300
  1069.         fire1.Acceleration = Vector3.new( 8, 6, 6 )
  1070.         fire1.Transparency = NumberSequence.new(0, 0, 0, 0.13253, 0.54375, 0, 0.32092, 0.7375, 0, 0.387733, 0, 0, 0.468784 ,0.725, 0, 0.522453, 0.45625, 0, 0.615553, 0.6375, 0, 0.63965, 0 ,0, 0.744797, 0.525, 0 ,1, 0, 0 )
  1071.         fire1.LightEmission = 0.860
  1072.         fire1.Size = NumberSequence.new(1)
  1073.         fire1.LightInfluence = 0
  1074.         fire1.Enabled = false
  1075.         fire1.SpreadAngle = Vector2.new(28, 28)
  1076. end
  1077.  
  1078. local p1 = Instance.new('Part', char)
  1079. p1.Name = 'LeftLeg'
  1080. p1.Size = Vector3.new(0.5,0.5,0.5)
  1081. p1.Anchored = false
  1082. p1.CanCollide = false
  1083. local w1 = Instance.new('Weld', char)
  1084. w1.Part0 = p1
  1085. w1.Part1 = char['Left Leg']
  1086. w1.C0 = CFrame.new(0,1,0)
  1087.  
  1088. local p2 = p1:Clone()
  1089. p2.Parent = char
  1090. local w2 = Instance.new('Weld', char)
  1091. w2.Part0 = p2
  1092. w2.Part1 = char['Right Leg']
  1093. w2.C0 = CFrame.new(0,1,0)
  1094.  
  1095. local p3 = p1:Clone()
  1096. p3.Parent = char
  1097. local w3 = Instance.new('Weld', char)
  1098. w3.Part0 = p3
  1099. w3.Part1 = char['Right Arm']
  1100. w3.C0 = CFrame.new(0,1,0)
  1101.  
  1102. p3.Transparency = 1
  1103. p2.Transparency = 1
  1104. p1.Transparency = 1
  1105.  
  1106. firer(p3)
  1107. firer(p2)
  1108. firer(p1)
  1109.  
  1110. firep = {}
  1111. table.insert(firep,p1:FindFirstChildOfClass'ParticleEmitter')
  1112. table.insert(firep,p2:FindFirstChildOfClass'ParticleEmitter')
  1113. table.insert(firep,p3:FindFirstChildOfClass'ParticleEmitter')
  1114.  
  1115. --// Character
  1116.  
  1117. Hum.WalkSpeed = 7
  1118. ----------------------------------
  1119. --//=================================\\
  1120. --||         DAMAGE FUNCTIONS
  1121. --\\=================================//
  1122.  
  1123. function StatLabel(CFRAME, TEXT, COLOR)
  1124.     local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1125.     STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  1126.     local BODYGYRO = IT("BodyGyro", STATPART)
  1127.     game:GetService("Debris"):AddItem(STATPART ,5)
  1128.     local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  1129.     BILLBOARDGUI.Adornee = STATPART
  1130.     BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  1131.     BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  1132.     BILLBOARDGUI.AlwaysOnTop = false
  1133.     local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  1134.     TEXTLABEL.BackgroundTransparency = 1
  1135.     TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  1136.     TEXTLABEL.Text = TEXT
  1137.     TEXTLABEL.Font = SKILLFONT
  1138.     TEXTLABEL.FontSize="Size42"
  1139.     TEXTLABEL.TextColor3 = COLOR
  1140.     TEXTLABEL.TextStrokeTransparency = 0
  1141.     TEXTLABEL.TextScaled = true
  1142.     TEXTLABEL.TextWrapped = true
  1143.     coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  1144.         for i = 1, 10 do
  1145.             Swait()
  1146.             STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  1147.             TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/10)
  1148.             TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  1149.         end
  1150.         THEPART.Parent = nil
  1151.     end),STATPART, TEXTLABEL)
  1152. end
  1153.  
  1154. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW,MATERIAL)
  1155.     local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  1156.     local mesh = IT("SpecialMesh",wave)
  1157.     mesh.MeshType = "Sphere"
  1158.     mesh.Scale = SIZE
  1159.     mesh.Offset = VT(0,0,0)
  1160.     wave.CFrame = CFRAME
  1161.     coroutine.resume(coroutine.create(function(PART)
  1162.         for i = 1, WAIT do
  1163.             Swait()
  1164.             mesh.Scale = mesh.Scale + GROW
  1165.             wave.Transparency = wave.Transparency + (1/WAIT)
  1166.             if wave.Transparency > 0.99 then
  1167.                 wave:remove()
  1168.             end
  1169.         end
  1170.     end))
  1171. end
  1172.  
  1173.  
  1174. local Grasp = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Handle, CF(0, -1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1175. local Bop = CreatePart(3, Weapon, "Glass", 0, 0, "New Yeller", "Bop", VT(0.5, 0.5, 0.5), false)
  1176. MakeForm(Bop, "Ball")
  1177. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Bop, CF(0, 0.7, 0), CF(0, 0, 0))
  1178. local Part = CreatePart(3, Weapon, "Glass", 0, 0, "Black", "Shield", VT(0.5, 0.2, 0.5), false)
  1179. MakeForm(Part, "Pine")
  1180. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1181. local Part = CreatePart(3, Weapon, "Glass", 0, 0, "Dark blue", "Shield", VT(0.6, 0.3, 0.6), false)
  1182. MakeForm(Part, "Pine")
  1183. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1184. local Blade = CreatePart(3, Weapon, "Glass", 0, 0, "Magenta", "Blade", VT(0.3, 5, 0.3), false)
  1185. MakeForm(Blade, "Pine")
  1186. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Blade, CF(0, -2.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1187.  
  1188. --//=================================\\
  1189. --||            DAMAGING
  1190. --\\=================================//
  1191.  
  1192. function ApplyDamage(Humanoid,Damage,TorsoPart)
  1193.     local defence = Instance.new("BoolValue",Humanoid.Parent)
  1194.     defence.Name = ("HitBy"..Player.Name)
  1195.     game:GetService("Debris"):AddItem(defence, 0.001)
  1196.     Damage = Damage * DAMAGEMULTIPLIER
  1197.     if Humanoid.Health ~= 0 then
  1198.         local CritChance = MRANDOM(1,100)
  1199.         if Damage > Humanoid.Health then
  1200.             Damage = math.ceil(Humanoid.Health)
  1201.             if Damage == 0 then
  1202.                 Damage = 0.1
  1203.             end
  1204.         end
  1205.         Humanoid.Health = Humanoid.Health - Damage
  1206.         StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
  1207.     end
  1208. end
  1209.  
  1210. function Ghostify(POSITION,RANGE)
  1211.     local CHILDREN = workspace:GetDescendants()
  1212.     for index, CHILD in pairs(CHILDREN) do
  1213.         if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  1214.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1215.             if HUM then
  1216.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1217.                 if TORSO then
  1218.                     if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
  1219.                         local GHOST = GHOSTBASE:Clone()
  1220.                         GHOST.Parent = Effects
  1221.                         GHOST.Torso.CFrame = TORSO.CFrame
  1222.                         table.insert(GHOSTS,GHOST)
  1223.                         CHILD:remove()
  1224.                     end
  1225.                 end
  1226.             end
  1227.         end
  1228.     end
  1229. end
  1230.  
  1231. function Kill(Char)
  1232.     local NewCharacter = IT("Model",Effects)
  1233.     NewCharacter.Name = "auth succ"
  1234.     for _, c in pairs(Char:GetDescendants()) do
  1235.         if c:IsA("BasePart") and c.Transparency == 0 then
  1236.             if c.Parent == Char then
  1237.                 getbloody(c,5)
  1238.             end
  1239.             c:BreakJoints()
  1240.             c.Material = "Glass"
  1241.             c.Color = C3(0.5,0,0)
  1242.             c.CanCollide = true
  1243.             c.Transparency = 0.3
  1244.             if c:FindFirstChildOfClass("SpecialMesh") then
  1245.                 c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1246.             end
  1247.             if c.Name == "Head" then
  1248.                 c:ClearAllChildren()
  1249.                 c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  1250.             end
  1251.             if c.ClassName == "MeshPart" then
  1252.                 c.TextureID = ""
  1253.             end
  1254.             if c:FindFirstChildOfClass("BodyPosition") then
  1255.                 c:FindFirstChildOfClass("BodyPosition"):remove()
  1256.             end
  1257.             if c:FindFirstChildOfClass("ParticleEmitter") then
  1258.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1259.             end
  1260.             c.Parent = NewCharacter
  1261.             c.Name = "DeadPart"
  1262.             c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  1263.             c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  1264.         end
  1265.     end
  1266.     Char:remove()
  1267.     Debris:AddItem(NewCharacter,5)
  1268. end
  1269.  
  1270. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1271.     local CHILDREN = workspace:GetDescendants()
  1272.     for index, CHILD in pairs(CHILDREN) do
  1273.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1274.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1275.             if HUM then
  1276.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1277.                 if TORSO then
  1278.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1279.                         if ISBANISH == true then
  1280.                             Banish(CHILD)
  1281.                         else
  1282.                             if ISBANISH == "Gravity" then
  1283.                                 HUM.PlatformStand = true
  1284.                                 if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1285.                                     local grav = Instance.new("BodyPosition",TORSO)
  1286.                                     grav.D = 15
  1287.                                     grav.P = 20000
  1288.                                     grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1289.                                     grav.position = TORSO.Position
  1290.                                     grav.Name = "V3BanishForce"..Player.Name
  1291.                                 else
  1292.                                     TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1293.                                     TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1294.                                 end
  1295.                             else
  1296.                                 HUM.PlatformStand = false
  1297.                             end
  1298.                         end
  1299.                     elseif ISBANISH == "Gravity" then
  1300.                         if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1301.                             TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1302.                             HUM.PlatformStand = false
  1303.                         end
  1304.                     end
  1305.                 end
  1306.             end
  1307.         end
  1308.     end
  1309. end
  1310.  
  1311. function Banish(Foe)
  1312.     if Foe then
  1313.         coroutine.resume(coroutine.create(function()
  1314.             --if game.Players:FindFirstChild(Foe.Name) then
  1315.             --end
  1316.             Foe.Archivable = true
  1317.             local CLONE = Foe:Clone()
  1318.             Foe:Destroy()
  1319.             CLONE.Parent = Effects
  1320.             CLONE:BreakJoints()
  1321.             local MATERIALS = {"Glass","Neon"}
  1322.             for _, c in pairs(CLONE:GetDescendants()) do
  1323.                 if c:IsA("BasePart") then
  1324.                     if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1325.                         CreateSound(1177785010, c, 10, 1, false)
  1326.                     end
  1327.                     c.Anchored = true
  1328.                     c.Transparency = c.Transparency + 0.2
  1329.                     c.Material = MATERIALS[MRANDOM(1,2)]
  1330.                     c.Color = C3(1,0,0)
  1331.                     if c.ClassName == "MeshPart" then
  1332.                         c.TextureID = ""
  1333.                     end
  1334.                     if c:FindFirstChildOfClass("SpecialMesh") then
  1335.                         c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1336.                     end
  1337.                     if c:FindFirstChildOfClass("Decal") then
  1338.                         c:FindFirstChildOfClass("Decal"):remove()
  1339.                     end
  1340.                     c.Name = "rlly nigga"
  1341.                     c.CanCollide = false
  1342.                 else
  1343.                     c:remove()
  1344.                 end
  1345.             end
  1346.             local A = false
  1347.             for i = 1, 35 do
  1348.                 if A == false then
  1349.                     A = true
  1350.                 elseif A == true then
  1351.                     A = false
  1352.                 end
  1353.                 for _, c in pairs(CLONE:GetDescendants()) do
  1354.                     if c:IsA("BasePart") then
  1355.                         c.Anchored = true
  1356.                         c.Material = MATERIALS[MRANDOM(1,2)]
  1357.                         c.Transparency = c.Transparency + 0.8/35
  1358.                         if A == false then
  1359.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1360.                         elseif A == true then
  1361.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)                      
  1362.                         end
  1363.                     end
  1364.                 end
  1365.                 Swait()
  1366.             end
  1367.             CLONE:remove()
  1368.         end))
  1369.     end
  1370. end
  1371. function chatfunc(text)
  1372.     local chat = coroutine.wrap(function()
  1373.     if Character:FindFirstChild("TalkingBillBoard")~= nil then
  1374.         Character:FindFirstChild("TalkingBillBoard"):destroy()
  1375.     end
  1376.     local Bill = Instance.new("BillboardGui",Character)
  1377.     Bill.Size = UDim2.new(0,100,0,40)
  1378.     Bill.StudsOffset = Vector3.new(0,3,0)
  1379.     Bill.Adornee = Character.Head
  1380.     Bill.Name = "TalkingBillBoard"
  1381.     local Hehe = Instance.new("TextLabel",Bill)
  1382.     Hehe.BackgroundTransparency = 1
  1383.     Hehe.BorderSizePixel = 0
  1384.     Hehe.Text = ""
  1385.     Hehe.Font = "SciFi"
  1386.     Hehe.TextSize = 40
  1387.     Hehe.TextStrokeTransparency = 0
  1388.     Hehe.Size = UDim2.new(1,0,0.5,0)
  1389.     coroutine.resume(coroutine.create(function()
  1390.         while Hehe ~= nil do
  1391.             Swait()
  1392.             Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5)) 
  1393.             Hehe.Rotation = math.random(-5,5)
  1394.             Hehe.TextColor3 = Color3.new(255,0,0)
  1395.             Hehe.TextStrokeColor3 = Color3.new(0,0,0)
  1396.         end
  1397.     end))
  1398.     for i = 1,string.len(text),1 do
  1399.         Swait()
  1400.         Hehe.Text = string.sub(text,1,i)
  1401.     end
  1402.     Swait(90)--Re[math.random(1, 93)]
  1403.     for i = 0, 1, .025 do
  1404.         Swait()
  1405.         Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
  1406.         Hehe.TextStrokeTransparency = i
  1407.         Hehe.TextTransparency = i
  1408.     end
  1409.     Bill:Destroy()
  1410.     end)
  1411. chat()
  1412. end
  1413.  
  1414. function attack1()
  1415.     ATTACK = true
  1416.     Rooted = true
  1417.     for i=0, 1, 0.1 / Animation_Speed do
  1418.         Swait()
  1419.         RightHip.C0=Clerp(RightHip.C0,CF(1,-0.25,-0.5)*ANGLES(RAD(0),RAD(90),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(20)),.2)
  1420.         LeftHip.C0=Clerp(LeftHip.C0,CF(-1,-1,0)*ANGLES(RAD(0),RAD(-90),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(20)),.2)
  1421.         RootJoint.C0=Clerp(RootJoint.C0,ROOTC0*CF(0,0,0)*ANGLES(RAD(-20),RAD(0),RAD(0)),.2)
  1422.         Neck.C0=Clerp(Neck.C0,NECKC0*ANGLES(RAD(-20),RAD(0),RAD(0)),.2)
  1423.         LeftShoulder.C0=Clerp(LeftShoulder.C0,CF(-1.5,0.5,0)*ANGLES(RAD(140),RAD(0),RAD(20)),.2)
  1424.     end
  1425.     for i=0, 0.5, 0.1 / Animation_Speed do
  1426.         Swait()
  1427.         RightHip.C0=Clerp(RightHip.C0,CF(1,-0.25,-0.5)*ANGLES(RAD(0),RAD(90),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(20)),.2)
  1428.         LeftHip.C0=Clerp(LeftHip.C0,CF(-1,-1,0)*ANGLES(RAD(0),RAD(-90),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(20)),.2)
  1429.         RootJoint.C0=Clerp(RootJoint.C0,ROOTC0*CF(0,0,0)*ANGLES(RAD(-20),RAD(0),RAD(0)),.2)
  1430.         Neck.C0=Clerp(Neck.C0,NECKC0*ANGLES(RAD(-20),RAD(0),RAD(0)),.2)
  1431.         LeftShoulder.C0=Clerp(LeftShoulder.C0,CF(-1.5,0.5,0)*ANGLES(RAD(140),RAD(0),RAD(20)),.2)
  1432.     end
  1433.     for i = 1, 75 do
  1434.         Swait()
  1435.         MagicSphere(VT(0.5,0.5,5),50,CF(Torso.CFrame*CF(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)).p,Torso.Position),"Really red",VT(-0.005,-0.005,0.03),0)
  1436.     end
  1437.     CreateSound(565538688, Torso, 7, 1)
  1438.     CreateSound(439342426, Torso, 7, 1)
  1439.     CreateSound(907329669, Head, 10, 1)
  1440.     chatfunc("Leave the dead where they fall! ")
  1441.     ApplyAoE(Torso.Position,45,true)
  1442.     MagicSphere(VT(0,0,0),25,Torso.CFrame,"Really red",VT(5,5,5))
  1443.     MagicSphere(VT(0,0,0),50,Torso.CFrame,"Really red",VT(2.5,2.5,2.5))
  1444.     MagicSphere(VT(0,0.2,0),30,Torso.CFrame*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),"Really red",VT(6,0,6))
  1445.     MagicSphere(VT(0,0.2,0),30,Torso.CFrame*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),"Really red",VT(6,0,6))
  1446.     for i=0, 1.5, 0.1 / Animation_Speed do
  1447.         Swait()
  1448.         RightHip.C0=Clerp(RightHip.C0,CF(1,-1,-0.5)*ANGLES(RAD(0),RAD(90),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(10)),.4)
  1449.         LeftHip.C0=Clerp(LeftHip.C0,CF(-1,-1,0)*ANGLES(RAD(0),RAD(-90),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(10)),.4)
  1450.         RootJoint.C0=Clerp(RootJoint.C0,ROOTC0*CF(0,0,0)*ANGLES(RAD(10),RAD(0),RAD(0)),.4)
  1451.         Neck.C0=Clerp(Neck.C0,NECKC0*ANGLES(RAD(10),RAD(0),RAD(0)),.4)
  1452.         LeftShoulder.C0=Clerp(LeftShoulder.C0,CF(-1.5,0.5,0)*ANGLES(RAD(-50),RAD(0),RAD(-30)),.4)
  1453.     end
  1454.     ATTACK = false
  1455.     Rooted = false
  1456. end
  1457. function attack2()
  1458. local FRAME = RootPart.Position
  1459. RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0),VT(FRAME.X,RootPart.Position.Y,FRAME.Z))
  1460. end
  1461. function attack3()
  1462. chatfunc("Denied")
  1463. wait(0.001)
  1464. ApplyAoE(Torso.Position,9999999999,true)
  1465. end
  1466. function attack4()
  1467.    
  1468. end
  1469. function attack5()
  1470.    
  1471. end
  1472. ATTACK = false
  1473. ----------------------------------
  1474. function MouseDown(Mouse)
  1475.     HOLD = true
  1476.     if ATTACK == false then
  1477.     end
  1478. end
  1479.  
  1480. function MouseUp(Mouse)
  1481. HOLD = false
  1482. end
  1483.  
  1484. function KeyDown(Key)
  1485.     KEYHOLD = true
  1486.     if Key == "z" and ATTACK == false then
  1487.           attack1()
  1488.     end
  1489.     if Key == "c" and ATTACK == false then
  1490.           attack2()
  1491.     end
  1492.  
  1493.     if Key == "x" and ATTACK == false then
  1494.           attack3()
  1495.     end
  1496.  
  1497.     if Key == "v" and ATTACK == false then
  1498.  
  1499.     end
  1500.  
  1501.     if Key == "x" and ATTACK == false then
  1502.  
  1503.     end
  1504.  
  1505.     if Key == "t" and ATTACK == false then
  1506.  
  1507.     end
  1508. end
  1509.  
  1510. function KeyUp(Key)
  1511.     KEYHOLD = false
  1512. end
  1513.  
  1514.     Mouse.Button1Down:connect(function(NEWKEY)
  1515.         MouseDown(NEWKEY)
  1516.     end)
  1517.     Mouse.Button1Up:connect(function(NEWKEY)
  1518.         MouseUp(NEWKEY)
  1519.     end)
  1520.     Mouse.KeyDown:connect(function(NEWKEY)
  1521.         KeyDown(NEWKEY)
  1522.     end)
  1523.     Mouse.KeyUp:connect(function(NEWKEY)
  1524.         KeyUp(NEWKEY)
  1525.     end)
  1526.  
  1527. -----------------------------------
  1528. function Chat(msg) -- Credit to jillmiles1, kthxbye
  1529.         local Gui = Instance.new('BillboardGui', Head)
  1530.         Gui.Name = "Satanic Chat Gui"
  1531.         Gui.ExtentsOffset = Vector3.new(0,3,0)
  1532.         Gui.Size = UDim2.new(0,200,0,300)
  1533.         local Frame = Instance.new('Frame',Gui)
  1534.         Frame.BackgroundTransparency = 1
  1535.         Frame.Size = UDim2.new(1,0,1,0)
  1536.         local Txt = Instance.new('TextLabel',Frame)
  1537.         Txt.BackgroundTransparency = 1
  1538.         Txt.Size = UDim2.new(1,0,1,0)
  1539.         Txt.Font = 'Antique'
  1540.         Txt.Name = "ChatGui"
  1541.         Txt.FontSize = 'Size24'
  1542.         Txt.Text = ''
  1543.         Txt.TextColor3 = BrickColor.new("Really black").Color
  1544.         Txt.TextStrokeColor3 = Color3.new(.5,0,0)
  1545.         Txt.TextStrokeTransparency = .5
  1546.         Txt.TextWrapped = true
  1547.         Txt.TextScaled = false
  1548.  
  1549.         delay(wait(),function()
  1550.                 for v = 1, #msg do
  1551.                         Txt.Text=string.sub(msg,1,v)
  1552. TalkSound:Play()
  1553.            Gui.ExtentsOffset = Vector3.new(.1,2.9,0)
  1554. wait(.009)
  1555.         Gui.ExtentsOffset = Vector3.new(0,3,-0.1)                    
  1556.  wait(.009)
  1557.   Gui.ExtentsOffset = Vector3.new(0,3,0)  
  1558.                 end;
  1559.                
  1560.          
  1561.  
  1562.            Gui.ExtentsOffset = Vector3.new(.1,2.9,0)
  1563. wait(.03)
  1564.         Gui.ExtentsOffset = Vector3.new(0,3,-0.1)                    
  1565.  wait(.03)
  1566.   Gui.ExtentsOffset = Vector3.new(0,3,0)  
  1567. wait(.03)
  1568.            Gui.ExtentsOffset = Vector3.new(.1,2.9,0)
  1569. wait(.03)
  1570.         Gui.ExtentsOffset = Vector3.new(0,3,-0.1)                    
  1571.  wait(.03)
  1572.   Gui.ExtentsOffset = Vector3.new(0,3,0)  
  1573. wait(.03)
  1574.            Gui.ExtentsOffset = Vector3.new(.1,2.9,0)
  1575. wait(.03)
  1576.         Gui.ExtentsOffset = Vector3.new(0,3,-0.1)                    
  1577.  wait(.03)
  1578.   Gui.ExtentsOffset = Vector3.new(0,3,0)  
  1579. wait(.03)
  1580.            Gui.ExtentsOffset = Vector3.new(.1,2.9,0)
  1581. wait(.03)
  1582.         Gui.ExtentsOffset = Vector3.new(0,3,-0.1)                    
  1583.  wait(.03)
  1584.   Gui.ExtentsOffset = Vector3.new(0,3,0)  
  1585. wait(.03)
  1586.            Gui.ExtentsOffset = Vector3.new(.1,2.9,0)
  1587. wait(.03)
  1588.         Gui.ExtentsOffset = Vector3.new(0,3,-0.1)                    
  1589.  wait(.03)
  1590.   Gui.ExtentsOffset = Vector3.new(0,3,0)  
  1591. wait(.03)
  1592.            Gui.ExtentsOffset = Vector3.new(.1,2.9,0)
  1593. wait(.03)
  1594.         Gui.ExtentsOffset = Vector3.new(0,3,-0.1)                    
  1595.  wait(.03)
  1596.   Gui.ExtentsOffset = Vector3.new(0,3,0)  
  1597. wait(.03)
  1598.  
  1599.  Txt.TextStrokeTransparency = .6
  1600. wait()
  1601.  Txt.TextStrokeTransparency = .7
  1602. wait()
  1603.  Txt.TextStrokeTransparency = .8
  1604. wait()
  1605.  Txt.TextStrokeTransparency = .9
  1606. wait()
  1607.  Txt.TextStrokeTransparency = 1
  1608. wait()
  1609.  
  1610.       for v = 1, #Txt.Text do
  1611.                         Txt.Text=string.sub(msg,-1,v)
  1612.  
  1613.  
  1614.              
  1615.  
  1616.  
  1617.  
  1618.  
  1619.    end;
  1620.                 Gui:remove()
  1621.         end)
  1622.         end
  1623. function onChatted(msg)
  1624.     Chat(msg)
  1625. end
  1626.  
  1627. Player.Chatted:connect(onChatted)
  1628. for e = 1, #BODY do
  1629.     if BODY[e] ~= nil then
  1630.         local STUFF = BODY[e]
  1631.         local PART = STUFF[1]
  1632.         local PARENT = STUFF[2]
  1633.         local MATERIAL = STUFF[3]
  1634.         local COLOR = STUFF[4]
  1635.         local TRANSPARENCY = STUFF[5]
  1636.         if PART.ClassName == "Part" and PART ~= RootPart then
  1637.             PART.Material = MATERIAL
  1638.             PART.Color = COLOR
  1639.             PART.Transparency = TRANSPARENCY
  1640.         end
  1641.         PART.AncestryChanged:Connect(function()
  1642.             PART.Parent = PARENT
  1643.         end)
  1644.     end
  1645. end
  1646. function refit()
  1647.     Character.Parent = workspace
  1648.     for e = 1, #BODY do
  1649.         if BODY[e] ~= nil then
  1650.             local STUFF = BODY[e]
  1651.             local PART = STUFF[1]
  1652.             local PARENT = STUFF[2]
  1653.             local MATERIAL = STUFF[3]
  1654.             local COLOR = STUFF[4]
  1655.             local TRANSPARENCY = STUFF[5]
  1656.             if PART.ClassName == "Part" and PART ~= RootPart then
  1657.                 PART.Material = MATERIAL
  1658.                 PART.Color = COLOR
  1659.                 PART.Transparency = TRANSPARENCY
  1660.             end
  1661.             if PART.Parent ~= PARENT then
  1662.                 Humanoid:remove()
  1663.                 PART.Parent = PARENT
  1664.                 Humanoid = IT("Humanoid",Character)
  1665.             end
  1666.         end
  1667.     end
  1668. end
  1669.  
  1670. Humanoid.Died:connect(function()
  1671.     refit()
  1672. end)
  1673. --//=================================\\
  1674. --\\=================================//
  1675.  
  1676.  
  1677. function unanchor()
  1678.     if UNANCHOR == true then
  1679.         g = Character:GetChildren()
  1680.         for i = 1, #g do
  1681.             if g[i].ClassName == "Part" then
  1682.                 g[i].Anchored = false
  1683.             end
  1684.         end
  1685.     end
  1686. end
  1687.  
  1688. local IN = Instance.new
  1689. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  1690.     local Sound = IN("Sound")
  1691.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  1692.     Sound.Pitch = pitch or 1
  1693.     Sound.Volume = volume or 1
  1694.     Sound.Looped = looped or false
  1695.     if(autoPlay)then
  1696.         coroutine.wrap(function()
  1697.             repeat wait() until Sound.IsLoaded
  1698.             Sound.Playing = autoPlay or false
  1699.         end)()
  1700.     end
  1701.     if(not looped and effect)then
  1702.         Sound.Stopped:connect(function()
  1703.             Sound.Volume = 0
  1704.             Sound:destroy()
  1705.         end)
  1706.     elseif(effect)then
  1707.         warn("Sound can't be looped and a sound effect!")
  1708.     end
  1709.     Sound.Parent =parent or Torso
  1710.     return Sound
  1711. end
  1712. --//=================================\\
  1713. --||    WRAP THE WHOLE SCRIPT UP
  1714. --\\=================================//
  1715.  
  1716. Humanoid.Changed:connect(function(Jump)
  1717.     if Jump == "Jump" and (Disable_Jump == true) then
  1718.         Humanoid.Jump = false
  1719.     end
  1720. end)
  1721.  
  1722. local CONNECT = nil
  1723.  
  1724. local MusicID = 168011922
  1725. local Music = Sound(char,MusicID,1,3,true,false,true)
  1726. Music.Name = 'Music'
  1727.  
  1728. while true do
  1729.     Swait()
  1730.     refit()
  1731.   if(not Music or not Music.Parent)then
  1732.         local tPos = 0
  1733.         pcall(function()tPos = Music.TimePosition; Music:destroy() end)
  1734.         Music = Sound(char,MusicID,1,10,true,false,true)
  1735.         Music.Name = 'Music'
  1736.         Music.TimePosition = tPos
  1737.     end
  1738.     ANIMATE.Parent = nil
  1739.     if Character:FindFirstChildOfClass("Humanoid") == nil then
  1740.         Humanoid = IT("Humanoid",Character)
  1741.     end
  1742.     for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1743.         v:Stop();
  1744.     end
  1745.     SINE = SINE + CHANGE
  1746.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1747.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1748.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1749.     local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1750.     if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1751.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1752.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1753.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1754.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1755.     elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1756.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1757.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1758.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1759.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1760.     end
  1761.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1762.         ANIM = "Jump"
  1763.         if ATTACK == false then
  1764.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1765.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1766.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1767.             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)
  1768.             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)
  1769.         end
  1770.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1771.         ANIM = "Fall"
  1772.         if ATTACK == false then
  1773.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1774.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1775.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1776.             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)
  1777.             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)
  1778.         end
  1779.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1780.         ANIM = "Idle"
  1781.         if ATTACK == false then
  1782.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  1783.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1784.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1785.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1786.         end
  1787.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1788.         ANIM = "Walk"
  1789.         if ATTACK == false then
  1790.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1791.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1792.             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)
  1793.             RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  1794.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  1795.         end
  1796.     end
  1797.     unanchor()
  1798.     Humanoid.MaxHealth = "inf"
  1799.     Humanoid.Health = "inf"
  1800.     if Rooted == false then
  1801.         Disable_Jump = false
  1802.         Humanoid.WalkSpeed = Speed
  1803.     elseif Rooted == true then
  1804.         Disable_Jump = true
  1805.         Humanoid.WalkSpeed = 0
  1806.     end
  1807. end
  1808.  
  1809. --//=================================\\
  1810. --\\=================================//
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816. --//====================================================\\--
  1817. --||                     END OF SCRIPT
  1818. --\\====================================================//--
Add Comment
Please, Sign In to add comment