public _MENU_ChangeRace( idUser, key ) { if ( !WC3_Check() ) { return PLUGIN_HANDLED; } // User pressed 0 (cancel) if ( get_pcvar_num( CVAR_wc3_races ) < 9 && key - 1 == get_pcvar_num( CVAR_wc3_races ) ) { return PLUGIN_HANDLED; } // Save the current race data before we change DB_SaveXP( idUser, false ); new iRace, iAutoSelectKey = KEY_0; if ( get_pcvar_num( CVAR_wc3_races ) != 9 ) { iAutoSelectKey = get_pcvar_num( CVAR_wc3_races ) } // Auto select a race if ( key == iAutoSelectKey ) { iRace = random_num( 1, get_pcvar_num( CVAR_wc3_races ) ); } // Otherwise race is set else { iRace = key + 1; } if(iRace == 9 || 3 ) { if(!(get_user_flags(idUser) & ADMIN_FLAG)) { format(szMessage, sizeof(szMessage) - 1, "%L%L%L %L", LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT", LANG_PLAYER,"YOU_HAVE_NO_ACCESS"); client_print( idUser, print_console,szMessage); cssbColoredPrint(idUser, szMessage); return PLUGIN_HANDLED; } } // User currently has a race if ( p_data[idUser][P_RACE] != 0 ) { // Change the user's race at the start of next round if ( iRace != p_data[idUser][P_RACE] ) { // Special message for csdm if ( CVAR_csdm_active > 0 && get_pcvar_num( CVAR_csdm_active ) == 1 ) { format(szMessage, sizeof(szMessage) - 1, "%L",LANG_PLAYER,"CLIENT_PRINT_MENU_CHANGE_RACE"); client_print( idUser, print_center,szMessage); } else { format(szMessage, sizeof(szMessage) - 1, "%L",LANG_PLAYER,"CENTER_CHANGED_NEXT"); client_print( idUser, print_center,szMessage); } p_data[idUser][P_CHANGERACE] = iRace; } // Do nothing else { p_data[idUser][P_CHANGERACE] = 0; } } // User doesn't have a race so give it to him!!! else { WC3_SetRace( idUser, iRace ); } return PLUGIN_HANDLED; }