View difference between Paste ID: SZqFRW5x and su78qe3c
SHOW: | | - or go back to the newest paste.
1-
local lp = game.Players.LocalPlayer
1+
game.Players.LocalPlayer.CameraMode = "Classic"
2-
local chr = lp.Character
2+
3-
local mouse = lp:GetMouse()
3+
4-
local euler = CFrame.fromEulerAnglesXYZ
4+
5-
local rad = math.rad
5+
6-
local trso = chr.Torso
6+
7-
7+
8-
local hd = Instance.new("Weld",chr.Head)
8+
9-
hd.Part0=chr.Head
9+
        human.MaxHealth = math.huge
10-
hd.Part1=chr.Torso
10+
11-
hd.C0=CFrame.new(0,-1.5,0)
11+
12-
12+
        human.Health = math.huge
13-
13+
14-
hum = chr.Humanoid
14+
local shieldlyboi = Instance.new("ForceField", c)
15-
15+
shieldlyboi.Visible = false
16-
function Name(msg)
16+
local s = game.Players.LocalPlayer.Character local Torso = s:WaitForChild("Torso")
17-
        if chr.Head.Parent then
17+
local CF, V3, Ang, pi, sqrt = CFrame.new, Vector3.new, CFrame.Angles, math.pi, math.sqrt
18-
        pcall(function()
18+
s.Humanoid.WalkSpeed = 8
19-
        local Gui = Instance.new('BillboardGui',chr.Head)
19+
local Body = s.HumanoidRootPart
20-
        Gui.ExtentsOffset = Vector3.new(0,2,0)
20+
local Head = s.Head
21-
        Gui.Size = UDim2.new(0,200,0,300)
21+
local TorsoWeld = Body.RootJoint
22-
        local Frame = Instance.new('Frame',Gui)
22+
local HeadWeld = s.Torso.Neck
23-
        Frame.BackgroundTransparency = 1
23+
local Mouse = game.Players.LocalPlayer:GetMouse()
24-
        Frame.Size = UDim2.new(1,0,1,0)
24+
local Camera = game.Workspace.CurrentCamera
25-
        local Txt = Instance.new('TextLabel',Frame)
25+
local c = true
26-
        Txt.BackgroundTransparency = 1
26+
local Crouch = 0
27-
        Txt.Size = UDim2.new(1,0,1,0)
27+
local Crouching = false
28-
        Txt.Font = 'SourceSansItalic'
28+
local SprintAmount = 0
29-
        Txt.FontSize = 'Size24'
29+
local Sprinting = false
30-
        Txt.Text = msg
30+
local Lean = 0
31-
        Txt.TextColor3 = BrickColor.new("Black").Color
31+
local Humanoid = s.Humanoid
32-
        Txt.TextStrokeColor3 = Color3.new(0/255,0/255,0/255)
32+
function minmax(l, x, u)
33-
        Txt.TextStrokeTransparency = .5
33+
    return math.max(l, math.min(x, u))
34-
        Txt.TextWrapped = true
34+
35-
        Txt.TextScaled = false
35+
function MakeWeld(Part0, Part1)
36-
        end)
36+
    local w = Instance.new("Weld", Part0)
37
    w.Part0, w.Part1 = Part0, Part1
38
    return w
39
end
40-
40+
function JointAction(Weld, AttachPoint, Point)
41-
Name("Billy")
41+
    local Part0Down = Weld.Part0.CFrame * AttachPoint * Ang(-pi/2, 0, 0)
42-
42+
    local ApplicDist = math.min(2, (Point - Part0Down.p).magnitude)
43-
function Chat(msg) -- Credit to jillmiles1, kthxbye
43+
    local JointCFrame = Part0Down * CF(V3(), Part0Down:inverse() * Point)
44-
        if chr.Head.Parent then
44+
    local JointLine = Weld.Part0.CFrame:inverse() * JointCFrame * Ang(pi/2, 0, 0)
