Avatar-Kontextmenü

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Das Avatar-Kontextmenü (ACM) erleichtert es Nutzern, miteinander zu interagieren. Wenn das ACM in deinem Spiel aktiviert ist, kann ein Nutzer zu dem Charakter eines anderen Nutzers gehen und auf ihn klicken, um ein kleines Menü mit mehreren Standardoptionen zu öffnen. Der Spieler kann eine Freundschaftsanfrage senden, einen privaten Chat beginnen, das Profil des Nutzers ansehen oder winken.

Nachdem du das ACM aktiviert hast, kannst du das ACM auf folgende Weise anpassen:

Aktivieren des Avatar-Kontextmenüs

Das Avatar-Kontextmenü muss mit der Option StarterGui:SetCore() "AvatarContextMenuEnabled" in einem LocalScript aktiviert werden. Das ACM eignet sich am besten für Spiele, in denen es kein vordefiniertes Verhalten gibt, wenn man auf andere Nutzer klickt.

Verwende das folgende Codebeispiel, um das ACM in einem LocalScript zu aktivieren:


-- In einem LocalScript ausführen, idealerweise innerhalb von "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

Wenn du überprüfen musst, ob das ACM aktiviert ist, kannst du den folgenden Code verwenden, um einen Booleschen Wert über den aktuellen Status des ACM zurückzugeben:


---Gibt einen Booleschen Wert zurück, der angibt, ob das ACM derzeit aktiviert ist.
StarterGui:GetCore(AvatarContextMenuEnabled)

ACM öffnen und schließen

Sobald das ACM aktiviert ist, kannst du es programmgesteuert mit StarterGui öffnen und schließen.

Um das ACM programmgesteuert zu öffnen, verwende den folgenden Code:


-- Verwende StarterGui:SetCore, wobei targetPlayer ein gültiges Spielerobjekt ist
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Um das ACM programmgesteuert zu schließen, verwende den folgenden Code:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Menüoptionen

Durch das Skripting kannst du Aktionen hinzufügen und entfernen. Standardmäßig hat das Menü die folgenden Optionen:

MenüoptionBeschreibung
FreundSendet eine Freundschaftsanfrage an den ausgewählten Nutzer.
ChatÖffnet ein privates Gespräch mit dem ausgewählten Nutzer im In-Game-Chat.
AnsichtÖffnet ein Fenster, um das Erscheinungsbild des ausgewählten Nutzers zu inspizieren.
WinkenStartet eine Winken-Animation zum ausgewählten Nutzer.

Sobald das ACM geöffnet ist, kann der Benutzer scrollen und andere Nutzer im Karussell zur Charakterauswahl auswählen. Charaktere werden basierend auf der Entfernung zum ausgewählten Charakter sortiert. Das Menü aktualisiert sich nur beim Öffnen, und die Liste der verfügbaren Nutzer wird beim Scrollen wiederholt.

Menüoptionen hinzufügen

Sobald es aktiviert ist, können spielspezifische Aktionen zum ACM hinzugefügt werden. Zum Beispiel könnte ein Spiel Handelsanfragen, Optionen zum Hinzufügen zur Gruppe oder andere spezielle Interaktionen erlauben.

