البرمجة النصية

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

النصوص البرمجية هي ملفات نصية بسيطة تتيح لك إضافة سلوكيات مخصصة وديناميكية إلى ألعابك. يمكنك استخدام النصوص البرمجية لتفعيل الأحداث داخل اللعبة، والاستجابة لإدخال اللاعبين، وحفظ بيانات اللاعبين، وإنشاء لوحات المتصدرين، واست spawn الأعداء، والتحكم في سلوك NPC، والكثير، والكثير من ذلك.

Luau

تستخدم نصوص Roblox لغة البرمجة Luau، المشتقة من Lua 5.1.

  • مقارنةً بـ Lua 5.1، تضيف Luau تحسينات في الأداء والعديد من الميزات المفيدة، بما في ذلك نظام كتابة اختياري، وتداخل السلاسل، وتكرار عام للجداول.
  • جميع التعليمات البرمجية الصالحة لـ Lua 5.1 هي تعليمات برمجية صالحة لـ Luau، لكن العكس ليس صحيحًا.

لا تزال معظم الكتب والموارد عبر الإنترنت الخاصة بلغة Lua تنطبق بشكل عام على Luau. للحصول على ملخص مفصل للاختلافات، انظر التوافق في وثائق Luau. بالنسبة لأسلوب اللغة، انظر مرجع Luau.

أساسيات Luau

تعتبر Luau ذات نوع تدريجي، لذا لا تحتاج إلى تحديد نوع عندما تنشئ متغيرًا. يمكنك استخدام type() للتحقق من نوع الكائن:


logMessage = "لدى المستخدم أكثر من 10 عناصر!"
print(logMessage) --> لدى المستخدم أكثر من 10 عناصر!
print(type(logMessage)) --> string

تحتوي Luau على نطاقات عالمية ومحلية، لكن من الأفضل تقريبًا دائمًا إعلان المتغيرات والوظائف محليًا باستخدام الكلمة الرئيسية local:


local logMessage = "لدى المستخدم أكثر من 10 عناصر!"
local function printMessage()
print(logMessage)
end
printMessage() --> لدى المستخدم أكثر من 10 عناصر!

تستخدم Luau nil لتمثيل عدم الوجود أو العدم، والذي يتم تقييمه كـ false في التعليمات الشرطية:


local messageToUser
print(messageToUser) --> nil
print(type(messageToUser)) --> nil
if messageToUser then
-- البيان يتم تقييمه إلى false
end

كما قد تكون قد لاحظت، فإن -- يبدأ تعليقًا على سطر واحد. بينما ينشئ --[[]] تعليقًا كتليًا:


--[[
يوقف شعاع القمر الكوني على الفور.
يجب استدعاؤه فقط في غضون 15 دقيقة من منتصف الليل بتوقيت الجبل القياسي
لتجنب إلحاق الأذى بالشعاع الكوني للقمر.
]]
local function stopCosmicMoonRay()
-- أضف هذا لاحقًا، قد يكون مهمًا
end

الجداول هي المصطلح العام للمصفوفات والقواميس. المصفوفات تعتمد على الرقم 1 بدلاً من الرقم 0، لذا فإن العنصر الأول هو [1]. تقوم بإعلان المصفوفات والقواميس باستخدام مجموعة واحدة من الأقواس المعقوفة:


local myArray = {"رقائق", "مياه فوارة", "صلصة"}
local myDictionary = {
وجبة خفيفة = "رقائق",
شراب = "مياه فوارة",
صلصة = "صلصة"
}
print(myArray[1]) --> رقائق
print(myDictionary.صلصة) --> صلصة

يمكنك التكرار على الجداول باستخدام حلقات for مع الدالة ipairs() للمصفوفات والدالة pairs() للقواميس، لكن Luau يتيح لك أيضًا حذف هذه الوظائف للحصول على صياغة أنظف:


for index, value in ipairs(myArray) do -- Lua قياسي
print(index, value)
end
for key, value in pairs(myDictionary) do -- Lua قياسي
print(key, value)
end
for key, value in myDictionary do -- تكرار عام في Luau
print(key, value)
end

البرنامج النصي الأول لك

  1. في Roblox Studio، مرر فوق ServerScriptService في نافذة Explorer وانقر على +.

  2. اختر Script لإضافة نص برمجي جديد.

  3. انقر بزر الماوس الأيمن على النص البرمجي وأعد تسميته إلى HelloScript.

  4. انقر نقرًا مزدوجًا على النص البرمجي لفتحه في محرر النصوص.

  5. أضف الكود التالي إلى الملف:


    local helloArray = {"h", "e", "l", "l", "o"}
    local worldArray = {"w", "o", "r", "l", "d"}
    for index, value in helloArray do
    print(value)
    end
    print(table.concat(worldArray))
  6. تأكد من فتح نافذة Output.

  7. قم بتشغيل لعبتك ودوّن المخرجات:


    h
    e
    l (x2)
    o
    world

كن مرتاحًا

جزء كبير من التكيف مع بيئة تطوير جديدة هو تكوينها لتلبية احتياجاتك وفهم الأدوات المتاحة لك:

  • قسم محرر النصوص في إعدادات الاستوديو يتيح لك ضبط ميزات الجودة مثل الخطوط، والألوان، والمسافات، والإكمال التلقائي، والأقواس، ونصائح الأدوات. قد ترغب أيضًا في تمكين وضع الظلام في قسم استوديو.
  • Holding Ctrl or Command والنقر على وظيفة أو متغير يأخذك إلى إعلانها في قاعدة شفرتك (أو الوثائق عبر الإنترنت). يمكن أن تساعدك البحث والبحث عن الكل في التنقل عبر المشاريع الأكبر.
  • نافذة Output هي الأداة الأساسية لفهم سلوك نصوصك البرمجية. استخدم قائمة لتمكين إظهار السياق وإظهار المصدر.
  • نافذة تحليل النصوص تظهر ملخصًا للأخطاء والتحذيرات، لكن قد تجد فائدتها محدودة؛ حيث يسلط محرر النصوص الضوء بالفعل على هذه المشكلات أثناء الكتابة.
  • قدرات التسجيل محدودة، دون مفهوم مستويات السجل مثل DEBUG أو FATAL. استخدم print() و warn().

للمزيد من المعلومات حول تكوين الاستوديو للبرمجة النصية، راجع محرر النصوص.

نصك البرمجي الثاني

  1. في Roblox Studio، أضف نصًا برمجيًا إلى ReplicatedStorage في نافذة Explorer وأعد تسميته إلى OhNo.

  2. أضف الكود التالي إلى الملف:


    print("مرحبًا بنصوص وأنواع المواقع!")
  3. لاحظ كيف أن المخرجات لا تختلف عن عندما كنت قد قمت بتشغيل نصك البرمجي الأول.

لفهم سبب عدم تشغيل النص البرمجي، انظر أنواع النصوص ومواقعها.

©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.