Я опираюсь на инфу по Ассемблеру из интернета, вот например из одного учебника: так: Как то так. Только, т.к. в [edi+68] лежит Z , ГГ будет высоко прыгать. Для быстрого передвижения, нужно будет сделать это с координатами X и Y. Только и это всё не верно. Объясню: в [edi+68] -лежит именно координата, допустим 1000. Если мы применим умножение, то скорее всего окажемся за координатами игровой карты (а это скорее всего приведёт к вылету или ничего не произойдёт, если стоит проверка координат). Нам нужно умножать не саму координату, а разницу м/у двумя соседними координатами ГГ (до шага и после шага), вот тогда всё и заработает. Это если работать через координаты. Но можно найти именно множитель и работать с ним, тогда будет всё проще. Всё таки стало интересно, поэтому написал быстренько скрипт для Fallout 3: fmul 4 //умножаем на 4 значение в стеке (в стеке как раз лежит [edi+68])fstp dword ptr [edi+68] // выталкиваем новое (умноженное на 4) значение из стека. [ENABLE]alloc(newMem, 128)label(returnHere)label(OK)label(Mnozitel)registersymbol(Mnozitel)newMem:cmp eax,18f4a0 // Для работы с координатами только ГГjne OKfmul dword ptr [Mnozitel]OK:fstp dword ptr [esi+000000D0]jmp returnHereMnozitel:dd (float)1.004 // Множитель или скорость перемещенияFallout3.exe+50DDB1:jmp newMemnopreturnHere:[DISABLE]Fallout3.exe+50DDB1:fstp dword ptr [esi+000000D0]unregistersymbol(Mnozitel)dealloc(newMem)