Das folgende Beispiel zeigt, wie eine benutzerdefinierte Aktion zum Avatar-Kontextmenü hinzugefügt wird:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Verbinde eine Funktion mit einem "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- An diesem Punkt könntest du InvokeServer() auf einer RemoteFunction aufrufen, um den Server über die Auswahl zu informieren
print("ACM-Ereignis ausgewählt von " .. player.Name .. " auf " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Füge die ACM-Option mit SetCore() und "AddAvatarContextMenuOption" hinzu
local options = {"Benutzerdefinierte ACM-Aktion", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Menüoptionen entfernen

Du kannst benutzerdefinierte und die Standardoptionen Freund hinzufügen, Chat, Ansicht und Winken aus dem ACM entfernen, indem du den Namen der benutzerdefinierten Aktion oder das Standard-Enum.AvatarContextMenuOption-Enum referenzierst.

Verwende den folgenden Code, um eine Standard- und benutzerdefinierte Menüoption zu entfernen:


-- Entferne die Option "Benutzerdefinierte ACM-Aktion"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Benutzerdefinierte ACM-Aktion")
-- Entferne die Standardoption "Freund", indem du das Enum AvatarContextMenuOption.Friend referenzierst
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Menüaussehen anpassen

Um das Erscheinungsbild des Avatar-Kontextmenüs zu ändern, rufe StarterGui:SetCore() mit der Option "AvatarContextMenuTheme" auf und übergebe eine Tabelle von Parametern und Werten, um das Menüaussehen anzupassen.

Die Benutzeroberfläche des ACM umfasst die folgenden Abschnitte:

A. Namensschild: Der Benutzername des Charakters, mit dem interagiert wird.

B. Schaltflächenrahmen: Enthält alle ACM-Schaltflächen.

C. Schaltflächen: Einzelne Schaltflächen für die Standard- oder benutzerdefinierten ACM-Aktionen.

Erscheinungsbildparameter

Dies sind die Anpassungsparameter des ACM:

Hintergrund

BackgroundColorEin Color3 für den gesamten Hintergrund des ACM (am nützlichsten, wenn kein Hintergrundbild verwendet wird).
BackgroundTransparencyTransparenzwert (0–1) für den gesamten Hintergrund des ACM (am nützlichsten, wenn kein Hintergrundbild verwendet wird).
BackgroundImageEine gültige Asset-ID eines Bildes für den Hintergrund des ACM.
BackgroundImageTransparencyTransparenzwert (0–1) für das Hintergrundbild.
BackgroundImageScaleTypeEin Enum.ScaleType-Enum für die Skalierung des Hintergrundbildes.
BackgroundImageSliceCenterEin Rect, das das Zentrum eines neun-geteilten Bildes angibt, wenn BackgroundImageScaleType auf Enum.ScaleType.Slice gesetzt ist.

Namensschild

NameTagColorEin Color3 für die Leiste, die zeigt, mit welchem Spieler interagiert wird.
NameUnderlineColorEin Color3 für die dünne Linie zwischen dem Namensschild und den Aktionsschaltflächen.

Schaltflächenrahmen

ButtonFrameColorEin Color3 für den Abschnitt (Rahmen), der die Aktionsschaltflächen enthält.
ButtonFrameTransparencyTransparenzwert (0–1) für den Abschnitt der Schaltflächenrahmen.

Schaltfläche

ButtonColorEin Color3 für den Hintergrund der ACM-Aktionsschaltflächen.
ButtonTransparencyTransparenzwert (0–1) für die Hintergrundfarbe der Aktionsschaltflächen.
ButtonHoverColorEin Color3 für den "Hover"-Zustand der Aktionsschaltflächen.
ButtonHoverTransparencyTransparenzwert (0–1) für die "Hover"-Farbe der Aktionsschaltflächen.
ButtonUnderlineColorEin Color3 für die dünne Linie, die jede Aktionsschaltfläche trennt.
ButtonImageEine gültige Asset-ID eines Bildes für den Hintergrund der Schaltflächen.
ButtonImageScaleTypeEin Enum.ScaleType-Enum für die Skalierung von Schaltflächenbildern.
ButtonImageSliceCenterEin Rect, das das Zentrum eines neun-geteilten Bildes angibt, wenn ButtonImageScaleType auf Enum.ScaleType.Slice gesetzt ist.

Text

FontEin Enum.Font-Enumwert für das Namensschild und den Schaltflächentext.
TextColorEin Color3 für allen Text im ACM.
TextScaleEin Float-Wert zum Skalieren der Standardtextgrößen jedes Elements.

Verschiedene Bilder

LeaveMenuImageEine Asset-ID eines Bildes für den ACM-Schließen-Button.
ScrollLeftImageEine Asset-ID eines Bildes für den Karussell-Button "nach links scrollen".
ScrollRightImageEine gültige Asset-ID eines Bildes für den Karussell-Button "nach rechts scrollen".

Ausgewählter Charakter

SelectedCharacterIndicatorDas MeshPart, das über dem Kopf eines Charakters schwebt, um anzuzeigen, dass er ausgewählt ist.

Größe und Position

SizeEin UDim2 für die Gesamtgröße des ACM.
MinSizeEin Vector2, das die Mindestgröße des ACM angibt.
MaxSizeEin Vector2, das die Höchstgröße des ACM angibt.
AspectRatioEin Float-Wert, der das Verhältnis von Breite und Höhe des ACM angibt.
AnchorPointDer AnchorPoint des ACM.
OnScreenPositionEin UDim2, das die On-Screen-Position des ACM angibt (die Position, zu der es sich bewegt, wenn es geöffnet wird).
OffScreenPositionEin UDim2, das die Off-Screen-Position des ACM angibt (die Position, von der es geöffnet/geschlossen wird).

Beispielanpassung

Das folgende Codebeispiel passt das ACM-Thema mit einigen grundlegenden Parametern an:


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, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.