SHARE
TWEET

ShotGun Slayer

Basykung7845 May 12th, 2019 135 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. do
  4.     print("FE Compatibility code by Basykung7845")
  5.     script.Parent = Player.Character
  6.  
  7.     --RemoteEvent for communicating
  8.     local Event = Instance.new("RemoteEvent")
  9.     Event.Name = "UserInput_Event"
  10.  
  11.     --Fake event to make stuff like Mouse.KeyDown work
  12.     local function fakeEvent()
  13.         local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  14.         t.connect = t.Connect
  15.         return t
  16.     end
  17.  
  18.     --Creating fake input objects with fake variables
  19.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  20.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  21.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  22.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  23.     end}
  24.     --Merged 2 functions into one by checking amount of arguments
  25.     CAS.UnbindAction = CAS.BindAction
  26.  
  27.     --This function will trigger the events that have been :Connect()'ed
  28.     local function te(self,ev,...)
  29.         local t = m[ev]
  30.         if t and t._fakeEvent and t.Function then
  31.             t.Function(...)
  32.         end
  33.     end
  34.     m.TrigEvent = te
  35.     UIS.TrigEvent = te
  36.  
  37.     Event.OnServerEvent:Connect(function(plr,io)
  38.         if plr~=Player then return end
  39.         if io.isMouse then
  40.             m.Target = io.Target
  41.             m.Hit = io.Hit
  42.         else
  43.             local b = io.UserInputState == Enum.UserInputState.Begin
  44.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  45.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  46.             end
  47.             for _,t in pairs(CAS.Actions) do
  48.                 for _,k in pairs(t.Keys) do
  49.                     if k==io.KeyCode then
  50.                         t.Function(t.Name,io.UserInputState,io)
  51.                     end
  52.                 end
  53.             end
  54.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  55.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  56.         end
  57.     end)
  58.     Event.Parent = NLS([==[
  59.     local Player = game:GetService("Players").LocalPlayer
  60.     local Event = script:WaitForChild("UserInput_Event")
  61.  
  62.     local UIS = game:GetService("UserInputService")
  63.     local input = function(io,a)
  64.         if a then return end
  65.         --Since InputObject is a client-side instance, we create and pass table instead
  66.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  67.     end
  68.     UIS.InputBegan:Connect(input)
  69.     UIS.InputEnded:Connect(input)
  70.  
  71.     local Mouse = Player:GetMouse()
  72.     local h,t
  73.     --Give the server mouse data 30 times every second, but only if the values changed
  74.     --If player is not moving their mouse, client won't fire events
  75.     while wait(1/30) do
  76.         if h~=Mouse.Hit or t~=Mouse.Target then
  77.             h,t=Mouse.Hit,Mouse.Target
  78.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  79.         end
  80.     end]==],Player.Character)
  81.     Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  82. end
  83.  
  84. wait(0.2)
  85.  
  86. Player = owner
  87. PlayerGui = Player.PlayerGui
  88. Cam = workspace.CurrentCamera
  89. Backpack = Player.Backpack
  90. Character = Player.Character
  91. Humanoid = Character.Humanoid
  92. RootPart = Character["HumanoidRootPart"]
  93. Torso = Character["Torso"]
  94. Head = Character["Head"]
  95. RightArm = Character["Right Arm"]
  96. LeftArm = Character["Left Arm"]
  97. RightLeg = Character["Right Leg"]
  98. LeftLeg = Character["Left Leg"]
  99. RootJoint = RootPart["RootJoint"]
  100. Neck = Torso["Neck"]
  101. RightShoulder = Torso["Right Shoulder"]
  102. LeftShoulder = Torso["Left Shoulder"]
  103. RightHip = Torso["Right Hip"]
  104. LeftHip = Torso["Left Hip"]
  105. local sick = Instance.new("Sound",Torso)
  106. sick.SoundId = "rbxassetid://1755770760"
  107. sick.Looped = true
  108. sick.Pitch = 1
  109. sick.Volume = 2
  110. sick:Play()
  111.  
  112. IT = Instance.new
  113. CF = CFrame.new
  114. VT = Vector3.new
  115. RAD = math.rad
  116. C3 = Color3.new
  117. UD2 = UDim2.new
  118. BRICKC = BrickColor.new
  119. ANGLES = CFrame.Angles
  120. EULER = CFrame.fromEulerAnglesXYZ
  121. COS = math.cos
  122. ACOS = math.acos
  123. SIN = math.sin
  124. ASIN = math.asin
  125. ABS = math.abs
  126. MRANDOM = math.random
  127. FLOOR = math.floor
  128.  
  129. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  130.     local NEWMESH = IT(MESH)
  131.     if MESH == "SpecialMesh" then
  132.         NEWMESH.MeshType = MESHTYPE
  133.         if MESHID ~= "nil" and MESHID ~= "" then
  134.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  135.         end
  136.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  137.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  138.         end
  139.     end
  140.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  141.     NEWMESH.Scale = SCALE
  142.     NEWMESH.Parent = PARENT
  143.     return NEWMESH
  144. end
  145.  
  146. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  147.     local NEWPART = IT("Part")
  148.     NEWPART.formFactor = FORMFACTOR
  149.     NEWPART.Reflectance = REFLECTANCE
  150.     NEWPART.Transparency = TRANSPARENCY
  151.     NEWPART.CanCollide = false
  152.     NEWPART.Locked = true
  153.     NEWPART.Anchored = true
  154.     if ANCHOR == false then
  155.         NEWPART.Anchored = false
  156.     end
  157.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  158.     NEWPART.Name = NAME
  159.     NEWPART.Size = SIZE
  160.     NEWPART.Position = Torso.Position
  161.     NEWPART.Material = MATERIAL
  162.     NEWPART:BreakJoints()
  163.     NEWPART.Parent = PARENT
  164.     return NEWPART
  165. end
  166.  
  167. --//=================================\\
  168. --||          CUSTOMIZATION
  169. --\\=================================//
  170.  
  171. Player_Size = 1 --Size of the player.
  172. Animation_Speed = 3
  173. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  174.  
  175. local Speed = 16
  176. local Effects2 = {}
  177.  
  178. --//=================================\\
  179. --||      END OF CUSTOMIZATION
  180. --\\=================================//
  181.  
  182.     local function weldBetween(a, b)
  183.         local weldd = Instance.new("ManualWeld")
  184.         weldd.Part0 = a
  185.         weldd.Part1 = b
  186.         weldd.C0 = CFrame.new()
  187.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  188.         weldd.Parent = a
  189.         return weldd
  190.     end
  191.  
  192. --//=================================\\
  193. --||          USEFUL VALUES
  194. --\\=================================//
  195.  
  196. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  197. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  198. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  199. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  200. local CHANGEDEFENSE = 0
  201. local CHANGEDAMAGE = 0
  202. local CHANGEMOVEMENT = 0
  203. local ANIM = "Idle"
  204. local ATTACK = false
  205. local EQUIPPED = false
  206. local HOLD = false
  207. local COMBO = 1
  208. local Rooted = false
  209. local Horn1 = IT("Folder", Character)
  210. Horn1.Name = "Horn1"
  211. local SINE = 0
  212. local KEYHOLD = false
  213. local CHANGE = 2 / Animation_Speed
  214. local WALKINGANIM = false
  215. local MODE = "Cop"
  216. local WALK = 0
  217. local VALUE1 = false
  218. local VALUE2 = false
  219. local ROBLOXIDLEANIMATION = IT("Animation")
  220. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  221. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  222. --ROBLOXIDLEANIMATION.Parent = Humanoid
  223. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  224. WEAPONGUI.Name = "Weapon GUI"
  225. local Effects = IT("Folder", Character)
  226. Effects.Name = "Effects"
  227. local Weapon = IT("Model")
  228. Weapon.Name = "Adds"
  229. local Effects = IT("Folder", Weapon)
  230. Effects.Name = "Effects"
  231. local ANIMATOR = Humanoid.Animator
  232. local ANIMATE = Character.Animate
  233. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  234. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  235. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  236. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  237. local UNANCHOR = true
  238.  
  239. local SKILLTEXTCOLOR = C3(0,0,0)
  240.  
  241. local naeeym2 = Instance.new("BillboardGui",Character)
  242. naeeym2.AlwaysOnTop = true
  243. naeeym2.Size = UDim2.new(5,35,2,35)
  244. naeeym2.StudsOffset = Vector3.new(0,2,0)
  245. naeeym2.Adornee = Character.Head
  246. naeeym2.Name = "Name"
  247. naeeym2.PlayerToHideFrom = Player
  248. local tecks2 = Instance.new("TextLabel",naeeym2)
  249. tecks2.BackgroundTransparency = 1
  250. tecks2.TextScaled = true
  251. tecks2.BorderSizePixel = 0
  252. tecks2.Text = Player.Name..", The Ultimate Edgelord"
  253. tecks2.Font = "Antique"
  254. tecks2.TextSize = 30
  255. tecks2.TextStrokeTransparency = 0
  256. tecks2.TextColor3 = Color3.new(0,0,0)
  257. tecks2.TextStrokeColor3 = Color3.new(0.2,0.2,0.2)
  258. tecks2.Size = UDim2.new(1,0,0.5,0)
  259. tecks2.Parent = naeeym2
  260.  
  261. --//=================================\\
  262. --\\=================================//
  263.  
  264.  
  265. --//=================================\\
  266. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  267. --\\=================================//
  268.  
  269. ArtificialHB = Instance.new("BindableEvent", script)
  270. ArtificialHB.Name = "ArtificialHB"
  271.  
  272. script:WaitForChild("ArtificialHB")
  273.  
  274. frame = Frame_Speed
  275. tf = 0
  276. allowframeloss = false
  277. tossremainder = false
  278. lastframe = tick()
  279. script.ArtificialHB:Fire()
  280.  
  281. game:GetService("RunService").Heartbeat:connect(function(s, p)
  282.     tf = tf + s
  283.     if tf >= frame then
  284.         if allowframeloss then
  285.             script.ArtificialHB:Fire()
  286.             lastframe = tick()
  287.         else
  288.             for i = 1, math.floor(tf / frame) do
  289.                 script.ArtificialHB:Fire()
  290.             end
  291.         lastframe = tick()
  292.         end
  293.         if tossremainder then
  294.             tf = 0
  295.         else
  296.             tf = tf - frame * math.floor(tf / frame)
  297.         end
  298.     end
  299. end)
  300.  
  301. --//=================================\\
  302. --\\=================================//
  303.  
  304.  
  305.  
  306.  
  307.  
  308. --//=================================\\
  309. --||          SOME FUNCTIONS
  310. --\\=================================//
  311.  
  312. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  313.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  314. end
  315.  
  316. function PositiveAngle(NUMBER)
  317.     if NUMBER >= 0 then
  318.         NUMBER = 0
  319.     end
  320.     return NUMBER
  321. end
  322.  
  323. function NegativeAngle(NUMBER)
  324.     if NUMBER <= 0 then
  325.         NUMBER = 0
  326.     end
  327.     return NUMBER
  328. end
  329.  
  330. function Swait(NUMBER)
  331.     if NUMBER == 0 or NUMBER == nil then
  332.         ArtificialHB.Event:wait()
  333.     else
  334.         for i = 1, NUMBER do
  335.             ArtificialHB.Event:wait()
  336.         end
  337.     end
  338. end
  339.  
  340. function QuaternionFromCFrame(cf)
  341.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  342.     local trace = m00 + m11 + m22
  343.     if trace > 0 then
  344.         local s = math.sqrt(1 + trace)
  345.         local recip = 0.5 / s
  346.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  347.     else
  348.         local i = 0
  349.         if m11 > m00 then
  350.             i = 1
  351.         end
  352.         if m22 > (i == 0 and m00 or m11) then
  353.             i = 2
  354.         end
  355.         if i == 0 then
  356.             local s = math.sqrt(m00 - m11 - m22 + 1)
  357.             local recip = 0.5 / s
  358.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  359.         elseif i == 1 then
  360.             local s = math.sqrt(m11 - m22 - m00 + 1)
  361.             local recip = 0.5 / s
  362.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  363.         elseif i == 2 then
  364.             local s = math.sqrt(m22 - m00 - m11 + 1)
  365.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  366.         end
  367.     end
  368. end
  369.  
  370. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  371.     local xs, ys, zs = x + x, y + y, z + z
  372.     local wx, wy, wz = w * xs, w * ys, w * zs
  373.     local xx = x * xs
  374.     local xy = x * ys
  375.     local xz = x * zs
  376.     local yy = y * ys
  377.     local yz = y * zs
  378.     local zz = z * zs
  379.     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))
  380. end
  381.  
  382. function QuaternionSlerp(a, b, t)
  383.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  384.     local startInterp, finishInterp;
  385.     if cosTheta >= 0.0001 then
  386.         if (1 - cosTheta) > 0.0001 then
  387.             local theta = ACOS(cosTheta)
  388.             local invSinTheta = 1 / SIN(theta)
  389.             startInterp = SIN((1 - t) * theta) * invSinTheta
  390.             finishInterp = SIN(t * theta) * invSinTheta
  391.         else
  392.             startInterp = 1 - t
  393.             finishInterp = t
  394.         end
  395.     else
  396.         if (1 + cosTheta) > 0.0001 then
  397.             local theta = ACOS(-cosTheta)
  398.             local invSinTheta = 1 / SIN(theta)
  399.             startInterp = SIN((t - 1) * theta) * invSinTheta
  400.             finishInterp = SIN(t * theta) * invSinTheta
  401.         else
  402.             startInterp = t - 1
  403.             finishInterp = t
  404.         end
  405.     end
  406.     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
  407. end
  408.  
  409. function Clerp(a, b, t)
  410.     local qa = {QuaternionFromCFrame(a)}
  411.     local qb = {QuaternionFromCFrame(b)}
  412.     local ax, ay, az = a.x, a.y, a.z
  413.     local bx, by, bz = b.x, b.y, b.z
  414.     local _t = 1 - t
  415.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  416. end
  417.  
  418. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  419.     local frame = IT("Frame")
  420.     frame.BackgroundTransparency = TRANSPARENCY
  421.     frame.BorderSizePixel = BORDERSIZEPIXEL
  422.     frame.Position = POSITION
  423.     frame.Size = SIZE
  424.     frame.BackgroundColor3 = COLOR
  425.     frame.BorderColor3 = BORDERCOLOR
  426.     frame.Name = NAME
  427.     frame.Parent = PARENT
  428.     return frame
  429. end
  430.  
  431. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  432.     local label = IT("TextLabel")
  433.     label.BackgroundTransparency = 1
  434.     label.Size = UD2(1, 0, 1, 0)
  435.     label.Position = UD2(0, 0, 0, 0)
  436.     label.TextColor3 = TEXTCOLOR
  437.     label.TextStrokeTransparency = STROKETRANSPARENCY
  438.     label.TextTransparency = TRANSPARENCY
  439.     label.FontSize = TEXTFONTSIZE
  440.     label.Font = TEXTFONT
  441.     label.BorderSizePixel = BORDERSIZEPIXEL
  442.     label.TextScaled = false
  443.     label.Text = TEXT
  444.     label.Name = NAME
  445.     label.Parent = PARENT
  446.     return label
  447. end
  448.  
  449. function NoOutlines(PART)
  450.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  451. end
  452.  
  453.  
  454. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  455.     local NEWWELD = IT(TYPE)
  456.     NEWWELD.Part0 = PART0
  457.     NEWWELD.Part1 = PART1
  458.     NEWWELD.C0 = C0
  459.     NEWWELD.C1 = C1
  460.     NEWWELD.Parent = PARENT
  461.     return NEWWELD
  462. end
  463.  
  464. local S = IT("Sound")
  465.  
  466. function CreateSound(ID, PARENT, VOLUME, PITCH)
  467.     local NEWSOUND = nil
  468.     coroutine.resume(coroutine.create(function()
  469.         NEWSOUND = S:Clone()
  470.         NEWSOUND.Parent = PARENT
  471.         NEWSOUND.Volume = VOLUME
  472.         NEWSOUND.Pitch = PITCH
  473.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  474.         Swait()
  475.         NEWSOUND:play()
  476.         game:GetService("Debris"):AddItem(NEWSOUND, 10)
  477.     end))
  478.     return NEWSOUND
  479. end
  480.  
  481. function CFrameFromTopBack(at, top, back)
  482.     local right = top:Cross(back)
  483.     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)
  484. end
  485.  
  486. function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  487.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  488.     local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  489.     wave.CFrame = CFRAME
  490.     coroutine.resume(coroutine.create(function(PART)
  491.         for i = 1, WAIT do
  492.             Swait()
  493.             mesh.Scale = mesh.Scale + GROW
  494.             mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  495.             if DOESROT == true then
  496.                 wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  497.             end
  498.             wave.Transparency = wave.Transparency + (0.5/WAIT)
  499.             if wave.Transparency > 0.99 then
  500.                 wave:remove()
  501.             end
  502.         end
  503.     end))
  504. end
  505.  
  506. --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})
  507. function WACKYEFFECT(Table)
  508.     local TYPE = (Table.EffectType or "Sphere")
  509.     local SIZE = (Table.Size or VT(1,1,1))
  510.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  511.     local TRANSPARENCY = (Table.Transparency or 0)
  512.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  513.     local CFRAME = (Table.CFrame or Torso.CFrame)
  514.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  515.     local ROTATION1 = (Table.RotationX or 0)
  516.     local ROTATION2 = (Table.RotationY or 0)
  517.     local ROTATION3 = (Table.RotationZ or 0)
  518.     local MATERIAL = (Table.Material or "Neon")
  519.     local COLOR = (Table.Color or C3(1,1,1))
  520.     local TIME = (Table.Time or 45)
  521.     local SOUNDID = (Table.SoundID or nil)
  522.     local SOUNDPITCH = (Table.SoundPitch or nil)
  523.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  524.     coroutine.resume(coroutine.create(function()
  525.         local PLAYSSOUND = false
  526.         local SOUND = nil
  527.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  528.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  529.             PLAYSSOUND = true
  530.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  531.         end
  532.         EFFECT.Color = COLOR
  533.         local MSH = nil
  534.         if TYPE == "Sphere" then
  535.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  536.         elseif TYPE == "Block" then
  537.             MSH = IT("BlockMesh",EFFECT)
  538.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  539.         elseif TYPE == "Wave" then
  540.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  541.         elseif TYPE == "Ring" then
  542.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  543.         elseif TYPE == "Slash" then
  544.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  545.         elseif TYPE == "Round Slash" then
  546.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  547.         elseif TYPE == "Swirl" then
  548.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  549.         elseif TYPE == "Skull" then
  550.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  551.         elseif TYPE == "Crystal" then
  552.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  553.         end
  554.         if MSH ~= nil then
  555.             local MOVESPEED = nil
  556.             if MOVEDIRECTION ~= nil then
  557.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  558.             end
  559.             local GROWTH = SIZE - ENDSIZE
  560.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  561.             if TYPE == "Block" then
  562.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  563.             else
  564.                 EFFECT.CFrame = CFRAME
  565.             end
  566.             for LOOP = 1, TIME+1 do
  567.                 Swait()
  568.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  569.                 if TYPE == "Wave" then
  570.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  571.                 end
  572.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  573.                 if TYPE == "Block" then
  574.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  575.                 else
  576.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  577.                 end
  578.                 if MOVEDIRECTION ~= nil then
  579.                     local ORI = EFFECT.Orientation
  580.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  581.                     EFFECT.Orientation = ORI
  582.                 end
  583.             end
  584.             if PLAYSSOUND == false then
  585.                 EFFECT:remove()
  586.             else
  587.                 SOUND.Stopped:Connect(function()
  588.                     EFFECT:remove()
  589.                 end)
  590.             end
  591.         else
  592.             if PLAYSSOUND == false then
  593.                 EFFECT:remove()
  594.             else
  595.                 repeat Swait() until SOUND.Playing == false
  596.                 EFFECT:remove()
  597.             end
  598.         end
  599.     end))
  600. end
  601.  
  602. function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
  603.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  604.     local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0,0,0))
  605.     wave.CFrame = CFRAME
  606.     coroutine.resume(coroutine.create(function(PART)
  607.         for i = 1, WAIT do
  608.             Swait()
  609.             mesh.Scale = mesh.Scale + GROW
  610.             if DOESROT == true then
  611.                 wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  612.             end
  613.             wave.Transparency = wave.Transparency + (0.5/WAIT)
  614.             if wave.Transparency > 0.99 then
  615.                 wave:remove()
  616.             end
  617.         end
  618.     end))
  619. end
  620.  
  621. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  622.     local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  623.     local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
  624.     wave.CFrame = CFRAME
  625.     coroutine.resume(coroutine.create(function(PART)
  626.         for i = 1, WAIT do
  627.             Swait()
  628.             mesh.Scale = mesh.Scale + GROW
  629.             wave.Transparency = wave.Transparency + (1/WAIT)
  630.             if wave.Transparency > 0.99 then
  631.                 wave:remove()
  632.             end
  633.         end
  634.     end))
  635. end
  636.  
  637. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  638.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  639.     local mesh = nil
  640.     if KIND == "Base" then
  641.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  642.     elseif KIND == "Thin" then
  643.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  644.     elseif KIND == "Round" then
  645.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  646.     end
  647.     wave.CFrame = CFRAME
  648.     coroutine.resume(coroutine.create(function(PART)
  649.         for i = 1, WAIT do
  650.             Swait()
  651.             mesh.Scale = mesh.Scale + GROW/10
  652.             wave.Transparency = wave.Transparency + (0.5/WAIT)
  653.             if wave.Transparency > 0.99 then
  654.                 wave:remove()
  655.             end
  656.         end
  657.     end))
  658. end
  659.  
  660. function MakeForm(PART,TYPE)
  661.     if TYPE == "Cyl" then
  662.         local MSH = IT("CylinderMesh",PART)
  663.     elseif TYPE == "Ball" then
  664.         local MSH = IT("SpecialMesh",PART)
  665.         MSH.MeshType = "Sphere"
  666.     elseif TYPE == "Wedge" then
  667.         local MSH = IT("SpecialMesh",PART)
  668.         MSH.MeshType = "Wedge"
  669.     end
  670. end
  671.  
  672. function SpawnKnife(SIZE,ISGRABBED,LIMB,ROT,ROT2,DOESDODAMAGE,DAMAGE)
  673.     SIZE = SIZE / 2
  674.     local WELD = nil
  675.     local KNIFEMODEL = IT("Model",Effects)
  676.     KNIFEMODEL.Name = "Knife"
  677.     local HandlePart = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Handle", VT(0.2,1.5,0.2)*SIZE,false)
  678.     MakeForm(HandlePart,"Cyl")
  679.     if ISGRABBED == true then
  680.         WELD = CreateWeldOrSnapOrMotor("Weld", HandlePart, LIMB, HandlePart, CF(0, -1, 0) * ANGLES(RAD(ROT), RAD(ROT2), RAD(0)), CF(0, 0, 0))
  681.     end
  682.     local BladePart = CreatePart(3, KNIFEMODEL, "Neon", 0,1, "Really red", "BladeHolder", VT(0.2,2.8+(3.25/1.5),0.2)*SIZE,false)
  683.     BladePart.CFrame = HandlePart.CFrame*CF(0,-2.8*SIZE,-0.05*SIZE)
  684.     weldBetween(HandlePart,BladePart)
  685.     local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,2.8,1)*SIZE,false)
  686.     MakeForm(Part,"Wedge")
  687.     Part.CFrame = BladePart.CFrame*CF(0,-1.475*SIZE,0.45*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
  688.     weldBetween(BladePart,Part)
  689.     local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,3.25/1.5,0.5)*SIZE,false)
  690.     MakeForm(Part,"Wedge")
  691.     Part.CFrame = BladePart.CFrame*CF(0,1*SIZE,1.2*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
  692.     weldBetween(BladePart,Part)
  693.     local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,3.25/1.5,1)*SIZE,false)
  694.     Part.CFrame = BladePart.CFrame*CF(0,1*SIZE,0.45*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
  695.     weldBetween(BladePart,Part)
  696.     local A = IT("Attachment",BladePart)
  697.     A.Position = VT(0,BladePart.Size.Y/2,0)
  698.     local B = IT("Attachment",BladePart)
  699.     B.Position = VT(0,-BladePart.Size.Y/2,0)
  700.     local Trail = IT("Trail",BladePart)
  701.     Trail.Attachment0 = A
  702.     Trail.Attachment1 = B
  703.     Trail.Lifetime = 0.2
  704.     Trail.Color = ColorSequence.new(BRICKC"Really red".Color)
  705.     Trail.Transparency = NumberSequence.new(0, 1)
  706.     for _, c in pairs(KNIFEMODEL:GetChildren()) do
  707.         if c.ClassName == "Part" then
  708.             c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  709.         end
  710.     end
  711.     if DOESDODAMAGE == true then
  712.         local HIT = false
  713.         BladePart.CanCollide = true
  714.         local TOUCHED = BladePart.Touched:Connect(function(hit)
  715.             if HIT == false then
  716.                 if hit ~= nil then
  717.                     if hit.Parent ~= nil then
  718.                         if hit.Parent ~= Character and hit.Parent:FindFirstChildOfClass("Humanoid") then
  719.                             HIT = true
  720.                             ApplyDamage(hit.Parent:FindFirstChildOfClass("Humanoid"),DAMAGE,2,2)
  721.                             wait(0.1)
  722.                             HIT = false
  723.                         end
  724.                     end
  725.                 end
  726.             end
  727.         end)
  728.     end
  729.     return KNIFEMODEL,WELD,BladePart
  730. end
  731.  
  732. function PuddleOfBlood(Position,MaxDrop,Model,MaxSize)
  733.     local HITFLOOR, HITPOS, NORMAL = Raycast(Position, (CF(Position, Position + VT(0, -1, 0))).lookVector, MaxDrop, Model)
  734.     if HITFLOOR ~= nil then
  735.         if HITFLOOR.Parent ~= Effects and HITFLOOR.Parent ~= Character then
  736.             if HITFLOOR.Name == "BloodPuddle" then
  737.                 local DIST = (Position - HITFLOOR.Position).Magnitude
  738.                 if (HITFLOOR.Size.Z <= 5 and HITFLOOR.Size.Z < MaxSize) or (HITFLOOR.Size.Z > 5 and HITFLOOR.Size.Z < MaxSize and DIST < HITFLOOR.Size.Z/3) then
  739.                     HITFLOOR.Size = HITFLOOR.Size + VT(0.1,0,0.1)
  740.                 end
  741.             else
  742.                 if HITFLOOR.Anchored == true then
  743.                     local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(2,0,2))
  744.                     BLOOD.CFrame = CF(HITPOS,HITPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0))
  745.                     MakeForm(BLOOD,"Cyl")
  746.                     coroutine.resume(coroutine.create(function()
  747.                         Swait(75)
  748.                         while true do
  749.                             Swait()
  750.                             BLOOD.Size = BLOOD.Size - VT(0.02,0,0.02)
  751.                             if BLOOD.Size.Z < 0.051 then
  752.                                 BLOOD:remove()
  753.                                 break
  754.                             end
  755.                         end
  756.                     end))
  757.                 end
  758.             end
  759.         end
  760.     end
  761. end
  762.  
  763. function MakeForm(PART,TYPE)
  764.     if TYPE == "Cyl" then
  765.         local MSH = IT("CylinderMesh",PART)
  766.     elseif TYPE == "Ball" then
  767.         local MSH = IT("SpecialMesh",PART)
  768.         MSH.MeshType = "Sphere"
  769.     elseif TYPE == "Wedge" then
  770.         local MSH = IT("SpecialMesh",PART)
  771.         MSH.MeshType = "Wedge"
  772.     end
  773. end
  774.  
  775. function SpawnTrail(FROM,TO,BIG)
  776.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "New Yeller", "Trail", VT(0,0,0))
  777.     MakeForm(TRAIL,"Cyl")
  778.     local DIST = (FROM - TO).Magnitude
  779.     if BIG == true then
  780.         TRAIL.Size = VT(0.5,DIST,0.5)
  781.     else
  782.         TRAIL.Size = VT(0.25,DIST,0.25)
  783.     end
  784.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  785.     coroutine.resume(coroutine.create(function()
  786.         for i = 1, 5 do
  787.             Swait()
  788.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  789.         end
  790.         TRAIL:remove()
  791.     end))
  792. end
  793.  
  794. function SpawnTrail2(FROM,TO,BIG)
  795.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "New Yeller", "Trail", VT(0,0,0))
  796.     MakeForm(TRAIL,"Cyl")
  797.     local DIST = (FROM - TO).Magnitude
  798.     if BIG == true then
  799.         TRAIL.Size = VT(0.8,DIST,0.8)
  800.     else
  801.         TRAIL.Size = VT(0.27,DIST,0.27)
  802.     end
  803.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  804.     coroutine.resume(coroutine.create(function()
  805.         for i = 1, 5 do
  806.             Swait()
  807.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  808.         end
  809.         TRAIL:remove()
  810.     end))
  811. end
  812.  
  813. Debris = game:GetService("Debris")
  814.  
  815. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  816.     local DIRECTION = CF(StartPos,EndPos).lookVector
  817.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  818. end
  819.  
  820. function turnto(position)
  821.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  822. end
  823.  
  824. function SprayBlood(POSITION,DIRECTION,BloodSize,DoesTable,Table)
  825.     local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(0.5,0.5,0.5),false)
  826.     BLOOD.CFrame = CF(POSITION)
  827.     MakeForm(BLOOD,"Ball")
  828.     local bv = Instance.new("BodyVelocity",BLOOD)
  829.     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  830.     bv.velocity = CF(POSITION,DIRECTION+VT(MRANDOM(-3,3),MRANDOM(-3,3)/30,MRANDOM(-3,3))).lookVector*65
  831.     bv.Name = "MOVE"
  832.     Debris:AddItem(bv,0.05)
  833.     coroutine.resume(coroutine.create(function()
  834.         local HASTOUCHEDGROUND = false
  835.         local HIT = BLOOD.Touched:Connect(function(hit)
  836.             if hit.Anchored == true then
  837.                 HASTOUCHEDGROUND = true
  838.                 if DoesTable == true then
  839.                     AddChildrenToTable(BLOOD.Position,workspace,15,Table)
  840.                 end
  841.                 PuddleOfBlood(BLOOD.Position+VT(0,1,0),2,BLOOD,BloodSize)
  842.             end
  843.         end)
  844.         for i = 1, 75 do
  845.             Swait()
  846.             if i > 5 then
  847.                 BLOOD.CanCollide = true
  848.             end
  849.             if HASTOUCHEDGROUND == true then
  850.                 break
  851.             end
  852.         end
  853.         BLOOD:remove()
  854.     end))
  855. end
  856.  
  857. function CheckTableForString(Table, String)
  858.     for i, v in pairs(Table) do
  859.         if string.find(string.lower(String), string.lower(v)) then
  860.             return true
  861.         end
  862.     end
  863.     return false
  864. end
  865.  
  866. function CheckIntangible(Hit)
  867.     local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  868.     if Hit and Hit.Parent then
  869.         if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  870.             return true
  871.         end
  872.     end
  873.     return false
  874. end
  875.  
  876. Debris = game:GetService("Debris")
  877.  
  878. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  879.     local Direction = CFrame.new(StartPos, Vec).lookVector
  880.     local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  881.     local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  882.     if RayHit and CheckIntangible(RayHit) then
  883.         if DelayIfHit then
  884.             wait()
  885.         end
  886.         RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  887.     end
  888.     return RayHit, RayPos, RayNormal
  889. end
  890.  
  891. function turnto(position)
  892.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  893. end
  894.  
  895. --//=================================\\
  896. --||         WEAPON CREATION
  897. --\\=================================//
  898.  
  899. armor = Instance.new("Part")
  900. armormesh = Instance.new("SpecialMesh")
  901. armor.Anchored = false
  902. armor.CanCollide = false
  903. armor.Size = Vector3.new(1.4, 0.7, 1.3)
  904. armor.BrickColor = BrickColor.new("Black")
  905. armor.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
  906. armor.Material = Enum.Material.SmoothPlastic
  907. armor.Color = Color3.new(0.105882, 0.164706, 0.207843)
  908. armor.RightSurface = Enum.SurfaceType.SmoothNoOutlines
  909. armor.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
  910. armor.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
  911. armor.BackSurface = Enum.SurfaceType.SmoothNoOutlines
  912. armor.TopSurface = Enum.SurfaceType.SmoothNoOutlines
  913. armor.Parent = Character
  914. armor.CFrame = CFrame.new(-87.19, 0.42, -26.37) * CFrame.Angles(0, 0, 0)
  915. armormesh.MeshId = "rbxassetid://840131767"
  916. armormesh.MeshType = Enum.MeshType.FileMesh
  917. armormesh.Parent = armor
  918. local wlf4 = Instance.new("Weld",armor)
  919. wlf4.Part0 = armor
  920. wlf4.Part1 = Torso
  921. wlf4.C0 = wlf4.C0 * CFrame.Angles(math.rad(0),math.rad(180),math.rad(0))
  922. wlf4.C1 = CFrame.new(0,0,0)
  923.  
  924.                 for _, c in pairs(Weapon:GetChildren()) do
  925.                     if c.Name == "Left Arm" or c.Name == "LeftLowerArm" then
  926.                         LEFTCUFF = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
  927.                         LEFTCUFF.CFrame = c.CFrame
  928.                         weldBetween(c,LEFTCUFF)
  929.                     end
  930.                 end
  931.                 for _, c in pairs(Weapon:GetChildren()) do
  932.                     if c.Name == "Right Arm" or c.Name == "RightLowerArm" then
  933.                         RIGHTCUFF = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
  934.                         RIGHTCUFF.CFrame = c.CFrame
  935.                         weldBetween(c,RIGHTCUFF)
  936.                     end
  937.                 end
  938.                                 if RIGHTCUFF and LEFTCUFF then
  939.                     local A = IT("Attachment",RIGHTCUFF)
  940.                     local B = IT("Attachment",LEFTCUFF)
  941.                     ChainLink = IT("Beam",Weapon)
  942.                     ChainLink.Texture = "rbxassetid://73042633"
  943.                     ChainLink.Color = ColorSequence.new(C3(0.8,0.8,0.8))
  944.                     ChainLink.TextureSpeed = 0
  945.                     ChainLink.Width0 = 1
  946.                     ChainLink.Width1 = 1
  947.                     ChainLink.Segments = 25
  948.                     ChainLink.TextureLength = 3
  949.                     ChainLink.Attachment0 = B
  950.                     ChainLink.Attachment1 = A
  951.                     ChainLink.FaceCamera = true
  952.                     ChainLink.Transparency = NumberSequence.new(0)
  953.                 end
  954.  
  955. local GUN = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Gun", VT(1, 0.8, 3),false)
  956. CreateMesh("SpecialMesh", GUN, "FileMesh", "94219391", "94219470", VT(0.7, 0.7, 0.8), VT(0,0,0))
  957. local GUNWELD = CreateWeldOrSnapOrMotor("Weld", GUN, Torso, GUN, CF(-0.0,0.5,0.9) * ANGLES(RAD(90), RAD(110), RAD(167)), CF(0, 0, 0))
  958.  
  959. local GUN2 = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Gun2", VT(1, 0.8, 3),false)
  960. CreateMesh("SpecialMesh", GUN2, "FileMesh", "623102664", "623102879", VT(0.01, 0.01, 0.01), VT(0,0,0))
  961. local GUN2WELD = CreateWeldOrSnapOrMotor("Weld", GUN2, Torso, GUN2, CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
  962.  
  963. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Hood", VT(1,1,1),false)
  964. PRT.Color = C3(0,0,0)
  965. local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
  966. CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
  967. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Scarf", VT(1,1,1),false)
  968. PRT.Color = C3(0,0,0)
  969. CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.05) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
  970. CreateMesh("SpecialMesh", PRT, "FileMesh", "99856331", "", VT(1.1,1,1.1), VT(0,0,0))
  971.  
  972. local EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Eye", VT(0.1,0.25,0.2),false)
  973. CreateWeldOrSnapOrMotor("Weld", EYE, Head, EYE, CF(0.15,0.25,-0.53) * ANGLES(RAD(0), RAD(0), RAD(-80)), CF(0, 0, 0))
  974. MakeForm(EYE,"Ball")
  975. local EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Eye", VT(0.1,0.25,0.2),false)
  976. CreateWeldOrSnapOrMotor("Weld", EYE, Head, EYE, CF(-0.15,0.25,-0.53) * ANGLES(RAD(0), RAD(0), RAD(80)), CF(0, 0, 0))
  977. MakeForm(EYE,"Ball")
  978.  
  979. local EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really white", "Eye", VT(0.1,0.1,0.1),false)
  980. CreateWeldOrSnapOrMotor("Weld", EYE, Head, EYE, CF(0.15,0.19,-0.58) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  981. MakeForm(EYE,"Ball")
  982. local EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really white", "Eye", VT(0.1,0.1,0.1),false)
  983. CreateWeldOrSnapOrMotor("Weld", EYE, Head, EYE, CF(-0.15,0.19,-0.58) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  984. MakeForm(EYE,"Ball")
  985.  
  986. local EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Eye", VT(0.005,0.005,0.005),false)
  987. CreateWeldOrSnapOrMotor("Weld", EYE, Head, EYE, CF(0.15,0.20,-0.62) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  988. MakeForm(EYE,"Ball")
  989. local EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Eye", VT(0.005,0.005,0.005),false)
  990. CreateWeldOrSnapOrMotor("Weld", EYE, Head, EYE, CF(-0.15,0.20,-0.62) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  991. MakeForm(EYE,"Ball")
  992.  
  993. local LASTPART = Head
  994. for i = 1, 15 do
  995.     local MATH = (1-(i/16))
  996.     if LASTPART == Head then
  997.         local Horn = CreatePart(3, Horn1, "Granite", 0, 0, "Dirt brown", "Horn", VT(1,0.25,1),false)
  998.         CreateWeldOrSnapOrMotor("Weld", Horn1, LASTPART, Horn, CF(0.45, 0.5, -0.15) * ANGLES(RAD(-35), RAD(5), RAD(-25)), CF(0, 0, 0))
  999.         LASTPART = Horn
  1000.         Horn.Color = C3((i/15),0,0)
  1001.         local MSH = IT("BlockMesh",Horn)
  1002.         MSH.Scale = VT(0.16*MATH,1,0.16*MATH)
  1003.     else
  1004.         local Horn = CreatePart(3, Horn1, "Granite", 0, 0, "Dirt brown", "Horn", VT(1,0.25,1),false)
  1005.         CreateWeldOrSnapOrMotor("Weld", Horn1, LASTPART, Horn, CF(0, Horn.Size.Y/2.1, 0) * ANGLES(RAD(25), RAD(5), RAD(0)), CF(0, -Horn.Size.Y/2.2, 0))
  1006.         LASTPART = Horn
  1007.         Horn.Color = C3((i/15),0,0)
  1008.         local MSH = IT("BlockMesh",Horn)
  1009.         MSH.Scale = VT(0.16*MATH,1,0.16*MATH)
  1010.     end
  1011. end
  1012. local LASTPART = Head
  1013. for i = 1, 15 do
  1014.     local MATH = (1-(i/16))
  1015.     if LASTPART == Head then
  1016.         local Horn = CreatePart(3, Horn1, "Granite", 0, 0, "Dirt brown", "Horn", VT(1,0.25,1),false)
  1017.         CreateWeldOrSnapOrMotor("Weld", Horn1, LASTPART, Horn, CF(-0.45, 0.5, -0.15) * ANGLES(RAD(-35), RAD(-5), RAD(25)), CF(0, 0, 0))
  1018.         LASTPART = Horn
  1019.         Horn.Color = C3((i/15),0,0)
  1020.         local MSH = IT("BlockMesh",Horn)
  1021.         MSH.Scale = VT(0.16*MATH,1,0.16*MATH)
  1022.     else
  1023.         local Horn = CreatePart(3, Horn1, "Granite", 0, 0, "Dirt brown", "Horn", VT(1,0.25,1),false)
  1024.         CreateWeldOrSnapOrMotor("Weld", Horn1, LASTPART, Horn, CF(0, Horn.Size.Y/2.1, 0) * ANGLES(RAD(25), RAD(-5), RAD(0)), CF(0, -Horn.Size.Y/2.2, 0))
  1025.         LASTPART = Horn
  1026.         Horn.Color = C3((i/15),0,0)
  1027.         local MSH = IT("BlockMesh",Horn)
  1028.         MSH.Scale = VT(0.16*MATH,1,0.16*MATH)
  1029.     end
  1030. end
  1031.  
  1032. local LASTPART = Head
  1033. for i = 1, 15 do
  1034.     local MATH = (1-(i/16))
  1035.     if LASTPART == Head then
  1036.         local Horn = CreatePart(3, Horn1, "Granite", 0, 0, "Dirt brown", "Horn", VT(1,0.25,1),false)
  1037.         CreateWeldOrSnapOrMotor("Weld", Horn1, LASTPART, Horn, CF(-0.45, 0.5, -0.15) * ANGLES(RAD(-35), RAD(-5), RAD(25)), CF(0, 0, 0))
  1038.         LASTPART = Horn
  1039.         Horn.Color = C3((i/15),0,0)
  1040.         local MSH = IT("BlockMesh",Horn)
  1041.         MSH.Scale = VT(0.16*MATH,1,0.16*MATH)
  1042.     else
  1043.         local Horn = CreatePart(3, Horn1, "Granite", 0, 0, "Dirt brown", "Horn", VT(1,0.25,1),false)
  1044.         CreateWeldOrSnapOrMotor("Weld", Horn1, LASTPART, Horn, CF(0, Horn.Size.Y/2.1, 0) * ANGLES(RAD(25), RAD(-5), RAD(0)), CF(0, -Horn.Size.Y/2.2, 0))
  1045.         LASTPART = Horn
  1046.         Horn.Color = C3((i/15),0,0)
  1047.         local MSH = IT("BlockMesh",Horn)
  1048.         MSH.Scale = VT(0.16*MATH,1,0.16*MATH)
  1049.     end
  1050. end
  1051.  
  1052. for i = 1, 10 do
  1053.     local FACE = CreatePart(3, Head, "Fabric", 0, 0+(i-1)/10.2, "Dark stone grey", "FaceGradient", VT(1.01,0.65,1.01),false)
  1054.     FACE.Color = C3(0,0,0)
  1055.     Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  1056.     CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.28-(i-1)/30,0), CF(0, 0, 0))
  1057. end
  1058.  
  1059. for _, c in pairs(Weapon:GetChildren()) do
  1060.     if c.ClassName == "Part" then
  1061.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1062.     end
  1063. end
  1064.  
  1065. Weapon.Parent = Character
  1066.  
  1067. Humanoid.Died:connect(function()
  1068.     ATTACK = true
  1069. end)
  1070.  
  1071.  
  1072. --//=================================\\
  1073. --||         DAMAGE FUNCTIONS
  1074. --\\=================================//
  1075.  
  1076. function StatLabel(CFRAME, TEXT, COLOR)
  1077.     local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1078.     STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  1079.     local BODYGYRO = IT("BodyGyro", STATPART)
  1080.     game:GetService("Debris"):AddItem(STATPART ,5)
  1081.     local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  1082.     BILLBOARDGUI.Adornee = STATPART
  1083.     BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  1084.     BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  1085.     BILLBOARDGUI.AlwaysOnTop = false
  1086.     local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  1087.     TEXTLABEL.BackgroundTransparency = 1
  1088.     TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  1089.     TEXTLABEL.Text = TEXT
  1090.     TEXTLABEL.Font = "Fantasy"
  1091.     TEXTLABEL.FontSize="Size42"
  1092.     TEXTLABEL.TextColor3 = COLOR
  1093.     TEXTLABEL.TextStrokeTransparency = 0
  1094.     TEXTLABEL.TextScaled = true
  1095.     TEXTLABEL.TextWrapped = true
  1096.     coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  1097.         for i = 1, 50 do
  1098.             Swait()
  1099.             STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  1100.             TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  1101.             TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  1102.         end
  1103.         THEPART.Parent = nil
  1104.     end),STATPART, TEXTLABEL)
  1105. end
  1106.  
  1107. function Switch()
  1108.     ATTACK = true
  1109.     Rooted = true
  1110.     if MODE == "Cop" then
  1111.         for i=0, 0.3, 0.1 / Animation_Speed do
  1112.             Swait()
  1113.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1114.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1115.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1116.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1117.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1118.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1119.         end
  1120.         for i=0, 1, 0.1 / Animation_Speed do
  1121.             Swait()
  1122.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1123.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1124.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1125.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1126.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1127.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1128.         end
  1129.         CreateSound(363808674, Torso, 6, 1, false)
  1130.         for i=0, 0.6, 0.1 / Animation_Speed do
  1131.             Swait()
  1132.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1133.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
  1134.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1135.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1136.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1137.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1138.         end
  1139.         CreateSound(363808674, Torso, 6, 1, false)
  1140.         for i=0, 0.6, 0.1 / Animation_Speed do
  1141.             Swait()
  1142.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1143.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
  1144.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-55), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1145.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1146.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1147.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1148.         end
  1149.         GUN2WELD.Part0 = LeftArm
  1150.         GUN2WELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
  1151.         GUNWELD.Part0 = RightArm
  1152.         GUNWELD.C0 = CF(-0.2,-1.8,0.1) * ANGLES(RAD(90), RAD(174), RAD(179))
  1153.         MODE = "Cops"
  1154.     elseif MODE == "Cops" then
  1155.         CreateSound(147722227, Torso, 4, 1.3, false)
  1156.         for i=0, 0.3, 0.1 / Animation_Speed do
  1157.             Swait()
  1158.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1159.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
  1160.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-55), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1161.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1162.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1163.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1164.         end
  1165.         GUN2WELD.Part0 = Torso
  1166.         GUN2WELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
  1167.         GUNWELD.Part0 = Torso
  1168.         GUNWELD.C0 = CF(-0.0,0.5,0.9) * ANGLES(RAD(90), RAD(110), RAD(167))
  1169.         MODE = "Cop"
  1170.     end
  1171.     ATTACK = false
  1172.     Rooted = false
  1173. end
  1174.  
  1175. --//=================================\\
  1176. --||            DAMAGING
  1177. --\\=================================//
  1178.  
  1179. function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
  1180.     local defence = Instance.new("BoolValue",Humanoid.Parent)
  1181.     defence.Name = ("HitBy"..Player.Name)
  1182.     game:GetService("Debris"):AddItem(defence, 0.001)
  1183.     if Humanoid.Health ~= 0 then
  1184.         local CritChance = MRANDOM(1,100)
  1185.         if CritChance < CritRate + 1 then
  1186.             Damage = Damage*CritMultiplier
  1187.         end
  1188.         if Damage > Humanoid.Health then
  1189.             Damage = math.ceil(Humanoid.Health)
  1190.             if Damage == 0 then
  1191.                 Damage = 0.1
  1192.             end
  1193.         end
  1194.         Humanoid.Health = Humanoid.Health - Damage
  1195.         if Humanoid.Parent:FindFirstChild("Head") then
  1196.             CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
  1197.             if CritChance < CritRate + 1 then
  1198.                 StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
  1199.             else
  1200.                 StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, SKILLTEXTCOLOR)
  1201.             end
  1202.         end
  1203.     end
  1204. end
  1205.  
  1206. function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
  1207.     local dmg = math.random(min,max)
  1208.     for i,v in ipairs(workspace:GetChildren()) do
  1209.     if v:FindFirstChild("HitBy"..Player.Name) == nil then
  1210.         local body = v:GetChildren()
  1211.             for part = 1, #body do
  1212.                 if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1213.                     if(body[part].Position - position).Magnitude < radius then
  1214.                         if v.ClassName == "Model" then
  1215.                             if v:FindFirstChildOfClass("Humanoid") then
  1216.                                 if CanBeDodgedByJumping == true then
  1217.                                     if body[part].Position.Y < position.Y+5 then
  1218.                                         ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  1219.                                     end
  1220.                                 else
  1221.                                     ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  1222.                                 end
  1223.                                 local bv = Instance.new("BodyVelocity")
  1224.                                 bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1225.                                 bv.velocity = RootPart.CFrame.lookVector*maxstrength
  1226.                                 bv.Parent = body[part]
  1227.                                 Debris:AddItem(bv,0.2)
  1228.                             end
  1229.                         end
  1230.                     end
  1231.                 end
  1232.             end
  1233.         end
  1234.         if v:FindFirstChild("HitBy"..Player.Name) then
  1235.             v:FindFirstChild("HitBy"..Player.Name):remove()
  1236.         end
  1237.     end
  1238. end
  1239.  
  1240. function killnearest(position,range,maxstrength,direction)
  1241.     for i,v in ipairs(workspace:GetChildren()) do
  1242.     local body = v:GetChildren()
  1243.         for part = 1, #body do
  1244.             if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1245.                 if(body[part].Position - position).Magnitude < range then
  1246.                     if v.ClassName == "Model" then
  1247.                         --v:BreakJoints()
  1248.                     end
  1249.                     local POS = position
  1250.                     coroutine.resume(coroutine.create(function()
  1251.                         body[part].Anchored = true
  1252.                         body[part].Parent = Effects
  1253.                         body[part].CanCollide = true
  1254.                         local SIZE = body[part].Size
  1255.                         body[part].Material = "Neon"
  1256.                         CreateSound("952306739", body[part], 2, MRANDOM(7, 12) / 10)
  1257.                         for i = 1, 75 do
  1258.                             Swait()
  1259.                                 body[part].Color = C3(0,0,0)
  1260.                                 body[part].Size = VT(1,1,1)
  1261.                         end
  1262.                         coroutine.resume(coroutine.create(function()
  1263.                             while true do
  1264.                                 Swait()
  1265.                                 body[part].Color = C3(0,0,0)
  1266.                                 body[part].Size = VT(1,1,1)
  1267.                             end
  1268.                         end))
  1269.                         body[part].Anchored = false
  1270.                         body[part].Velocity = direction.lookVector*maxstrength
  1271.                     end))
  1272.                 end
  1273.             end
  1274.         end
  1275.         if v.ClassName == "Part" then
  1276.             if v.Anchored == false and (v.Position - position).Magnitude < range then
  1277.                 local POS = position
  1278.                 coroutine.resume(coroutine.create(function()
  1279.                     v.Anchored = true
  1280.                     v.Parent = Effects
  1281.                     local SIZE = v.Size
  1282.                     v.Material = "Neon"
  1283.                     CreateSound("952306739", v, 2, MRANDOM(7, 12) / 10)
  1284.                     for i = 1, 75 do
  1285.                         Swait()
  1286.                         v.Color = C3(0,0,0)
  1287.                         v.Size = VT(1,1,1)
  1288.                     end
  1289.                     coroutine.resume(coroutine.create(function()
  1290.                         while true do
  1291.                             Swait()
  1292.                         v.Color = C3(0,0,0)
  1293.                         v.Size = VT(1,1,1)
  1294.                         end
  1295.                     end))
  1296.                     v.Anchored = false
  1297.                     v.Velocity = direction.lookVector*maxstrength
  1298.                 end))
  1299.             end
  1300.         end
  1301.     end
  1302. end
  1303.  
  1304. function ApplyAoE4(POSITION,RANGE,BRUTAL)
  1305.     local CHILDREN = workspace:GetDescendants()
  1306.     for index, CHILD in pairs(CHILDREN) do
  1307.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1308.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1309.             if HUM then
  1310.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1311.                 if TORSO then
  1312.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1313.                         if BRUTAL == true then
  1314.                             Kill(CHILD)
  1315.                         else
  1316.                             CHILD:BreakJoints()
  1317.                         end
  1318.                     end
  1319.                 end
  1320.             end
  1321.         end
  1322.     end
  1323. end
  1324.  
  1325. function Kill(Char)
  1326.     local NewCharacter = IT("Model",Effects)
  1327.     NewCharacter.Name = "Ow im ded ;-;"
  1328.     for _, c in pairs(Char:GetDescendants()) do
  1329.         if c:IsA("BasePart") and c.Transparency == 0 then
  1330.             c:BreakJoints()
  1331.             c.Material = "Glass"
  1332.             c.Color = C3(1,0,0)
  1333.             c.CanCollide = true
  1334.             c.Transparency = 0.3
  1335.             if c:FindFirstChildOfClass("SpecialMesh") then
  1336.                 c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1337.             end
  1338.             if c.Name == "Head" then
  1339.                 c:ClearAllChildren()
  1340.                 c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  1341.             end
  1342.             if c.ClassName == "MeshPart" then
  1343.                 c.TextureID = ""
  1344.             end
  1345.             if c:FindFirstChildOfClass("BodyPosition") then
  1346.                 c:FindFirstChildOfClass("BodyPosition"):remove()
  1347.             end
  1348.             if c:FindFirstChildOfClass("ParticleEmitter") then
  1349.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1350.             end
  1351.             c.Parent = NewCharacter
  1352.             c.Name = "DeadPart"
  1353.             c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  1354.             c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  1355.         end
  1356.     end
  1357.     Char:remove()
  1358.     Debris:AddItem(NewCharacter,5)
  1359. end
  1360.  
  1361. --//=================================\\
  1362. --||    ATTACK FUNCTIONS AND STUFF
  1363. --\\=================================//
  1364.  
  1365. function Bullet2()
  1366.     ATTACK = true
  1367.     Rooted = false
  1368.     for i=0, 0.9, 0.07 / Animation_Speed do
  1369.         Swait()
  1370.         turnto(Mouse.Hit.p)
  1371.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 22)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1372.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15 - 22 * SIN(SINE / 0.5)), RAD(0)), 0.15 / Animation_Speed)
  1373.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(83), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1374.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0.5) * ANGLES(RAD(83), RAD(-30), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1375.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1376.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1377.     end
  1378.     repeat
  1379.         for i=0, 0.1, 0.07 / Animation_Speed do
  1380.             Swait()
  1381.             turnto(Mouse.Hit.p)
  1382.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 22)) * ANGLES(RAD(0 - 55 * SIN(SINE / 0.5)), RAD(0 - 55 * SIN(SINE / 0.5)), RAD(0)), 0.15 / Animation_Speed)
  1383.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15 - 22 * SIN(SINE / 0.5)), RAD(0)), 0.15 / Animation_Speed)
  1384.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(83 - 22 * SIN(SINE / 0.5)), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1385.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0.5) * ANGLES(RAD(83 - 22 * SIN(SINE / 0.5)), RAD(-30), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1386.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1387.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1388.         end
  1389.         local HIT,POS = CastProperRay(GUN.Position, Mouse.Hit.p, 1000, Character)
  1390.         SpawnTrail(GUN.Position,POS)
  1391.         if HIT ~= nil then
  1392.             if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1393.                 Kill(HIT.Parent)
  1394.             end
  1395.         end
  1396.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = GUN.CFrame, MoveToPos = GUN.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1397.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = GUN.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 131073013, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 0.5})
  1398.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,GUN.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1399.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,GUN.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1400.         for i=0, 0.2, 0.07 / Animation_Speed do
  1401.             Swait()
  1402.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 22)) * ANGLES(RAD(0 - 55 * SIN(SINE / 0.5)), RAD(0 - 22 * SIN(SINE / 0.5)), RAD(0)), 0.15 / Animation_Speed)
  1403.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  1404.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90 - 22 * SIN(SINE / 0.5)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1405.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(90 - 22 * SIN(SINE / 0.5)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1406.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1407.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1408.         end
  1409.             local HIT,POS = CastProperRay(GUN.Position, Mouse.Hit.p, 1000, Character)
  1410.         SpawnTrail2(GUN.Position,POS)
  1411.         SpawnTrail(GUN2.Position,POS)
  1412.         if HIT ~= nil then
  1413.             if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1414.                 Kill(HIT.Parent)
  1415.             end
  1416.         end
  1417.                 WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = GUN2.CFrame, MoveToPos = GUN2.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1418.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = GUN2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 0.5})
  1419.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,GUN2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1420.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,GUN2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1421.     until KEYHOLD == false
  1422.     ATTACK = false
  1423.     Rooted = false
  1424. end
  1425.  
  1426. function Nope()
  1427.     ATTACK = true
  1428.     Rooted = false
  1429.         CreateSound(130932305, Torso, 6, 1, false)
  1430.         for i=0, 0.6, 0.1 / Animation_Speed do
  1431.             Swait()
  1432.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1433.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  1434.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-55), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1435.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(-55), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1436.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1437.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1438.         end
  1439.         for i=0, 0.6, 0.1 / Animation_Speed do
  1440.             Swait()
  1441.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1442.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  1443.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(55), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1444.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(55), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1445.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1446.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1447.         end
  1448.     ATTACK = false
  1449.     Rooted = false
  1450. end
  1451.  
  1452.  
  1453. --//=================================\\
  1454. --||      ASSIGN THINGS TO KEYS
  1455. --\\=================================//
  1456.  
  1457. function MouseDown(Mouse)
  1458.     if ATTACK == false then
  1459.     end
  1460. end
  1461.  
  1462. function MouseUp(Mouse)
  1463. HOLD = false
  1464. end
  1465.  
  1466. function KeyDown(Key)
  1467.     KEYHOLD = true
  1468.     if Key == "z" and ATTACK == false then
  1469.         if MODE == "Cop" then
  1470.         Nope()
  1471.         elseif MODE == "Cops" then
  1472.         Bullet2()
  1473.         end
  1474.     end
  1475.  
  1476.     if Key == "b" and ATTACK == false then
  1477.     end
  1478.  
  1479.     if Key == "c" and ATTACK == false then
  1480.     end
  1481.  
  1482.     if Key == "t" and ATTACK == false then
  1483.     end
  1484.  
  1485.     if Key == "x" and ATTACK == false then
  1486.         Switch()
  1487.     end
  1488. end
  1489.  
  1490. function KeyUp(Key)
  1491.     KEYHOLD = false
  1492. end
  1493.  
  1494.     Mouse.Button1Down:connect(function(NEWKEY)
  1495.         MouseDown(NEWKEY)
  1496.     end)
  1497.     Mouse.Button1Up:connect(function(NEWKEY)
  1498.         MouseUp(NEWKEY)
  1499.     end)
  1500.     Mouse.KeyDown:connect(function(NEWKEY)
  1501.         KeyDown(NEWKEY)
  1502.     end)
  1503.     Mouse.KeyUp:connect(function(NEWKEY)
  1504.         KeyUp(NEWKEY)
  1505.     end)
  1506.  
  1507. --//=================================\\
  1508. --\\=================================//
  1509.  
  1510.  
  1511. function unanchor()
  1512.     if UNANCHOR == true then
  1513.         g = Character:GetChildren()
  1514.         for i = 1, #g do
  1515.             if g[i].ClassName == "Part" then
  1516.                 g[i].Anchored = false
  1517.             end
  1518.         end
  1519.     end
  1520. end
  1521.  
  1522.  
  1523. --//=================================\\
  1524. --||    WRAP THE WHOLE SCRIPT UP
  1525. --\\=================================//
  1526.  
  1527. Humanoid.Changed:connect(function(Jump)
  1528.     if Jump == "Jump" and (Disable_Jump == true) then
  1529.         Humanoid.Jump = false
  1530.     end
  1531. end)
  1532.  
  1533. while true do
  1534.     Swait()
  1535.     ANIMATE.Parent = nil
  1536.     local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1537.     IDLEANIMATION:Play()
  1538.     SINE = SINE + CHANGE
  1539.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1540.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1541.     local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  1542.     local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  1543.     local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1544.     if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1545.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1546.         Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1547.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1548.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1549.     elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1550.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1551.         Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1552.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1553.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1554.     end
  1555.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1556.         ANIM = "Jump"
  1557.         if ATTACK == false then
  1558.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1559.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1560.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1561.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1562.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1563.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1564.         end
  1565.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1566.         ANIM = "Fall"
  1567.         if ATTACK == false then
  1568.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1569.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1570.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1571.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1572.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1573.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1574.         end
  1575.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1576.         ANIM = "Idle"
  1577.         if ATTACK == false then
  1578.                         if MODE == "Cop" then
  1579.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1)
  1580.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(160), RAD(0), RAD(15)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1581.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.05 * COS(SINE / 7) + 0.05 * SIN(SINE / 7), 0, 0 + 0.05 * COS(SINE / 7)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  1582.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-3.5 * COS(SINE / 24)), RAD(0), RAD(12)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 24) + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1583.             RightHip.C0 = Clerp(RightHip.C0, CF(1 - 0.05 * COS(SINE / 7) + 0.05 * SIN(SINE / 7), -1 - 0.05 * COS(SINE / 7), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  1584.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 - 0.05 * COS(SINE / 7) + 0.05 * SIN(SINE / 7), -1 - 0.05 * COS(SINE / 7), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  1585.                         elseif MODE == "Cops" then
  1586.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1587.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 2.5 * COS(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
  1588.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1589.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1590.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1591.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1592.             end
  1593.         end
  1594.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1595.         ANIM = "Walk"
  1596.         WALK = WALK + 1 / Animation_Speed
  1597.         if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
  1598.             WALK = 0
  1599.             if WALKINGANIM == true then
  1600.                 WALKINGANIM = false
  1601.             elseif WALKINGANIM == false then
  1602.                 WALKINGANIM = true
  1603.             end
  1604.         end
  1605.         --RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1606.         --LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1607.         if ATTACK == false then
  1608.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1609.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1610.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(42), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1611.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(42), RAD(0), RAD(0))* LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1612.             RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  1613.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  1614.         end
  1615.     end
  1616.             if Character:FindFirstChildOfClass("Accessory") then
  1617.         Character:FindFirstChildOfClass("Accessory"):remove()
  1618.     elseif Character:FindFirstChildOfClass("Hat") then
  1619.         Character:FindFirstChildOfClass("Hat"):remove()
  1620.     end
  1621.     unanchor()
  1622.     Humanoid.MaxHealth = "inf"
  1623.     Humanoid.Health = "inf"
  1624.     if Rooted == false then
  1625.         Disable_Jump = false
  1626.         Humanoid.WalkSpeed = Speed
  1627.     elseif Rooted == true then
  1628.         Disable_Jump = true
  1629.         Humanoid.WalkSpeed = 0
  1630.     end
  1631.     sick.Parent = Torso
  1632.     local MATHS = {"0","1"}
  1633.     Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
  1634.     Humanoid.PlatformStand = false
  1635. end
  1636.  
  1637. --//=================================\\
  1638. --\\=================================//
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644. --//====================================================\\--
  1645. --||                     END OF SCRIPT
  1646. --\\====================================================//--
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top