يمكن أن تحتوي عبارات if على عدة متطلبات تحتاج إلى أن تكون صحيحة قبل تشغيل الكود. تتيح لك الكلمة المفتاحية and دمج العبارات. يقوم الكود التالي بتقييم أولاً ما إذا كانت اثنان زائد اثنان يساوي ستة، ثم إذا كانت أربعة لا تساوي ستة. إذا كانت كلا العبارتين صحيحتين، فسيتم تشغيل الكود.
-- لن يعملif 2 + 2 == 6 and 4 ~= 6 thenprint("كلا العبارتين صحيحتين")end-- سيعملif 4 + 2 == 6 and 4 ~= 6 thenprint("كلا العبارتين صحيحتين")end
إنشاء قوة تعزيز
تعتبر قوى التعزيز عناصر ضمن التجربة تمنح اللاعبين قدرات خاصة مثل الطيران، الاختفاء، أو السرعة. ستعمل هذه القوة على زيادة سرعة مشي اللاعب في كل مرة يتم لمس القوة. يمكن أن يؤدي التطبيق المتواصل للتعزيزات إلى جعل اللاعب يذهب بسرعة كبيرة جدًا، لذا سيتم استخدام and للتحكم في الحد الأقصى لسرعة المشي.
إعداد القوة
استخدم هذا الكود مع جزء بسيط أو نموذج، مثل بلورة، عملة، أو كوكب نيون مضيء.
أنشئ جزءًا جديدًا يسمى Powerup وأضف نصًا برمجيًا يسمى WalkSpeedManager.
أعلن عن متغير يسمى speedBoost وخصص له كائن والد النص البرمجي.
-- يمنح تعزيز سرعة مؤقت عند لمسهlocal speedBoost = script.Parentإعداد وظيفة تسمى onTouch ووصّلها بحدث Touched لكائن الوالد. ثم اختبر اللعبة وتحقق من عملك.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("شيء ما لمس السرعة المعززة")endspeedBoost.Touched:Connect(onTouch)خاصية WalkSpeed موجودة على كائنات Humanoid. استخدم نفس النمط المستخدم عند إنشاء جزء الفخ وأنشئ شرطًا يتحقق من كائنات Humanoid.
يبحث عن أجزاء الـ Humanoidlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("تم العثور على Humanoid")endend
تسريع اللاعبين
ستجعل تعزيز السرعة الصور الرمزية تمشي أسرع في كل مرة يتم فيها لمس تعزيز السرعة. ستصبح هذه السرعة بسرعة كبيرة جدًا جدًا. ستضمن الكلمة المفتاحية and أنه لا يمكن للاعبين الذهاب بسرعة كبيرة من خلال تفعيل تعزيز السرعة فقط إذا كان اللاعب تحت سرعة معينة.
إذا تم العثور على Humanoid، خذ قيمة WalkSpeed الحالية وأضف 10 إليها. اختبر اللعبة، وستصبح صورتك الرمزية أسرع في كل مرة تلمس فيها تعزيز السرعة.
يزيد من WalkSpeed الحاليlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)في عبارة if، استخدم الكلمة المفتاحية and لإضافة شرط ثانٍ وهو أن قيمة WalkSpeed الحالية أقل من 50. بعد إضافة التعزيز، ستكون أسرع قيمة لـ WalkSpeed هي 60.
يتحقق مما إذا كانت WalkSpeed الحالية 50 أو أقلif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
ضبط تعزيز السرعة
يتم استدعاء OnTouch في كل مرة يتم فيها لمس تعزيز السرعة. كل خطوة أو قفزة طفيفة تؤدي إلى تشغيل حدث Touched واستدعاء الوظيفة المتصلة. خاصية الجزء CanTouch يمكن أن تمنع حدث Touched من التشغيل. استفد من CanTouch وقم بإيقاف تعزيز السرعة لمدة ثانية واحدة في كل مرة يتم تفعيله.
بعد تطبيق التعزيز، قم بتعيين خاصية CanTouch للجزء إلى false. اختبر اللعبة وتأكد من أن التعزيز يعمل مرة واحدة فقط.
يعطل تعزيز السرعةlocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falseendendspeedBoost.Touched:Connect(onTouch)استخدم task.wait(1) لإيقاف النص البرمجي لمدة ثانية واحدة، ثم قم بتعيين CanTouch إلى true. اختبر اللعبة وتأكد من أنه يمكن إعادة تطبيق تعزيز السرعة بعد ثانية واحدة.
النص البرمجي المكتملlocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falsetask.wait(1)speedBoost.CanTouch = trueendendspeedBoost.Touched:Connect(onTouch)جرب القيم في النص البرمجي المكتمل. يمكن أن تصل WalkSpeed إلى 100. القيمة الافتراضية لـ WalkSpeed هي 16.
ملخص
يمكن استخدام الكلمة المفتاحية and لطلب وجود عدة شروط قبل تنفيذ جزء من الكود، مثل أن تكون القيمة أكبر من 0 وأقل من 100. أو أنه إذا كان هناك Humanoid وWalkSpeed الخاص به أقل أو يساوي 50.