void main() { //reset_globals(); setGameInputToEnabled(true, true); setAirbrakeRelatedInputToBlocked(false, true); write_text_to_log_file("Setting up calls"); set_periodic_feature_call(update_features); write_text_to_log_file("Loading settings"); load_settings(); init_vehicle_feature(); write_text_to_log_file("Loaded settings OK"); // this creates a new locale based on the current application default // (which is either the one given on startup, but can be overriden with // std::locale::global) - then extends it with an extra facet that // controls numeric output. std::locale comma_locale(std::locale(), new comma_numpunct()); // tell cout to use our new locale. std::cout.imbue(comma_locale); set_status_text("~HUD_COLOUR_MENU_YELLOW~ENT ~HUD_COLOUR_WHITE~is ready!"); while (true) { if (trainer_switch_pressed()) { menu_beep(); set_menu_showing(true); process_main_menu(); set_menu_showing(false); } else if (airbrake_switch_pressed()) { menu_beep(); process_airbrake_menu(); } update_features(); WAIT(0); } }
//Test for airbrake command. void process_airbrake_menu() { exitFlag = false; const float lineWidth = 250.0; const int lineCount = 1; bool loadedAnims = false; std::string caption = "Airbrake"; //draw_menu_header_line(caption,350.0f,50.0f,15.0f,0.0f,15.0f,false); DWORD waitTime = 150; Ped playerPed = PLAYER::PLAYER_PED_ID(); bool inVehicle = PED::IS_PED_IN_ANY_VEHICLE(playerPed, 0) ? true : false; if (!inVehicle) { STREAMING::REQUEST_ANIM_DICT(AIRBRAKE_ANIM_A); while (!STREAMING::HAS_ANIM_DICT_LOADED(AIRBRAKE_ANIM_A)) { WAIT(0); } loadedAnims = true; } while (true && !exitFlag) { // timed menu draw, used for pause after active line switch DWORD maxTickCount = GetTickCount() + waitTime; do { // draw menu draw_menu_header_line(caption, 350.0f, 50.0f, 15.0f, 0.0f, 15.0f, false); //draw_menu_line(caption, lineWidth, 15.0, 18.0, 0.0, 5.0, false, true); make_periodic_feature_call(); WAIT(0); } while (GetTickCount() < maxTickCount); waitTime = 0; airbrake(inVehicle); //// process buttons //bool bSelect, bBack, bUp, bDown; //get_button_state(&bSelect, &bBack, &bUp, &bDown, NULL, NULL); if (airbrake_switch_pressed()) { menu_beep(); break; } } if (!inVehicle) { AI::CLEAR_PED_TASKS_IMMEDIATELY(PLAYER::PLAYER_PED_ID()); } exitFlag = false; }