Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Good Cop & Bad Cop Mobile Support

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 46

function netless()

for i,v in next, game:GetService("Players").LocalPlayer.Character:GetDescendants()


do
if v:IsA("BasePart") and v.Name ~="HumanoidRootPart" then
game:GetService("RunService").Heartbeat:connect(function()
v.Velocity = Vector3.new(-30,0,0)
end)
end
end

game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "ENJOY!";
Text = "Netless from Arceus tool api";
Icon = "rbxthumb://type=Asset&id=5107182114&w=150&h=150"})
Duration = 16;
end

function mainsc()
HumanDied = false
local CountSCIFIMOVIELOL = 1
function SCIFIMOVIELOL(Part0,Part1,Position,Angle)
local AlignPos = Instance.new('AlignPosition', Part1); AlignPos.Name =
"AliP_"..CountSCIFIMOVIELOL
AlignPos.ApplyAtCenterOfMass = true;
AlignPos.MaxForce = 5772000--67752;
AlignPos.MaxVelocity = math.huge/9e110;
AlignPos.ReactionForceEnabled = false;
AlignPos.Responsiveness = 200;
AlignPos.RigidityEnabled = false;
local AlignOri = Instance.new('AlignOrientation', Part1); AlignOri.Name =
"AliO_"..CountSCIFIMOVIELOL
AlignOri.MaxAngularVelocity = math.huge/9e110;
AlignOri.MaxTorque = 5772000
AlignOri.PrimaryAxisOnly = false;
AlignOri.ReactionTorqueEnabled = false;
AlignOri.Responsiveness = 200;
AlignOri.RigidityEnabled = false;
local AttachmentA=Instance.new('Attachment',Part1); AttachmentA.Name =
"Ath_"..CountSCIFIMOVIELOL
local AttachmentB=Instance.new('Attachment',Part0); AttachmentB.Name =
"Ath_"..CountSCIFIMOVIELOL
AttachmentA.Orientation = Angle or Vector3.new(0,0,0)
AttachmentA.Position = Position or Vector3.new(0,0,0)
AlignPos.Attachment1 = AttachmentA;
AlignPos.Attachment0 = AttachmentB;
AlignOri.Attachment1 = AttachmentA;
AlignOri.Attachment0 = AttachmentB;
CountSCIFIMOVIELOL = CountSCIFIMOVIELOL + 1
return {AlignPos,AlignOri,AttachmentA,AttachmentB}
end

if _G.netted ~= true then


