Menu de Contexto do Avatar

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O Menu de Contexto do Avatar (MCA) facilita a interação entre os usuários. Quando o MCA é habilitado em seu jogo, um usuário pode se aproximar do personagem de outro usuário e clicar nele para abrir um pequeno menu com várias opções padrão. O jogador pode enviar um pedido de amizade, iniciar um chat privado, visualizar o perfil do usuário ou acenar.

Após habilitar o MCA em seu jogo, você pode personalizá-lo das seguintes maneiras:

Habilitar o Menu de Contexto do Avatar

O Menu de Contexto do Avatar deve ser habilitado usando a opção StarterGui:SetCore() "AvatarContextMenuEnabled" em um LocalScript. O MCA é melhor utilizado em jogos onde não há um comportamento predefinido para clicar em outros usuários.

Use o seguinte exemplo de código para habilitar o MCA em um LocalScript:


-- Execute em um LocalScript, idealmente dentro de "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

Se você precisar detectar se o MCA está habilitado, você pode usar o seguinte código para retornar um booleano sobre o status atual do MCA:


---Retorna um booleano indicando se o MCA está atualmente habilitado.
StarterGui:GetCore(AvatarContextMenuEnabled)

Abrir e fechar o MCA

Uma vez habilitado, você pode abrir e fechar o MCA programaticamente com StarterGui.

Para abrir programaticamente o MCA, use o seguinte código:


-- Use StarterGui:SetCore onde targetPlayer é um objeto Player válido
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Para fechar programaticamente o MCA, use o seguinte código:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Opções do menu

Você pode adicionar e remover ações através da programação. Por padrão, o menu tem as seguintes opções:

Opção do menuDescrição
AmigoEnvia um pedido de amizade para o usuário selecionado.
ChatAbre uma conversa privada com o usuário selecionado no chat do jogo.
VisualizarAbre uma janela para inspecionar a aparência do usuário selecionado.
AcenarInicia uma animação de aceno para o usuário selecionado.

Uma vez que o MCA esteja aberto, o usuário pode rolar e selecionar outros usuários no carrossel de seleção de personagens. Os personagens são ordenados com base na distância do personagem selecionado. O menu só é atualizado quando aberto e a lista de usuários disponíveis irá repetir ao rolar.

Adicionar opções ao menu

Uma vez habilitado, ações específicas do jogo podem ser adicionadas ao MCA. Por exemplo, um jogo pode permitir pedidos de troca, opções de adicionar a festa ou outras interações especiais.

