SCRIPT APK_4AB_YRG_YW_ALSN_Zel_B_Z extern float block_state (); extern float def_draw_state (); extern float state; extern float draw_state; extern float next_sig_lr (); extern float next_sig_mr (); extern float opp_sig_lr (); extern float opp_sig_mr (); extern float sig_feature (); float WORK1; float ONE_WAY; float SVET; float POEZD; float next_INFO; float opp_ONE_WAY; float opp_POEZD; ONE_WAY = 0; SVET = 0; POEZD = 0; next_INFO = 8; opp_POEZD = 0; opp_ONE_WAY = 0; if ( block_state() !=# BLOCK_JN_OBSTRUCTED ) { WORK1 = next_sig_mr ( SIGFN_NORMAL ); if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { ONE_WAY = 1; } WORK1 = next_sig_lr ( SIGFN_DISTANCE ); if ( WORK1 ==# SIGASP_CLEAR_2 ) { SVET = 5; } if ( WORK1 ==# SIGASP_CLEAR_1 ) { SVET = 4; } if ( WORK1 ==# SIGASP_APPROACH_3 ) { SVET = 3; } if ( WORK1 ==# SIGASP_APPROACH_2 ) { SVET = 2; } if ( WORK1 ==# SIGASP_APPROACH_1 ) { SVET = 1; } if ( WORK1 ==# SIGASP_RESTRICTING ) { POEZD = 2; } if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { POEZD = 1; } WORK1 = next_sig_mr ( SIGFN_INFO ); if ( WORK1 ==# SIGASP_CLEAR_1 ) { next_INFO = 7; } if ( WORK1 ==# SIGASP_APPROACH_3 ) { next_INFO = 6; } if ( WORK1 ==# SIGASP_APPROACH_2 ) { next_INFO = 5; } if ( WORK1 ==# SIGASP_APPROACH_1 ) { next_INFO = 4; } if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { next_INFO = 2; } if ( WORK1 ==# SIGASP_RESTRICTING ) { next_INFO = 3; } if ( WORK1 ==# SIGASP_STOP ) { next_INFO = 0; } } if ( sig_feature( SIGFEAT_GRADIENT_PLATE ) && !sig_feature( SIGFEAT_NUMBER_PLATE ) ) { WORK1 = opp_sig_mr ( SIGFN_NORMAL ); if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { opp_ONE_WAY = 1; } WORK1 = opp_sig_lr ( SIGFN_DISTANCE ); if ( WORK1 ==# SIGASP_RESTRICTING ) { opp_POEZD = 2; } if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { opp_POEZD = 1; } } if ( next_INFO ==# 4 ) { next_INFO = 8; } if ( next_INFO ==# 5 ) { next_INFO = 8; } if ( next_INFO ==# 6 ) { next_INFO = 8; } if ( next_INFO ==# 3 && sig_feature( SIGFEAT_NUMBER_PLATE ) ) { next_INFO = 8; } state = SIGASP_STOP; if ( sig_feature( SIGFEAT_NUMBER_PLATE ) && POEZD !=# 1 ) { if ( block_state() !=# BLOCK_CLEAR || POEZD ==# 2 || ONE_WAY ==# 1 ) { state = SIGASP_STOP_AND_PROCEED; } } if ( block_state() ==# BLOCK_CLEAR ) { if ( SVET !=# 0 && next_INFO ==# 8 && POEZD ==# 0 ) { state = SIGASP_CLEAR_2; if ( sig_feature( SIGFEAT_USER4 ) && SVET ==# 1 ) { state = SIGASP_APPROACH_1; } if ( !sig_feature( SIGFEAT_USER2 ) ) { state = SIGASP_RESTRICTING; } } } if ( sig_feature( SIGFEAT_GRADIENT_PLATE ) && !sig_feature( SIGFEAT_NUMBER_PLATE ) ) { if ( opp_POEZD ==# 2 || opp_ONE_WAY ==# 1 ) { state = SIGASP_STOP; } } if ( sig_feature( SIGFEAT_NUMBER_PLATE ) && POEZD ==# 1 && block_state() ==# BLOCK_CLEAR ) { state = SIGASP_RESTRICTING; } draw_state = def_draw_state (state);
SCRIPT APK_4AB_YR_GY_Kv extern float block_state (); extern float def_draw_state (); extern float state; extern float draw_state; extern float next_sig_lr (); extern float next_sig_mr (); extern float opp_sig_lr (); extern float opp_sig_mr (); extern float sig_feature (); float WORK1; float SVET; float POEZD; float next_INFO; float opp_ONE_WAY; float opp_POEZD; SVET = 0; POEZD = 0; next_INFO = 8; opp_POEZD = 0; opp_ONE_WAY = 0; if ( block_state() !=# BLOCK_JN_OBSTRUCTED ) { WORK1 = next_sig_lr ( SIGFN_DISTANCE ); if ( WORK1 ==# SIGASP_CLEAR_2 ) { SVET = 5; } if ( WORK1 ==# SIGASP_CLEAR_1 ) { SVET = 4; } if ( WORK1 ==# SIGASP_APPROACH_3 ) { SVET = 3; } if ( WORK1 ==# SIGASP_APPROACH_2 ) { SVET = 2; } if ( WORK1 ==# SIGASP_APPROACH_1 ) { SVET = 1; } if ( WORK1 ==# SIGASP_RESTRICTING ) { POEZD = 2; } if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { POEZD = 1; } WORK1 = next_sig_mr ( SIGFN_INFO ); if ( WORK1 ==# SIGASP_CLEAR_1 ) { next_INFO = 7; } if ( WORK1 ==# SIGASP_APPROACH_3 ) { next_INFO = 6; } if ( WORK1 ==# SIGASP_APPROACH_2 ) { next_INFO = 5; } if ( WORK1 ==# SIGASP_APPROACH_1 ) { next_INFO = 4; } if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { next_INFO = 2; } if ( WORK1 ==# SIGASP_RESTRICTING ) { next_INFO = 3; } if ( WORK1 ==# SIGASP_STOP ) { next_INFO = 0; } } if ( sig_feature( SIGFEAT_GRADIENT_PLATE ) && !sig_feature( SIGFEAT_NUMBER_PLATE ) ) { WORK1 = opp_sig_mr ( SIGFN_NORMAL ); if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { opp_ONE_WAY = 1; } WORK1 = opp_sig_lr ( SIGFN_DISTANCE ); if ( WORK1 ==# SIGASP_RESTRICTING ) { opp_POEZD = 2; } if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { opp_POEZD = 1; } } if ( next_INFO ==# 4 ) { next_INFO = 8; } if ( next_INFO ==# 5 ) { next_INFO = 8; } if ( next_INFO ==# 6 ) { next_INFO = 8; } if ( next_INFO ==# 3 && sig_feature( SIGFEAT_NUMBER_PLATE ) ) { next_INFO = 8; } state = SIGASP_STOP; if ( next_INFO ==# 8 && POEZD ==# 0 && block_state() ==# BLOCK_CLEAR ) { if ( SVET ==# 0 ) { state = SIGASP_STOP_AND_PROCEED; } if ( SVET ==# 1 ) { state = SIGASP_RESTRICTING; } if ( SVET ==# 2 ) { state = SIGASP_CLEAR_1; } if ( SVET ==# 3 ) { state = SIGASP_APPROACH_1; } if ( SVET ==# 4 ) { state = SIGASP_APPROACH_1; } if ( SVET ==# 5 ) { state = SIGASP_APPROACH_2; } } if ( next_INFO ==# 0 && POEZD ==# 0 && block_state() ==# BLOCK_CLEAR ) { if ( SVET ==# 0 ) { state = SIGASP_CLEAR_2; } if ( SVET !=# 0 ) { state = SIGASP_APPROACH_3; } if ( !sig_feature( SIGFEAT_USER3 ) ) { state = SIGASP_CLEAR_2; } } if ( sig_feature( SIGFEAT_NUMBER_PLATE ) && POEZD ==# 1 ) { state = SIGASP_STOP; } if ( sig_feature( SIGFEAT_GRADIENT_PLATE ) && !sig_feature( SIGFEAT_NUMBER_PLATE ) && ( opp_POEZD ==# 2 || opp_ONE_WAY ==# 1 ) ) { state = SIGASP_STOP; } draw_state = def_draw_state (state);