_G.netted = true
coroutine.wrap(function()
settings().Physics.PhysicsEnvironmentalThrottle =
Enum.EnviromentalPhysicsThrottle.Disabled
settings().Physics.AllowSleep = false
game:GetService("RunService").RenderStepped:Connect(function()
game:FindFirstChildOfClass("Players").LocalPlayer.MaximumSimulationRadius=math.pow(
math.huge,math.huge)

sethiddenproperty(game:FindFirstChildOfClass("Players").LocalPlayer,"SimulationRadi
us",math.huge*math.huge)
end)
end)()
end

game:FindFirstChildOfClass("Players").LocalPlayer["Character"].Archivable = true
local hatnameclone = {}
for _,v in next,
game:FindFirstChildOfClass("Players").LocalPlayer["Character"]:GetChildren() do
if v:IsA("Accessory") then
if hatnameclone[v.Name] then
if hatnameclone[v.Name] == "s" then
hatnameclone[v.Name] = {}
end
table.insert(hatnameclone[v.Name],v)
else
hatnameclone[v.Name] = "s"
end
end
end
for _,v in pairs(hatnameclone) do
if type(v) == "table" then
local num = 1
for _,w in pairs(v) do
w.Name = w.Name..num
num = num + 1
end
end
end
hatnameclone = nil

local DeadChar = game:FindFirstChildOfClass("Players").LocalPlayer.Character

local fldr =
Instance.new("Folder",game:FindFirstChildOfClass("Players").LocalPlayer["Character"
])
fldr.Name = "DMYF"
local CloneChar = DeadChar:Clone()
local ANIMATIONHERE
if CloneChar:FindFirstChild("Animate") then
ANIMATIONHERE = CloneChar:FindFirstChild("Animate"):Clone()
CloneChar:FindFirstChild("Animate"):Destroy()
end
if CloneChar:FindFirstChildOfClass("Folder") then
CloneChar:FindFirstChildOfClass("Folder"):Destroy() end
if CloneChar.Torso:FindFirstChild("Neck") then
local Clonessss = CloneChar.Torso:FindFirstChild("Neck"):Clone()
Clonessss.Part0 = nil
Clonessss.Part1 = DeadChar.Head
Clonessss.Parent = DeadChar.Torso
end
CloneChar.Parent = fldr
CloneChar.HumanoidRootPart.CFrame = DeadChar.HumanoidRootPart.CFrame
CloneChar.Humanoid.BreakJointsOnDeath = false
CloneChar.Name = "non"
CloneChar.Humanoid.DisplayDistanceType = "None"

for _,v in next, DeadChar:GetChildren() do


if v:IsA("Accessory") then
local topacc = false
if v.Handle:FindFirstChildOfClass("Weld") then
v.Handle:FindFirstChildOfClass("Weld"):Destroy() end
v.Handle.Massless = true
v.Handle.CanCollide = false
if v.Handle:FindFirstChildOfClass("Attachment") then
local ath__ = v.Handle:FindFirstChildOfClass("Attachment")
if ath__.Name == "HatAttachment" or ath__.Name ==
"HairAttachment" or ath__.Name == "FaceFrontAttachment" or ath__.Name ==
"FaceCenterAttachment" then
topacc = ath__.Name
end
end
local bv = Instance.new("BodyVelocity",v.Handle)
bv.Velocity = Vector3.new(0,0,0)
coroutine.wrap(function()
if topacc then
local allthings =
SCIFIMOVIELOL(v.Handle,DeadChar.Torso,Vector3.new(0,1.5,0)+
(DeadChar.Head[topacc].Position + (v.Handle[topacc].Position*-
1)),Vector3.new(0,0,0))
local normaltop = allthings[1].Attachment1
local alipos = allthings[1]
local alirot = allthings[2]
local p0 = v.Handle
local p1 = DeadChar.Head
alipos.Parent = CloneChar:FindFirstChild(v.Name).Handle
alirot.Parent = CloneChar:FindFirstChild(v.Name).Handle
while true do
game:GetService("RunService").RenderStepped:wait()
if HumanDied then break end
coroutine.wrap(function()
if alipos.Attachment1 == normaltop then
p0.CFrame =
p0.CFrame:lerp((((DeadChar.Torso.CFrame * CFrame.new(0,1.5,0)) * p1[topacc].CFrame)
* p0[topacc].CFrame:inverse()),1)
else
v.Handle.CFrame =
v.Handle.CFrame:lerp(alipos.Attachment1.Parent.CFrame *
CFrame.new(alipos.Attachment1.Position) *
CFrame.Angles(math.rad(alipos.Attachment1.Rotation.X),math.rad(alipos.Attachment1.R
otation.Y),math.rad(alipos.Attachment1.Rotation.Z)),1)
end
end)()
end
else

SCIFIMOVIELOL(v.Handle,CloneChar[v.Name].Handle,Vector3.new(0,0,0),Vector3.new(0,0,
0))
end
end)()
end
end

local a = DeadChar.Torso
local b = DeadChar.HumanoidRootPart
local c = DeadChar.Humanoid
a.Parent = game:FindFirstChildOfClass("Workspace")
c.Parent = game:FindFirstChildOfClass("Workspace")
local told = a:Clone()
local told1 = c:Clone()
b["RootJoint"].Part0 = told
b["RootJoint"].Part1 = DeadChar.Head
a.Name = "torso"
a.Neck:Destroy()
c.Name = "Mizt Hub Best"
told.Parent = DeadChar
told1.Parent = DeadChar
DeadChar.PrimaryPart = told
told1.Health = 0
b:Destroy()
a.Parent = DeadChar
c.Parent = DeadChar
told:Destroy()
told1:Destroy()
a.Name = "Torso"

if CloneChar.Head:FindFirstChildOfClass("Decal") then
CloneChar.Head:FindFirstChildOfClass("Decal").Transparency = 1 end
if DeadChar:FindFirstChild("Animate") then
DeadChar:FindFirstChild("Animate"):Destroy() end

local Collider
function UnCollide()
if HumanDied then Collider:Disconnect(); return end
--[[for _,Parts in next, CloneChar:GetChildren() do
if Parts:IsA("BasePart") then
Parts.CanCollide = false
end
end]]
for _,Parts in next, DeadChar:GetChildren() do
if Parts:IsA("BasePart") then
Parts.CanCollide = false
end
end
end
Collider = game:GetService("RunService").Stepped:Connect(UnCollide)

local resetBindable = Instance.new("BindableEvent")


resetBindable.Event:connect(function()
game:GetService("StarterGui"):SetCore("ResetButtonCallback", true)
resetBindable:Destroy()
HumanDied = true
pcall(function()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = DeadChar
DeadChar.Head:Destroy()
DeadChar:FindFirstChildOfClass("Humanoid"):Destroy()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
if DeadChar:FindFirstChildOfClass("Folder") then
DeadChar:FindFirstChildOfClass("Folder"):Destroy() end
end)
end)
game:GetService("StarterGui"):SetCore("ResetButtonCallback", resetBindable)

coroutine.wrap(function()
while true do
game:GetService("RunService").RenderStepped:wait()
if not CloneChar or not CloneChar:FindFirstChild("Head") or not
CloneChar:FindFirstChildOfClass("Humanoid") or
CloneChar:FindFirstChildOfClass("Humanoid").Health <= 0 and not DeadChar or not
DeadChar:FindFirstChild("Head") or not DeadChar:FindFirstChildOfClass("Humanoid")
or DeadChar:FindFirstChildOfClass("Humanoid").Health <= 0 then
HumanDied = true
pcall(function()
game:FindFirstChildOfClass("Players").LocalPlayer.Character
= DeadChar
DeadChar.Head:Destroy()
DeadChar:FindFirstChildOfClass("Humanoid"):Destroy()
game:FindFirstChildOfClass("Players").LocalPlayer.Character
= CloneChar
if DeadChar:FindFirstChildOfClass("Folder") then
DeadChar:FindFirstChildOfClass("Folder"):Destroy() end
end)
if resetBindable then
game:GetService("StarterGui"):SetCore("ResetButtonCallback", true)
resetBindable:Destroy()
end
break
end
end
end)()

SCIFIMOVIELOL(DeadChar["Head"],CloneChar["Head"])
SCIFIMOVIELOL(DeadChar["Torso"],CloneChar["Torso"])
SCIFIMOVIELOL(DeadChar["Left Arm"],CloneChar["Left Arm"])
SCIFIMOVIELOL(DeadChar["Right Arm"],CloneChar["Right Arm"])
SCIFIMOVIELOL(DeadChar["Left Leg"],CloneChar["Left Leg"])
SCIFIMOVIELOL(DeadChar["Right Leg"],CloneChar["Right Leg"])

for _,v in pairs(DeadChar:GetChildren()) do


if v:IsA("BasePart") and v.Name ~= "Head" then
--[[local bv = Instance.new("BodyVelocity",v)
bv.Velocity = Vector3.new(0,0,0)
coroutine.wrap(function()
while true do
game:GetService("RunService").RenderStepped:wait()
if HumanDied then break end
v.CFrame = CloneChar[v.Name].CFrame
end
end)()]]
elseif v:IsA("BasePart") and v.Name == "Head" then
local bv = Instance.new("BodyVelocity",v)
bv.Velocity = Vector3.new(0,0,0)
coroutine.wrap(function()
while true do
game:GetService("RunService").RenderStepped:wait()
if HumanDied then break end
v.CFrame = DeadChar.Torso.CFrame * CFrame.new(0,1.5,0)
end
end)()
end
end

for _,BodyParts in next, CloneChar:GetDescendants() do


if BodyParts:IsA("BasePart") or BodyParts:IsA("Part") then
BodyParts.Transparency = 1 end end
game:GetService("RunService").RenderStepped:wait()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
game:FindFirstChildOfClass("Workspace"):FindFirstChildOfClass("Camera").CameraSubje
ct = CloneChar.Humanoid

for _,v in next, DeadChar:GetChildren() do


if v:IsA("Accessory") then
if v.Handle:FindFirstChildOfClass("Weld") then
v.Handle:FindFirstChildOfClass("Weld"):Destroy() end
end
end

if ANIMATIONHERE then ANIMATIONHERE.Parent = CloneChar end

wait(0.2)

Player = game:GetService("Players").LocalPlayer
PlayerGui = Player.PlayerGui
Cam = workspace.CurrentCamera
Backpack = Player.Backpack
Character = Player.Character
Humanoid = Character.Humanoid
Mouse = Player:GetMouse()
RootPart = Character["HumanoidRootPart"]
Torso = Character["Torso"]
Head = Character["Head"]
RightArm = Character["Right Arm"]
LeftArm = Character["Left Arm"]
RightLeg = Character["Right Leg"]
LeftLeg = Character["Left Leg"]
RootJoint = RootPart["RootJoint"]
Neck = Torso["Neck"]
RightShoulder = Torso["Right Shoulder"]
LeftShoulder = Torso["Left Shoulder"]
RightHip = Torso["Right Hip"]
LeftHip = Torso["Left Hip"]
local sick = Instance.new("Sound",RootPart)
--- WARN ---
-- these all gui code are from fly gui script not mine lol
-- Instances:

local main = Instance.new("ScreenGui")


local epic = Instance.new("Frame")
local backgroundtitle = Instance.new("TextLabel")
local creator = Instance.new("TextLabel")
local title = Instance.new("TextLabel")
local close = Instance.new("TextButton")
local fbutton = Instance.new("TextButton")
local ebutton = Instance.new("TextButton")
local qbutton = Instance.new("TextButton")
local tbutton = Instance.new("TextButton")
-- end of gui instance
--part instance (my own XD)
Model0 = Instance.new("Model")
Part1 = Instance.new("Part")
-- end of part instance
IT = Instance.new
CF = CFrame.new
VT = Vector3.new
RAD = math.rad
C3 = Color3.new
UD2 = UDim2.new
BRICKC = BrickColor.new
ANGLES = CFrame.Angles
EULER = CFrame.fromEulerAnglesXYZ
COS = math.cos
ACOS = math.acos
SIN = math.sin
ASIN = math.asin
ABS = math.abs
MRANDOM = math.random
FLOOR = math.floor

--//=================================\\
--|| USEFUL VALUES
--\\=================================//

Animation_Speed = 3
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
Model0.Name = "TheGun"
Model0.Parent = mas
Part1.Name = "Handle"
Part1.Parent = Model0
Part1.CFrame = CFrame.new(-61.4719009, 4.04184484, -15.087183, 1, 0, 0, 0,
1.00000012, 0, 0, 0, 1.00000012)
Part1.Position = Vector3.new(-61.471900939941, 4.0418448448181, -15.087182998657)
Part1.Transparency = 1
Part1.Size = Vector3.new(1, 1, 1)
Part1.BottomSurface = Enum.SurfaceType.Smooth
Part1.CanCollide = false
Part1.TopSurface = Enum.SurfaceType.Smooth
local Speed = 20
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
local DAMAGEMULTIPLIER = 1
local ANIM = "Idle"
local ATTACK = false
local EQUIPPED = false
local HOLD = false
local COMBO = 1
local Rooted = false
local SINE = 0
local KEYHOLD = false
local CHANGE = 2 / Animation_Speed
local WALKINGANIM = false
local VALUE1 = false
local VALUE2 = false
local ROBLOXIDLEANIMATION = IT("Animation")
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
--ROBLOXIDLEANIMATION.Parent = Humanoid
local WEAPONGUI = IT("ScreenGui", PlayerGui)
WEAPONGUI.Name = "Weapon GUI"
local Weapon = IT("Model")
Weapon.Name = "Adds"
local Effects = IT("Folder", Weapon)
Effects.Name = "Effects"
local ANIMATOR = Humanoid.Animator
local ANIMATE = Character.Animate
local UNANCHOR = true
local MODE = "GoodCop"

--//=================================\\
--|| Gui and frame
--\\=================================//

main.Name = "main"
main.Parent = game.CoreGui
main.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

epic.Name = "epic"
epic.Parent = main
epic.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
epic.Position = UDim2.new(0.0911376476, 0, 0.466830462, 0)
epic.Size = UDim2.new(0, 181, 0, 178)
epic.Active = true
epic.Draggable = true

creator.Name = "creator"
creator.Parent = epic
creator.BackgroundColor3 = Color3.fromRGB(1, 1, 1)
creator.Position = UDim2.new(0.00442049652, 0, 0.762519121, 0)
creator.Size = UDim2.new(0, 181, 0, 42)
creator.Font = Enum.Font.SourceSans
creator.Text = "made by scripty sir"
creator.TextColor3 = Color3.fromRGB(0, 0, 0)
creator.TextScaled = true
creator.TextSize = 14.000
creator.TextWrapped = false

title.Name = "title"
title.Parent = epic
title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
title.BackgroundTransparency = 1.000
title.Position = UDim2.new(0.0497237556, 0, 0, 0)
title.Size = UDim2.new(0, 119, 0, 43)
title.Font = Enum.Font.SciFi
title.Text = "control key"
title.TextColor3 = Color3.fromRGB(0, 0, 0)
title.TextScaled = true
title.TextSize = 14.000
title.TextWrapped = true

close.Name = "close"
close.Parent = epic
close.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
close.Position = UDim2.new(0.76795578, 0, 0, 0)
close.Size = UDim2.new(0, 43, 0, 43)
close.Font = Enum.Font.GothamBlack
close.Text = "X"
close.TextColor3 = Color3.fromRGB(0, 0, 0)
close.TextScaled = true
close.TextSize = 14.000
close.TextWrapped = true
close.MouseButton1Down:connect(function()
epic.Visible = false
end)

--//=================================\\
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
--\\=================================//

ArtificialHB = Instance.new("BindableEvent", script)


ArtificialHB.Name = "ArtificialHB"

script:WaitForChild("ArtificialHB")

frame = Frame_Speed
tf = 0
allowframeloss = false
tossremainder = false
lastframe = tick()
script.ArtificialHB:Fire()

game:GetService("RunService").Heartbeat:connect(function(s, p)
tf = tf + s
if tf >= frame then
if allowframeloss then
script.ArtificialHB:Fire()
lastframe = tick()
else
for i = 1, math.floor(tf / frame) do
script.ArtificialHB:Fire()
end
lastframe = tick()
end
if tossremainder then
tf = 0
else
tf = tf - frame * math.floor(tf / frame)
end
end
end)

--//=================================\\
--\\=================================//

--//=================================\\
--|| SOME FUNCTIONS
--\\=================================//

function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)


