Run it
Copy the script and paste it into your executor.
.EmotesGUIRunning
().({
Title = ,
Content = ,
Duration =
})
.EmotesGUIRunning =
(:())()
().({
Title = ,
Content = ,
Duration =
})
Players = :()
HttpService = :()
RunService = :()
player = Players.LocalPlayer
character = player.Character player.CharacterAdded:()
humanoid = character:()
UserInputService = :()
CoreGui = :()
emoteClickConnections = {}
isMonitoringClicks =
currentTimer =
currentMode =
animationsData = {}
originalAnimationsData = {}
filteredAnimations = {}
favoriteAnimations = {}
favoriteAnimationsFileName =
emoteSearchTerm =
animationSearchTerm =
().lastPlayedAnimation = ().lastPlayedAnimation
().autoReloadEnabled = ().autoReloadEnabled
RunService.Heartbeat:(()
player.Character player.Character.Humanoid.RigType == .HumanoidRigType.R6
errorMsg = CoreGui.RobloxGui.EmotesMenu.Children.ErrorMessage
errorMsg.Visible
errorMsg.ErrorText.Text =
)
(text, duration)
currentTimer
.(currentTimer)
currentTimer =
errorMessage = CoreGui.RobloxGui.EmotesMenu.Children.ErrorMessage
errorText = errorMessage.ErrorText
errorText.Text = text
errorMessage.Visible =
currentTimer = .(duration, ()
errorMessage.Visible =
currentTimer =
)
()
_, track (humanoid:())
track:()
emotesData = {}
currentPage =
itemsPerPage =
totalPages =
filteredEmotes = {}
isLoading =
originalEmotesData = {}
totalEmotesLoaded =
scannedEmotes = {}
favoriteEmotes = {}
favoriteEnabled =
favoriteFileName =
emotesWalkEnabled =
currentEmoteTrack =
currentCharacter =
isGUICreated =
speedEmoteEnabled =
speedEmoteConfigFile =
Under, UIListLayout, _1left, _9right, _4pages, _3TextLabel, _2Routenumber, Top, EmoteWalkButton, UICorner1,
UIListLayout_2, UICorner, Search, Favorite, UICorner2, UICorner_2, SpeedEmote, UICorner_4, SpeedBox, UICorner_5, Changepage,
Reload, UICorner_6
defaultButtonImage =
enabledButtonImage =
favoriteIconId =
notFavoriteIconId =
()
character = player.Character
character
,
humanoid = character:()
humanoid
,
character, humanoid
()
coreGui = :()
robloxGui = coreGui:()
robloxGui
emotesMenu = robloxGui:()
emotesMenu
children = emotesMenu:()
children
main = children:()
main
emotesWheel = main:()
emotesWheel
, emotesWheel
()
success, result = (()
:().RobloxGui.EmotesMenu.Children.Main.EmotesWheel.Back.Background
.BackgroundCircleOverlay
)
success
result
()
backgroundOverlay = ()
backgroundOverlay
bgColor = backgroundOverlay.BackgroundColor3
bgTransparency = backgroundOverlay.BackgroundTransparency
_1left
_1left.ImageColor3 = bgColor
_1left.ImageTransparency = bgTransparency
_9right
_9right.ImageColor3 = bgColor
_9right.ImageTransparency = bgTransparency
_4pages
_4pages.TextColor3 = bgColor
_4pages.TextTransparency = bgTransparency
_3TextLabel
_3TextLabel.TextColor3 = bgColor
_3TextLabel.TextTransparency = bgTransparency
_2Routenumber
_2Routenumber.TextColor3 = bgColor
_2Routenumber.TextTransparency = bgTransparency
Top
Top.BackgroundColor3 = bgColor
Top.BackgroundTransparency = bgTransparency
EmoteWalkButton
EmoteWalkButton.BackgroundColor3 = bgColor
EmoteWalkButton.BackgroundTransparency = bgTransparency
SpeedEmote
SpeedEmote.BackgroundColor3 = bgColor
SpeedEmote.BackgroundTransparency = bgTransparency
Changepage
Changepage.BackgroundColor3 = bgColor
Changepage.BackgroundTransparency = bgTransparency
SpeedBox
SpeedBox.BackgroundColor3 = bgColor
SpeedBox.BackgroundTransparency = bgTransparency
Favorite
Favorite.BackgroundColor3 = bgColor
Favorite.BackgroundTransparency = bgTransparency
Reload
Reload.BackgroundColor3 = bgColor
Reload.BackgroundTransparency = bgTransparency
Reload.Visible = (currentMode == )
(animationId)
animationId = .(animationId, , )
animationId = .(animationId, , )
animationId
()
writefile
jsonData = HttpService:(favoriteEmotes)
(favoriteFileName, jsonData)
()
writefile
jsonData = HttpService:(favoriteAnimations)
(favoriteAnimationsFileName, jsonData)
()
readfile isfile (favoriteFileName)
success, result = (()
fileContent = (favoriteFileName)
HttpService:(fileContent)
)
success result
favoriteEmotes = result
()
readfile isfile (favoriteAnimationsFileName)
success, result = (()
fileContent = (favoriteAnimationsFileName)
HttpService:(fileContent)
)
success result
favoriteAnimations = result
()
readfile isfile (speedEmoteConfigFile)
success, result = (()
fileContent = (speedEmoteConfigFile)
HttpService:(fileContent)
)
success result
speedEmoteEnabled = result.Enabled
SpeedBox
SpeedBox.Text = (result.SpeedValue )
SpeedBox.Visible = speedEmoteEnabled
(imageUrl)
assetId = .(imageUrl, )
assetId
(assetId)
success, productInfo = (()
:():((assetId))
)
success productInfo
productInfo.Name
.. (assetId)
(assetId)
favoriteList
currentMode ==
favoriteList = favoriteAnimations
favoriteList = favoriteEmotes
_, favorite (favoriteList)
(favorite.id) == (assetId)
(currentPageAnimations)
success, frontFrame = (()
:().RobloxGui.EmotesMenu.Children.Main.EmotesWheel.Front.EmotesButtons
)
success frontFrame
buttonIndex =
_, child (frontFrame:())
child:()
buttonIndex <= #currentPageAnimations
animationData = currentPageAnimations[buttonIndex]
child.Image = .. animationData.id ..
idValue = child:() .()
idValue.Name =
idValue.Value = animationData.id
idValue.Parent = child
buttonIndex = buttonIndex +
child.Image =
idValue = child:()
idValue
idValue:()
(imageLabel, assetId, isFavorite)
favoriteIcon = imageLabel:()
favoriteIcon
favoriteIcon = .()
favoriteIcon.Name =
favoriteIcon.Size = .(, , , )
favoriteIcon.Position = .(, , , )
favoriteIcon.AnchorPoint = .(, )
favoriteIcon.BackgroundTransparency =
favoriteIcon.ZIndex = imageLabel.ZIndex +
favoriteIcon.ScaleType = .ScaleType.Fit
favoriteIcon.Parent = imageLabel
isFavorite
favoriteIcon.Image = favoriteIconId
favoriteIcon.Image = notFavoriteIconId
()
success, frontFrame = (()
:().RobloxGui.EmotesMenu.Children.Main.EmotesWheel.Front.EmotesButtons
)
success frontFrame
_, child (frontFrame:())
child:() child.Image ~=
assetId
currentMode ==
idValue = child:()
idValue
assetId = idValue.Value
assetId = (child.Image)
assetId
isFavorite = (assetId)
(child, assetId, isFavorite)
()
character, humanoid = ()
character humanoid
humanoidDescription = humanoid.HumanoidDescription
humanoidDescription
currentPageAnimations = {}
animationTable = {}
equippedAnimations = {}
favoritesToUse = .filteredFavoritesAnimationsForDisplay favoriteAnimations
hasFavorites = #favoritesToUse >
favoritePagesCount = hasFavorites .(#favoritesToUse / itemsPerPage)
isInFavoritesPages = currentPage <= favoritePagesCount
isInFavoritesPages hasFavorites
startIndex = (currentPage - ) * itemsPerPage +
endIndex = .(startIndex + itemsPerPage - , #favoritesToUse)
i = startIndex, endIndex
favoritesToUse[i]
.(currentPageAnimations, {
id = (favoritesToUse[i].id),
name = favoritesToUse[i].name
})
normalAnimations = {}
_, animation (filteredAnimations)
(animation.id)
.(normalAnimations, animation)
adjustedPage = currentPage - favoritePagesCount
startIndex = (adjustedPage - ) * itemsPerPage +
endIndex = .(startIndex + itemsPerPage - , #normalAnimations)
i = startIndex, endIndex
normalAnimations[i]
.(currentPageAnimations, normalAnimations[i])
_, animation (currentPageAnimations)
animationName = animation.name
animationId = animation.id
animationTable[animationName] = {animationId}
.(equippedAnimations, animationName)
humanoidDescription:(animationTable)
humanoidDescription:(equippedAnimations)
.()
(currentPageAnimations)
.(, ()
favoriteEnabled
()
)
()
character, humanoid = ()
character humanoid
currentMode ==
()
humanoidDescription = humanoid.HumanoidDescription
humanoidDescription
currentPageEmotes = {}
emoteTable = {}
equippedEmotes = {}
favoritesToUse = .filteredFavoritesForDisplay favoriteEmotes
hasFavorites = #favoritesToUse >
favoritePagesCount = hasFavorites .(#favoritesToUse / itemsPerPage)
isInFavoritesPages = currentPage <= favoritePagesCount
isInFavoritesPages hasFavorites
startIndex = (currentPage - ) * itemsPerPage +
endIndex = .(startIndex + itemsPerPage - , #favoritesToUse)
i = startIndex, endIndex
favoritesToUse[i]
.(currentPageEmotes, {
id = (favoritesToUse[i].id),
name = favoritesToUse[i].name
})
normalEmotes = {}
_, emote (filteredEmotes)
(emote.id)
.(normalEmotes, emote)
adjustedPage = currentPage - favoritePagesCount
startIndex = (adjustedPage - ) * itemsPerPage +
endIndex = .(startIndex + itemsPerPage - , #normalEmotes)
i = startIndex, endIndex
normalEmotes[i]
.(currentPageEmotes, normalEmotes[i])
_, emote (currentPageEmotes)
emoteName = emote.name
emoteId = emote.id
emoteTable[emoteName] = {emoteId}
.(equippedEmotes, emoteName)
humanoidDescription:(emoteTable)
humanoidDescription:(equippedEmotes)
.(, ()
favoriteEnabled
()
)
()
currentMode ==
favoritesToUse = .filteredFavoritesAnimationsForDisplay favoriteAnimations
hasFavorites = #favoritesToUse >
normalAnimationsCount =
_, animation (filteredAnimations)
(animation.id)
normalAnimationsCount = normalAnimationsCount +
pages =
hasFavorites
pages = pages + .(#favoritesToUse / itemsPerPage)
normalAnimationsCount >
pages = pages + .(normalAnimationsCount / itemsPerPage)
.(pages, )
favoritesToUse = .filteredFavoritesForDisplay favoriteEmotes
hasFavorites = #favoritesToUse >
normalEmotesCount =
_, emote (filteredEmotes)
(emote.id)
normalEmotesCount = normalEmotesCount +
pages =
hasFavorites
pages = pages + .(#favoritesToUse / itemsPerPage)
normalEmotesCount >
pages = pages + .(normalEmotesCount / itemsPerPage)
.(pages, )
(animationHolder, animationId)
_, animation animationHolder:()
animation:() (animation.AnimationId) == animationId
(character, animationTrack)
animationId = (animationTrack.Animation.AnimationId)
_, animationHolder character.Animate:()
animationHolder:()
sharesAnimationId = (animationHolder, animationId)
sharesAnimationId
()
exists, emotesWheel = ()
exists
emotesWheel:()
emotesWheel.Under:()
emotesWheel:()
emotesWheel.Top:()
emotesWheel:()
emotesWheel.EmoteWalkButton:()
emotesWheel:()
emotesWheel.Favorite:()
emotesWheel:()
emotesWheel.SpeedEmote:()
emotesWheel:()
emotesWheel.Changepage:()
emotesWheel:()
emotesWheel.SpeedBox:()
emotesWheel:()
emotesWheel.Reload:()
Under = .()
UIListLayout = .()
_1left = .()
_9right = .()
_4pages = .()
_3TextLabel = .()
_2Routenumber = .()
EmoteWalkButton = .()
UICorner1 = .()
Top = .()
UIListLayout_2 = .()
UICorner = .()
Search = .()
Favorite = .()
UICorner2 = .()
SpeedBox = .()
UICorner_4 = .()
SpeedEmote = .()
UICorner_2 = .()
Changepage = .()
UICorner_5 = .()
Reload = .()
UICorner_6 = .()
Under.Name =
Under.Parent = emotesWheel
Under.BackgroundColor3 = .(, , )
Under.BackgroundTransparency =
Under.BorderColor3 = .(, , )
Under.BorderSizePixel =
Under.Position = .(, , , )
Under.Size = .(, , , )
UIListLayout.Parent = Under
UIListLayout.FillDirection = .FillDirection.Horizontal
UIListLayout.VerticalAlignment = .VerticalAlignment.Center
_1left.Name =
_1left.Parent = Under
_1left.BackgroundColor3 = .(, , )
_1left.BackgroundTransparency =
_1left.BorderColor3 = .(, , )
_1left.BorderSizePixel =
_1left.Position = .(, , -, )
_1left.Rotation =
_1left.Size = .(, , , )
_1left.Image =
_1left.ImageColor3 = .(, , )
_1left.ImageTransparency =
_9right.Name =
_9right.Parent = Under
_9right.BackgroundColor3 = .(, , )
_9right.BackgroundTransparency =
_9right.BorderColor3 = .(, , )
_9right.BorderSizePixel =
_9right.Position = .(, , -, )
_9right.Rotation =
_9right.Size = .(, , , )
_9right.Image =
_9right.ImageColor3 = .(, , )
_9right.ImageTransparency =
_4pages.Name =
_4pages.Parent = Under
_4pages.BackgroundColor3 = .(, , )
_4pages.BackgroundTransparency =
_4pages.BorderColor3 = .(, , )
_4pages.BorderSizePixel =
_4pages.Position = .(, , , )
_4pages.Size = .(, , , )
_4pages.Font = .Font.SourceSansBold
_4pages.Text =
_4pages.TextColor3 = .(, , )
_4pages.TextScaled =
_4pages.TextSize =
_4pages.TextTransparency =
_4pages.TextWrapped =
_3TextLabel.Name =
_3TextLabel.Parent = Under
_3TextLabel.BackgroundColor3 = .(, , )
_3TextLabel.BackgroundTransparency =
_3TextLabel.BorderColor3 = .(, , )
_3TextLabel.BorderSizePixel =
_3TextLabel.Position = .(, , , )
_3TextLabel.Size = .(, , , )
_3TextLabel.Font = .Font.SourceSansBold
_3TextLabel.Text =
_3TextLabel.TextColor3 = .(, , )
_3TextLabel.TextScaled =
_3TextLabel.TextSize =
_3TextLabel.TextTransparency =
_3TextLabel.TextWrapped =
_2Routenumber.Name =
_2Routenumber.Parent = Under
_2Routenumber.Active =
_2Routenumber.BackgroundColor3 = .(, , )
_2Routenumber.BackgroundTransparency =
_2Routenumber.BorderColor3 = .(, , )
_2Routenumber.BorderSizePixel =
_2Routenumber.Position = .(, , , )
_2Routenumber.Selectable =
_2Routenumber.Size = .(, , , )
_2Routenumber.Font = .Font.SourceSansBold
_2Routenumber.PlaceholderColor3 = .(, , )
_2Routenumber.Text =
_2Routenumber.TextColor3 = .(, , )
_2Routenumber.TextScaled =
_2Routenumber.TextSize =
_2Routenumber.TextStrokeColor3 = .(, , )
_2Routenumber.TextTransparency =
_2Routenumber.TextWrapped =
Top.Name =
Top.Parent = emotesWheel
Top.BackgroundColor3 = .(, , )
Top.BackgroundTransparency =
Top.BorderColor3 = .(, , )
Top.BorderSizePixel =
Top.Position = .(, , -, )
Top.Size = .(, , , )
UIListLayout_2.Parent = Top
UIListLayout_2.FillDirection = .FillDirection.Horizontal
UIListLayout_2.HorizontalAlignment = .HorizontalAlignment.Center
UIListLayout_2.SortOrder = .SortOrder.LayoutOrder
UIListLayout_2.VerticalAlignment = .VerticalAlignment.Center
UICorner.CornerRadius = .(, )
UICorner.Parent = Top
Search.Name =
Search.Parent = Top
Search.BackgroundColor3 = .(, , )
Search.BackgroundTransparency =
Search.BorderColor3 = .(, , )
Search.Position = .(, , )
Search.Size = .(, , , )
Search.Font = .Font.SourceSansBold
Search.PlaceholderText =
Search.Text =
Search.TextColor3 = .(, , )
Search.TextScaled =
Search.TextSize =
Search.TextWrapped =
EmoteWalkButton.Name =
EmoteWalkButton.Parent = emotesWheel
EmoteWalkButton.BackgroundColor3 = .(, , )
EmoteWalkButton.BackgroundTransparency =
EmoteWalkButton.BorderColor3 = .(, , )
EmoteWalkButton.BorderSizePixel =
EmoteWalkButton.Position = .(, , -, )
EmoteWalkButton.Size = .(, , , )
EmoteWalkButton.Image = defaultButtonImage
UICorner1.CornerRadius = .(, )
UICorner1.Parent = EmoteWalkButton
Favorite.Name =
Favorite.Parent = emotesWheel
Favorite.BackgroundColor3 = .(, , )
Favorite.BackgroundTransparency =
Favorite.BorderColor3 = .(, , )
Favorite.BorderSizePixel =
Favorite.Position = .(, , -, )
Favorite.Size = .(, , , )
Favorite.Image =
UICorner2.CornerRadius = .(, )
UICorner2.Parent = Favorite
SpeedBox.Name =
SpeedBox.Parent = emotesWheel
SpeedBox.BackgroundColor3 = .(, , )
SpeedBox.BackgroundTransparency =
SpeedBox.BorderColor3 = .(, , )
SpeedBox.BorderSizePixel =
SpeedBox.Position = .(, , -, )
SpeedBox.Size = .(, , , )
SpeedBox.Visible =
SpeedBox.Font = .Font.SourceSansBold
SpeedBox.PlaceholderColor3 = .(, , )
SpeedBox.Text =
SpeedBox.TextColor3 = .(, , )
SpeedBox.TextScaled =
SpeedBox.TextWrapped =
SpeedBox:():(()
SpeedBox.Text = SpeedBox.Text:(, )
)
SpeedBox.ZIndex =
UICorner_4.CornerRadius = .(, )
UICorner_4.Parent = SpeedBox
SpeedEmote.Name =
SpeedEmote.Parent = emotesWheel
SpeedEmote.BackgroundColor3 = .(, , )
SpeedEmote.BackgroundTransparency =
SpeedEmote.BorderColor3 = .(, , )
SpeedEmote.BorderSizePixel =
SpeedEmote.Position = .(, , -, )
SpeedEmote.Size = .(, , , )
SpeedEmote.Image =
SpeedEmote.ZIndex =
UICorner_2.CornerRadius = .(, )
UICorner_2.Parent = SpeedEmote
Changepage.Name =
Changepage.Parent = emotesWheel
Changepage.BackgroundColor3 = .(, , )
Changepage.BackgroundTransparency =
Changepage.BorderColor3 = .(, , )
Changepage.BorderSizePixel =
Changepage.Position = .(, ,, )
Changepage.Size = .(, ,, )
Changepage.ZIndex =
Changepage.Image =
UICorner_5.CornerRadius = .(, )
UICorner_5.Parent = Changepage
Reload.Name =
Reload.Parent = emotesWheel
Reload.BackgroundColor3 = .(, , )
Reload.BackgroundTransparency =
Reload.BorderColor3 = .(, , )
Reload.BorderSizePixel =
Reload.Position = .(, , , )
Reload.Size = .(, , , )
Reload.ZIndex =
Reload.Image =
UICorner_6.CornerRadius = .(, )
UICorner_6.Parent = Reload
()
()
isGUICreated =
()
()
_4pages _2Routenumber
_4pages.Text = (totalPages)
_2Routenumber.Text = (currentPage)
(emoteId, emoteName)
found =
index =
i, fav (favoriteEmotes)
fav.id == emoteId
found =
index = i
found
.(favoriteEmotes, index)
().({
Title = ,
Content = .. emoteName .. ,
Duration =
})
.(favoriteEmotes, {
id = emoteId,
name = emoteName ..
})
().({
Title = ,
Content = .. emoteName .. ,
Duration =
})
()
totalPages = ()
()
()
()
(animationData)
found =
index =
i, fav (favoriteAnimations)
fav.id == animationData.id
found =
index = i
found
.(favoriteAnimations, index)
().({
Title = ,
Content = .. animationData.name .. ,
Duration =
})
.(favoriteAnimations, {
id = animationData.id,
name = animationData.name .. ,
bundledItems = animationData.bundledItems
})
().({
Title = ,
Content = .. animationData.name .. ,
Duration =
})
()
totalPages = ()
()
()
()
()
isMonitoringClicks
()
favoriteEnabled
success, frontFrame = (()
:().RobloxGui.EmotesMenu.Children.Main.EmotesWheel.Front.EmotesButtons
)
success frontFrame
_, connection (emoteClickConnections)
connection
connection:()
emoteClickConnections = {}
_, child (frontFrame:())
child:() child.Image ~=
clickDetector = child:() .()
clickDetector.Name =
clickDetector.Size = .(, , , )
clickDetector.Position = .(, , , )
clickDetector.BackgroundTransparency =
clickDetector.Text =
clickDetector.ZIndex = child.ZIndex +
clickDetector.Parent = child
imageUrl = child.Image
assetId = (imageUrl)
assetId
isFavorite = (assetId)
(child, assetId, isFavorite)
connection = clickDetector.MouseButton1Click:(()
favoriteEnabled
assetId
emoteName = (assetId)
(assetId, emoteName)
)
.(emoteClickConnections, connection)
.()
_, connection (emoteClickConnections)
connection
connection:()
emoteClickConnections = {}
isMonitoringClicks =
favoriteEnabled
isMonitoringClicks =
.(monitorEmotes)
(animationData)
player = .Players.LocalPlayer
character = player.Character player.CharacterAdded:()
humanoid = character:()
animate = character:()
animate humanoid
().({
Title = ,
Content = ,
Duration =
})
bundleId = animationData.id
bundledItems = animationData.bundledItems
().lastPlayedAnimation = animationData
bundledItems
().({
Title = ,
Content = ,
Duration =
})
_, track (humanoid:())
track:()
key, assetIds (bundledItems)
_, assetId (assetIds)
(()
success, objects = (()
:( .. assetId)
)
success objects
(parent, parentPath)
_, child (parent:())
child:()
animationPath = parentPath .. .. child.Name
pathParts = animationPath:()
#pathParts >=
animateCategory = pathParts[#pathParts - ]
animationName = pathParts[#pathParts]
animate:(animateCategory)
categoryFolder = animate[animateCategory]
categoryFolder:(animationName)
categoryFolder[animationName].AnimationId = child.AnimationId
.()
animation = .()
animation.AnimationId = child.AnimationId
animTrack = humanoid.Animator:(animation)
animTrack.Priority = .AnimationPriority.Action
animTrack:()
.()
animTrack:()
#child:() >
(child, parentPath .. .. child.Name)
_, obj (objects)
(obj, obj.Name)
obj.Parent =
.(, ()
obj obj:()
)
)
()
currentMode ==
success, frontFrame = (()
:().RobloxGui.EmotesMenu.Children.Main.EmotesWheel.Front.EmotesButtons
)
success frontFrame
_, connection (emoteClickConnections)
connection
connection:()
emoteClickConnections = {}
favoritesToUse = .filteredFavoritesAnimationsForDisplay favoriteAnimations
hasFavorites = #favoritesToUse >
favoritePagesCount = hasFavorites .(#favoritesToUse / itemsPerPage)
isInFavoritesPages = currentPage <= favoritePagesCount
currentPageAnimations = {}
isInFavoritesPages hasFavorites
startIndex = (currentPage - ) * itemsPerPage +
endIndex = .(startIndex + itemsPerPage - , #favoritesToUse)
i = startIndex, endIndex
favoritesToUse[i]
.(currentPageAnimations, favoritesToUse[i])
normalAnimations = {}
_, animation (filteredAnimations)
(animation.id)
.(normalAnimations, animation)
adjustedPage = currentPage - favoritePagesCount
startIndex = (adjustedPage - ) * itemsPerPage +
endIndex = .(startIndex + itemsPerPage - , #normalAnimations)
i = startIndex, endIndex
normalAnimations[i]
.(currentPageAnimations, normalAnimations[i])
buttonIndex =
_, child (frontFrame:())
child:()
buttonIndex <= #currentPageAnimations
clickDetector = child:() .()
clickDetector.Name =
clickDetector.Size = .(, , , )
clickDetector.Position = .(, , , )
clickDetector.BackgroundTransparency =
clickDetector.Text =
clickDetector.ZIndex = child.ZIndex +
clickDetector.Parent = child
animationData = currentPageAnimations[buttonIndex]
favoriteEnabled
isFavorite = (animationData.id)
(child, animationData.id, isFavorite)
favoriteIcon = child:()
favoriteIcon
favoriteIcon:()
connection = clickDetector.MouseButton1Click:(()
favoriteEnabled
(animationData)
(animationData)
)
.(emoteClickConnections, connection)
buttonIndex = buttonIndex +
favoriteIcon = child:()
favoriteIcon
favoriteIcon:()
.()
()
isMonitoringClicks =
_, connection (emoteClickConnections)
connection
connection:()
emoteClickConnections = {}
success, frontFrame = (()
:().RobloxGui.EmotesMenu.Children.Main.EmotesWheel.Front.EmotesButtons
)
success frontFrame
_, child (frontFrame:())
child:()
clickDetector = child:()
clickDetector
clickDetector:()
favoriteIcon = child:()
favoriteIcon
favoriteIcon:()
()
isLoading
isLoading =
emotesData = {}
totalEmotesLoaded =
success, result = (()
jsonContent = :()
jsonContent jsonContent ~=
data = HttpService:(jsonContent)
data.data {}
)
success result
_, item (result)
emoteData = {
id = (item.id),
name = item.name ( .. (item.id ))
}
emoteData.id emoteData.id >
.(emotesData, emoteData)
totalEmotesLoaded = totalEmotesLoaded +
emotesData = {
{id = , name = },
{id = , name = },
{id = , name = },
{id = , name = }
}
totalEmotesLoaded = #emotesData
originalEmotesData = emotesData
filteredEmotes = emotesData
totalPages = ()
currentPage =
()
()
().({
Title = ,
Content = .. totalEmotesLoaded,
Duration =
})
isLoading =
()
isLoading
isLoading =
animationsData = {}
success, result = (()
jsonContent = :()
jsonContent jsonContent ~=
data = HttpService:(jsonContent)
data.data {}
)
success result
_, item (result)
animationData = {
id = (item.id),
name = item.name ( .. (item.id )),
bundledItems = item.bundledItems
}
animationData.id animationData.id >
.(animationsData, animationData)
originalAnimationsData = animationsData
filteredAnimations = animationsData
isLoading =
(searchTerm)
isLoading
().({
Title = ,
Content = ,
Duration =
})
searchTerm = searchTerm:()
searchTerm ==
filteredEmotes = originalEmotesData
.originalFavoritesBackup
.originalFavoritesBackup =
.filteredFavoritesForDisplay =
isIdSearch = searchTerm:()
newFilteredList = {}
isIdSearch
_, emote (originalEmotesData)
(emote.id) == searchTerm
.(newFilteredList, emote)
#newFilteredList ==
emoteId = (searchTerm)
emoteId
emoteName = (emoteId)
newEmote = {
id = emoteId,
name = emoteName
}
.(originalEmotesData, newEmote)
.(newFilteredList, newEmote)
_, emote (originalEmotesData)
emote.name:():(searchTerm)
.(newFilteredList, emote)
filteredEmotes = newFilteredList
isIdSearch
.originalFavoritesBackup
.originalFavoritesBackup = {}
i, favorite (favoriteEmotes)
.originalFavoritesBackup[i] = {
id = favorite.id,
name = favorite.name
}
.filteredFavoritesForDisplay = {}
_, favorite (favoriteEmotes)
favorite.name:():(searchTerm)
.(.filteredFavoritesForDisplay, favorite)
totalPages = ()
currentPage =
()
()
(searchTerm)
isLoading
().({
Title = ,
Content = ,
Duration =
})
searchTerm = searchTerm:()
searchTerm ==
filteredAnimations = originalAnimationsData
.originalAnimationFavoritesBackup
.originalAnimationFavoritesBackup =
.filteredFavoritesAnimationsForDisplay =
isIdSearch = searchTerm:()
newFilteredList = {}
isIdSearch
_, animation (originalAnimationsData)
(animation.id) == searchTerm
.(newFilteredList, animation)
_, animation (originalAnimationsData)
animation.name:():(searchTerm)
.(newFilteredList, animation)
filteredAnimations = newFilteredList
isIdSearch
.originalAnimationFavoritesBackup
.originalAnimationFavoritesBackup = {}
i, favorite (favoriteAnimations)
.originalAnimationFavoritesBackup[i] = {
id = favorite.id,
name = favorite.name,
bundledItems = favorite.bundledItems
}
.filteredFavoritesAnimationsForDisplay = {}
_, favorite (favoriteAnimations)
favorite.name:():(searchTerm)
.(.filteredFavoritesAnimationsForDisplay, favorite)
totalPages = ()
currentPage =
()
()
(pageNumber)
pageNumber <
currentPage =
pageNumber > totalPages
currentPage = totalPages
currentPage = pageNumber
()
()
()
currentPage <=
currentPage = totalPages
currentPage = currentPage -
()
()
()
currentPage >= totalPages
currentPage =
currentPage = currentPage +
()
()
()
currentEmoteTrack
currentEmoteTrack:()
currentEmoteTrack =
(humanoid, emoteId)
()
()
animation = .()
animation.AnimationId = .. emoteId
success, animTrack = (()
humanoid.Animator:(animation)
)
success animTrack
currentEmoteTrack = animTrack
currentEmoteTrack.Priority = .AnimationPriority.Action
currentEmoteTrack.Looped =
.()
speedEmoteEnabled emotesWalkEnabled
currentEmoteTrack:()
speedEmoteEnabled
speedValue = (SpeedBox.Text)
currentEmoteTrack:(speedValue)
(character)
currentCharacter = character
()
humanoid = character:()
animator = humanoid:()
().autoReloadEnabled ().lastPlayedAnimation
.()
(().lastPlayedAnimation)
().({
Title = ,
Content = ,
Duration =
})
animator.AnimationPlayed:((animationTrack)
(character, animationTrack)
playedEmoteId = (animationTrack.Animation.AnimationId)
emotesWalkEnabled
currentEmoteTrack
currentEmoteId = (currentEmoteTrack.Animation.AnimationId)
currentEmoteId == playedEmoteId
()
(humanoid, playedEmoteId)
currentEmoteTrack
currentEmoteTrack.Ended:(()
currentEmoteTrack == animationTrack
currentEmoteTrack =
)
speedEmoteEnabled emotesWalkEnabled
currentEmoteTrack
currentEmoteId = (currentEmoteTrack.Animation.AnimationId)
currentEmoteId == playedEmoteId
()
(humanoid, playedEmoteId)
currentEmoteTrack
currentEmoteTrack.Ended:(()
currentEmoteTrack == animationTrack
currentEmoteTrack =
)
)
humanoid.Died:(()
emotesWalkEnabled =
speedEmoteEnabled =
favoriteEnabled =
currentEmoteTrack =
()
()
)
()
emotesWalkEnabled = emotesWalkEnabled
emotesWalkEnabled
().({
Title = ,
Content = ,
Duration =
})
EmoteWalkButton.Image = enabledButtonImage
.()
()
currentEmoteTrack currentEmoteTrack.IsPlaying
currentEmoteTrack:()
().({
Title = ,
Content = ,
Duration =
})
EmoteWalkButton.Image = defaultButtonImage
.()
()
currentEmoteTrack currentEmoteTrack.IsPlaying speedEmoteEnabled
speedValue = (SpeedBox.Text)
currentEmoteTrack:(speedValue)
currentEmoteTrack currentEmoteTrack.IsPlaying
currentEmoteTrack:()
(Players.LocalPlayer.Name)
()
speedEmoteEnabled = speedEmoteEnabled
SpeedBox.Visible = speedEmoteEnabled
speedEmoteEnabled
().({
Title = ,
Content = ,
Duration =
})
.()
()
().({
Title = ,
Content = ,
Duration =
})
.()
()
writefile
(speedEmoteConfigFile, HttpService:({
Enabled = speedEmoteEnabled,
SpeedValue = (SpeedBox.Text)
}))
()
favoriteEnabled = favoriteEnabled
favoriteEnabled
Favorite.Image =
().({
Title = ,
Content = ,
Duration =
})
().({
Title = ,
Content = ,
Duration =
})
currentMode ==
()
()
Favorite.Image =
().({
Title = ,
Content = ,
Duration =
})
currentMode ==
()
()
clickCooldown = {}
CLICK_COOLDOWN_TIME =
(buttonName, callback)
currentTime = ()
clickCooldown[buttonName] (currentTime - clickCooldown[buttonName]) > CLICK_COOLDOWN_TIME
clickCooldown[buttonName] = currentTime
()
()
isMonitoringClicks
currentMode ==
isMonitoringClicks =
.(monitorAnimations)
()
().autoReloadEnabled = ().autoReloadEnabled
().autoReloadEnabled
().({
Title = ,
Content = ,
Duration =
})
().({
Title = ,
Content = ,
Duration =
})
()
_1left
_1left.MouseButton1Click:(previousPage)
_9right
_9right.MouseButton1Click:(nextPage)
_2Routenumber
_2Routenumber.FocusLost:((enterPressed)
pageNum = (_2Routenumber.Text)
pageNum
(pageNum)
_2Routenumber.Text = (currentPage)
)
Search
Search.Changed:((property)
property ==
currentMode ==
emoteSearchTerm = Search.Text
(emoteSearchTerm)
animationSearchTerm = Search.Text
(animationSearchTerm)
)
EmoteWalkButton
EmoteWalkButton.MouseButton1Click:(()
(, toggleEmoteWalk)
end)
end
if Favorite then
Favorite.MouseButton1Click:Connect(function()
safeButtonClick("Favorite", toggleFavoriteMode)
end)
end
if SpeedEmote then
SpeedEmote.MouseButton1Click:Connect(function()
safeButtonClick("SpeedEmote", toggleSpeedEmote)
end)
end
if Reload then
Reload.MouseButton1Click:Connect(function()
safeButtonClick("AutoReload", toggleAutoReload)
end)
end
if Changepage then
Changepage.MouseButton1Click:Connect(function()
stopEmoteClickDetection()
if currentMode == "emote" then
currentMode = "animation"
spawn(function()
fetchAllAnimations()
Search.Text = animationSearchTerm
currentPage = 1
totalPages = calculateTotalPages()
updatePageDisplay()
updateEmotes()
isMonitoringClicks = true
task.spawn(monitorAnimations)
end)
getgenv().Notify({
Title = '7yd7 | Animation',
Content = '📄 Changed to Emote > Animation Mode',
Duration = 3
})
getgenv().Notify({
Title = '7yd7 | Animation',
Content = "⚠️ Click on any Animation ( Click to image )",
Duration = 5
})
else
currentMode = "emote"
Search.Text = emoteSearchTerm
currentPage = 1
totalPages = calculateTotalPages()
updatePageDisplay()
updateEmotes()
if favoriteEnabled then
setupEmoteClickDetection()
end
getgenv().Notify({
Title = '7yd7 | Emote',
Content = '📄 Changed to Animation > Emote Mode',
Duration = 3
})
end
end)
end
if SpeedBox then
SpeedBox.FocusLost:Connect(function()
if writefile then
writefile(speedEmoteConfigFile, HttpService:JSONEncode({
Enabled = speedEmoteEnabled,
SpeedValue = tonumber(SpeedBox.Text) or 1
}))
end
end)
end
end
local function checkAndRecreateGUI()
local exists, emotesWheel = checkEmotesMenuExists()
if not exists then
isGUICreated = false
return
end
if not emotesWheel:FindFirstChild("Under") or not emotesWheel:FindFirstChild("Top") or
not emotesWheel:FindFirstChild("EmoteWalkButton") or not emotesWheel:FindFirstChild("Favorite") or
not emotesWheel:FindFirstChild("SpeedEmote") or not emotesWheel:FindFirstChild("SpeedBox") or
not emotesWheel:FindFirstChild("Changepage") or not emotesWheel:FindFirstChild("Reload") then
isGUICreated = false
if createGUIElements() then
updatePageDisplay()
updateEmotes()
loadSpeedEmoteConfig()
end
end
end
if player.Character then
onCharacterAdded(player.Character)
end
player.CharacterAdded:Connect(function(character)
onCharacterAdded(character)
task.wait(0.3)
spawn(function()
while not checkEmotesMenuExists() do
task.wait(0.1)
end
task.wait(0.3)
stopEmotes()
if createGUIElements() then
if #emotesData > 0 then
updatePageDisplay()
updateEmotes()
loadSpeedEmoteConfig()
end
end
end)
end)
player.CharacterAdded:Connect(function(newChar)
character = newChar
humanoid = newChar:WaitForChild("Humanoid")
emotesWalkEnabled = false
speedEmoteEnabled = false
favoriteEnabled = false
currentEmoteTrack = nil
stopEmotes()
end)
local heartbeatConnection = RunService.Heartbeat:Connect(function()
if not isGUICreated then
checkAndRecreateGUI()
else
updateGUIColors()
end
end)
local function safeFind(path, name)
if not path then return nil end
local ok, result = pcall(function()
return path:FindFirstChild(name)
end)
if ok then
return result
end
return nil
end
RunService.Stepped:Connect(function()
if humanoid and currentEmoteTrack and currentEmoteTrack.IsPlaying then
if humanoid.MoveDirection.Magnitude > 0 then
if speedEmoteEnabled and not emotesWalkEnabled then
currentEmoteTrack:Stop()
currentEmoteTrack = nil
end
end
end
end)
spawn(function()
while not checkEmotesMenuExists() do
wait(0.1)
end
if createGUIElements() then
loadFavorites()
loadFavoritesAnimations()
fetchAllEmotes()
loadSpeedEmoteConfig()
end
end)
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
task.spawn(function()
local StarterGui = game:GetService("StarterGui")
local CoreGui = game:GetService("CoreGui")
while true do
local robloxGui = CoreGui:FindFirstChild("RobloxGui")
local emotesMenu = robloxGui and robloxGui:FindFirstChild("EmotesMenu")
if not emotesMenu then
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, true)
else
local exists = emotesMenu:FindFirstChild("Children") and emotesMenu.Children:FindFirstChild("Main") and
emotesMenu.Children.Main:FindFirstChild("EmotesWheel")
if exists then
local emotesWheel = emotesMenu.Children.Main.EmotesWheel
if not emotesWheel:FindFirstChild("Under") or not emotesWheel:FindFirstChild("Top") then
if createGUIElements then
createGUIElements()
loadSpeedEmoteConfig()
end
if updateGUIColors then
updateGUIColors()
updatePageDisplay()
loadFavorites()
end
end
end
end
task.wait(.3)
end
end)
if UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled then
loadstring(game:HttpGet("https://raw.githubusercontent.com/7yd7/Hub/refs/heads/Branch/GUIS/OpenEmote.lua"))()
getgenv().Notify({
Title = '7yd7 | Emote Mobile',
Content = '📱 Added emote open button for ease of use',
Duration = 10
})
end
if UserInputService.KeyboardEnabled then
getgenv().Notify({
Title = '7yd7 | Emote PC',
Content = '💻 Open menu press button "."',
Duration = 10
})
end
Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: raw.githubusercontent.com.
Fixed Error Spam