20111101

Повседневное.

Пока я сижу на работе, а дома качаю\устанавливаю\ломаю игры по заявкам читателей, параллельно занимаясь написанием статей и записью видеоуроков, стало интересно:

Ребята! И те, кто читает мой блог, и те, кто случайно набрёл на эту страничку в поисках трейнера или читов к игре N, а блог их заинтересовал. Как у вас там? Применяете полученные знания? Всё получается? Ну не верится мне, что ни у кого не возникает ни единого вопроса. Задавайте их в комментах! Тут, на ютубе, присылайте по электропочте, в конце концов.

Я не могу просто так взять, взмахнуть мышкой с клавиатурой и сделать так, чтобы у вас вдруг сразу всё стало получаться - находиться нужные адреса и указатели, отлаживаться в отладчике код, писаться код трейнеров. Это нужно повторять снова и снова, шаг за шагом. Теорию нужно изучать, игры - ломать, код - писать. Только так всё начнёт получаться. Это (сюрприз!) - залог успеха в любом деле.

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

6 комментариев:

  1. Читатель1/11/11 23:56

    Давно читаю, ещё со старого блога до переезда. Очень хороший материал. Только лично я с этим давно знаком, поэтому и вопросов не возникает. Есть не точности иногда, но они не существенны. Было бы интересно посмотреть на более сложные техники поиска нужной информации в игре. Отлов специфических значений и алгоритмов, к которым так просто не добраться. Вот чего лично я жду, а пока основы для новичков, что весьма правильно сделано. Ждём хардкора :) от профи.

    ОтветитьУдалить
  2. Спасибо за приятные слова!
    Неточности и сам замечаю, но уже после записи - я не оратор, так что частенько задумываюсь о своём и мысли уплывают, а все уроки записываются с одной попытки - у меня не так много времени на блог. Хардкор будет, но тогда, когда элементарщина от зубов начнёт отскакивать. То есть скоро. :)

    ОтветитьУдалить
  3. Grom-Skynet2/11/11 22:16

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

    ОтветитьУдалить
  4. Так это, разве 5-й и 7-й уроки - не об этом? Или мы о разных вещах говорим? Одна инструкция, управляющая здоровьем как игрока, так и врага. В коде делаем сравнение, что это за адрес - если игрока, то урон не отнимаем, если врага - то отнимаем. Всё просто.

    ОтветитьУдалить
  5. Grom-Skynet6/11/11 15:51

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

    сделать скрипт на регистрах а не на адресе с указателями...

    ОтветитьУдалить
  6. Так ведь это от инструкции зависит. Скажем, вот так:

    mov dword ptr [eax+12345],100

    Здесь "eax+12345" - указатель на адрес здоровья в структуре, eax - база структуры (начало), 12345 - смещение. Если для игрока и для монстра структура одинаковая, то меняется значение eax, а вот что это за конкретный регистр - без разницы. Может быть несколько инструкций, хранящих базу в разных регистрах. В одном месте - еах+12345, в другом - edx+12345 и так далее. Конкретный регистр тут не найдёшь, а проверка, расшарена ли эта инструкция для кого-то кроме игрока простая - ставишь брейкпоинт и, смотря на значение регистра-базы, сначала сам наносишь урок а потом наносишь его кому-то. Если база изменилась - значит инструкция расшарена и в коде нужно будет сделать сравнение содержимого этого регистра с текущей базой структуры игрока - и всё.

    ОтветитьУдалить

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