return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE),
IGNOREDECENDANTS)
end
function PositiveAngle(NUMBER)
if NUMBER >= 0 then
NUMBER = 0
end
return NUMBER
end

function NegativeAngle(NUMBER)
if NUMBER <= 0 then
NUMBER = 0
end
return NUMBER
end

function Swait(NUMBER)
if NUMBER == 0 or NUMBER == nil then
ArtificialHB.Event:wait()
else
for i = 1, NUMBER do
ArtificialHB.Event:wait()
end
end
end

function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)


local NEWMESH = IT(MESH)
if MESH == "SpecialMesh" then
NEWMESH.MeshType = MESHTYPE
if MESHID ~= "nil" and MESHID ~= "" then
NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
end
if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
end
end
NEWMESH.Offset = OFFSET or VT(0, 0, 0)
NEWMESH.Scale = SCALE
NEWMESH.Parent = PARENT
return NEWMESH
end

function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY,


BRICKCOLOR, NAME, SIZE, ANCHOR)
local NEWPART = IT("Part")
NEWPART.formFactor = FORMFACTOR
NEWPART.Reflectance = REFLECTANCE
NEWPART.Transparency = TRANSPARENCY
NEWPART.CanCollide = false
NEWPART.Locked = true
NEWPART.Anchored = true
if ANCHOR == false then
NEWPART.Anchored = false
end
NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
NEWPART.Name = NAME
NEWPART.Size = SIZE
NEWPART.Position = Torso.Position
NEWPART.Material = MATERIAL
NEWPART:BreakJoints()
NEWPART.Parent = PARENT
return NEWPART
end

local function weldBetween(a, b)


local weldd = Instance.new("ManualWeld")
weldd.Part0 = a
weldd.Part1 = b
weldd.C0 = CFrame.new()
weldd.C1 = b.CFrame:inverse() * a.CFrame
weldd.Parent = a
return weldd
end

function QuaternionFromCFrame(cf)
local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 =
cf:components()
local trace = m00 + m11 + m22
if trace > 0 then
local s = math.sqrt(1 + trace)
local recip = 0.5 / s
return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s
* 0.5
else
local i = 0
if m11 > m00 then
i = 1
end
if m22 > (i == 0 and m00 or m11) then
i = 2
end
if i == 0 then
local s = math.sqrt(m00 - m11 - m22 + 1)
local recip = 0.5 / s
return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 -
m12) * recip
elseif i == 1 then
local s = math.sqrt(m11 - m22 - m00 + 1)
local recip = 0.5 / s
return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 -
m20) * recip
elseif i == 2 then
local s = math.sqrt(m22 - m00 - m11 + 1)
local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) *
recip, 0.5 * s, (m10 - m01) * recip
end
end
end

function QuaternionToCFrame(px, py, pz, x, y, z, w)


local xs, ys, zs = x + x, y + y, z + z
local wx, wy, wz = w * xs, w * ys, w * zs
local xx = x * xs
local xy = x * ys
local xz = x * zs
local yy = y * ys
local yz = y * zs
local zz = z * zs
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))
end

function QuaternionSlerp(a, b, t)
local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
local startInterp, finishInterp;
if cosTheta >= 0.0001 then
if (1 - cosTheta) > 0.0001 then
local theta = ACOS(cosTheta)
local invSinTheta = 1 / SIN(theta)
startInterp = SIN((1 - t) * theta) * invSinTheta
finishInterp = SIN(t * theta) * invSinTheta
else
startInterp = 1 - t
finishInterp = t
end
else
if (1 + cosTheta) > 0.0001 then
local theta = ACOS(-cosTheta)
local invSinTheta = 1 / SIN(theta)
startInterp = SIN((t - 1) * theta) * invSinTheta
finishInterp = SIN(t * theta) * invSinTheta
else
startInterp = t - 1
finishInterp = t
end
end
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
end

function Clerp(a, b, t)
local qa = {QuaternionFromCFrame(a)}
local qb = {QuaternionFromCFrame(b)}
local ax, ay, az = a.x, a.y, a.z
local bx, by, bz = b.x, b.y, b.z
local _t = 1 - t
return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t *
bz, QuaternionSlerp(qa, qb, t))
end

function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR,


BORDERCOLOR, NAME)
local frame = IT("Frame")
frame.BackgroundTransparency = TRANSPARENCY
frame.BorderSizePixel = BORDERSIZEPIXEL
frame.Position = POSITION
frame.Size = SIZE
frame.BackgroundColor3 = COLOR
frame.BorderColor3 = BORDERCOLOR
frame.Name = NAME
frame.Parent = PARENT
return frame
end

function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY,


BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
local label = IT("TextLabel")
label.BackgroundTransparency = 1
label.Size = UD2(1, 0, 1, 0)
label.Position = UD2(0, 0, 0, 0)
label.TextColor3 = TEXTCOLOR
label.TextStrokeTransparency = STROKETRANSPARENCY
label.TextTransparency = TRANSPARENCY
label.FontSize = TEXTFONTSIZE
label.Font = TEXTFONT
label.BorderSizePixel = BORDERSIZEPIXEL
label.TextScaled = false
label.Text = TEXT
label.Name = NAME
label.Parent = PARENT
return label
end

function NoOutlines(PART)
PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface,
PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
end

function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)


local NEWWELD = IT(TYPE)
NEWWELD.Part0 = PART0
NEWWELD.Part1 = PART1
NEWWELD.C0 = C0
NEWWELD.C1 = C1
NEWWELD.Parent = PARENT
return NEWWELD
end

local S = IT("Sound")
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
local NEWSOUND = nil
coroutine.resume(coroutine.create(function()
NEWSOUND = S:Clone()
NEWSOUND.Parent = PARENT
NEWSOUND.Volume = VOLUME
NEWSOUND.Pitch = PITCH
NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
NEWSOUND:play()
if DOESLOOP == true then
NEWSOUND.Looped = true
else
repeat wait(1) until NEWSOUND.Playing == false
NEWSOUND:remove()
end
end))
return NEWSOUND
end

function CFrameFromTopBack(at, top, back)


local right = top:Cross(back)
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)
end
--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})
function WACKYEFFECT(Table)
local TYPE = (Table.EffectType or "Sphere")
local SIZE = (Table.Size or VT(1,1,1))
local ENDSIZE = (Table.Size2 or VT(0,0,0))
local TRANSPARENCY = (Table.Transparency or 0)
local ENDTRANSPARENCY = (Table.Transparency2 or 1)
local CFRAME = (Table.CFrame or Torso.CFrame)
local MOVEDIRECTION = (Table.MoveToPos or nil)
local ROTATION1 = (Table.RotationX or 0)
local ROTATION2 = (Table.RotationY or 0)
local ROTATION3 = (Table.RotationZ or 0)
local MATERIAL = (Table.Material or "Neon")
local COLOR = (Table.Color or C3(1,1,1))
local TIME = (Table.Time or 45)
local SOUNDID = (Table.SoundID or nil)
local SOUNDPITCH = (Table.SoundPitch or nil)
local SOUNDVOLUME = (Table.SoundVolume or nil)
coroutine.resume(coroutine.create(function()
local PLAYSSOUND = false
local SOUND = nil
local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY,
BRICKC("Pearl"), "Effect", VT(1,1,1), true)
if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
PLAYSSOUND = true
SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH,
false)
end
EFFECT.Color = COLOR
local MSH = nil
if TYPE == "Sphere" then
MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE,
VT(0,0,0))
elseif TYPE == "Block" or TYPE == "Box" then
MSH = IT("BlockMesh",EFFECT)
MSH.Scale = SIZE
elseif TYPE == "Wave" then
MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976",
"", SIZE, VT(0,0,-SIZE.X/8))
elseif TYPE == "Ring" then
MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844",
"", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
elseif TYPE == "Slash" then
MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858",
"", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
elseif TYPE == "Round Slash" then
MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058",
"", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
elseif TYPE == "Swirl" then
MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557",
"", SIZE, VT(0,0,0))
elseif TYPE == "Skull" then
MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583",
"", SIZE, VT(0,0,0))
elseif TYPE == "Crystal" then
MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362",
"", SIZE, VT(0,0,0))
end
if MSH ~= nil then
local MOVESPEED = nil
if MOVEDIRECTION ~= nil then
MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
end
local GROWTH = SIZE - ENDSIZE
local TRANS = TRANSPARENCY - ENDTRANSPARENCY
if TYPE == "Block" then
EFFECT.CFrame =
CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
else
EFFECT.CFrame = CFRAME
end
for LOOP = 1, TIME+1 do
Swait()
MSH.Scale = MSH.Scale - GROWTH/TIME
if TYPE == "Wave" then
MSH.Offset = VT(0,0,-MSH.Scale.X/8)
end
EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
if TYPE == "Block" then
EFFECT.CFrame =
CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
else
EFFECT.CFrame =
EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
end
if MOVEDIRECTION ~= nil then
local ORI = EFFECT.Orientation
EFFECT.CFrame =
CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
EFFECT.Orientation = ORI
end
end
if PLAYSSOUND == false then
EFFECT:remove()
else
repeat Swait() until SOUND.Playing == false
EFFECT:remove()
end
else
if PLAYSSOUND == false then
EFFECT:remove()
else
repeat Swait() until SOUND.Playing == false
EFFECT:remove()
end
end
end))
end

