tem como adicionar a funçao que quando o player pairar o mouse por cima do botao choose/ em cima do frame, faça com que o model do chaarcter dentro dele aumente suavemte o tamanho em +0.4 ? e quando o mouse sair volte diminua esse valor adicionado suavemnte : local Player = game.Players.LocalPlayer
local TweenService = game:GetService("TweenService")
local Marketplace = game:GetService("MarketplaceService")
local Characters = game.ReplicatedStorage:WaitForChild("Characters")
local TotalCharacters = 0

for i, character in pairs(Characters:GetChildren()) do
	TotalCharacters += 1
	if TotalCharacters >= 3 then
		script.Parent.Characters.ScrollingEnabled = true
		script.Parent.Characters.ScrollBarImageTransparency = 0
	end
	local CharacterFrame = script.CharacterFrame:Clone()
	CharacterFrame.CharName.Text = character.Name
	local clonecharacter = character:Clone()
	clonecharacter.Parent = CharacterFrame
	local RandomColorPart = Instance.new("Part")
	RandomColorPart.BrickColor = BrickColor.Random()
	CharacterFrame.Choose.BackgroundColor3 = RandomColorPart.Color
	RandomColorPart:Destroy()
	if clonecharacter.PrimaryPart then
		clonecharacter:SetPrimaryPartCFrame(CFrame.new(0, -0.8, -5.5, -0.9, 0, 0.2, 0, 1, 0, -0.2, 0, -0.9))
	else
		if clonecharacter:FindFirstChild("HumanoidRootPart") or clonecharacter:FindFirstChild("Torso") then
			if clonecharacter:FindFirstChild("HumanoidRootPart") then
				clonecharacter.HumanoidRootPart.CFrame = CFrame.new(0, -0.8, -5.5, -0.9, 0, 0.2, 0, 1, 0, -0.2, 0, -0.9)
			else
				clonecharacter.Torso.CFrame = CFrame.new(0, -0.8, -5.5, -0.9, 0, 0.2, 0, 1, 0, -0.2, 0, -0.9)
			end
		else
			CharacterFrame.Visible = false
		end
	end
	CharacterFrame.Choose.MouseButton1Click:Connect(function()
		game.ReplicatedStorage.CharacterEvent:FireServer(character.Name)
		script.Parent:TweenPosition(UDim2.new(0.228, 0, 1, 0), "Out", "Quad", 0.2, true, function()
			script.Parent.Visible = false -- Torna o frame invisível após a animação
		end)
		script.Parent.Characters.CanvasPosition = Vector2.new(0, 0)
	end)
	CharacterFrame.Parent = script.Parent.Characters
end

-- Conexão do botão "Exit"
script.Parent.ExitButton.MouseButton1Click:Connect(function()
	script.Parent:TweenPosition(UDim2.new(0.228, 0, 1, 0), "Out", "Quad", 0.2, true, function()
		script.Parent.Visible = false -- Torna o frame invisível após a animação
	end)
	script.Parent.Characters.CanvasPosition = Vector2.new(0, 0)
end)

-- Conexão do botão que abre o menu de personagens
script.Parent.Parent.Character.MouseButton1Click:Connect(function()
	if script.Parent.Position == UDim2.new(0.228, 0, 0.2, 0) then
		script.Parent:TweenPosition(UDim2.new(0.228, 0, 1, 0), "Out", "Quad", 0.2, true, function()
			script.Parent.Visible = false -- Torna o frame invisível após a animação
		end)
	else
		script.Parent.Visible = true -- Torna o frame visível antes da animação
		script.Parent:TweenPosition(UDim2.new(0.228, 0, 0.2, 0), "Out", "Quad", 0.2)
	end 
end)

-- Implementação do botão "Random"
script.Parent.Random.MouseButton1Click:Connect(function()
	local characterList = Characters:GetChildren()  -- Obtém a lista de personagens
	if #characterList > 0 then  -- Verifica se há personagens disponíveis
		local randomIndex = math.random(1, #characterList)  -- Seleciona um índice aleatório
		local randomCharacter = characterList[randomIndex]  -- Obtém o personagem aleatório
		game.ReplicatedStorage.CharacterEvent:FireServer(randomCharacter.Name)  -- Envia o nome do personagem selecionado para o servidor

		-- Animação para fechar a interface de seleção de personagens
		script.Parent:TweenPosition(UDim2.new(0.228, 0, 1, 0), "Out", "Quad", 0.2, true, function()
			script.Parent.Visible = false -- Torna o frame invisível após a animação
		end)
		script.Parent.Characters.CanvasPosition = Vector2.new(0, 0)
	else
		warn("Nenhum personagem disponível para selecionar aleatoriamente.")
	end
end)