1727

Сказ о том, почему LelResetFeg со спидраном не свезло

3 дня назад во время прохождения GTA: San Andreas на скорость товарищу LelResetFeg на голову упал вертолёт. Некоторые игроки начали подозревать стримера в нечестной игре, но если подумать, то ситуация выглядит слишком глупо
Если вы ранее играли в GTA: SA, то вполне возможно, что подобное с вами уже случалось: совершенно рандомная последовательность клавиш приводила к активации какого-нибудь чита.
В этом посте мы разберёмся, что же приводит к такому поведению игры

Дальше будет много технических подробностей, а сочетания, которые мог случайно прожать стример, будут в конце

Для начала, нужно понять, как игра хранит список чит кодов.
Этот вопрос решается простым гуглением:

GTAG Modding:
San Andreas stores the last 29 characters typed on the keyboard, hashes the resulting string and compares it with the hashes of the cheats. Because the cheats are stored in hash form, it is much harder to figure out what they are. Most cheats have more than one code due to hash collisions and the intended cheat phrases for many took a long time to find.
...
Cheats have a minimum length of 6 characters and are stored all in upper-case.


Отлично, теперь мы знаем следующее:

- Чит коды хранятся в виде хешей
- Хеш-функция достаточно слабая (много коллизий)
- Длина чит кода может быть от 6 до 29 символов

- При вводе символы сохраняются в верхнем регистре (это важно, поскольку хеш-функция учитывает регистр)
Для вашего понимания (определения неполные и значительно упрощены):
Хеш-функция - это такая штука, которая может преобразовать набор входных данных в набор выходных данных, но уже определённой длинны (который будет называться хешем).

Пример: Вы можете хешировать «Войну и мир» Л. Н. Толстого и на выходе получить строку вроде "73279c854ad356869d3f59150ebc964d53269aed" (хеш по алгоритму SHA-1). Затем, если вам скинут архив с кучей книг и рандомными названиями, то найти среди них нужное издание книги вы сможете просчитав хеши всех книг, и найдя среди них книгу с хешем "73279c854ad356869d3f59150ebc964d53269aed" (не читая ни названий, ни содержания).
Вероятность того, что хеш SHA-1 совпадёт с хешем другой книги - крайне мала.

Коллизии - те самые случаи, когда хеши разных входных данных совпадают. Вероятность появления коллизий зависит от длины хеша и особенностей конкретной хеш-функции (алгоритма).

Итак, что мы можем сделать дальше?
Поверим англоязычным товарищам на слово и будем считать, что хеш-функция действительно слабая.
Для этого есть некоторые предпосылки, например, оптимизация: во времена разработки GTA: SA (напомню, игра вышла в конце 2004 года) трата кучи ресурсов компьютера на просчёт хеша последних введённых символов на клавиатуре была бы... не лучшим вложением.

Наша задача - найти как можно больше коллизий для чит кода OHDUDE (спавн вертолёта Hunter), для её упрощения (и ускорения расчётов) мы ограничимся набором символов "WASD"

Проблема: не понятно, какую хеш-функцию использует игра. По этому поводу информации практически не найти, поэтому рассмотрим, какие кусочки информации есть на форумах:

Есть хеши чит-кодов:

Сказ о том, почему LelResetFeg со спидраном не свезло GTA: San Andreas, Программирование, Читы, Реверс-Инжиниринг, Видео, Длиннопост

Каждый хеш длиной в 4 байта, с такой длиной куча коллизий - не сюрприз.
Запомним хеш нужного нам чита - 0xE958788A
На ум сразу приходит CRC32 (32=8*4 - от количества бит в хеше), вот только не понятно, какая его разновидность используется в игре.

Не будем ломать себе мозг и воспользуемся калькулятором.
Вводим OHDUDE, и... ничего похожего здесь нет:

Сказ о том, почему LelResetFeg со спидраном не свезло GTA: San Andreas, Программирование, Читы, Реверс-Инжиниринг, Видео, Длиннопост

