Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

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

Программирование
Никита Д.
  · 19,3 K
программист, тренер  · 18 июн 2020

Зависит от того, что считать читом.

Если чит - это случайная уязвимость в программе, то её никак не создают. Она появляется сама, из-за недосмотра в логике, или ошибки в коде. Пример с зельями в Морровинде уже приводили.

Но чаще чит-коды оставляют специально и используют для отладки и нахождения ошибок. Например, есть торговец, товар которого генерируется случайным образом, и есть сообщение об ошибке от пользователя: когда я покупаю у торговца супер-меч за 100500 монет, деньги списываются, а в инвентаре появляется обычный меч. Чтобы этот баг проверить, тестировщик должен:

  1. переместиться к этому торговцу
  2. дождаться появления меча в списке обновляемых раз в игровой день товаров
  3. где-то взять 100500 монет
  4. собственно, осуществить покупку и проверить ошибку

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

Поэтому в игру добавляют специальные управляющие команды, чтобы можно было быстро добавить себе соответствие начальным условиям. Иногда это просто сочетания клавиш вида "если игрок нажал Shift+Y то дать ему +100 монет", но в современных играх таких команд может быть много, поэтому, обычно, на горячей клавише висит вызов специального поля ввода (отладочной консоли) в которую уже можно вводить конкретные команды. Например, первые 3 пункта из условий выше могут трансформироваться в команды вида:

  1. move player to npc123 (где move - команда на перемещение, player - мы, игрок, а npc123 - внутренний идентификатор торговца)
  2. add superSword to npc123 (добавляем superSword в инвентарь торговца, чтобы не крутиться вокруг него неделю в ожидании рандома)
  3. add gold 100500 to player (и так, думаю, понятно, добавляем себе денег на покупку меча)

По сути, такие команды - это обычные текстовые строки, начинающиеся с команды (move, add и т.д.). Если команд очень много и они очень сложные, то без знания теории построения синтаксических анализаторов не обойтись, но в большинстве случаев вполне достаточно обычного разбора строки по заранее известному шаблону. Например, если пользователь ввёл в консоль строку, начинающуюся с move, то всё, что между move и to - это идентификатор объекта, который надо переместить, а после to - либо координаты, либо идентификатор объекта, к которому надо переместиться.

работаю программистом, по образованию информатик с матмеха и переводчик с английского...  · 9 янв 2020
Читы бывают трёх видов: 1. просто неочевидные для других игроков действия, но вполне в рамках механики игры - например в Morrowind можно пить эликсир удачи и создавать больше улучшенных эликсиров удачи пока он действует, таким образом накопить много высокоэффективных эликсиров удачи. Неизвестно задумывались ли разработчики об этом при разработке, но в целом всё честно... Читать далее
3 эксперта согласны

Не понял как создают.

Первый

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