
Key RequiredUniversal

local ToolName1 = "Guitar"
local ToolName2 = "Monstermash"
local holdAnimationId1 = "rbxassetid://55789536"
local useAnimationId1 = "rbxassetid://55791140"
local useAnimationId2 = "rbxassetid://35654637"
local soundIds1 = {"rbxassetid://1089406", "rbxassetid://8509804480"}
local soundId2 = "rbxassetid://35930009"
local customIdleAnimationId = "rbxassetid://48138189"
local customWalkAnimationId = "rbxassetid://27759788"
local UserInputService = game:GetService("UserInputService")
local ScreenGui = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local TextButton1 = Instance.new("TextButton")
local TextButton2 = Instance.new("TextButton")
local TextButton3 = Instance.new("TextButton")
ScreenGui.Name = "ToolGui"
ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
Frame.Parent = ScreenGui
Frame.Size = UDim2.new(0, 300, 0, 220)
Frame.Position = UDim2.new(1, -320, 0, 20)
Frame.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
Frame.Active = true
Frame.Draggable = true
TextButton1.Parent = Frame
TextButton1.Size = UDim2.new(0, 280, 0, 50)
TextButton1.Position = UDim2.new(0.5, -140, 0, 10)
TextButton1.Text = "Get Guitar"
TextButton1.BackgroundColor3 = Color3.fromRGB(85, 170, 255)
TextButton1.TextColor3 = Color3.fromRGB(255, 255, 255)
TextButton1.Font = Enum.Font.SourceSans
TextButton1.TextSize = 24
TextButton1.BorderSizePixel = 0
TextButton2.Parent = Frame
TextButton2.Size = UDim2.new(0, 280, 0, 50)
TextButton2.Position = UDim2.new(0.5, -140, 0, 70)
TextButton2.Text = "Get Monstermash"
TextButton2.BackgroundColor3 = Color3.fromRGB(255, 85, 85)
TextButton2.TextColor3 = Color3.fromRGB(255, 255, 255)
TextButton2.Font = Enum.Font.SourceSans
TextButton2.TextSize = 24
TextButton2.BorderSizePixel = 0
TextButton3.Parent = Frame
TextButton3.Size = UDim2.new(0, 280, 0, 50)
TextButton3.Position = UDim2.new(0.5, -140, 0, 130)
TextButton3.Text = "Gentleman Idle and Walk Anim"
TextButton3.BackgroundColor3 = Color3.fromRGB(85, 85, 255)
TextButton3.TextColor3 = Color3.fromRGB(255, 255, 255)
TextButton3.Font = Enum.Font.SourceSans
TextButton3.TextSize = 24
TextButton3.BorderSizePixel = 0
local function giveTool(toolName, holdAnimationId, useAnimationId, soundIds)
local player = game.Players.LocalPlayer
local t = Instance.new("Tool")
t.Name = toolName
t.RequiresHandle = false
t.CanBeDropped = false
t.Parent = player.Backpack
local holdAnimation
local useAnimation
local playSound
local function playEffects(player, hold, use)
local character = player.Character
if character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
local animator = humanoid:FindFirstChildOfClass("Animator") or humanoid:FindFirstChildOfClass("Humanoid")
if hold then
if holdAnimationId and (not holdAnimation or not holdAnimation.IsPlaying) then
local animation = Instance.new("Animation")
animation.AnimationId = holdAnimationId
holdAnimation = animator:LoadAnimation(animation)
holdAnimation.Looped = true
holdAnimation:Play()
end
else
if holdAnimation and holdAnimation.IsPlaying then
holdAnimation:Stop()
holdAnimation = nil
end
end
if use then
if not useAnimation or not useAnimation.IsPlaying then
local animation = Instance.new("Animation")
animation.AnimationId = useAnimationId
useAnimation = animator:LoadAnimation(animation)
useAnimation.Looped = false
useAnimation:Play()
end
local selectedSoundId = soundIds[math.random(#soundIds)]
if not playSound or not playSound.IsPlaying then
playSound = Instance.new("Sound")
playSound.SoundId = selectedSoundId
playSound.Parent = character.Head
playSound:Play()
else
playSound:Stop()
playSound:Destroy()
playSound = Instance.new("Sound")
playSound.SoundId = selectedSoundId
playSound.Parent = character.Head
playSound:Play()
end
else
if useAnimation and useAnimation.IsPlaying then
useAnimation:Stop()
useAnimation = nil
end
if playSound and playSound.IsPlaying then
playSound:Stop()
playSound:Destroy()
playSound = nil
end
end
end
end
end
t.Equipped:Connect(function()
playEffects(player, true, false)
end)
t.Unequipped:Connect(function()
playEffects(player, false, false)
end)
t.Activated:Connect(function()
playEffects(player, true, true)
end)
end
local function changeIdleAndWalkAnim()
local player = game.Players.LocalPlayer
local character = player.Character
if character then
local animate = character:FindFirstChild("Animate")
if animate then
local walkAnim = animate:FindFirstChild("walk")
local idleAnim = animate:FindFirstChild("idle")
if walkAnim then
for _, anim in pairs(walkAnim:GetChildren()) do
if anim:IsA("Animation") then
anim.AnimationId = customWalkAnimationId
end
end
end
if idleAnim then
for _, anim in pairs(idleAnim:GetChildren()) do
if anim:IsA("Animation") then
anim.AnimationId = customIdleAnimationId
end
end
end
end
end
end
TextButton1.MouseButton1Click:Connect(function()
giveTool(ToolName1, holdAnimationId1, useAnimationId1, soundIds1)
end)
TextButton2.MouseButton1Click:Connect(function()
giveTool(ToolName2, nil, useAnimationId2, {soundId2})
end)
TextButton3.MouseButton1Click:Connect(function()
changeIdleAndWalkAnim()
end)No comments yet for this script.