На этом этапе я провёл достаточно много времени, обнаружил на форумах утверждение, что в игре используется CRC-32/JAMCRC. Также было упоминание о расчётах CRC-32 в исходных кодах инструмента для изменения игровых файлов, но результаты никак не сходились.
До тех пор, пока до меня не дошло, что гораздо удобнее хранить историю нажатых клавиш в перевёрнутом виде. Посмотрим:

Сказ о том, почему LelResetFeg со спидраном не свезло GTA: San Andreas, Программирование, Читы, Реверс-Инжиниринг, Видео, Длиннопост

Ха, вот оно как!
Значит, осталось перебрать все возможные последовательности нажатия кнопок W, A, S и D, хеш CRC-32/JAMCRC которых будет равен 0xE958788A.

Конечно, делать это мы будем не ручками, а при помощи небольшой программы.
В ней нет почти ничего интересного, суть сводится вот к чему:
- Получаем на вход ожидаемый чит код
- Считаем его хеш
- Перебираем все возможные сочетания WASD (длиной до 17 символов, но это можно изменить)
- Выплёвываем все совпадения, предварительно перевернув строку задом наперёд
Самые любопытные могут почитать исходный код. (Писалось под Linux/g++, заводилось на WSL)

Итак, после перебора 17 179 869 100 возможных сочетаний мы получаем следующий список:

1. DASD AWAA WSSW WAW
2. AWDD WAAD SAAA WASS S
3. SWSW SWAA AWWW ASWW S
4. SSWD AWSS ADWD SSDW A
5. SDAW WDWS DDWS WSAW A
(если проверять все возможные сочетания, список будет гораздо длиннее, но перебор 288 230 376 151 711 744 сочетаний займёт... скажем, достаточно продолжительное время)


5 коллизий, и это только 4 кнопки с макс. длиной 17 символов! Время проверить:

Ни одной осечки :)
Такой вот ночной детектив.
Будете генерировать свои версии чит-кодов - кидайте в комментарии, может кому-нибудь они ещё понадобятся.

Дубликаты не найдены

+407

Честно сказать, я немного в ахуе.

раскрыть ветку 28
+101

Особой магии в исследовании нет, очень многое было известно заранее: и принцип проверки, и magic numbers, и даже конкретный алгоритм хеширования. Было бы гораздо интереснее читать детектив по распутыванию этого всего с нуля.

раскрыть ветку 23
+180
Какого хуя у вас какие-то магические кружки на аватарках?
раскрыть ветку 22
+15

Небольшой бонус: коды с префиксом Pikabu, за идею спасибо @RedAries :)
В скрины всё не влезет, поэтому оформил таблицу:
https://docs.google.com/spreadsheets/d/e/2PACX-1vRboGSD6qjfC...

Иллюстрация к комментарию
раскрыть ветку 2
+11
Иллюстрация к комментарию
0

Ты крут)

+13
Иллюстрация к комментарию
+51

Тайна века раскрыта! Теперь я понял, откуда у gta ag ru были "эксклюзивные пароли" для GTA San Andres :)


Спасибо за пост!

Иллюстрация к комментарию
+120
"Я 11 лет считаю спички у вас в коробках - их то 59, то 60, а иногда и 58. Вы там ебанутые что ли все???
раскрыть ветку 2
+44

"

раскрыть ветку 1
-1

.

+47
В чем прикол использования хеша всесто простого сравнения строк?
раскрыть ветку 46
+75

Как минимум, чтобы после релиза игры все сразу не ринулись читерить :)
Определённо, были и иные причины, но пока что больше ничего не приходит в голову

раскрыть ветку 9
+49
Иллюстрация к комментарию
ещё комментарии
0

Если эти читы зараннее предусмотрены, то никто не будет от них защищаться :)
Я более чем уверен что у них были и другие "читы для разработчиков" которые работали только в определенной конфиурации компилятора.

-3

Там же вроде как Арт-money работал еще)

-3

Что за минус за заднем плане? От Dr. Dre?

раскрыть ветку 3
+20

Чтобы ни в бинарнике игры, ни во время проверки в памяти, чит-последовательности не появлялись в открытом виде.

раскрыть ветку 6
0

Это не имеет никакого смысла. Если бы разработчики не хотели чтобы люди ими пользовались - они просто вырезали бы их. Все что спрятано всегда будет найдено.

раскрыть ветку 3
0

