Перейти к содержанию

Antonshka

Пользователи+
  • Постов

    410
  • Зарегистрирован

  • Посещение

  • Победитель дней

    16

Весь контент Antonshka

  1. Привет, сделал лимит скорости передвижения автомобиля, посредством Velocity X и Y, но почему-то иногда машина движется с разной скоростью. К примеру, если выставить максимальное допустимое Velocity 5, то в этом случае если X будет равен 0, а Y будет равен 5, скорость будет 10 км/ч. А если Х будет равен 0.5, а Y будет равен 4.5, то скорость будет 8 км/ч. Словом, когда одна из осей равна 0, а другая равна максимально допустимой, тогда скорость машины наибольшая. Код для лимита @imaginary насколько я помню, ты знакома с координатами и с тем что с ними связано не понаслышке. Вот здесь такая задача, - сделать лимит скорости передвижения объекта, независимо от направления его движения. Мне даже не столько важно найти решение, как посоревноваться с тобой и с другими участниками. Посоревноваться, подумать вместе, вместе искать решение. Это интересно. Как когда/то мы искали с @Garik66 способ сделать обход античита для ассасина, или искали способ сделать декриптор imul.
  2. Всем привет! Родилась очередная идея, получить полный контроль над анимацией персонажа. Например, вытащить водителя автомобиля из водительского кресла и посадить его на капот, или же просто поставить его где-нибудь рядом, сделав на лице победную улыбку?. Для удобства манипулирования частями тела и мышцами лица, сделать "онлайн мост", между памятью игры и трехмерным редактором maya 3D . Что уже есть: - Участок адресов в памяти игры с координатами и углами поворота частей тела - "Онлайн мост" Чего нет: - Понимания каким образом вращать и перемещать части тела. Тело персонажа состоит из костей, скрепленных между собою, и если сместить скажем коленную чашечку правой ноги немного выше, то нужно будет сместить и те косточки, что с нею связаны, иначе нога просто вытянется. Положение кости рассчитывается с учетом положения её родителя, у которого в свою очередь опять есть свой родитель. Рассчитать положение одного в зависимости от другого не вызывает у меня проблем. Но вот как получить иерархию, это большой вопрос. Вот такие мысли и предположения. Возможно они неверны. Если есть такие кто также двигается в этой теме, присоединяйтесь. Вместе скорее решим эту задачу. Тема контроля анимации одна из самых захватывающих для меня.
  3. Может на форуме СЕ есть решение твоего вопроса. В разделе lua. У меня сейчас со временем для программирования никак.
  4. По идее ничего сложного там быть не должно. С Velocity имею ввиду. Для каждой оси координат есть свое Velocity, то есть Velocity всего 3. Когда перс стоит на месте, все 3 Velocity должны быть равны 0. Если делать полет не по координатам а по Velocity, то та формула что я выложил должна так же подойти. В смысле рассчитывать полет нужно будет так же с использованием синуса и косинуса. Логика скрипта с Velocity кажется должна быть немного другой. Я с Velocity давно не работал. Все с координатами да с координатами. Ты выложи сюда свои наработки, где перс не в ту сторону летит.
  5. На Lua можно. Для этого нужно будет занопить инструкцию пишущую значения в координаты. Либо на время активации полета подсовывать в читающую инструкцию адреса с новыми значениями координат. Но я бы не советовал на Lua. Вероятно возникновение дерганного полета. На пишущей или читающей инструкции самое то. То есть на ассемблере лучше написать.
  6. X и Z - это горизонтальные оси? Координаты поворота на скрине это синус и косинус угла Yaw. Эти два значения можно напрямую использовать для FlyHack. Единственное ты не сможешь при полете направляться вверх или вниз, при движении мыши в этом направлении. Сможешь только лететь в сторону куда смотрит камера в горизонтальной плоскости. Для того чтобы была возможность направляться вверх или вниз нужен угол Pitch, но такой угол у персонажа равен 0, потому как он не наклоняется. Угол Pitch есть у камеры, но его тебе не вытащить как я понял, пока что. Вот по какой формуле я делал полет
  7. Возможно инструкция слишком часто пишет значения в эти адреса. Самый короткий путь к созданию FlyHack, как здесь уже писали, это качнуть из интернета готовую таблицу. Готовую таблицу где реализован либо FlyHack персонажа, либо FreeCamera. С матрицей кстати, я не встречал таких готовых таблиц. Вообще FlyHack это довольно таки серьезный мод. Просто так сразу и не напишешь.
  8. Я использовал этот метод readRegionFromFile(filename, destinationaddress)
  9. Перемещаться в пространстве мне больше нравиться с помощью координат. С помощью Velocity (ускорения) чувствую себя как бы ограниченным. С помощью координат и отключение коллизии не обязательно. Персонаж при таком способе через все стены пролетает спокойно . Для хорошего FlyHack нужны координаты и матрица поворотов. Иногда в памяти лежат уже готовые углы Yaw и Pitch, в таком случае сделать FlyHack проще. Однако чаще всего в памяти есть только матрица поворотов.
  10. Для коллизии я раньше делал так - найти координаты автомобиля - подъехать вплотную к какому-либо объекту (например дереву) - начать искать какую-нибудь координату (напимер Х) этого дерева, используя значение какой-нибудь координаты (напимер Х) автомобиля. (координата Х автомобиля имеет значение 500, значит первый скан для поиска координаты Х дерева делать от 450 до 550) - менять по порциям найденные значения и каждый раз пробовать проехать сквозь это дерево - на найденную координату Х дерева поставить бряк на ЧТЕНИЕ - поменять поведение инструкции подсунув ей какие-нибудь левые большие значения (при таком способе оригинальные значения координат объектов в памяти не изменяются, поэтому в любой момент времени коллизию можно вернуть без перезагрузки карты) Суть способа переместить сам объект. Его текстура при этом остается на месте. У объекта есть координаты самого объекта, координаты его текстуры, координаты самого объекта для определения начала рендеринга, и некоторые другие. Для новичков это сложно, по моему мнению. Некоторые игры не дают заинжектить dll, наприме Forza Horizon 4. В таких случаях с видовой матрицей придется работать вручную. Для новичков вполне достаточно иметь лишь только СЕ, луа, ассемблер, фантазию, смекалку, терпение, хитрость, упорство, время, и конечно же друзей единомышленников. Для того чтобы понять как работает матрица, я в свое время качал и устанавливал 3Ds max. Созданный объект в сцене был моим подопытным кроликом. С помощью СЕ я подключался к процессу 3Ds max, а с помощью сначала калькулятора, а затем и скрипта луа, я пытался понять алгоритм работы матрицы. Моей задачей было зафиксировать первый объект относительно второго объекта, во время вращения и перемещения второго объекта.
  11. Как вариант. Только что помог друг. Средства / Параметры / Шрифты и цвета / Среда Сменить с авто на любой другой.
  12. Привет, подскажите кто знает, как увеличить размер шрифта меню в Visual Studio (19). За два часа поиска только удалось найти как увеличить размер шрифта самого кода (ctrl + mouse scroll). Везде где смотрел, говорят об увеличении размера шрифта кода. Казалось бы, такая тривиальная задача, а решение так и не нашлось.
  13. Тот же скрипт с функцией сохранения адресов по порядку, по возрастанию. Можно сделать и по убыванию, для этого в скрипте нужно поменять строку jb Get_Bones_Bases_scr_1_Sorting_Process_Replace_Skip на ja Get_Bones_Bases_scr_1_Sorting_Process_Replace_Skip Сам скрипт. В нем сохраняются адреса (без смещения 50), и их содержимое. Просто так нужно для приложения.
  14. edx и ebx трудно распознавать, путаются?. Используй пожалуйста визуально хорошо различимые регистры?
  15. Кажется запишется один и тот же адрес многое количество раз. Я не до конца понял схему работы скрипта.
  16. Только что придумалось Наверно есть и попроще способы. но это все что смог. Сейчас пытаюсь понять способ предложенный @imaginary Если не жалко, выложите свои варианты.
  17. Нужно в СЕ, да. Мне просто нужно в собранном трейнере/приложении получать эти адреса.
  18. Привет, уже несколько часов пытаюсь придумать способ сохранить все адреса с которыми работает одна инструкция. Сохранить куда-нибудь в память, в одно место, для удобства. Когда-то давно проделывал такое с легкостью, как помниться, но не сейчас. Ничего не получается.
  19. Привет, сталкивался ли кто-нибудь с блокировкой курсора мыши в центре окна игры? Мне стало интересно, как игра рассчитывает вращение персонажа, когда сам курсор стоит на месте. Интересен сам механизм определения насколько изменилась позиция курсора. То что курсор постоянно возвращается в центр это известно, но то что происходит дальше нет. Есть предположения 1 - игра определяет насколько был сдвинут курсор 2 - затем игра после возвращает курсор в центр То есть игра получает сообщения через SetCursorPos, и после тут же возвращает курсор в центр. значит где-то в памяти есть постоянно увеличивающееся и постоянно уменьшающееся значение, как для X, так и для Y. Такие предположения. Кто-то знает как на самом деле?
  20. То есть просто напросто игра зависнет или вылетит? Если это все, то это не так и страшно тогда. Из-за неправильного внедрения в обычный пользовательский код ведь происходит тоже самое.
  21. А почему по рукам бьют за внедрение в memcpy? Что в этом плохого? Недавно мне попалась проверка целостности кода. Она работала также через memcpy. Я просто заменил RSI на начало продублированного exe модуля. Работает нормально.
  22. Не могу использовать такой способ. Инструкцию Repe movsb вызывает свой CALL, например раз 30 в секунду, это сегодня, завтра же может быть она будет вызывать её уже раз 35 в секунду. Мне нужна постоянная частота записи в нужные мне адреса. Нужен свой поток. В игре такая ситуация, есть два буфера, и есть блок памяти с моими адресами. инструкция Repe movsb копирует из первого буфера данные в мой блок, затем она же копирует данные из моего блока во второй буфер. То есть нужно посмотреть что пишет в первый буфер до того как он будет скопирован инструкцией Repe movsb? Или посмотреть что будет читать второй буфер после того как в него будут скопированы данные?
  23. Да, все дело в том что должны быть отключены только некоторые адреса. Для остальных адресов этого блока памяти Repe movsb должна продолжать работать . Например из 1000 адресов, только 10 нужно отключить на время. Нужна фильтрация адресов для инструкции Repe movsb. Пока я не знаю другого способа, а хочется. Потому что способ с фильтрация и расчетом какой-то сложный.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.