{$CLEO .cm}
:SAVE_32Cars_SFAirport// SF Airport  
thread 'SAV32FA'
0050: gosub @SAV32MISS_main_1 
if
0112:   wasted_or_busted
jf @SAV32MISS_end_1
0050: gosub @SAV32MISS_fail_1                    

:SAV32MISS_end_1
0050: gosub @SAV32MISS_clep_1
004E: end_thread

:SAV32MISS_main_1
0317: increment_mission_attempts//here starts the missionscript
0004: $ONMISSION =  1

0A9F: 20@ = current_thread_pointer 
20@ += 16 
0A8D: 20@ = read_memory 20@ size 4 virtual_protect 0 
20@ -= @SAV32MISS_T5 
20@ += 4 
if 
0AA9:   is_game_version_original 
jf @SAV32MISS_T3 
0AA5: call 5802976 4 pop 4 0 0 0 20@ 
jump @SAV32MISS_2 

:SAV32MISS_T3
0AA5: call 5804976 4 pop 4 0 0 0 20@ 
jump @SAV32MISS_2

:SAV32MISS_T5
0900: unknown_set_object "script by zaz~n~www.zazmahall.de" 
0000: NOP

:SAV32MISS_2
1@ = -1
17@ = 0

:SAV32MISS_11
0001: wait 0 ms
if  and
80FE:  not actor $PLAYER_ACTOR  1 (in-sphere)near_point -1526.4872 -400.5164 7.08 radius  1.5  1.5  1.5
80FE:  not actor $PLAYER_ACTOR  1 (in-sphere)near_point -1275.4133 30.9535 14.1484 radius  1.5  1.5  1.5
00A3:   actor $PLAYER_ACTOR sphere 0 in_rectangle_cornerA -1623.6 -694.8 cornerB -1076.6464 415.95  
jf @SAV32MISS_pass_1
0110: clear_player $PLAYER_CHAR wanted_level 
0395: clear_area 1 at 186.0959 2506.4963 16.4844 radius 300.0 

if
0AAB:   file_exists "CLEO\SAVE_32Data_SFAirport.caz"
jf @SAV32MISS_50_inCar_check
1@ = 0
2@ = 0

01B4: set_player $PLAYER_CHAR frozen_state  0 (frozen)


:SAV32MISS_13_Openfile
wait 0
if 0A9A: 0@ = openfile "CLEO\SAVE_32Data_SFAirport.caz" mode 0x6272  // binary read
then
    00BA: text_styled 'SV32_14'  1000 ms  4
    0A9D: readfile 0@ size 4 from 1@
        for 2@ = 0 to 31
                if
                    001D:   2@ > 1@
                then
                    break
                end        
            0A9D: readfile 0@ size 4 from 67@(2@,36i)   
            0A9D: readfile 0@ size 4 from 99@(2@,36i)
            0A9D: readfile 0@ size 4 from 131@(2@,36i)
            0A9D: readfile 0@ size 4 from 163@(2@,36i)
            0A9D: readfile 0@ size 4 from 195@(2@,36i)
            0A9D: readfile 0@ size 4 from 227@(2@,36i)
            0A9D: readfile 0@ size 4 from 259@(2@,36i)
            0A9D: readfile 0@ size 4 from 291@(2@,36i)
            0A9D: readfile 0@ size 4 from 323@(2@,36i)
            0A9D: readfile 0@ size 4 from 355@(2@,36i)
            0A9D: readfile 0@ size 4 from 387@(2@,36i)
            0A9D: readfile 0@ size 4 from 419@(2@,36i)
            0A9D: readfile 0@ size 4 from 451@(2@,36i)
            0A9D: readfile 0@ size 4 from 483@(2@,36i)
            0A9D: readfile 0@ size 4 from 515@(2@,36i)
            0A9D: readfile 0@ size 4 from 547@(2@,36i)
            0A9D: readfile 0@ size 4 from 579@(2@,36i)
            0A9D: readfile 0@ size 4 from 611@(2@,36i)
            0A9D: readfile 0@ size 4 from 643@(2@,36i)
            0A9D: readfile 0@ size 4 from 675@(2@,36i)
            0A9D: readfile 0@ size 4 from 707@(2@,36i)
            0A9D: readfile 0@ size 4 from 739@(2@,36i)
            0A9D: readfile 0@ size 4 from 771@(2@,36i)
            0A9D: readfile 0@ size 4 from 803@(2@,36i)
            0A9D: readfile 0@ size 4 from 835@(2@,36i)
            0093: 99@(2@,36i) = integer 99@(2@,36i) to_float
            0093: 131@(2@,36i) = integer 131@(2@,36i) to_float
            0093: 163@(2@,36i) = integer 163@(2@,36i) to_float
            0093: 195@(2@,36i) = integer 195@(2@,36i) to_float
            0247: load_model 67@(2@,36i)

                while  8248:  not model 67@(2@,36i) available
                    0001: wait 0 ms
                end
            00A5: 35@(2@,36i) = create_car 67@(2@,36i) at 99@(2@,36i) 131@(2@,36i) 163@(2@,36i)
            0175: set_car 35@(2@,36i) Z_angle_to 195@(2@,36i)
            
            if
            8039: not  227@(2@,36i) == -2
            then
            06ED: set_car 35@(2@,36i) paintjob 227@(2@,36i)
            020A: set_car 35@(2@,36i) door_status_to 0
            end
    
    
                          
            
            0249: release_model 67@(2@,36i)
            
            
                                03F0: enable_text_draw 1
                                033E: set_draw_text_position 300.0  150.0 GXT 'SV32_13'
                                0343: set_text_draw_linewidth 300.0
                                045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
                                0343: set_text_draw_linewidth 300.0
                                045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)
                                0343: set_text_draw_linewidth 300.0
                                045A: draw_text_1number 20.0  120.0 GXT 'SV32_08' number 870@(10@,36i)
            
        end
    0A9B: closefile 0@
    jump @SAV32MISS_15_float_integer