но хранить-то их можно и в зашифрованном виде! Зачем именно хеш?

раскрыть ветку 1
+13

Обычно используется и то и то. Т.е. сначала ищется хеш в таблице, а потом сравнивается сам набор символов. Почему тут нет второй части - хз

раскрыть ветку 3
0

Обычно - это когда? Сравнивать сперва по хешам можно только если таблица довольно большая - от 10, или даже от 100 элементов, чтобы сложность сравшения хешей O(1) была реально больше, чем перебор O(N), да и то, сперва обрабатывается входная строчка, затем ищется хеш, затем идет сравнение, так что тут O(1) + o(2) по сути

раскрыть ветку 2
+13

прикол в том что это порт игры с PS2

+4

Чтобы сделать для них хеш таблицу, например

+2

Про crc32 не совсем уверен, но при условии использования простых алгоритмов хеширования посимвольное сравнение строк будет тратить больше процессорного времени, чем вычисление хеша с последующим его сравнением

раскрыть ветку 22
+27

Так не нужно при каждом введеном символе сравнивать всю строку. Предположим у тебя есть поток символов и есть список читов: (это не полный список, но я думаю понятно, что такой метод будет работать с каким угодно длинным списком)

AEDUWNV

AEZAKMI

ANOSEONGLASS

ASNAEB

OSRBLHH

OUIQDMW

PROFESSIONALKILLER

PROFESSIONALSKIT

TURNDOWNTHEHEAT

TURNUPTHEHEAT

WANRLTW


На основе этого списка генерируем дерево поиска. Первый уровень дерева это первая буква последовательности, второй уровень, это вторая и так далее.


В результате чего первый уровень дерева будет выглядеть как A, O, P, T, W. Получив символ отличный от этих 5 мы его игнорируем. То есть нужно всего 5 сравнений. Получив например символ А мы перемещается на соотстветствующую ему ветвь дерева.


На этой ветви ожидаемый следующий символ будет E, N, S. Три сравнения. Если введенный входит в список, то продвигаемся дальше по дереву, до тех пор пока не дойдем до вызова функции. Если же хотя бы на оном этапе мы получаем символ не входящий в ожидаемую последовательность, то возвращаемся к началу дерева.


Все. При каждом введенном символе вовсе не нужно сравнивать строку полностью. Проверяется только следующий символ последовательности. По количеству операций это в разы быстрее, чем считать хеш строки.

раскрыть ветку 21
+10

К слову, если буквы WASD продублированны стрелками в настройках, то при вводе читов можно нажимать стрелки вместо соответствующих букв

раскрыть ветку 2
+24

вуаля, мы пришли к пониманию записи чит-кодов для GTA:SA на PS2

раскрыть ветку 1
0

по крайней мере у меня прокатывало

+39
Не... Я все понимаю: Спидран- это, фактически, секта сверхлюдей: запоминать тысячи комбинаций клавиш и ситуаций, поиск и практическое использование багов, гличей и прочих ошибок игры и ее движка. Это тысячи и тысячи часов геймплея, сотни и сотни часов тренировок чтобы быстро и в нужный момент, прыгнуть с разбега, но на пару сантиметров выше именно в этом углу комнаты для того, чтобы на 3 секунды быстрее достичь другого угла этой же комнаты и сэкономить время! Спидранранером может быть каждый? Нет! Спидран- это удел избранных, удоль сверхлюдей, потому что Спидран граничит с безумием настолько, насколько это вообще возможно, потому что Спидран- это и есть безумие!
Но это то... Пост о безумцах! Что это? Научный интерес? Оправдание? Постановление диагноза? Или очередной вид безумия?
Иллюстрация к комментарию
раскрыть ветку 4
+23

Я недавно в рекомендациях попал на стрим спидранера по халве первой, оказывается есть сайт где игроки со всего мира дрочат на наносекунды прохождения.

раскрыть ветку 2
+13

Вот этот сайт: https://www.speedrun.com/

Я даже пытался поставить рекорд, но стало лень на 10 день прохождения

+5

Аве Аллан

+5
Тот же спорт высоких достижений.
+8

