{$CLEO} 11@ = 0 05F7: 0@ = label @lbl offset 05DF: write_memory 0x00689A5C size 4 value 0@ virtual_protect 1 //689A5C 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 not Actor.Driving($PLAYER_ACTOR) then Break end end 05DF: write_memory 0x61D8F7 size 5 value 0x90 virtual_protect 1 //05E1: call 0x61D8B0 num_params 1 pop 0 6 05E3: call_method 0x61D8B0 struct 0x9753C4 num_params 1 pop 0 6 05DF: write_memory 0x61D8F7 size 1 value 0xE8 virtual_protect 1 05F5: call_scm_func @setMemOffset 3 memory 0x61D8F8 pointing_to 0x0061A690 virtual_protect 1 03E5: show_text_box 'AUTOSAV' 11@ = 0 end end :lbl hex C705 00000000 01000000 // MOV DWORD PTR DS:[00000000], 1 B8 C56B4500 // MOV EAX,00456BC5 FFE0 // JMP EAX end { FUNCTIONS INCLUDED: - getMemOffset Type: GET Description: Get the relative offset of a memory pointing to a specific address. - setMemOffset Type: GET Description: Set a 4-byte relative offset of a memory pointing to a specific address with virtual protection. } :getMemOffset { Parameters: Passed: 0@ - memory pointer 1@ - memory to point Result: 1@ - memory offset Example: 05F5: call_scm_func @getMemOffset 2 memory 0x0 pointing_to 0x0 store_to 1@ } 0@ += 0x4 000E: 1@ -= 0@ 05F6: ret 1 1@ :setMemOffset { Parameters: Passed: 0@ - memory pointer 1@ - memory to point 2@ - virtual protection Result: none Example: 05F5: call_scm_func @setMemOffset 3 memory 0x0 pointing_to 0x0 virtual_protect 0 } 05F5: call_scm_func @getMemOffset 2 memory 0@ pointing_to 1@ store_to 3@ 05DF: write_memory 0@ size 4 value 3@ virtual_protect 2@ 05F6: ret 0