
Key Required

local p = game.Players.LocalPlayer
local uis = game:GetService("UserInputService")
local ids = {
idle1 = "rbxassetid://15500461676",
idle2 = "rbxassetid://15500462591",
walk = "rbxassetid://15532927612",
jump = "rbxassetid://125750702",
fall = "rbxassetid://180436148",
sit = "rbxassetid://178130996",
talk = "rbxassetid://15515461377",
spray = "rbxassetid://15500463617",
flash = "rbxassetid://15515552528"
}
local function go(c)
local h = c:WaitForChild("Humanoid")
local a = c:FindFirstChild("Animate")
if a then
a:Destroy()
end
local an = h:FindFirstChildOfClass("Animator")
if an then
an:Destroy()
end
an = Instance.new("Animator", h)
local function load(id)
local a = Instance.new("Animation")
a.AnimationId = id
return an:LoadAnimation(a)
end
local idle1 = load(ids.idle1)
local idle2 = load(ids.idle2)
local walk = load(ids.walk)
local jump = load(ids.jump)
local fall = load(ids.fall)
local sit = load(ids.sit)
local talk = load(ids.talk)
local spray = load(ids.spray)
local flash = load(ids.flash)
local cur
local doingAction = false
local idleFlip = false
local snd = Instance.new("Sound")
snd.SoundId = "rbxassetid://80416058717151"
snd.Volume = 2
snd.Parent = c:WaitForChild("HumanoidRootPart")
local function stopAll()
if cur then
cur:Stop()
end
snd:Stop()
doingAction = false
end
local function play(track, looped)
stopAll()
cur = track
cur.Looped = looped or false
cur:Play()
end
local function playAction(track, withSound)
stopAll()
doingAction = true
cur = track
cur.Looped = false
cur:Play()
if withSound and cur == track then
snd:Play()
end
cur.Stopped:Connect(
function()
if cur == track then
doingAction = false
end
end
)
end
h.Running:Connect(
function(speed)
if doingAction and speed > 1 then
stopAll()
end
if doingAction then
return
end
if speed > 1 then
play(walk, true)
else
idleFlip = not idleFlip
play(idleFlip and idle1 or idle2, true)
end
end
)
h.Jumping:Connect(
function()
if doingAction then
stopAll()
return
end
play(jump, false)
end
)
h.FreeFalling:Connect(
function()
if doingAction then
return
end
play(fall, true)
end
)
h.Seated:Connect(
function()
if doingAction then
return
end
play(sit, true)
end
)
local g = Instance.new("ScreenGui", p:WaitForChild("PlayerGui"))
local function makeBtn(txt, x)
local b = Instance.new("TextButton")
b.Size = UDim2.new(0, 140, 0, 45)
b.Position = UDim2.new(0, x, 0.75, 0)
b.Text = txt
b.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
b.TextColor3 = Color3.new(1, 1, 1)
b.Parent = g
local d = false
local di
local ds
local sp
b.InputBegan:Connect(
function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
d = true
ds = i.Position
sp = b.Position
i.Changed:Connect(
function()
if i.UserInputState == Enum.UserInputState.End then
d = false
end
end
)
end
end
)
b.InputChanged:Connect(
function(i)
if i.UserInputType == Enum.UserInputType.MouseMovement then
di = i
end
end
)
uis.InputChanged:Connect(
function(i)
if i == di and d then
local delta = i.Position - ds
b.Position = UDim2.new(sp.X.Scale, sp.X.Offset + delta.X, sp.Y.Scale, sp.Y.Offset + delta.Y)
end
end
)
return b
end
local bTalk = makeBtn("Talk", 20)
local bSpray = makeBtn("Spray", 180)
local bFlash = makeBtn("Flash", 340)
bTalk.MouseButton1Click:Connect(
function()
playAction(talk, true)
end
)
bSpray.MouseButton1Click:Connect(
function()
playAction(spray, false)
end
)
bFlash.MouseButton1Click:Connect(
function()
playAction(flash, false)
end
)
end
if p.Character then
go(p.Character)
end
p.CharacterAdded:Connect(go)
Pls update un*led gubby game pls if u do ur the goat