Я думал пост будет о баге (или хз что это), когда в игрока ВРЕЗАЕТСЯ вертолёт, упав на него с неба

раскрыть ветку 5
+8

Иногда над тобой пролетают самолёты, что бы мир живее казался. В некоторых местах они могут сравниться таким образом, что врезаются в окружение, и падают вниз, если "повезёт" - на тебя.

Ну, такова моя догадка, основываясь на единственном случае, когда такое случилось со мной, так как это было у подножия горы.

раскрыть ветку 3
0

Как раз неподалёку от высоких препятствий это и происходит. У меня часто было и в районе горы, и в центре Лос-Сантоса.

0

Помню бежал марафон в Сан-Фиерро, где как раз финиш на горе у телестанции. Оставалось чуть-чуть добежать и тут бац - с неба падает истребитель и взрывает меня к чертям собачьим. Ухх, как я был зол тогда...

0

Я когда проходил, то у меня был один сейв. Что когда загражешься с него, выходишь из дому, бежишь к дороге, то там падает самолёт и если успеть в него залезть и ввести кажется hesoyam то у тебя будет крутой самолёт)

+2
Я вообще с первых строк подумал, что на дом бедняги настоящий вертолёт упал, пока он спокойно себе играл в своей комнате.
+21
Иллюстрация к комментарию
раскрыть ветку 7
+18

Человек однозначно хорошо запарился.

раскрыть ветку 2
+8

У тебя высвечивается где-то, когда эту картинку простят?

+1
Очень даже хорошо
+5

На левой половинке картинки черт улетает на вертолете

раскрыть ветку 2
+3
Иллюстрация к комментарию
+1

скорее

Иллюстрация к комментарию
0

Первое, о чем подумал прочитав пост)

+34

я нихуя не понял, но почему то слегка охуел

раскрыть ветку 7
+109

Стример проходил игру на время и вдруг вызвал чит кодом вертолёт.
Код на вертолёт вводится словом "OhDude" в игре.
Стример в теории не мог вызвать вертолёт управляя машиной с клавиш WASD. И зрители решили, что у стримера игра подкручена и модифицирована.

Автор поста покопался в принципах игры и выяснил, что определенное нажатие клавиш WASD игра воспринимает, как нажатие клавиш "OhDude".

В итоге - стример молодец и не зашкварился, просто невероятно совпадение привело к тому, что он вызвал вертолет нажатием клавиш WASD

Автор поста сделал интересный анализ ситуации.

раскрыть ветку 6
+19
Только сколько зрителей стример потеряет теперь, так как народ не поверит/не будет даже слушать.
раскрыть ветку 2
+1
Кажется вы работаете преподавателем или на другой ораторско-аналитической должности. Отлично обьяснили все поостыми словами
раскрыть ветку 1
0
Это то я понял, я не понял почему так
+6

Вау. Эльфийская магия, однако.

+15
- Парни, нам нужно чем-то считать хеш читов.
- А давайте CRC32 считать?
- Но.. это же не криптографический алгоритм, это помехоустойчивых циклический код, он обратим во все возможные удовлетворяющие данному полному информационные слова, а над его устойчивостью к коллизиям даже героиновые наркоманы не задумывались..
- прикольно, пусть будет фичей. А этого умника увольте.
раскрыть ветку 1
0

это сраные читы, какая криптография DansGame

+9
во времена разработки GTA: SA (напомню, игра вышла в конце 2004 года) трата кучи ресурсов компьютера на просчёт хеша последних введённых символов на клавиатуре была бы... не лучшим вложением.

Что за долбанное извращение со стороны разрабов?

Игра на каждое нажатие клавиши считает кучу хешей?

Почему было не сделать, как у адекватных людей ввод читов в вызываемое окно консоли... или хотябы не сделать все читы фиксированной длинны - и считать на каждом шаге 1 хеш вместо нескольких десятков?

раскрыть ветку 3
+2

Думаю ответ кроется в том, что Сан Андреас это порт с консолей. Ну или где то рядом он кроется

раскрыть ветку 2
-4

И при этом в гта 4 и 5 они внезапно поняли что можно добавить мобильный телефон и в нем вводить чит коды.

раскрыть ветку 1
+9

Я надеюсь это видео стримеру в личку ушло?