end
jump @SAV32MISS_13_Openfile

:SAV32MISS_15_float_integer
        for 2@ = 0 to 31
               if
                    001D:   2@ > 1@
                then
                    break
                end
            0092: 99@(2@,36i) = float 99@(2@,36i) to_integer
            0092: 131@(2@,36i) = float 131@(2@,36i) to_integer
            0092: 163@(2@,36i) = float 163@(2@,36i) to_integer
            0092: 195@(2@,36i) = float 195@(2@,36i) to_integer
            gosub @SAV32MISS_AddTuningSUB
        end
wait 500
gosub @SAV32MISS_AddColorSUB
jump @SAV32MISS_50_inCar_check




:SAV32MISS_50_inCar_check
if
32 > 2@
jf @SAV32MISS_maxamount
if
00DF:   actor $PLAYER_ACTOR driving
jf @SAV32MISS_74_onfoot
01B4: set_player $PLAYER_CHAR frozen_state  0 (frozen)
03C0: 35@(2@,36i) = actor $PLAYER_ACTOR car
0441: 67@(2@,36i) = car 35@(2@,36i) model
if  and
847A:   NOT   actor $PLAYER_ACTOR driving_a_motorbike
84A7:   NOT   actor $PLAYER_ACTOR driving_boat
89AE:   NOT actor $PLAYER_ACTOR driving_train
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rccam
then
    if  and
    80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rcbandit
    80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rcbaron
    80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rcraider
    80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rcgoblin
    80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rctiger
    then
    020A: set_car 35@(2@,36i) door_status_to 0
    0988: get_car 35@(2@,36i) paintjob 227@(2@,36i)
    else
    227@(2@,36i) = -2
    end
else
227@(2@,36i) = -2
end
03F3: get_car 35@(2@,36i) primary_color_to 259@(2@,36i) secondary_color_to 291@(2@,36i)
0A30: repair_car 35@(2@,36i) 
00BC: text_highpriority 'SV32_13'  1000 ms  1
00AD: set_car 35@(2@,36i) max_speed_to 0.0


gosub @SAV32MISS_modcheck_main

gosub @SAV32MISS_TuningDataSUB


00BA: text_styled 'SV32_05'  2000 ms  4
00BC: text_highpriority 'SV32_05'  5000 ms  1

01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)

0085: 935@ = 227@(2@,36i) // (int)
935@ += 1

:SAV32MISS_69_inCar_Loop
wait 0
            03F0: enable_text_draw 1
            //045A: text_draw_1number  20.0  80.0 'NUMBER' 1@    // value
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  120.0 GXT 'SV32_08' number 323@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  130.0 GXT 'SV32_08' number 355@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  140.0 GXT 'SV32_08' number 387@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  150.0 GXT 'SV32_08' number 419@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  160.0 GXT 'SV32_08' number 451@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  170.0 GXT 'SV32_08' number 483@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  180.0 GXT 'SV32_08' number 515@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  190.0 GXT 'SV32_08' number 547@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  200.0 GXT 'SV32_08' number 579@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  210.0 GXT 'SV32_08' number 611@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  220.0 GXT 'SV32_08' number 643@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  230.0 GXT 'SV32_08' number 675@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  240.0 GXT 'SV32_08' number 707@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  250.0 GXT 'SV32_08' number 739@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  260.0 GXT 'SV32_08' number 771@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  270.0 GXT 'SV32_09' number 935@
if  and
80FE:  not actor $PLAYER_ACTOR  1 (in-sphere)near_point -1526.4872 -400.5164 7.08 radius  1.5  1.5  1.5
80FE:  not actor $PLAYER_ACTOR  1 (in-sphere)near_point -1275.4133 30.9535 14.1484 radius  1.5  1.5  1.5
00A3:   actor $PLAYER_ACTOR sphere 0 in_rectangle_cornerA -1623.6 -694.8 cornerB -1076.6464 415.95  
jf @SAV32MISS_pass_1
if
8119:   not car 35@(2@,36i) wrecked
jf @SAV32MISS_74_onfoot
if
80DF: not  actor $PLAYER_ACTOR driving
jf @SAV32MISS_69_inCar_Loop
00AA: store_car 35@(2@,36i) position_to 99@(2@,36i) 131@(2@,36i) 163@(2@,36i)
0174: 195@(2@,36i) = car 35@(2@,36i) Z_angle
163@(2@,36i) += 0.2
0092: 99@(2@,36i) = float 99@(2@,36i) to_integer
0092: 131@(2@,36i) = float 131@(2@,36i) to_integer
0092: 163@(2@,36i) = float 163@(2@,36i) to_integer
0092: 195@(2@,36i) = float 195@(2@,36i) to_integer 
0085: 1@ = 2@ // (int)
2@ = 0


