#76 22-10-2010 03:23

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: [WIP] Автосохранение

Так ведь там кроме самого сохранения еще куча всего по идее. В один асм это не запихнуть.
К тому же пока мы находимся в асме, текущий thread IP находится на середине опкода 0417 (перед первым параметром), если его записать в сейв, загрузиться не получится. Поэтому такие мутки с wait 0

Offline

#77 03-02-2011 12:05

Sergey81
Registered: 19-12-2008
Posts: 654

Re: [WIP] Автосохранение

Я посмотрел ещё раз базу gta3, в ближайшее время будет квиксейв для gta 3. И, возможно, автосейв тоже. Единственное, меня интересует как найти адрес опкода 0318 в экзешнике gta3, ибо в базе они не расписаны.

Offline

#78 04-02-2011 13:00

Sergey81
Registered: 19-12-2008
Posts: 654

Re: [WIP] Автосохранение

{$CLEO}
11@ = 0
05F7: 0@ = label @lbl offset
05DF: write_memory 0x005EF640 size 4 value 0@ virtual_protect 1 //5EF640
05F8: 1@ = var 11@ offset
0@ += 2
05DF: write_memory 0@ size 4 value 1@ virtual_protect 0
while true
    wait 0
    if
        11@ == 1
    then
        while true
            wait 0
            if and
                $ONMISSION == 0
                80DF:  not actor $PLAYER_ACTOR driving   
            then
                Break
            end
        end
        05E1: call 0x591EC0 num_params 1 pop 0 0       
        11@ = 0
    end
end       


:lbl
hex
    C705 00000000 01000000  // MOV DWORD PTR DS:[00000000], 1
    B8 957F4400             // MOV EAX, 447F95
    FFE0                    // JMP EAX
end

Адреса все нашёл, теперь нужно вместо offset опкодов использовать что-то другое. smile

Last edited by Sergey81 (04-02-2011 13:28)

Offline

Board footer

Powered by FluxBB