20111109

Видеоурок.

Записал [видео] на тему no recoil - отдачи при стрельбе. Смотрим, задаём вопросы - урок не совсем обычный. Чуть позже напишу более подробный пост.

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

  1. [...] Навигация по записям ← Предыдущая [...]

    ОтветитьУдалить
  2. Пример достаточно специфичен (даже очень специфичен), т.к. понятно что не к каждой игре в Интернете можно найти информацию о том, что такая-то игра взяла что-то от старых SDK... При чем в данном примере сходство с SDK нулевое - абсолютно нулевое. Но, я не говорю что видео чем-то плохое. Оно хорошее в том плане, что зритель видит проблемы и возможные пути их решения, которые описаны в конце видео.

    Исходники от Кваки существуют в моей коллекции исходников игровых движков. Вообще поле "отдачи" есть и оно так и называется recoil, но в исходниках скорее всего нигде не используются - как я не искал, так и не нашёл. Я думаю, что отдача реализована в двух функция еджектБрасс, но все равно это мало чем будет полезно. У каждой новоиспечённой игры основанной на старых SDK свой код, который может быть построен иначе чем в старых SDK.

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

    1) чтобы прицел не двигался когда бежим
    2) чтобы прицел не двигался когда стреляем
    3) чтобы не было отдачи (пример на видео)

    По этой игре ищите мою работу на форуме.

    ОтветитьУдалить
  3. Здравствуйте! Я занимаюсь уже в течение месяца игрой Bad Company 2 хочу убрать отдачу при стрельбе, пробовал сделать но это работает только в игре сингле на прохождение, в онлайн игре не работает, можете рассказать, как можно сделать no recoil?
    Я уже всё перепробывал ничего не помогает, остаётся надеятся на Вас!!!

    ОтветитьУдалить
  4. amires, привет! Взлом сетевой части отличается от такового для сингла, я этим не занимаюсь, т.к. считаю что мешать другим людям играть - это плохо и плюсов в карму не добавляет совершенно. Единственный выход в твоём случае - искать материалы в интернете, увы.

    ОтветитьУдалить
  5. Спасибо, но как мне взломать в сингле,чтобы не было отдачи?
    Честно говоря я сам не люблю мешать людям играть!
    С уважением amires!

    ОтветитьУдалить
  6. Попробую скачать игру и записать по ней урок.

    ОтветитьУдалить
  7. Было бы замечательно,спасибо за понимание!

    ОтветитьУдалить
  8. привет, ну что как идёт процесс,что нибудь сделал?)

    ОтветитьУдалить
  9. Кстати есть где нибудь Туториал как сделать no recoil при помощи Cheat Engine?

    ОтветитьУдалить
  10. есть кто живой?

    ОтветитьУдалить
  11. Есть-есть. Вот со временем сейчас туговато. По поводу no-recoil с CE - я лично не встречал. Ни видео, ни статей. Там больше работа с отладчиком идёт, так что CE или же что-то другое - не принципиально.

    Алгоритм примерно такой:

    Зная, что ствол оружия уходит вверх при отдаче и\или расширяется прицел, ищем float-значение через "увеличилось\уменьшилось". В итоге обычно находится несколько адресов, их и пытаемся отлаживать. Второй вариант - отлаживать код, отвечающий за патроны при стрельбе, но это по-идее намного больше времени займёт, хотя бывают и исключения.

    Я сейчас готовлю уроки по стратегиям, со временем совсем туго. :(

    ОтветитьУдалить
  12. Ты говоришь - "Зная, что ствол оружия уходит вверх при отдаче и\или расширяется прицел, ищем float-значение через «увеличилось\уменьшилось"
    можешь записать урок я просто не пойму как ..) я пробывал сначала стрелять из оружия ставить игру на паузу и вбивать значение "1" далее поиск, потом убирать игру с паузы возвращаться в CE и вбивать значение "0"таким образом?) если сможешь запиши урок по игре, можно даже не по этой просто хоть знать как))

    ОтветитьУдалить
  13. Ты почти прав:

    Ставишь прицел ровно, мышь\клавиатуру не трогаешь. Игру на паузу, в СЕ новый поиск - float - неизвестное значение. Возвращаешься в игру, начинаешь стрелять (зажимаешь левую кнопку мыши) - прицел уходит вверх - игру на паузу - в СЕ - отсеять - увеличилось. Возвращаешься в игру, снимаешь паузу, отпускаешь кнопку мыши - перестаёшь стрелять и прицел опускается обратно вниз - игру на паузу - в СЕ - отсеять -уменьшилось. И повторяешь, пока не найдёшь 5-10 адресов.

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

    Я попробую записать конкретно этот момент, но у меня с временем сейчас туго - даже по стратегиям никак не допишу. :)

    ОтветитьУдалить
  14. Спасибо за туториал, я тебя понял!
    Я ставил брэкпоинт и пострелял значение увелич, что дальше))?

    ОтветитьУдалить
  15. долгий это процесс поиска... а побыстрее не знаете как?

    ОтветитьУдалить
  16. Я лично навскидку не могу вспомнить - может и есть. Этот способ - долгий, но рабочий в большинстве случаев, так что я его и использую. :)

    ОтветитьУдалить
  17. Ясно. Слушай ну найду я адрес поставлю точку останова на доступ проверю сколько раз при стрельбе выполняется та или иная инструкция, а что дальше?)

    ОтветитьУдалить
  18. чёт,мой отзыв удалился ну ладно...
    так вот нашёл я адрес что дальше с ним делать?

    ОтветитьУдалить
  19. Ясно. Слушай ну найду я адрес поставлю точку останова на доступ проверю сколько раз при стрельбе выполняется та или иная инструкция, а что дальше?)

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

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