:SAV32MISS_70_SaveData
wait 0
if 0A9A: 0@ = openfile "CLEO\SAVE_32Data_SFAirport.caz" mode 0x6277  // binary read
then
    00BA: text_styled 'SV32_15'  1000 ms  4
    0A9E: writefile 0@ size 4 from 1@
        for 2@ = 0 to 31
               if
                    001D:   2@ > 1@
                then
                    break
                end
            03F0: enable_text_draw 1
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)

            0A9E: writefile 0@ size 4 from 67@(2@,36i)   
            0A9E: writefile 0@ size 4 from 99@(2@,36i)
            0A9E: writefile 0@ size 4 from 131@(2@,36i)
            0A9E: writefile 0@ size 4 from 163@(2@,36i)
            0A9E: writefile 0@ size 4 from 195@(2@,36i)
            0A9E: writefile 0@ size 4 from 227@(2@,36i)
            0A9E: writefile 0@ size 4 from 259@(2@,36i)
            0A9E: writefile 0@ size 4 from 291@(2@,36i)
            0A9E: writefile 0@ size 4 from 323@(2@,36i)
            0A9E: writefile 0@ size 4 from 355@(2@,36i)
            0A9E: writefile 0@ size 4 from 387@(2@,36i)
            0A9E: writefile 0@ size 4 from 419@(2@,36i)
            0A9E: writefile 0@ size 4 from 451@(2@,36i)
            0A9E: writefile 0@ size 4 from 483@(2@,36i)
            0A9E: writefile 0@ size 4 from 515@(2@,36i)
            0A9E: writefile 0@ size 4 from 547@(2@,36i)
            0A9E: writefile 0@ size 4 from 579@(2@,36i)
            0A9E: writefile 0@ size 4 from 611@(2@,36i)
            0A9E: writefile 0@ size 4 from 643@(2@,36i)
            0A9E: writefile 0@ size 4 from 675@(2@,36i)
            0A9E: writefile 0@ size 4 from 707@(2@,36i)
            0A9E: writefile 0@ size 4 from 739@(2@,36i)
            0A9E: writefile 0@ size 4 from 771@(2@,36i)
            0A9E: writefile 0@ size 4 from 803@(2@,36i)
            0A9E: writefile 0@ size 4 from 835@(2@,36i)
        end      
    0A9B: closefile 0@
    00BC: text_highpriority 'SV32_11'  5000 ms  1
    jump @SAV32MISS_74_onfoot
end
jump @SAV32MISS_70_SaveData


:SAV32MISS_maxamount
00BA: text_styled 'SV32_17'  5000 ms  4
wait 1000

:SAV32MISS_74_onfoot
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)

:SAV32MISS_75_onfootLoop
0001: wait 0 ms
if  and
80FE:  not actor $PLAYER_ACTOR  1 (in-sphere)near_point -1526.4872 -400.5164 7.08 radius  1.5  1.5  1.5
80FE:  not actor $PLAYER_ACTOR  1 (in-sphere)near_point -1275.4133 30.9535 14.1484 radius  1.5  1.5  1.5
00A3:   actor $PLAYER_ACTOR sphere 0 in_rectangle_cornerA -1623.6 -694.8 cornerB -1076.6464 415.95  
jf @SAV32MISS_pass_1
if  and
0AB0:   key_pressed 46//-----------------------press delete
00E1:   player 0 pressed_key 6//--------------- hand brake 
00DF:   actor $PLAYER_ACTOR driving
jf @SAV32MISS_75_onfootLoop

for 2@ = 0 to 31
    if
        001D:   2@ > 1@
    then
        break
    end
    if
        00DB:   actor $PLAYER_ACTOR in_car 35@(2@,36i)
    then
       0085: 14@ = 2@ // (int)
       00AA: store_car 35@(2@,36i) position_to 937@ 938@ 939@
       939@ += 2.0
       00AB: put_car 35@(2@,36i) at 937@ 938@ 939@ 
       jump @SAV32MISS_80_Readfile
    end
end
00BA: text_styled 'fem_off'  1000 ms  4
wait 1000
jump @SAV32MISS_75_onfootLoop





