O seguinte exemplo mostra como adicionar uma ação personalizada ao Menu de Contexto do Avatar:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Conectar uma função a um "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- Neste ponto, você poderia chamar InvokeServer() em um RemoteFunction para alertar o servidor sobre a seleção
print("Evento MCA selecionado por " .. player.Name .. " em " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Adicione a opção MCA usando SetCore() com "AddAvatarContextMenuOption"
local options = {"Ação MCA Personalizada", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Remover opções do menu

Você pode remover opções personalizadas e as opções padrão Adicionar Amigo, Chat, Visualizar e Acenar do MCA referenciando o nome da Ação personalizada ou o enum padrão Enum.AvatarContextMenuOption.

Use o seguinte código para remover uma opção do menu padrão e personalizada:


-- Remover a opção "Ação MCA Personalizada"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Ação MCA Personalizada")
-- Remover a opção padrão "Amigo" referenciando o Enum AvatarContextMenuOption.Friend
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Personalizar a aparência do menu

Para mudar a aparência do Menu de Contexto do Avatar, chame StarterGui:SetCore() com a opção "AvatarContextMenuTheme", fornecendo uma tabela de parâmetros e valores para ajustar a aparência do menu.

A interface do usuário do MCA inclui as seguintes seções:

A. Etiqueta de Nome: O nome do usuário do personagem com o qual está interagindo.

B. Quadro de Botão: Contém todos os botões do MCA.

C. Botões: Botões individuais para as ações padrão ou personalizadas do MCA.

Parâmetros de aparência

Estes são os parâmetros de personalização do MCA:

Fundo

BackgroundColorUm Color3 para o fundo geral do MCA (mais útil quando não se usa uma imagem de fundo).
BackgroundTransparencyValor de transparência (0–1) para o fundo geral do MCA (mais útil quando não se usa uma imagem de fundo).
BackgroundImageUm ID de ativo válido de uma imagem para o fundo do MCA.
BackgroundImageTransparencyValor de transparência (0–1) para a imagem de fundo.
BackgroundImageScaleTypeUm enum Enum.ScaleType para escala de imagens de fundo.
BackgroundImageSliceCenterUm Rect especificando o centro de uma imagem dividida em nove quando BackgroundImageScaleType é definido como Enum.ScaleType.Slice.

Etiqueta de nome

NameTagColorUm Color3 para a barra mostrando qual jogador está sendo interagido.
NameUnderlineColorUm Color3 para a linha fina entre a etiqueta de nome e os botões de ação.

Quadro de botão

ButtonFrameColorUm Color3 para a seção (quadro) contendo os botões de ação.
ButtonFrameTransparencyValor de transparência (0–1) para a seção do quadro de botões.

Botão

ButtonColorUm Color3 para o fundo dos botões de ação do MCA.
ButtonTransparencyValor de transparência (0–1) para a cor de fundo dos botões de ação.
ButtonHoverColorUm Color3 para o estado "hover" dos botões de ação.
ButtonHoverTransparencyValor de transparência (0–1) para a cor "hover" dos botões de ação.
ButtonUnderlineColorUm Color3 para a linha fina que separa cada botão de ação.
ButtonImageUm ID de ativo válido de uma imagem para o fundo dos botões.
ButtonImageScaleTypeUm enum Enum.ScaleType para escala de imagens dos botões.
ButtonImageSliceCenterUm Rect especificando o centro de uma imagem dividida em nove quando ButtonImageScaleType é definido como Enum.ScaleType.Slice.

Texto

FontUm valor enum Enum.Font para a etiqueta de nome e texto dos botões.
TextColorUm Color3 para todo o texto dentro do MCA.
TextScaleUm valor float para escalar os tamanhos de texto padrão de cada elemento.

Várias imagens

LeaveMenuImageUm ID de ativo de uma imagem para o botão de fechar do MCA.
ScrollLeftImageUm ID de ativo de uma imagem para o botão de "rolar para a esquerda" do carrossel.
ScrollRightImageUm ID de ativo válido de uma imagem para o botão de "rolar para a direita" do carrossel.

Personagem selecionado

SelectedCharacterIndicatorO MeshPart que flutua acima da cabeça de um personagem para indicar que ele está selecionado.

Tamanho e posição

SizeUm UDim2 para o tamanho geral do MCA.
MinSizeUm Vector2 especificando o tamanho mínimo do MCA.
MaxSizeUm Vector2 especificando o tamanho máximo do MCA.
AspectRatioUm valor float especificando a largura e altura relativa do MCA.
AnchorPointO AnchorPoint do MCA.
OnScreenPositionUm UDim2 especificando a posição na tela do MCA (a posição onde ele se anima quando aberto).
OffScreenPositionUm UDim2 especificando a posição fora da tela do MCA (a posição de onde ele se anima para/de quando aberto/fechado).

Exemplo de personalização

O seguinte exemplo de código personaliza o tema do MCA usando alguns parâmetros básicos:


local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuTheme", {
BackgroundImage = "",
BackgroundTransparency = 0.5,
BackgroundColor = Color3.fromRGB(111, 145, 242),
NameTagColor = Color3.fromRGB(0, 0, 200),
NameUnderlineColor = Color3.fromRGB(213, 233, 255),
ButtonFrameColor = Color3.fromRGB(15, 24, 65),
ButtonFrameTransparency = 0.2,
ButtonUnderlineColor = Color3.fromRGB(213, 233, 255),
Font = Enum.Font.SciFi
})
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.