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

Лидеры

  1. Garik66

    Garik66

    Помогаторы


    • Баллы

      4

    • Постов

      5 750


  2. CuBiC

    CuBiC

    Ветераны


    • Баллы

      3

    • Постов

      90


  3. Vlad2

    Vlad2

    Ветераны


    • Баллы

      1

    • Постов

      279


Популярный контент

Показан контент с высокой репутацией 10.04.2015 во всех областях

  1. Тут всё зависит от нужной задачи. Дальше мои теоретические выкладки, т.к. вопрос полностью не исследовал. Если нужно нормальное ускорение передвижения, то нужно искать именно коэффициенты скорости. Например как здесь через поиск по заранее известному названию коэффициентов, либо искать в структуре самому (методом проб и ошибок), как например делал JIeXA (написал об этом в этом сообщении. Если достаточно и дискретного увеличения передвижения, т.е. при каждом шаге ГГ делает просто больше шаг, то можно и через координаты. Для этого нужно: 1. Выйти на разовые инструкции для каждой координаты (что я подразумеваю под разовые - на каждый шаг -> одно срабатывание инструкции.) 2. Дальше можно делать двумя способами: 2.1. Работаем непосредственно с координатой. Возьму твою инструкцию movq [edi+смещение],xmm5 fld dword ptr[edi+смещение] // выгружаем в стек значение координатыfmul dword ptr [mnozitel] // умножаем значение в стеке на множитель, про множитель ниже.fstp dword ptr[edi+смещение]// выгружаем из стека в адрес новое значение координаты.про множитель почитай это моё сообщение (или лучше весь) топик. 2.2. Работаем с разницей в значениях координат между шагом. push eax push ebx // сохраняем регистрыmov eax,dword ptr [edi+смещение] // записываем в него координату.push eax // сохраняем старую координату в стеке movq [edi+смещение],xmm5 // получаем новое значение координатыfsub eax,dword ptr [edi+смещение]// рассчитываем разницу imul ebx,eax,4 // ebx - сюда запишется результат (новый шаг), eax - разница, // 4 - в данном случае множительpop eax // восстанавливаем в eax старую координатуfadd eax,ebx // прибавляем к координате новый шагmov dword ptr [edi+смещение],eax // записываем новую координату по адресуpop ebx // восстанавливаем регистры pop eax Коды могут быть неточные, т.к. без отладки в игре я за них не ручаюсь. Но мысль примерно такая.
    2 балла
  2. Во-первых, не копируйте полностью цитируемое сообщение - потом очень тяжело читать топик. Тогда никакого умножения не нужно. fld dword ptr[edi+смещение] // выгружаем в стек значение координатыfadd dword ptr [metr] // прибавляем к значению в стеке metrfstp dword ptr[edi+смещение]// выгружаем из стека в адрес новое значение координаты...................................metr:dd (float)1 // здесь объявляем 1 метр (сколько он равен единицам в игре)
    1 балл
  3. Сомневаюсь, что с такой малой инфой, которую ты дал, кто-то тебе поможет. Вот обрати внимание на соседний топик (здесь.- вот так нужно подавать инфу:
    1 балл
  4. А еще можно в коде страницы найти строку ipb.vars['secure_hash'] напротив которой будет ключ. Скопировать этот ключ. И перейти по ссылке: http://forum.gamehacklab.ru/index.php?secure_key=СЮДА КЛЮЧ&skinId=НОМЕР СКИНА&app=core&module=ajax&section=skin&do=change. Стиль измениться на указанный)
    1 балл
×
×
  • Создать...

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

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