:SAV32MISS_80_Readfile
wait 0
if 0A9A: 0@ = openfile "CLEO\SAVE_32Data_SFAirport.caz" mode 0x6272  // binary read
then
    0A9D: readfile 0@ size 4 from 1@
        for 2@ = 0 to 31
                if
                    001D:   2@ > 1@
                then
                    break
                end        
            0A9D: readfile 0@ size 4 from 67@(2@,36i)   
            0A9D: readfile 0@ size 4 from 99@(2@,36i)
            0A9D: readfile 0@ size 4 from 131@(2@,36i)
            0A9D: readfile 0@ size 4 from 163@(2@,36i)
            0A9D: readfile 0@ size 4 from 195@(2@,36i)
            0A9D: readfile 0@ size 4 from 227@(2@,36i)
            0A9D: readfile 0@ size 4 from 259@(2@,36i)
            0A9D: readfile 0@ size 4 from 291@(2@,36i)
            0A9D: readfile 0@ size 4 from 323@(2@,36i)
            0A9D: readfile 0@ size 4 from 355@(2@,36i)
            0A9D: readfile 0@ size 4 from 387@(2@,36i)
            0A9D: readfile 0@ size 4 from 419@(2@,36i)
            0A9D: readfile 0@ size 4 from 451@(2@,36i)
            0A9D: readfile 0@ size 4 from 483@(2@,36i)
            0A9D: readfile 0@ size 4 from 515@(2@,36i)
            0A9D: readfile 0@ size 4 from 547@(2@,36i)
            0A9D: readfile 0@ size 4 from 579@(2@,36i)
            0A9D: readfile 0@ size 4 from 611@(2@,36i)
            0A9D: readfile 0@ size 4 from 643@(2@,36i)
            0A9D: readfile 0@ size 4 from 675@(2@,36i)
            0A9D: readfile 0@ size 4 from 707@(2@,36i)
            0A9D: readfile 0@ size 4 from 739@(2@,36i)
            0A9D: readfile 0@ size 4 from 771@(2@,36i)
            0A9D: readfile 0@ size 4 from 803@(2@,36i)
            0A9D: readfile 0@ size 4 from 835@(2@,36i)
            03F0: enable_text_draw 1
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)
            
        end
    0A9B: closefile 0@
    jump @SAV32MISS_83_ChangeData
end
jump @SAV32MISS_80_Readfile



:SAV32MISS_83_ChangeData
13@ = 0
2@ = 0
        for 2@ = 0 to 31    
               if
                    001D:   2@ > 1@
                then
                    break
                end

                if
                    803b: not  14@ == 2@
                then
                0085: 35@(13@,36i) = 35@(2@,36i)
                0085: 67@(13@,36i) = 67@(2@,36i) // (int)
                0085: 99@(13@,36i) = 99@(2@,36i) // (int)
                0085: 131@(13@,36i) = 131@(2@,36i) // (int)
                0085: 163@(13@,36i) = 163@(2@,36i) // (int)
                0085: 195@(13@,36i) = 195@(2@,36i) // (int)
                0085: 227@(13@,36i) = 227@(2@,36i) // (int)
                0085: 259@(13@,36i) = 259@(2@,36i) // (int)
                0085: 291@(13@,36i) = 291@(2@,36i) // (int)
                0085: 323@(13@,36i) = 323@(2@,36i) // (int)
                0085: 355@(13@,36i) = 355@(2@,36i) // (int)
                0085: 387@(13@,36i) = 387@(2@,36i) // (int)
                0085: 419@(13@,36i) = 419@(2@,36i) // (int)
                0085: 451@(13@,36i) = 451@(2@,36i) // (int)
                0085: 483@(13@,36i) = 483@(2@,36i) // (int)
                0085: 515@(13@,36i) = 515@(2@,36i) // (int)
                0085: 547@(13@,36i) = 547@(2@,36i) // (int)
                0085: 579@(13@,36i) = 579@(2@,36i) // (int)
                0085: 611@(13@,36i) = 611@(2@,36i) // (int)
                0085: 643@(13@,36i) = 643@(2@,36i) // (int)
                0085: 675@(13@,36i) = 675@(2@,36i) // (int)
                0085: 707@(13@,36i) = 707@(2@,36i) // (int)
                0085: 739@(13@,36i) = 739@(2@,36i) // (int)
                0085: 771@(13@,36i) = 771@(2@,36i) // (int)
                0085: 803@(13@,36i) = 803@(2@,36i) // (int)
                0085: 835@(13@,36i) = 835@(2@,36i) // (int)
                13@ += 1
                end
          end
01C3: remove_references_to_car 35@(14@,36i)
1@ -= 1


