Infintyboy

Lenny | A Roblox FE Script

Sep 22nd, 2018
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 139.70 KB | None | 0 0
  1. wait()
  2. print("uncledan.mp3 has loaded")
  3. wait()
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,game,owner = owner,game
  6. local RealPlayer = Player
  7. do
  8.     local rp = RealPlayer
  9.     script.Parent = rp.Character
  10.    
  11.     --RemoteEvent for communicating
  12.     local Event = Instance.new("RemoteEvent")
  13.     Event.Name = "UserInput_Event"
  14.  
  15.     --Fake event to make stuff like Mouse.KeyDown work
  16.     local function fakeEvent()
  17.         local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  18.         t.connect = t.Connect
  19.         return t
  20.     end
  21.  
  22.     --Creating fake input objects with fake variables
  23.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  24.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  25.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  26.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  27.     end}
  28.     --Merged 2 functions into one by checking amount of arguments
  29.     CAS.UnbindAction = CAS.BindAction
  30.  
  31.     --This function will trigger the events that have been :Connect()'ed
  32.     local function te(self,ev,...)
  33.         local t = m[ev]
  34.         if t and t._fakeEvent then
  35.             for _,f in pairs(t.Functions) do
  36.                 f(...)
  37.             end
  38.         end
  39.     end
  40.     m.TrigEvent = te
  41.     UIS.TrigEvent = te
  42.  
  43.     Event.OnServerEvent:Connect(function(plr,io)
  44.         if plr~=rp then return end
  45.         m.Target = io.Target
  46.         m.Hit = io.Hit
  47.         if not io.isMouse then
  48.             local b = io.UserInputState == Enum.UserInputState.Begin
  49.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  50.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  51.             end
  52.             for _,t in pairs(CAS.Actions) do
  53.                 for _,k in pairs(t.Keys) do
  54.                     if k==io.KeyCode then
  55.                         t.Function(t.Name,io.UserInputState,io)
  56.                     end
  57.                 end
  58.             end
  59.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  60.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  61.         end
  62.     end)
  63.     Event.Parent = NLS([==[
  64.     local Player = game:GetService("Players").LocalPlayer
  65.     local Event = script:WaitForChild("UserInput_Event")
  66.  
  67.     local Mouse = Player:GetMouse()
  68.     local UIS = game:GetService("UserInputService")
  69.     local input = function(io,a)
  70.         if a then return end
  71.         --Since InputObject is a client-side instance, we create and pass table instead
  72.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  73.     end
  74.     UIS.InputBegan:Connect(input)
  75.     UIS.InputEnded:Connect(input)
  76.  
  77.     local h,t
  78.     --Give the server mouse data 30 times every second, but only if the values changed
  79.     --If player is not moving their mouse, client won't fire events
  80.     while wait(1/30) do
  81.         if h~=Mouse.Hit or t~=Mouse.Target then
  82.             h,t=Mouse.Hit,Mouse.Target
  83.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  84.         end
  85.     end]==],Player.Character)
  86.  
  87.     ----Sandboxed game object that allows the usage of client-side methods and services
  88.     --Real game object
  89.     local _rg = game
  90.  
  91.     --Metatable for fake service
  92.     local fsmt = {
  93.         __index = function(self,k)
  94.             local s = rawget(self,"_RealService")
  95.             if s then return s[k] end
  96.         end,
  97.         __newindex = function(self,k,v)
  98.             local s = rawget(self,"_RealService")
  99.             if s then s[k]=v end
  100.         end,
  101.         __call = function(self,...)
  102.             local s = rawget(self,"_RealService")
  103.             if s then return s(...) end
  104.         end
  105.     }
  106.     local function FakeService(t,RealService)
  107.         t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  108.         return setmetatable(t,fsmt)
  109.     end
  110.  
  111.     --Fake game object
  112.     local g = {
  113.         GetService = function(self,s)
  114.             return self[s]
  115.         end,
  116.         Players = FakeService({
  117.             LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  118.         },"Players"),
  119.         UserInputService = FakeService(UIS,"UserInputService"),
  120.         ContextActionService = FakeService(CAS,"ContextActionService"),
  121.     }
  122.     rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  123.     g.service = g.GetService
  124.    
  125.     g.RunService = FakeService({
  126.         RenderStepped = _rg:GetService("RunService").Heartbeat,
  127.         BindToRenderStep = function(self,name,_,fun)
  128.             self._btrs[name] = self.Heartbeat:Connect(fun)
  129.         end,
  130.         UnbindFromRenderStep = function(self,name)
  131.             self._btrs[name]:Disconnect()
  132.         end,
  133.     },"RunService")
  134.  
  135.     setmetatable(g,{
  136.         __index=function(self,s)
  137.             return _rg:GetService(s) or typeof(_rg[s])=="function"
  138.             and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  139.         end,
  140.         __newindex = fsmt.__newindex,
  141.         __call = fsmt.__call
  142.     })
  143.     --Changing owner to fake player object to support owner:GetMouse()
  144.     game,owner = g,g.Players.LocalPlayer
  145. end
  146.  
  147. Player = owner
  148. PlayerGui = Player.PlayerGui
  149. Cam = workspace.CurrentCamera
  150. Backpack = Player.Backpack
  151. Character = Player.Character
  152. Humanoid = Character.Humanoid
  153. Mouse = Player:GetMouse()
  154. RootPart = Character["HumanoidRootPart"]
  155. Torso = Character["Torso"]
  156. Head = Character["Head"]
  157. RightArm = Character["Right Arm"]
  158. LeftArm = Character["Left Arm"]
  159. RightLeg = Character["Right Leg"]
  160. LeftLeg = Character["Left Leg"]
  161. RootJoint = RootPart["RootJoint"]
  162. Neck = Torso["Neck"]
  163. RightShoulder = Torso["Right Shoulder"]
  164. LeftShoulder = Torso["Left Shoulder"]
  165. RightHip = Torso["Right Hip"]
  166. LeftHip = Torso["Left Hip"]
  167.  
  168. Character = Player.Character
  169. Humanoid = Character.Humanoid
  170.  
  171. IT = Instance.new
  172. CF = CFrame.new
  173. VT = Vector3.new
  174. RAD = math.rad
  175. C3 = Color3.new
  176. UD2 = UDim2.new
  177. BRICKC = BrickColor.new
  178. ANGLES = CFrame.Angles
  179. EULER = CFrame.fromEulerAnglesXYZ
  180. COS = math.cos
  181. ACOS = math.acos
  182. SIN = math.sin
  183. ASIN = math.asin
  184. ABS = math.abs
  185. MRANDOM = math.random
  186. FLOOR = math.floor
  187.  
  188. --//=================================\\
  189. --||          USEFUL VALUES
  190. --\\=================================//
  191.  
  192. Animation_Speed = 3
  193. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  194. local Speed = 25
  195. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  196. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  197. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  198. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  199. local DAMAGEMULTIPLIER = 1
  200. local ANIM = "Idle"
  201. local ATTACK = false
  202. local EQUIPPED = false
  203. local HOLD = false
  204. local COMBO = 1
  205. local Rooted = false
  206. local SINE = 0
  207. local KEYHOLD = false
  208. local CHANGE = 2 / Animation_Speed
  209. local WALKINGANIM = false
  210. local VALUE1 = false
  211. local VALUE2 = false
  212. local ROBLOXIDLEANIMATION = IT("Animation")
  213. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  214. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  215. --ROBLOXIDLEANIMATION.Parent = Humanoid
  216. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  217. WEAPONGUI.Name = "Weapon GUI"
  218. local Effects = IT("Folder", Character)
  219. Effects.Name = "Effects"
  220. local ANIMATOR = Humanoid.Animator
  221. local ANIMATE = Character.Animate
  222. local UNANCHOR = true
  223. local PLAYMAINANIM = true
  224. local BOLTSOUNDS = {168586621,168586586,178452241}
  225.  
  226. --//=================================\\
  227. --\\=================================//
  228.  
  229. wait(1)
  230. plr = game.Players.LocalPlayer
  231. char = plr.Character
  232. mouse = plr:GetMouse()
  233. whitecolor = Color3.new(255,255,255)
  234. epicmode = false
  235. normal = true
  236. for i,v in pairs(char:GetChildren()) do
  237.    if v.ClassName == "Shirt" or v.ClassName == "Pants" or v.ClassName == "ShirtGraphic" then
  238.       v:Destroy()
  239.      end
  240. end
  241. local shirt = Instance.new("Shirt",char)
  242. shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=144423481"
  243. local pants = Instance.new("Pants",char)
  244. pants.PantsTemplate = "http://www.roblox.com/asset/?id=138981718"
  245. local bdycolors = char["Body Colors"]
  246. bdycolors.HeadColor3 = whitecolor
  247. bdycolors.LeftArmColor3 = whitecolor
  248. bdycolors.LeftLegColor3 = whitecolor
  249. bdycolors.RightArmColor3 = whitecolor
  250. bdycolors.RightLegColor3 = whitecolor
  251. bdycolors.TorsoColor3 = whitecolor
  252. for i,v in pairs(char:GetChildren()) do
  253.     if v.ClassName == "Hat" or v.ClassName == "Accessory" then
  254.         v:Destroy()
  255.     end
  256. end
  257. --//=================================\\
  258. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  259. --\\=================================//
  260.  
  261. ArtificialHB = Instance.new("BindableEvent", script)
  262. ArtificialHB.Name = "ArtificialHB"
  263.  
  264. script:WaitForChild("ArtificialHB")
  265.  
  266. frame = Frame_Speed
  267. tf = 0
  268. allowframeloss = false
  269. tossremainder = false
  270. lastframe = tick()
  271. script.ArtificialHB:Fire()
  272.  
  273. game:GetService("RunService").Heartbeat:connect(function(s, p)
  274.     tf = tf + s
  275.     if tf >= frame then
  276.         if allowframeloss then
  277.             script.ArtificialHB:Fire()
  278.             lastframe = tick()
  279.         else
  280.             for i = 1, math.floor(tf / frame) do
  281.                 script.ArtificialHB:Fire()
  282.             end
  283.         lastframe = tick()
  284.         end
  285.         if tossremainder then
  286.             tf = 0
  287.         else
  288.             tf = tf - frame * math.floor(tf / frame)
  289.         end
  290.     end
  291. end)
  292.  
  293. --//=================================\\
  294. --\\=================================//
  295.  
  296. --//=================================\\
  297. --||          SOME FUNCTIONS
  298. --\\=================================//
  299. -------1
  300. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  301.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  302. end
  303.  
  304. function PositiveAngle(NUMBER)
  305.     if NUMBER >= 0 then
  306.         NUMBER = 0
  307.     end
  308.     return NUMBER
  309. end
  310.  
  311. function NegativeAngle(NUMBER)
  312.     if NUMBER <= 0 then
  313.         NUMBER = 0
  314.     end
  315.     return NUMBER
  316. end
  317.  
  318. function Swait(NUMBER)
  319.     if NUMBER == 0 or NUMBER == nil then
  320.         ArtificialHB.Event:wait()
  321.     else
  322.         for i = 1, NUMBER do
  323.             ArtificialHB.Event:wait()
  324.         end
  325.     end
  326. end
  327.  
  328. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  329.     local NEWMESH = IT(MESH)
  330.     if MESH == "SpecialMesh" then
  331.         NEWMESH.MeshType = MESHTYPE
  332.         if MESHID ~= "nil" and MESHID ~= "" then
  333.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  334.         end
  335.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  336.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  337.         end
  338.     end
  339.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  340.     NEWMESH.Scale = SCALE
  341.     NEWMESH.Parent = PARENT
  342.     return NEWMESH
  343. end
  344.  
  345. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  346.     local NEWPART = IT("Part")
  347.     NEWPART.formFactor = FORMFACTOR
  348.     NEWPART.Reflectance = REFLECTANCE
  349.     NEWPART.Transparency = TRANSPARENCY
  350.     NEWPART.CanCollide = false
  351.     NEWPART.Locked = true
  352.     NEWPART.Anchored = true
  353.     if ANCHOR == false then
  354.         NEWPART.Anchored = false
  355.     end
  356.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  357.     NEWPART.Name = NAME
  358.     NEWPART.Size = SIZE
  359.     NEWPART.Position = Torso.Position
  360.     NEWPART.Material = MATERIAL
  361.     NEWPART:BreakJoints()
  362.     NEWPART.Parent = PARENT
  363.     return NEWPART
  364. end
  365.  
  366.     local function weldBetween(a, b)
  367.         local weldd = Instance.new("ManualWeld")
  368.         weldd.Part0 = a
  369.         weldd.Part1 = b
  370.         weldd.C0 = CFrame.new()
  371.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  372.         weldd.Parent = a
  373.         return weldd
  374.     end
  375.  
  376.  
  377. function QuaternionFromCFrame(cf)
  378.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  379.     local trace = m00 + m11 + m22
  380.     if trace > 0 then
  381.         local s = math.sqrt(1 + trace)
  382.         local recip = 0.5 / s
  383.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  384.     else
  385.         local i = 0
  386.         if m11 > m00 then
  387.             i = 1
  388.         end
  389.         if m22 > (i == 0 and m00 or m11) then
  390.             i = 2
  391.         end
  392.         if i == 0 then
  393.             local s = math.sqrt(m00 - m11 - m22 + 1)
  394.             local recip = 0.5 / s
  395.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  396.         elseif i == 1 then
  397.             local s = math.sqrt(m11 - m22 - m00 + 1)
  398.             local recip = 0.5 / s
  399.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  400.         elseif i == 2 then
  401.             local s = math.sqrt(m22 - m00 - m11 + 1)
  402.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  403.         end
  404.     end
  405. end
  406.  
  407. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  408.     local xs, ys, zs = x + x, y + y, z + z
  409.     local wx, wy, wz = w * xs, w * ys, w * zs
  410.     local xx = x * xs
  411.     local xy = x * ys
  412.     local xz = x * zs
  413.     local yy = y * ys
  414.     local yz = y * zs
  415.     local zz = z * zs
  416.     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))
  417. end
  418.  
  419. function QuaternionSlerp(a, b, t)
  420.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  421.     local startInterp, finishInterp;
  422.     if cosTheta >= 0.0001 then
  423.         if (1 - cosTheta) > 0.0001 then
  424.             local theta = ACOS(cosTheta)
  425.             local invSinTheta = 1 / SIN(theta)
  426.             startInterp = SIN((1 - t) * theta) * invSinTheta
  427.             finishInterp = SIN(t * theta) * invSinTheta
  428.         else
  429.             startInterp = 1 - t
  430.             finishInterp = t
  431.         end
  432.     else
  433.         if (1 + cosTheta) > 0.0001 then
  434.             local theta = ACOS(-cosTheta)
  435.             local invSinTheta = 1 / SIN(theta)
  436.             startInterp = SIN((t - 1) * theta) * invSinTheta
  437.             finishInterp = SIN(t * theta) * invSinTheta
  438.         else
  439.             startInterp = t - 1
  440.             finishInterp = t
  441.         end
  442.     end
  443.     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
  444. end
  445.  
  446. function Clerp(a, b, t)
  447.     local qa = {QuaternionFromCFrame(a)}
  448.     local qb = {QuaternionFromCFrame(b)}
  449.     local ax, ay, az = a.x, a.y, a.z
  450.     local bx, by, bz = b.x, b.y, b.z
  451.     local _t = 1 - t
  452.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  453. end
  454.  
  455. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  456.     local frame = IT("Frame")
  457.     frame.BackgroundTransparency = TRANSPARENCY
  458.     frame.BorderSizePixel = BORDERSIZEPIXEL
  459.     frame.Position = POSITION
  460.     frame.Size = SIZE
  461.     frame.BackgroundColor3 = COLOR
  462.     frame.BorderColor3 = BORDERCOLOR
  463.     frame.Name = NAME
  464.     frame.Parent = PARENT
  465.     return frame
  466. end
  467.  
  468. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  469.     local label = IT("TextLabel")
  470.     label.BackgroundTransparency = 1
  471.     label.Size = UD2(1, 0, 1, 0)
  472.     label.Position = UD2(0, 0, 0, 0)
  473.     label.TextColor3 = TEXTCOLOR
  474.     label.TextStrokeColor3 = BRICKC"Really white".Color
  475.     label.TextStrokeTransparency = STROKETRANSPARENCY
  476.     label.TextTransparency = TRANSPARENCY
  477.     label.FontSize = TEXTFONTSIZE
  478.     label.Font = TEXTFONT
  479.     label.BorderSizePixel = BORDERSIZEPIXEL
  480.     label.TextScaled = false
  481.     label.Text = TEXT
  482.     label.Name = NAME
  483.     label.Parent = PARENT
  484.     return label
  485. end
  486.  
  487. function NoOutlines(PART)
  488.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  489. end
  490.  
  491. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  492.     local NEWWELD = IT(TYPE)
  493.     NEWWELD.Part0 = PART0
  494.     NEWWELD.Part1 = PART1
  495.     NEWWELD.C0 = C0
  496.     NEWWELD.C1 = C1
  497.     NEWWELD.Parent = PARENT
  498.     return NEWWELD
  499. end
  500.  
  501. local S = IT("Sound")
  502. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  503.     local NEWSOUND = nil
  504.     coroutine.resume(coroutine.create(function()
  505.         NEWSOUND = S:Clone()
  506.         NEWSOUND.Parent = PARENT
  507.         NEWSOUND.Volume = VOLUME
  508.         NEWSOUND.Pitch = PITCH
  509.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  510.         NEWSOUND:play()
  511.         NEWSOUND.Name = "Audio"
  512.         if DOESLOOP == true then
  513.             NEWSOUND.Looped = true
  514.         else
  515.             repeat Swait() until NEWSOUND.Playing == false
  516.             NEWSOUND:remove()
  517.         end
  518.     end))
  519.     return NEWSOUND
  520. end
  521.  
  522. function CFrameFromTopBack(at, top, back)
  523.     local right = top:Cross(back)
  524.     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)
  525. end
  526.  
  527. --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})
  528. function WACKYEFFECT(Table)
  529.     local TYPE = (Table.EffectType or "Sphere")
  530.     local SIZE = (Table.Size or VT(1,1,1))
  531.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  532.     local TRANSPARENCY = (Table.Transparency or 0)
  533.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  534.     local CFRAME = (Table.CFrame or Torso.CFrame)
  535.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  536.     local ROTATION1 = (Table.RotationX or 0)
  537.     local ROTATION2 = (Table.RotationY or 0)
  538.     local ROTATION3 = (Table.RotationZ or 0)
  539.     local MATERIAL = (Table.Material or "Neon")
  540.     local COLOR = (Table.Color or C3(1,1,1))
  541.     local TIME = (Table.Time or 45)
  542.     local SOUNDID = (Table.SoundID or nil)
  543.     local SOUNDPITCH = (Table.SoundPitch or nil)
  544.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  545.     coroutine.resume(coroutine.create(function()
  546.         local PLAYSSOUND = false
  547.         local SOUND = nil
  548.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  549.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  550.             PLAYSSOUND = true
  551.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  552.         end
  553.         EFFECT.Color = COLOR
  554.         local MSH = nil
  555.         if TYPE == "Sphere" then
  556.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  557.         elseif TYPE == "Block" then
  558.             MSH = IT("BlockMesh",EFFECT)
  559.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  560.         elseif TYPE == "Box" then
  561.             MSH = IT("BlockMesh",EFFECT)
  562.             MSH.Scale = SIZE
  563.         elseif TYPE == "Wave" then
  564.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  565.         elseif TYPE == "Ring" then
  566.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  567.         elseif TYPE == "Slash" then
  568.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  569.         elseif TYPE == "Round Slash" then
  570.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  571.         elseif TYPE == "Swirl" then
  572.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  573.         elseif TYPE == "Skull" then
  574.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  575.         elseif TYPE == "Crystal" then
  576.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  577.         end
  578.         if MSH ~= nil then
  579.             local MOVESPEED = nil
  580.             if MOVEDIRECTION ~= nil then
  581.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  582.             end
  583.             local GROWTH = SIZE - ENDSIZE
  584.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  585.             if TYPE == "Block" then
  586.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  587.             else
  588.                 EFFECT.CFrame = CFRAME
  589.             end
  590.             for LOOP = 1, TIME do
  591.                 Swait()
  592.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  593.                 if TYPE == "Wave" then
  594.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  595.                 end
  596.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  597.                 if TYPE == "Block" then
  598.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  599.                 else
  600.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  601.                 end
  602.                 if MOVEDIRECTION ~= nil then
  603.                     local ORI = EFFECT.Orientation
  604.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  605.                     EFFECT.Orientation = ORI
  606.                 end
  607.             end
  608.             if PLAYSSOUND == false then
  609.                 EFFECT:remove()
  610.             else
  611.                 repeat Swait() until SOUND.Playing == false
  612.                 EFFECT:remove()
  613.             end
  614.         else
  615.             if PLAYSSOUND == false then
  616.                 EFFECT:remove()
  617.             else
  618.                 repeat Swait() until SOUND.Playing == false
  619.                 EFFECT:remove()
  620.             end
  621.         end
  622.     end))
  623. end
  624.  
  625. function Shatter(Part)
  626.     if Part.Transparency == 0 then
  627.         local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, Part.BrickColor, "OOF", VT(0,0,0))
  628.         Debris:AddItem(SOUNDPART,5)
  629.         CreateSound("84005018", SOUNDPART, 3, MRANDOM(8,12)/10, false)
  630.         local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
  631.         local SIZESET = SIZE/4
  632.         local XOffset = Part.Size.X*1.5/SIZESET
  633.         local YOffset = Part.Size.Y*1.5/SIZESET
  634.         local ZOffset = Part.Size.Z*1.5/SIZESET
  635.         for x = 1, math.ceil(XOffset) do
  636.             for y = 1, math.ceil(YOffset) do
  637.                 for z = 1, math.ceil(ZOffset) do
  638.                     local SHARD = CreatePart(3, Effects, "Neon", 0, 0, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
  639.                     SHARD.CanCollide = true
  640.                     SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-x/4),(Part.Size.Y/2-y/4),(Part.Size.Z/2-z/4))
  641.                     SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
  642.                     Debris:AddItem(SHARD,MRANDOM(10,25)/3)
  643.                 end
  644.             end
  645.         end
  646.     end
  647.     Part:remove()
  648. end
  649.  
  650. function MakeForm(PART,TYPE)
  651.     if TYPE == "Cyl" then
  652.         local MSH = IT("CylinderMesh",PART)
  653.     elseif TYPE == "Ball" then
  654.         local MSH = IT("SpecialMesh",PART)
  655.         MSH.MeshType = "Sphere"
  656.     elseif TYPE == "Wedge" then
  657.         local MSH = IT("SpecialMesh",PART)
  658.         MSH.MeshType = "Wedge"
  659.     end
  660. end
  661.  
  662. Debris = game:GetService("Debris")
  663.  
  664. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  665.     local DIRECTION = CF(StartPos,EndPos).lookVector
  666.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  667. end
  668.  
  669. function turnto(position)
  670.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  671. end
  672.  
  673. -------1
  674. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  675.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  676. end
  677.  
  678. function PositiveAngle(NUMBER)
  679.     if NUMBER >= 0 then
  680.         NUMBER = 0
  681.     end
  682.     return NUMBER
  683. end
  684.  
  685. function NegativeAngle(NUMBER)
  686.     if NUMBER <= 0 then
  687.         NUMBER = 0
  688.     end
  689.     return NUMBER
  690. end
  691.  
  692. function Swait(NUMBER)
  693.     if NUMBER == 0 or NUMBER == nil then
  694.         ArtificialHB.Event:wait()
  695.     else
  696.         for i = 1, NUMBER do
  697.             ArtificialHB.Event:wait()
  698.         end
  699.     end
  700. end
  701.  
  702. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  703.     local NEWMESH = IT(MESH)
  704.     if MESH == "SpecialMesh" then
  705.         NEWMESH.MeshType = MESHTYPE
  706.         if MESHID ~= "nil" and MESHID ~= "" then
  707.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  708.         end
  709.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  710.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  711.         end
  712.     end
  713.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  714.     NEWMESH.Scale = SCALE
  715.     NEWMESH.Parent = PARENT
  716.     return NEWMESH
  717. end
  718.  
  719. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  720.     local NEWPART = IT("Part")
  721.     NEWPART.formFactor = FORMFACTOR
  722.     NEWPART.Reflectance = REFLECTANCE
  723.     NEWPART.Transparency = TRANSPARENCY
  724.     NEWPART.CanCollide = false
  725.     NEWPART.Locked = true
  726.     NEWPART.Anchored = true
  727.     if ANCHOR == false then
  728.         NEWPART.Anchored = false
  729.     end
  730.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  731.     NEWPART.Name = NAME
  732.     NEWPART.Size = SIZE
  733.     NEWPART.Position = Torso.Position
  734.     NEWPART.Material = MATERIAL
  735.     NEWPART:BreakJoints()
  736.     NEWPART.Parent = PARENT
  737.     return NEWPART
  738. end
  739.  
  740.     local function weldBetween(a, b)
  741.         local weldd = Instance.new("ManualWeld")
  742.         weldd.Part0 = a
  743.         weldd.Part1 = b
  744.         weldd.C0 = CFrame.new()
  745.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  746.         weldd.Parent = a
  747.         return weldd
  748.     end
  749.  
  750.  
  751. function QuaternionFromCFrame(cf)
  752.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  753.     local trace = m00 + m11 + m22
  754.     if trace > 0 then
  755.         local s = math.sqrt(1 + trace)
  756.         local recip = 0.5 / s
  757.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  758.     else
  759.         local i = 0
  760.         if m11 > m00 then
  761.             i = 1
  762.         end
  763.         if m22 > (i == 0 and m00 or m11) then
  764.             i = 2
  765.         end
  766.         if i == 0 then
  767.             local s = math.sqrt(m00 - m11 - m22 + 1)
  768.             local recip = 0.5 / s
  769.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  770.         elseif i == 1 then
  771.             local s = math.sqrt(m11 - m22 - m00 + 1)
  772.             local recip = 0.5 / s
  773.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  774.         elseif i == 2 then
  775.             local s = math.sqrt(m22 - m00 - m11 + 1)
  776.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  777.         end
  778.     end
  779. end
  780.  
  781. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  782.     local xs, ys, zs = x + x, y + y, z + z
  783.     local wx, wy, wz = w * xs, w * ys, w * zs
  784.     local xx = x * xs
  785.     local xy = x * ys
  786.     local xz = x * zs
  787.     local yy = y * ys
  788.     local yz = y * zs
  789.     local zz = z * zs
  790.     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))
  791. end
  792.  
  793. function QuaternionSlerp(a, b, t)
  794.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  795.     local startInterp, finishInterp;
  796.     if cosTheta >= 0.0001 then
  797.         if (1 - cosTheta) > 0.0001 then
  798.             local theta = ACOS(cosTheta)
  799.             local invSinTheta = 1 / SIN(theta)
  800.             startInterp = SIN((1 - t) * theta) * invSinTheta
  801.             finishInterp = SIN(t * theta) * invSinTheta
  802.         else
  803.             startInterp = 1 - t
  804.             finishInterp = t
  805.         end
  806.     else
  807.         if (1 + cosTheta) > 0.0001 then
  808.             local theta = ACOS(-cosTheta)
  809.             local invSinTheta = 1 / SIN(theta)
  810.             startInterp = SIN((t - 1) * theta) * invSinTheta
  811.             finishInterp = SIN(t * theta) * invSinTheta
  812.         else
  813.             startInterp = t - 1
  814.             finishInterp = t
  815.         end
  816.     end
  817.     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
  818. end
  819.  
  820. function Clerp(a, b, t)
  821.     local qa = {QuaternionFromCFrame(a)}
  822.     local qb = {QuaternionFromCFrame(b)}
  823.     local ax, ay, az = a.x, a.y, a.z
  824.     local bx, by, bz = b.x, b.y, b.z
  825.     local _t = 1 - t
  826.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  827. end
  828.  
  829. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  830.     local frame = IT("Frame")
  831.     frame.BackgroundTransparency = TRANSPARENCY
  832.     frame.BorderSizePixel = BORDERSIZEPIXEL
  833.     frame.Position = POSITION
  834.     frame.Size = SIZE
  835.     frame.BackgroundColor3 = COLOR
  836.     frame.BorderColor3 = BORDERCOLOR
  837.     frame.Name = NAME
  838.     frame.Parent = PARENT
  839.     return frame
  840. end
  841.  
  842. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  843.     local label = IT("TextLabel")
  844.     label.BackgroundTransparency = 1
  845.     label.Size = UD2(1, 0, 1, 0)
  846.     label.Position = UD2(0, 0, 0, 0)
  847.     label.TextColor3 = TEXTCOLOR
  848.     label.TextStrokeTransparency = STROKETRANSPARENCY
  849.     label.TextTransparency = TRANSPARENCY
  850.     label.FontSize = TEXTFONTSIZE
  851.     label.Font = TEXTFONT
  852.     label.BorderSizePixel = BORDERSIZEPIXEL
  853.     label.TextScaled = false
  854.     label.Text = TEXT
  855.     label.Name = NAME
  856.     label.Parent = PARENT
  857.     return label
  858. end
  859.  
  860. function NoOutlines(PART)
  861.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  862. end
  863.  
  864. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  865.     local NEWWELD = IT(TYPE)
  866.     NEWWELD.Part0 = PART0
  867.     NEWWELD.Part1 = PART1
  868.     NEWWELD.C0 = C0
  869.     NEWWELD.C1 = C1
  870.     NEWWELD.Parent = PARENT
  871.     return NEWWELD
  872. end
  873.  
  874. local S = IT("Sound")
  875. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  876.     local NEWSOUND = nil
  877.     coroutine.resume(coroutine.create(function()
  878.         NEWSOUND = S:Clone()
  879.         NEWSOUND.Parent = PARENT
  880.         NEWSOUND.Volume = VOLUME
  881.         NEWSOUND.Pitch = PITCH
  882.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  883.         NEWSOUND:play()
  884.         if DOESLOOP == true then
  885.             NEWSOUND.Looped = true
  886.         else
  887.             repeat wait(1) until NEWSOUND.Playing == false
  888.             NEWSOUND:remove()
  889.         end
  890.     end))
  891.     return NEWSOUND
  892. end
  893.  
  894. local EyeSizes={
  895.     NumberSequenceKeypoint.new(0,2,0),
  896.     NumberSequenceKeypoint.new(1,0,0)
  897. }
  898. local EyeTrans={
  899.     NumberSequenceKeypoint.new(0,0.5,0),
  900.     NumberSequenceKeypoint.new(1,1,0)
  901. }
  902. local PE=Instance.new("ParticleEmitter",nil)
  903. PE.LightEmission=.8
  904. PE.Color = ColorSequence.new(BRICKC("white").Color,BRICKC("Really White").Color)
  905. PE.Size=NumberSequence.new(EyeSizes)
  906. PE.Transparency=NumberSequence.new(EyeTrans)
  907. PE.Lifetime=NumberRange.new(0.35,1)
  908. PE.Rotation=NumberRange.new(0,360)
  909. PE.Rate=100
  910. PE.VelocitySpread = 10000
  911. PE.Acceleration = Vector3.new(0,85,0)
  912. PE.Drag = 5
  913. PE.Speed = NumberRange.new(0.1,5)
  914. PE.Texture="http://www.roblox.com/asset/?id=1460745664"
  915. PE.ZOffset = 0.5
  916. PE.Name = "PE"
  917. PE.Enabled = false
  918.  
  919. function Fire(art)
  920.     local PARTICLES = PE:Clone()
  921.     PARTICLES.Parent = art
  922.     PARTICLES.Enabled = true
  923.     return PARTICLES
  924. end
  925.  
  926. function CFrameFromTopBack(at, top, back)
  927.     local right = top:Cross(back)
  928.     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)
  929. end
  930.  
  931. --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})
  932. function WACKYEFFECT(Table)
  933.     local TYPE = (Table.EffectType or "Sphere")
  934.     local SIZE = (Table.Size or VT(1,1,1))
  935.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  936.     local TRANSPARENCY = (Table.Transparency or 0)
  937.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  938.     local CFRAME = (Table.CFrame or Torso.CFrame)
  939.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  940.     local ROTATION1 = (Table.RotationX or 0)
  941.     local ROTATION2 = (Table.RotationY or 0)
  942.     local ROTATION3 = (Table.RotationZ or 0)
  943.     local MATERIAL = (Table.Material or "Neon")
  944.     local COLOR = (Table.Color or C3(255,255,255))
  945.     local TIME = (Table.Time or 45)
  946.     local SOUNDID = (Table.SoundID or nil)
  947.     local SOUNDPITCH = (Table.SoundPitch or nil)
  948.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  949.     coroutine.resume(coroutine.create(function()
  950.         local PLAYSSOUND = false
  951.         local SOUND = nil
  952.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Really black"), "Effect", VT(1,1,1), true)
  953.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  954.             PLAYSSOUND = true
  955.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  956.         end
  957.         EFFECT.Color = COLOR
  958.         local MSH = nil
  959.         if TYPE == "Sphere" then
  960.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  961.         elseif TYPE == "Block" or TYPE == "Box" then
  962.             MSH = IT("BlockMesh",EFFECT)
  963.             MSH.Scale = SIZE
  964.         elseif TYPE == "Wave" then
  965.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  966.         elseif TYPE == "Ring" then
  967.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  968.         elseif TYPE == "Slash" then
  969.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  970.         elseif TYPE == "Round Slash" then
  971.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  972.         elseif TYPE == "Swirl" then
  973.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  974.         elseif TYPE == "Skull" then
  975.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  976.         elseif TYPE == "Crystal" then
  977.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  978.         end
  979.         if MSH ~= nil then
  980.             local MOVESPEED = nil
  981.             if MOVEDIRECTION ~= nil then
  982.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  983.             end
  984.             local GROWTH = SIZE - ENDSIZE
  985.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  986.             if TYPE == "Block" then
  987.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  988.             else
  989.                 EFFECT.CFrame = CFRAME
  990.             end
  991.             for LOOP = 1, TIME+1 do
  992.                 Swait()
  993.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  994.                 if TYPE == "Wave" then
  995.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  996.                 end
  997.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  998.                 if TYPE == "Block" then
  999.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1000.                 else
  1001.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1002.                 end
  1003.                 if MOVEDIRECTION ~= nil then
  1004.                     local ORI = EFFECT.Orientation
  1005.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1006.                     EFFECT.Orientation = ORI
  1007.                 end
  1008.             end
  1009.             if PLAYSSOUND == false then
  1010.                 EFFECT:remove()
  1011.             else
  1012.                 repeat wait(1) until SOUND.Playing == false
  1013.                 EFFECT:remove()
  1014.             end
  1015.         else
  1016.             if PLAYSSOUND == false then
  1017.                 EFFECT:remove()
  1018.             else
  1019.                 repeat Swait() until SOUND.Playing == false
  1020.                 EFFECT:remove()
  1021.             end
  1022.         end
  1023.     end))
  1024. end
  1025.  
  1026. function MakeForm(PART,TYPE)
  1027.     if TYPE == "Cyl" then
  1028.         local MSH = IT("CylinderMesh",PART)
  1029.     elseif TYPE == "Ball" then
  1030.         local MSH = IT("SpecialMesh",PART)
  1031.         MSH.MeshType = "Sphere"
  1032.     elseif TYPE == "Wedge" then
  1033.         local MSH = IT("SpecialMesh",PART)
  1034.         MSH.MeshType = "Wedge"
  1035.     end
  1036. end
  1037.  
  1038. Debris = game:GetService("Debris")
  1039.  
  1040. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1041.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1042.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1043. end
  1044.  
  1045. local HATWELD = nil
  1046. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  1047.     PLAYMAINANIM = false
  1048.     if WhichPose == "Cast1" then
  1049.         for i=0, Time, 0.1 / Animation_Speed do
  1050.             Swait()
  1051.             if Magic == true then
  1052.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1053.             end
  1054.             if Gyro ~= nil and Gyro ~= false then
  1055.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1056.             end
  1057.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  1058.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  1059.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1060.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1061.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1062.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1063.         end
  1064.     elseif WhichPose == "Cast2" then
  1065.         for i=0, Time, 0.1 / Animation_Speed do
  1066.             Swait()
  1067.             if Magic == true then
  1068.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1069.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1070.             end
  1071.             if Gyro ~= nil and Gyro ~= false then
  1072.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1073.             end
  1074.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1075.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1076.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1077.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1078.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1079.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1080.         end
  1081.     elseif WhichPose == "RightArmUp" then
  1082.         for i=0, Time, 0.1 / Animation_Speed do
  1083.             Swait()
  1084.             if Magic == true then
  1085.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1086.             end
  1087.             if Gyro ~= nil and Gyro ~= false then
  1088.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1089.             end
  1090.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  1091.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1092.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1093.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1094.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1095.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1096.         end
  1097.     elseif WhichPose == "Taunt" then
  1098.         for i=0, Time, 0.1 / Animation_Speed do
  1099.             Swait()
  1100.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1101.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1102.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1103.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1104.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1105.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1106.         end
  1107.  
  1108.         CreateSound(1466932232,Torso,10,1,false)
  1109.         for i=0, Time*2, 0.1 / Animation_Speed do
  1110.             Swait()
  1111.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1112.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1113.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1114.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1115.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1116.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1117.         end
  1118.         for i=0, Time, 0.1 / Animation_Speed do
  1119.             Swait()
  1120.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1121.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  1122.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1123.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1124.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1125.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1126.  
  1127.         end
  1128.  
  1129.     elseif WhichPose == "Prepare key" then
  1130.         for i=0, Time, 0.1 / Animation_Speed do
  1131.             Swait()
  1132.             if Gyro ~= nil and Gyro ~= false then
  1133.                 Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1134.             end
  1135.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  1136.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  1137.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1138.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1139.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1140.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1141.         end
  1142.     elseif WhichPose == "Turn key" then
  1143.         for i=0, Time, 0.1 / Animation_Speed do
  1144.             Swait()
  1145.             if Gyro ~= nil and Gyro ~= false then
  1146.                 Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1147.             end
  1148.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  1149.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  1150.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1151.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1152.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1153.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1154.         end
  1155.     end
  1156.     PLAYMAINANIM = true
  1157. end
  1158.  
  1159. --Lightning({Color = C3(255,255,255), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
  1160. function Lightning(Table)
  1161.     local Color = Table.Color or C3(255,255,255)
  1162.     local StartPos = Table.Start or Torso.Position
  1163.     local EndPos = Table.End or Mouse.Hit.p
  1164.     local SegmentLength = Table.SegmentL or 2
  1165.     local Thickness = Table.Thickness or 0.1
  1166.     local Dissapear = Table.DoesFade or false
  1167.     local Parent = Table.Ignore or Character
  1168.     local MaxDist = Table.MaxDist or 400
  1169.     local Branches = Table.Branches or false
  1170.     local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  1171.     local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  1172.     local LIGHTNINGMODEL = IT("Model",Effects)
  1173.     LIGHTNINGMODEL.Name = "Lightning"
  1174.     local LastBolt = nil
  1175.     for E = 1, DISTANCE do
  1176.         local ExtraSize = (DISTANCE-E)/15
  1177.         local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Really black"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  1178.         PART.Color = Color
  1179.         MakeForm(PART,"Cyl")
  1180.         if LastBolt == nil then
  1181.             PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1182.         else
  1183.             PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1184.         end
  1185.         LastBolt = PART
  1186.         if Branches == true then
  1187.             local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  1188.             if CHOICE == 1 then
  1189.                 local LASTBRANCH = nil
  1190.                 for i = 1, MRANDOM(2,5) do
  1191.                     local ExtraSize2 = ((DISTANCE-E)/25)/i
  1192.                     local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Really black"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  1193.                     PART.Color = Color
  1194.                     MakeForm(PART,"Cyl")
  1195.                     if LASTBRANCH == nil then
  1196.                         PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1197.                     else
  1198.                         PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1199.                     end
  1200.                     LASTBRANCH = PART
  1201.                 end
  1202.             end
  1203.         end
  1204.     end
  1205.     if Dissapear == true then
  1206.         coroutine.resume(coroutine.create(function()
  1207.             for i = 1, 10 do
  1208.                 Swait()
  1209.                 for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  1210.                     if c.ClassName == "Part" then
  1211.                         c.Transparency = i/10
  1212.                     end
  1213.                 end
  1214.             end
  1215.             LIGHTNINGMODEL:remove()
  1216.         end))
  1217.     elseif Dissapear == false then
  1218.         Debris:AddItem(LIGHTNINGMODEL,0.1)
  1219.     end
  1220.     return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  1221. end
  1222.  
  1223. --//=================================\\
  1224. --||         WEAPON CREATION
  1225. --\\=================================//
  1226. -------
  1227. ----
  1228. Humanoid.DisplayDistanceType = "None"
  1229. local naeeym2 = IT("BillboardGui",Character)
  1230. naeeym2.AlwaysOnTop = true
  1231. naeeym2.Size = UDim2.new(5,35,2,15)
  1232. naeeym2.StudsOffset = Vector3.new(0,2,0)
  1233. naeeym2.MaxDistance = 75
  1234. naeeym2.Adornee = Character.Head
  1235. naeeym2.Name = "Name"
  1236. local tecks2 = IT("TextLabel",naeeym2)
  1237. tecks2.BackgroundTransparency = 1
  1238. tecks2.TextScaled = true
  1239. tecks2.BorderSizePixel = 0
  1240. tecks2.Text = ""
  1241. tecks2.Font = "Fantasy"
  1242. tecks2.TextSize = 30
  1243. tecks2.TextStrokeTransparency = 0
  1244. tecks2.TextColor3 = C3(0,0,0)
  1245. tecks2.TextStrokeColor3 = C3(0,0,0)
  1246. tecks2.Size = UDim2.new(1,0,0.5,0)
  1247. tecks2.Parent = naeeym2
  1248. local top = Instance.new("Shirt")
  1249. top.ShirtTemplate = "rbxassetid://0"
  1250. top.Parent = Character
  1251. top.Name = "Cloth"
  1252. local bottom = Instance.new("Pants")
  1253. bottom.PantsTemplate = "rbxassetid://0"
  1254. bottom.Parent = Character
  1255. bottom.Name = "Cloth"
  1256. ---------------------
  1257. if Character:FindFirstChildOfClass("Accessory") then
  1258.     Character:FindFirstChildOfClass("Accessory"):remove()
  1259. elseif Character:FindFirstChildOfClass("Hat") then
  1260.     Character:FindFirstChildOfClass("Hat"):remove()
  1261. end
  1262. if Head:FindFirstChild("face") then
  1263.     Head.face.Texture = "rbxassetid://"
  1264. end
  1265.  
  1266. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Hood", VT(1,1,1),false)
  1267. PRT.Color = C3(255,255,255)
  1268. local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
  1269. CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
  1270. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Scarf", VT(1,1,1),false)
  1271. PRT.Color = C3(255,255,255)
  1272. CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
  1273. CreateMesh("SpecialMesh", PRT, "FileMesh", "99856331", "", VT(1.1,1,1.1), VT(0,0,0))
  1274.  
  1275. local LASTPART = Head
  1276. for i = 1, 20 do
  1277.     local MATH = (1-(i/25))
  1278.     if LASTPART == Head then
  1279.         local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1280.         CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
  1281.         LASTPART = Horn
  1282.         Horn.Color = C3((i*3-3)/255,255,255)
  1283.     else
  1284.         local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1285.         CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
  1286.         LASTPART = Horn
  1287.         Horn.Color = C3((i*3-3)/255,255,255)
  1288.     end
  1289. end
  1290. local LASTPART = Head
  1291. for i = 1, 20 do
  1292.     local MATH = (1-(i/25))
  1293.     if LASTPART == Head then
  1294.         local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1295.         CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(-15), RAD(15)), CF(0, 0, 0))
  1296.         LASTPART = Horn
  1297.         Horn.Color = C3((i*3-3)/255,255,255)
  1298.     else
  1299.         local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1300.         CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(0.3), RAD(0)), CF(0, 0, 0))
  1301.         LASTPART = Horn
  1302.         Horn.Color = C3((i*3-3)/255,255,255)
  1303.     end
  1304. end
  1305.  
  1306. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Teal", "Eye", VT(0.6,0.1,1)/2,false)
  1307. MakeForm(Eye,"Ball")
  1308. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
  1309. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Teal", "Eye", VT(0.6,0.1,1)/2,false)
  1310. MakeForm(Eye,"Ball")
  1311. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
  1312. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Teal", "Eye", VT(0.1,1,1)/2,false)
  1313. MakeForm(Eye,"Ball")
  1314. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
  1315. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Teal", "Eye", VT(0.1,1,1)/2,false)
  1316. MakeForm(Eye,"Ball")
  1317. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
  1318.  
  1319. for _, c in pairs(Character:GetDescendants()) do
  1320.     if c and c.Parent then
  1321.         if c.Name == "Handle" and c.Parent.ClassName == "Accessory" then
  1322.             local ACCESSORY = c.Parent
  1323.             c.Parent = Character
  1324.             if c then
  1325.                 if c:FindFirstChild("HatAttachment") or c:FindFirstChild("FaceFrontAttachment") or c:FindFirstChild("HairAttachment") then
  1326.                     weldBetween(Head,c)
  1327.                 else
  1328.                     weldBetween(Torso,c)
  1329.                 end
  1330.             end
  1331.             ACCESSORY:remove()
  1332.         elseif c.Parent.ClassName ~= "Accessory" and c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1333.             c.Material = "Neon"
  1334.             c.Color = C3(255,255,255)
  1335.             if c:FindFirstChildOfClass("SpecialMesh") then
  1336.                 c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1337.             end
  1338.             if c == Head then
  1339.                 if c:FindFirstChild("face") then
  1340.                     c.face:remove()
  1341.                 end
  1342.             end
  1343.         elseif c.ClassName == "Part" and c.Name == "Eye" then
  1344.             c.Color = C3(255,255,255)
  1345.             c.Material = "Neon"
  1346.         elseif c.ClassName == "CharacterMesh" or c.Name == "Body Colors" then
  1347.             c:remove()
  1348.         elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  1349.  
  1350.         end
  1351.     end
  1352. end
  1353.  
  1354. z = Instance.new("Sound", char)
  1355. z.SoundId = "rbxassetid://0"
  1356. z.Looped = true
  1357. z.Pitch = 1
  1358. z.Volume = 1
  1359. wait(.01)
  1360. z:Play()
  1361. ------------------------
  1362. wait(0.2)
  1363. local plr = game:service'Players'.LocalPlayer
  1364. local char = plr.Character
  1365. local hum = char.Humanoid
  1366. local hed = char.Head
  1367. local root = char.HumanoidRootPart
  1368. local rootj = root.RootJoint
  1369. local tors = char.Torso
  1370. local ra = char["Right Arm"]
  1371. local la = char["Left Arm"]
  1372. local rl = char["Right Leg"]
  1373. local ll = char["Left Leg"]
  1374. local neck = tors["Neck"]
  1375. local mouse = plr:GetMouse()
  1376. local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
  1377. local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
  1378. local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
  1379. local maincolor = BrickColor.new("Institutional white")
  1380.  
  1381. -------------------------------------------------------
  1382. --Start Good Stuff--
  1383. -------------------------------------------------------
  1384. cam = game.Workspace.CurrentCamera
  1385. CF = CFrame.new
  1386. angles = CFrame.Angles
  1387. attack = false
  1388. Euler = CFrame.fromEulerAnglesXYZ
  1389. Rad = math.rad
  1390. IT = Instance.new
  1391. BrickC = BrickColor.new
  1392. Cos = math.cos
  1393. Acos = math.acos
  1394. Sin = math.sin
  1395. Asin = math.asin
  1396. Abs = math.abs
  1397. Mrandom = math.random
  1398. Floor = math.floor
  1399. -------------------------------------------------------
  1400. --End Good Stuff--
  1401. -------------------------------------------------------
  1402. necko = CF(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  1403. RSH, LSH = nil, nil
  1404. RW = Instance.new("Weld")
  1405. LW = Instance.new("Weld")
  1406. RH = tors["Right Hip"]
  1407. LH = tors["Left Hip"]
  1408. RSH = tors["Right Shoulder"]
  1409. LSH = tors["Left Shoulder"]
  1410. RSH.Parent = nil
  1411. LSH.Parent = nil
  1412. RW.Name = "RW"
  1413. RW.Part0 = tors
  1414. RW.C0 = CF(1.5, 0.5, 0)
  1415. RW.C1 = CF(0, 0.5, 0)
  1416. RW.Part1 = ra
  1417. RW.Parent = tors
  1418. LW.Name = "LW"
  1419. LW.Part0 = tors
  1420. LW.C0 = CF(-1.5, 0.5, 0)
  1421. LW.C1 = CF(0, 0.5, 0)
  1422. LW.Part1 = la
  1423. LW.Parent = tors
  1424. Effects = {}
  1425. -------------------------------------------------------
  1426. --Start HeartBeat--
  1427. -------------------------------------------------------
  1428. ArtificialHB = Instance.new("BindableEvent", script)
  1429. ArtificialHB.Name = "Heartbeat"
  1430. script:WaitForChild("Heartbeat")
  1431.  
  1432. frame = 1 / 60
  1433. tf = 0
  1434. allowframeloss = false
  1435. tossremainder = false
  1436.  
  1437.  
  1438. lastframe = tick()
  1439. script.Heartbeat:Fire()
  1440.  
  1441.  
  1442. game:GetService("RunService").Heartbeat:connect(function(s, p)
  1443.     tf = tf + s
  1444.     if tf >= frame then
  1445.         if allowframeloss then
  1446.             script.Heartbeat:Fire()
  1447.             lastframe = tick()
  1448.         else
  1449.             for i = 1, math.floor(tf / frame) do
  1450.                 script.Heartbeat:Fire()
  1451.             end
  1452.             lastframe = tick()
  1453.         end
  1454.         if tossremainder then
  1455.             tf = 0
  1456.         else
  1457.             tf = tf - frame * math.floor(tf / frame)
  1458.         end
  1459.     end
  1460. end)
  1461. -------------------------------------------------------
  1462. --End HeartBeat--
  1463. -------------------------------------------------------
  1464.  
  1465. -------------------------------------------------------
  1466. --Start Important Functions--
  1467. -------------------------------------------------------
  1468. function swait(num)
  1469.     if num == 0 or num == nil then
  1470.         game:service("RunService").Stepped:wait(0)
  1471.     else
  1472.         for i = 0, num do
  1473.             game:service("RunService").Stepped:wait(0)
  1474.         end
  1475.     end
  1476. end
  1477. function thread(f)
  1478.     coroutine.resume(coroutine.create(f))
  1479. end
  1480. function clerp(a, b, t)
  1481.     local qa = {
  1482.         QuaternionFromCFrame(a)
  1483.     }
  1484.     local qb = {
  1485.         QuaternionFromCFrame(b)
  1486.     }
  1487.     local ax, ay, az = a.x, a.y, a.z
  1488.     local bx, by, bz = b.x, b.y, b.z
  1489.     local _t = 1 - t
  1490.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1491. end
  1492. function QuaternionFromCFrame(cf)
  1493.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1494.     local trace = m00 + m11 + m22
  1495.     if trace > 0 then
  1496.         local s = math.sqrt(1 + trace)
  1497.         local recip = 0.5 / s
  1498.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1499.     else
  1500.         local i = 0
  1501.         if m00 < m11 then
  1502.             i = 1
  1503.         end
  1504.         if m22 > (i == 0 and m00 or m11) then
  1505.             i = 2
  1506.         end
  1507.         if i == 0 then
  1508.             local s = math.sqrt(m00 - m11 - m22 + 1)
  1509.             local recip = 0.5 / s
  1510.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1511.         elseif i == 1 then
  1512.             local s = math.sqrt(m11 - m22 - m00 + 1)
  1513.             local recip = 0.5 / s
  1514.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1515.         elseif i == 2 then
  1516.             local s = math.sqrt(m22 - m00 - m11 + 1)
  1517.             local recip = 0.5 / s
  1518.             return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1519.         end
  1520.     end
  1521. end
  1522. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1523.     local xs, ys, zs = x + x, y + y, z + z
  1524.     local wx, wy, wz = w * xs, w * ys, w * zs
  1525.     local xx = x * xs
  1526.     local xy = x * ys
  1527.     local xz = x * zs
  1528.     local yy = y * ys
  1529.     local yz = y * zs
  1530.     local zz = z * zs
  1531.     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))
  1532. end
  1533. function QuaternionSlerp(a, b, t)
  1534.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1535.     local startInterp, finishInterp
  1536.     if cosTheta >= 1.0E-4 then
  1537.         if 1 - cosTheta > 1.0E-4 then
  1538.             local theta = math.acos(cosTheta)
  1539.             local invSinTheta = 1 / Sin(theta)
  1540.             startInterp = Sin((1 - t) * theta) * invSinTheta
  1541.             finishInterp = Sin(t * theta) * invSinTheta
  1542.         else
  1543.             startInterp = 1 - t
  1544.             finishInterp = t
  1545.         end
  1546.     elseif 1 + cosTheta > 1.0E-4 then
  1547.         local theta = math.acos(-cosTheta)
  1548.         local invSinTheta = 1 / Sin(theta)
  1549.         startInterp = Sin((t - 1) * theta) * invSinTheta
  1550.         finishInterp = Sin(t * theta) * invSinTheta
  1551.     else
  1552.         startInterp = t - 1
  1553.         finishInterp = t
  1554.     end
  1555.     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
  1556. end
  1557. function rayCast(Position, Direction, Range, Ignore)
  1558.     return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
  1559. end
  1560. local RbxUtility = LoadLibrary("RbxUtility")
  1561. local Create = RbxUtility.Create
  1562.  
  1563.  
  1564.  
  1565. function swait(num)
  1566.     if num == 0 or num == nil then
  1567.         game:service("RunService").Stepped:wait(0)
  1568.     else
  1569.         for i = 0, num do
  1570.             game:service("RunService").Stepped:wait(0)
  1571.         end
  1572.     end
  1573. end
  1574. function thread(f)
  1575.     coroutine.resume(coroutine.create(f))
  1576. end
  1577. function clerp(a, b, t)
  1578.     local qa = {
  1579.         QuaternionFromCFrame(a)
  1580.     }
  1581.     local qb = {
  1582.         QuaternionFromCFrame(b)
  1583.     }
  1584.     local ax, ay, az = a.x, a.y, a.z
  1585.     local bx, by, bz = b.x, b.y, b.z
  1586.     local _t = 1 - t
  1587.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1588. end
  1589. function QuaternionFromCFrame(cf)
  1590.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1591.     local trace = m00 + m11 + m22
  1592.     if trace > 0 then
  1593.         local s = math.sqrt(1 + trace)
  1594.         local recip = 0.5 / s
  1595.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1596.     else
  1597.         local i = 0
  1598.         if m00 < m11 then
  1599.             i = 1
  1600.         end
  1601.         if m22 > (i == 0 and m00 or m11) then
  1602.             i = 2
  1603.         end
  1604.         if i == 0 then
  1605.             local s = math.sqrt(m00 - m11 - m22 + 1)
  1606.             local recip = 0.5 / s
  1607.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1608.         elseif i == 1 then
  1609.             local s = math.sqrt(m11 - m22 - m00 + 1)
  1610.             local recip = 0.5 / s
  1611.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1612.         elseif i == 2 then
  1613.             local s = math.sqrt(m22 - m00 - m11 + 1)
  1614.             local recip = 0.5 / s
  1615.             return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1616.         end
  1617.     end
  1618. end
  1619. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1620.     local xs, ys, zs = x + x, y + y, z + z
  1621.     local wx, wy, wz = w * xs, w * ys, w * zs
  1622.     local xx = x * xs
  1623.     local xy = x * ys
  1624.     local xz = x * zs
  1625.     local yy = y * ys
  1626.     local yz = y * zs
  1627.     local zz = z * zs
  1628.     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))
  1629. end
  1630. function QuaternionSlerp(a, b, t)
  1631.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1632.     local startInterp, finishInterp
  1633.     if cosTheta >= 1.0E-4 then
  1634.         if 1 - cosTheta > 1.0E-4 then
  1635.             local theta = math.acos(cosTheta)
  1636.             local invSinTheta = 1 / Sin(theta)
  1637.             startInterp = Sin((1 - t) * theta) * invSinTheta
  1638.             finishInterp = Sin(t * theta) * invSinTheta
  1639.         else
  1640.             startInterp = 1 - t
  1641.             finishInterp = t
  1642.         end
  1643.     elseif 1 + cosTheta > 1.0E-4 then
  1644.         local theta = math.acos(-cosTheta)
  1645.         local invSinTheta = 1 / Sin(theta)
  1646.         startInterp = Sin((t - 1) * theta) * invSinTheta
  1647.         finishInterp = Sin(t * theta) * invSinTheta
  1648.     else
  1649.         startInterp = t - 1
  1650.         finishInterp = t
  1651.     end
  1652.     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
  1653. end
  1654. function rayCast(Position, Direction, Range, Ignore)
  1655.     return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
  1656. end
  1657. local RbxUtility = LoadLibrary("RbxUtility")
  1658. local Create = RbxUtility.Create
  1659. -------------------------------------------------------
  1660. --Start Damage Function--
  1661. -------------------------------------------------------
  1662. function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
  1663.     if hit.Parent == nil then
  1664.         return
  1665.     end
  1666.     local h = hit.Parent:FindFirstChildOfClass("Humanoid")
  1667.     for _, v in pairs(hit.Parent:children()) do
  1668.         if v:IsA("Humanoid") then
  1669.             h = v
  1670.         end
  1671.     end
  1672.          if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("UpperTorso") ~= nil then
  1673.    
  1674.          hit.Parent:FindFirstChild("Head"):BreakJoints()
  1675.          end
  1676.  
  1677.     if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
  1678.         if hit.Parent:findFirstChild("DebounceHit") ~= nil then
  1679.             if hit.Parent.DebounceHit.Value == true then
  1680.                 return
  1681.             end
  1682.         end
  1683.          if insta == true then
  1684.          hit.Parent:FindFirstChild("Head"):BreakJoints()
  1685.          end
  1686.         local c = Create("ObjectValue"){
  1687.             Name = "creator",
  1688.             Value = game:service("Players").LocalPlayer,
  1689.             Parent = h,
  1690.         }
  1691.         game:GetService("Debris"):AddItem(c, .5)
  1692.         if HitSound ~= nil and HitPitch ~= nil then
  1693.             CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
  1694.         end
  1695.         local Damage = math.random(minim, maxim)
  1696.         local blocked = false
  1697.         local block = hit.Parent:findFirstChild("Block")
  1698.         if block ~= nil then
  1699.             if block.className == "IntValue" then
  1700.                 if block.Value > 0 then
  1701.                     blocked = true
  1702.                     block.Value = block.Value - 1
  1703.                     print(block.Value)
  1704.                 end
  1705.             end
  1706.         end
  1707.         if blocked == false then
  1708.             h.Health = h.Health - Damage
  1709.             ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
  1710.         else
  1711.             h.Health = h.Health - (Damage / 2)
  1712.             ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
  1713.         end
  1714.         if Type == "Knockdown" then
  1715.             local hum = hit.Parent.Humanoid
  1716.             hum.PlatformStand = true
  1717.             coroutine.resume(coroutine.create(function(HHumanoid)
  1718.                 swait(1)
  1719.                 HHumanoid.PlatformStand = false
  1720.             end), hum)
  1721.             local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
  1722.             local bodvol = Create("BodyVelocity"){
  1723.                 velocity = angle * knockback,
  1724.                 P = 5000,
  1725.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1726.                 Parent = hit,
  1727.             }
  1728.             local rl = Create("BodyAngularVelocity"){
  1729.                 P = 3000,
  1730.                 maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  1731.                 angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  1732.                 Parent = hit,
  1733.             }
  1734.             game:GetService("Debris"):AddItem(bodvol, .5)
  1735.             game:GetService("Debris"):AddItem(rl, .5)
  1736.         elseif Type == "Normal" then
  1737.             local vp = Create("BodyVelocity"){
  1738.                 P = 500,
  1739.                 maxForce = Vector3.new(math.huge, 0, math.huge),
  1740.                 velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
  1741.             }
  1742.             if knockback > 0 then
  1743.                 vp.Parent = hit.Parent.Torso
  1744.             end
  1745.             game:GetService("Debris"):AddItem(vp, .5)
  1746.         elseif Type == "Up" then
  1747.             local bodyVelocity = Create("BodyVelocity"){
  1748.                 velocity = Vector3.new(0, 20, 0),
  1749.                 P = 5000,
  1750.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1751.                 Parent = hit,
  1752.             }
  1753.             game:GetService("Debris"):AddItem(bodyVelocity, .5)
  1754.         elseif Type == "DarkUp" then
  1755.             coroutine.resume(coroutine.create(function()
  1756.                 for i = 0, 1, 0.1 do
  1757.                     swait()
  1758.                     Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
  1759.                 end
  1760.             end))
  1761.             local bodyVelocity = Create("BodyVelocity"){
  1762.                 velocity = Vector3.new(0, 20, 0),
  1763.                 P = 5000,
  1764.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1765.                 Parent = hit,
  1766.             }
  1767.             game:GetService("Debris"):AddItem(bodyVelocity, 1)
  1768.         elseif Type == "Snare" then
  1769.             local bp = Create("BodyPosition"){
  1770.                 P = 2000,
  1771.                 D = 100,
  1772.                 maxForce = Vector3.new(math.huge, math.huge, math.huge),
  1773.                 position = hit.Parent.Torso.Position,
  1774.                 Parent = hit.Parent.Torso,
  1775.             }
  1776.             game:GetService("Debris"):AddItem(bp, 1)
  1777.         elseif Type == "Freeze" then
  1778.             local BodPos = Create("BodyPosition"){
  1779.                 P = 50000,
  1780.                 D = 1000,
  1781.                 maxForce = Vector3.new(math.huge, math.huge, math.huge),
  1782.                 position = hit.Parent.Torso.Position,
  1783.                 Parent = hit.Parent.Torso,
  1784.             }
  1785.             local BodGy = Create("BodyGyro") {
  1786.                 maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
  1787.                 P = 20e+003,
  1788.                 Parent = hit.Parent.Torso,
  1789.                 cframe = hit.Parent.Torso.CFrame,
  1790.             }
  1791.             hit.Parent.Torso.Anchored = true
  1792.             coroutine.resume(coroutine.create(function(Part)
  1793.                 swait(1.5)
  1794.                 Part.Anchored = false
  1795.             end), hit.Parent.Torso)
  1796.             game:GetService("Debris"):AddItem(BodPos, 3)
  1797.             game:GetService("Debris"):AddItem(BodGy, 3)
  1798.         end
  1799.         local debounce = Create("BoolValue"){
  1800.             Name = "DebounceHit",
  1801.             Parent = hit.Parent,
  1802.             Value = true,
  1803.         }
  1804.         game:GetService("Debris"):AddItem(debounce, Delay)
  1805.         c = Create("ObjectValue"){
  1806.             Name = "creator",
  1807.             Value = Player,
  1808.             Parent = h,
  1809.         }
  1810.         game:GetService("Debris"):AddItem(c, .5)
  1811.     end
  1812. end
  1813. -------------------------------------------------------
  1814. --Start Damage Function--
  1815. -------------------------------------------------------
  1816. function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
  1817.     if hit.Parent == nil then
  1818.         return
  1819.     end
  1820.     local h = hit.Parent:FindFirstChildOfClass("Humanoid")
  1821.     for _, v in pairs(hit.Parent:children()) do
  1822.         if v:IsA("Humanoid") then
  1823.             h = v
  1824.         end
  1825.     end
  1826.          if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("UpperTorso") ~= nil then
  1827.    
  1828.          hit.Parent:FindFirstChild("Head"):BreakJoints()
  1829.          end
  1830.  
  1831.     if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
  1832.         if hit.Parent:findFirstChild("DebounceHit") ~= nil then
  1833.             if hit.Parent.DebounceHit.Value == true then
  1834.                 return
  1835.             end
  1836.         end
  1837.          if insta == true then
  1838.          hit.Parent:FindFirstChild("Head"):BreakJoints()
  1839.          end
  1840.         local c = Create("ObjectValue"){
  1841.             Name = "creator",
  1842.             Value = game:service("Players").LocalPlayer,
  1843.             Parent = h,
  1844.         }
  1845.         game:GetService("Debris"):AddItem(c, .5)
  1846.         if HitSound ~= nil and HitPitch ~= nil then
  1847.             CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
  1848.         end
  1849.         local Damage = math.random(minim, maxim)
  1850.         local blocked = false
  1851.         local block = hit.Parent:findFirstChild("Block")
  1852.         if block ~= nil then
  1853.             if block.className == "IntValue" then
  1854.                 if block.Value > 0 then
  1855.                     blocked = true
  1856.                     block.Value = block.Value - 1
  1857.                     print(block.Value)
  1858.                 end
  1859.             end
  1860.         end
  1861.         if blocked == false then
  1862.             h.Health = h.Health - Damage
  1863.             ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
  1864.         else
  1865.             h.Health = h.Health - (Damage / 2)
  1866.             ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
  1867.         end
  1868.         if Type == "Knockdown" then
  1869.             local hum = hit.Parent.Humanoid
  1870.             hum.PlatformStand = true
  1871.             coroutine.resume(coroutine.create(function(HHumanoid)
  1872.                 swait(1)
  1873.                 HHumanoid.PlatformStand = false
  1874.             end), hum)
  1875.             local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
  1876.             local bodvol = Create("BodyVelocity"){
  1877.                 velocity = angle * knockback,
  1878.                 P = 5000,
  1879.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1880.                 Parent = hit,
  1881.             }
  1882.             local rl = Create("BodyAngularVelocity"){
  1883.                 P = 3000,
  1884.                 maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  1885.                 angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  1886.                 Parent = hit,
  1887.             }
  1888.             game:GetService("Debris"):AddItem(bodvol, .5)
  1889.             game:GetService("Debris"):AddItem(rl, .5)
  1890.         elseif Type == "Normal" then
  1891.             local vp = Create("BodyVelocity"){
  1892.                 P = 500,
  1893.                 maxForce = Vector3.new(math.huge, 0, math.huge),
  1894.                 velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
  1895.             }
  1896.             if knockback > 0 then
  1897.                 vp.Parent = hit.Parent.Torso
  1898.             end
  1899.             game:GetService("Debris"):AddItem(vp, .5)
  1900.         elseif Type == "Up" then
  1901.             local bodyVelocity = Create("BodyVelocity"){
  1902.                 velocity = Vector3.new(0, 20, 0),
  1903.                 P = 5000,
  1904.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1905.                 Parent = hit,
  1906.             }
  1907.             game:GetService("Debris"):AddItem(bodyVelocity, .5)
  1908.         elseif Type == "DarkUp" then
  1909.             coroutine.resume(coroutine.create(function()
  1910.                 for i = 0, 1, 0.1 do
  1911.                     swait()
  1912.                     Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
  1913.                 end
  1914.             end))
  1915.             local bodyVelocity = Create("BodyVelocity"){
  1916.                 velocity = Vector3.new(0, 20, 0),
  1917.                 P = 5000,
  1918.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1919.                 Parent = hit,
  1920.             }
  1921.             game:GetService("Debris"):AddItem(bodyVelocity, 1)
  1922.         elseif Type == "Snare" then
  1923.             local bp = Create("BodyPosition"){
  1924.                 P = 2000,
  1925.                 D = 100,
  1926.                 maxForce = Vector3.new(math.huge, math.huge, math.huge),
  1927.                 position = hit.Parent.Torso.Position,
  1928.                 Parent = hit.Parent.Torso,
  1929.             }
  1930.             game:GetService("Debris"):AddItem(bp, 1)
  1931.         elseif Type == "Freeze" then
  1932.             local BodPos = Create("BodyPosition"){
  1933.                 P = 50000,
  1934.                 D = 1000,
  1935.                 maxForce = Vector3.new(math.huge, math.huge, math.huge),
  1936.                 position = hit.Parent.Torso.Position,
  1937.                 Parent = hit.Parent.Torso,
  1938.             }
  1939.             local BodGy = Create("BodyGyro") {
  1940.                 maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
  1941.                 P = 20e+003,
  1942.                 Parent = hit.Parent.Torso,
  1943.                 cframe = hit.Parent.Torso.CFrame,
  1944.             }
  1945.             hit.Parent.Torso.Anchored = true
  1946.             coroutine.resume(coroutine.create(function(Part)
  1947.                 swait(1.5)
  1948.                 Part.Anchored = false
  1949.             end), hit.Parent.Torso)
  1950.             game:GetService("Debris"):AddItem(BodPos, 3)
  1951.             game:GetService("Debris"):AddItem(BodGy, 3)
  1952.         end
  1953.         local debounce = Create("BoolValue"){
  1954.             Name = "DebounceHit",
  1955.             Parent = hit.Parent,
  1956.             Value = true,
  1957.         }
  1958.         game:GetService("Debris"):AddItem(debounce, Delay)
  1959.         c = Create("ObjectValue"){
  1960.             Name = "creator",
  1961.             Value = Player,
  1962.             Parent = h,
  1963.         }
  1964.         game:GetService("Debris"):AddItem(c, .5)
  1965.     end
  1966. end
  1967.  
  1968. function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
  1969.     if hit.Parent == nil then
  1970.         return
  1971.     end
  1972.     local h = hit.Parent:FindFirstChildOfClass("Humanoid")
  1973.     for _, v in pairs(hit.Parent:children()) do
  1974.         if v:IsA("Humanoid") then
  1975.             h = v
  1976.         end
  1977.     end
  1978.          if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("UpperTorso") ~= nil then
  1979.    
  1980.          hit.Parent:FindFirstChild("Head"):BreakJoints()
  1981.          end
  1982.  
  1983.     if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
  1984.         if hit.Parent:findFirstChild("DebounceHit") ~= nil then
  1985.             if hit.Parent.DebounceHit.Value == true then
  1986.                 return
  1987.             end
  1988.         end
  1989.          if insta == true then
  1990.          hit.Parent:FindFirstChild("Head"):BreakJoints()
  1991.          end
  1992.         local c = Create("ObjectValue"){
  1993.             Name = "creator",
  1994.             Value = game:service("Players").LocalPlayer,
  1995.             Parent = h,
  1996.         }
  1997.         game:GetService("Debris"):AddItem(c, .5)
  1998.         if HitSound ~= nil and HitPitch ~= nil then
  1999.             CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
  2000.         end
  2001.         local Damage = math.random(minim, maxim)
  2002.         local blocked = false
  2003.         local block = hit.Parent:findFirstChild("Block")
  2004.         if block ~= nil then
  2005.             if block.className == "IntValue" then
  2006.                 if block.Value > 0 then
  2007.                     blocked = true
  2008.                     block.Value = block.Value - 1
  2009.                     print(block.Value)
  2010.                 end
  2011.             end
  2012.         end
  2013.         if blocked == false then
  2014.             h.Health = h.Health - Damage
  2015.             ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
  2016.         else
  2017.             h.Health = h.Health - (Damage / 2)
  2018.             ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
  2019.         end
  2020.         if Type == "Knockdown" then
  2021.             local hum = hit.Parent.Humanoid
  2022.             hum.PlatformStand = true
  2023.             coroutine.resume(coroutine.create(function(HHumanoid)
  2024.                 swait(1)
  2025.                 HHumanoid.PlatformStand = false
  2026.             end), hum)
  2027.             local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
  2028.             local bodvol = Create("BodyVelocity"){
  2029.                 velocity = angle * knockback,
  2030.                 P = 5000,
  2031.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  2032.                 Parent = hit,
  2033.             }
  2034.             local rl = Create("BodyAngularVelocity"){
  2035.                 P = 3000,
  2036.                 maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  2037.                 angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  2038.                 Parent = hit,
  2039.             }
  2040.             game:GetService("Debris"):AddItem(bodvol, .5)
  2041.             game:GetService("Debris"):AddItem(rl, .5)
  2042.         elseif Type == "Normal" then
  2043.             local vp = Create("BodyVelocity"){
  2044.                 P = 500,
  2045.                 maxForce = Vector3.new(math.huge, 0, math.huge),
  2046.                 velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
  2047.             }
  2048.             if knockback > 0 then
  2049.                 vp.Parent = hit.Parent.Torso
  2050.             end
  2051.             game:GetService("Debris"):AddItem(vp, .5)
  2052.         elseif Type == "Up" then
  2053.             local bodyVelocity = Create("BodyVelocity"){
  2054.                 velocity = Vector3.new(0, 20, 0),
  2055.                 P = 5000,
  2056.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  2057.                 Parent = hit,
  2058.             }
  2059.             game:GetService("Debris"):AddItem(bodyVelocity, .5)
  2060.         elseif Type == "DarkUp" then
  2061.             coroutine.resume(coroutine.create(function()
  2062.                 for i = 0, 1, 0.1 do
  2063.                     swait()
  2064.                     Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
  2065.                 end
  2066.             end))
  2067.             local bodyVelocity = Create("BodyVelocity"){
  2068.                 velocity = Vector3.new(0, 20, 0),
  2069.                 P = 5000,
  2070.                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  2071.                 Parent = hit,
  2072.             }
  2073.             game:GetService("Debris"):AddItem(bodyVelocity, 1)
  2074.         elseif Type == "Snare" then
  2075.             local bp = Create("BodyPosition"){
  2076.                 P = 2000,
  2077.                 D = 100,
  2078.                 maxForce = Vector3.new(math.huge, math.huge, math.huge),
  2079.                 position = hit.Parent.Torso.Position,
  2080.                 Parent = hit.Parent.Torso,
  2081.             }
  2082.             game:GetService("Debris"):AddItem(bp, 1)
  2083.         elseif Type == "Freeze" then
  2084.             local BodPos = Create("BodyPosition"){
  2085.                 P = 50000,
  2086.                 D = 1000,
  2087.                 maxForce = Vector3.new(math.huge, math.huge, math.huge),
  2088.                 position = hit.Parent.Torso.Position,
  2089.                 Parent = hit.Parent.Torso,
  2090.             }
  2091.             local BodGy = Create("BodyGyro") {
  2092.                 maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
  2093.                 P = 20e+003,
  2094.                 Parent = hit.Parent.Torso,
  2095.                 cframe = hit.Parent.Torso.CFrame,
  2096.             }
  2097.             hit.Parent.Torso.Anchored = true
  2098.             coroutine.resume(coroutine.create(function(Part)
  2099.                 swait(1.5)
  2100.                 Part.Anchored = false
  2101.             end), hit.Parent.Torso)
  2102.             game:GetService("Debris"):AddItem(BodPos, 3)
  2103.             game:GetService("Debris"):AddItem(BodGy, 3)
  2104.         end
  2105.         local debounce = Create("BoolValue"){
  2106.             Name = "DebounceHit",
  2107.             Parent = hit.Parent,
  2108.             Value = true,
  2109.         }
  2110.         game:GetService("Debris"):AddItem(debounce, Delay)
  2111.         c = Create("ObjectValue"){
  2112.             Name = "creator",
  2113.             Value = Player,
  2114.             Parent = h,
  2115.         }
  2116.  
  2117.     end
  2118. end
  2119. -------------------------------------------------------
  2120. --End Damage Function--
  2121. -------------------------------------------------------
  2122.  
  2123. -------------------------------------------------------
  2124. --Start Damage Function Customization--
  2125. -------------------------------------------------------
  2126. function ShowDamage(Pos, Text, Time, Color)
  2127.     local Rate = (1 / 30)
  2128.     local Pos = (Pos or Vector3.new(0, 0, 0))
  2129.     local Text = (Text or "")
  2130.     local Time = (Time or 2)
  2131.     local Color = (Color or Color3.new(1, 0, 1))
  2132.     local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
  2133.     EffectPart.Anchored = true
  2134.     local BillboardGui = Create("BillboardGui"){
  2135.         Size = UDim2.new(3, 0, 3, 0),
  2136.         Adornee = EffectPart,
  2137.         Parent = EffectPart,
  2138.     }
  2139.     local TextLabel = Create("TextLabel"){
  2140.         BackgroundTransparency = 1,
  2141.         Size = UDim2.new(1, 0, 1, 0),
  2142.         Text = Text,
  2143.         Font = "Bodoni",
  2144.         TextColor3 = Color,
  2145.         TextScaled = true,
  2146.         TextStrokeColor3 = Color3.fromRGB(0,0,0),
  2147.         Parent = BillboardGui,
  2148.     }
  2149.     game.Debris:AddItem(EffectPart, (Time))
  2150.     EffectPart.Parent = game:GetService("Workspace")
  2151.     delay(0, function()
  2152.         local Frames = (Time / Rate)
  2153.         for Frame = 1, Frames do
  2154.             wait(Rate)
  2155.             local Percent = (Frame / Frames)
  2156.             EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
  2157.             TextLabel.TextTransparency = Percent
  2158.         end
  2159.         if EffectPart and EffectPart.Parent then
  2160.             EffectPart:Destroy()
  2161.         end
  2162.     end)
  2163. end
  2164. -------------------------------------------------------
  2165. --End Damage Function Customization--
  2166. -------------------------------------------------------
  2167. function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
  2168.   for _, c in pairs(workspace:children()) do
  2169.     local hum = c:findFirstChild("Humanoid")
  2170.     if hum ~= nil then
  2171.       local head = c:findFirstChild("Head")
  2172.       if head ~= nil then
  2173.         local targ = head.Position - Part.Position
  2174.         local mag = targ.magnitude
  2175.         if magni >= mag and c.Name ~= plr.Name then
  2176.           Damage(head, head, mindam, maxdam, knock, Type, root, 0.1, "http://www.roblox.com/asset/?id=0", 1.2)
  2177.         end
  2178.       end
  2179.     end
  2180.   end
  2181. end
  2182.  
  2183.  
  2184. CFuncs = {
  2185.     Part = {
  2186.         Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  2187.             local Part = Create("Part")({
  2188.                 Parent = Parent,
  2189.                 Reflectance = Reflectance,
  2190.                 Transparency = Transparency,
  2191.                 CanCollide = false,
  2192.                 Locked = true,
  2193.                 BrickColor = BrickColor.new(tostring(BColor)),
  2194.                 Name = Name,
  2195.                 Size = Size,
  2196.                 Material = Material
  2197.             })
  2198.             RemoveOutlines(Part)
  2199.             return Part
  2200.         end
  2201.     },
  2202.     Mesh = {
  2203.         Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2204.             local Msh = Create(Mesh)({
  2205.                 Parent = Part,
  2206.                 Offset = OffSet,
  2207.                 Scale = Scale
  2208.             })
  2209.             if Mesh == "SpecialMesh" then
  2210.                 Msh.MeshType = MeshType
  2211.                 Msh.MeshId = MeshId
  2212.             end
  2213.             return Msh
  2214.         end
  2215.     },
  2216.     Mesh = {
  2217.         Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2218.             local Msh = Create(Mesh)({
  2219.                 Parent = Part,
  2220.                 Offset = OffSet,
  2221.                 Scale = Scale
  2222.             })
  2223.             if Mesh == "SpecialMesh" then
  2224.                 Msh.MeshType = MeshType
  2225.                 Msh.MeshId = MeshId
  2226.             end
  2227.             return Msh
  2228.         end
  2229.     },
  2230.     Weld = {
  2231.         Create = function(Parent, Part0, Part1, C0, C1)
  2232.             local Weld = Create("Weld")({
  2233.                 Parent = Parent,
  2234.                 Part0 = Part0,
  2235.                 Part1 = Part1,
  2236.                 C0 = C0,
  2237.                 C1 = C1
  2238.             })
  2239.             return Weld
  2240.         end
  2241.     },
  2242.     Sound = {
  2243.         Create = function(id, par, vol, pit)
  2244.             coroutine.resume(coroutine.create(function()
  2245.                 local S = Create("Sound")({
  2246.                     Volume = vol,
  2247.                     Pitch = pit or 1,
  2248.                     SoundId = id,
  2249.                     Parent = par or workspace
  2250.                 })
  2251.                 wait()
  2252.                 S:play()
  2253.                 game:GetService("Debris"):AddItem(S, 6)
  2254.             end))
  2255.         end
  2256.     },
  2257.     ParticleEmitter = {
  2258.         Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
  2259.             local fp = Create("ParticleEmitter")({
  2260.                 Parent = Parent,
  2261.                 Color = ColorSequence.new(Color1, Color2),
  2262.                 LightEmission = LightEmission,
  2263.                 Size = Size,
  2264.                 Texture = Texture,
  2265.                 Transparency = Transparency,
  2266.                 ZOffset = ZOffset,
  2267.                 Acceleration = Accel,
  2268.                 Drag = Drag,
  2269.                 LockedToPart = LockedToPart,
  2270.                 VelocityInheritance = VelocityInheritance,
  2271.                 EmissionDirection = EmissionDirection,
  2272.                 Enabled = Enabled,
  2273.                 Lifetime = LifeTime,
  2274.                 Rate = Rate,
  2275.                 Rotation = Rotation,
  2276.                 RotSpeed = RotSpeed,
  2277.                 Speed = Speed,
  2278.                 VelocitySpread = VelocitySpread
  2279.             })
  2280.             return fp
  2281.         end
  2282.     }
  2283. }
  2284. function RemoveOutlines(part)
  2285.     part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  2286. end
  2287. function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  2288.     local Part = Create("Part")({
  2289.         formFactor = FormFactor,
  2290.         Parent = Parent,
  2291.         Reflectance = Reflectance,
  2292.         Transparency = Transparency,
  2293.         CanCollide = false,
  2294.         Locked = true,
  2295.         BrickColor = BrickColor.new(tostring(BColor)),
  2296.         Name = Name,
  2297.         Size = Size,
  2298.         Material = Material
  2299.     })
  2300.     RemoveOutlines(Part)
  2301.     return Part
  2302. end
  2303. function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2304.     local Msh = Create(Mesh)({
  2305.         Parent = Part,
  2306.         Offset = OffSet,
  2307.         Scale = Scale
  2308.     })
  2309.     if Mesh == "SpecialMesh" then
  2310.         Msh.MeshType = MeshType
  2311.         Msh.MeshId = MeshId
  2312.     end
  2313.     return Msh
  2314. end
  2315. function CreateWeld(Parent, Part0, Part1, C0, C1)
  2316.     local Weld = Create("Weld")({
  2317.         Parent = Parent,
  2318.         Part0 = Part0,
  2319.         Part1 = Part1,
  2320.         C0 = C0,
  2321.         C1 = C1
  2322.     })
  2323.     return Weld
  2324. end
  2325.  
  2326.  
  2327.  
  2328. function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
  2329.   for _, c in pairs(workspace:children()) do
  2330.     local hum = c:findFirstChild("Humanoid")
  2331.     if hum ~= nil then
  2332.       local head = c:findFirstChild("Head")
  2333.       if head ~= nil then
  2334.         local targ = head.Position - Part.Position
  2335.         local mag = targ.magnitude
  2336.         if magni >= mag and c.Name ~= plr.Name then
  2337.           Damage(head, head, mindam, maxdam, knock, Type, root, 0.1, "http://www.roblox.com/asset/?id=0", 1.2)
  2338.         end
  2339.       end
  2340.     end
  2341.   end
  2342. end
  2343.  
  2344.  
  2345. CFuncs = {
  2346.     Part = {
  2347.         Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  2348.             local Part = Create("Part")({
  2349.                 Parent = Parent,
  2350.                 Reflectance = Reflectance,
  2351.                 Transparency = Transparency,
  2352.                 CanCollide = false,
  2353.                 Locked = true,
  2354.                 BrickColor = BrickColor.new(tostring(BColor)),
  2355.                 Name = Name,
  2356.                 Size = Size,
  2357.                 Material = Material
  2358.             })
  2359.             RemoveOutlines(Part)
  2360.             return Part
  2361.         end
  2362.     },
  2363.     Mesh = {
  2364.         Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2365.             local Msh = Create(Mesh)({
  2366.                 Parent = Part,
  2367.                 Offset = OffSet,
  2368.                 Scale = Scale
  2369.             })
  2370.             if Mesh == "SpecialMesh" then
  2371.                 Msh.MeshType = MeshType
  2372.                 Msh.MeshId = MeshId
  2373.             end
  2374.             return Msh
  2375.         end
  2376.     },
  2377.     Mesh = {
  2378.         Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2379.             local Msh = Create(Mesh)({
  2380.                 Parent = Part,
  2381.                 Offset = OffSet,
  2382.                 Scale = Scale
  2383.             })
  2384.             if Mesh == "SpecialMesh" then
  2385.                 Msh.MeshType = MeshType
  2386.                 Msh.MeshId = MeshId
  2387.             end
  2388.             return Msh
  2389.         end
  2390.     },
  2391.     Weld = {
  2392.         Create = function(Parent, Part0, Part1, C0, C1)
  2393.             local Weld = Create("Weld")({
  2394.                 Parent = Parent,
  2395.                 Part0 = Part0,
  2396.                 Part1 = Part1,
  2397.                 C0 = C0,
  2398.                 C1 = C1
  2399.             })
  2400.             return Weld
  2401.         end
  2402.     },
  2403.     Sound = {
  2404.         Create = function(id, par, vol, pit)
  2405.             coroutine.resume(coroutine.create(function()
  2406.                 local S = Create("Sound")({
  2407.                     Volume = vol,
  2408.                     Pitch = pit or 1,
  2409.                     SoundId = id,
  2410.                     Parent = par or workspace
  2411.                 })
  2412.                 wait()
  2413.                 S:play()
  2414.                 game:GetService("Debris"):AddItem(S, 6)
  2415.             end))
  2416.         end
  2417.     },
  2418.     ParticleEmitter = {
  2419.         Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
  2420.             local fp = Create("ParticleEmitter")({
  2421.                 Parent = Parent,
  2422.                 Color = ColorSequence.new(Color1, Color2),
  2423.                 LightEmission = LightEmission,
  2424.                 Size = Size,
  2425.                 Texture = Texture,
  2426.                 Transparency = Transparency,
  2427.                 ZOffset = ZOffset,
  2428.                 Acceleration = Accel,
  2429.                 Drag = Drag,
  2430.                 LockedToPart = LockedToPart,
  2431.                 VelocityInheritance = VelocityInheritance,
  2432.                 EmissionDirection = EmissionDirection,
  2433.                 Enabled = Enabled,
  2434.                 Lifetime = LifeTime,
  2435.                 Rate = Rate,
  2436.                 Rotation = Rotation,
  2437.                 RotSpeed = RotSpeed,
  2438.                 Speed = Speed,
  2439.                 VelocitySpread = VelocitySpread
  2440.             })
  2441.             return fp
  2442.         end
  2443.     }
  2444. }
  2445. function RemoveOutlines(part)
  2446.     part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  2447. end
  2448. function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  2449.     local Part = Create("Part")({
  2450.         formFactor = FormFactor,
  2451.         Parent = Parent,
  2452.         Reflectance = Reflectance,
  2453.         Transparency = Transparency,
  2454.         CanCollide = false,
  2455.         Locked = true,
  2456.         BrickColor = BrickColor.new(tostring(BColor)),
  2457.         Name = Name,
  2458.         Size = Size,
  2459.         Material = Material
  2460.     })
  2461.     RemoveOutlines(Part)
  2462.     return Part
  2463. end
  2464. function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2465.     local Msh = Create(Mesh)({
  2466.         Parent = Part,
  2467.         Offset = OffSet,
  2468.         Scale = Scale
  2469.     })
  2470.     if Mesh == "SpecialMesh" then
  2471.         Msh.MeshType = MeshType
  2472.         Msh.MeshId = MeshId
  2473.     end
  2474.     return Msh
  2475. end
  2476. function CreateWeld(Parent, Part0, Part1, C0, C1)
  2477.     local Weld = Create("Weld")({
  2478.         Parent = Parent,
  2479.         Part0 = Part0,
  2480.         Part1 = Part1,
  2481.         C0 = C0,
  2482.         C1 = C1
  2483.     })
  2484.     return Weld
  2485. end
  2486.  
  2487.  
  2488. -------------------------------------------------------
  2489. --Start Effect Function--
  2490. -------------------------------------------------------
  2491. EffectModel = Instance.new("Model", char)
  2492. Effects = {
  2493.   Block = {
  2494.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  2495.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2496.       prt.Anchored = true
  2497.       prt.CFrame = cframe
  2498.       local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2499.       game:GetService("Debris"):AddItem(prt, 10)
  2500.       if Type == 1 or Type == nil then
  2501.         table.insert(Effects, {
  2502.           prt,
  2503.           "Block1",
  2504.           delay,
  2505.           x3,
  2506.           y3,
  2507.           z3,
  2508.           msh
  2509.         })
  2510.       elseif Type == 2 then
  2511.         table.insert(Effects, {
  2512.           prt,
  2513.           "Block2",
  2514.           delay,
  2515.           x3,
  2516.           y3,
  2517.           z3,
  2518.           msh
  2519.         })
  2520.       else
  2521.         table.insert(Effects, {
  2522.           prt,
  2523.           "Block3",
  2524.           delay,
  2525.           x3,
  2526.           y3,
  2527.           z3,
  2528.           msh
  2529.         })
  2530.       end
  2531.     end
  2532.   },
  2533.   Sphere = {
  2534.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2535.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  2536.       prt.Anchored = true
  2537.       prt.CFrame = cframe
  2538.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2539.       game:GetService("Debris"):AddItem(prt, 10)
  2540.       table.insert(Effects, {
  2541.         prt,
  2542.         "Cylinder",
  2543.         delay,
  2544.         x3,
  2545.         y3,
  2546.         z3,
  2547.         msh
  2548.       })
  2549.     end
  2550.   },
  2551.   Cylinder = {
  2552.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2553.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2554.       prt.Anchored = true
  2555.       prt.CFrame = cframe
  2556.       local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2557.       game:GetService("Debris"):AddItem(prt, 10)
  2558.       table.insert(Effects, {
  2559.         prt,
  2560.         "Cylinder",
  2561.         delay,
  2562.         x3,
  2563.         y3,
  2564.         z3,
  2565.         msh
  2566.       })
  2567.     end
  2568.   },
  2569.   Wave = {
  2570.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2571.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  2572.       prt.Anchored = true
  2573.       prt.CFrame = cframe
  2574.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1 / 60, y1 / 60, z1 / 60))
  2575.       game:GetService("Debris"):AddItem(prt, 10)
  2576.       table.insert(Effects, {
  2577.         prt,
  2578.         "Cylinder",
  2579.         delay,
  2580.         x3 / 60,
  2581.         y3 / 60,
  2582.         z3 / 60,
  2583.         msh
  2584.       })
  2585.     end
  2586.   },
  2587.   Ring = {
  2588.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2589.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2590.       prt.Anchored = true
  2591.       prt.CFrame = cframe
  2592.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2593.       game:GetService("Debris"):AddItem(prt, 10)
  2594.       table.insert(Effects, {
  2595.         prt,
  2596.         "Cylinder",
  2597.         delay,
  2598.         x3,
  2599.         y3,
  2600.         z3,
  2601.         msh
  2602.       })
  2603.     end
  2604.   },
  2605.   Break = {
  2606.     Create = function(brickcolor, cframe, x1, y1, z1)
  2607.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  2608.       prt.Anchored = true
  2609.       prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  2610.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2611.       local num = math.random(10, 50) / 1000
  2612.       game:GetService("Debris"):AddItem(prt, 10)
  2613.       table.insert(Effects, {
  2614.         prt,
  2615.         "Shatter",
  2616.         num,
  2617.         prt.CFrame,
  2618.         math.random() - math.random(),
  2619.         0,
  2620.         math.random(50, 100) / 100
  2621.       })
  2622.     end
  2623.   },
  2624. Spiral = {
  2625.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2626.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2627.       prt.Anchored = true
  2628.       prt.CFrame = cframe
  2629.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://1051557", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2630.       game:GetService("Debris"):AddItem(prt, 10)
  2631.       table.insert(Effects, {
  2632.         prt,
  2633.         "Cylinder",
  2634.         delay,
  2635.         x3,
  2636.         y3,
  2637.         z3,
  2638.         msh
  2639.       })
  2640.     end
  2641.   },
  2642. Push = {
  2643.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2644.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2645.       prt.Anchored = true
  2646.       prt.CFrame = cframe
  2647.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://437347603", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2648.       game:GetService("Debris"):AddItem(prt, 10)
  2649.       table.insert(Effects, {
  2650.         prt,
  2651.         "Cylinder",
  2652.         delay,
  2653.         x3,
  2654.         y3,
  2655.         z3,
  2656.         msh
  2657.       })
  2658.     end
  2659.   }
  2660. }
  2661. function part(formfactor ,parent, reflectance, transparency, brickcolor, name, size)
  2662.     local fp = IT("Part")
  2663.     fp.formFactor = formfactor
  2664.     fp.Parent = parent
  2665.     fp.Reflectance = reflectance
  2666.     fp.Transparency = transparency
  2667.     fp.CanCollide = false
  2668.     fp.Locked = true
  2669.     fp.BrickColor = brickcolor
  2670.     fp.Name = name
  2671.     fp.Size = size
  2672.     fp.Position = tors.Position
  2673.     RemoveOutlines(fp)
  2674.     fp.Material = "SmoothPlastic"
  2675.     fp:BreakJoints()
  2676.     return fp
  2677. end
  2678.  
  2679. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  2680.     local mesh = IT(Mesh)
  2681.     mesh.Parent = part
  2682.     if Mesh == "SpecialMesh" then
  2683.         mesh.MeshType = meshtype
  2684.     if meshid ~= "nil" then
  2685.         mesh.MeshId = "http://www.roblox.com/asset/?id="..meshid
  2686.         end
  2687.     end
  2688.     mesh.Offset = offset
  2689.     mesh.Scale = scale
  2690.     return mesh
  2691. end
  2692.  
  2693. function Magic(bonuspeed, type, pos, scale, value, color, MType)
  2694.     local type = type
  2695.     local rng = Instance.new("Part", char)
  2696.     rng.Anchored = true
  2697.     rng.BrickColor = color
  2698.     rng.CanCollide = false
  2699.     rng.FormFactor = 3
  2700.     rng.Name = "Ring"
  2701.     rng.Material = "Neon"
  2702.     rng.Size = Vector3.new(1, 1, 1)
  2703.     rng.Transparency = 0
  2704.     rng.TopSurface = 0
  2705.     rng.BottomSurface = 0
  2706.     rng.CFrame = pos
  2707.     local rngm = Instance.new("SpecialMesh", rng)
  2708.     rngm.MeshType = MType
  2709.     rngm.Scale = scale
  2710.     local scaler2 = 1
  2711.     if type == "Add" then
  2712.         scaler2 = 1 * value
  2713.     elseif type == "Divide" then
  2714.         scaler2 = 1 / value
  2715.     end
  2716.     coroutine.resume(coroutine.create(function()
  2717.         for i = 0, 10 / bonuspeed, 0.1 do
  2718.             swait()
  2719.             if type == "Add" then
  2720.                 scaler2 = scaler2 - 0.01 * value / bonuspeed
  2721.             elseif type == "Divide" then
  2722.                 scaler2 = scaler2 - 0.01 / value * bonuspeed
  2723.             end
  2724.             rng.Transparency = rng.Transparency + 0.01 * bonuspeed
  2725.             rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
  2726.         end
  2727.         rng:Destroy()
  2728.     end))
  2729. end
  2730.  
  2731. function Eviscerate(dude)
  2732.     if dude.Name ~= char then
  2733.         local bgf = IT("BodyGyro", dude.Head)
  2734.         bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
  2735.         local val = IT("BoolValue", dude)
  2736.         val.Name = "IsHit"
  2737.         local ds = coroutine.wrap(function()
  2738.             dude:WaitForChild("Head"):BreakJoints()
  2739.             wait(0.5)
  2740.             target = nil
  2741.             coroutine.resume(coroutine.create(function()
  2742.                 for i, v in pairs(dude:GetChildren()) do
  2743.                     if v:IsA("Accessory") then
  2744.                         v:Destroy()
  2745.                     end
  2746.                     if v:IsA("Humanoid") then
  2747.                         v:Destroy()
  2748.                     end
  2749.                     if v:IsA("CharacterMesh") then
  2750.                         v:Destroy()
  2751.                     end
  2752.                     if v:IsA("Model") then
  2753.                         v:Destroy()
  2754.                     end
  2755.                     if v:IsA("Part") or v:IsA("MeshPart") then
  2756.                         for x, o in pairs(v:GetChildren()) do
  2757.                             if o:IsA("Decal") then
  2758.                                 o:Destroy()
  2759.                             end
  2760.                         end
  2761.                         coroutine.resume(coroutine.create(function()
  2762.                             v.Material = "Neon"
  2763.                             v.CanCollide = false
  2764.                             local PartEmmit1 = IT("ParticleEmitter", v)
  2765.                             PartEmmit1.LightEmission = 1
  2766.                             PartEmmit1.Texture = "rbxassetid://284205403"
  2767.                             PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  2768.                             PartEmmit1.Rate = 150
  2769.                             PartEmmit1.Lifetime = NumberRange.new(1)
  2770.                             PartEmmit1.Size = NumberSequence.new({
  2771.                                 NumberSequenceKeypoint.new(0, 0.75, 0),
  2772.                                 NumberSequenceKeypoint.new(1, 0, 0)
  2773.                             })
  2774.                             PartEmmit1.Transparency = NumberSequence.new({
  2775.                                 NumberSequenceKeypoint.new(0, 0, 0),
  2776.                                 NumberSequenceKeypoint.new(1, 1, 0)
  2777.                             })
  2778.                             PartEmmit1.Speed = NumberRange.new(0, 0)
  2779.                             PartEmmit1.VelocitySpread = 30000
  2780.                             PartEmmit1.Rotation = NumberRange.new(-500, 500)
  2781.                             PartEmmit1.RotSpeed = NumberRange.new(-500, 500)
  2782.                             local BodPoss = IT("BodyPosition", v)
  2783.                             BodPoss.P = 3000
  2784.                             BodPoss.D = 1000
  2785.                             BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
  2786.                             BodPoss.position = v.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
  2787.                             v.Color = maincolor.Color
  2788.                             coroutine.resume(coroutine.create(function()
  2789.                                 for i = 0, 49 do
  2790.                                     swait(1)
  2791.                                     v.Transparency = v.Transparency + 0.08
  2792.                                 end
  2793.                                 wait(0.5)
  2794.                                 PartEmmit1.Enabled = false
  2795.                                 wait(3)
  2796.                                 v:Destroy()
  2797.                                 dude:Destroy()
  2798.                             end))
  2799.                         end))
  2800.                     end
  2801.                 end
  2802.             end))
  2803.         end)
  2804.         ds()
  2805.     end
  2806. end
  2807.  
  2808. function FindNearestHead(Position, Distance, SinglePlayer)
  2809.     if SinglePlayer then
  2810.         return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
  2811.     end
  2812.     local List = {}
  2813.     for i, v in pairs(workspace:GetChildren()) do
  2814.         if v:IsA("Model") and v:findFirstChild("Head") and v ~= char and Distance >= (v.Head.Position - Position).magnitude then
  2815.             table.insert(List, v)
  2816.         end
  2817.     end
  2818.     return List
  2819. end
  2820.  
  2821. function Aura(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos, MType)
  2822.     local type = type
  2823.     local rng = Instance.new("Part", char)
  2824.     rng.Anchored = true
  2825.     rng.BrickColor = color
  2826.     rng.CanCollide = false
  2827.     rng.FormFactor = 3
  2828.     rng.Name = "Ring"
  2829.     rng.Material = "Neon"
  2830.     rng.Size = Vector3.new(1, 1, 1)
  2831.     rng.Transparency = 0
  2832.     rng.TopSurface = 0
  2833.     rng.BottomSurface = 0
  2834.     rng.CFrame = pos
  2835.     rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
  2836.     local rngm = Instance.new("SpecialMesh", rng)
  2837.     rngm.MeshType = MType
  2838.     rngm.Scale = Vector3.new(x1, y1, z1)
  2839.     local scaler2 = 1
  2840.     local speeder = FastSpeed
  2841.     if type == "Add" then
  2842.         scaler2 = 1 * value
  2843.     elseif type == "Divide" then
  2844.         scaler2 = 1 / value
  2845.     end
  2846.     coroutine.resume(coroutine.create(function()
  2847.         for i = 0, 10 / bonuspeed, 0.1 do
  2848.             swait()
  2849.             if type == "Add" then
  2850.                 scaler2 = scaler2 - 0.01 * value / bonuspeed
  2851.             elseif type == "Divide" then
  2852.                 scaler2 = scaler2 - 0.01 / value * bonuspeed
  2853.             end
  2854.             speeder = speeder - 0.01 * FastSpeed * bonuspeed
  2855.             rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
  2856.             rng.Transparency = rng.Transparency + 0.01 * bonuspeed
  2857.             rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
  2858.         end
  2859.         rng:Destroy()
  2860.     end))
  2861. end
  2862.  
  2863. function SoulSteal(dude)
  2864. if dude.Name ~= char then
  2865. local bgf = IT("BodyGyro", dude.Head)
  2866. bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
  2867. local val = IT("BoolValue", dude)
  2868. val.Name = "IsHit"
  2869. local torso = (dude:FindFirstChild'Head' or dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso' or dude:FindFirstChild'LowerTorso' or dude:FindFirstChild'HumanoidRootPart')
  2870. local soulst = coroutine.wrap(function()
  2871. local soul = Instance.new("Part",dude)
  2872. soul.Size = Vector3.new(1,1,1)
  2873. soul.CanCollide = false
  2874. soul.Anchored = false
  2875. soul.Position = torso.Position
  2876. soul.Transparency = 1
  2877. local PartEmmit1 = IT("ParticleEmitter", soul)
  2878. PartEmmit1.LightEmission = 1
  2879. PartEmmit1.Texture = "rbxassetid://569507414"
  2880. PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  2881. PartEmmit1.Rate = 250
  2882. PartEmmit1.Lifetime = NumberRange.new(1.6)
  2883. PartEmmit1.Size = NumberSequence.new({
  2884.     NumberSequenceKeypoint.new(0, 1, 0),
  2885.     NumberSequenceKeypoint.new(1, 0, 0)
  2886. })
  2887. PartEmmit1.Transparency = NumberSequence.new({
  2888.     NumberSequenceKeypoint.new(0, 0, 0),
  2889.     NumberSequenceKeypoint.new(1, 1, 0)
  2890. })
  2891. PartEmmit1.Speed = NumberRange.new(0, 0)
  2892. PartEmmit1.VelocitySpread = 30000
  2893. PartEmmit1.Rotation = NumberRange.new(-360, 360)
  2894. PartEmmit1.RotSpeed = NumberRange.new(-360, 360)
  2895. local BodPoss = IT("BodyPosition", soul)
  2896. BodPoss.P = 3000
  2897. BodPoss.D = 1000
  2898. BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
  2899. BodPoss.position = torso.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
  2900. wait(1.6)
  2901. soul.Touched:connect(function(hit)
  2902.     if hit.Parent == char then
  2903.     soul:Destroy()
  2904.     end
  2905. end)
  2906. wait(1.2)
  2907. while soul do
  2908.     swait()
  2909.     PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  2910.     BodPoss.Position = tors.Position
  2911. end
  2912. end)
  2913.     soulst()
  2914.     end
  2915. end
  2916. function FaceMouse()
  2917. local   Cam = workspace.CurrentCamera
  2918.     return {
  2919.         CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
  2920.         Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
  2921.     }
  2922. end
  2923. -------------------------------------------------------
  2924. --Start Effect Function--
  2925. ------------------------------------------------------
  2926. EffectModel = Instance.new("Model", char)
  2927. Effects = {
  2928.   Block = {
  2929.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  2930.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2931.       prt.Anchored = true
  2932.       prt.CFrame = cframe
  2933.       local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2934.       game:GetService("Debris"):AddItem(prt, 10)
  2935.       if Type == 1 or Type == nil then
  2936.         table.insert(Effects, {
  2937.           prt,
  2938.           "Block1",
  2939.           delay,
  2940.           x3,
  2941.           y3,
  2942.           z3,
  2943.           msh
  2944.         })
  2945.       elseif Type == 2 then
  2946.         table.insert(Effects, {
  2947.           prt,
  2948.           "Block2",
  2949.           delay,
  2950.           x3,
  2951.           y3,
  2952.           z3,
  2953.           msh
  2954.         })
  2955.       else
  2956.         table.insert(Effects, {
  2957.           prt,
  2958.           "Block3",
  2959.           delay,
  2960.           x3,
  2961.           y3,
  2962.           z3,
  2963.           msh
  2964.         })
  2965.       end
  2966.     end
  2967.   },
  2968.   Sphere = {
  2969.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2970.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  2971.       prt.Anchored = true
  2972.       prt.CFrame = cframe
  2973.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2974.       game:GetService("Debris"):AddItem(prt, 10)
  2975.       table.insert(Effects, {
  2976.         prt,
  2977.         "Cylinder",
  2978.         delay,
  2979.         x3,
  2980.         y3,
  2981.         z3,
  2982.         msh
  2983.       })
  2984.     end
  2985.   },
  2986.   Cylinder = {
  2987.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2988.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2989.       prt.Anchored = true
  2990.       prt.CFrame = cframe
  2991.       local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2992.       game:GetService("Debris"):AddItem(prt, 10)
  2993.       table.insert(Effects, {
  2994.         prt,
  2995.         "Cylinder",
  2996.         delay,
  2997.         x3,
  2998.         y3,
  2999.         z3,
  3000.         msh
  3001.       })
  3002.     end
  3003.   },
  3004.   Wave = {
  3005.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3006.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  3007.       prt.Anchored = true
  3008.       prt.CFrame = cframe
  3009.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1 / 60, y1 / 60, z1 / 60))
  3010.       game:GetService("Debris"):AddItem(prt, 10)
  3011.       table.insert(Effects, {
  3012.         prt,
  3013.         "Cylinder",
  3014.         delay,
  3015.         x3 / 60,
  3016.         y3 / 60,
  3017.         z3 / 60,
  3018.         msh
  3019.       })
  3020.     end
  3021.   },
  3022.   Ring = {
  3023.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3024.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  3025.       prt.Anchored = true
  3026.       prt.CFrame = cframe
  3027.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3028.       game:GetService("Debris"):AddItem(prt, 10)
  3029.       table.insert(Effects, {
  3030.         prt,
  3031.         "Cylinder",
  3032.         delay,
  3033.         x3,
  3034.         y3,
  3035.         z3,
  3036.         msh
  3037.       })
  3038.     end
  3039.   },
  3040.   Break = {
  3041.     Create = function(brickcolor, cframe, x1, y1, z1)
  3042.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  3043.       prt.Anchored = true
  3044.       prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  3045.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3046.       local num = math.random(10, 50) / 1000
  3047.       game:GetService("Debris"):AddItem(prt, 10)
  3048.       table.insert(Effects, {
  3049.         prt,
  3050.         "Shatter",
  3051.         num,
  3052.         prt.CFrame,
  3053.         math.random() - math.random(),
  3054.         0,
  3055.         math.random(50, 100) / 100
  3056.       })
  3057.     end
  3058.   },
  3059. Spiral = {
  3060.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3061.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  3062.       prt.Anchored = true
  3063.       prt.CFrame = cframe
  3064.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://1051557", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3065.       game:GetService("Debris"):AddItem(prt, 10)
  3066.       table.insert(Effects, {
  3067.         prt,
  3068.         "Cylinder",
  3069.         delay,
  3070.         x3,
  3071.         y3,
  3072.         z3,
  3073.         msh
  3074.       })
  3075.     end
  3076.   },
  3077. Push = {
  3078.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3079.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  3080.       prt.Anchored = true
  3081.       prt.CFrame = cframe
  3082.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://437347603", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3083.       game:GetService("Debris"):AddItem(prt, 10)
  3084.       table.insert(Effects, {
  3085.         prt,
  3086.         "Cylinder",
  3087.         delay,
  3088.         x3,
  3089.         y3,
  3090.         z3,
  3091.         msh
  3092.       })
  3093.     end
  3094.   }
  3095. }
  3096. function part(formfactor ,parent, reflectance, transparency, brickcolor, name, size)
  3097.     local fp = IT("Part")
  3098.     fp.formFactor = formfactor
  3099.     fp.Parent = parent
  3100.     fp.Reflectance = reflectance
  3101.     fp.Transparency = transparency
  3102.     fp.CanCollide = false
  3103.     fp.Locked = true
  3104.     fp.BrickColor = brickcolor
  3105.     fp.Name = name
  3106.     fp.Size = size
  3107.     fp.Position = tors.Position
  3108.     RemoveOutlines(fp)
  3109.     fp.Material = "SmoothPlastic"
  3110.     fp:BreakJoints()
  3111.     return fp
  3112. end
  3113.  
  3114. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  3115.     local mesh = IT(Mesh)
  3116.     mesh.Parent = part
  3117.     if Mesh == "SpecialMesh" then
  3118.         mesh.MeshType = meshtype
  3119.     if meshid ~= "nil" then
  3120.         mesh.MeshId = "http://www.roblox.com/asset/?id="..meshid
  3121.         end
  3122.     end
  3123.     mesh.Offset = offset
  3124.     mesh.Scale = scale
  3125.     return mesh
  3126. end
  3127.  
  3128. function Magic(bonuspeed, type, pos, scale, value, color, MType)
  3129.     local type = type
  3130.     local rng = Instance.new("Part", char)
  3131.     rng.Anchored = true
  3132.     rng.BrickColor = color
  3133.     rng.CanCollide = false
  3134.     rng.FormFactor = 3
  3135.     rng.Name = "Ring"
  3136.     rng.Material = "Neon"
  3137.     rng.Size = Vector3.new(1, 1, 1)
  3138.     rng.Transparency = 0
  3139.     rng.TopSurface = 0
  3140.     rng.BottomSurface = 0
  3141.     rng.CFrame = pos
  3142.     local rngm = Instance.new("SpecialMesh", rng)
  3143.     rngm.MeshType = MType
  3144.     rngm.Scale = scale
  3145.     local scaler2 = 1
  3146.     if type == "Add" then
  3147.         scaler2 = 1 * value
  3148.     elseif type == "Divide" then
  3149.         scaler2 = 1 / value
  3150.     end
  3151.     coroutine.resume(coroutine.create(function()
  3152.         for i = 0, 10 / bonuspeed, 0.1 do
  3153.             swait()
  3154.             if type == "Add" then
  3155.                 scaler2 = scaler2 - 0.01 * value / bonuspeed
  3156.             elseif type == "Divide" then
  3157.                 scaler2 = scaler2 - 0.01 / value * bonuspeed
  3158.             end
  3159.             rng.Transparency = rng.Transparency + 0.01 * bonuspeed
  3160.             rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
  3161.         end
  3162.         rng:Destroy()
  3163.     end))
  3164. end
  3165.  
  3166. function Eviscerate(dude)
  3167.     if dude.Name ~= char then
  3168.         local bgf = IT("BodyGyro", dude.Head)
  3169.         bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
  3170.         local val = IT("BoolValue", dude)
  3171.         val.Name = "IsHit"
  3172.         local ds = coroutine.wrap(function()
  3173.             dude:WaitForChild("Head"):BreakJoints()
  3174.             wait(0.5)
  3175.             target = nil
  3176.             coroutine.resume(coroutine.create(function()
  3177.                 for i, v in pairs(dude:GetChildren()) do
  3178.                     if v:IsA("Accessory") then
  3179.                         v:Destroy()
  3180.                     end
  3181.                     if v:IsA("Humanoid") then
  3182.                         v:Destroy()
  3183.                     end
  3184.                     if v:IsA("CharacterMesh") then
  3185.                         v:Destroy()
  3186.                     end
  3187.                     if v:IsA("Model") then
  3188.                         v:Destroy()
  3189.                     end
  3190.                     if v:IsA("Part") or v:IsA("MeshPart") then
  3191.                         for x, o in pairs(v:GetChildren()) do
  3192.                             if o:IsA("Decal") then
  3193.                                 o:Destroy()
  3194.                             end
  3195.                         end
  3196.                         coroutine.resume(coroutine.create(function()
  3197.                             v.Material = "Neon"
  3198.                             v.CanCollide = false
  3199.                             local PartEmmit1 = IT("ParticleEmitter", v)
  3200.                             PartEmmit1.LightEmission = 1
  3201.                             PartEmmit1.Texture = "rbxassetid://284205403"
  3202.                             PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  3203.                             PartEmmit1.Rate = 150
  3204.                             PartEmmit1.Lifetime = NumberRange.new(1)
  3205.                             PartEmmit1.Size = NumberSequence.new({
  3206.                                 NumberSequenceKeypoint.new(0, 0.75, 0),
  3207.                                 NumberSequenceKeypoint.new(1, 0, 0)
  3208.                             })
  3209.                             PartEmmit1.Transparency = NumberSequence.new({
  3210.                                 NumberSequenceKeypoint.new(0, 0, 0),
  3211.                                 NumberSequenceKeypoint.new(1, 1, 0)
  3212.                             })
  3213.                             PartEmmit1.Speed = NumberRange.new(0, 0)
  3214.                             PartEmmit1.VelocitySpread = 30000
  3215.                             PartEmmit1.Rotation = NumberRange.new(-500, 500)
  3216.                             PartEmmit1.RotSpeed = NumberRange.new(-500, 500)
  3217.                             local BodPoss = IT("BodyPosition", v)
  3218.                             BodPoss.P = 3000
  3219.                             BodPoss.D = 1000
  3220.                             BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
  3221.                             BodPoss.position = v.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
  3222.                             v.Color = maincolor.Color
  3223.                             coroutine.resume(coroutine.create(function()
  3224.                                 for i = 0, 49 do
  3225.                                     swait(1)
  3226.                                     v.Transparency = v.Transparency + 0.08
  3227.                                 end
  3228.                                 wait(0.5)
  3229.                                 PartEmmit1.Enabled = false
  3230.                                 wait(3)
  3231.                                 v:Destroy()
  3232.                                 dude:Destroy()
  3233.                             end))
  3234.                         end))
  3235.                     end
  3236.                 end
  3237.             end))
  3238.         end)
  3239.         ds()
  3240.     end
  3241. end
  3242.  
  3243. function FindNearestHead(Position, Distance, SinglePlayer)
  3244.     if SinglePlayer then
  3245.         return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
  3246.     end
  3247.     local List = {}
  3248.     for i, v in pairs(workspace:GetChildren()) do
  3249.         if v:IsA("Model") and v:findFirstChild("Head") and v ~= char and Distance >= (v.Head.Position - Position).magnitude then
  3250.             table.insert(List, v)
  3251.         end
  3252.     end
  3253.     return List
  3254. end
  3255.  
  3256. function Aura(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos, MType)
  3257.     local type = type
  3258.     local rng = Instance.new("Part", char)
  3259.     rng.Anchored = true
  3260.     rng.BrickColor = color
  3261.     rng.CanCollide = false
  3262.     rng.FormFactor = 3
  3263.     rng.Name = "Ring"
  3264.     rng.Material = "Neon"
  3265.     rng.Size = Vector3.new(1, 1, 1)
  3266.     rng.Transparency = 0
  3267.     rng.TopSurface = 0
  3268.     rng.BottomSurface = 0
  3269.     rng.CFrame = pos
  3270.     rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
  3271.     local rngm = Instance.new("SpecialMesh", rng)
  3272.     rngm.MeshType = MType
  3273.     rngm.Scale = Vector3.new(x1, y1, z1)
  3274.     local scaler2 = 1
  3275.     local speeder = FastSpeed
  3276.     if type == "Add" then
  3277.         scaler2 = 1 * value
  3278.     elseif type == "Divide" then
  3279.         scaler2 = 1 / value
  3280.     end
  3281.     coroutine.resume(coroutine.create(function()
  3282.         for i = 0, 10 / bonuspeed, 0.1 do
  3283.             swait()
  3284.             if type == "Add" then
  3285.                 scaler2 = scaler2 - 0.01 * value / bonuspeed
  3286.             elseif type == "Divide" then
  3287.                 scaler2 = scaler2 - 0.01 / value * bonuspeed
  3288.             end
  3289.             speeder = speeder - 0.01 * FastSpeed * bonuspeed
  3290.             rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
  3291.             rng.Transparency = rng.Transparency + 0.01 * bonuspeed
  3292.             rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
  3293.         end
  3294.         rng:Destroy()
  3295.     end))
  3296. end
  3297.  
  3298. function SoulSteal(dude)
  3299. if dude.Name ~= char then
  3300. local bgf = IT("BodyGyro", dude.Head)
  3301. bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
  3302. local val = IT("BoolValue", dude)
  3303. val.Name = "IsHit"
  3304. local torso = (dude:FindFirstChild'Head' or dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso' or dude:FindFirstChild'LowerTorso' or dude:FindFirstChild'HumanoidRootPart')
  3305. local soulst = coroutine.wrap(function()
  3306. local soul = Instance.new("Part",dude)
  3307. soul.Size = Vector3.new(1,1,1)
  3308. soul.CanCollide = false
  3309. soul.Anchored = false
  3310. soul.Position = torso.Position
  3311. soul.Transparency = 1
  3312. local PartEmmit1 = IT("ParticleEmitter", soul)
  3313. PartEmmit1.LightEmission = 1
  3314. PartEmmit1.Texture = "rbxassetid://569507414"
  3315. PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  3316. PartEmmit1.Rate = 250
  3317. PartEmmit1.Lifetime = NumberRange.new(1.6)
  3318. PartEmmit1.Size = NumberSequence.new({
  3319.     NumberSequenceKeypoint.new(0, 1, 0),
  3320.     NumberSequenceKeypoint.new(1, 0, 0)
  3321. })
  3322. PartEmmit1.Transparency = NumberSequence.new({
  3323.     NumberSequenceKeypoint.new(0, 0, 0),
  3324.     NumberSequenceKeypoint.new(1, 1, 0)
  3325. })
  3326. PartEmmit1.Speed = NumberRange.new(0, 0)
  3327. PartEmmit1.VelocitySpread = 30000
  3328. PartEmmit1.Rotation = NumberRange.new(-360, 360)
  3329. PartEmmit1.RotSpeed = NumberRange.new(-360, 360)
  3330. local BodPoss = IT("BodyPosition", soul)
  3331. BodPoss.P = 3000
  3332. BodPoss.D = 1000
  3333. BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
  3334. BodPoss.position = torso.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
  3335. wait(1.6)
  3336. soul.Touched:connect(function(hit)
  3337.     if hit.Parent == char then
  3338.     soul:Destroy()
  3339.     end
  3340. end)
  3341. wait(1.2)
  3342. while soul do
  3343.     swait()
  3344.     PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  3345.     BodPoss.Position = tors.Position
  3346. end
  3347. end)
  3348.     soulst()
  3349.     end
  3350. end
  3351. function FaceMouse()
  3352. local   Cam = workspace.CurrentCamera
  3353.     return {
  3354.         CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
  3355.         Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
  3356.     }
  3357. end
  3358.  
  3359. function ShowDamage(Pos, Text, Time, Color)
  3360.     local Rate = (1 / 30)
  3361.     local Pos = (Pos or Vector3.new(0, 0, 0))
  3362.     local Text = (Text or "")
  3363.     local Time = (Time or 2)
  3364.     local Color = (Color or Color3.new(1, 0, 1))
  3365.     local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
  3366.     EffectPart.Anchored = true
  3367.     local BillboardGui = Create("BillboardGui"){
  3368.         Size = UDim2.new(3, 0, 3, 0),
  3369.         Adornee = EffectPart,
  3370.         Parent = EffectPart,
  3371.     }
  3372.     local TextLabel = Create("TextLabel"){
  3373.         BackgroundTransparency = 1,
  3374.         Size = UDim2.new(1, 0, 1, 0),
  3375.         Text = Text,
  3376.         Font = "Bodoni",
  3377.         TextColor3 = Color,
  3378.         TextScaled = true,
  3379.         TextStrokeColor3 = Color3.fromRGB(0,0,0),
  3380.         Parent = BillboardGui,
  3381.     }
  3382.     game.Debris:AddItem(EffectPart, (Time))
  3383.     EffectPart.Parent = game:GetService("Workspace")
  3384.     delay(0, function()
  3385.         local Frames = (Time / Rate)
  3386.         for Frame = 1, Frames do
  3387.             wait(Rate)
  3388.             local Percent = (Frame / Frames)
  3389.             EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
  3390.             TextLabel.TextTransparency = Percent
  3391.         end
  3392.         if EffectPart and EffectPart.Parent then
  3393.             EffectPart:Destroy()
  3394.         end
  3395.     end)
  3396. end
  3397.  
  3398.  
  3399. EffectModel = Instance.new("Model", char)
  3400. Effects = {
  3401.   Block = {
  3402.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  3403.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  3404.       prt.Anchored = true
  3405.       prt.CFrame = cframe
  3406.       local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3407.       game:GetService("Debris"):AddItem(prt, 10)
  3408.       if Type == 1 or Type == nil then
  3409.         table.insert(Effects, {
  3410.           prt,
  3411.           "Block1",
  3412.           delay,
  3413.           x3,
  3414.           y3,
  3415.           z3,
  3416.           msh
  3417.         })
  3418.       elseif Type == 2 then
  3419.         table.insert(Effects, {
  3420.           prt,
  3421.           "Block2",
  3422.           delay,
  3423.           x3,
  3424.           y3,
  3425.           z3,
  3426.           msh
  3427.         })
  3428.       else
  3429.         table.insert(Effects, {
  3430.           prt,
  3431.           "Block3",
  3432.           delay,
  3433.           x3,
  3434.           y3,
  3435.           z3,
  3436.           msh
  3437.         })
  3438.       end
  3439.     end
  3440.   },
  3441.   Sphere = {
  3442.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3443.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  3444.       prt.Anchored = true
  3445.       prt.CFrame = cframe
  3446.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3447.       game:GetService("Debris"):AddItem(prt, 10)
  3448.       table.insert(Effects, {
  3449.         prt,
  3450.         "Cylinder",
  3451.         delay,
  3452.         x3,
  3453.         y3,
  3454.         z3,
  3455.         msh
  3456.       })
  3457.     end
  3458.   },
  3459.   Cylinder = {
  3460.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3461.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  3462.       prt.Anchored = true
  3463.       prt.CFrame = cframe
  3464.       local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3465.       game:GetService("Debris"):AddItem(prt, 10)
  3466.       table.insert(Effects, {
  3467.         prt,
  3468.         "Cylinder",
  3469.         delay,
  3470.         x3,
  3471.         y3,
  3472.         z3,
  3473.         msh
  3474.       })
  3475.     end
  3476.   },
  3477.   Wave = {
  3478.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3479.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  3480.       prt.Anchored = true
  3481.       prt.CFrame = cframe
  3482.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1 / 60, y1 / 60, z1 / 60))
  3483.       game:GetService("Debris"):AddItem(prt, 10)
  3484.       table.insert(Effects, {
  3485.         prt,
  3486.         "Cylinder",
  3487.         delay,
  3488.         x3 / 60,
  3489.         y3 / 60,
  3490.         z3 / 60,
  3491.         msh
  3492.       })
  3493.     end
  3494.   },
  3495.   Ring = {
  3496.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3497.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  3498.       prt.Anchored = true
  3499.       prt.CFrame = cframe
  3500.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3501.       game:GetService("Debris"):AddItem(prt, 10)
  3502.       table.insert(Effects, {
  3503.         prt,
  3504.         "Cylinder",
  3505.         delay,
  3506.         x3,
  3507.         y3,
  3508.         z3,
  3509.         msh
  3510.       })
  3511.     end
  3512.   },
  3513.   Break = {
  3514.     Create = function(brickcolor, cframe, x1, y1, z1)
  3515.       local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  3516.       prt.Anchored = true
  3517.       prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  3518.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3519.       local num = math.random(10, 50) / 1000
  3520.       game:GetService("Debris"):AddItem(prt, 10)
  3521.       table.insert(Effects, {
  3522.         prt,
  3523.         "Shatter",
  3524.         num,
  3525.         prt.CFrame,
  3526.         math.random() - math.random(),
  3527.         0,
  3528.         math.random(50, 100) / 100
  3529.       })
  3530.     end
  3531.   },
  3532. Spiral = {
  3533.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3534.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  3535.       prt.Anchored = true
  3536.       prt.CFrame = cframe
  3537.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://1051557", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3538.       game:GetService("Debris"):AddItem(prt, 10)
  3539.       table.insert(Effects, {
  3540.         prt,
  3541.         "Cylinder",
  3542.         delay,
  3543.         x3,
  3544.         y3,
  3545.         z3,
  3546.         msh
  3547.       })
  3548.     end
  3549.   },
  3550. Push = {
  3551.     Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  3552.       local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  3553.       prt.Anchored = true
  3554.       prt.CFrame = cframe
  3555.       local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://437347603", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  3556.       game:GetService("Debris"):AddItem(prt, 10)
  3557.       table.insert(Effects, {
  3558.         prt,
  3559.         "Cylinder",
  3560.         delay,
  3561.         x3,
  3562.         y3,
  3563.         z3,
  3564.         msh
  3565.       })
  3566.     end
  3567.   }
  3568. }
  3569. function part(formfactor ,parent, reflectance, transparency, brickcolor, name, size)
  3570.     local fp = IT("Part")
  3571.     fp.formFactor = formfactor
  3572.     fp.Parent = parent
  3573.     fp.Reflectance = reflectance
  3574.     fp.Transparency = transparency
  3575.     fp.CanCollide = false
  3576.     fp.Locked = true
  3577.     fp.BrickColor = brickcolor
  3578.     fp.Name = name
  3579.     fp.Size = size
  3580.     fp.Position = tors.Position
  3581.     RemoveOutlines(fp)
  3582.     fp.Material = "SmoothPlastic"
  3583.     fp:BreakJoints()
  3584.     return fp
  3585. end
  3586.  
  3587. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  3588.     local mesh = IT(Mesh)
  3589.     mesh.Parent = part
  3590.     if Mesh == "SpecialMesh" then
  3591.         mesh.MeshType = meshtype
  3592.     if meshid ~= "nil" then
  3593.         mesh.MeshId = "http://www.roblox.com/asset/?id="..meshid
  3594.         end
  3595.     end
  3596.     mesh.Offset = offset
  3597.     mesh.Scale = scale
  3598.     return mesh
  3599. end
  3600.  
  3601. function Magic(bonuspeed, type, pos, scale, value, color, MType)
  3602.     local type = type
  3603.     local rng = Instance.new("Part", char)
  3604.     rng.Anchored = true
  3605.     rng.BrickColor = color
  3606.     rng.CanCollide = false
  3607.     rng.FormFactor = 3
  3608.     rng.Name = "Ring"
  3609.     rng.Material = "Neon"
  3610.     rng.Size = Vector3.new(1, 1, 1)
  3611.     rng.Transparency = 0
  3612.     rng.TopSurface = 0
  3613.     rng.BottomSurface = 0
  3614.     rng.CFrame = pos
  3615.     local rngm = Instance.new("SpecialMesh", rng)
  3616.     rngm.MeshType = MType
  3617.     rngm.Scale = scale
  3618.     local scaler2 = 1
  3619.     if type == "Add" then
  3620.         scaler2 = 1 * value
  3621.     elseif type == "Divide" then
  3622.         scaler2 = 1 / value
  3623.     end
  3624.     coroutine.resume(coroutine.create(function()
  3625.         for i = 0, 10 / bonuspeed, 0.1 do
  3626.             swait()
  3627.             if type == "Add" then
  3628.                 scaler2 = scaler2 - 0.01 * value / bonuspeed
  3629.             elseif type == "Divide" then
  3630.                 scaler2 = scaler2 - 0.01 / value * bonuspeed
  3631.             end
  3632.             rng.Transparency = rng.Transparency + 0.01 * bonuspeed
  3633.             rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
  3634.         end
  3635.         rng:Destroy()
  3636.     end))
  3637. end
  3638.  
  3639. function Eviscerate(dude)
  3640.     if dude.Name ~= char then
  3641.         local bgf = IT("BodyGyro", dude.Head)
  3642.         bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
  3643.         local val = IT("BoolValue", dude)
  3644.         val.Name = "IsHit"
  3645.         local ds = coroutine.wrap(function()
  3646.             dude:WaitForChild("Head"):BreakJoints()
  3647.             wait(0.5)
  3648.             target = nil
  3649.             coroutine.resume(coroutine.create(function()
  3650.                 for i, v in pairs(dude:GetChildren()) do
  3651.                     if v:IsA("Accessory") then
  3652.                         v:Destroy()
  3653.                     end
  3654.                     if v:IsA("Humanoid") then
  3655.                         v:Destroy()
  3656.                     end
  3657.                     if v:IsA("CharacterMesh") then
  3658.                         v:Destroy()
  3659.                     end
  3660.                     if v:IsA("Model") then
  3661.                         v:Destroy()
  3662.                     end
  3663.                     if v:IsA("Part") or v:IsA("MeshPart") then
  3664.                         for x, o in pairs(v:GetChildren()) do
  3665.                             if o:IsA("Decal") then
  3666.                                 o:Destroy()
  3667.                             end
  3668.                         end
  3669.                         coroutine.resume(coroutine.create(function()
  3670.                             v.Material = "Neon"
  3671.                             v.CanCollide = false
  3672.                             local PartEmmit1 = IT("ParticleEmitter", v)
  3673.                             PartEmmit1.LightEmission = 1
  3674.                             PartEmmit1.Texture = "rbxassetid://1523916715"
  3675.                             PartEmmit1.Color = ColorSequence.new(Color3.new(0, 0, 0))
  3676.                             PartEmmit1.Rate = 150
  3677.                             PartEmmit1.Lifetime = NumberRange.new(1)
  3678.                             PartEmmit1.Size = NumberSequence.new({
  3679.                                 NumberSequenceKeypoint.new(0, 0.75, 0),
  3680.                                 NumberSequenceKeypoint.new(1, 0, 0)
  3681.                             })
  3682.                             PartEmmit1.Transparency = NumberSequence.new({
  3683.                                 NumberSequenceKeypoint.new(0, 0, 0),
  3684.                                 NumberSequenceKeypoint.new(1, 1, 0)
  3685.                             })
  3686.                             PartEmmit1.Speed = NumberRange.new(0, 0)
  3687.                             PartEmmit1.VelocitySpread = 30000
  3688.                             PartEmmit1.Rotation = NumberRange.new(-500, 500)
  3689.                             PartEmmit1.RotSpeed = NumberRange.new(-500, 500)
  3690.                             local BodPoss = IT("BodyPosition", v)
  3691.                             BodPoss.P = 3000
  3692.                             BodPoss.D = 1000
  3693.                             BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
  3694.                             BodPoss.position = v.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
  3695.                             v.Color = maincolor.Color
  3696.                             coroutine.resume(coroutine.create(function()
  3697.                                 for i = 0, 49 do
  3698.                                     swait(1)
  3699.                                     v.Transparency = v.Transparency + 0.08
  3700.                                 end
  3701.                                 wait(0.5)
  3702.                                 PartEmmit1.Enabled = false
  3703.                                 wait(3)
  3704.                                 v:Destroy()
  3705.                                 dude:Destroy()
  3706.                             end))
  3707.                         end))
  3708.                     end
  3709.                 end
  3710.             end))
  3711.         end)
  3712.         ds()
  3713.     end
  3714. end
  3715.  
  3716. function FindNearestHead(Position, Distance, SinglePlayer)
  3717.     if SinglePlayer then
  3718.         return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
  3719.     end
  3720.     local List = {}
  3721.     for i, v in pairs(workspace:GetChildren()) do
  3722.         if v:IsA("Model") and v:findFirstChild("Head") and v ~= char and Distance >= (v.Head.Position - Position).magnitude then
  3723.             table.insert(List, v)
  3724.         end
  3725.     end
  3726.     return List
  3727. end
  3728.  
  3729. function Aura(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos, MType)
  3730.     local type = type
  3731.     local rng = Instance.new("Part", char)
  3732.     rng.Anchored = true
  3733.     rng.BrickColor = color
  3734.     rng.CanCollide = false
  3735.     rng.FormFactor = 3
  3736.     rng.Name = "Ring"
  3737.     rng.Material = "Neon"
  3738.     rng.Size = Vector3.new(1, 1, 1)
  3739.     rng.Transparency = 0
  3740.     rng.TopSurface = 0
  3741.     rng.BottomSurface = 0
  3742.     rng.CFrame = pos
  3743.     rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
  3744.     local rngm = Instance.new("SpecialMesh", rng)
  3745.     rngm.MeshType = MType
  3746.     rngm.Scale = Vector3.new(x1, y1, z1)
  3747.     local scaler2 = 1
  3748.     local speeder = FastSpeed
  3749.     if type == "Add" then
  3750.         scaler2 = 1 * value
  3751.     elseif type == "Divide" then
  3752.         scaler2 = 1 / value
  3753.     end
  3754.     coroutine.resume(coroutine.create(function()
  3755.         for i = 0, 10 / bonuspeed, 0.1 do
  3756.             swait()
  3757.             if type == "Add" then
  3758.                 scaler2 = scaler2 - 0.01 * value / bonuspeed
  3759.             elseif type == "Divide" then
  3760.                 scaler2 = scaler2 - 0.01 / value * bonuspeed
  3761.             end
  3762.             speeder = speeder - 0.01 * FastSpeed * bonuspeed
  3763.             rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
  3764.             rng.Transparency = rng.Transparency + 0.01 * bonuspeed
  3765.             rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
  3766.         end
  3767.         rng:Destroy()
  3768.     end))
  3769. end
  3770.  
  3771. function SoulSteal(dude)
  3772. if dude.Name ~= char then
  3773. local bgf = IT("BodyGyro", dude.Head)
  3774. bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
  3775. local val = IT("BoolValue", dude)
  3776. val.Name = "IsHit"
  3777. local torso = (dude:FindFirstChild'Head' or dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso' or dude:FindFirstChild'LowerTorso' or dude:FindFirstChild'HumanoidRootPart')
  3778. local soulst = coroutine.wrap(function()
  3779. local soul = Instance.new("Part",dude)
  3780. soul.Size = Vector3.new(1,1,1)
  3781. soul.CanCollide = false
  3782. soul.Anchored = false
  3783. soul.Position = torso.Position
  3784. soul.Transparency = 1
  3785. local PartEmmit1 = IT("ParticleEmitter", soul)
  3786. PartEmmit1.LightEmission = 1
  3787. PartEmmit1.Texture = "rbxassetid://569507414"
  3788. PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  3789. PartEmmit1.Rate = 250
  3790. PartEmmit1.Lifetime = NumberRange.new(1.6)
  3791. PartEmmit1.Size = NumberSequence.new({
  3792.     NumberSequenceKeypoint.new(0, 1, 0),
  3793.     NumberSequenceKeypoint.new(1, 0, 0)
  3794. })
  3795. PartEmmit1.Transparency = NumberSequence.new({
  3796.     NumberSequenceKeypoint.new(0, 0, 0),
  3797.     NumberSequenceKeypoint.new(1, 1, 0)
  3798. })
  3799. PartEmmit1.Speed = NumberRange.new(0, 0)
  3800. PartEmmit1.VelocitySpread = 30000
  3801. PartEmmit1.Rotation = NumberRange.new(-360, 360)
  3802. PartEmmit1.RotSpeed = NumberRange.new(-360, 360)
  3803. local BodPoss = IT("BodyPosition", soul)
  3804. BodPoss.P = 3000
  3805. BodPoss.D = 1000
  3806. BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
  3807. BodPoss.position = torso.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
  3808. wait(1.6)
  3809. soul.Touched:connect(function(hit)
  3810.     if hit.Parent == char then
  3811.     soul:Destroy()
  3812.     end
  3813. end)
  3814. wait(1.2)
  3815. while soul do
  3816.     swait()
  3817.     PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  3818.     BodPoss.Position = tors.Position
  3819. end
  3820. end)
  3821.     soulst()
  3822.     end
  3823. end
  3824. function FaceMouse()
  3825. local   Cam = workspace.CurrentCamera
  3826.     return {
  3827.         CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
  3828.         Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
  3829.     }
  3830. end
  3831. -------------------------------------------------------
  3832. --End Effect Function--
  3833. -------------------------------------------------------
  3834. -------------------------------------------------------
  3835. --End Important Functions--
  3836. -------------------------------------------------------
  3837.  
  3838.  
  3839. -------------------------------------------------------
  3840. --Start Customization--
  3841. -------------------------------------------------------
  3842. local Player_Size = 1
  3843. if Player_Size ~= 1 then
  3844. root.Size = root.Size * Player_Size
  3845. tors.Size = tors.Size * Player_Size
  3846. hed.Size = hed.Size * Player_Size
  3847. ra.Size = ra.Size * Player_Size
  3848. la.Size = la.Size * Player_Size
  3849. rl.Size = rl.Size * Player_Size
  3850. ll.Size = ll.Size * Player_Size
  3851. ----------------------------------------------------------------------------------
  3852. rootj.Parent = root
  3853. neck.Parent = tors
  3854. RW.Parent = tors
  3855. LW.Parent = tors
  3856. RH.Parent = tors
  3857. LH.Parent = tors
  3858. ----------------------------------------------------------------------------------
  3859. rootj.C0 = RootCF * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0))
  3860. rootj.C1 = RootCF * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0))
  3861. neck.C0 = necko * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * angles(Rad(0), Rad(0), Rad(0))
  3862. neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * angles(Rad(-90), Rad(0), Rad(180))
  3863. RW.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0)) --* RIGHTSHOULDERC0
  3864. LW.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0)) --* LEFTSHOULDERC0
  3865. ----------------------------------------------------------------------------------
  3866. RH.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
  3867. LH.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(-90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
  3868. RH.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))
  3869. LH.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))
  3870. --hat.Parent = Character
  3871. end
  3872. ----------------------------------------------------------------------------------
  3873. local equipped = false
  3874. local idle = 0
  3875. local change = 1
  3876. local val = 0
  3877. local toim = 0
  3878. local idleanim = 0.4
  3879. local sine = 0
  3880. local Sit = 1
  3881. ----------------------------------------------------------------------------------
  3882. hum.WalkSpeed = 16
  3883. hum.Animator.Parent = nil
  3884. ----------------------------------------------------------------------------------
  3885. char.Parent = Lighting
  3886. wait()
  3887. char.Parent = workspace
  3888.  
  3889. -------------------------------------------------------
  3890. --End Customization--
  3891. -------------------------------------------------------
  3892.  
  3893.  
  3894. -------------------------------------------------------
  3895. --Start Attacks N Stuff--
  3896. -------------------------------------------------------
  3897. local naeeym2 = Instance.new("BillboardGui",char)
  3898. naeeym2.AlwaysOnTop = true
  3899. naeeym2.Size = UDim2.new(5,35,2,35)
  3900. naeeym2.StudsOffset = Vector3.new(0,2,0)
  3901. naeeym2.Adornee = hed
  3902. naeeym2.Name = "Name"
  3903.  
  3904. local IN = Instance.new
  3905. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  3906.     local Sound = IN("Sound")
  3907.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  3908.     Sound.Pitch = pitch or 1
  3909.     Sound.Volume = volume or 1
  3910.     Sound.Looped = looped or false
  3911.     if(autoPlay)then
  3912.         coroutine.wrap(function()
  3913.             repeat wait() until Sound.IsLoaded
  3914.             Sound.Playing = autoPlay or false
  3915.         end)()
  3916.     end
  3917.     if(not looped and effect)then
  3918.         Sound.Stopped:connect(function()
  3919.             Sound.Volume = 0
  3920.             Sound:destroy()
  3921.         end)
  3922.     elseif(effect)then
  3923.         warn("Sound can't be looped and a sound effect!")
  3924.     end
  3925.     Sound.Parent =parent or Torso
  3926.     return Sound
  3927. end
  3928. local MusicID = 943529414
  3929. local Music = Sound(char,MusicID,1,3,true,false,true)
  3930. Music.Name = 'Music'
  3931. while true do
  3932. Head.Transparency = 1
  3933.     swait()
  3934.     sine = sine + change
  3935.   if(not Music or not Music.Parent)then
  3936.         local tPos = 0
  3937.         pcall(function()tPos = Music.TimePosition; Music:destroy() end)
  3938.         Music = Sound(char,MusicID,1,10,true,false,true)
  3939.         Music.Name = 'Music'
  3940.         Music.TimePosition = tPos
  3941.     end
  3942.     local torvel = (root.Velocity * Vector3.new(1, 0, 1)).magnitude
  3943.     local velderp = root.Velocity.y
  3944.     hitfloor, posfloor = rayCast(root.Position, CFrame.new(root.Position, root.Position - Vector3.new(0, 1, 0)).lookVector, 4* Player_Size, char)
  3945.     if equipped == true or equipped == false then
  3946.         if attack == false then
  3947.             idle = idle + 1
  3948.         else
  3949.             idle = 0
  3950.         end
  3951.         if 1 < root.Velocity.y and hitfloor == nil then
  3952.             Anim = "Jump"
  3953.             if attack == false then
  3954.                 rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1 * Cos(sine / 20)* Player_Size) * angles(Rad(-16), Rad(0), Rad(0)), 0.15)
  3955.                 neck.C0 = clerp(neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(10 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
  3956.                 RH.C0 = clerp(RH.C0, CF(1* Player_Size, -.2 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * RHCF * angles(Rad(-2.5), Rad(0), Rad(0)), 0.15)
  3957.                 LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -.9 - 0.1 * Cos(sine / 20), -.5* Player_Size) * LHCF * angles(Rad(-2.5), Rad(0), Rad(0)), 0.15)
  3958.                 RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(25), Rad(-.6), Rad(13 + 4.5 * Sin(sine / 20))), 0.1)
  3959.                 LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(25), Rad(-.6), Rad(-13 - 4.5 * Sin(sine / 20))), 0.1)
  3960.             end
  3961.         elseif -1 > root.Velocity.y and hitfloor == nil then
  3962.             Anim = "Fall"
  3963.             if attack == false then
  3964.                 rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1 * Cos(sine / 20)* Player_Size) * angles(Rad(24), Rad(0), Rad(0)), 0.15)
  3965.                 neck.C0 = clerp(neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(10 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
  3966.                 RH.C0 = clerp(RH.C0, CF(1* Player_Size, -1 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * RHCF * angles(Rad(-3.5), Rad(0), Rad(0)), 0.15)
  3967.                 LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -.8 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * LHCF * angles(Rad(-3.5), Rad(0), Rad(0)), 0.15)
  3968.                 RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(65), Rad(-.6), Rad(45 + 4.5 * Sin(sine / 20))), 0.1)
  3969.                 LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(55), Rad(-.6), Rad(-45 - 4.5 * Sin(sine / 20))), 0.1)
  3970.             end
  3971.         elseif torvel < 1 and hitfloor ~= nil then
  3972.             Anim = "Idle"
  3973.             change = 1
  3974.             if attack == false then
  3975.                 rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(0), Rad(0), Rad(20)), 0.15)
  3976.                 tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(15 - 7.5 * Sin(sine / 30)), Rad(0), Rad(-20)), 0.3)
  3977.                 RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(75), Rad(0)) * angles(Rad(-12.5), Rad(0), Rad(0)), 0.15)
  3978.                 LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-75), Rad(0)) * angles(Rad(-12.5), Rad(0), Rad(8)), 0.15)
  3979.                 RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(10), Rad(-.6), Rad(15 + 6.5 * Sin(sine / 20))), 0.1)
  3980.                 LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(-10), Rad(-.6), Rad(-15 - 6.5 * Sin(sine / 20))), 0.1)
  3981.             end
  3982.         elseif torvel > 2 and torvel < 25 and hitfloor ~= nil then
  3983.             Anim = "Walk"
  3984.             change = 1
  3985.             if attack == false then
  3986.                 rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.175 + 0.025 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7* Player_Size) * angles(Rad(3 - 2.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(8 * Cos(sine / 7))), 0.15)
  3987.                 tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(6 - 2.5 * Sin(sine / 7)), Rad(0), Rad(0) - hed.RotVelocity.Y / 15), 0.3)
  3988.                 RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.8 - 0.5 * Cos(sine / 7) / 2* Player_Size, 0.6 * Cos(sine / 7) / 2* Player_Size)  * angles(Rad(-10 - 25 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 10 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
  3989.                 LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.8 + 0.5 * Cos(sine / 7) / 2* Player_Size, -0.6 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-10 + 25 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 10 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
  3990.                 RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(37)  * Cos(sine / 7) , Rad(8 * Cos(sine / 7)), Rad(6) - ra.RotVelocity.Y / 75), 0.1)
  3991.                 LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(-37)  * Cos(sine / 7) , Rad(8 * Cos(sine / 7)) ,   Rad(-6) + la.RotVelocity.Y / 75), 0.1)
  3992.             end
  3993.         elseif torvel >= 25 and hitfloor ~= nil then
  3994.             Anim = "Sprint"
  3995.             change = 1.35
  3996.             if attack == false then
  3997.             rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.175 + 0.025 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7* Player_Size) * angles(Rad(26 - 4.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(15 * Cos(sine / 7))), 0.15)
  3998.             tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-2.5 * Sin(sine / 20)), Rad(0), Rad(0) - hed.RotVelocity.Y / 15), 0.3)
  3999.             RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.925 - 0.5 * Cos(sine / 7) / 2* Player_Size, 0.7 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 - 55 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 0.1 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 0.1 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
  4000.             LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.925 + 0.5 * Cos(sine / 7) / 2* Player_Size, -0.7 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 + 55 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 0.1 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 0.1 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
  4001.             RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 30)* Player_Size, 0.34 * Cos(sine / 7* Player_Size)) * angles(Rad(110)  * Cos(sine / 7) , Rad(0), Rad(13) - ra.RotVelocity.Y / 75), 0.15)
  4002.             LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 30)* Player_Size, -0.34 * Cos(sine / 7* Player_Size)) * angles(Rad(-110)  * Cos(sine / 7) , Rad(0) , Rad(-13) + la.RotVelocity.Y / 75), 0.15)
  4003.             end
  4004.         end
  4005.     end
  4006.     if 0 < #Effects then
  4007.         for e = 1, #Effects do
  4008.             if Effects[e] ~= nil then
  4009.                 local Thing = Effects[e]
  4010.                 if Thing ~= nil then
  4011.                     local Part = Thing[1]
  4012.                     local Mode = Thing[2]
  4013.                     local Delay = Thing[3]
  4014.                     local IncX = Thing[4]
  4015.                     local IncY = Thing[5]
  4016.                     local IncZ = Thing[6]
  4017.                     if 1 >= Thing[1].Transparency then
  4018.                         if Thing[2] == "Block1" then
  4019.                             Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  4020.                             local Mesh = Thing[1].Mesh
  4021.                             Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  4022.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  4023.                         elseif Thing[2] == "Block2" then
  4024.                             Thing[1].CFrame = Thing[1].CFrame + Vector3.new(0, 0, 0)
  4025.                             local Mesh = Thing[7]
  4026.                             Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  4027.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  4028.                         elseif Thing[2] == "Block3" then
  4029.                             Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) + Vector3.new(0, 0.15, 0)
  4030.                             local Mesh = Thing[7]
  4031.                             Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  4032.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  4033.                         elseif Thing[2] == "Cylinder" then
  4034.                             local Mesh = Thing[1].Mesh
  4035.                             Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  4036.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  4037.                         elseif Thing[2] == "Blood" then
  4038.                             local Mesh = Thing[7]
  4039.                             Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, 0.5, 0)
  4040.                             Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  4041.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  4042.                         elseif Thing[2] == "Elec" then
  4043.                             local Mesh = Thing[1].Mesh
  4044.                             Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
  4045.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  4046.                         elseif Thing[2] == "Disappear" then
  4047.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  4048.                         elseif Thing[2] == "Shatter" then
  4049.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  4050.                             Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
  4051.                             Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
  4052.                             Thing[6] = Thing[6] + Thing[5]
  4053.                         end
  4054.                     else
  4055.                         Part.Parent = nil
  4056.                         table.remove(Effects, e)
  4057.                     end
  4058.                 end
  4059.             end
  4060.         end
  4061.     end
  4062. end
  4063. -------------------------------------------------------
  4064. --End Animations And Script--
  4065. -------------------------------------------------------
Add Comment
Please, Sign In to add comment