45-
        pcall(function()
45+
    Weld.C0 = JointLine * CF(0, -ApplicDist / 2, -sqrt(1 - ApplicDist^2 / 4))
46-
		if chr.Head:FindFirstChild("Fazbear Chat Gui") then
46+
     Weld.C1 = Ang(math.acos(ApplicDist / 2), 0, 0)
47-
		chr.Head['Fazbear Chat Gui']:destroy()
47+
48-
		end
48+
function Smooth(Start, End, x)
49-
        local Gui = Instance.new('BillboardGui',chr.Head)
49+
    return (3*x^2-2*x^3)*(End - Start) + Start
50-
		Gui.Name = "Fazbear Chat Gui"
50+
51-
        Gui.ExtentsOffset = Vector3.new(0,3,0)
51+
Body.CanCollide = false
52-
        Gui.Size = UDim2.new(0,200,0,300)
52+
TorsoWeld.C1 = CF(0, -1, 0)
53-
        local Frame = Instance.new('Frame',Gui)
53+
HeadWeld.C1 = CF(0, -0.5, 0)
54-
        Frame.BackgroundTransparency = 1
54+
function KeyPressed(Key)
55-
        Frame.Size = UDim2.new(1,0,1,0)
55+
    if Key == "c" then
56-
        local Txt = Instance.new('TextLabel',Frame)
56+
        if not Crouching then
57-
        Txt.BackgroundTransparency = 1
57+
        Sprinting = false
58-
        Txt.Size = UDim2.new(1,0,1,0)
58+
        Crouching = true
59-
        Txt.Font = 'SourceSansItalic'
59+
        local WalkSpeedStart = Humanoid.WalkSpeed
60-
		Txt.Name = "ChatGui"
60+
        local CrouchStart = Crouch
61-
        Txt.FontSize = 'Size24'
61+
        local SprintAmountStart = SprintAmount
62-
        Txt.Text = ''
62+
        for i = 0, 1, 1/10 do
63-
        Txt.TextColor3 = BrickColor.new("Navy Blue").Color
63+
            wait(1/30)
64-
        Txt.TextStrokeColor3 = Color3.new(0/255,0/255,0/255)
64+
            Crouch = Smooth(CrouchStart, -1, i)
65-
        Txt.TextStrokeTransparency = .5
65+
            SprintAmount = Smooth(SprintAmountStart, 0, i)
66-
        Txt.TextWrapped = true
66+
            Humanoid.WalkSpeed = Smooth(WalkSpeedStart, 4, i)
67-
        Txt.TextScaled = false
67+
68-
        delay(wait(),function()
68+
69-
                for v = 1, #msg do
69+
        Sprinting = false
70-
                        Txt.Text=string.sub(msg,1,v)
70+
        Crouching = false
71-
                        wait(.07)
71+
        local WalkSpeedStart = Humanoid.WalkSpeed
72-
                end;
72+
        local CrouchStart = Crouch
73-
                wait(1)
73+
        local SprintAmountStart = SprintAmount
74-
                for v = 1, #Txt.Text do
74+
        for i = 0, 1, 1/10 do
75-
                        Txt.Text=string.sub(msg,-1,v)
75+
            wait(1/30)
76-
                        wait(.05)
76+
            Crouch = Smooth(CrouchStart, 0, i)
77-
                end;
77+
            SprintAmount = Smooth(SprintAmountStart, 0, i)
78-
                Gui:remove()
78+
            Humanoid.WalkSpeed = Smooth(WalkSpeedStart, 8, i)
79-
        end)
79+
80-
        end)
80+
81
    elseif Key == "0" then
82
        Sprinting = true
83
        Crouching = false
84-
84+
        local WalkSpeedStart = Humanoid.WalkSpeed
85-
function Name(msg)
85+
        local CrouchStart = Crouch
86-
        if chr.Head.Parent then
86+
        local SprintAmountStart = SprintAmount
