تخصيص الدردشة الفقاعة

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

مع TextChatService، يمكنك استخدام دردشة الفقاعة لعرض فقاعات الدردشة القابلة للتخصيص فوق صور المستخدمين والشخصيات غير القابلة للعب (NPCs). يمكن أن تجعل دردشة الفقاعة لعبتك أكثر غمرًا بصريًا وتساعد المستخدمين على تحديد الرسائل ومتحدثيها بسهولة بطريقة ذات أهمية سياقية. هذه الميزة مفيدة بشكل خاص للألعاب حيث يحتاج المستخدمون إلى التركيز على المحتوى وفي نفس الوقت التواصل مع الآخرين بطريقة أقل إزعاجًا.

تمكين دردشة الفقاعة

لتمكين دردشة الفقاعة في لعبتك:

  1. في نافذة Explorer، اختر BubbleChatConfiguration تحت TextChatService.

  2. في نافذة Properties، تحقق من خانة BubbleChatConfiguration.Enabled.

تخصيص الفقاعة

بعد تمكين دردشة الفقاعة، يمكنك تخصيص المظهر والسلوك لفقاعات الدردشة الخاصة بك لتتناسب مع موضوع لعبتك. استخدم نافذة Properties لـ BubbleChatConfiguration لإجراء تغييرات أساسية مثل لون النص والمسافات، أو تنفيذ تخصيص متقدم لصور خلفية الفقاعة وغيرها من التعديلات المرئية.

بدلاً من ذلك، أضف LocalScript في StarterPlayerScripts مع جميع إعدادات التخصيص الخاصة بك. هذا يسمح لمحرك اللعبة بتطبيق تخصيصاتك أثناء وقت التشغيل، مع تجاوز الإعدادات في الاستوديو. إنه مفيد لإضافة تأثيرات خاصة لفقاعات الدردشة عندما يقوم المستخدمون بتفعيل أحداث أو شروط معينة.

تخصيص أساسي

توضح الجدول التالي خصائص تخصيص دردشة الفقاعة الشائعة. للحصول على قائمة كاملة من خصائص التخصيص، انظر BubbleChatConfiguration.

الخاصيةالوصفالإعداد الافتراضي
BackgroundColor3لون خلفية الفقاعات في Color3.[250, 250, 250]
FontFaceFont لنص الفقاعة.BuilderSansMedium
TextColor3لون نص الفقاعة في Color3.[57, 59, 61]
TextSizeحجم نص الفقاعة.16

تخصيص متقدم

للتخصيص المتقدم لفقاعتك، أضف عناصر واجهة مستخدم تمثل جوانب معينة من مظهر الفقاعة كأطفال تحت BubbleChatConfiguration، بما في ذلك:

  • ImageLabel لإعدادات صورة الخلفية.
  • UIGradient لإعدادات تدرج الخلفية.
  • UICorner لشكل الزوايا للفقاعات.
  • UIPadding للمساحة بين النص وحواف الفقاعة، نسبةً إلى حجم الوالد العادي.

بعد إضافة هذه العناصر، يمكنك تعديل خصائص هذه العناصر القابلة للتطبيق على فقاعات الدردشة للتخصيص المتقدم للفقاعات. المثال التالي LocalScript يضيف صورة خلفية وزوايا حادة إلى الفقاعات:

تخصيص الفقاعة المتقدم

local TextChatService = game:GetService("TextChatService")
local bubbleChatConfiguration = TextChatService.BubbleChatConfiguration
bubbleChatConfiguration.TailVisible = false
bubbleChatConfiguration.TextColor3 = Color3.fromRGB(220, 50, 50)
bubbleChatConfiguration.FontFace = Font.fromEnum(Enum.Font.LuckiestGuy)
local bubbleUICorner = bubbleChatConfiguration:FindFirstChildOfClass("UICorner")
if not bubbleUICorner then
bubbleUICorner = Instance.new("UICorner")
bubbleUICorner.Parent = bubbleChatConfiguration
end
bubbleUICorner.CornerRadius = UDim.new(0, 0)
local bubbleUIPadding = bubbleChatConfiguration:FindFirstChildOfClass("UIPadding")
if not bubbleUIPadding then
bubbleUIPadding = Instance.new("UIPadding")
bubbleUIPadding.Parent = bubbleChatConfiguration
end
bubbleUIPadding.PaddingTop = UDim.new(0, 20)
bubbleUIPadding.PaddingRight = UDim.new(0, 10)
bubbleUIPadding.PaddingBottom = UDim.new(0, 15)
bubbleUIPadding.PaddingLeft = UDim.new(0, 10)
local bubbleImageLabel = bubbleChatConfiguration:FindFirstChildOfClass("ImageLabel")
if not bubbleImageLabel then
bubbleImageLabel = Instance.new("ImageLabel")
bubbleImageLabel.Parent = bubbleChatConfiguration
end
bubbleImageLabel.Image = "rbxassetid://109157529833093"
bubbleImageLabel.ScaleType = Enum.ScaleType.Slice
bubbleImageLabel.SliceCenter = Rect.new(40, 40, 320, 120)
bubbleImageLabel.SliceScale = 0.5