+12
Иллюстрация к комментарию
+6

Хорошая работа. Наверное, и пробел стоило бы добавить к перебираемым клавишам, ведь как не попрыгать в SA, когда бежишь кошмарить Балласов.

раскрыть ветку 5
+4
Стример же на тачке ехал в этот момент.
раскрыть ветку 4
+3

Если не ошибаюсь, то на тачке пробел работал как ручной тормоз.

А про пробел я написал, т.к. самыми частонажимаемыми клавишами в этой игре - были WASD и пробел.

раскрыть ветку 1
+2
Ручной тормоз был на пробел в тачке. Тоже мог использоваться.
раскрыть ветку 1
+3
Нигде не написано: мировой рекорд который был сделан 2 года назад, GTA San Andreas пройдена за 6:12:14 человеком под ником Joshimuz
+3

У меня была подобная ситуация при прохождении GTA:SA. Проходя одну из миссий в ЛС случайно активировался чит-код. Я немного в ахуе пошел листать интернет и нихуя не нашел по этому поводу. Игру пришлось проходить заново, потому что даже не сохраняя игру, невозможно ее пройти на 100% после использования чит-кода.

раскрыть ветку 1
+2

Я так раз вызвал танк, знатно ахерел. В тот момент ждал в кустах когда пропадёт звёздочка от копов и от скуки жал просто так wasd и, может, ещё пару кнопок

+3

Как я понял, игра проверяет сразу несколько суффиксов из последних 29 символов. Что будет, если два суффикса одновременно будут являться разными чит-кодами?

Например, "ABACABA" - чит-код на вертолёт, "DABACABA" - чит-код на самолёт. Что сработает, если написать второй чит-код?

раскрыть ветку 7
+8
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку 3
+5

Веселее было bangbangbang. Выходишь в меню, вводишь пока руки не устанут и возвращаешься в игру. Весь транспорт улетал в небеса.

0

В вайссити уже было пофикшено, там срабатывало уже только тройное написание(bang или boom не помню уже), так что сработает только 1 чит, скорее всего самый короткий

раскрыть ветку 1
+1
Проблема решается неповторяющимися паролями и/или сбросом стека последних введенных символов после принятия пароля
раскрыть ветку 2
+2

Неповторяющиеся пароли сделать не получится. Как выяснилось, уже при длине 17 есть несколько коллизий. Я уверен, что при длине 29 с высокой вероятностью существует строка с нужных хешем и с любым суффиксом, в том числе с существующим чит-кодом.

Поэтому описанная мной ситуация возможна, если, естественно, не делать сброс стека.

раскрыть ветку 1
+4

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

+2

Пошел скачивать игру

+2

Пикабу познавательный. Спасиб =)

Ваще, конечно, огонь инфа ) 


Кстати, а в МК такое возможно? А то я случайно бабалити сделал методом "face-roll"-а . Это совпадение или особеность механики? =)

раскрыть ветку 1
0

в МК еще и тайминг надо соблюдать на добиваниях, плюс то же бруталити в мк3 обрывается, если в процессе нажать не ту кнопку

+3

Так это что получается, все эти наши зазубренные хесоямы, багувиксы, аезакми и прочие наборы букв - это просто фразы, у которых хэш совпал с хэшем задуманных разработчиками нормальных, понятных человеку читов?

Не скажу за всю Одессу, но мою личную яхту вы раскачали неслабо. Спасибо)

+3

Я не программист, но даже я охуел!

+3

А как игра выцепляет код из этих 29 символов?

Допустим я побегал - WASDAWASDWAWDDW и потом решил ввести OHDUDE, вместе это всё даёт мешанину вида WASDAWASDWAWDDWOHDUDE, игра генерирует 29 вариантов хэша? Или как она выцепляет код?

раскрыть ветку 5
+9

UPD

поправлю себя. Прочитал комменты ниже  #comment_123750850 - здесь рассказывается немного больше о том как игра проверяет чит-коды.

Когда ты вводишь WASD, то игра считает хэши сначала от D, потом от DS, потом от DSA и потом от DSAW.

