Corrección del pickup de francotirador
-
21 agosto 2025ispravlenie-pikapa-snajjperskojj_1755784137_864352.zip
Al recoger mi arma en el detector de metales en el club de golf, muchos se habrán preguntado: ¿dónde demonios está mi rifle de francotirador? Muchos pensaban que el detector de metales simplemente no podía devolvernos este tipo de arma, pero no es así: el pickup del rifle se crea, pero allí, donde no solo no podemos obtenerlo, sino que ni siquiera es visible: dentro del edificio.
Después de investigar un poco, llegué a la conclusión de que las coordenadas erróneas del pickup no son casuales: si en la tercera fila debería haber tres pickups, el tercero estaría justo donde erróneamente se colocó el rifle de francotirador. Pero, como ya sabemos, tres filas en este caso son inaceptables, y basándonos en la lógica de la disposición de los pickups (una serpiente de filas con 2 pickups en cada una) se puede determinar sin error que el pickup del rifle de francotirador debe estar en la siguiente fila justo después del pickup de armas pesadas.
Entendiendo lo anterior y determinando todas las coordenadas necesarias, solo quedaba implementar la corrección en la práctica, y no fue necesario reinventar la rueda: ya en 2017, spaceeinstein hizo un scriptque encuentra el pickup de ropa de cubanos por coordenadas en la memoria y, si es necesario, lo mueve a las coordenadas correctas, escribiendo nuevos valores en la memoria. El código fuente del script publicado por spaceeinstein resultó ser muy útil: todo lo que tenía que hacer era escribir las coordenadas correctas para el pickup del rifle de francotirador, cambiar un poco el método de determinación del tipo de pickup y agregar soporte para diferentes versiones del juego. Quiero expresar un enorme agradecimiento a spaceeinstein tanto por el script como por el código fuente publicado: esta corrección fue posible en gran medida gracias a él.
Características de la corrección:
- No se eliminan ni se crean pickups: el script solo mueve el pickup del rifle de francotirador siempre que ya haya sido creado por el juego;
- En las coordenadas de los pickups del detector de metales se puede ver claramente una secuencia aritmética, por lo que el pickup del rifle de francotirador se traslada no "a ojo", sino exactamente donde le corresponde;
Actualización:
- Se agregó soporte para diferentes versiones del juego (verificado en versiones 1.0 y 1.1, también hay soporte para la versión de Steam, pero su funcionalidad no ha sido verificada y no está garantizada).
Instalación: mueva el archivo sniperpickupfix.cs a la carpeta CLEO en la carpeta de su juego (se requiere tener CLEO instalado, por supuesto).
Eso es todo, ¡que disfruten del juego!
Собирая своё оружие у металлодетектора в гольф клубе думаю многие задавались вопросом — куда, чёрт возьми, подевалась моя снайперская винтовка? Многим казалось, что металлодетектор просто не способен вернуть нам этот тип оружия, но это не так: пикап винтовки создаётся, но там, откуда нам его не то, что не достать, а даже не видно — внутри здания.
Немного изучив вопрос я пришёл к выводу, что ошибочные координаты пикапа неслучайны — если бы в третьем ряду должно было бы быть три пикапа — третий располагался бы именно там, куда по ошибке и расположили снайперскую винтовку. Но, как мы уже знаем, три ряда в данном случае недопустимы, и исходя из логики расположения пикапов (змейка из рядов по 2 пикапа в каждом) можно безошибочно определить, что пикапу снайперской винтовки место в следующем ряду сразу после пикапа тяжелого оружия.
Поняв вышеизложенное и определив все необходимые координаты оставалось лишь реализовать исправление на практике, и изобретать велосипед здесь не пришлось: ещё в 2017 году spaceeinstein делал скрипт, который находит пикап одежды кубинцев по координатам в памяти и при необходимости перемещает его на корректные координаты, записывая в память новые значения. Опубликованный spaceeinstein'ом исходный код скрипта оказался весьма кстати: всё, что мне оставалось сделать — вписать корректные для пикапа снайперской винтовки координаты, немного изменить метод определения типа пикапа и добавить поддержку разных версий игры. Хочу выразить огромную благодарность spaceeinstein'у как за сам скрипт, так и за опубликованный исходный код — это исправление стало возможным во многом благодаря именно ему.
Особенности исправления:
- Никакие пикапы не удаляются и не создаются — скрипт лишь перемещает пикап снайперской винтовки при условии, что он уже создан игрой;
- В координатах пикапов металлодетектора отчётливо проглядывается арифметическая последовательность, так что пикап снайперской винтовки переносится не "на глаз", а ровно туда, где ему и место;
Обновление:
- Добавлена поддержка разных версий игры (проверено на версиях 1.0 и 1.1, также присутствует поддержка Steam версии, но работоспособность не проверена и не гарантирована).
Установка: перенесите файл sniperpickupfix.cs в папку CLEO в папке с вашей игрой (требуется установленный CLEO, естественно).
На этом всё, всем приятной игры!