Пока я сижу на работе, а дома качаю\устанавливаю\ломаю игры по заявкам читателей, параллельно занимаясь написанием статей и записью видеоуроков, стало интересно:
Ребята! И те, кто читает мой блог, и те, кто случайно набрёл на эту страничку в поисках трейнера или читов к игре N, а блог их заинтересовал. Как у вас там? Применяете полученные знания? Всё получается? Ну не верится мне, что ни у кого не возникает ни единого вопроса. Задавайте их в комментах! Тут, на ютубе, присылайте по электропочте, в конце концов.
Я не могу просто так взять, взмахнуть мышкой с клавиатурой и сделать так, чтобы у вас вдруг сразу всё стало получаться - находиться нужные адреса и указатели, отлаживаться в отладчике код, писаться код трейнеров. Это нужно повторять снова и снова, шаг за шагом. Теорию нужно изучать, игры - ломать, код - писать. Только так всё начнёт получаться. Это (сюрприз!) - залог успеха в любом деле.
Понятно, что меня может читать и полтора человека раз в неделю, так как блог я веду совсем недавно, но и они вряд ли могут быть гениями, чтобы у них не возникало вопросов. Стесняться меня (или других читателей) тоже не надо - если вы задаёте вопросы и чего-то не понимаете, то это говорит лишь о том, что вы стараетесь узнать что-то новое, а не ждёте готовенькое, и уж точно ни разу нет в этом ничего постыдного.
Давно читаю, ещё со старого блога до переезда. Очень хороший материал. Только лично я с этим давно знаком, поэтому и вопросов не возникает. Есть не точности иногда, но они не существенны. Было бы интересно посмотреть на более сложные техники поиска нужной информации в игре. Отлов специфических значений и алгоритмов, к которым так просто не добраться. Вот чего лично я жду, а пока основы для новичков, что весьма правильно сделано. Ждём хардкора :) от профи.
ОтветитьУдалитьСпасибо за приятные слова!
ОтветитьУдалитьНеточности и сам замечаю, но уже после записи - я не оратор, так что частенько задумываюсь о своём и мысли уплывают, а все уроки записываются с одной попытки - у меня не так много времени на блог. Хардкор будет, но тогда, когда элементарщина от зубов начнёт отскакивать. То есть скоро. :)
Да Keng уроки все просто супер... Спс тебе то что ты занялся таким полезным, для многих, делом.
ОтветитьУдалитьЯ уже писал... но напишу еще разок.. очень хотелось бы увидеть поиск регистров которые работают с нашим игроком и с его ресурсами.. когда работает одна инструкция...
Так это, разве 5-й и 7-й уроки - не об этом? Или мы о разных вещах говорим? Одна инструкция, управляющая здоровьем как игрока, так и врага. В коде делаем сравнение, что это за адрес - если игрока, то урон не отнимаем, если врага - то отнимаем. Всё просто.
ОтветитьУдалитьНу да это про это ... но хотелось бы посмотреть про поиск самих регистров...
ОтветитьУдалитьсделать скрипт на регистрах а не на адресе с указателями...
Так ведь это от инструкции зависит. Скажем, вот так:
ОтветитьУдалитьmov dword ptr [eax+12345],100
Здесь "eax+12345" - указатель на адрес здоровья в структуре, eax - база структуры (начало), 12345 - смещение. Если для игрока и для монстра структура одинаковая, то меняется значение eax, а вот что это за конкретный регистр - без разницы. Может быть несколько инструкций, хранящих базу в разных регистрах. В одном месте - еах+12345, в другом - edx+12345 и так далее. Конкретный регистр тут не найдёшь, а проверка, расшарена ли эта инструкция для кого-то кроме игрока простая - ставишь брейкпоинт и, смотря на значение регистра-базы, сначала сам наносишь урок а потом наносишь его кому-то. Если база изменилась - значит инструкция расшарена и в коде нужно будет сделать сравнение содержимого этого регистра с текущей базой структуры игрока - и всё.