Для комбинации WASDAWASDWAWDDWOHDUDE она будет считать хэш для всех последовательностей начиная с последнего символа и дальше справа налево, с каждым шагом увеличивая длину последовательности, пока "код" не будет равен 29 символам либо пока рассчитанный хэш для текущей проверяемой последовательности не совпадёт с хэшем чит-кода, что записан в таблице. То есть сначала хэш от E, потом от ED, потом от EDU и т.д.

0

24 варианта после каждой введённой буквы (длина кода от 6 до 29 символов)

0
Он же писал что берет с конца, к примеру в вашем случае берет 6 последних - EDUDHO и считает по формуле
раскрыть ветку 1
+1

Но коды разные бывают, какие-то вводятся за 17 символов, какие-то за 6. HESOYAM, ASNAEB - у них разная длина, и игра не знает, сколько символов занимает код, ведь хранит только хэш. Получается игра перебирает 23 варианта хэшей, от 6 до 29 символов?

-1
вида WASDAWASDWAWDDWOHDUDE, игра генерирует 29 вариантов хэша?

Да. Только здесь 21 символ.

Вводишь W - считает хэш от W ищет его в таблицах,

если после вводишь A - считает хэш от WA и ищет его,

потом вводишь S - считает от WAS и ищет его

и так далее, пока последовательность не прервётся: стоп символом, или будет достигнута максимальная длина последовательности, или каким-то действием, или может быть время тоже учитывается.

+3
Иллюстрация к комментарию
+1
Автор, перевести Вам статью на англо-саксонский? Если интересует, дайте знать под этим комментарием, а там организуем контакт. Успехов!
+1

Снимаю шляпу. Это просто охуенно. Я прям аж какой-то микрооргазм от этого всего испытал. Как будто прочитал какой-то хороший детектив) Мог бы тысячу плюсцов поставить — поставил бы)

0

Каков шанс ввести чит код WASD не зная комбинации? Я как то случайно ввел один такой, когда проходил миссию Торено на бигфуте. Гоняя по трассе я тыкал постоянно WASD и ввел какой то пароль... Удивился я тогда не меньше того чела

0
Охуенно и интересно, спасибо.
0

Вот уж точно - собрали из букв Ж, О, П и А слово "вечность"...


А с другой стороны коллизии сработали не как баг а как фича, надо запомнить идею.

0

Когда-то, лет 14 назад, я хотел пройти Vice City на 100%. Про факторы, которые влияют на 100% я уже знал, ровно как и про читы. Хотя, до интернетов было ещё как до луны. Сколько у мамы на работе не искал, всё равно находил, простите, порнуху... а хотелось иного.

Каково же было моё удивление, когда я посмотрел статистику (где-то в середине прохождения) и увидел отрицательный рейтинг, дескать, что-то начитерил... Хотя, все читы уже знал наизусть и специально сохранялся перед каждой миссией, дабы не потерять прогресс. Видимо, что-то так же ввёл случайно, а потом сохранился.

Спасибо автору за то, что внёс пояснения не только в актуальный вопрос, но ещё и в тот 12-летней давности.

0

Жёстко.

0

Вы бы стримеру пошарили видео своё) А то его гнобят теперь все. Ну и статью хотя бы через гугл-транслейт.

0
Я чёртов задрот. После фразы "Вероятность того, что хеш SHA-1 совпадёт с хешем другой книги - крайне мала." у меня в голове тут же прозвучало "иммолейт импрувед".
0

Надеюсь, сам спидранер это знает и сможет убедить заинтересованных людей в своей честности.

0

Ну спасибо, опять перепроходить олдскул (ушел устанавливать gta sa)

0

Интересно взлетит ли мой отчет о "взломе" рар архива через тот же CRC32?

0
Нихуя не понимаю, но было интересно почитать, спасибо!
0

Помнится, в Сан-Фиерро постоянно падал скриптовый самолет, думала, под него парень попал, а тут эва вона оно чо!

0

Программисты - сверхлюди 0_о

ещё комментарии
0

Вот это расследование...

0

А для чего эти читы вообще делаются, что бы разработчикам было удобнее тестировать игру? Или все таки для определенной категории игроков?

Я понял, хеши хранятся в игровом клиенте, что бы игроки не смогли найти чит в виде строки, если будут декомпилировать код/игровые ресурсы.