:SAV32MISS_85_SaveData
wait 0
if 0A9A: 0@ = openfile "CLEO\SAVE_32Data_SFAirport.caz" mode 0x6277  // binary read
then
    00BA: text_styled 'SV32_15'  1000 ms  4
    0A9E: writefile 0@ size 4 from 1@
        for 2@ = 0 to 31
               if
                    001D:   2@ > 1@
                then
                    break
                end
            03F0: enable_text_draw 1
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)

            0A9E: writefile 0@ size 4 from 67@(2@,36i)   
            0A9E: writefile 0@ size 4 from 99@(2@,36i)
            0A9E: writefile 0@ size 4 from 131@(2@,36i)
            0A9E: writefile 0@ size 4 from 163@(2@,36i)
            0A9E: writefile 0@ size 4 from 195@(2@,36i)
            0A9E: writefile 0@ size 4 from 227@(2@,36i)
            0A9E: writefile 0@ size 4 from 259@(2@,36i)
            0A9E: writefile 0@ size 4 from 291@(2@,36i)
            0A9E: writefile 0@ size 4 from 323@(2@,36i)
            0A9E: writefile 0@ size 4 from 355@(2@,36i)
            0A9E: writefile 0@ size 4 from 387@(2@,36i)
            0A9E: writefile 0@ size 4 from 419@(2@,36i)
            0A9E: writefile 0@ size 4 from 451@(2@,36i)
            0A9E: writefile 0@ size 4 from 483@(2@,36i)
            0A9E: writefile 0@ size 4 from 515@(2@,36i)
            0A9E: writefile 0@ size 4 from 547@(2@,36i)
            0A9E: writefile 0@ size 4 from 579@(2@,36i)
            0A9E: writefile 0@ size 4 from 611@(2@,36i)
            0A9E: writefile 0@ size 4 from 643@(2@,36i)
            0A9E: writefile 0@ size 4 from 675@(2@,36i)
            0A9E: writefile 0@ size 4 from 707@(2@,36i)
            0A9E: writefile 0@ size 4 from 739@(2@,36i)
            0A9E: writefile 0@ size 4 from 771@(2@,36i)
            0A9E: writefile 0@ size 4 from 803@(2@,36i)
            0A9E: writefile 0@ size 4 from 835@(2@,36i)
        end      
    0A9B: closefile 0@
    00BC: text_highpriority 'SV32_10'  3000 ms  1
    jump @SAV32MISS_nokeypressed
end
jump @SAV32MISS_85_SaveData


:SAV32MISS_nokeypressed

repeat
wait 0
until 8AB0: not  key_pressed 46//-----------------------press delete






:SAV32MISS_pass_1
00BA: text_styled 'SV32_12'  1000 ms  4
0051: return

:SAV32MISS_fail_1
00BA: text_styled 'M_FAIL'  5000 ms  1
0051: return

:SAV32MISS_clep_1
if
17@ == 1
then
08DA: remove_panel 3@
end

if
not 1@ == -1
jf @SAV32MISS_clep_75
2@ = 0

    for 2@ = 0 to 31
            if
                001D:   2@ > 1@
            then
                break
            end
        03F0: enable_text_draw 1
        0343: set_text_draw_linewidth 300.0
        045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
        0343: set_text_draw_linewidth 300.0
        045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)
        01C3: remove_references_to_car 35@(2@,36i)
    end



:SAV32MISS_clep_75
0004: $ONMISSION =  0
00D8: mission_cleanup
0051: return














:SAV32MISS_AddTuningSUB

                for 10@ = 0 to 16


                    0871: init_jump_table 10@ total_jumps  23  0 @SAV32MISS_AddT00 jumps  0 @SAV32MISS_AddT01  1 @SAV32MISS_AddT11  2 @SAV32MISS_AddT22  3 @SAV32MISS_AddT33  4 @SAV32MISS_AddT44  5 @SAV32MISS_AddT55 6 @SAV32MISS_AddT66
                    0872: jump_table_jumps  7 @SAV32MISS_AddT77  8 @SAV32MISS_AddT88  9 @SAV32MISS_AddT99  10 @SAV32MISS_AddT101  11 @SAV32MISS_AddT111  12 @SAV32MISS_AddT122  13 @SAV32MISS_AddT133  14 @SAV32MISS_AddT144  15 @SAV32MISS_AddT155
                    0872: jump_table_jumps  16 @SAV32MISS_AddT166  -1 @SAV32MISS_AddT00  -1 @SAV32MISS_AddT00  -1 @SAV32MISS_AddT00  -1 @SAV32MISS_AddT00  -1 @SAV32MISS_AddT00  -1 @SAV32MISS_AddT00  -1 @SAV32MISS_AddT00  -1 @SAV32MISS_AddT00


                    :SAV32MISS_AddT00// here goes the code if the value of the variable not exist in the jumptable
                    0085: 870@(10@,36i) = 323@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT01
                    0085: 870@(10@,36i) = 323@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT11
                    0085: 870@(10@,36i) = 355@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT22
                    0085: 870@(10@,36i) = 387@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT33
                    0085: 870@(10@,36i) = 419@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT44
                    0085: 870@(10@,36i) = 451@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT55
                    0085: 870@(10@,36i) = 483@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT66
                    0085: 870@(10@,36i) = 515@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT77
                    0085: 870@(10@,36i) = 547@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT88
                    0085: 870@(10@,36i) = 579@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT99
                    0085: 870@(10@,36i) = 611@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT101
                    0085: 870@(10@,36i) = 643@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT111
                    0085: 870@(10@,36i) = 675@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT122
                    0085: 870@(10@,36i) = 707@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT133
                    0085: 870@(10@,36i) = 739@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT144
                    0085: 870@(10@,36i) = 771@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT155
                    0085: 870@(10@,36i) = 803@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT

                    :SAV32MISS_AddT166
                    0085: 870@(10@,36i) = 835@(2@,36i) // (int)
                    jump @SAV32MISS_AddEXIT


                    :SAV32MISS_AddEXIT        
                        if
                        870@(10@,36i) > 1
                        then    
                            06E9: load_car_component 870@(10@,36i)
                            while  86EA:  not car_component 870@(10@,36i) available
                                0001: wait 0 ms
                                03F0: enable_text_draw 1
                                033E: set_draw_text_position 300.0  150.0 GXT 'SV32_13'
                                0343: set_text_draw_linewidth 300.0
                                045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
                                0343: set_text_draw_linewidth 300.0
                                045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)
                                0343: set_text_draw_linewidth 300.0
                                045A: draw_text_1number 20.0  120.0 GXT 'SV32_08' number 870@(10@,36i)
                            end    
                            06E7: 960@(10@,36i) = add_car_component 870@(10@,36i) to_car 35@(2@,36i)
                            06EB: release_car_component 870@(10@,36i)
                        end
                //wait 0
                end



return



:SAV32MISS_AddColorSUB
        for 2@ = 0 to 31
                if
                    001D:   2@ > 1@
                then
                    break
                end
                if
                8119:   not car 35@(2@,36i) wrecked
                then
                0229: set_car 35@(2@,36i) primary_color_to 259@(2@,36i) secondary_color_to 291@(2@,36i)
                end
        end

return









:SAV32MISS_modcheck_main
900@ = 0
930@ = 0
931@ = 0
932@ = 0
933@ = 0
960@ = -1
961@ = -1
962@ = -1
963@ = -1
964@ = -1
965@ = -1
966@ = -1
967@ = -1
968@ = -1
969@ = -1
970@ = -1
971@ = -1
972@ = -1
973@ = -1
974@ = -1
975@ = -1
976@ = -1
977@ = -1
978@ = -1
979@ = -1
980@ = -1
981@ = -1
982@ = -1
983@ = -1
984@ = -1
985@ = -1
986@ = -1
987@ = -1
988@ = -1
989@ = -1
if and
847A:   NOT   actor $PLAYER_ACTOR driving_a_motorbike
84C8:   NOT   actor $PLAYER_ACTOR driving_flying_vehicle
84A7:   NOT   actor $PLAYER_ACTOR driving_boat
89AE:   NOT actor $PLAYER_ACTOR driving_train
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rccam
jf @SAV32MISS_modcheck_cancle
if and
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rcbandit
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rcbaron
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rcraider
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rcgoblin
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type #rctiger
jf @SAV32MISS_modcheck_cancle

if  and
00DF:  actor $PLAYER_ACTOR driving
8119:   not car 35@(2@,36i) wrecked
jf @SAV32MISS_modcheck_cancle
if 
096E:   car 35@(2@,36i) lowrider 
jf @SAV32MISS_modcheck_racer
075E: set_shopping_item_pool_items_section_to "CARMOD2" // v$  // Loco Low Co.
075D: set_shopping_item_pool_items_type_to "CARMODS" // v$
jump @SAV32MISS_modcheck_shoppingData

:SAV32MISS_modcheck_racer
if 
096F:   car 35@(2@,36i) street_racing_car 
jf @SAV32MISS_modcheck_normal
075E: set_shopping_item_pool_items_section_to "CARMOD3" // v$  // Wheel Arch Angels
075D: set_shopping_item_pool_items_type_to "CARMODS" // v$
jump @SAV32MISS_modcheck_shoppingData

:SAV32MISS_modcheck_normal
075E: set_shopping_item_pool_items_section_to "CARMOD1" // v$   // TransFender
075D: set_shopping_item_pool_items_type_to "CARMODS" // v$

:SAV32MISS_modcheck_shoppingData


930@ = 0
931@ = 0
933@ = 0
for 933@ = 0 to 15
06E5: get_car 35@(2@,36i) possible_to_built_in_component_pool_index 933@ itemID_to 930@
    if
    930@ >  1
    then
    931@ += 1
    end
end
if
931@ > 1
jf @SAV32MISS_modcheck_extra_1


wait 500
08D4: 3@ = create_panel_with_title 'dummy' position  140.0 142.0 width 240.0 columns  2 interactive  1 background  1 alignment  1
08D6: set_panel 3@ column 0 alignment 1
08DB: set_panel 3@ column  0 header 'SV32_26' data 'DUMMY' 'DUMMY' 'SV32_22' 'SV32_23' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
08D6: set_panel 3@ column 1 alignment 0
08EE: set_panel 3@ column 1 row 2 text_1number GXT 'SV32_24' number 1  // $~1~
08EE: set_panel 3@ column 1 row 3 text_1number GXT 'SV32_25' number 1  // $~1~
09DB: set_panel 3@ column 0 width 40 
09DB: set_panel 3@ column 1 width 240
090E: set_panel 3@ active_row  2
17@ = 1




:SAV32MISS_Confirm_1
wait  0
if  and
00DB:   actor $PLAYER_ACTOR in_car 35@(2@,36i)
8119:   not car 35@(2@,36i) wrecked
jf @SAV32MISS_Confirm_21
03F0: enable_text_draw 1
038E: draw_box_position 290.0  110.0 size 300.0  60.0 RGBA 0 0 0 255
038E: draw_box_position 290.0  340.0 size 300.0  120.0 RGBA 0 0 0 255
0343: set_text_linewidth  400.0
033E: text_draw  150.0  85.0 'SV32_29'
0343: set_text_linewidth  420.0
0340: set_text_draw_color  150  0  0  255
033E: text_draw  150.0  285.0 'SV32_27'
0343: set_text_linewidth  420.0
033E: text_draw  150.0  360.0 'SV32_28'

:SAV32MISS_Confirm_2
if  or
0AB0:   key_pressed 13// 	enter key
0AB0:   key_pressed 16// 	shift key
jf @SAV32MISS_Confirm_1
03E6: remove_text_box
08D7: 4@ = panel 3@ active_row//-- submit number of the highlighted button into variable
if
0039:   4@ ==  2  // integer values
jf @SAV32MISS_Confirm_3
jump @SAV32MISS_Confirm_19

:SAV32MISS_Confirm_3
if
0039:   4@ ==  3  // integer values
jf @SAV32MISS_Confirm_19
08DA: remove_panel 3@
17@ = 0 
jump @SAV32MISS_Confirm_full_modcheck


:SAV32MISS_Confirm_19
08DA: remove_panel 3@
17@ = 0
jump @SAV32MISS_modcheck_extra_1


:SAV32MISS_Confirm_21
08DA: remove_panel 3@
17@ = 0
jump @SAV32MISS_modcheck_cancle

:SAV32MISS_Confirm_full_modcheck
096D: get_car 35@(2@,36i) tuningpart_on_slot 8 item_to 960@
096D: get_car 35@(2@,36i) tuningpart_on_slot 9 item_to 961@
096D: get_car 35@(2@,36i) tuningpart_on_slot 10 item_to 962@
096D: get_car 35@(2@,36i) tuningpart_on_slot 11 item_to 963@
                if
                1 > 963@
                then
                096D: get_car 35@(2@,36i) tuningpart_on_slot 12 item_to 963@
                end


4@ = 0
3@ = 0
5@ = 0
075F: store_shopping_data_entries_number_to 4@



:SAV32MISS_modcheck_Loop
0001: wait  0 ms
if  and
00DF:  actor $PLAYER_ACTOR driving
8119:   not car 35@(2@,36i) wrecked
jf @SAV32MISS_modcheck_cancle
if
001D:   4@ > 3@
jf @SAV32MISS_modcheck_Exit

0760: store_shopping_data_index 3@ textureCRC_to 5@
              
900@ = 0              
931@ = 0
933@ = 0
  
  
  for 933@ = 0 to 15
      06E5: get_car 35@(2@,36i) possible_to_built_in_component_pool_index 933@ itemID_to 931@
          if
              003b:  931@ == 5@  // integer values and handles
          then

              06E6: get_itemID 5@ destinated_component_slot_to 900@                                        
              096D: get_car 35@(2@,36i) tuningpart_on_slot 900@ item_to 964@(3@,36i)
              break

          end
  end 

            
            03F0: enable_text_draw 1
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  120.0 GXT 'SV32_07' number 900@
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  130.0 GXT 'SV32_08' number 964@(3@,36i)

if  or
003b:   964@(3@,36i) == 960@
003b:   964@(3@,36i) == 961@
003b:   964@(3@,36i) == 962@
003b:   964@(3@,36i) == 963@
then
964@(3@,36i) = -1
end

000A: 3@ += 1
jump @SAV32MISS_modcheck_Loop

:SAV32MISS_modcheck_Exit 
087C: release_shopping_data 



    if
        00DD:   actor $PLAYER_ACTOR driving_vehicle_type #REMINGTN
    then

        0A97: 0@ = car 35@(2@,36i) struct
        0@ += 1000
        6@ = 0
        
        for 6@ = 0 to 100
            0@ += 2
            0A8D: 7@ = read_memory 0@ size 2 virtual_protect 0
            if  or
                7@ == 1100
                7@ == 1123
                7@ == 1125
            then
                0085: 964@(3@,36i) = 7@ // (int)
                break
            end
        end                                   
    else
    964@(3@,36i) = 0
    end



