Correction du ramassage de la carabine de sniper
-
21 août 2025ispravlenie-pikapa-snajjperskojj_1755784137_864352.zip
En rassemblant mon arme près du détecteur de métaux au club de golf, je pense que beaucoup se sont demandé où diable est passée ma carabine de sniper ? Beaucoup pensaient que le détecteur de métaux ne pouvait tout simplement pas nous rendre ce type d'arme, mais ce n'est pas le cas : le ramassage de la carabine est créé, mais là où nous ne pouvons pas l'atteindre, et même pas le voir - à l'intérieur du bâtiment.
Après avoir étudié la question, j'en suis venu à la conclusion que les coordonnées erronées du ramassage ne sont pas accidentelles - si la troisième rangée devait avoir trois ramassages, le troisième serait exactement là où la carabine de sniper a été placée par erreur. Mais, comme nous le savons déjà, trois rangées ne sont pas acceptables dans ce cas, et en se basant sur la logique de placement des ramassages (un serpent de rangées de 2 ramassages chacune), on peut déterminer sans erreur que le ramassage de la carabine de sniper doit être dans la rangée suivante, juste après le ramassage de l'arme lourde.
Comprenant cela et déterminant toutes les coordonnées nécessaires, il ne restait plus qu'à mettre en œuvre la correction dans la pratique, et il n'était pas nécessaire d'inventer la roue ici : déjà en 2017, spaceeinstein avait créé un scriptqui trouve le ramassage des vêtements des Cubains par les coordonnées en mémoire et, si nécessaire, le déplace vers les coordonnées correctes, enregistrant de nouvelles valeurs en mémoire. Le code source du script publié par spaceeinstein s'est avéré très utile : tout ce que je devais faire était d'inscrire les coordonnées correctes pour le ramassage de la carabine de sniper, de modifier légèrement la méthode de détermination du type de ramassage et d'ajouter le support pour différentes versions du jeu. Je tiens à exprimer ma profonde gratitude à spaceeinstein pour le script lui-même ainsi que pour le code source publié - cette correction a été rendue possible en grande partie grâce à lui.
Caractéristiques de la correction:
- Aucun ramassage n'est supprimé ou créé - le script ne déplace que le ramassage de la carabine de sniper à condition qu'il ait déjà été créé par le jeu;
- Dans les coordonnées des ramassages du détecteur de métaux, une séquence arithmétique se dessine clairement, de sorte que le ramassage de la carabine de sniper est déplacé non pas "à l'œil", mais exactement là où il doit être;
Mise à jour:
- Ajout de la prise en charge de différentes versions du jeu (testé sur les versions 1.0 et 1.1, il y a également un support pour la version Steam, mais la fonctionnalité n'a pas été vérifiée et n'est pas garantie).
Installation: déplacez le fichier sniperpickupfix.cs dans le dossier CLEO dans le dossier de votre jeu (CLEO installé est bien sûr requis).
C'est tout, bon jeu à tous !
Собирая своё оружие у металлодетектора в гольф клубе думаю многие задавались вопросом — куда, чёрт возьми, подевалась моя снайперская винтовка? Многим казалось, что металлодетектор просто не способен вернуть нам этот тип оружия, но это не так: пикап винтовки создаётся, но там, откуда нам его не то, что не достать, а даже не видно — внутри здания.
Немного изучив вопрос я пришёл к выводу, что ошибочные координаты пикапа неслучайны — если бы в третьем ряду должно было бы быть три пикапа — третий располагался бы именно там, куда по ошибке и расположили снайперскую винтовку. Но, как мы уже знаем, три ряда в данном случае недопустимы, и исходя из логики расположения пикапов (змейка из рядов по 2 пикапа в каждом) можно безошибочно определить, что пикапу снайперской винтовки место в следующем ряду сразу после пикапа тяжелого оружия.
Поняв вышеизложенное и определив все необходимые координаты оставалось лишь реализовать исправление на практике, и изобретать велосипед здесь не пришлось: ещё в 2017 году spaceeinstein делал скрипт, который находит пикап одежды кубинцев по координатам в памяти и при необходимости перемещает его на корректные координаты, записывая в память новые значения. Опубликованный spaceeinstein'ом исходный код скрипта оказался весьма кстати: всё, что мне оставалось сделать — вписать корректные для пикапа снайперской винтовки координаты, немного изменить метод определения типа пикапа и добавить поддержку разных версий игры. Хочу выразить огромную благодарность spaceeinstein'у как за сам скрипт, так и за опубликованный исходный код — это исправление стало возможным во многом благодаря именно ему.
Особенности исправления:
- Никакие пикапы не удаляются и не создаются — скрипт лишь перемещает пикап снайперской винтовки при условии, что он уже создан игрой;
- В координатах пикапов металлодетектора отчётливо проглядывается арифметическая последовательность, так что пикап снайперской винтовки переносится не "на глаз", а ровно туда, где ему и место;
Обновление:
- Добавлена поддержка разных версий игры (проверено на версиях 1.0 и 1.1, также присутствует поддержка Steam версии, но работоспособность не проверена и не гарантирована).
Установка: перенесите файл sniperpickupfix.cs в папку CLEO в папке с вашей игрой (требуется установленный CLEO, естественно).
На этом всё, всем приятной игры!