function MakeForm(PART,TYPE)
if TYPE == "Cyl" then
local MSH = IT("CylinderMesh",PART)
elseif TYPE == "Ball" then
local MSH = IT("SpecialMesh",PART)
MSH.MeshType = "Sphere"
elseif TYPE == "Wedge" then
local MSH = IT("SpecialMesh",PART)
MSH.MeshType = "Wedge"
elseif TYPE == "Head" then
local MSH = IT("SpecialMesh",PART)
MSH.Scale = VT(1.25,1.25,1.25)
end
end

Debris = game:GetService("Debris")

function CastProperRay(StartPos, EndPos, Distance, Ignore)


local DIRECTION = CF(StartPos,EndPos).lookVector
return Raycast(StartPos, DIRECTION, Distance, Ignore)
end

function CharacterFade(COLOR,TIMER)
coroutine.resume(coroutine.create(function()
local FADE = IT("Model",Effects)
FADE.Name = "FadingEffect"
for _, c in pairs(Character:GetChildren()) do
if c.ClassName == "Part" and c ~= RootPart then
local FADER = c:Clone()
FADER.Color = COLOR
FADER.CFrame = c.CFrame
FADER.Parent = FADE
FADER.Anchored = true
FADER.Transparency = 0.25+c.Transparency
FADER:BreakJoints()
FADER.Material = "Neon"
if FADER.Name == "Head" then
FADER:ClearAllChildren()
FADER.Size = VT(1,1,1)
end
FADER.CanCollide = false
end
end
local TRANS = 0.75/TIMER
for i = 1, TIMER do
Swait()
for _, c in pairs(FADE:GetChildren()) do
if c.ClassName == "Part" then
c.Transparency = c.Transparency + TRANS
end
end
end
FADE:remove()
end))
end

function Chatter(Text,Timer)
local chat = coroutine.wrap(function()
if Character:FindFirstChild("SpeechBoard")~= nil then
Character:FindFirstChild("SpeechBoard"):destroy()
end
local naeeym2 = IT("BillboardGui",Character)
naeeym2.Size = UD2(0,100,0,40)
naeeym2.StudsOffset = Vector3.new(0,2,0)
naeeym2.Adornee = Character.Head
naeeym2.Name = "SpeechBoard"
naeeym2.AlwaysOnTop = true
local tecks2 = IT("TextLabel",naeeym2)
tecks2.BackgroundTransparency = 1
tecks2.BorderSizePixel = 0
tecks2.Text = ""
tecks2.Font = "Legacy"
tecks2.TextSize = 15
tecks2.TextStrokeTransparency = 0
tecks2.TextColor3 = Color3.new(1,1,1)
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
tecks2.Size = UDim2.new(1,0,0.5,0)
for i = 1,string.len(Text),1 do
CreateSound(418252437, Head, 3, MRANDOM(8,12)/15, false)
tecks2.Text = string.sub(Text,1,i)
wait(Timer)
end
wait(1)
naeeym2:Destroy()
end)
chat()
end

--//=================================\\
--|| WEAPON CREATION
--\\=================================//

local FACE = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Face mask",


VT(1.001,1.001,1.001),false)
CreateWeldOrSnapOrMotor("Weld", FACE, Head, FACE, CF(0.02,0,0) * ANGLES(RAD(0),
RAD(0), RAD(0)), CF(0, 0, 0))
MakeForm(FACE,"Head")
local EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye",
VT(0.1,0.25,0.2),false)
CreateWeldOrSnapOrMotor("Weld", EYE, Head, EYE, CF(0.15,0.25,-0.53) *
ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
MakeForm(EYE,"Ball")
local top = Instance.new("Shirt")
top.ShirtTemplate = "rbxassetid://269003887"
top.Parent = Character
top.Name = "Cloth"
local bottom = Instance.new("Pants")
bottom.PantsTemplate = "rbxassetid://268832352"
bottom.Parent = Character
bottom.Name = "Cloth"
local BATON = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Baton", VT(1,
0.8, 3),false)
CreateMesh("SpecialMesh", BATON, "FileMesh", "11820238", "", VT(1,1,1), VT(0,0,0))
local BATONWELD = CreateWeldOrSnapOrMotor("Weld", BATON, Torso, BATON, CF(1,-
0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
local A = IT("Attachment",BATON)
local B = IT("Attachment",BATON)
B.Position = VT(0,0,-0.4)
A.Position = VT(0,0,1)
local Trail = IT("Trail",BATON)
Trail.Attachment0 = A
Trail.Attachment1 = B
Trail.Lifetime = 0.1
Trail.Color = ColorSequence.new(C3(0,0,0))
Trail.Transparency = NumberSequence.new(0, 1)
Trail.Enabled = false
Trail.Texture = "http://www.roblox.com/asset/?id=1831500579"
local GUN = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Gun", VT(1, 0.8,
3),false)
CreateMesh("SpecialMesh", GUN, "FileMesh", "623102664", "623102879", VT(0.01, 0.01,
0.01), VT(0,0,0))
local GUNWELD = CreateWeldOrSnapOrMotor("Weld", GUN, Torso, GUN, CF(-1.1,-1.1,0) *
ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))

for _, c in pairs(Weapon:GetChildren()) do
if c.ClassName == "Part" then
c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
end
end

Weapon.Parent = Character

local SKILLTEXTCOLOR = C3(1,1,1)


local SKILLFONT = "Legacy"
local SKILLTEXTSIZE = 4

local ATTACKSGOODCOP = {"Mouse - Warning","Q - Baton Stun","E - Cuffs"}


local ATTACKSBADCOP = {"Mouse - Silence","Q - Baton Breaker","E - The Right to
remain silent"}
local GOODUI = {}
local BADUI = {}

for i = 1, #ATTACKSGOODCOP do
local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.73, 0, 0.7-(0.04*i),
0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKSGOODCOP[i].."]",
SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
SKILLTEXT.TextXAlignment = "Right"
table.insert(GOODUI,SKILLTEXT)
end

for i = 1, #ATTACKSBADCOP do
local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.01, 0, 0.7-(0.04*i),
0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKSBADCOP[i].."]",
SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Skill text")
SKILLTEXT.TextXAlignment = "Left"
table.insert(BADUI,SKILLTEXT)
end

local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0,


0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
local SKILLTEXT = CreateLabel(SKILLFRAME, "[F - Switch]", SKILLTEXTCOLOR,
SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")

--//=================================\\
--|| DAMAGING
--\\=================================//

function ApplyDamage(Humanoid,Damage)

end
--//=================================\\
--|| TRANSFORMATIONS
--\\=================================//

function Switch()
ATTACK = true
Rooted = true
if MODE == "GoodCop" then
for i=0, 0.3, 0.1 / Animation_Speed do
Swait()
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)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
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)
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)
end
for i=0, 1, 0.1 / Animation_Speed do
Swait()
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)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) *
ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) *
ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
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)
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)
end
CreateSound(363808674, Torso, 6, 1, false)
for i=0, 0.6, 0.1 / Animation_Speed do
Swait()
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)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) *
ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) *
ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
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)
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)
end
CreateSound(363808674, Torso, 6, 1, false)
for i=0, 0.6, 0.1 / Animation_Speed do
Swait()
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)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) *
ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) *
ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
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)
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)
end
MODE = "BadCop"
elseif MODE == "BadCop" then
CreateSound(147722227, Torso, 4, 1.3, false)
for i=0, 0.3, 0.1 / Animation_Speed do
Swait()
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)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
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)
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)
end
MODE = "GoodCop"
end
ATTACK = false
Rooted = false
end

--//=================================\\
--|| ATTACK GOOD COP
--\\=================================//