Я вот сам разработчик, сделал для тестирования чит просто из комбинации клавишь. А теперь вот думаю, надо наверное хеш считать. Кстати, если сделать сначала входную комбинацию нажатий, а хеш считать только после неё, то можно избежать коллизий и использовать более серьезное хеширование.

раскрыть ветку 30
+5
Ну, изначально их сделали для тестов и отладки, для поиска багов итд
Какой-то игрок случайно обнаружил это дело
И понеслась
На юютубе есть серия видосов на тему истории гейминга в целом, и там об этом более плотно рассказано
Могу сскинуть ссылку, если надо
раскрыть ветку 5
0

Надо.

раскрыть ветку 4
+6

это наследие консольного гейминга, там чит коды это как новый режим игры для развлечения

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

раскрыть ветку 22
+10

Вообще-то читы нужны для тестирования. Тот же чит на выбор уровня был нужен чтобы не ебаться со всей игрой, а отлаживать только нужный уровень.

Сейчас читы просто дань прошлому.

раскрыть ветку 13
+4
Может, это для тестеров? Они в консоли не сильны
раскрыть ветку 2
0

Да, в GTA V например читы можно открывать прямо в игре. Я уже не помню условие для этого. Правда если хоть один используешь, то игру на 100% пройти не сможешь.

раскрыть ветку 1
0

Если это просто режим игры, то зачем прятать читы в хешах?

раскрыть ветку 2
0
На счёт СА не скажу ничего, но давеча я купил в ГОГ пятых героев, и там в руководстве к редактору уровней, лежит также глава про чит коды (может оно везде есть, но я в детстве пиратил героев).

Мое предположение, что вот для героев, создателю уровня, возможно потребуется тестировать разные штуки на своей карте, типо условий перехода через границу и т.д.

Иными словами, читы оставляют для игроков, но не всегда в целях фана.
-2
Тяжеловато для прочтения без понимания(
раскрыть ветку 1
+5

Стример проходил игру на время и вдруг вызвал чит кодом вертолёт.

Код на вертолёт вводится словом "OhDude" в игре.

Стример в теории не мог вызвать вертолёт управляя машиной с клавиш WASD. И зрители решили, что у стримера игра подкручена и модифицирована.


Автор поста покопался в принципах игры и выяснил, что определенное нажатие клавиш WASD игра воспринимает, как нажатие клавиш "OhDude".


В итоге - стример молодец и не зашкварился, просто невероятно совпадение привело к тому, что он вызвал вертолет нажатием клавиш WASD


Автор поста сделал интересный анализ ситуации.

-10
Охуеть..чел да тебе время девать некуда))
-20

Можно как угодно оправдывать чувака, который случайно нажал случайную комбинацию случайных клавиш, но пусть покажет мне свою клавиатуру. Если она поддерживает макросы, пусть оправдывается как хочет.

раскрыть ветку 2
+9

Нахуя в спидране чит на вертолет?

ещё комментарии
-30
Cheats have a minimum length of 6 characters and are stored all in upper-case.
Отлично, теперь мы знаем следующее:

- Длина чит кода может быть от 6 до 29 символов


Если перевести выделенное, получим - "Читы имеют минимальную длину из шести символов, и все хранятся в прописных (больших символах)"...


А у вас, простите, как написано?


- Длина чит кода может быть от 6 до 29 символов

- вы уж либо крестик снимите, либо трусы оденьте.  А переводить - надо всё-таки правильно...

раскрыть ветку 10
+14

Уфф, это ведь не дословный перевод, а просто выводы из конкретных цитат.


Cheats have a minimum length of 6 characters
+
San Andreas stores the last 29 characters typed on the keyboard
Вывод: от 6 до 29 символов.

То, что они хранятся в прописных символах - признаю, важный нюанс с точки зрения кода, но в посте я его решил опустить. Тут вы правы, это стоит дописать

ещё комментарии
0

Ты сам написал МИНИМАЛЬНУЮ, ты блять знаешь, что такое МИНИМАЛЬНОЕ и чем оно отличается от максимального?

ещё комментарии
Похожие посты
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: