#SOLVED ๐Ÿ˜Ž Hi, this is me begging anyone for help with my tool/gui/anim issue๐Ÿ˜ญ๐Ÿ˜ญ๐Ÿฅบ

1 messages ยท Page 1 of 1 (latest)

unreal yoke
#

I'm very bad at scripting, I'm mostly a builder/modeler solo dev, so scripting has always been something I've struggeled with. I'm having an issue with a script in my game that I'm developing. I have a phone tool that you can emote with. Inside the tool is a ScreenGui, with a script and other frames and buttons. I've managed to make the emotes work when clicking on a specific buton but, you can still unequip the tool while playing an emote, which breaks everything, this is my pathetic attempt at trying to fix that, and the error I got ๐Ÿ˜ญ
I've been looking everywhere for a way to do this but I'm getting desperate, any help is VERY VERY appreciated ๐Ÿฅบ๐Ÿ˜”๐Ÿ˜”
My line of code: game.Players.LocalPlayer.PlayerGui:WaitForChild("PhoneGui").Phone.HideFrame.Frame.Texting.Emote:Stop()
The error: "Stop is not a valid member of Animation "Players.boyngt6355.PlayerGui.PhoneGui.Phone.HideFrame.Frame.Texting.Emote""

patent kestrel
#

ye so u can watch a youtube video

unreal yoke
#

I've already tried that many times and got nothing

#

it's been days since I've made any progress and I'm just getting even more unmotivated each day when I make no new progress

wary bronze
#

ill assume you got the script from somewhere and u dont know how to use it

#

look in the script for something like

#

"local animation = humanoid.Animator:LoadAnimation(game.Players.LocalPlayer.PlayerGui:WaitForChild("PhoneGui").Phone.HideFrame.Frame.Texting.Emote)"

#

and replace the error line with "animation:Stop()"

unreal yoke
#

I'll just send both scripts to not cause confiusion

wary bronze
#

if you cant toggle ui visibility with scripts then ur not even over the scripting basics

unreal yoke
#

also thank you so much for responding

wary bronze
#

alright ill see what i can do

unreal yoke
brittle frostBOT
#

studio** You are now Level 1! **studio

unreal yoke
patent kestrel
#

try moving a part

#

with a script

unreal yoke
#

So, this is the one that moves the gui to player's local gui folder local Ui = script:WaitForChild("PhoneGui")

script.Parent.Equipped:Connect(function()
local ScreenGui = Ui:Clone()
ScreenGui.Parent = game.Players.LocalPlayer.PlayerGui
end)

script.Parent.Unequipped:Connect(function()
game.Players.LocalPlayer.PlayerGui:WaitForChild("PhoneGui").Phone.HideFrame.Frame.Texting.Emote:Stop()
game.Players.LocalPlayer.PlayerGui:FindFirstChild(Ui.Name):Destroy()
end)

#

and this is the one inside the text buttons that triggers the anims local player = game.Players.LocalPlayer
local character = player.Character
repeat wait()
character = player.Character
until character
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
if playing == false then
Emote:Play()
talk.Visible = false
play.Visible = false
playing = true
elseif playing == true then
Emote:Stop()
talk.Visible = true
play.Visible = true
playing = false
end
end)

#

๐Ÿ˜ญ

wary bronze
#

umm

#

basically

unreal yoke
# patent kestrel try moving a part

I mean I can do that (unless I've already forgotten since I've did some scripting lessons ages ago), I just had no diea how to open a gui with a tool

wary bronze
#

lemme

unreal yoke
#

feel free to make fun of my abilities

#

๐Ÿ˜ญ

wary bronze
unreal yoke
#

yeah... I kinda expected it to be unheard levels of garbage ๐Ÿ˜จ

patent kestrel
#

you shouldnt use a toturial and copy the scripts

wary bronze
#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()

local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
    if playing == false then
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)
local tool = script:FindFirstAncestorWhichIsA("Tool")
tool.Unequipped:Connect(function()
     Emote:Stop()
      tool:FindFirstChildWhichIsA("ScreenGui",true):Destroy()
end)```
#

replace the second script with this ^

#

and

#
local Ui = script:WaitForChild("PhoneGui")

script.Parent.Equipped:Connect(function()
    local ScreenGui = Ui:Clone()
    ScreenGui.Parent = game.Players.LocalPlayer.PlayerGui
end)
#

the first with this^

#

keep in mind tho that these are just corrections

#

i wouldnt make it this way

unreal yoke
unreal yoke
#

I'll test it out in a sec

wary bronze
#

aighty

#

there may be syntax errors lmk

unreal yoke
#

like I cannot express how greatfull I'm ๐Ÿ˜ญ

wary bronze
#

just test dod

unreal yoke
unreal yoke
# wary bronze just test dod

I got this error: Players.boyngt6355.Backpack.Phone.LocalScript.PhoneGui.Phone.HideFrame.Frame.Texting.LocalScript:26: attempt to index nil with 'Unequipped'

patent kestrel
#

where is the tool?

wary bronze
#

i used findfirstancestorwhichisa("Tool")

#

its returning nil for somereason

unreal yoke
#

it's originally in a folder in ReplicatedStorage, and when equipped in a gui, it's in the player's inventory

wary bronze
#

oh only the ui is getting cloned..

unreal yoke
wary bronze
#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = character:FindFirstChildWhichIsA("Tool")
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
    if playing == false then
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)

tool.Unequipped:Connect(function()
     Emote:Stop()
    tool:FindFirstChildWhichIsA("ScreenGui",true):Destroy()
end)
#

replace second script with this instead

unreal yoke
#

okay

wary bronze
#

actually waity

#

wait

#

ok edited

#

you can copy now

unreal yoke
#

oki

brittle frostBOT
#

studio** You are now Level 2! **studio

unreal yoke
#

there's 2 errors this time

#

this is the first one that appears when I get the tool in the inventory: Players.boyngt6355.Backpack.Phone.LocalScript.PhoneGui.Phone.HideFrame.Frame.Texting.LocalScript:26: attempt to index nil with 'Unequipped'

#

and this is the second one after unequipping the phone: Players.boyngt6355.Backpack.Phone.LocalScript.PhoneGui.Phone.HideFrame.Frame.Texting.LocalScript:28: attempt to index nil with 'Destroy'

#

and again thank you so much for the work you're putting into helping me ๐Ÿ˜ญ

wary bronze
#

yikes

patent kestrel
#

ye watch a youtube video

unreal yoke
wary bronze
#

i hate patching

#

try this ```lua
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
tool = character:FindFirstChildWhichIsA("Tool")
task.wait(1)
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
if playing == false then
Emote:Play()
talk.Visible = false
play.Visible = false
playing = true
elseif playing == true then
Emote:Stop()
talk.Visible = true
play.Visible = true
playing = false
end
end)

tool.Unequipped:Connect(function()
Emote:Stop()
tool:FindFirstChildWhichIsA("ScreenGui",true):Destroy()
end)

unreal yoke
wary bronze
#

replace second script still

unreal yoke
patent kestrel
wary bronze
#

u probly gona say : "nothing happens now"

unreal yoke
# wary bronze replace second script still

okay, so the first error thing is gone completly now but for some reason the gui still does not delete itself (this is the error): Players.boyngt6355.Backpack.Phone.LocalScript.PhoneGui.Phone.HideFrame.Frame.Texting.LocalScript:32: attempt to index nil with 'Destroy'

unreal yoke
wary bronze
#

kk

#

tell tho

#

does it still play the emote rn

unreal yoke
#

yes, that works ๐Ÿ˜Ž

wary bronze
#

okay

unreal yoke
#

and it stops it when the phone is unequipped

wary bronze
#

what happens when you unequip the phone

#

oh great

unreal yoke
#

yeah ๐Ÿ˜ญ

wary bronze
#

lemme then

unreal yoke
patent kestrel
#

brawl dev is nice

unreal yoke
#

yeah

wary bronze
#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
 tool = character:FindFirstChildWhichIsA("Tool")
 task.wait(1)
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
    if playing == false then
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)