function Warning()
local TARGET = Mouse.Target
if TARGET ~= nil then
if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
local LEG = TARGET.Parent:FindFirstChild("Right Leg") or
TARGET.Parent:FindFirstChild("RightLowerLeg")
if LEG and HUM.Health > 0 then
Speed = 6
ATTACK = true
Rooted = false
local GYRO = IT("BodyGyro",RootPart)
GYRO.D = 2
GYRO.P = 2000
GYRO.MaxTorque = VT(0,4000000,0)
coroutine.resume(coroutine.create(function()
repeat
Swait()
GYRO.CFrame =
CF(RootPart.Position,LEG.Position)
until ATTACK == false
GYRO:Remove()
end))
local HIT,POS =
CastProperRay(RootPart.Position,LEG.Position,1000,Character)
local PASS = true
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
HIT,POS =
CastProperRay(RootPart.Position,LEG.Position,1000,Character)
if HIT == nil then
PASS = false
break
else
if HIT.Parent ~= TARGET.Parent then
PASS = false
break
end
end
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
CreateSound(147722227, GUN, 6, 1.3, false)
GUNWELD.Part0 = LeftArm
GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-
90))
for i=0, 0.4, 0.1 / Animation_Speed do
Swait()
HIT,POS =
CastProperRay(RootPart.Position,LEG.Position,1000,Character)
if HIT == nil then
PASS = false
break
else
if HIT.Parent ~= TARGET.Parent then
PASS = false
break
end
end
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5,
0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
if PASS == true then
local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
local DISTANCE = (LEG.Position - GUNPOS).Magnitude
CreateSound(160432334, LEG, 10, 1, false)
local HEAD = HUM.Parent:FindFirstChild("Head")
if HEAD then
CreateSound(535690488, HEAD, 7, 1, false)
end
ApplyDamage(HUM,15)
HUM.WalkSpeed = HUM.WalkSpeed - 3
HUM.PlatformStand = true
coroutine.resume(coroutine.create(function()
wait(0.1)
if HUM.WalkSpeed > 0 then
HUM.PlatformStand = false
end
end))
WACKYEFFECT({Time = 15, EffectType = "Block", Size =
VT(0,0,0), Size2 = VT(0.3,0.3,0.3), Transparency = 0, Transparency2 = 1, CFrame =
CF(GUNPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material
= "Neon", Color = C3(1,1,0), SoundID = 330704232, SoundPitch = 1, SoundVolume = 4})
WACKYEFFECT({Time = 6, EffectType = "Box", Size =
VT(0,0,DISTANCE), Size2 = VT(0.1,0.1,DISTANCE), Transparency = 0, Transparency2 =
1, CFrame = CF(GUNPOS,LEG.Position)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX
= 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID =
nil, SoundPitch = nil, SoundVolume = nil})
for i=0, 1, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 *
CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 +
((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(45)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0,
CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 /
Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-
1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 /
Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -
0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -
0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
end
for i=0, 0.3, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
GUNWELD.Part0 = Torso
GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90),
RAD(-90))
ATTACK = false
Rooted = false
Speed = 20
end
end
end
end
function BatonStun()
ATTACK = true
Rooted = false
Speed = 4
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
end
BATONWELD.Part0 = RightArm
BATONWELD.C0 = CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1)
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(-25)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(25)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.1) *
ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
end
Speed = 25
CreateSound(147722227, BATON, 6, 1.2, false)
Trail.Enabled = true
BATON.CanCollide = true
local SPEAKING = false
local HITS = {}
local TOUCH = BATON.Touched:Connect(function(hit)
if hit.Parent:FindFirstChildOfClass("Humanoid") then
local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
local TORSO = hit.Parent:FindFirstChild("Torso") or
hit.Parent:FindFirstChild("UpperTorso")
if TORSO and HUM.Health > 0 then
local PASS = true
for i = 1, #HITS do
if HITS[i] == hit.Parent then
PASS = false
end
end
table.insert(HITS,hit.Parent)
if PASS == true then
HUM.PlatformStand = true
ApplyDamage(HUM,20)
local bv = Instance.new("BodyVelocity",TORSO)
bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
bv.velocity = CF(Torso.Position-
VT(0,5,0),TORSO.Position).lookVector*70
Debris:AddItem(bv,0.05)
CreateSound(260430079, BATON, 6, 1, false)
WACKYEFFECT({Time = 15, EffectType = "Sphere", Size =
VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame =
CF(TORSO.Position,BATON.Position)*CF(0,0,-0.5), MoveToPos = nil, RotationX = 0,
RotationY = 0, RotationZ = 0, Material = "Glass", Glass = C3(1,1,1), SoundID = nil,
SoundPitch = 1, SoundVolume = 4})
coroutine.resume(coroutine.create(function()
wait(1)
if HUM.WalkSpeed > 0 then
HUM.PlatformStand = false
end
end))
if SPEAKING == false and MRANDOM(1,5) == 1 then
SPEAKING = true
Chatter("Let that be a warning.",0)
end
end
end
end
end)
for i=0, 0.35, 0.1 / Animation_Speed do
Swait()
BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(120), RAD(0),
RAD(0)) * CF(0,0,1), 1 / Animation_Speed)
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(15)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.6) *
ANGLES(RAD(140), RAD(0), RAD(-31)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70),
RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90),
RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
end
TOUCH:Disconnect()
BATON.CanCollide = false
Speed = 20
Trail.Enabled = false
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(0), RAD(0),
RAD(0)) * CF(0,0,1), 2 / Animation_Speed)
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
end
BATONWELD.Part0 = Torso
BATONWELD.C0 = CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0))
ATTACK = false
Rooted = false
end

function shoot()
attack=true
local MouseHit = Mouse.Hit
if run and crouch==false then speed=12 elseif run==false and crouch then
speed=4 elseif run==false and crouch==false then speed=8 end
repeat
for _=0,0.5,0.1 do game:GetService("RunService").Heartbeat:Wait()
if crouch==false then

char:WaitForChild('HumanoidRootPart'):FindFirstChild('RootJoint').C0=char:WaitForCh
ild('HumanoidRootPart'):FindFirstChild('RootJoint').C0:lerp(CFrame.new(0,0,0)*CFram
e.Angles(math.rad(90),math.rad(180),0)*CFrame.new(0,0,0+0.075*math.cos(sine/
24))*CFrame.Angles(math.rad(1+1*math.cos(sine/24)),0,math.rad(-40)),.2)
else

char:WaitForChild('HumanoidRootPart'):FindFirstChild('RootJoint').C0=char:WaitForCh
ild('HumanoidRootPart'):FindFirstChild('RootJoint').C0:lerp(CFrame.new(0,0,0)*CFram
e.Angles(math.rad(90),math.rad(180),0)*CFrame.new(0,0,-1+0.075*math.cos(sine/
24))*CFrame.Angles(math.rad(1+1*math.cos(sine/24)),0,math.rad(-40)),.2)
end

char:WaitForChild('Torso'):FindFirstChild('Neck').C0=char:WaitForChild('Torso'):Fin
dFirstChild('Neck').C0:lerp(CFrame.new(0,1,0)*CFrame.Angles(math.rad(90),math.rad(1
80),0)*CFrame.new(0,0,0)*CFrame.Angles(math.rad(2.5-5*math.sin(sine/
24)),0,math.rad(40)),.2)
char:WaitForChild('Torso'):FindFirstChild('Right
Shoulder').C0=char:WaitForChild('Torso'):FindFirstChild('Right
Shoulder').C0:lerp(CFrame.new(1,0.5,0)*CFrame.Angles(0,math.rad(90),0)*CFrame.new(0
.25,0+0.075*math.sin(sine/24),-0.5)*CFrame.Angles(0,math.rad(40+1*math.cos(sine/
24)),math.rad(90-1*math.sin(sine/24))),.2)
char:WaitForChild('Torso'):FindFirstChild('Left
Shoulder').C0=char:WaitForChild('Torso'):FindFirstChild('Left
Shoulder').C0:lerp(CFrame.new(-1,0.5,0)*CFrame.Angles(0,math.rad(-
90),0)*CFrame.new(-0.75,0+0.075*math.sin(sine/24),-0.5)*CFrame.Angles(0,math.rad(-
10-1*math.cos(sine/24)),math.rad(-100+1*math.sin(sine/24))),.2)
gumweld.C0=gumweld.C0:lerp(CFrame.new(-1.2,-
0.3,0.4)*CFrame.Angles(math.rad(70),math.rad(-5),math.rad(85)),.2)
end
local bullet = Instance.new("Part",effects)
Instance.new("SpecialMesh",bullet).MeshType="Sphere"
bullet.Color=Color3.new(0,0,0)
bullet.Size=Vector3.new(.25,.25,4)
bullet.Material="Neon"
bullet.Anchored=true
bullet.CanCollide=false
bullet.CFrame=gun.CFrame*CFrame.new(2,0.5,0)
local partic1 = Instance.new("ParticleEmitter",bullet)

partic1.Color=ColorSequence.new({ColorSequenceKeypoint.new(0,Color3.new(1,1,0)),Col
orSequenceKeypoint.new(0.25,Color3.new(0,0,1)),ColorSequenceKeypoint.new(1,Color3.n
ew())})
partic1.LightEmission=1
partic1.LightInfluence=1

partic1.Size=NumberSequence.new({NumberSequenceKeypoint.new(0,0.5),NumberSequenceKe
ypoint.new(0.25,1+math.random(-.25,.25)),NumberSequenceKeypoint.new(1,0)})
partic1.Texture="rbxassetid://134531274"
partic1.ZOffset=-1
partic1.LockedToPart=false
partic1.Lifetime=NumberRange.new(1)
partic1.Rate=100
partic1.Rotation=NumberRange.new(-180,180)
partic1.Speed=NumberRange.new(0.5)
partic1.SpreadAngle=Vector2.new(360,360)
local at1 = Instance.new("Attachment",bullet)
at1.Position=Vector3.new(0,.175,0)
local at2 = Instance.new("Attachment",bullet)
at2.Position=Vector3.new(0,-.175,0)
local trail = Instance.new("Trail",bullet)

trail.Color=ColorSequence.new({ColorSequenceKeypoint.new(0,Color3.new(1,1,0)),Color
SequenceKeypoint.new(0.25,Color3.new(0,0,1)),ColorSequenceKeypoint.new(1,Color3.new
())})
trail.LightEmission=1
trail.LightInfluence=1
trail.Transparency=NumberSequence.new(0,1)
trail.Lifetime=0.5
trail.WidthScale=NumberSequence.new(1,0)
trail.Attachment0=at1
trail.Attachment1=at2
trail.FaceCamera=true
local so = Instance.new("Sound",gun)
so.SoundId="rbxassetid://161233154"
so.Volume=2
so.Pitch=math.random(95,105)/100
so.PlayOnRemove=true
so:Play()
so:Destroy()
coroutine.resume(coroutine.create(function()

bullet.CFrame=CFrame.new(bullet.Position,MouseHit.p+Vector3.new(math.random(-
25,25)/10,math.random(-25,25)/10,math.random(-25,25)/10))*CFrame.new(0,0,-2)
for _=1,100 do game:GetService("RunService").Heartbeat:Wait()
local h,p,norm =
workspace:FindPartOnRayWithIgnoreList(Ray.new(bullet.CFrame*CFrame.new(0,0,4).p,
(bullet.CFrame*CFrame.new(0,0,-4).p-bullet.CFrame*CFrame.new(0,0,4).p).unit*8),
{char})
if (h and h.Parent and h.Parent:IsA'Accessory') or (h and
h.Parent and h.Parent:IsA'Hat') then
h:Destroy()
spawn(function()
if h and h.Parent and h.Parent:IsA'Model' then
Kill(h.Parent)
end
end)
h:Destroy()
break
elseif (h and h.CanCollide==true) then
if h.Material==Enum.Material.Glass or
h.Material==Enum.Material.ForceField then
local model = Instance.new("Model",h.Parent)
model.Name=h.Name.."'s chuncs"
local p = Instance.new("Part",model)
p.Size=Vector3.new(h.Size.X/2,h.Size.Y/2,h.Size.Z/2)
p.CFrame=h.CFrame*CFrame.new(h.Size.X/4,h.Size.Y/4,h.Size.Y/4) p.Color=h.Color
p.Material=h.Material p.Transparency=h.Transparency
p.Velocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
p.RotVelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
local p2 = Instance.new("Part",model)
p2.Size=Vector3.new(h.Size.X/2,h.Size.Y/2,h.Size.Z/2)
p2.CFrame=h.CFrame*CFrame.new(-h.Size.X/4,h.Size.Y/4,h.Size.Y/4) p2.Color=h.Color
p2.Material=h.Material p2.Transparency=h.Transparency
p2.Velocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
p2.RotVelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
local p3 = Instance.new("Part",model)
p3.Size=Vector3.new(h.Size.X/2,h.Size.Y/2,h.Size.Z/2)
p3.CFrame=h.CFrame*CFrame.new(h.Size.X/4,-h.Size.Y/4,h.Size.Y/4) p3.Color=h.Color
p3.Material=h.Material p3.Transparency=h.Transparency
p3.Velocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
p3.RotVelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
local p4 = Instance.new("Part",model)
p4.Size=Vector3.new(h.Size.X/2,h.Size.Y/2,h.Size.Z/2)
p4.CFrame=h.CFrame*CFrame.new(-h.Size.X/4,-h.Size.Y/4,h.Size.Y/4) p4.Color=h.Color
p4.Material=h.Material p4.Transparency=h.Transparency
p4.Velocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
p4.RotVelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
local p5 = Instance.new("Part",model)
p5.Size=Vector3.new(h.Size.X/2,h.Size.Y/2,h.Size.Z/2)
p5.CFrame=h.CFrame*CFrame.new(h.Size.X/4,h.Size.Y/4,-h.Size.Y/4) p5.Color=h.Color
p5.Material=h.Material p5.Transparency=h.Transparency
p5.Velocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
p5.RotVelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
local p6 = Instance.new("Part",model)
p6.Size=Vector3.new(h.Size.X/2,h.Size.Y/2,h.Size.Z/2)
p6.CFrame=h.CFrame*CFrame.new(-h.Size.X/4,h.Size.Y/4,-h.Size.Y/4) p6.Color=h.Color
p6.Material=h.Material p6.Transparency=h.Transparency
p6.Velocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
p6.RotVelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
local p7 = Instance.new("Part",model)
p7.Size=Vector3.new(h.Size.X/2,h.Size.Y/2,h.Size.Z/2)
p7.CFrame=h.CFrame*CFrame.new(h.Size.X/4,-h.Size.Y/4,-h.Size.Y/4) p7.Color=h.Color
p7.Material=h.Material p7.Transparency=h.Transparency
p7.Velocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
p7.RotVelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
local p8 = Instance.new("Part",model)
p8.Size=Vector3.new(h.Size.X/2,h.Size.Y/2,h.Size.Z/2)
p8.CFrame=h.CFrame*CFrame.new(-h.Size.X/4,-h.Size.Y/4,-h.Size.Y/4) p8.Color=h.Color
p8.Material=h.Material p8.Transparency=h.Transparency
p8.Velocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
p8.RotVelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
local so = Instance.new("Sound",h)
so.SoundId="rbxassetid://516789356"
so.Volume=2
so.Pitch=math.random(95,105)/100
so.PlayOnRemove=true
so:Play()
so:Destroy()
h:Destroy()
if math.random(1,2)==1 then
break
end
spawn(function()
wait(math.random(3,5))
for _,a in pairs(model:GetChildren()) do
spawn(function()
if a:IsA'BasePart' then
for _=1,25 do
game:GetService("RunService").Heartbeat:Wait()

a.Transparency=a.Transparency+1/25
end
end
end)
end
repeat
game:GetService("RunService").Heartbeat:Wait() until
model:FindFirstChildWhichIsA'BasePart'==nil
wait(.1) model:Destroy()
end)
elseif h.Transparency<=0.5 then
break
end
end
bullet.CFrame=bullet.CFrame*CFrame.new(0,0,-8)
end
Aoe(bullet.CFrame,8)
bullet.Transparency=1
for _,a in pairs(bullet:GetChildren()) do
if a:IsA'ParticleEmitter' or a:IsA'Trail' then
a.Enabled=false
end
end
wait(1.1)
bullet:Destroy()
end))
for _=0,0.25,0.25 do game:GetService("RunService").Heartbeat:Wait()
if crouch==false then

char:WaitForChild('HumanoidRootPart'):FindFirstChild('RootJoint').C0=char:WaitForCh
ild('HumanoidRootPart'):FindFirstChild('RootJoint').C0:lerp(CFrame.new(0,0,0)*CFram
e.Angles(math.rad(90),math.rad(180),0)*CFrame.new(0,0,0+0.075*math.cos(sine/
24))*CFrame.Angles(math.rad(1+1*math.cos(sine/24)),0,math.rad(-40)),.4)
else

char:WaitForChild('HumanoidRootPart'):FindFirstChild('RootJoint').C0=char:WaitForCh
ild('HumanoidRootPart'):FindFirstChild('RootJoint').C0:lerp(CFrame.new(0,0,0)*CFram
e.Angles(math.rad(90),math.rad(180),0)*CFrame.new(0,0,-1+0.075*math.cos(sine/
24))*CFrame.Angles(math.rad(1+1*math.cos(sine/24)),0,math.rad(-40)),.4)
end

char:WaitForChild('Torso'):FindFirstChild('Neck').C0=char:WaitForChild('Torso'):Fin
dFirstChild('Neck').C0:lerp(CFrame.new(0,1,0)*CFrame.Angles(math.rad(90),math.rad(1
80),0)*CFrame.new(0,0,0)*CFrame.Angles(math.rad(2.5-5*math.sin(sine/
24)),0,math.rad(40)),.4)
char:WaitForChild('Torso'):FindFirstChild('Right
Shoulder').C0=char:WaitForChild('Torso'):FindFirstChild('Right
Shoulder').C0:lerp(CFrame.new(1,0.5,0)*CFrame.Angles(0,math.rad(90),0)*CFrame.new(0
.25,0+0.075*math.sin(sine/24),-0.5)*CFrame.Angles(0,math.rad(40+1*math.cos(sine/
24)),math.rad(95-1*math.sin(sine/24))),.4)
char:WaitForChild('Torso'):FindFirstChild('Left
Shoulder').C0=char:WaitForChild('Torso'):FindFirstChild('Left
Shoulder').C0:lerp(CFrame.new(-1,0.5,0)*CFrame.Angles(0,math.rad(-
90),0)*CFrame.new(-0.75,0+0.075*math.sin(sine/24),-0.5)*CFrame.Angles(0,math.rad(-
10-1*math.cos(sine/24)),math.rad(-105+1*math.sin(sine/24))),.4)
gumweld.C0=gumweld.C0:lerp(CFrame.new(-1.2,-
0.3,0.4)*CFrame.Angles(math.rad(70),math.rad(-5),math.rad(85)),.4)
end
until repeatmouse==false
if run and crouch==false then speed=24 elseif run==false and crouch then
speed=6 elseif run==false and crouch==false then speed=12 end
attack=false
end