87-
        pcall(function()
87+
        for i = 0, 1, 1/15 do
88-
        local Gui = Instance.new('BillboardGui',chr.Head)
88+
            wait(1/30)
89-
        Gui.ExtentsOffset = Vector3.new(0,1.5,0)
89+
            Crouch = Smooth(CrouchStart, 0, i)
90-
        Gui.Size = UDim2.new(0,200,0,300)
90+
            SprintAmount = Smooth(SprintAmountStart, 1, i)
91-
        local Frame = Instance.new('Frame',Gui)
91+
            Humanoid.WalkSpeed = Smooth(WalkSpeedStart, 22, i)
92-
        Frame.BackgroundTransparency = 1
92+
93-
        Frame.Size = UDim2.new(1,0,1,0)
93+
    elseif Key == "q" then
94-
        local Txt = Instance.new('TextLabel',Frame)
94+
        local Start = Lean
95-
        Txt.BackgroundTransparency = 1
95+
        for i = 0, 1, 1/10 do
96-
        Txt.Size = UDim2.new(1,0,1,0)
96+
            wait(1/30)
97-
        Txt.Font = 'SourceSansItalic'
97+
            Lean = Smooth(Start, 1, i)
98-
        Txt.FontSize = 'Size24'
98+
99-
        Txt.Text = msg
99+
    elseif Key == "e" then
100-
        Txt.TextColor3 = BrickColor.new("Royal purple").Color
100+
        local Start = Lean
101-
        Txt.TextStrokeColor3 = Color3.new(0/255,0/255,0/255)
101+
        for i = 0, 1, 1/10 do
102-
        Txt.TextStrokeTransparency = .5
102+
            wait(1/30)
103-
        Txt.TextWrapped = true
103+
            Lean = Smooth(Start, -1, i)
104-
        Txt.TextScaled = false
104+
105-
        end)
105+
    elseif Key == "p" then
106
        c = not c
107
        if c then
108
            game.Players.LocalPlayer.CameraMode = "LockFirstPerson"
109-
109+
110-
110+
            game.Players.LocalPlayer.CameraMode = "Classic"
111-
111+
112-
 
112+
113-
lp.Chatted:connect(function(msg)
113+
114-
        Chat(msg)
114+
function KeyDepressed(Key)
115-
end)
115+
    if Key == "0" then
116-
116+
        Sprinting = false
117-
print("ayy.")
117+
        local WalkSpeedStart = Humanoid.WalkSpeed
118-
118+
        local SprintAmountStart = SprintAmount
119-
119+
        for i = 0, 1, 1/15 do
120-
local p = game.Players.LocalPlayer
120+
            wait(1/30)
121-
local char = p.Character
121+
            SprintAmount = Smooth(SprintAmountStart, 0, i)
122-
local mouse = p:GetMouse()
122+
            Humanoid.WalkSpeed = Smooth(WalkSpeedStart, 8, i)
123-
local larm = char["Left Arm"]
123+
124-
local rarm = char["Right Arm"]
124+
    elseif Key == "q" or Key == "e" then
125-
local lleg = char["Left Leg"]
125+
        local Start = Lean
126-
local rleg = char["Right Leg"]
126+
        for i = 0, 1, 1/10 do
127-
local hed = char.Head
127+
            wait(1/30)
128-
local torso = char.Torso
128+
            Lean = Smooth(Start, 0, i)
129-
local hum = char.Humanoid
129+
130-
 function clerp(c1,c2,al)
130+
131-
    local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
131+
132-
    local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
132+
Mouse.KeyDown:connect(KeyPressed)
133-
    for i,v in pairs(com1) do 
133+
Mouse.KeyUp:connect(KeyDepressed)
134-
        com1[i] = v+(com2[i]-v)*al
134+
local LegWeld1, LegWeld2 = MakeWeld(Body, s["Right Leg"]), MakeWeld(Body, s["Left Leg"])
135
local i = 0
136-
    return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
136+
local SmoothVelocity, Raise = Vector3.new(1, 1, 1), 0
137
local Sprint = 1
138-
 
138+
while wait(1/30) do
139-
plr = game:service'Players'.LocalPlayer
139+
    if not Humanoid.PlatformStand and not Humanoid.Sit then
140-
char = plr.Character
140+
        LegWeld1.Parent = Body
141-
mouse = plr:GetMouse()
141+
        LegWeld2.Parent = Body