tool.Unequipped:Connect(function()
     Emote:Stop()
     script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)```
unreal yoke
#

I'm currently doing his advanced series

#

๐Ÿ˜จ

#

so, there's no error in the output this time but

#

when the phone is equipped the gui does not appear again

wary bronze
#

but nothing happens ๐Ÿ—ฃ๏ธ

#

hmm

unreal yoke
#

Maybe there was some error with the cloning of the gui??

wary bronze
#

so ur saying that it only works once

unreal yoke
#

yeah๐Ÿ˜”

patent kestrel
#

brawl dev probably has a gui series

unreal yoke
wary bronze
#

brb

unreal yoke
brittle frostBOT
#

studio** You are now Level 3! **studio

unreal yoke
#

Maybe instead of the gui getting destroyed, it should go invisible?

#

wait nvm, it's the first script that clones the gui is probably the issue

wary bronze
#

back back

unreal yoke
#

for some reason, the gui inside the tool gets deleted with the one in PlayerGui

wary bronze
#

alr gota debug idk whats happening to the tool

unreal yoke
#

yeah, I checked in the explorer tab while testing

wary bronze
#

i dont see the line which is deleting it

#

and you said no errors

unreal yoke
#

yeah

#

then when it's equipped

wary bronze
#

hmm

unreal yoke
#

and when unequipped

wary bronze
#

oof

#

alr so

#

test again but

#

once you click the emote button

#

check if the UI is still in the tool

#

the tool will be inside the character before unequiping

unreal yoke
#

okay

unreal yoke
#

it does

wary bronze
#

its still there after you clicked the emote ui?

unreal yoke
#

yeah

wary bronze
#

and unequiping destroys it huh

#

honestly

#

just put the PhoneGui in a folder in replicated storage

#

then

#

change the first script to this:

#
local Ui = game.ReplicatedStorage.ToolsUis:WaitForChild("PhoneGui")

script.Parent.Equipped:Connect(function()
    local ScreenGui = Ui:Clone()
    ScreenGui.Parent = game.Players.LocalPlayer.PlayerGui
end)
#

(name the folder in replicated storage to "ToolsUis"

unreal yoke
#

okay ๐Ÿ˜จ

#

omg it works ๐Ÿ˜ญ

#

I mean

#

there's 1 issue

#

you have to double click the emote button twice after unequipping the tool with the emote playing

wary bronze
#

ah

#

this shi so weird

unreal yoke
#

for some reason this happens with my settings gui too so I have no idea what's going on

unreal yoke
wary bronze
#

humm

#

lets debug

unreal yoke
wary bronze
#

but before that

#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
 tool = character:FindFirstChildWhichIsA("Tool")
 task.wait(1)
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
    if playing == false then
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)

tool.Unequipped:Connect(function()
     Emote:Stop()
     talk.Visible = true
        play.Visible = true
        playing = false
script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)
#

^second script replace

unreal yoke
#

oki

wary bronze
#

oh wait

unreal yoke
wary bronze
#

jump space between them

unreal yoke
unreal yoke
#

okay so, you actually have double click to use an emote each time you equip the tool and not only when you unequip the tool while emoting

#

I feel like this game is cursed with the double click virus

wary bronze
#

after the first force unequip is that?

unreal yoke
wary bronze
#

oh and it stays that way the whole game or

#

or only when first equipped

unreal yoke
#

the whole game

wary bronze
#

how about stopping the emote

#

does it need double clicks

unreal yoke
#

yeah

#

also sometimes it opens only after 3 clicks?????????????????????

wary bronze
#

....

unreal yoke
brittle frostBOT
#

studio** You are now Level 4! **studio

wary bronze
#

breh

#

we need dont need evidence

#

we need proof

unreal yoke
#

I tested it a few times again

#

it needs 1 click to emote the first time

#

but if you unequip it's 2 clicks

#

so the double click thing must be from unequipping the tool

wary bronze
#

unequiping the tool is destroying the script

#

thus reseting it

#

so it should work as if its the first time

#

unless..

#

honestly no idea

#

lets do some prints

unreal yoke
#

maybe it's changing things in the original inside the replicated storage?

wary bronze
#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
 tool = character:FindFirstChildWhichIsA("Tool")
 task.wait(1)
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
print(playing,Emote)
    if playing == false then
print("Playing")
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
print("Stopping")
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)

tool.Unequipped:Connect(function()
     Emote:Stop()
     talk.Visible = true
        play.Visible = true
        playing = false
script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)
unreal yoke
#

absolutley no idea how that would work but that's my only idea

wary bronze
unreal yoke
#

yeah, right

wary bronze
#

and study the output

unreal yoke
#

okay

#

um

#

for some reason the emote is breaking now

#

it plays after unequipping

wary bronze
#

...

#

all i did was adding prints

#

wth

unreal yoke
#

also on the first click it does not print anything

unreal yoke
wary bronze
#

yikes

#

oh

#

thats cause

#

cause its waiting for the tool

unreal yoke
#

I added the previous script without the prints to the second emote and it works fine

wary bronze
#

i think..

#

then

#

wwwwait

#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
 tool = character:FindFirstChildWhichIsA("Tool")
 task.wait()
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
print(playing,Emote)
    if playing == false then
print("Playing")
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
print("Stopping")
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)

tool.Unequipped:Connect(function()
     Emote:Stop()
     talk.Visible = true
        play.Visible = true
        playing = false
script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)
#

go

unreal yoke
#

the double click is gone ๐Ÿ˜จ๐Ÿ˜จ๐Ÿ˜จ

#

now it's the emote that's breaking

unreal yoke
wary bronze
#

removing the 1 sec wait time from the top

#

and making it 0.03 sec

unreal yoke
#

oh

wary bronze
#

alr so for the emote

unreal yoke
#

I was hoping that it's a simple line of code that I could also add to my other scripts to remove the double click there too lol

wary bronze
#

how is it breaking again?

unreal yoke
#

it breaks after unequipping the tool while using the emote

wary bronze
#

what kind of breaking

unreal yoke
#

it just keeps playing

wary bronze
#

like it never plays again?

#

ah

#

we did Emote:Stop() havent we

#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
 tool = character:FindFirstChildWhichIsA("Tool")
 task.wait()
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()

    if playing == false then
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)

tool.Unequipped:Connect(function()
     Emote:Stop()
     talk.Visible = true
        play.Visible = true
        playing = false
task.wait()
print("stopped at unequip")
script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)
#

tell me if it prints

unreal yoke
#

okay

#

nothing printed

wary bronze
#

uhm

#

no errors?

unreal yoke
#

yeah

#

output is empty

wary bronze
#

hmm

#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
 tool = character:FindFirstChildWhichIsA("Tool")
 task.wait()
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()

    if playing == false then
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)
print(tool)
tool.Unequipped:Connect(function()
     Emote:Stop()
     talk.Visible = true
        play.Visible = true
        playing = false
task.wait()
print("stopped at unequip")
script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)
#

again

unreal yoke
#

the Phone printed but the second one didn't

wary bronze
#

so after you unequip, nothing is printed right?

unreal yoke
#

yeah

wary bronze
#

yikes

#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
 tool = character:FindFirstChildWhichIsA("Tool")
 task.wait()
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()

    if playing == false then
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)
print(tool)
tool.Unequipped:Connect(function()
print(1)
     Emote:Stop()
print(2)
     talk.Visible = true
        play.Visible = true
        playing = false
task.wait()
print("stopped at unequip")
script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)
#

again

unreal yoke
#

still only the first one

#

wait a second

#

I have an idea

#

um???

#

so

#

I went to the second emote since it has an older script that had only the double click issue

#

and I copied it for the first emote

#

just changed the time thing that was breaking the older script

#

the second emote fully works

#

but the first one that has the same script as the second one is still broken in the same way

#

like the only thing that's diffrent between emote 1 and emote 2 is the animation id that's not even inside the script

brittle frostBOT
#

studio** You are now Level 5! **studio

unreal yoke
#

and only the first one is breaking

#

I have no idea what this implies I'm so lost

wary bronze
#

and replaced the second emote script with it

#

correct?

unreal yoke
wary bronze
#

you mean the second emote works fine

unreal yoke
#

yes...

#

but not the first one

#

even tho it's the same script

wary bronze
#

does it have the same script as the first

#

alr so

#

the first emote aint stopping you say

#

even if you click on the button instead of just unequiping

#

right?

#

is the second emote printing all the stuff?

unreal yoke
wary bronze
#

oh alr

#

and do the second emote print

unreal yoke
#

since it's the older version it does not have any prints yet, wait a sec, I'll add them

#

wait a sec I'll just send the script that's in both

#

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
tool = character:FindFirstChildWhichIsA("Tool")
task.wait()
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Texting
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()
if playing == false then
Emote:Play()
talk.Visible = false
play.Visible = false
playing = true
elseif playing == true then
Emote:Stop()
talk.Visible = true
play.Visible = true
playing = false
end
end)

tool.Unequipped:Connect(function()
Emote:Stop()
talk.Visible = true
play.Visible = true
playing = false script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)

#

it's this one

#

sorry for the confiusion ๐Ÿ˜ญ

wary bronze
#

humm

#

there is not much difference

#

does the wait at the unequipped event matter

#

i dont think so

#

something is off

#

the tool aint nil

#

why isnt the first emote firing at the unequiped event

#

are you sure it is not printing

unreal yoke
#

I put the print in many places to see where it breaks but so far it printed everything with no problems at all

wary bronze
#

except?

unreal yoke
#

I put prints in 2 places and this is what happened when I unequipped the tool while emoting

wary bronze
#

my issue is with what comes after the "tool.Unequipped:Connect()"

unreal yoke
wary bronze
unreal yoke
wary bronze
#

..

#
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = nil
while not tool do
 tool = character:FindFirstChildWhichIsA("Tool")
 task.wait()
end
local hum = character:WaitForChild("Humanoid")
local Emote = hum:LoadAnimation(script.Parent.Emote)
local frame = script.Parent.Parent
local talk = frame.Talking
local play = frame.Playing

playing = false

script.Parent.MouseButton1Click:Connect(function()

    if playing == false then
        Emote:Play()
        talk.Visible = false
        play.Visible = false
        playing = true
    elseif playing == true then
        Emote:Stop()
        talk.Visible = true
        play.Visible = true
        playing = false
    end
end)
print(tool)
tool.Unequipped:Connect(function()
print(1)
     Emote:Stop()
print(2)
     talk.Visible = true
        play.Visible = true
        playing = false
task.wait()
print("stopped at unequip")
script:FindFirstAncestorWhichIsA("ScreenGui"):Destroy()
end)
#

do this again

#

and send the output

unreal yoke
#

okay

#

this is what I got

wary bronze
#

first emote right?

unreal yoke
#

yeah

#

let me try the second one too

wary bronze
#

where did the stopped and not stopped prints come from tho

unreal yoke
wary bronze
#

click them they must redirect u to the script

unreal yoke
#

I tried the second emote

wary bronze
unreal yoke
#

I didn't

#

I'm still in it

wary bronze
wary bronze
#

aparently you confused first emote with the second

wary bronze
unreal yoke
wary bronze
#

just go copy paste again

unreal yoke
#

I have no idea what's going on since there were no changes in the script but now it works?

wary bronze
#

there must have been some missed details

unreal yoke
#

I have NO idea what happened

unreal yoke
wary bronze
#

welp good that now it works

#

im pretty sure you were confusing which script for which emote

unreal yoke
#

yeah ๐Ÿ˜ญ

#

omg

#

I'm gagged

#

you are so good at scripting ๐Ÿ˜ญ

#

I would have never done it alone ๐Ÿ˜ญ ๐Ÿ˜ญ

wary bronze
unreal yoke
#

THANK YOU SO MUCH!!!!!! ๐Ÿ’œ ๐Ÿ’œ

#

๐Ÿ˜ญ

wary bronze
#

but glad i helped

unreal yoke
unreal yoke
#

and sorry for wasting so much of your time ๐Ÿ˜ญ

wary bronze
#

ur welcome

#

nah

unreal yoke
#

I did not expect for this to be so messy

wary bronze
#

was watching yt

#

welp

#

gl

#

lmk if you need something else

unreal yoke
#

thank you ๐Ÿ˜ญ

#

you are a lifesaver ๐Ÿ˜ญ

humble timber
unreal yoke
unreal yoke
#

SOLVED ๐Ÿ˜Ž Hi, this is me begging anyone for help with my tool/gui/anim issue๐Ÿ˜ญ๐Ÿ˜ญ๐Ÿฅบ

brittle frostBOT
#

studio** You are now Level 6! **studio

wary bronze
#

i got pinged for somereason,

#

bro lvld up aswell