function Cuffs()
local TARGET = Mouse.Target
if TARGET ~= nil then
if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or
TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
if ROOT and HUM.Health > 0 then
local FOE = Mouse.Target.Parent
ATTACK = true
Rooted = true
CharacterFade(C3(1,1,1),70)
RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
ROOT.Anchored = true
CreateSound(289556450, RootPart, 5, 1.4, false)
Chatter("You have the right to remain silent.",0)
for i=0, 2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5,
0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
local RIGHTCUFF = nil
local LEFTCUFF = nil
local ChainLink = nil
CreateSound(1279090548, ROOT, 10, 1.4, false)
for _, c in pairs(FOE:GetChildren()) do
if c.Name == "Left Arm" or c.Name == "LeftLowerArm"
then
LEFTCUFF = CreatePart(3, FOE, "Metal", 0, 0,
"Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
LEFTCUFF.CFrame = c.CFrame
weldBetween(c,LEFTCUFF)
end
end
for _, c in pairs(FOE:GetChildren()) do
if c.Name == "Right Arm" or c.Name == "RightLowerArm"
then
RIGHTCUFF = CreatePart(3, FOE, "Metal", 0, 0,
"Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
RIGHTCUFF.CFrame = c.CFrame
weldBetween(c,RIGHTCUFF)
end
end
if RIGHTCUFF and LEFTCUFF then
local A = IT("Attachment",RIGHTCUFF)
local B = IT("Attachment",LEFTCUFF)
ChainLink = IT("Beam",FOE)
ChainLink.Texture = "rbxassetid://73042633"
ChainLink.Color = ColorSequence.new(C3(0.8,0.8,0.8))
ChainLink.TextureSpeed = 0
ChainLink.Width0 = 1
ChainLink.Width1 = 1
ChainLink.Segments = 25
ChainLink.TextureLength = 3
ChainLink.Attachment0 = B
ChainLink.Attachment1 = A
ChainLink.FaceCamera = true
ChainLink.Transparency = NumberSequence.new(0)
end
coroutine.resume(coroutine.create(function()
wait(4)
if RIGHTCUFF and LEFTCUFF then
RIGHTCUFF:remove()
LEFTCUFF:remove()
ChainLink:remove()
local bv = Instance.new("BodyVelocity",ROOT)
bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
bv.velocity = CF(ROOT.Position-
VT(0,5,0),ROOT.Position).lookVector*70
Debris:AddItem(bv,0.05)
ApplyDamage(HUM,70)
HUM.PlatformStand = false
WACKYEFFECT({Time = 50, EffectType = "Sphere",
Size = VT(0,0,0), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame =
CF(RIGHTCUFF.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ =
0, Material = "Neon", Glass = C3(1,1,1), SoundID = 174580476, SoundPitch = 1,
SoundVolume = 7})
WACKYEFFECT({Time = 50, EffectType = "Sphere",
Size = VT(0,0,0), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame =
CF(LEFTCUFF.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ =
0, Material = "Neon", Glass = C3(1,1,1), SoundID = 174580476, SoundPitch = 1,
SoundVolume = 7})
end
end))
for i=0, 1.5, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(15), RAD(5), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5,
0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
HUM.PlatformStand = true
ROOT.CFrame = ROOT.CFrame * ANGLES(RAD(15), RAD(0), RAD(0))
ROOT.Anchored = false
Chatter("Anything you say can and WILL be used against
you.",0)
for i=0, 3, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(-5), RAD(0), RAD(-35)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(-1), RAD(0), RAD(3)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5,
0.5, 0) * ANGLES(RAD(-1), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(-12), RAD(80), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
ATTACK = false
Rooted = false
end
end
end
end

--//=================================\\
--|| ATTACK BAD COP
--\\=================================//

function Silence()
Speed = 6
ATTACK = true
Rooted = false
local GYRO = IT("BodyGyro",RootPart)
GYRO.D = 2
GYRO.P = 20000
GYRO.MaxTorque = VT(0,4000000,0)
coroutine.resume(coroutine.create(function()
repeat
Swait()
GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
until ATTACK == false
GYRO:Remove()
end))
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
end
local AMMO = 6
local FIRING = true
local SHOOTING = false
local TIMER = 70
CreateSound(147722227, GUN, 6, 1.3, false)
GUNWELD.Part0 = LeftArm
GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
local MOUSE = Mouse.Button1Down:connect(function(NEWKEY)
if SHOOTING == false and AMMO > 0 then
SHOOTING = true
AMMO = AMMO - 1
local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
local HIT,POS = CastProperRay(GUNPOS,Mouse.Hit.p,1000,Character)
local DISTANCE = (POS - GUNPOS).Magnitude
if HIT then
if HIT.Parent:FindFirstChildOfClass("Humanoid") then
if
HIT.Parent:FindFirstChildOfClass("Humanoid").Health > 0 then
CreateSound(160432334, HIT, 10, 1, false)

ApplyDamage(HIT.Parent:FindFirstChildOfClass("Humanoid"),35)
end
end
end
TIMER = 55
WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0),
Size2 = VT(0.3,0.3,0.3), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS),
MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon",
Color = C3(1,1,0), SoundID = 330704232, SoundPitch = 1, SoundVolume = 4})
WACKYEFFECT({Time = 6, EffectType = "Box", Size =
VT(0,0,DISTANCE), Size2 = VT(0.1,0.1,DISTANCE), Transparency = 0, Transparency2 =
1, CFrame = CF(GUNPOS,POS)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX = 0,
RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = nil,
SoundPitch = nil, SoundVolume = nil})
for i=0, 0.3, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) *
ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0)
* ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(100), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
if AMMO <= 0 then
FIRING = false
end
SHOOTING = false
end
end)
repeat
Swait()
if SHOOTING == false then
TIMER = TIMER - 1
if TIMER <= 0 then
FIRING = false
end
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) *
ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(90), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0),
RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
end
until FIRING == false and SHOOTING == false
MOUSE:Disconnect()
for i=0, 0.3, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
end
GUNWELD.Part0 = Torso
GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
Speed = 20
ATTACK = false
Rooted = false
end
function BatonBreaker()
ATTACK = true
Rooted = false
Speed = 4
Chatter("I'll break you!",0)
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
end
BATONWELD.Part0 = RightArm
BATONWELD.C0 = CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1)
for i=0, 0.5, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(-25)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(25)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.1) *
ANGLES(RAD(-20), RAD(-40), RAD(25)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
end
Speed = 30
CreateSound(147722227, BATON, 6, 1, false)
Trail.Enabled = true
BATON.CanCollide = true
local SPEAKING = false
local HITS = {}
local TOUCH = BATON.Touched:Connect(function(hit)
if hit.Parent:FindFirstChildOfClass("Humanoid") then
local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
local TORSO = hit.Parent:FindFirstChild("Torso") or
hit.Parent:FindFirstChild("UpperTorso")
if TORSO and HUM.Health > 0 then
local PASS = true
for i = 1, #HITS do
if HITS[i] == hit.Parent then
PASS = false
end
end
table.insert(HITS,hit.Parent)
if PASS == true then
CreateSound(260430079, BATON, 6, 0.8, false)
WACKYEFFECT({Time = 15, EffectType = "Sphere", Size =
VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame =
CF(TORSO.Position,BATON.Position)*CF(0,0,-0.5), MoveToPos = nil, RotationX = 0,
RotationY = 0, RotationZ = 0, Material = "Glass", Glass = C3(1,1,1), SoundID = nil,
SoundPitch = 1, SoundVolume = 4})
TORSO.Anchored = true
local POS = TORSO.CFrame
coroutine.resume(coroutine.create(function()
for i = 1, 15 do
Swait()
TORSO.CFrame =
POS*CF(MRANDOM(-2,2)/10,MRANDOM(-2,2)/10,MRANDOM(-2,2)/10)
end
local HEAD = HUM.Parent:FindFirstChild("Head")
HUM.Parent:BreakJoints()
if HEAD then
CreateSound(363808674, HEAD, 10, 0.8,
false)
local bv =
Instance.new("BodyVelocity",TORSO)
bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
bv.velocity = CF(Torso.Position-
VT(0,5,0),HEAD.Position).lookVector*70
Debris:AddItem(bv,0.05)
local TEXTS = {"Criminals should leave
this world!","And stay down!"}
Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
end
TORSO.Anchored = false
end))
end
end
end
end)
for i=0, 0.45, 0.1 / Animation_Speed do
Swait()
RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.15)
BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(120), RAD(0),
RAD(0)) * CF(0,0,1), 1 / Animation_Speed)
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) *
ANGLES(RAD(15), RAD(0), RAD(15)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(-15), RAD(0), RAD(-15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.6) *
ANGLES(RAD(140), RAD(-25), RAD(-41)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(15),
RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90),
RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
end
TOUCH:Disconnect()
BATON.CanCollide = false
Speed = 20
Trail.Enabled = false
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(0), RAD(0),
RAD(0)) * CF(0,0,1), 2 / Animation_Speed)
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0),
RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
end
BATONWELD.Part0 = Torso
BATONWELD.C0 = CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0))
ATTACK = false
Rooted = false
end
function TheRightToRemainSilent()
local TARGET = Mouse.Target
if TARGET ~= nil then
if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or
TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
if ROOT and HUM.Health > 0 then
local FOE = Mouse.Target.Parent
ATTACK = true
Rooted = true
CharacterFade(C3(1,1,1),70)
RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
ROOT.Anchored = true
CreateSound(289556450, RootPart, 5, 1.4, false)
Chatter("You are to remain silent and DEAD!",0)
for i=0, 0.4, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
HUM.PlatformStand = true
ROOT.CFrame = ROOT.CFrame * CF(0,-2*ROOT.Size.Z,0) *
ANGLES(RAD(-90), RAD(0), RAD(0))
CreateSound(260430117, ROOT, 6, 1.3, false)
coroutine.resume(coroutine.create(function()
Swait()
ROOT.Anchored = true
end))
RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
local OOFS =
{1106908323,1080610827,1080614222,565424701,565424177,1080611063}
CreateSound(OOFS[MRANDOM(1,#OOFS)], ROOT, 6, 1, false)
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -
0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45,
0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 /
Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) *
ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
local AMMO = 6
local FIRING = true
local SHOOTING = false
local TIMER = 70
CreateSound(147722227, GUN, 6, 1.3, false)
GUNWELD.Part0 = LeftArm
GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-
90))
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -
0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45,
0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 /
Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4,
0.55, 0.4) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 /
Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) *
ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
for i = 1, 6 do
local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
local DISTANCE = (FOE.Head.Position -
GUNPOS).Magnitude
WACKYEFFECT({Time = 15, EffectType = "Block", Size =
VT(0,0,0), Size2 = VT(0.3,0.3,0.3), Transparency = 0, Transparency2 = 1, CFrame =
CF(GUNPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material
= "Neon", Color = C3(1,1,0), SoundID = 330704232, SoundPitch = 1, SoundVolume = 4})
WACKYEFFECT({Time = 6, EffectType = "Box", Size =
VT(0,0,DISTANCE), Size2 = VT(0.1,0.1,DISTANCE), Transparency = 0, Transparency2 =
1, CFrame = CF(GUNPOS,FOE.Head.Position)*CF(0,0,-DISTANCE/2), MoveToPos = nil,
RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0),
SoundID = nil, SoundPitch = nil, SoundVolume = nil})
HUM.Health = HUM.Health/1.5
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 *
CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 +
((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0,
CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 /
Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-
1.4, 0.55, 0.6) * ANGLES(RAD(130), RAD(0), RAD(20)) * LEFTSHOULDERC0, 1 /
Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -
0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -
0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
for i=0, 0.2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 *
CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 +
((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0,
CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 /
Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-
1.4, 0.55, 0.6) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 /
Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -
0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -
0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
end
FOE:BreakJoints()
ROOT.Anchored = false
for i=0, 0.3, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0,
0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) -
1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525,
0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) *
ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
GUNWELD.Part0 = Torso
GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90),
RAD(-90))
ATTACK = false
Rooted = false
end
end
end
end