142-
humanoid = char:findFirstChild("Humanoid")
142+
        if Body.Velocity.magnitude >= 1 then SmoothVelocity = (SmoothVelocity * 3 + Body.Velocity) / 4 Raise = Raise * 7/8 + 1/8 Sprint = (Body.Velocity.magnitude / 8 + 0.0001)^(3/4) else Raise = Raise * 7/8 end
143-
torso = char:findFirstChild("Torso")
143+
        local ti = (Body.CFrame - Body.CFrame.p):inverse()
144-
head = char.Head
144+
        i = i + ((ti * Torso.Velocity) * V3(1, 0, 1)).magnitude/60/Sprint
145-
ra = char:findFirstChild("Right Arm")
145+
        JointAction(LegWeld1, CF(0.5, Crouch * 2/3 - 1, 0), (Body.CFrame * CF(0.5, Sprint * math.min(math.max(-0.1, Raise * math.cos(pi*i) / 3), 1/4) - 2.9, 0) + SmoothVelocity.unit * Sprint * math.sin(pi*i)).p)
146-
la = char:findFirstChild("Left Arm")
146+
        JointAction(LegWeld2, CF(-0.5, Crouch * 2/3 - 1, 0), (Body.CFrame * CF(-0.5, Sprint * math.min(math.max(-0.1, Raise * -math.cos(pi*i) / 3), 1/4) - 2.9, 0) + SmoothVelocity.unit * Sprint * -math.sin(pi*i)).p)
147-
rl = char:findFirstChild("Right Leg")
147+
        TorsoWeld.C0 = CF(0, Crouch - 1, 0) * Ang(Crouch*pi/8 + SprintAmount*pi*(ti*SmoothVelocity).unit.z/8, (Crouch - SprintAmount)*math.cos(pi*i)*pi / 16, -SprintAmount*pi*(ti*SmoothVelocity).unit.x/8 + Lean*pi/8)
148-
ll = char:findFirstChild("Left Leg")
148+
        HeadWeld.C0 = CF(0, 1, 0) * Ang(-Crouch*pi/8 - SprintAmount*pi*(ti*SmoothVelocity).unit.z/8, (SprintAmount - Crouch)*math.cos(pi*i)*pi / 16, SprintAmount*pi*(ti*SmoothVelocity).unit.x/8 + Lean*pi/8)
149-
rs = torso:findFirstChild("Right Shoulder")
149+
        if (Camera.CoordinateFrame.p - Head.CFrame.p).magnitude <= 3 then
150-
ls = torso:findFirstChild("Left Shoulder")
150+
            CameraLV = (Body.CFrame:inverse() * Camera.CoordinateFrame).lookVector
151-
rh = torso:findFirstChild("Right Hip")
151+
            Parse = (CameraLV + Vector3.new(0, 0, -1)).unit
152-
lh = torso:findFirstChild("Left Hip")
152+
            Parsex, Parsey, Parsez = CF(V3(), Parse):toEulerAnglesXYZ()
153-
neck = torso:findFirstChild("Neck")
153+
            TorsoWeld.C0 = TorsoWeld.C0 * Ang(minmax(-pi/6, Parsex, pi/6) / (1 + SprintAmount), minmax(-pi/6, Parsey, pi/6) / (1 + SprintAmount), 0)
154-
rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
154+
            HeadWeld.C0 = HeadWeld.C0 * Ang(minmax(-pi/3, Parsex, pi/3) / (1 + SprintAmount), minmax(-pi/3, Parsey, pi/3) / (1 + SprintAmount), 0)
155-
animate = char:findFirstChild("Animate")
155+
--            TorsoWeld.C0 = TorsoWeld.C0 * Ang(Parsex, Parsey, 0)
156-
if animate then
156+
--            HeadWeld.C0 = HeadWeld.C0 * Ang(Parsex, Parsey, 0)
157-
animate:Destroy()
157+
158
    else
159
        TorsoWeld.C0 = CF(0, -1, 0)
160
        HeadWeld.C0 = CF(0, 1, 0)
161
        LegWeld1.Parent = nil
162
        LegWeld2.Parent = nil
163
    end
164
end