واجهة مستخدم CLEO بسيطة
واجهة مستخدم بسيطة
أواصل تقليد السكربتات المخصصة بشكل أساسي لتعليم المبرمجين. هذه المرة أنشأت واجهة مستخدم خاصة في CLEO، والتي على الرغم من بساطتها، تعرض أهم المؤشرات في اللعبة، بالإضافة إلى بعض الميزات:
• يتم إيقافها عند إيقافها من خلال القائمة (لا حاجة لحفظ أزرار تشغيل/إيقاف السكربت وإشغال لوحة المفاتيح بلا فائدة)
• تغير لون بعض العناصر حسب قيمها (على سبيل المثال، تصبح الساعة أغمق مع اقتراب الليل، ويصبح لون عدد الطلقات في المتجر أكثر إشراقًا عندما يقل عددها)
• تحرك العناصر قليلاً عند تحريك الماوس/عصا التحكم الصغيرة.
بالإضافة إلى ما سبق، من خلال دراسة الكود، يمكنك تعلم:
• استخدام الثوابت
• العمل مع عناوين الذاكرة
• استخدام وضع الرسم (text_draw)
• عرض النصوص بجانب بعضها بحيث لا تتداخل مع بعضها
• قراءة إزاحات الماوس/عصا التحكم الصغيرة
• معرفة عدد الطلقات في المتجر
• ربط قيم معينة بأخرى (وحتى استخدام حساب جيب الزاوية لذلك!)
• العثور على قيمة الأكسجين المتبقي في الذاكرة
• العثور على عداد "غضب" الشرطة في الذاكرة
• استخدام وظائف scm
17.05.2020: تم إصلاح خطأ كان يجعل بعض فئات الأسلحة (مثل المفجر، المظلة، إلخ) تعرض عدد الطلقات. وأزلت عرض الاختبار المتبقي عن طريق الخطأ.
عرض السكربت:
تحليل كود السكربت:
استمتع باللعبة!
Минималистичный HUD
Продолжаю традицию скриптов, предназначенных в первую очередь для обучения скриптеров. На сей раз я создал в CLEO собственный HUD, который хоть и довольно прост, но отображает самые важные игровые показатели, а также может похвастаться такими особенностями:
• отключается при отключении через меню (не нужно зубрить кнопки включения/выключения скрипта и попусту задействовать клавиатуру)
• меняет цвет некоторых элементов в зависимости от их значений (например, часы становятся темнее с приближением ночи, а цвет числа патронов в магазине — ярче, если их становится мало)
• слегка смещает элементы при перемещении мышки/мини-джойстика.
Помимо вышеперечисленного, изучая код, вы сможете научиться:
• применять константы
• работать с адресами памяти
• использовать режим рисования (text_draw)
• выводить тексты рядом так, чтобы они не перекрывали друг друга
• считывать смещения мыши/мини-джойстика
• узнавать число патронов в магазине
• ставить одни значения в зависимость от других (и даже задействовать для этого нахождение синуса!)
• находить в памяти значение оставшегося кислорода
• находить в памяти счётчик «злости» полиции
• пользоваться scm-функциями
17.05.2020: исправлен недочёт, из-за которого у некоторых категорий оружия (детонатора, парашюта и т.п.) отображалось число патронов. И убрал случайно оставшуюся тестовую выдачу трости.
Демонстрация скрипта:
Разбор кода скрипта:
Приятной игры!