--//=================================\\
--|| ASSIGN THINGS TO KEYS
--\\=================================//

function MouseDown(Mouse)
if ATTACK == false then
if MODE == "GoodCop" then
Warning()
elseif MODE == "BadCop" then
Silence()
end
end
end

function MouseUp(Mouse)
HOLD = false
end

function KeyDown(Key)
KEYHOLD = true
if Key == "q" and ATTACK == false then
if MODE == "GoodCop" then
BatonStun()
elseif MODE == "BadCop" then
BatonBreaker()
end
end

if Key == "e" and ATTACK == false then


if MODE == "GoodCop" then
Cuffs()
elseif MODE == "BadCop" then
TheRightToRemainSilent()
end
end

if Key == "t" and ATTACK == false then


if MODE == "GoodCop" then
Chatter("You should obey the law.",0.01)
elseif MODE == "BadCop" then
Chatter("I don't think so, Criminal!",0.01)
end
end

if Key == "f" and ATTACK == false then


Switch()
end

if Key == "0" and ATTACK == false then


if sick.Parent ~= RootPart then
sick = IT("Sound",RootPart)
end
end
end

fbutton.Name = "fbutton"
fbutton.Parent = epic
fbutton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
fbutton.Position = UDim2.new(0.243093923, 0, 0.344781578, 0)
fbutton.Size = UDim2.new(0, 84, 0, 42)
fbutton.Font = Enum.Font.SourceSans
fbutton.Text = "f"
fbutton.TextColor3 = Color3.fromRGB(0, 0, 0)
fbutton.TextSize = 14.000
fbutton.MouseButton1Down:connect(function()
Switch()
end)

ebutton.Name = "ebutton"
ebutton.Parent = epic
ebutton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
ebutton.Position = UDim2.new(0.553093923, 0, 0.654781578, 0)
ebutton.Size = UDim2.new(0, 84, 0, 42)
ebutton.Font = Enum.Font.SourceSans
ebutton.Text = "e"
ebutton.TextColor3 = Color3.fromRGB(0, 0, 0)
ebutton.TextSize = 14.000
ebutton.MouseButton1Down:connect(function()
if MODE == "GoodCop" then
Cuffs()
elseif MODE == "BadCop" then
TheRightToRemainSilent()
end
end)

qbutton.Name = "qbutton"
qbutton.Parent = epic
qbutton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
qbutton.Position = UDim2.new(0.154781578, 0, 0.053093923, 0)
qbutton.Size = UDim2.new(0, 84, 0, 42)
qbutton.Font = Enum.Font.SourceSans
qbutton.Text = "q"
qbutton.TextColor3 = Color3.fromRGB(0, 0, 0)
qbutton.TextSize = 14.000
qbutton.MouseButton1Down:connect(function()
if MODE == "GoodCop" then
BatonStun()
elseif MODE == "BadCop" then
BatonBreaker()
end
end)

tbutton.Name = "tbutton"
tbutton.Parent = epic
tbutton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
tbutton.Position = UDim2.new(0.854781578, 0, 0.963093923, 0)
tbutton.Size = UDim2.new(0, 84, 0, 42)
tbutton.Font = Enum.Font.SourceSans
tbutton.Text = "t"
tbutton.TextColor3 = Color3.fromRGB(0, 0, 0)
tbutton.TextSize = 14.000
tbutton.MouseButton1Down:connect(function()
if MODE == "GoodCop" then
Chatter("You should obey the law.",0.01)
elseif MODE == "BadCop" then
Chatter("I don't think so, Criminal!",0.01)
end
end)

function KeyUp(Key)
KEYHOLD = false
end

Mouse.Button1Down:connect(function(NEWKEY)
MouseDown(NEWKEY)
end)
Mouse.Button1Up:connect(function(NEWKEY)
MouseUp(NEWKEY)
end)
Mouse.KeyDown:connect(function(NEWKEY)
KeyDown(NEWKEY)
end)
Mouse.KeyUp:connect(function(NEWKEY)
KeyUp(NEWKEY)
end)

--//=================================\\
--\\=================================//

function unanchor()
for _, c in pairs(Character:GetChildren()) do
if c:IsA("BasePart") and c ~= RootPart then
c.Anchored = false
end
end
for _, c in pairs(Weapon:GetChildren()) do
if c:IsA("BasePart") and c ~= RootPart then
c.Anchored = false
end
end
if UNANCHOR == true then
RootPart.Anchored = false
else
RootPart.Anchored = true
end
end

--//=================================\\
--|| WRAP THE WHOLE SCRIPT UP
--\\=================================//

Humanoid.Changed:connect(function(Jump)
if Jump == "Jump" and (Disable_Jump == true) then
Humanoid.Jump = false
end
end)

while true do
Swait()
script.Parent = WEAPONGUI
ANIMATE.Parent = nil
for _,v in next, Humanoid:GetPlayingAnimationTracks() do
v:Stop();
end
SINE = SINE + CHANGE
local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
local TORSOVERTICALVELOCITY = RootPart.Velocity.y
local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position,
RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
if ANIM == "Walk" and TORSOVELOCITY > 1 then
RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.05 * COS(SINE /
(WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed /
16) / Animation_Speed)
Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0),
RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 *
(Humanoid.WalkSpeed / 16) / Animation_Speed)
RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE /
WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(90),
RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 /
Animation_Speed)
LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE /
WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 /
Animation_Speed)
elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0),
RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0),
RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed)
LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-
90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed)
end
if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
ANIM = "Jump"
if ATTACK == false then
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
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)
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)
end
elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
ANIM = "Fall"
if ATTACK == false then
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) *
ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) *
ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
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)
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)
end
elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
ANIM = "Idle"
if ATTACK == false then
if MODE == "GoodCop" then
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0.05 *
COS(SINE / 12), 0, 0 + 0.05 * SIN(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)),
0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5,
0.3) * ANGLES(RAD(-45), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5,
0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 + 0.05 * COS(SINE /
12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(85), RAD(0)) *
ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 + 0.05 * COS(SINE /
12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) *
ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed)
elseif MODE == "BadCop" then
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)
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)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 +
0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) *
RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9, 0.25 +
0.05 * SIN(SINE / 12), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0,
1 / Animation_Speed)
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)
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)
end
end
elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
ANIM = "Walk"
if ATTACK == false then
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) *
ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
if MODE == "GoodCop" then
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 +
0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), 0.3) * ANGLES(RAD(-45), RAD(0), RAD(-45)) *
RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 +
0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) *
LEFTSHOULDERC0, 1 / Animation_Speed)
elseif MODE == "BadCop" then
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 +
0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) *
RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9, 0.25 +
0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) *
LEFTSHOULDERC0, 1 / Animation_Speed)
end
RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0),
RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-5)), 2 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0),
RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 2 / Animation_Speed)
end
end
unanchor()
Humanoid.MaxHealth = 3e3
Humanoid.Health = 3e3
if Rooted == false then
Disable_Jump = false
Humanoid.WalkSpeed = Speed
elseif Rooted == true then
Disable_Jump = true
Humanoid.WalkSpeed = 0
end
for _, c in pairs(Character:GetChildren()) do
if (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~=
"Cloth" then
c:remove()
end
end
sick.SoundId = "rbxassetid://259554386"
sick.Looped = true
sick.Pitch = 1
sick.Volume = 4
sick.Playing = true
if MODE == "GoodCop" then
for E = 1, #GOODUI do
GOODUI[E].TextStrokeTransparency = 0
GOODUI[E].TextTransparency = 0
end
for E = 1, #BADUI do
BADUI[E].TextStrokeTransparency = 1
BADUI[E].TextTransparency = 0.5
end
elseif MODE == "BadCop" then
for E = 1, #GOODUI do
GOODUI[E].TextStrokeTransparency = 1
GOODUI[E].TextTransparency = 0.5
end
for E = 1, #BADUI do
BADUI[E].TextStrokeTransparency = 0
BADUI[E].TextTransparency = 0
end
end
end
end
--//=================================\\
--|| stuffffffffrf
--\\=================================//

netless()
wait(0.5)
mainsc()
--//====================================================\\--
--|| END OF SCRIPT
--\\====================================================//--

You might also like