jump @SAV32MISS_modcheck_return











:SAV32MISS_modcheck_extra_1
096D: get_car 35@(2@,36i) tuningpart_on_slot 8 item_to 960@
096D: get_car 35@(2@,36i) tuningpart_on_slot 9 item_to 961@
096D: get_car 35@(2@,36i) tuningpart_on_slot 10 item_to 962@
096D: get_car 35@(2@,36i) tuningpart_on_slot 11 item_to 963@
                if
                1 > 963@
                then
                096D: get_car 35@(2@,36i) tuningpart_on_slot 12 item_to 963@
                end
0051: return






:SAV32MISS_modcheck_return
0051: return

:SAV32MISS_modcheck_cancle
0051: return


:SAV32MISS_TuningDataSUB
323@(2@,36i) = -1
355@(2@,36i) = -1
387@(2@,36i) = -1
419@(2@,36i) = -1
451@(2@,36i) = -1
483@(2@,36i) = -1
515@(2@,36i) = -1
547@(2@,36i) = -1
579@(2@,36i) = -1
611@(2@,36i) = -1
643@(2@,36i) = -1
675@(2@,36i) = -1
707@(2@,36i) = -1
739@(2@,36i) = -1
771@(2@,36i) = -1
803@(2@,36i) = -1
835@(2@,36i) = -1
9@ = 0
10@ = 0
11@ = 0

for 10@ = 0 to 29
0085: 9@ = 10@ // (int)
    if
    960@(10@,36i) > 1
    then
        0085: 870@(11@,36i) = 960@(10@,36i) // (int)
        if
        10@ > 0
        then
        9@ -= 1
                if
                003b:   870@(11@,36i) == 960@(9@,36i)  // integer values and handles
                then
                jump @SAV32MISS_Skip
                end
        end

0871: init_jump_table 11@ total_jumps  23  0 @SAV32MISS_T00 jumps  0 @SAV32MISS_T01  1 @SAV32MISS_T11  2 @SAV32MISS_T22  3 @SAV32MISS_T33  4 @SAV32MISS_T44  5 @SAV32MISS_T55 6 @SAV32MISS_T66
0872: jump_table_jumps  7 @SAV32MISS_T77  8 @SAV32MISS_T88  9 @SAV32MISS_T99  10 @SAV32MISS_T101  11 @SAV32MISS_T111  12 @SAV32MISS_T122  13 @SAV32MISS_T133  14 @SAV32MISS_T144  15 @SAV32MISS_T155
0872: jump_table_jumps  16 @SAV32MISS_T166  -1 @SAV32MISS_T00  -1 @SAV32MISS_T00  -1 @SAV32MISS_T00  -1 @SAV32MISS_T00  -1 @SAV32MISS_T00  -1 @SAV32MISS_T00  -1 @SAV32MISS_T00  -1 @SAV32MISS_T00


:SAV32MISS_T00// here goes the code if the value of the variable not exist in the jumptable
0085: 323@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T01
0085: 323@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T11
0085: 355@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T22
0085: 387@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T33
0085: 419@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T44
0085: 451@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T55
0085: 483@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T66
0085: 515@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T77
0085: 547@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T88
0085: 579@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T99
0085: 611@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T101
0085: 643@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T111
0085: 675@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T122
0085: 707@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T133
0085: 739@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T144
0085: 771@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T155
0085: 803@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT

:SAV32MISS_T166
0085: 835@(2@,36i) = 870@(11@,36i) // (int)
jump @SAV32MISS_EXIT


:SAV32MISS_EXIT        
11@ += 1    

:SAV32MISS_Skip

    end


            03F0: enable_text_draw 1
            //045A: text_draw_1number  20.0  80.0 'NUMBER' 1@    // value
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  100.0 GXT 'SV32_16' number 2@
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  110.0 GXT 'SV32_06' number 67@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  120.0 GXT 'SV32_08' number 323@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  130.0 GXT 'SV32_08' number 355@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  140.0 GXT 'SV32_08' number 387@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  150.0 GXT 'SV32_08' number 419@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  160.0 GXT 'SV32_08' number 451@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  170.0 GXT 'SV32_08' number 483@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  180.0 GXT 'SV32_08' number 515@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  190.0 GXT 'SV32_08' number 547@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  200.0 GXT 'SV32_08' number 579@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  210.0 GXT 'SV32_08' number 611@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  220.0 GXT 'SV32_08' number 643@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  230.0 GXT 'SV32_08' number 675@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  240.0 GXT 'SV32_08' number 707@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  250.0 GXT 'SV32_08' number 739@(2@,36i)
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  260.0 GXT 'SV32_08' number 771@(2@,36i)            
            0343: set_text_draw_linewidth 300.0
            045A: draw_text_1number 20.0  270.0 GXT 'SV32_08' number 835@(2@,36i)
wait 0
end

0051: return




























