توضح الجداول التالية العناصر المتاحة من GuiObject ومعدل المظهر مع خصائص التخصيص الصحيحة لها:

الخاصيةالوصفالإعداد الافتراضي
Imageمعرف الأصول لصورة خلفية الفقاعة.
ImageColor3لون تدرج صورة الخلفية للفقاعة في Color3.[255, 255, 255]
ImageRectOffsetإزاحة منطقة الصورة التي سيتم عرضها من أعلى اليسار بالبكسل.(0, 0)
ImageRectSizeحجم منطقة الصورة التي سيتم عرضها بالبكسل. لعرض الصورة بالكامل، اضبط أيًا من الأبعاد على 0.(0, 0)
ScaleTypeنوع القياس لعرض الصورة عند اختلاف حجمها عن الحجم المطلق للفقاعة.Stretch
SliceCenterحدود الشريحة للصورة إذا كانت الصورة عبارة عن صورة مقطوعة 9. تنطبق فقط عند تعيين ScaleType كـ Slice.(0, 0, 0, 0)
SliceScaleنسبة القياس لحدود الشريحة إذا كانت الصورة عبارة عن صورة مقطوعة 9. تنطبق فقط عند تعيين ScaleType كـ Slice.1
TileSizeحجم تكرار الصورة. تنطبق فقط عند تعيين ScaleType كـ Tile.(1, 0, 1, 0)

تخصيص لكل فقاعة

يمكنك تصميم وتعديل سلوك فقاعات الدردشة فردياً بناءً على ظروف معينة لتجاوز إعداداتك العامة. على سبيل المثال، يمكنك استخدام فقاعات الدردشة لتفريق بين الشخصيات غير القابلة للعب (NPCs) والمستخدمين، تسليط الضوء على حالة الصحة الحرجة، وتطبيق تأثيرات خاصة على الرسائل ذات الكلمات الرئيسية المحددة مسبقًا.

لتعيين تخصيص لكل فقاعة، أضف LocalScript على الجانب العميل باستخدام BubbleChatMessageProperties، والذي يتجاوز الخصائص المطابقة لـ BubbleChatConfiguration، ونداء TextChatService.OnBubbleAdded لتحديد كيفية تخصيص كل فقاعة. يوفر لك النداء خاصية TextChatMessage بالإضافة إلى المكان، بحيث يمكنك تطبيق التخصيص بناءً على الخصائص المرتبطة بالمستخدمين، محتوى نص الدردشة، خصائص شخصية المستخدمين، وأي شروط خاصة تريد تعريفها.

الخصائص الأساسية التالية متاحة لتخصيص لكل فقاعة:

الخاصيةالوصفالإعداد الافتراضي
BackgroundColor3لون خلفية الفقاعات في Color3.(250, 250, 250)
BackgroundTransparencyشفافية خلفية الفقاعات.0.1
FontFaceFont لنص الفقاعة.BuilderSansMedium
TextColor3لون نص الفقاعة في Color3.[57, 59, 61]
TextSizeحجم نص الفقاعة.16

المثال التالي يضيف مظهر خاص وفقاعات دردشة المستخدمين المميزين بتفقد ما إذا كان مرسل رسالة الدردشة لديه خاصية IsVIP:

فقاعات المميزين

local TextChatService = game:GetService("TextChatService")
local Players = game:GetService("Players")
-- معالج الحدث عند إضافة فقاعة دردشة جديدة إلى اللعبة
TextChatService.OnBubbleAdded = function(message: TextChatMessage, adornee: Instance)
-- تحقق مما إذا كانت رسالة الدردشة تحتوي على مصدر نص (مرسل) مرتبط بها
if message.TextSource then
-- أنشئ مثيلًا جديدًا من BubbleChatMessageProperties لتخصيص فقاعة الدردشة
local bubbleProperties = Instance.new("BubbleChatMessageProperties")
-- احصل على المستخدم الذي أرسل رسالة الدردشة بناءً على UserId الخاص بهم
local player = Players:GetPlayerByUserId(message.TextSource.UserId)
if player:GetAttribute("IsVIP") then
-- إذا كان اللاعب مميزًا، خصص خصائص فقاعات الدردشة
bubbleProperties.TextColor3 = Color3.fromHex("#F5CD30")
bubbleProperties.BackgroundColor3 = Color3.fromRGB(25, 27, 29)
bubbleProperties.FontFace = Font.fromEnum(Enum.Font.PermanentMarker)
end
return bubbleProperties
end
end

