Korrektur des Sniper Rifle-Pickups
-
21 August 2025ispravlenie-pikapa-snajjperskojj_1755784137_864352.zip
Beim Sammeln meiner Waffe am Metalldetektor im Golfclub fragen sich viele wahrscheinlich: Wo zum Teufel ist mein Scharfschützengewehr geblieben? Viele dachten, dass der Metalldetektor einfach nicht in der Lage ist, uns diesen Waffentyp zurückzugeben, aber das ist nicht der Fall: Der Pickup des Gewehrs wird erstellt, aber dort, wo wir ihn nicht nur nicht erreichen können, sondern sogar nicht sehen können - im Inneren des Gebäudes.
Nach ein wenig Recherche kam ich zu dem Schluss, dass die fehlerhaften Koordinaten des Pickups nicht zufällig sind - wenn in der dritten Reihe drei Pickups sein sollten, wäre der dritte genau dort, wo das Scharfschützengewehr fälschlicherweise platziert wurde. Aber wie wir bereits wissen, sind drei Reihen in diesem Fall nicht zulässig, und basierend auf der Logik der Platzierung der Pickups (Schlange aus Reihen mit 2 Pickups in jeder) kann man eindeutig feststellen, dass der Pickup des Scharfschützengewehrs in der nächsten Reihe direkt nach dem Pickup der schweren Waffe stehen sollte.
Nachdem ich das oben Gesagte verstanden und alle notwendigen Koordinaten bestimmt hatte, blieb nur noch, die Korrektur in die Praxis umzusetzen, und ein neues Rad musste hier nicht erfunden werden: Bereits 2017 hatte spaceeinstein ein Scripterstellt, das den Pickup der Kleidung der Kubaner anhand der Koordinaten im Speicher findet und bei Bedarf an die korrekten Koordinaten verschiebt, indem es neue Werte im Speicher speichert. Der von spaceeinstein veröffentlichte Quellcode des Skripts kam sehr gelegen: Alles, was ich tun musste, war, die korrekten Koordinaten für den Pickup des Scharfschützengewehrs einzutragen, die Methode zur Bestimmung des Pickup-Typs leicht zu ändern und die Unterstützung für verschiedene Spielversionen hinzuzufügen. Ich möchte spaceeinstein für das Skript selbst sowie für den veröffentlichten Quellcode meinen herzlichen Dank aussprechen - diese Korrektur wurde in vielerlei Hinsicht dank ihm möglich.
Besonderheiten der Korrektur:
- Es werden keine Pickups gelöscht oder erstellt - das Skript verschiebt lediglich den Pickup des Scharfschützengewehrs, vorausgesetzt, er wurde bereits vom Spiel erstellt;
- In den Koordinaten der Metalldetektor-Pickups ist eine arithmetische Folge deutlich erkennbar, sodass der Pickup des Scharfschützengewehrs nicht "nach Augenmaß" verschoben wird, sondern genau dorthin, wo er hingehört;
Aktualisierung:
- Unterstützung für verschiedene Spielversionen hinzugefügt (getestet auf Versionen 1.0 und 1.1, es gibt auch Unterstützung für die Steam-Version, aber die Funktionalität wurde nicht getestet und ist nicht garantiert).
Installation: Verschieben Sie die Datei sniperpickupfix.cs in den CLEO-Ordner im Verzeichnis Ihres Spiels (CLEO muss natürlich installiert sein).
Das ist alles, viel Spaß beim Spielen!
Собирая своё оружие у металлодетектора в гольф клубе думаю многие задавались вопросом — куда, чёрт возьми, подевалась моя снайперская винтовка? Многим казалось, что металлодетектор просто не способен вернуть нам этот тип оружия, но это не так: пикап винтовки создаётся, но там, откуда нам его не то, что не достать, а даже не видно — внутри здания.
Немного изучив вопрос я пришёл к выводу, что ошибочные координаты пикапа неслучайны — если бы в третьем ряду должно было бы быть три пикапа — третий располагался бы именно там, куда по ошибке и расположили снайперскую винтовку. Но, как мы уже знаем, три ряда в данном случае недопустимы, и исходя из логики расположения пикапов (змейка из рядов по 2 пикапа в каждом) можно безошибочно определить, что пикапу снайперской винтовки место в следующем ряду сразу после пикапа тяжелого оружия.
Поняв вышеизложенное и определив все необходимые координаты оставалось лишь реализовать исправление на практике, и изобретать велосипед здесь не пришлось: ещё в 2017 году spaceeinstein делал скрипт, который находит пикап одежды кубинцев по координатам в памяти и при необходимости перемещает его на корректные координаты, записывая в память новые значения. Опубликованный spaceeinstein'ом исходный код скрипта оказался весьма кстати: всё, что мне оставалось сделать — вписать корректные для пикапа снайперской винтовки координаты, немного изменить метод определения типа пикапа и добавить поддержку разных версий игры. Хочу выразить огромную благодарность spaceeinstein'у как за сам скрипт, так и за опубликованный исходный код — это исправление стало возможным во многом благодаря именно ему.
Особенности исправления:
- Никакие пикапы не удаляются и не создаются — скрипт лишь перемещает пикап снайперской винтовки при условии, что он уже создан игрой;
- В координатах пикапов металлодетектора отчётливо проглядывается арифметическая последовательность, так что пикап снайперской винтовки переносится не "на глаз", а ровно туда, где ему и место;
Обновление:
- Добавлена поддержка разных версий игры (проверено на версиях 1.0 и 1.1, также присутствует поддержка Steam версии, но работоспособность не проверена и не гарантирована).
Установка: перенесите файл sniperpickupfix.cs в папку CLEO в папке с вашей игрой (требуется установленный CLEO, естественно).
На этом всё, всем приятной игры!