[b][color=#FF0000]Обратите внимание!
[size=150]Нафига и кому вся эта фигня нужна?!!
В общем, для тех, кто не в теме или только начинает изучать тайны движка Grand Theft Auto III/Vice City/San Andreas/Criminal Russia, вопрос вполне логичный. На самом же деле, данные ниже — бесценный клад, который ищет каждый читер, каждый модмейкер, вообще любой человек, хоть раз пытавшийся [s]убийца игр разобрать Криминалку и Сан Андреас на запчасти. Если ближе к делу, то здесь мы указали, что, где, когда, в каком типе данных и зачем хранит Grand Theft Auto: Криминальная Россия, Russian Theft Auto (да, да, RTA тоже здесь, не удивляйтесь) и Grand Theft Auto: San Andreas. Ну а ещё короче:[s]уничтожить
[b]Нафига это читеру? Достаточно лишь подменить значения и вауля! Игра пройдена на 100%, у нас 6 звёзд, миниган с бесконечными патронами и перед мордой неубиваемая, как и мы, крутая тачка! Весело? Конечно же да![s]Отключение электричества.
[b]Нафига это модмейкеру? святые адреса GTAURM! А если мы хотим сделать свой мультиплеер, естественно, необходима синхронизация с процессом GTA/RTA. Ну и для отладки (проверки модов) тоже может пригодиться. Например, в час ночи Останкинская телебашня должна взорваться к чёрту, а сейчас 2:03. Ждать долго, согласны? Берём и изменяем значение 0xB70153 с 2 на 0, а у 0xB70152 с 3 на 58. Вауля! Ждём 10 секунд и Останкино разрывает в клочья. Ну или всю игру (вылет) [s]тупые
[size=150]Неужели всё это нужно выучить?
Вы с ума сошли или как? Если мазохист — учите. Весь список ниже — справочный материал, к которому необходимо время от времени обращаться, но никак не зубрить наизусть. Хотя, запомнить основные адреса памяти игрули (деньги, розыск, время, XYZ и RotXYZ игрока) не помешало бы.
[size=150]Ну и как мне базарить по этим адресам?
У программы Cheat Engine есть возможность «пообщаться» с адресами памяти незащищённого процесса. Полюбуйтесь сами:[s]избавиться от
[attachment=0]CE.png
А на очень интересном и уникальном в своём роде языке программирования C++ (это уже посерьёзнее, чем читануть через CE, согласитесь) считать данные можно одной волшебной функцией из банального WINAPI (или stdio/stdlib, точно, извините, не помню):[s]идиотском
[code]BOOL ReadProcessMemory(
HANDLE hProcess,
LPCVOID lpBaseAddress,
LPVOID lpBuffer,
SIZE_T nSize,
SIZE_T* lpNumberOfBytesRead
);
И записать что-нибудь туда нужные нам данные:[s]какое-нибудь говно
[code]BOOL WriteProcessMemory(
HANDLE hProcess,
LPVOID lpBaseAddress,
LPCVOID lpBuffer,
SIZE_T nSize,
SIZE_T* lpNumberOfBytesWritten
);
Именно через неё уже можно составить части программы вроде мультиплеера.[s]кусок кода для суицидника
[size=150]Основные адреса
[list][*]0xA49D54 — [dword] Таймер для миссий с автомобилями/самолетами (в ms)
[*]0xA51974 — [dword] Таймер для миссий с лодками/мотоциклами (в ms)
[*]0xA51A3C — Таймер для гонок Bloodring
[*]0xB7CE50 — [dword] Деньги
[*]0xBAA420 — Уровень розыска
[*]0x8CDEE4 — [dword] Максимальный уровень розыска
[*]0xB79038 — [dword] Сколько дней прошло в игре
[*]0xB70153 — [byte] Текущий час
[*]0xB70152 — [byte] Текущая минута
[*]0xB7014E — [byte] Текущий день недели (1 до 7)
[*]0x8CB7A5 — [byte] Текущая радиостанция — ID
[*]0xB700F0 — [dword] Текущий автомобиль — ID (из vehicle.ide) — не для мотоциклов
[*]0x863984 — [float] Гравитация (стандартное значение — 0.008)
[*]0xB7CB84 — [dword] Глобальный таймер в ms (миллисекунды)
[*]0xB7CB64 — [float] Скорость игры в процентах
[*]0xB70158 — [dword] Таймер, привязанный к погоде и времени в ms
[*]0xB7015C — [dword] Количество миллисекунд в одной игровой секунде (по умолчанию — 1000)
[*]0xB7CEE4 — [byte/boolean] Вкл/выкл бесконечный бег
[*]0xB7CEE6 — [byte/boolean] Является ли игрок огнеупорным
[*]0x96C009 — [byte/boolean] Является ли перекраска бесплатной (pay’n’spray)
[*]0xA444A4 — [byte/boolean] Радар серый
[*]0x8D2530 — [float] Плотность движения пешеходов
[*]0x8A5B20 — [float] Плотность движения транспорта
[*]0xB6F065 — [byte/boolean] Широкий экран (вид во время катсцен в миссиях, это не опция дисплея)
[*]0xA4A948 — Очки в миссий Лоурайдер (Танцы на машинах)
[*]0xA4EC20 — Очки в мини игре танцев
[*]0xB790B8 — [byte] Число фотографий разных мест (4 bytes)
[*]0xA9AD74 — [byte] Число закрашенных граффити (4 bytes)
[*]0xB791E4 — [byte] Число найденных подков (4 bytes)
[*]0xB791EC — [byte] Число найденных ракушек(4 bytes)
[*]0x716642 — [float] Изменить тяжёлые облака (?)
[*]0x716655 — [float] Отключить тяжёлые облака (?)
[*]0xB79078 — [byte] Количество подброшенных в такси людей (число используется в статусах, 4 байта)
[*]0xA49C30 — [byte] Количество подброшенных в такси людей (число используется для выдачи наград игроку, 4 байта)
[*]0xB79040 — [byte] Количество сохранений (4 bytes)
[*]0xA49EFC — [dword] Прогресс с Denise
[*]0xA49F00 — [dword] Прогресс с Michelle
[*]0xA49F04 — [dword] Прогресс с Helen’ой
[*]0xA49F08 — [dword] Прогресс с Barbar’ой
[*]0xA49F0C — [dword] Прогресс с Katie
[*]0xA49F10 — [dword] Прогресс с Millie
[*]0xB79108 — Количество свиданий с девушками
[*]0xB79100 — Текущее количество подружек
[*]0xB79104 — Количество неудачных свиданий
[*]0xB79110 — Количество удачных свиданий
[*]0xB79060 — Найдено уникальных прыжков
[*]0xB79064 — Исполнено уникальных прыжков
[*]0xBA6774 — Цель на карте
[list][*]0 = Отключена
[*]1 = Включена
[*]0xB6F5F0 — Указатель игрока (CPed)
[*]0xB7CD98 — Указатель игрока, прямое смещение на начало пула пешеходов (педов) (CPed)
[*]0xB74498 — Наибольшее количество педов (обычно 140)
[*]0xB74490 — Содержит указатель на указатель. Этот указатель:
[list][*]+0 = Содержит указатель на первый элемент в пуле CPed
[*]+4 = Содержит указатель на карту байтов, которая обозначает, какие элементы используются в пуле CPed
[*]+8 = [dword] Максимальное число элементов в пуле CPed
[*]+12 = [dword] Текущее число элементов в пуле CPed
[*]0x86329C — список доступных имён команд (?)
[*]0xC17054 — HWND на главное окно игры
[*]0xC97C28 — IDirect3DDevice9 pointer
[*]0xB7C4D0 — [word] Цвет «ядра» солнца, R
[*]0xB7C4D2 — [word] Цвет «ядра» солнца, G
[*]0xB7C4D4 — [word] Цвет «ядра» солнца, B
[*]0xB7C4D6 — [word] Цвет солнца, R
[*]0xB7C4D8 — [word] Цвет солнца, G
[*]0xB7C4DA — [word] Цвет солнца, B
[*]0xC1CC18 — [byte] Создание эффектов света для автомобилей:
[list][*]0 = Включено
[*]1 = Отключено
[*]0xA444A0 — Включён ли HUD опкодом 0826:
[list][*]0 — выключен
[*]1 — включён
[*]0xC813E0 — [float] Скорость ветра по оси X
[*]0xC813E4 — [float] Скорость ветра по оси Y
[*]0xC813E8 — [float] Скорость ветра по оси Z
[size=150]Статистика игрока
[*]0xB793D4 — [float] Фигура
[*]0xB793D8 — [float] Выносливость
[*]0xB793DC — [float] Мышцы
[*]0xB793E0 — [float] Здоровье
[*]0xB793E4 — [float] Сексуальность
[*]0xB79496 — [float] Пистолет
[*]0xB79498 — [float] Пистолет с глушителем
[*]0xB7949C — [float] Пустынный орел
[*]0xB794A0 — [float] Дробовик
[*]0xB794A4 — [float] Обрез
[*]0xB794A8 — [float] Дробовик SPAS 12
[*]0xB794AC — [float] Пистолет-пулемет
[*]0xB794B0 — [float] SMG
[*]0xB794B4 — [float] AK47
[*]0xB794B8 — [float] M4
[size=150]Экспорт в файл статистики (stats.html)
[*]0x8663A0 — Имя файла (по умолчанию: ‘stats.html’)
[*]0x86636C — Название файла (по умолчанию: ‘
[size=150]Читы
[byte]Может быть включен (1) или выключен (0). На самом деле это boolean.
[*]0x969130 — Набор оружия 1
[*]0x969131 — Набор оружия 2
[*]0x969132 — Набор оружия 3
[*]0x969133 — Здоровье+Броня+250K
[*]0x969134 — Увеличить уровень розыска на 2 звезды
[*]0x969135 — Очистить уровень розыска
[*]0x969136 — Солнечная погода
[*]0x969137 — Очень солнечная погода
[*]0x969138 — Плохая погода
[*]0x969139 — Дождевая погода
[*]0x96913A — Туманная погода
[*]0x96913B — Часы идут быстрее
[*]0x96913C — Ускорить игровой процесс
[*]0x96913D — Замедлить игровой процесс
[*]0x96913E — Люди атакуют друг друга с клюшками для гольфа
[*]0x96913F — Have Bounty on Head
[*]0x969140 — Все вооружены
[*]0x969141 — Создать Rhino (Не работает)
[*]0x969142 — Создать Bloodring Banger (Не работает)
[*]0x969143 — Создать Rancher (Не работает)
[*]0x969144 — Создать Racecar A (Не работает)
[*]0x969145 — Создать Racecar B (Не работает)
[*]0x969146 — Создать Romero (Не работает)
[*]0x969147 — Создать Stretch (Не работает)
[*]0x96914A — Взорвать все машины
[*]0x96914B — Оставить от машин лишь колеса (невидимые машины)
[*]0x96914C — Лёгкая управляемость транспортным средством
[*]0x96914D — Суицид
[*]0x96914E — Все светофоры зеленые
[*]0x96914F — Все водители агрессивные
[*]0x969150 — Все машины розовые
[*]0x969151 — Все машины черные
[*]0x969153 — Летающие лодки
[*]0x969154 — Толстый Карл
[*]0x969155 — Карл максимально накачанный
[*]0x969156 — Карл становится худым
[*]0x969157 — Элвисы повсюду
[*]0x969158 — Педы атакуют с ракетниц
[*]0x969159 — Пляжная тема
[*]0x96915A — Члены банды повсюду
[*]0x96915B — Банды контролируют улицы
[*]0x96915C — Тема «ниндзя»
[*]0x96915D — Магнит на девушек лёгкого поведения
[*]0x96915E — По улицам ездят дешевые авто
[*]0x96915F — По улицам ездят быстрые авто
[*]0x969160 — Машины могут летать
[*]0x969161 — Высокий прыжок на BMX
[*]0x969162 — Создать Hydra (Не работает)
[*]0x969163 — Создать Vortex Hovercraft (Не работает)
[*]0x969164 — Режим танка
[*]0x969165 — Все машины имеют нитро
[*]0x969166 — Машины летают при столкновениях
[*]0x969167 — Всегда полночь
[*]0x969168 — остановить время — Оранжевое небо
[*]0x969169 — Гроза
[*]0x96916A — Песчаная буря
[*]0x96916C — Мега-прыжки
[*]0x96916D — Бесконечное здоровье
[*]0x96916E — Бесконечный воздух (под водой)
[*]0x96916F — Дать парашют
[*]0x969170 — Дать реактивный рюкзак
[*]0x969171 — Полиция вас не видит
[*]0x969172 — Шесть звезд уровня розыска
[*]0x969173 — Мега удар
[*]0x969174 — Всегда сытый
[*]0x969175 — Хаос-режим
[*]0x969176 — Тема «дурдом»
[*]0x969177 — Замедлить игровой процесс
[*]0x969178 — Бесконечные патроны, без перезарядки
[*]0x969179 — Стреляешь во время езды
[*]0x96917A — Пустынный трафик
[*]0x96917B — Трафик сельской местности
[*]0x96917C — Нанять в банду любого (с пистолетом)
[*]0x96917D — Тема сельской местности
[*]0x96917E — Нанять в банду любого (с гранатометом)
[*]0x96917F — Максимальное уважение
[*]0x969180 — Максимальная сексуальность
[*]0x969181 — Максимальная выносливость
[*]0x969183 — Мастер во всем оружии
[*]0x969184 — Создать Hunter (Не работает)
[*]0x969185 — Создать Quad (Не работает)
[*]0x969186 — Создать Tanker Truck (Не работает)
[*]0x969187 — Создать Dozer (Не работает)
[*]0x969188 — Создать Stunt Plane (Не работает)
[*]0x969189 — Создать Monster (Не работает)
[list][*][dword]
[list][*]0x96918C — Были когда-нибудь использованы читы или нет
[*]0xBAA472 — Используются ли читы за текущий сеанс игры
[*]0xB79044 — Сколько раз были использованы читы
[*][byte]
[list][*]0x96918C — ‘Чит’ статус:
[list][*]0 = выключен
[*]1 = включен
[size=150]Графика
[*]0xBA6784 — [dword] Яркость
[*]0xBA6792 — [byte] Легенда
[*]0xBA676C — [byte] Режим радара
[*]0xBA6769 — [byte] Hud-режим
[*]0xBA678C — [byte] Субтитры
[*]0xBA6788 — [float] Дистанция прорисовки
[*]0xBA6794 — [byte] Ограничитель кадров
[*]0xBA6793 — [byte] Широкий экран
[*]0xA9AE54 — [byte] Качество эффектов
[*]0xBA680C — [byte] Мип-маппинг
[*]0xBA6814 — [byte] Сглаживание:
[list][*]1 = 0x (off)
[*] 2 = 1x
[*]3 = 2x
[*]4 = 3x
[*]0xBA6820 — [byte] Значения разрешений:
[list][*]11 = 640×480
[*]12 = 800×400
[*]13 = 800×600
[*]15 = 1024×768
[size=150]Звук
[*]0xBA6798 — [byte] Громкость Радио [от 0 до 64]
[*]0xBA6797 — [byte] Громкость Аудио [от 0 до 64]
[*]0xBA6799 — [byte] Радио Эквалайзер
[*]0xBA6795 — [byte] Автонастройка Радио
[*]0xBA67F8 — [byte] Режим проигрывания пользовательской музыки:
[list][*]0 = радио
[*]1 = случайно
[*]0xBA680D — [byte] Автоматическое сканирование пользовательской музыки
[*]0xBA679A — [byte] ID текущей радиостанции:
[list][*]от 1 до 12 (ниже смотрите список радиостанций и их ID)
[list][*]1 = «Playback FM»
[*]2 = «K Rose»
[*]3 = «K-DST»
[*]4 = «Bounce FM»
[*]5 = «SF-UR»
[*]6 = «Radio Los Santos»
[*]7 = «Radio X»
[*]8 = «CSR 103.9»
[*]9 = «K-JAH West»
[*]10 = «Master Sounds 98.3»
[*]11 = «WCTR Talk Radio»
[*]12 = «Плеер пользовательской музыки»
[*]13 = «Радио выключено»
[size=150]Управление
[*]0xBA6818 — [byte] значения:
[list][*]0 = мышь + клавиатура
[*]1 = джойстик
[*]0xB6EC1C — [float] Чувствительность мыши
[*]0xC1CC02 — [byte] Управление транспортом при помощи мышки
[*]0xC1CC03 — [byte] Инверсия мыши по вертикали
[*]0xB6EC2E — Управление:
[list][*]0 = джойстик (включается автоприцел, причем не обязательно иметь джойстик)
[*]1 = мышь + клавиатура
[size=150]Интерфейс
[*]0x866B74 — [float] Ширина радара (ось X)
[*]0x866B78 — [float] Длина радара (ось Y)
[*]0xBAB22C — [byte] Строка здоровья/цвет противника/красный маркер/любой красный текст (RGBA, 4 байта)
[*]0xBAB230 — [byte] Цвет денег/цвет названия машины/любой зелёный текст (RGBA, 4 байта)
[*]0xBAB238 — [byte] Белый цвет (RGBA, 4 байта)
[*]0xBAB240 — [byte] Main menu title border (RGBA, 4 байта)
[*]0xBAB244 — [byte] Уровень розыска/жёлтый цвет (RGBA, 4 байта)
[*]0xBAB24C — [byte] Цвет названия радиостанции (RGBA, 4 байта)
[size=150]Примечания
[list][*]Если задать максимальное значение в адресах некоторых статистических данных, то игра покажет сообщение и выдаст бонусы (например, за все найденные ракушки).
[*]Значения 0x716642 и 0x716655 изначально равны 200. Если изменить одно из них на 100 000 вы получите очень малую облачность. Если поставить оба на 100 000, облака исчезнут.
[*]Шесть адресов для девушек используются только с оригинальным main.scm. Установка значения на 100 (100%) даст вас 100 прогресс с опр. девушкой и разблокирует её подарки.
[*]Если значение адреса 0x96918C является 1, то при сохранении вы получите предупреждения о использовании читов и не сможете продолжить игру после 50% пройденного.
[*]Естественно, настройки графики зависят от графического драйвера или аппаратных средств.
[*]На самом деле, с адресом 0xBA6820 ситуация сложнее. До значения 15 (где 15 — максимальное разрешение, доступное видеокартой) все разрешения идут с глубиной 16 бит, далее до значения 22 — с глубиной 32 бита
[*]Цвета интерфейса записываются в шестнадцатеричном формате (0x000000 — чёрный, 0xFFFFFF — белый, 0xFF0000 — красный, 0x00FF00 — зелёный, 0x0000FF — синий, 0x555555 — серый и так далее)