جميع خيارات التخصيص المتقدمة متاحة لتخصيص كل فقاعة. بشكل مشابه للتخصيص المتقدم للفقاعات العامة، أضف مثيلات تريد تخصيصها كأطفال لـ BubbleChatMessageProperties. المثال التالي يضيف تأثير تدرج خاص جنبًا إلى جنب مع خصائص أخرى لفقاعات دردشة المستخدمين ذوي حالة الصحة المنخفضة من خلال فحص خاصية Humanoid.Health لشخصيات مرسلي رسائل الدردشة:

فقاعات الصحة المنخفضة

local TextChatService = game:GetService("TextChatService")
local Players = game:GetService("Players")
-- معالج الحدث عند إضافة فقاعة دردشة جديدة إلى اللعبة
TextChatService.OnBubbleAdded = function(message: TextChatMessage, adornee: Instance)
-- تحقق مما إذا كانت رسالة الدردشة تحتوي على مصدر نص (مرسل) مرتبط بها
if message.TextSource then
-- احصل على المستخدم الذي أرسل رسالة الدردشة باستخدام UserId الخاص بهم
local player = Players:GetPlayerByUserId(message.TextSource.UserId)
-- ابحث عن الهيكل في شخصية المستخدم
local humanoid = player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid and humanoid.Health < 25 then
-- أنشئ مثيلًا جديدًا من BubbleChatMessageProperties لتخصيص فقاعة الدردشة
local bubbleProperties :BubbleChatMessageProperties = Instance.new("BubbleChatMessageProperties")
-- خصص خصائص فقاعات الدردشة لحالة الصحة المنخفضة
bubbleProperties.BackgroundColor3 = Color3.fromRGB(245, 245, 245)
bubbleProperties.TextColor3 = Color3.fromRGB(234, 51, 96)
bubbleProperties.TextSize = 20
bubbleProperties.FontFace = Font.fromEnum(Enum.Font.DenkOne)
-- أضف UIGradient كطفل لتخصيص التدرج
local uiGradient : UIGradient = Instance.new("UIGradient")
uiGradient.Color = ColorSequence.new(Color3.fromRGB(110, 4, 0), Color3.fromRGB(0, 0, 0))
uiGradient.Rotation = 90
uiGradient.Parent = bubbleProperties
return bubbleProperties
end
end
end

عرض الفقاعات يدويًا

قد ترغب في عرض فقاعة دردشة عندما لم يرسل اللاعبون رسالة، مثل الشخصيات غير القابلة للعب (NPCs). استخدم دالة TextChatService:DisplayBubble() لعرض فقاعة دردشة يدويًا.

تخصيص هذه الفقاعات هو نفسه تخصيص الفقاعات المعروضة تلقائيًا عندما يرسل اللاعبون رسائل عبر TextChannels باستخدام نداء TextChatService.OnBubbleAdded.

فقاعات الشخصيات غير القابلة للعب

عرض فقاعات الدردشة لغير اللاعبين (NPCs) عن طريق استدعاء TextChatService:DisplayBubble(character, message)، مع شخصية الـ NPC والرسالة كوسائط. يمكن تخصيص هذه الفقاعات باستخدام نداء TextChatService.OnBubbleAdded تمامًا مثل أي فقاعة دردشة أخرى.

TextChatService:DisplayBubble() تعمل فقط على سكربتات جانب العميل، لذا تأكد من استخدام Script مع RunContext المحددة إلى Enum.RunContext.Client، أو LocalScript في حاوية مناسبة، مثل StarterPlayerScripts. إذا قمت بتعليق ProximityPrompt على NPC، قد يبدو سكربت عرض فقاعة دردشة مثل هذا:


local TextChatService = game:GetService("TextChatService")
local Workspace = game:GetService("Workspace")
local prompt = Workspace.SomeNPC.ProximityPrompt
local head = prompt.Parent:WaitForChild("Head")
prompt.Triggered:Connect(function()
TextChatService:DisplayBubble(head, "مرحبًا بالعالم!")
end)
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.