تصحيح التقاط بندقية القنص
-
21 أغسطس 2025ispravlenie-pikapa-snajjperskojj_1755784137_864352.zip
عند جمع سلاحي عند كاشف المعادن في نادي الجولف، أعتقد أن الكثيرين تساءلوا - أين، بحق الجحيم، ذهبت بندقيتي القنص؟ بدا للكثيرين أن كاشف المعادن غير قادر على إرجاع هذا النوع من السلاح، لكن هذا ليس صحيحًا: يتم إنشاء التقاط البندقية، لكنه موجود في مكان لا يمكننا الوصول إليه، بل حتى لا نراه - داخل المبنى.
بعد دراسة الأمر قليلاً، توصلت إلى استنتاج أن الإحداثيات الخاطئة للتقاط ليست عشوائية - إذا كان من المفترض أن يكون هناك ثلاثة التقاط في الصف الثالث - فإن الثالث سيكون بالضبط حيث تم وضع بندقية القنص عن طريق الخطأ. لكن، كما نعلم، فإن وجود ثلاثة صفوف في هذه الحالة غير مقبول، ومن خلال منطق ترتيب التقاط (شكل متعرج من صفوف تحتوي على 2 التقاط في كل منها) يمكن تحديد بدقة أن التقاط بندقية القنص يجب أن يكون في الصف التالي مباشرة بعد التقاط السلاح الثقيل.
بعد فهم ما سبق وتحديد جميع الإحداثيات اللازمة، كان علي فقط تنفيذ التصحيح على أرض الواقع، ولم يكن هناك حاجة لاختراع العجلة هنا: في عام 2017، قام spaceeinstein بعمل سكريبت، الذي يجد التقاط ملابس الكوبيين بناءً على الإحداثيات في الذاكرة وينقلها إلى الإحداثيات الصحيحة عند الحاجة، مسجلاً القيم الجديدة في الذاكرة. كانت الشيفرة المصدرية للسكريبت التي نشرها spaceeinstein مفيدة جدًا: كل ما كان علي فعله هو إدخال الإحداثيات الصحيحة للتقاط بندقية القنص، وتغيير طريقة تحديد نوع الالتقاط قليلاً، وإضافة دعم لإصدارات مختلفة من اللعبة. أود أن أعبر عن امتناني الكبير لـ spaceeinstein سواء من أجل السكريبت نفسه أو من أجل الشيفرة المصدرية المنشورة - لقد أصبح هذا التصحيح ممكنًا إلى حد كبير بفضله.
ميزات التصحيح:
- لا يتم حذف أي التقاط أو إنشاؤها - السكريبت فقط ينقل التقاط بندقية القنص بشرط أن تكون قد تم إنشاؤها بالفعل بواسطة اللعبة;
- في إحداثيات التقاط كاشف المعادن، يمكن رؤية تسلسل رياضي بوضوح، لذا يتم نقل التقاط بندقية القنص ليس "بالعين"، بل بالضبط إلى حيث يجب أن يكون;
تحديث:
- تمت إضافة دعم لإصدارات مختلفة من اللعبة (تم التحقق من الإصدارات 1.0 و 1.1، كما يوجد دعم لإصدار Steam، لكن لم يتم التحقق من عمله ولا يمكن ضمانه).
التثبيت: انقل ملف sniperpickupfix.cs إلى مجلد CLEO في مجلد لعبتك (يتطلب تثبيت CLEO، بالطبع).
هذا كل شيء، أتمنى لكم لعبة ممتعة!
Собирая своё оружие у металлодетектора в гольф клубе думаю многие задавались вопросом — куда, чёрт возьми, подевалась моя снайперская винтовка? Многим казалось, что металлодетектор просто не способен вернуть нам этот тип оружия, но это не так: пикап винтовки создаётся, но там, откуда нам его не то, что не достать, а даже не видно — внутри здания.
Немного изучив вопрос я пришёл к выводу, что ошибочные координаты пикапа неслучайны — если бы в третьем ряду должно было бы быть три пикапа — третий располагался бы именно там, куда по ошибке и расположили снайперскую винтовку. Но, как мы уже знаем, три ряда в данном случае недопустимы, и исходя из логики расположения пикапов (змейка из рядов по 2 пикапа в каждом) можно безошибочно определить, что пикапу снайперской винтовки место в следующем ряду сразу после пикапа тяжелого оружия.
Поняв вышеизложенное и определив все необходимые координаты оставалось лишь реализовать исправление на практике, и изобретать велосипед здесь не пришлось: ещё в 2017 году spaceeinstein делал скрипт, который находит пикап одежды кубинцев по координатам в памяти и при необходимости перемещает его на корректные координаты, записывая в память новые значения. Опубликованный spaceeinstein'ом исходный код скрипта оказался весьма кстати: всё, что мне оставалось сделать — вписать корректные для пикапа снайперской винтовки координаты, немного изменить метод определения типа пикапа и добавить поддержку разных версий игры. Хочу выразить огромную благодарность spaceeinstein'у как за сам скрипт, так и за опубликованный исходный код — это исправление стало возможным во многом благодаря именно ему.
Особенности исправления:
- Никакие пикапы не удаляются и не создаются — скрипт лишь перемещает пикап снайперской винтовки при условии, что он уже создан игрой;
- В координатах пикапов металлодетектора отчётливо проглядывается арифметическая последовательность, так что пикап снайперской винтовки переносится не "на глаз", а ровно туда, где ему и место;
Обновление:
- Добавлена поддержка разных версий игры (проверено на версиях 1.0 и 1.1, также присутствует поддержка Steam версии, но работоспособность не проверена и не гарантирована).
Установка: перенесите файл sniperpickupfix.cs в папку CLEO в папке с вашей игрой (требуется установленный CLEO, естественно).
На этом всё, всем приятной игры!