-
Постов
155 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент SergBrNord
-
@LIRW оба варианта не взлетели. @Garik66 первый вариант не взлетел. Насчёт fstp st(0) - не согласен, инструкция вполне рабочая. Использовал в своих скриптах раньше. Второй тоже не взлетел, в общем. @inaginary пробовал там всё нопить по порядку, нопы не срабатывали. Всё с запятыми, потому что количество ходов, отображается полоской в интерфейсе. И да, эти инструкции работают не только с игроком. @Antonshka не взлетело. @MasterGH тоже не взлетело. Эх... =( Не знаю, правильно ли идею понял, но сделал так:
-
Всем салют. Копаюсь я тут (ничего не меняется, да? +0) в Rome: Total War - Barbarian Invasion. Копаюсь с эти куском кода: Известно, что данная инструкция работает с количеством очков хода члена фракции на глобальной карте. Это значение с плавающей точкой и оно равняется 80. И у меня не получается записать нужное мне значение. Я пробовал так (не взлетело): Я пробовал этак (тоже не взлетело): Спасите кто-нибудь, а? Я не понимаю, что тут не так сделано. Моск плавится.
-
Работает, как скрипт на нулевую стоимость объектов. Как ты на эту инструкцию вышел? Я пробовал отсеивать по стоимости при постройке, допустим, коридоров... но что-то у меня не вышло найти нужное.... Вот этот скрипт мне очень понравился. Сделан через анимацию штабелей с золотом. Анимацию ещё найти надо умудриться +) А вот тут байты меня угнетают и требуются пояснения... Основная идея понятна. Заменяем 3 инструкции по 6 байт. B8 как "mov eax", дальше сдвигаем число и оставшийся байт заменяем "nop"... но редактор реагирует на это дело так, словно в память ноли пишутся....
-
Да, если 1800 будет, то положит 300 в ячейку с сотнями, а всё остальное запихнёт в основную, то есть там будет 1500. Плюс, есть такая особенность, когда значение становится больше определённого уровня, оно переносится в другую область памяти. Вроде бы делал что-то такое, но перепроверить не мешает....
-
Всем салют! Засел ломать старенькую игрушку "Злобный Гений". Нашёл деньги; хранятся там они так: сотые в одной ячейке, больше сотых — в другой. Т.е. 19200 => 19000 и 200. Суть не в этом. После установки нужного количества денег, через N времени, количество денег всё же сбрасывается на действительное. И это при том, что я уверен, что использую реальное, не экранное значение. В общем, помогите кто понять, что идёт не так. Прилагаю таблицу Первая функция - добавляет денег при расходе; Вторая функция - добавляет денег при увеличении баланса (заработок с глобальной карты).
-
Салют всем. Я тут внезапно понял, что упустил один аспект. Вот есть заготовка под скрипт: Пошатавшись по форуму CE, я выяснил, что итоговый код должен выглядеть как-то так: У меня несколько вопросов: Адекватно ли я заменил? =) Будет ли "INJECT+01" нормально работать, т.к. в примерах на CE такого не рассматривалось? Можно ли в данном случае убрать из секции [ENABLE] всё под меткой "code" и в секцию "newmem" вставить инструкции "nop"? Если способ сделать эти действия (правка секций ручками) немного более автоматизированными?
-
Надо КТТС подправить "Ваш аккаунт заблокирован, попробуйте через 0 минут".
-
Всем привед! В перерывах между работой поигрываю в первый Блицкриг. И ломаю. На текущий момент поломал количество основного и вторичного вооружения, но застопорился на ХП. Не могу найти где хранится: Максимальное здоровье боевой единицы; Метка игрока и ИИ. Прилагаю таблицу, чтобы помогающие не теряли много времени. Самый последний скрипт работает с ХП игрока и противника. Таблица
- 1 ответ
-
- 1
-
-
Таймер как значение регистра
SergBrNord опубликовал тема в Вопросы по созданию читов в одиночных играх
Всем опять и снова привед! Продолжаем мучать старенькую игрушку "Гарри Поттер и Философский камень" =) На сей раз чисто умозрительный вопрос по таймерам, использующихся на урока по обучению заклинаниям. Вот так это выглядит: Ломаем таймер в нижнем углу. За таймер отвечают три значения: закрашивание полоски красным цветом, тип float, реализовано декрементацией (~14->0); скорость воспроизведения звука часов, тип float, реализовано декрементацией (~14->0); сам таймер, тип float, реализовано инкрементацией (0->~14). Окно обращений инструкций: Во всех трёх инструкциях работа идёт с одним и тем же адресом; под адресу не структура, а значение. Листинг кода №1: Листинг кода №2 (инструкции рядом): И вопросы, которые меня мучают: Если писать скрипт, то, НЯП, надо работать со стеком, так как показывал srg91; т.е. заместить значение, вкладываемое инструкцией "fld dword ptr [esp+10]"? Если работать со стеком, что будет правильнее в использовании – просто положить в стеке значение сверху или вытолкнуть и затем положить своё? Как тут организовать фильтр? При заморозке адреса таймер, подсчёт очков начинает работать некорректно. Каким образом это может быть завязано на таймер? Как работает корректный подсчёт – игрок рисует изображение по контуру мышкой, не открывая ЛКМ до завершения, а затем игра повторяет его движение и выставляет очки. Как работает некорректный подсчёт – игрок рисует изображение по контуру мышкой, не открывая ЛКМ до завершения, а затем игра не повторяет движение, а соединяет две конечных точки. Вот так это выглядит: Т.е. тут что-то вроде запоминания положения курсора в определённой точке относительно таймера? P.S. Игрушка сделана на Unreal Engine, может кого на мысль натолкнёт =) -
Проверил. Не работает. "В угол" . Garik66 По 1 скрипту – интерпритатор ругался на: cmp [eax+4],(float) 50 //50 Поправил на: mov [eax], (float)50 Также не сработал. По 2 скрипту – во время первого здоровье прибавилось, но после получения урона игра крашнулась (я насиловал игру несколькими скриптами подряд). Во время второго запуска - полёт нормальный.
-
Всем привед! Продолжаю ломать старенькую игрушку "Гарри Поттер и Философский камень" =) Сейчас взламываю здоровье. И возникла проблема с инструкцией fstp. НЯЗ, эта инструкция перемещает из регистра ST данные в регистр-цель. И вот как работать с этим регистром ST? Вот что я пытался провернуть (в структуре, находящейся в eax по смещению 4 – максимальное здоровье, в начале – текущее здоровье; всё типа float; инструкция работает с несколькими адресами, поэтому присутствует фильтр): P.S. Вариант с использованием инструкции fstp возник после неудачи с этой попыткой: Почему-то не срабатывает и отладить не могу - при попытке запустить игру в окне крашится напрочь.