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

Рекомендуемые сообщения

нашёл инструкцию отвечающую за прыжок вот:

mov [edx+000000A8],eax

[edx+000000A8] - это смешение где хранится значение прыжка.

немогу поменять инструкцию так чтобы она грубо говоря шла так:

1.прибавили 100 к прыжку(но не заморозили!)

2.вышли из инструкции

Ссылка на комментарий
Поделиться на другие сайты

нашёл инструкцию отвечающую за прыжок вот:

mov [edx+000000A8],eax

[edx+000000A8] - это смешение где хранится значение прыжка.

немогу поменять инструкцию так чтобы она грубо говоря шла так:

1.прибавили 100 к прыжку(но не заморозили!)

2.вышли из инструкции

мм не совсем понял ..

что тебе мешает сделать так

mov [edx+000000A8],#64{100}

и восстановить нормальную инструкцию

mov [edx+000000A8],eax

или поиграйся с регистрами eax,ebx,ecx и тд

Ссылка на комментарий
Поделиться на другие сайты

Если нужно в каждой итерации выполнения инструкции прибавлять сотню, тогда все элементарно -


mov [edx+000000A8],eax
add [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 к этому адресу.

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

Ссылка на комментарий
Поделиться на другие сайты

Я думаю надо искать инструкцию, которая добавляет физическому телу вектор силы направленный вверх умноженный на модуль. Модуль надо найти и поменять. В движе на Unity3d это было бы так

//...

public float forceJump; // модуль вектора силы

void Update(){ // Функция вызывается за кадр рендиринга

if(Input.GetKeyUp(KeyCode.Space)){ // если нажали на пробел

rigidbody.AddForce (Vector3.up * forceJump); // прыгнуть на высоту forceJump.

}

}

//...

Ригидбоди - это компонент позволяющий сообщать физические силы. Unity3d работает с физическим движком PhysX. Если надо SDK PhysX можно сказать зарегившись на оф.сайте или с торрентов.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Я думаю надо искать инструкцию, которая добавляет физическому телу вектор силы направленный вверх умноженный на модуль. Модуль надо найти и поменять. В движе на Unity3d это было бы так

Ригидбоди - это компонент позволяющий сообщать физические силы. Unity3d работает с физическим движком PhysX. Если надо SDK PhysX можно сказать зарегившись на оф.сайте или с торрентов.

я просто нуб что это такое

//...

public float forceJump; // модуль вектора силы

void Update(){ // Функция вызывается за кадр рендиринга

if(Input.GetKeyUp(KeyCode.Space)){ // если нажали на пробел

rigidbody.AddForce (Vector3.up * forceJump); // прыгнуть на высоту forceJump.

}

}

//...

как этим пользоваться?

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

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