категории | RSS

Компьютер умеет считать быстрее любого человека, но иногда спотыкается там, где справится и первоклассник. Ноль минус один в его исполнении легко превращается в четыре с лишним миллиарда. В постапокалиптической Пустоши такая арифметика означает одно: внезапно ты самый обеспеченный медик Содружества.

Именно это случилось с одним из игроков Fallout 4. Заглянув в инвентарь, он обнаружил там 4 294 967 295 стимуляторов, хотя модов не ставил и такого количества никогда не собирал.

Странное число объясняется просто, ведь это 2³² – 1, максимальное значение беззнаковой 32-битной переменной. Счётчик предметов не умеет хранить отрицательные значения. Если код из-за ошибки вычитает единицу из нуля, переменная "проворачивается" к своему максимуму. В комментариях привели наглядное сравнение:

Представьте старый механический одометр с барабанами. Если на отметке 000000 заставить его крутиться назад, он мгновенно покажет 999999.

Оставался вопрос, как вообще можно потратить стимулятор, которого нет. Ответ нашёлся почти наугад: у героя была силовая броня с модификацией, которая автоматически вкалывает стимулятор при низком здоровье. Судя по всему, последний шприц в один и тот же кадр использовали и броня, и сам игрок, а проверку на ноль код не выполнил. Вишенкой на торте стало разочарование: инвентарь на деле оказался пуст, так что баг был чисто визуальным, и продать миллиарды стимуляторов за крышки не получилось.

Подобные ошибки для серии почти родные. Спидраннеры Fallout 4 давно используют похожий трюк с переполнением, только намеренно:

надевают стопку одинаковых предметов брони с бонусом к переносимому весу

переименовывают их на верстаке, чтобы стопка распалась

снимают предметы по одному, и бонус вычитается несколько раз, уводя значение в минус

Кто-то по случаю вспомнил легенду о "ядерном Ганди" из Civilization, который будто бы из-за такого же переполнения превращался из пацифиста в поджигателя войны. Красивая история, но Сид Мейер и Брайан Рейнольдс её давным-давно опровергли: в оригинальной игре подобного бага не было.

Броня спасала героя автоматически, а убить попыталась его же собственная бухгалтерия.



Источник новости: shazoo.ru

Bot
2026-10-18T17:43:02Z

Здесь находятся
всего 0. За сутки здесь было 0 человек