vlad2033 Опубликовано 17 февраля, 2014 Поделиться Опубликовано 17 февраля, 2014 нашёл инструкцию отвечающую за прыжок вот:mov [edx+000000A8],eax [edx+000000A8] - это смешение где хранится значение прыжка.немогу поменять инструкцию так чтобы она грубо говоря шла так:1.прибавили 100 к прыжку(но не заморозили!)2.вышли из инструкции Ссылка на комментарий Поделиться на другие сайты Поделиться
DenkA003 Опубликовано 17 февраля, 2014 Поделиться Опубликовано 17 февраля, 2014 нашёл инструкцию отвечающую за прыжок вот:mov [edx+000000A8],eax[edx+000000A8] - это смешение где хранится значение прыжка.немогу поменять инструкцию так чтобы она грубо говоря шла так:1.прибавили 100 к прыжку(но не заморозили!)2.вышли из инструкциимм не совсем понял ..что тебе мешает сделать так mov [edx+000000A8],#64{100}и восстановить нормальную инструкцию mov [edx+000000A8],eaxили поиграйся с регистрами eax,ebx,ecx и тд Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 17 февраля, 2014 Поделиться Опубликовано 17 февраля, 2014 Если нужно в каждой итерации выполнения инструкции прибавлять сотню, тогда все элементарно - mov [edx+000000A8],eaxadd [edx+000000A8],64Но, я так подозреваю, что это нужно делать единожды по нажатию хоткея. Тогда поможет примерно следующее:1. Берем и сохраняем адрес адрес в какую-либо переменную (сойдет и метка в скриптах), к примеру, так:push eax // Сохраняем регистр, чтобы его восстановить после нужных манипуляций, иначе может быть вылет из игрыlea eax,[edx+000000A8] // Загружаем в регистр эффективный адрес прыжкаmov [jump_address],eax // Записываем в нашу переменную этот адресpop eax // восстанавливаем регистрВ скрипте, разумеется, нужно объявить нашу переменную примерно так:label(jump_address)registersymbol(jump_address)Далее, вручную создать адрес в таблице, которому присвоить нашу переменную jump_addressИ назначить на этот адрес хоткей, по нажатию на который будет делаться прибавление 100 к этому адресу.Разумеется, активирующий скрипт (там, где в нашу переменную записывается необходимый адрес) нужно включать первым, иначе ничего не получится. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 20 февраля, 2014 Поделиться Опубликовано 20 февраля, 2014 Я думаю надо искать инструкцию, которая добавляет физическому телу вектор силы направленный вверх умноженный на модуль. Модуль надо найти и поменять. В движе на Unity3d это было бы так//...public float forceJump; // модуль вектора силыvoid Update(){ // Функция вызывается за кадр рендиринга if(Input.GetKeyUp(KeyCode.Space)){ // если нажали на пробел rigidbody.AddForce (Vector3.up * forceJump); // прыгнуть на высоту forceJump. }}//...Ригидбоди - это компонент позволяющий сообщать физические силы. Unity3d работает с физическим движком PhysX. Если надо SDK PhysX можно сказать зарегившись на оф.сайте или с торрентов. Ссылка на комментарий Поделиться на другие сайты Поделиться
vlad2033 Опубликовано 2 марта, 2014 Автор Поделиться Опубликовано 2 марта, 2014 Я думаю надо искать инструкцию, которая добавляет физическому телу вектор силы направленный вверх умноженный на модуль. Модуль надо найти и поменять. В движе на Unity3d это было бы такРигидбоди - это компонент позволяющий сообщать физические силы. Unity3d работает с физическим движком PhysX. Если надо SDK PhysX можно сказать зарегившись на оф.сайте или с торрентов.я просто нуб что это такое//...public float forceJump; // модуль вектора силыvoid Update(){ // Функция вызывается за кадр рендирингаif(Input.GetKeyUp(KeyCode.Space)){ // если нажали на пробелrigidbody.AddForce (Vector3.up * forceJump); // прыгнуть на высоту forceJump.}}//...как этим пользоваться? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения