0% found this document useful (0 votes)
76 views46 pages

Good Cop & Bad Cop Mobile Support

This document contains Lua code that performs the following: 1. Sets up a "netless" script that removes velocity from parts on the player's character to prevent knockback. 2. Creates a notification to indicate the netless script is running. 3. Defines functions to clone a character and synchronize accessories between the clone and original character to prevent death. 4. Runs code to set up the cloned character when the script starts.

Uploaded by

Kira Raka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views46 pages

Good Cop & Bad Cop Mobile Support

This document contains Lua code that performs the following: 1. Sets up a "netless" script that removes velocity from parts on the player's character to prevent knockback. 2. Creates a notification to indicate the netless script is running. 3. Defines functions to clone a character and synchronize accessories between the clone and original character to prevent death. 4. Runs code to set up the cloned character when the script starts.

Uploaded by

Kira Raka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy