// Includes USING "rage_builtins.sch" USING "globals.sch" USING "cellphone_public.sch" USING "commands_script.sch" USING "commands_misc.sch" USING "commands_graphics.sch" USING "commands_pad.sch" USING "vehicle_gen_public.sch" USING "email_public.sch" USING "completionpercentage_public.sch" USING "flow_mission_data_public.sch" USING "random_events_public.sch" USING "photographywildlife.sch" USING "shop_private.sch" USING "script_drawing.sch" USING "net_cloud_reward_system.sch" USING "net_casino.sch" #IF NOT FEATURE_DLC_1_2022 CONST_INT NUM_PAGES_LEGENDARYMOTORSPORT_NET 178 CONST_INT NUM_PAGES_SOUTHERNSANANDREASSUPERAUTOS_COM 240 CONST_INT NUM_PAGES_ELITASTRAVEL_COM 36 #ENDIF #IF FEATURE_DLC_1_2022 CONST_INT NUM_PAGES_LEGENDARYMOTORSPORT_NET 184 CONST_INT NUM_PAGES_SOUTHERNSANANDREASSUPERAUTOS_COM 247 CONST_INT NUM_PAGES_ELITASTRAVEL_COM 37 #ENDIF #IF NOT FEATURE_GEN9_EXCLUSIVE CONST_INT NUM_PAGES_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM 157 // includING removed cnc pages. #ENDIF #IF FEATURE_GEN9_EXCLUSIVE CONST_INT NUM_PAGES_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM 158 // includING removed cnc pages. #ENDIF CONST_INT NUM_PAGES_DOCKTEASE_COM 28 CONST_INT NUM_PAGES_PANDMCYCLES_COM 9 #IF NOT FEATURE_DLC_1_2022 CONST_INT NUM_PAGES_BENNYSORIGINALMOTORWORKS_COM 28 #ENDIF #IF FEATURE_DLC_1_2022 CONST_INT NUM_PAGES_BENNYSORIGINALMOTORWORKS_COM 32 #ENDIF CONST_INT NUM_PAGES_ARENA_COM 22 /// Enums ENUM TACO_SITE_LINES TSL_PACOW_TASTY, TSL_PACOW_COLON, TSL_PACOW_CSEC, TSL_PACOW_DOG, TSL_PACOW_VOMIT, TSL_PACOW_PAIN, TSL_PACOW_MELT ENDENUM ENUM VEHICLE_STORAGE_TYPE VST_GARAGE, VST_HANGAR, VST_MARINA, VST_HELI ENDENUM /// PURPOSE: /// Registers purchased vehicle states PROC Register_Array_Of_BuyableVehicleStates(INT ¶mBuyableVehiclesArray[NUMBER_OF_BUYABLE_VEHICLES_SP], STRING paramNameOfArray) INT tempLoop = 0 START_SAVE_ARRAY_WITH_SIZE(paramBuyableVehiclesArray, SIZE_OF(paramBuyableVehiclesArray), paramNameOfArray) TEXT_LABEL_31 VehicleName REPEAT NUMBER_OF_BUYABLE_VEHICLES_SP tempLoop VehicleName = "BUYVEC_I_" VehicleName += tempLoop REGISTER_INT_TO_SAVE(paramBuyableVehiclesArray[tempLoop], VehicleName) ENDREPEAT STOP_SAVE_ARRAY() ENDPROC /// PURPOSE: /// Registers purchased vehicle colours PROC Register_Array_Of_BuyableVehicleColours(SITE_BUYABLE_VEHICLE_COLOURS ¶mBuyableVehiclesArray[NUMBER_OF_BUYABLE_VEHICLES_SP], STRING paramNameOfArray) INT tempLoop = 0 START_SAVE_ARRAY_WITH_SIZE(paramBuyableVehiclesArray, SIZE_OF(paramBuyableVehiclesArray), paramNameOfArray) TEXT_LABEL_31 VehicleName REPEAT NUMBER_OF_BUYABLE_VEHICLES_SP tempLoop VehicleName = "BUYVEC_C_" VehicleName += tempLoop REGISTER_ENUM_TO_SAVE(paramBuyableVehiclesArray[tempLoop], VehicleName) ENDREPEAT STOP_SAVE_ARRAY() ENDPROC /// PURPOSE: /// Registers globals for purchasable vehicles PROC Register_SpBuyableVehicle_Saved_Globals() START_SAVE_STRUCT_WITH_SIZE(g_savedGlobals.sBuyableVehicleSavedData, SIZE_OF(g_savedGlobals.sBuyableVehicleSavedData), "BUY_VEC_SAVED") // Vehicles Register_Array_Of_BuyableVehicleStates(g_savedGlobals.sBuyableVehicleSavedData.g_bOwnedVehicleStates, "OWVEC_IND") // Colours Register_Array_Of_BuyableVehicleColours(g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursM, "OWVEC_COL_M") Register_Array_Of_BuyableVehicleColours(g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursF, "OWVEC_COL_F") Register_Array_Of_BuyableVehicleColours(g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursT, "OWVEC_COL_T") STOP_SAVE_STRUCT() ENDPROC /// PURPOSE: /// Registers globals for purchasable vehicles PROC Register_SpBuyableVehicle_Saved_Globals_CLF() START_SAVE_STRUCT_WITH_SIZE(g_savedGlobalsClifford.sBuyableVehicleSavedData, SIZE_OF(g_savedGlobalsClifford.sBuyableVehicleSavedData), "BUY_VEC_SAVED") // Vehicles Register_Array_Of_BuyableVehicleStates(g_savedGlobalsClifford.sBuyableVehicleSavedData.g_bOwnedVehicleStates, "OWVEC_IND") // Colours Register_Array_Of_BuyableVehicleColours(g_savedGlobalsClifford.sBuyableVehicleSavedData.g_eOwnedVehicleColoursM, "OWVEC_COL_M") Register_Array_Of_BuyableVehicleColours(g_savedGlobalsClifford.sBuyableVehicleSavedData.g_eOwnedVehicleColoursF, "OWVEC_COL_F") Register_Array_Of_BuyableVehicleColours(g_savedGlobalsClifford.sBuyableVehicleSavedData.g_eOwnedVehicleColoursT, "OWVEC_COL_T") STOP_SAVE_STRUCT() ENDPROC PROC Register_SpBuyableVehicle_Saved_Globals_NRM() START_SAVE_STRUCT_WITH_SIZE(g_savedGlobalsnorman.sBuyableVehicleSavedData, SIZE_OF(g_savedGlobalsnorman.sBuyableVehicleSavedData), "BUY_VEC_SAVED") // Vehicles Register_Array_Of_BuyableVehicleStates(g_savedGlobalsnorman.sBuyableVehicleSavedData.g_bOwnedVehicleStates, "OWVEC_IND") // Colours Register_Array_Of_BuyableVehicleColours(g_savedGlobalsnorman.sBuyableVehicleSavedData.g_eOwnedVehicleColoursM, "OWVEC_COL_M") Register_Array_Of_BuyableVehicleColours(g_savedGlobalsnorman.sBuyableVehicleSavedData.g_eOwnedVehicleColoursF, "OWVEC_COL_F") Register_Array_Of_BuyableVehicleColours(g_savedGlobalsnorman.sBuyableVehicleSavedData.g_eOwnedVehicleColoursT, "OWVEC_COL_T") STOP_SAVE_STRUCT() ENDPROC /// PURPOSE: /// Preloads the browser scaleform and script for a later START_BROWSER call PROC PRELOAD_BROWSER(SCALEFORM_INDEX &mov) IF NOT HAS_SCRIPT_LOADED("appInternet") REQUEST_SCRIPT("appInternet") ENDIF IF mov = NULL mov = REQUEST_SCALEFORM_MOVIE("web_browser") ENDIF ENDPROC /// PURPOSE: /// Used in MP only! Forceably terminates the internet script. PROC SP_FORCE_TERMINATE_INTERNET() IF NOT g_bSPForceKillInternet CPRINTLN(DEBUG_INTERNET, "SP_FORCE_TERMINATE_INTERNET- called by ", GET_THIS_SCRIPT_NAME()) ENDIF g_bSPForceKillInternet = TRUE ENDPROC FUNC BOOL SP_FORCE_TERMINATE_INTERNET_ACTIVE() RETURN g_bSPForceKillInternet ENDFUNC PROC SP_FORCE_TERMINATE_INTERNET_CLEAR() IF g_bSPForceKillInternet CPRINTLN(DEBUG_INTERNET, "SP_FORCE_TERMINATE_INTERNET_CLEAR- called by ", GET_THIS_SCRIPT_NAME()) ENDIF g_bSPForceKillInternet = FALSE ENDPROC /// PURPOSE: /// Starts the browser with a given start state, blocks while the app loads FUNC BOOL START_BROWSER(SPECIAL_BROWSER_START_STATES startstate = SBSS_Default, BOOL bExitOnScriptWait = FALSE, START_BROWSER_TYPE_ENUM startType = eAppInternet) g_BrowserStartState = startstate BOOL bSecuroServ = (startType = eSecuroServ) BOOL bBikerApp = (startType = eBikerApp) BOOL bIEApp = (startType = eIEApp) SWITCH g_BrowserStartState CASE SBSS_LifeInvader g_eLifeInvaderMissionPageState = LIFEINVADER_NO_PROGRESS_0 BREAK CASE SBSS_LifeInvader_BrucieResponse g_eLifeInvaderMissionPageState = LIFEINVADER_RESPONSE_PENDING_3 BREAK ENDSWITCH // Check for script already running IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("appSecuroServ")) > 0 IF bSecuroServ CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - Attempting to create appSecuroServ while its running, bailing!") ELSE CASSERTLN(DEBUG_INTERNET, "START_BROWSER(", PICK_STRING(bSecuroServ, "bSecuroServ ", ""), PICK_STRING(bBikerApp, "bBikerApp ", ""), PICK_STRING(bIEApp, "bIEApp ", ""), ") - Attempting to create appSecuroServ while its running, bailing!") ENDIF RETURN FALSE ENDIF IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("appBikerBusiness")) > 0 IF bBikerApp CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - Attempting to create appBikerBusiness while its running, bailing!") ELSE CASSERTLN(DEBUG_INTERNET, "START_BROWSER(", PICK_STRING(bSecuroServ, "bSecuroServ ", ""), PICK_STRING(bBikerApp, "bBikerApp ", ""), PICK_STRING(bIEApp, "bIEApp ", ""), ") - Attempting to create appBikerBusiness while its running, bailing!") ENDIF RETURN FALSE ENDIF IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("appImportExport")) > 0 IF bIEApp CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - Attempting to create appImportExport while its running, bailing!") ELSE CASSERTLN(DEBUG_INTERNET, "START_BROWSER(", PICK_STRING(bSecuroServ, "bSecuroServ ", ""), PICK_STRING(bBikerApp, "bBikerApp ", ""), PICK_STRING(bIEApp, "bIEApp ", ""), ") - Attempting to create appImportExport while its running, bailing!") ENDIF RETURN FALSE ENDIF IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("appInternet")) > 0 IF bSecuroServ OR bBikerApp OR bIEApp CASSERTLN(DEBUG_INTERNET, "START_BROWSER(", PICK_STRING(bSecuroServ, "bSecuroServ ", ""), PICK_STRING(bBikerApp, "bBikerApp ", ""), PICK_STRING(bIEApp, "bIEApp ", ""), ") - Attempting to create appInternet while its running, bailing!") ELSE CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - Attempting to create appInternet while its running, bailing!") ENDIF RETURN FALSE ENDIF IF g_bInMultiplayer AND MP_FORCE_TERMINATE_INTERNET_ACTIVE() CWARNINGLN(DEBUG_INTERNET, "START_BROWSER - MP force terminate internet active") RETURN FALSE ENDIF IF NOT g_bInMultiplayer AND SP_FORCE_TERMINATE_INTERNET_ACTIVE() CWARNINGLN(DEBUG_INTERNET, "START_BROWSER - SP force terminate internet active") RETURN FALSE ENDIF // Request script IF bSecuroServ CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - Waiting for appSecuroServ script to load...") IF NOT (HAS_SCRIPT_LOADED("appSecuroServ")) REQUEST_SCRIPT("appSecuroServ") IF bExitOnScriptWait RETURN FALSE ENDIF ENDIF WHILE NOT HAS_SCRIPT_LOADED("appSecuroServ") WAIT(0) ENDWHILE CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - appSecuroServ script has loaded.") // Launch the browser //Internet Stack Size Work. START_NEW_SCRIPT("appSecuroServ", APP_INTERNET_STACK_SIZE) SET_SCRIPT_AS_NO_LONGER_NEEDED("appSecuroServ") RETURN TRUE ELIF bBikerApp CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - Waiting for appBikerBusiness script to load...") IF NOT (HAS_SCRIPT_LOADED("appBikerBusiness")) REQUEST_SCRIPT("appBikerBusiness") IF bExitOnScriptWait RETURN FALSE ENDIF ENDIF WHILE NOT HAS_SCRIPT_LOADED("appBikerBusiness") WAIT(0) ENDWHILE CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - appBikerBusiness script has loaded.") // Launch the browser //Internet Stack Size Work. START_NEW_SCRIPT("appBikerBusiness", APP_INTERNET_STACK_SIZE) SET_SCRIPT_AS_NO_LONGER_NEEDED("appBikerBusiness") RETURN TRUE ELIF bIEApp CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - Waiting for appImportExport script to load...") IF NOT (HAS_SCRIPT_LOADED("appImportExport")) REQUEST_SCRIPT("appImportExport") IF bExitOnScriptWait RETURN FALSE ENDIF ENDIF WHILE NOT HAS_SCRIPT_LOADED("appImportExport") WAIT(0) ENDWHILE CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - appImportExport script has loaded.") // Launch the browser //Internet Stack Size Work. START_NEW_SCRIPT("appImportExport", APP_INTERNET_STACK_SIZE) SET_SCRIPT_AS_NO_LONGER_NEEDED("appImportExport") RETURN TRUE ELSE CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - Waiting for appInternet script to load...") IF NOT (HAS_SCRIPT_LOADED("appInternet")) REQUEST_SCRIPT("appInternet") IF bExitOnScriptWait RETURN FALSE ENDIF ENDIF WHILE NOT HAS_SCRIPT_LOADED("appInternet") WAIT(0) ENDWHILE CPRINTLN(DEBUG_INTERNET, "START_BROWSER() - appInternet script has loaded.") // Launch the browser //Internet Stack Size Work. START_NEW_SCRIPT("appInternet", APP_INTERNET_STACK_SIZE) SET_SCRIPT_AS_NO_LONGER_NEEDED("appInternet") RETURN TRUE ENDIF ENDFUNC /// PURPOSE: /// Like START_BROWSER , but without the waits FUNC BOOL START_BROWSER_ONLINE(SPECIAL_BROWSER_START_STATES startstate = SBSS_Default, BOOL bSecuroServ = FALSE, BOOL bBikerApp = FALSE , BOOL bIEApp = FALSE ) START_BROWSER_TYPE_ENUM startType = eAppInternet IF bSecuroServ startType = eSecuroServ ENDIF IF bBikerApp startType = eBikerApp ENDIF IF bIEApp startType = eIEApp ENDIF RETURN START_BROWSER(startstate, TRUE, startType) ENDFUNC /// PURPOSE: /// Returns true if browser can be launched in freemode without being forced to close FUNC BOOL IS_SAFE_TO_START_BROWSER_FROM_FREEMODE() IF ((IS_PAUSE_MENU_ACTIVE() = FALSE) OR (GET_PAUSE_MENU_STATE() = PM_SHUTTING_DOWN)) AND NOT IS_PLAYER_SWITCH_IN_PROGRESS() AND NOT GET_IS_LOADING_SCREEN_ACTIVE() RETURN TRUE ENDIF RETURN FALSE ENDFUNC /// PURPOSE: /// Attempts to load the appInternet script and open the web browser using the supplied link /// Returns true if web browser has opened successfully FUNC BOOL START_BROWSER_WITH_LINK(TEXT_LABEL_63 tlLinkToLaunch) REQUEST_SCRIPT_WITH_NAME_HASH(HASH("appInternet")) PRINTLN("WEBSITE_PUBLIC : START_BROWSER_WITH_LINK: Loading web browser") IF HAS_SCRIPT_WITH_NAME_HASH_LOADED(HASH("appInternet")) g_BrowserLinkToLaunch = tlLinkToLaunch IF START_BROWSER(SBSS_Launch_Link) PRINTLN("WEBSITE_PUBLIC : START_BROWSER_WITH_LINK: launching link: ", g_BrowserLinkToLaunch) RETURN TRUE ENDIF ENDIF RETURN FALSE ENDFUNC /// PURPOSE: /// Returns whether the web browser is open FUNC BOOL IS_BROWSER_OPEN() RETURN g_bBrowserVisible ENDFUNC /// PURPOSE: PROC SET_BROWSER_OPEN(BOOL bVisible) IF g_bBrowserVisible != bVisible CPRINTLN(DEBUG_INTERNET, "<", GET_THIS_SCRIPT_NAME(), "> SET_BROWSER_OPEN(", GET_STRING_FROM_BOOL(bVisible), ")") g_bBrowserVisible = bVisible ELSE CPRINTLN(DEBUG_INTERNET, "<", GET_THIS_SCRIPT_NAME(), "> SET_BROWSER_OPEN - already set to ", GET_STRING_FROM_BOOL(bVisible)) ENDIF ENDPROC #IF IS_DEBUG_BUILD FUNC STRING GET_WEBSITE_FROM_INDEX(WEBSITE_INDEX_ENUM eIndex) SWITCH eIndex CASE WWW_NOT_EXIST RETURN "WWW_NOT_EXIST" CASE WWW_BANK_COM RETURN "WWW_BANK_COM" CASE WWW_EYEFIND_INFO RETURN "WWW_EYEFIND_INFO" CASE WWW_BAWSAQ_COM RETURN "WWW_BAWSAQ_COM" CASE WWW_EPSILONPROGRAM_COM RETURN "WWW_EPSILONPROGRAM_COM" CASE WWW_LIFEINVADER_COM RETURN "WWW_LIFEINVADER_COM" CASE WWW_LCN_D_EXCHANGE_COM RETURN "WWW_LCN_D_EXCHANGE_COM" CASE WWW_LENNYAVERY_D_REALTY_COM RETURN "WWW_LENNYAVERY_D_REALTY_COM" CASE WWW_LEGENDARYMOTORSPORT_NET RETURN "WWW_LEGENDARYMOTORSPORT_NET" CASE WWW_ELITASTRAVEL_COM RETURN "WWW_ELITASTRAVEL_COM" CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM RETURN "WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM" CASE WWW_DOCKTEASE_COM RETURN "WWW_DOCKTEASE_COM" CASE WWW_BLEETER_COM RETURN "WWW_BLEETER_COM" CASE WWW_PANDMCYCLES_COM RETURN "WWW_PANDMCYCLES_COM" CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM RETURN "WWW_SOUTHERNSANANDREASSUPERAUTOS_COM" CASE WWW_IWILLSURVIVEITALL_COM RETURN "WWW_IWILLSURVIVEITALL_COM" CASE WWW_DYNASTY8REALESTATE_COM RETURN "WWW_DYNASTY8REALESTATE_COM" CASE WWW_THEREALITYMILL_COM RETURN "WWW_THEREALITYMILL_COM" CASE WWW_THECHILDRENOFTHEMOUNTAIN_COM RETURN "WWW_THECHILDRENOFTHEMOUNTAIN_COM" CASE WWW_MAZE_D_BANK_COM RETURN "WWW_MAZE_D_BANK_COM" CASE WWW_FLEECA_COM RETURN "WWW_FLEECA_COM" CASE WWW_THEBANKOFLIBERTY_COM RETURN "WWW_THEBANKOFLIBERTY_COM" CASE WWW_MYDIVINEWITHIN_COM RETURN "WWW_MYDIVINEWITHIN_COM" CASE WWW_EYEFIND_INFO_S_SEARCH RETURN "WWW_EYEFIND_INFO_S_SEARCH" CASE WWW_EYEFIND_INFO_S_ERROR RETURN "WWW_EYEFIND_INFO_S_ERROR" #IF NOT IS_JAPANESE_BUILD CASE WWW_HUSHSMUSH_COM RETURN "WWW_HUSHSMUSH_COM" #ENDIF CASE WWW_BENNYSORIGINALMOTORWORKS_COM RETURN "WWW_BENNYSORIGINALMOTORWORKS_COM" CASE WWW_DYNASTY8EXECUTIVEREALTY_COM RETURN "WWW_DYNASTY8EXECUTIVEREALTY_COM" CASE FORECLOSURES_MAZE_D_BANK_COM RETURN "FORECLOSURES_MAZE_D_BANK_COM" CASE WWW_ARENAWAR_TV RETURN "WWW_ARENAWAR_TV" CASE WWW_THEDIAMONDCASINOANDRESORT_COM RETURN "WWW_THEDIAMONDCASINOANDRESORT_COM" CASE INVALID_WEBSITE_INDEX RETURN "INVALID_WEBSITE_INDEX" ENDSWITCH CASSERTLN(DEBUG_INTERNET, "GET_WEBSITE_FROM_INDEX: unknown index ", eIndex) RETURN "WWW_NOT_EXIST" ENDFUNC FUNC STRING GET_WEBSITE_FROM_HASH(INT iIndexHash) SWITCH iIndexHash CASE HASH("WWW_NOT_EXIST") RETURN "WWW_NOT_EXIST" CASE HASH("WWW_BANK_COM") RETURN "WWW_BANK_COM" CASE HASH("WWW_EYEFIND_INFO") RETURN "WWW_EYEFIND_INFO" CASE HASH("WWW_BAWSAQ_COM") RETURN "WWW_BAWSAQ_COM" CASE HASH("WWW_EPSILONPROGRAM_COM") RETURN "WWW_EPSILONPROGRAM_COM" CASE HASH("WWW_LIFEINVADER_COM") RETURN "WWW_LIFEINVADER_COM" CASE HASH("WWW_LCN_D_EXCHANGE_COM") RETURN "WWW_LCN_D_EXCHANGE_COM" CASE HASH("WWW_LENNYAVERY_D_REALTY_COM") RETURN "WWW_LENNYAVERY_D_REALTY_COM" CASE HASH("WWW_LEGENDARYMOTORSPORT_NET") RETURN "WWW_LEGENDARYMOTORSPORT_NET" CASE HASH("WWW_ELITASTRAVEL_COM") RETURN "WWW_ELITASTRAVEL_COM" CASE HASH("WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM") RETURN "WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM" CASE HASH("WWW_DOCKTEASE_COM") RETURN "WWW_DOCKTEASE_COM" CASE HASH("WWW_BLEETER_COM") RETURN "WWW_BLEETER_COM" CASE HASH("WWW_PANDMCYCLES_COM") RETURN "WWW_PANDMCYCLES_COM" CASE HASH("WWW_SOUTHERNSANANDREASSUPERAUTOS_COM") RETURN "WWW_SOUTHERNSANANDREASSUPERAUTOS_COM" CASE HASH("WWW_IWILLSURVIVEITALL_COM") RETURN "WWW_IWILLSURVIVEITALL_COM" CASE HASH("WWW_DYNASTY8REALESTATE_COM") RETURN "WWW_DYNASTY8REALESTATE_COM" CASE HASH("WWW_THEREALITYMILL_COM") RETURN "WWW_THEREALITYMILL_COM" CASE HASH("WWW_THECHILDRENOFTHEMOUNTAIN_COM") RETURN "WWW_THECHILDRENOFTHEMOUNTAIN_COM" CASE HASH("WWW_MAZE_D_BANK_COM") RETURN "WWW_MAZE_D_BANK_COM" CASE HASH("WWW_FLEECA_COM") RETURN "WWW_FLEECA_COM" CASE HASH("WWW_THEBANKOFLIBERTY_COM") RETURN "WWW_THEBANKOFLIBERTY_COM" CASE HASH("WWW_MYDIVINEWITHIN_COM") RETURN "WWW_MYDIVINEWITHIN_COM" #IF NOT IS_JAPANESE_BUILD CASE HASH("WWW_HUSHSMUSH_COM") RETURN "WWW_HUSHSMUSH_COM" #ENDIF CASE HASH("WWW_TACO_D_BOMB_COM") RETURN "WWW_TACO_D_BOMB_COM" CASE HASH("WWW_CULTSTOPPERS_COM") RETURN "WWW_CULTSTOPPERS_COM" CASE HASH("WWW_PRINCESSROBOTBUBBLEGUM_COM") RETURN "WWW_PRINCESSROBOTBUBBLEGUM_COM" CASE HASH("WWW_FAMEORSHAME_NET") RETURN "WWW_FAMEORSHAME_NET" CASE HASH("WWW_RIGHTEOUSSLAUGHTER7_COM") RETURN "WWW_RIGHTEOUSSLAUGHTER7_COM" CASE HASH("WWW_LOSSANTOSCUSTOMS_COM") RETURN "WWW_LOSSANTOSCUSTOMS_COM" CASE HASH("WWW_BENNYSORIGINALMOTORWORKS_COM") RETURN "WWW_BENNYSORIGINALMOTORWORKS_COM" CASE HASH("WWW_DYNASTY8EXECUTIVEREALTY_COM") RETURN "WWW_DYNASTY8EXECUTIVEREALTY_COM" CASE HASH("FORECLOSURES_MAZE_D_BANK_COM") RETURN "FORECLOSURES_MAZE_D_BANK_COM" CASE HASH("WWW_ARENAWAR_TV") RETURN "WWW_ARENAWAR_TV" CASE HASH("WWW_THEDIAMONDCASINOANDRESORT_COM") RETURN "WWW_THEDIAMONDCASINOANDRESORT_COM" CASE HASH("WWW_EYEFIND_INFO_S_SEARCH") RETURN "WWW_EYEFIND_INFO_S_SEARCH" CASE HASH("WWW_EYEFIND_INFO_S_ERROR") RETURN "WWW_EYEFIND_INFO_S_ERROR" ENDSWITCH CERRORLN(DEBUG_INTERNET, "GET_WEBSITE_FROM_HASH: unknown hash ", iIndexHash) RETURN "WWW_NOT_EXIST" ENDFUNC FUNC STRING GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(SITE_BUYABLE_VEHICLE sbv, SITE_BUYABLE_VEHICLE_COLOURS eVehicleColour) IF eVehicleColour = BCV_NO_COLOUR RETURN "BCV_NO_COLOUR" ENDIF IF sbv = BV_NG_MARSHALL OR sbv = BV_DLC_BIG_YACHT SWITCH eVehicleColour CASE BCV_RED_COLOUR RETURN "BCV_RED_COLOUR_USA" CASE BCV_PINK_COLOUR RETURN "BCV_PINK_COLOUR_AUS" CASE BCV_YELLOW_COLOUR RETURN "BCV_YELLOW_COLOUR_BRA" CASE BCV_ORANGE_COLOUR RETURN "BCV_ORANGE_COLOUR_SPA" CASE BCV_GREEN_COLOUR RETURN "BCV_GREEN_COLOUR_CAN" CASE BCV_BLUE_COLOUR RETURN "BCV_BLUE_COLOUR_FRA" CASE BCV_BLACK_COLOUR RETURN "BCV_BLACK_COLOUR_GER" CASE BCV_WHITE_COLOUR RETURN "BCV_WHITE_COLOUR_JAP" CASE BCV_COLOUR_1 RETURN "BCV_COLOUR_1_SCO" CASE BCV_COLOUR_2 RETURN "BCV_COLOUR_2_UK" CASE BCV_COLOUR_3 RETURN "BCV_COLOUR_3_ITA" CASE BCV_COLOUR_4 RETURN "BCV_COLOUR_4_SWI" CASE BCV_COLOUR_5 RETURN "BCV_COLOUR_5_JAM" CASE BCV_COLOUR_6 RETURN "BCV_COLOUR_6_COL" CASE BCV_COLOUR_7 RETURN "BCV_COLOUR_7_NOR" CASE BCV_COLOUR_8 RETURN "BCV_COLOUR_8_SWE" CASE BCV_COLOUR_9 RETURN "BCV_COLOUR_9_BEL" CASE BCV_COLOUR_10 RETURN "BCV_COLOUR_10_MEX" CASE BCV_COLOUR_11 RETURN "BCV_COLOUR_11_AUT" CASE BCV_COLOUR_12 RETURN "BCV_COLOUR_12_RUS" CASE BCV_COLOUR_13 RETURN "BCV_COLOUR_13_ARG" CASE BCV_COLOUR_14 RETURN "BCV_COLOUR_14_TUR" CASE BCV_COLOUR_15 RETURN "BCV_COLOUR_15_IRE" CASE BCV_COLOUR_16 RETURN "BCV_COLOUR_16_WAL" CASE BCV_COLOUR_17 RETURN "BCV_COLOUR_17_ENG" CASE BCV_COLOUR_18 RETURN "BCV_COLOUR_18_EU" CASE BCV_COLOUR_19 RETURN "BCV_COLOUR_19_FIN" CASE BCV_COLOUR_20 RETURN "BCV_COLOUR_20_NED" CASE BCV_COLOUR_21 RETURN "BCV_COLOUR_21_POR" CASE BCV_COLOUR_22 RETURN "BCV_COLOUR_22_KOR" CASE BCV_COLOUR_23 RETURN "BCV_COLOUR_23_CHI" CASE BCV_COLOUR_24 RETURN "BCV_COLOUR_24_HUN" CASE BCV_COLOUR_25 RETURN "BCV_COLOUR_25_NZ" CASE BCV_COLOUR_26 RETURN "BCV_COLOUR_26_PUR" CASE BCV_COLOUR_27 RETURN "BCV_COLOUR_27_CRO" CASE BCV_COLOUR_28 RETURN "BCV_COLOUR_28_ISR" CASE BCV_COLOUR_29 RETURN "BCV_COLOUR_29_NIG" CASE BCV_COLOUR_30 RETURN "BCV_COLOUR_30_SVK" CASE BCV_COLOUR_31 RETURN "BCV_COLOUR_31_CZE" CASE BCV_COLOUR_32 RETURN "BCV_COLOUR_32_LIC" CASE BCV_COLOUR_33 RETURN "BCV_COLOUR_33_PAL" CASE BCV_COLOUR_34 RETURN "BCV_COLOUR_34_SOU" CASE BCV_COLOUR_35 RETURN "BCV_COLOUR_35_DEN" CASE BCV_COLOUR_36 RETURN "BCV_COLOUR_36_MAL" CASE BCV_COLOUR_37 RETURN "BCV_COLOUR_37_POL" CASE BCV_COLOUR_38 RETURN "BCV_COLOUR_38_SLO" ENDSWITCH ELIF sbv = BV_BB_BLIMP3 SWITCH eVehicleColour CASE BCV_RED_COLOUR RETURN "BCV_RED_COLOUR_1" // [BLIMP3_ELT_1]Livery #1 CASE BCV_PINK_COLOUR RETURN "BCV_PINK_COLOUR_2" // [BLIMP3_ELT_2]Livery #2 CASE BCV_YELLOW_COLOUR RETURN "BCV_YELLOW_COLOUR_3" // [BLIMP3_ELT_3]Livery #3 CASE BCV_ORANGE_COLOUR RETURN "BCV_ORANGE_COLOUR_4" // [BLIMP3_ELT_4]Livery #4 CASE BCV_GREEN_COLOUR RETURN "BCV_GREEN_COLOUR_5" // [BLIMP3_ELT_5]Livery #5 CASE BCV_BLUE_COLOUR RETURN "BCV_BLUE_COLOUR_6" // [BLIMP3_ELT_6]Livery #6 CASE BCV_BLACK_COLOUR RETURN "BCV_BLACK_COLOUR_7" // [BLIMP3_ELT_7]Livery #7 CASE BCV_WHITE_COLOUR RETURN "BCV_WHITE_COLOUR_8" // [BLIMP3_ELT_8]Nightclub ENDSWITCH ELIF sbv = BV_BB_PBUS2 SWITCH eVehicleColour CASE BCV_RED_COLOUR RETURN "BCV_RED_COLOUR_1" // [PBUS2_SSA_1]Livery #1 CASE BCV_PINK_COLOUR RETURN "BCV_PINK_COLOUR_2" // [PBUS2_SSA_2]Livery #2 CASE BCV_YELLOW_COLOUR RETURN "BCV_YELLOW_COLOUR_3" // [PBUS2_SSA_3]Livery #3 CASE BCV_ORANGE_COLOUR RETURN "BCV_ORANGE_COLOUR_4" // [PBUS2_SSA_4]Livery #4 CASE BCV_GREEN_COLOUR RETURN "BCV_GREEN_COLOUR_5" // [PBUS2_SSA_5]Livery #5 CASE BCV_BLUE_COLOUR RETURN "BCV_BLUE_COLOUR_6" // [PBUS2_SSA_6]Livery #6 CASE BCV_BLACK_COLOUR RETURN "BCV_BLACK_COLOUR_7" // [PBUS2_SSA_7]Livery #7 CASE BCV_WHITE_COLOUR RETURN "BCV_WHITE_COLOUR_8" // [PBUS2_SSA_8]Livery #8 CASE BCV_COLOUR_1 RETURN "BCV_COLOUR_1_9" // [PBUS2_SSA_9]Livery #9 CASE BCV_COLOUR_2 RETURN "BCV_COLOUR_2_10" // [PBUS2_SSA_10]Livery #10 ENDSWITCH ELSE SWITCH eVehicleColour CASE BCV_RED_COLOUR RETURN "BCV_RED_COLOUR" //USA CASE BCV_PINK_COLOUR RETURN "BCV_PINK_COLOUR" //AUS CASE BCV_YELLOW_COLOUR RETURN "BCV_YELLOW_COLOUR" //BRA CASE BCV_ORANGE_COLOUR RETURN "BCV_ORANGE_COLOUR" //SPA CASE BCV_GREEN_COLOUR RETURN "BCV_GREEN_COLOUR" //CAN CASE BCV_BLUE_COLOUR RETURN "BCV_BLUE_COLOUR" //FRA CASE BCV_BLACK_COLOUR RETURN "BCV_BLACK_COLOUR" //GER CASE BCV_WHITE_COLOUR RETURN "BCV_WHITE_COLOUR" //JAP CASE BCV_COLOUR_1 RETURN "BCV_COLOUR_1" //SCO CASE BCV_COLOUR_2 RETURN "BCV_COLOUR_2" //UK CASE BCV_COLOUR_3 RETURN "BCV_COLOUR_3" //ITA CASE BCV_COLOUR_4 RETURN "BCV_COLOUR_4" //SWI CASE BCV_COLOUR_5 RETURN "BCV_COLOUR_5" //JAM CASE BCV_COLOUR_6 RETURN "BCV_COLOUR_6" //COL CASE BCV_COLOUR_7 RETURN "BCV_COLOUR_7" //NOR CASE BCV_COLOUR_8 RETURN "BCV_COLOUR_8" //SWE CASE BCV_COLOUR_9 RETURN "BCV_COLOUR_9" //BEL CASE BCV_COLOUR_10 RETURN "BCV_COLOUR_10" //MEX CASE BCV_COLOUR_11 RETURN "BCV_COLOUR_11" //AUT CASE BCV_COLOUR_12 RETURN "BCV_COLOUR_12" //RUS CASE BCV_COLOUR_13 RETURN "BCV_COLOUR_13" //ARG CASE BCV_COLOUR_14 RETURN "BCV_COLOUR_14" //TUR CASE BCV_COLOUR_15 RETURN "BCV_COLOUR_15" //IRE CASE BCV_COLOUR_16 RETURN "BCV_COLOUR_16" //WAL CASE BCV_COLOUR_17 RETURN "BCV_COLOUR_17" //ENG #IF FEATURE_GEN9_EXCLUSIVE CASE BCV_COLOUR_39 RETURN "DARKPURPLEPEARL" //DARKPURPLEPEARL #ENDIF ENDSWITCH ENDIF TEXT_LABEL_63 str = "BCV_UNKNOWN_" str += ENUM_TO_INT(eVehicleColour)+1 RETURN GET_STRING_FROM_STRING(str, 0, GET_LENGTH_OF_LITERAL_STRING(str)) ENDFUNC #ENDIF FUNC STRING GET_LABEL_WEBSITE_INDEX(WEBSITE_INDEX_ENUM eIndex) SWITCH eIndex CASE WWW_LEGENDARYMOTORSPORT_NET RETURN "LGM_NAME" CASE WWW_ELITASTRAVEL_COM RETURN "ELT_NAME" CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM RETURN "CANDC_NAME" CASE WWW_DOCKTEASE_COM RETURN "BOATS_NAME" CASE WWW_PANDMCYCLES_COM RETURN "PAM_NAME" CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM RETURN "SSS_NAME" CASE WWW_BENNYSORIGINALMOTORWORKS_COM RETURN "LSC_NAME" CASE WWW_ARENAWAR_TV RETURN "ARE_NAME" ENDSWITCH CASSERTLN(DEBUG_INTERNET, "GET_LABEL_WEBSITE_INDEX: unknown index ", GET_WEBSITE_FROM_INDEX(eIndex)) RETURN "" ENDFUNC /// PURPOSE: /// Modified cursor speed PROC SET_BROWSER_CURSOR_SPEED_MODIFIER(FLOAT scaling_value) g_fWebCursorSensitivity = scaling_value ENDPROC /// PURPOSE: /// Closes the browser PROC CLOSE_WEB_BROWSER() g_bBrowserQuitMessage = TRUE ENDPROC //******************************************************************************** //**********************SPECIAL SEQUENCE FUNCTIONALITY**************************** //******************************************************************************** /* LIFEINVADER */ PROC RESET_LIFEINVADER_WEBSITE_MISSION_TRIGGERS() g_bLifeInvaderMissionMessageToBruciePosted = FALSE g_bLifeInvaderMissionResponseToBruciePosted = FALSE g_eLifeInvaderMissionPageState = LIFEINVADER_NO_PROGRESS_0 ENDPROC FUNC BOOL HAS_LIFEINVADER_MESSAGE_TO_BRUCIE_BEEN_POSTED() RETURN g_bLifeInvaderMissionMessageToBruciePosted ENDFUNC FUNC BOOL HAS_LIFEINVADER_RESPONSE_TO_BRUCIE_BEEN_POSTED() RETURN g_bLifeInvaderMissionResponseToBruciePosted ENDFUNC /* EPSILONISM */ /// PURPOSE: /// Resets the "has cult site been visited" bool PROC RESET_CULT_WEBSITE_VISIT_STATE() g_bCultSiteVisitedSinceReset = FALSE ENDPROC /// PURPOSE: /// Gets if the cult site has been visited FUNC BOOL GET_CULT_SITE_VISITED() RETURN g_bCultSiteVisitedSinceReset ENDFUNC /// PURPOSE: /// Gets if the cult robe page has been visited - used for B*1531470 FUNC BOOL GET_CULT_ROBE_PAGE_VISITED() RETURN g_bMikeVisitedCultRobePage ENDFUNC /* VEHICLES */ /// PURPOSE: /// Checks whether vehicle has already been bought from website by a particular player FUNC BOOL GET_HAS_VEHICLE_BEEN_BOUGHT_FROM_WEBSITE(SITE_BUYABLE_VEHICLE veh, enumCharacterList ePed = CHAR_MICHAEL) IF veh >= NUMBER_OF_BUYABLE_VEHICLES_SP RETURN FALSE ENDIF INT p = ENUM_TO_INT(ePed) IF p < 0 OR p > 2 RETURN FALSE ENDIF RETURN IS_BIT_SET(g_savedGlobals.sBuyableVehicleSavedData.g_bOwnedVehicleStates[veh], p) ENDFUNC /// PURPOSE: /// Checks where the vehicle would need to be stored FUNC VEHICLE_STORAGE_TYPE GET_VEHICLE_STORAGE_TYPE(SITE_BUYABLE_VEHICLE veh) SWITCH veh // Planes & Tanks CASE BV_P_DODO CASE BV_P_SHAMAL CASE BV_P_STUNT CASE BV_P_CUBAN CASE BV_P_DUSTER CASE BV_P_LUXOR CASE BV_A_RHINO CASE BV_A_BARRACKS CASE BV_A_CRUSADER CASE BV_DLC_VESTRA CASE BV_DLC_MILJET CASE BV_DLC_BESRA CASE BV_DLC_HYDRA CASE BV_DLC_VELUM2 #IF IS_NEXTGEN_BUILD CASE BV_NG_DODO CASE BV_NG_MARSHALL #ENDIF CASE BV_LX_LUXOR2 CASE BV_EX_NIMBUS CASE BV_EX_VOLATUS RETURN VST_HANGAR // Helicopters CASE BV_A_BUZZARD CASE BV_A_CARGOBOB CASE BV_P_FROGGER CASE BV_P_MAVERICK CASE BV_DLC_SWIFT CASE BV_DLC_SAVAGE CASE BV_DLC_VALKYRIE CASE BV_LX_SWIFT2 CASE BV_AP_SUPERVOLITO1 CASE BV_AP_SUPERVOLITO2 CASE BV_EX_CARGOBOB2 RETURN VST_HELI // Boats CASE BV_B_MARINA CASE BV_B_MARQUIS CASE BV_B_JETMAX CASE BV_B_SPEEDER CASE BV_B_SQUALO CASE BV_B_SUNDECK CASE BV_B_TROPIC CASE BV_B_SEASHARK CASE BV_B_SUBMERSIBLE CASE BV_B_SUNTRAP CASE BV_DLC_SPEEDER CASE BV_DLC_DINGHY3 // CASE BV_EX_TUG #IF IS_NEXTGEN_BUILD CASE BV_NG_SUBMERSIBLE2 #ENDIF CASE BV_L2_TORO CASE BV_EX_TUG #IF FEATURE_HEIST_ISLAND CASE BV_IH_LONGFIN CASE BV_IH_DINGHY5 #ENDIF RETURN VST_MARINA ENDSWITCH RETURN VST_GARAGE //default ENDFUNC FUNC BOOL GET_HAS_DOES_PLAYER_HAVE_SPACE_IN_GARAGE(SITE_BUYABLE_VEHICLE veh, enumCharacterList ePed = CHAR_MICHAEL) INT p = ENUM_TO_INT(ePed) IF p < 0 OR p > 2 RETURN FALSE ENDIF IF GET_VEHICLE_STORAGE_TYPE(veh) = VST_GARAGE IF (ePed = CHAR_MICHAEL AND GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_MICHAEL) = VEHGEN_NONE) OR (ePed = CHAR_FRANKLIN AND GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_FRANKLIN) = VEHGEN_NONE) OR (ePed = CHAR_TREVOR AND GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_TREVOR) = VEHGEN_NONE) RETURN FALSE ENDIF ENDIF RETURN TRUE //return true if they can store the vehicle ENDFUNC /// PURPOSE: /// Checks whether a player can store the vehicle in a garage, hangar, etc FUNC BOOL GET_SP_CAN_PLAYER_STORE_VEHICLE(SITE_BUYABLE_VEHICLE veh) VEHICLE_STORAGE_TYPE vst = GET_VEHICLE_STORAGE_TYPE(veh) enumCharacterList ecl = GET_CURRENT_PLAYER_PED_ENUM() SWITCH vst CASE VST_GARAGE SWITCH ecl CASE CHAR_MICHAEL RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_CAR_MICHAEL, VEHGEN_S_FLAG_ACQUIRED) CASE CHAR_TREVOR RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_CAR_TREVOR, VEHGEN_S_FLAG_ACQUIRED) CASE CHAR_FRANKLIN RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_CAR_FRANKLIN, VEHGEN_S_FLAG_ACQUIRED) ENDSWITCH BREAK CASE VST_HANGAR SWITCH ecl CASE CHAR_MICHAEL RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_HANGAR_MICHAEL, VEHGEN_S_FLAG_ACQUIRED) CASE CHAR_TREVOR RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_HANGAR_TREVOR, VEHGEN_S_FLAG_ACQUIRED) CASE CHAR_FRANKLIN RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_HANGAR_FRANKLIN, VEHGEN_S_FLAG_ACQUIRED) ENDSWITCH BREAK CASE VST_MARINA SWITCH ecl CASE CHAR_MICHAEL RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_MARINA_MICHAEL, VEHGEN_S_FLAG_ACQUIRED) CASE CHAR_TREVOR RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_MARINA_TREVOR, VEHGEN_S_FLAG_ACQUIRED) CASE CHAR_FRANKLIN RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_MARINA_FRANKLIN, VEHGEN_S_FLAG_ACQUIRED) ENDSWITCH BREAK CASE VST_HELI SWITCH ecl CASE CHAR_MICHAEL RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_HELIPAD_MICHAEL, VEHGEN_S_FLAG_ACQUIRED) CASE CHAR_TREVOR RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_HELIPAD_TREVOR_COUNTRY, VEHGEN_S_FLAG_ACQUIRED) CASE CHAR_FRANKLIN RETURN GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHGEN_WEB_HELIPAD_FRANKLIN, VEHGEN_S_FLAG_ACQUIRED) ENDSWITCH BREAK ENDSWITCH // Everything is buyable unless forbidden RETURN TRUE ENDFUNC FUNC BOOL CAN_USE_COUPON_ON_VEHICLE(COUPON_TYPE c, SITE_BUYABLE_VEHICLE veh) IF (c = COUPON_CASINO_PLANE_SITE) OR (c = COUPON_CASINO_BOAT_SITE) OR (c = COUPON_CASINO_CAR_SITE) OR (c = COUPON_CASINO_CAR_SITE2) OR (c = COUPON_CASINO_MIL_SITE) OR (c = COUPON_CASINO_BIKE_SITE) IF (veh = BV_DLC_BIG_YACHT) OR (veh = BV_DLC_BIG_TRUCK) OR (veh = BV_DLC_BALLISTIC_EQUIPMENT) OR (veh = BV_DLC_BIG_PLANE) OR (veh = BV_DLC_HACKER_TRUCK) #IF FEATURE_HEIST_ISLAND OR (veh = BV_IH_KOSATKA) #ENDIF RETURN FALSE ENDIF #IF FEATURE_GEN9_EXCLUSIVE ELIF IS_THIS_HSW_MOD_COUPON(c) OR IS_THIS_HSW_UPGRADE_COUPON(c) RETURN FALSE #ENDIF ENDIF RETURN TRUE ENDFUNC /// PURPOSE: /// Is the passed index the error screen for the current site? FUNC BOOL IS_ERROR_PAGE_FOR_VEHICLE_SITE(WEBSITE_INDEX_ENUM site, INT page) SWITCH site CASE WWW_LEGENDARYMOTORSPORT_NET CASE WWW_ELITASTRAVEL_COM CASE WWW_PANDMCYCLES_COM IF page = 14 RETURN TRUE ENDIF BREAK CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM IF NOT g_bInMultiplayer IF page = 14 RETURN TRUE ENDIF ELSE IF page = 14 RETURN TRUE ENDIF IF page = 62 //truck error page!! RETURN TRUE ENDIF IF page = 90 //avenger error page!! RETURN TRUE ENDIF IF page = 110 //hacker truck error page!! RETURN TRUE ENDIF ENDIF BREAK CASE WWW_DOCKTEASE_COM IF NOT g_bInMultiplayer IF page = 15 RETURN TRUE ENDIF ELSE IF page = 15 RETURN TRUE ENDIF IF page = 28 //yacht error page!! RETURN TRUE ENDIF ENDIF BREAK CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM IF page = 36 RETURN TRUE ENDIF BREAK CASE WWW_BENNYSORIGINALMOTORWORKS_COM IF page = 14 RETURN TRUE ENDIF BREAK CASE WWW_ARENAWAR_TV IF page = 13 RETURN TRUE ENDIF BREAK ENDSWITCH RETURN FALSE ENDFUNC /// PURPOSE: /// Is the passed index the confirmation screen for the current site? FUNC BOOL IS_CONFIRM_PAGE_FOR_VEHICLE_SITE(WEBSITE_INDEX_ENUM site, INT page) SWITCH site CASE WWW_LEGENDARYMOTORSPORT_NET CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM CASE WWW_ELITASTRAVEL_COM CASE WWW_PANDMCYCLES_COM CASE WWW_DOCKTEASE_COM // IF page = 15 // RETURN TRUE // ENDIF BREAK CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM IF page = 34 RETURN TRUE ENDIF BREAK CASE WWW_BENNYSORIGINALMOTORWORKS_COM IF page = 25 RETURN TRUE ENDIF BREAK CASE WWW_ARENAWAR_TV IF page = 15 RETURN TRUE ENDIF BREAK ENDSWITCH RETURN FALSE ENDFUNC /// PURPOSE: /// Checks whether the index passed is associated with a vehicle on the current site. /// Use this to determine whether a button can be created for that page on the site's index page. FUNC BOOL IS_INDEX_VALID_FOR_VEH_SITE(WEBSITE_INDEX_ENUM site, INT vehIndex) IF site = WWW_LEGENDARYMOTORSPORT_NET IF vehIndex >= 0 AND vehIndex <= 8 RETURN TRUE ELIF g_bInMultiplayer IF (vehIndex >= 14 AND vehIndex < NUM_PAGES_LEGENDARYMOTORSPORT_NET) RETURN TRUE ENDIF ELIF NOT g_bInMultiplayer IF (vehIndex >= 14 AND vehIndex < NUM_PAGES_LEGENDARYMOTORSPORT_NET) RETURN TRUE ENDIF ENDIF ELIF site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM IF vehIndex >= 0 AND vehIndex <= 30 RETURN TRUE ELIF g_bInMultiplayer AND vehIndex >= 35 AND vehIndex < NUM_PAGES_SOUTHERNSANANDREASSUPERAUTOS_COM RETURN TRUE ELIF NOT g_bInMultiplayer AND vehIndex >= 35 AND vehIndex < NUM_PAGES_SOUTHERNSANANDREASSUPERAUTOS_COM RETURN TRUE ENDIF ELIF site = WWW_ELITASTRAVEL_COM IF vehIndex >= 0 AND vehIndex <= 5 RETURN TRUE ELIF vehIndex >= 12 AND vehIndex < NUM_PAGES_ELITASTRAVEL_COM RETURN TRUE ENDIF ELIF site = WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM IF vehIndex = 0 OR vehIndex = 2 OR vehIndex = 4 OR vehIndex = 5 OR vehIndex = 7 RETURN TRUE ELIF g_bInMultiplayer IF vehIndex = 14 // AIRBUS OR vehIndex = 15 // JOURNEY OR vehIndex = 17 // COACH OR vehIndex = 18 // BUS OR (vehIndex >= 21 AND vehIndex < NUM_PAGES_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM) IF vehIndex = 57 //60 - TRUCK_D_PURCHASE OR vehIndex = 58 //61 - TRUCK_D_PURCHASE_SUCCESS OR vehIndex = 59 //62 - TRUCK_D_PURCHASE_FAILED RETURN FALSE ENDIF IF vehIndex = 85 //88 - AVENGER_D_PURCHASE OR vehIndex = 86 //89 - AVENGER_D_PURCHASE_OK OR vehIndex = 87 //90 - AVENGER_D_PURCHASE_FAIL RETURN FALSE ENDIF IF vehIndex = 105 //108 - HACKERTRUCK_D_BUY OR vehIndex = 106 //109 - HACKERTRUCK_D_SOLD OR vehIndex = 107 //110 - HACKERTRUCK_D_NOSALE RETURN FALSE ENDIF IF vehIndex = 142 //145 - SUB_D_PURCHASE OR vehIndex = 143 //146 - SUB_D_PURCHASE_OK OR vehIndex = 144 //147 - SUB_D_PURCHASE_FAIL RETURN FALSE ENDIF RETURN TRUE ENDIF ELIF NOT g_bInMultiplayer IF vehIndex = 14 // AIRBUS OR vehIndex = 15 // JOURNEY OR vehIndex = 17 // COACH OR vehIndex = 18 // BUS OR (vehIndex >= 21 AND vehIndex < NUM_PAGES_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM) IF vehIndex = 57 //60 - TRUCK_D_PURCHASE OR vehIndex = 58 //61 - TRUCK_D_PURCHASE_SUCCESS OR vehIndex = 59 //62 - TRUCK_D_PURCHASE_FAILED RETURN FALSE ENDIF IF vehIndex = 85 //88 - AVENGER_D_PURCHASE OR vehIndex = 86 //89 - AVENGER_D_PURCHASE_OK OR vehIndex = 87 //90 - AVENGER_D_PURCHASE_FAIL RETURN FALSE ENDIF IF vehIndex = 105 //108 - HACKERTRUCK_D_BUY OR vehIndex = 106 //109 - HACKERTRUCK_D_SOLD OR vehIndex = 107 //110 - HACKERTRUCK_D_NOSALE RETURN FALSE ENDIF IF vehIndex = 142 //145 - SUB_D_PURCHASE OR vehIndex = 143 //146 - SUB_D_PURCHASE_OK OR vehIndex = 144 //147 - SUB_D_PURCHASE_FAIL RETURN FALSE ENDIF RETURN TRUE ENDIF ENDIF ELIF site = WWW_DOCKTEASE_COM CONST_INT iYACHT_D_HOME 19 CONST_INT iYACHT_D_MODEL 20 CONST_INT iYACHT_D_FITTINGS 21 CONST_INT iYACHT_D_COLOUR 22 CONST_INT iYACHT_D_LIGHTING 23 CONST_INT iYACHT_D_FLAG 29 CONST_INT iYACHT_D_PERSONALIZE 24 CONST_INT iYACHT_D_CHECKOUT 25 CONST_INT iYACHT_D_PURCHASE 26 CONST_INT iYACHT_D_PURCHASE_SUCCESS 27 CONST_INT iYACHT_D_PURCHASE_FAILED 28 IF (vehIndex >= 0 AND vehIndex <= 6) OR (vehIndex = 8) //DINGHY3 OR (vehIndex = 11) //TORO OR (vehIndex = 14) //SUB2 RETURN TRUE ELIF (vehIndex >= iYACHT_D_HOME-3 AND vehIndex < NUM_PAGES_DOCKTEASE_COM) // IF vehIndex = iYACHT_D_CHECKOUT-3 //YACHT_D_CHECKOUT IF vehIndex = iYACHT_D_PURCHASE-3 //YACHT_D_PURCHASE OR vehIndex = iYACHT_D_PURCHASE_SUCCESS-3 //YACHT_D_PURCHASE_SUCCESS OR vehIndex = iYACHT_D_PURCHASE_FAILED-3 //YACHT_D_PURCHASE_FAILED RETURN FALSE ENDIF RETURN TRUE ENDIF ELIF site = WWW_PANDMCYCLES_COM IF vehIndex >= 0 AND vehIndex <= 5 RETURN TRUE ENDIF ELIF site = WWW_BENNYSORIGINALMOTORWORKS_COM IF vehIndex = 10 //Success [25] RETURN FALSE ENDIF IF vehIndex >= 0 AND vehIndex < NUM_PAGES_BENNYSORIGINALMOTORWORKS_COM RETURN TRUE ENDIF IF vehIndex >= 12 AND vehIndex <= NUM_PAGES_BENNYSORIGINALMOTORWORKS_COM+12 RETURN TRUE ENDIF ELIF site = WWW_ARENAWAR_TV IF g_bInMultiplayer // IF vehIndex = 10 //Success [25] // RETURN FALSE // ENDIF // IF vehIndex >= 0 AND vehIndex < NUM_PAGES_ARENA_COM RETURN TRUE // ENDIF // IF vehIndex >= 12 AND vehIndex <= NUM_PAGES_ARENA_COM+12 // RETURN TRUE // ENDIF ENDIF ENDIF RETURN FALSE ENDFUNC /// PURPOSE: /// Checks whether the indices passed are on a vehicle site, and a page for a DLC vehicle. FUNC BOOL IS_INDEX_DLC_FOR_VEH_SITE(WEBSITE_INDEX_ENUM site, INT vehIndex) IF site = WWW_LEGENDARYMOTORSPORT_NET IF vehIndex >= 35 AND vehIndex <= 46 // Skip non dlc vehicles. IF vehIndex != 42 // BV_DLC_COQUETTE_TOPLESS AND vehIndex != 43 // BV_C_BANSHEE_TOPLESS AND vehIndex != 44 // BV_DLC_STINGER_TOPLESS AND vehIndex != 45 // BV_DLC_VOLTIC_HARDTOP CPRINTLN(DEBUG_INTERNET, "IS_INDEX_DLC_FOR_VEH_SITE: Vehicle index ", vehIndex, " is DLC on Legendary Motorsport") RETURN TRUE ENDIF ENDIF ELIF site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM IF vehIndex >= 42 AND vehIndex <= 44 CPRINTLN(DEBUG_INTERNET, "IS_INDEX_DLC_FOR_VEH_SITE: Vehicle index ", vehIndex, " is DLC on Southern San Andreas Super Autos") RETURN TRUE ENDIF ELIF site = WWW_ELITASTRAVEL_COM IF vehIndex = 18 OR vehIndex = 21 CPRINTLN(DEBUG_INTERNET, "IS_INDEX_DLC_FOR_VEH_SITE: Vehicle index ", vehIndex, " is DLC on Elitas Travel") RETURN TRUE ENDIF ELIF site = WWW_DOCKTEASE_COM IF vehIndex = 2 CPRINTLN(DEBUG_INTERNET, "IS_INDEX_DLC_FOR_VEH_SITE: Vehicle index ", vehIndex, " is DLC on Docktease") RETURN TRUE ENDIF ELIF site = WWW_BENNYSORIGINALMOTORWORKS_COM CPRINTLN(DEBUG_INTERNET, "IS_INDEX_DLC_FOR_VEH_SITE: Vehicle index ", vehIndex, " is DLC on Los Santos Customs") RETURN FALSE ELIF site = WWW_ARENAWAR_TV CPRINTLN(DEBUG_INTERNET, "IS_INDEX_DLC_FOR_VEH_SITE: Vehicle index ", vehIndex, " is DLC on Arena Wars") RETURN FALSE ENDIF RETURN FALSE ENDFUNC /// PURPOSE: /// Get vehicle from website and page id FUNC SITE_BUYABLE_VEHICLE GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WEBSITE_INDEX_ENUM site, INT page) // Vehicle id INT id = page - 3 // Check page is valid IF NOT IS_INDEX_VALID_FOR_VEH_SITE(site, id) CDEBUG3LN(DEBUG_INTERNET, "GET_VEHICLE_FROM_SITE_AND_PAGE_ID: Page index ", page, " [site:", GET_WEBSITE_FROM_INDEX(site), ", id:", id, "] reported as outside of valid range, returning unset") RETURN UNSET_BUYABLE_VEHICLE ENDIF SWITCH site CASE WWW_LEGENDARYMOTORSPORT_NET SWITCH id CASE 0 RETURN BV_C_ZTYPE CASE 1 RETURN BV_C_STINGER CASE 2 RETURN BV_C_JB700 CASE 3 RETURN BV_C_CHEETAH CASE 4 RETURN BV_C_ENTITYXF CASE 5 RETURN BV_C_VENEM CASE 6 RETURN BV_C_MONROE CASE 7 RETURN BV_C_COGCABRIO CASE 8 RETURN BV_C_VACCA // Additional MP only vehicles CASE 14 RETURN BV_MP_BULLET CASE 15 RETURN BV_MP_CARBONIZZARE CASE 16 RETURN BV_MP_COQUETTE CASE 17 RETURN BV_C_EXEMPLAR CASE 18 RETURN BV_C_FELTZER2 CASE 19 RETURN BV_C_INFERNUS CASE 20 RETURN BV_C_NINEF CASE 21 RETURN BV_MP_NINEF2 CASE 22 RETURN BV_MP_RAPIDGT CASE 23 RETURN BV_MP_RAPIDGT2 CASE 24 RETURN BV_MP_STINGERGT CASE 25 RETURN BV_C_SUPERD // Social Club CASE 26 RETURN BV_SC_ELEGY2 // Collectors Edition MP CASE 27 RETURN BV_CE_KHAMELION CASE 28 RETURN BV_CE_HOTKNIFE CASE 29 RETURN BV_CE_CARBONRS // Additional MP CASE 30 RETURN BV_MP_VOLTIC // CASE 31 - page 34 // This conflicts with the buy page from SSASA so the page is unused CASE 32 RETURN BV_C_SURANO CASE 33 RETURN BV_C_BANSHEE CASE 34 RETURN BV_C_COMET2 CASE 35 RETURN BV_DLC_ROOSEVELT CASE 36 RETURN BV_DLC_JESTER CASE 37 RETURN BV_DLC_MASSACRO CASE 38 RETURN BV_DLC_TURISMO CASE 39 RETURN BV_DLC_ZENTORNO CASE 40 RETURN BV_DLC_HUNTLEY CASE 41 RETURN BV_DLC_ALPHA CASE 42 RETURN BV_DLC_COQUETTE_TOPLESS CASE 43 RETURN BV_C_BANSHEE_TOPLESS CASE 44 RETURN BV_DLC_STINGER_TOPLESS CASE 45 RETURN BV_DLC_VOLTIC_HARDTOP CASE 46 RETURN BV_DLC_THRUST CASE 47 RETURN BV_MP_COQUETTE2 CASE 48 RETURN BV_MP_COQUETTE2_TOPLESS CASE 49 RETURN BV_DLC_FUROREGT CASE 50 RETURN BV_DLC_CASCO CASE 51 RETURN BV_DLC_LECTRO CASE 52 RETURN BV_L2_BRAWLER CASE 53 RETURN BV_L2_CHINO // CASE 54 RETURN BV_L2_CHINO_TOPLESS CASE 55 RETURN BV_L2_COQUETTE3 // CASE 56 RETURN BV_L2_COQUETTE3_TOPLESS CASE 57 RETURN BV_LX_OSIRIS CASE 58 RETURN BV_LX_FELTZER3 CASE 59 RETURN BV_L2_T20 CASE 60 RETURN BV_L2_VINDICATOR CASE 61 RETURN BV_LX_VIRGO CASE 62 RETURN BV_LX_WINDSOR CASE 63 RETURN BV_AP_COG55 CASE 64 RETURN BV_AP_COGNOSCENTI CASE 65 RETURN BV_AP_MAMBA CASE 66 RETURN BV_AP_NIGHTSHADE CASE 67 RETURN BV_AP_VERLIERER2 CASE 68 RETURN BV_AP_BALLER3 CASE 69 RETURN BV_AP_BALLER4 CASE 70 RETURN BV_AP_SCHAFTER3 CASE 71 RETURN BV_AP_SCHAFTER4 CASE 72 RETURN BV_V2_ROOSEVELT2 CASE 73 RETURN BV_EX_FMJ CASE 74 RETURN BV_EX_BESTIAGTS CASE 75 RETURN BV_EX_XLS CASE 76 RETURN BV_EX_WINDSOR2 CASE 77 RETURN BV_EX_PROTOTIPO CASE 78 RETURN BV_EX_SEVEN70 CASE 79 RETURN BV_EX_PFISTER811 CASE 80 RETURN BV_EX_REAPER CASE 81 RETURN BV_ST_LE7B CASE 82 RETURN BV_ST_TYRUS CASE 83 RETURN BV_ST_LYNX CASE 84 RETURN BV_ST_SHEAVA CASE 85 RETURN BV_BI_SHOTARO CASE 86 RETURN BV_BI_RAPTOR CASE 87 RETURN BV_BI_HAKUCHOU2 CASE 88 RETURN BV_IE_PENETRATOR CASE 89 RETURN BV_IE_TEMPESTA CASE 90 RETURN BV_SR_GP1 CASE 91 RETURN BV_SR_INFERNUS2 CASE 92 RETURN BV_SR_RUSTON CASE 93 RETURN BV_SR_TURISMO2 CASE 94 RETURN BV_GR_CHEETAH2 CASE 95 RETURN BV_GR_TORERO CASE 96 RETURN BV_GR_VAGNER CASE 97 RETURN BV_GR_XA21 CASE 98 RETURN BV_SM_CYCLONE CASE 99 RETURN BV_SM_RAPIDGT3 CASE 100 RETURN BV_SM_VISIONE CASE 101 RETURN BV_GO_COMET4 CASE 102 RETURN BV_GO_NEON CASE 103 RETURN BV_GO_SC1 CASE 104 RETURN BV_GO_AUTARCH CASE 105 RETURN BV_GO_GT500 CASE 106 RETURN BV_GO_HUSTLER CASE 107 RETURN BV_GO_REVOLTER CASE 108 RETURN BV_GO_PARIAH CASE 109 RETURN BV_GO_RAIDEN CASE 110 RETURN BV_GO_SAVESTRA CASE 111 RETURN BV_GO_Z190 CASE 112 RETURN BV_GO_COMET5 CASE 113 RETURN BV_GO_VISERIS CASE 114 RETURN BV_AR_GB200 CASE 115 RETURN BV_AR_FLASHGT CASE 116 RETURN BV_AR_TEZERACT CASE 117 RETURN BV_AR_TYRANT CASE 118 RETURN BV_AR_ENTITY2 CASE 119 RETURN BV_AR_TAIPAN CASE 120 RETURN BV_AR_JESTER3 CASE 121 RETURN BV_BB_SWINGER CASE 122 RETURN BV_BB_STAFFORD CASE 123 RETURN BV_BB_FREECRAWLER CASE 124 RETURN BV_AW_DEVESTE CASE 125 RETURN BV_AW_SCHLAGEN CASE 126 RETURN BV_AW_TOROS CASE 127 RETURN BV_AW_DEVIANT CASE 128 IF NOT g_sMPTunables.bXMASDAYGIFT2018_CAR RETURN BV_AW_CLIQUE ENDIF RETURN UNSET_BUYABLE_VEHICLE BREAK CASE 129 RETURN BV_AW_ITALIGTO CASE 130 IF g_sMPTunables.bXMASDAYGIFT2018_CAR RETURN BV_AW_CLIQUE ENDIF RETURN UNSET_BUYABLE_VEHICLE BREAK CASE 131 RETURN BV_CA_THRAX CASE 132 RETURN BV_CA_DRAFTER CASE 133 RETURN BV_CA_LOCUST CASE 134 RETURN BV_CA_NOVAK CASE 135 RETURN BV_CA_ZORRUSSO CASE 136 RETURN BV_CA_RROCKET CASE 137 RETURN BV_CA_JUGULAR CASE 138 RETURN BV_CA_S80 CASE 139 RETURN BV_CA_KRIEGER CASE 140 RETURN BV_CA_EMERUS CASE 141 RETURN BV_CA_NEO CASE 142 RETURN BV_CA_PARAGON CASE 143 RETURN BV_CH_KOMODA CASE 144 RETURN BV_CH_STRYDER CASE 145 RETURN BV_CH_VSTR CASE 146 RETURN BV_CH_FORMULA CASE 147 RETURN BV_CH_IMORGON CASE 148 RETURN BV_CH_FORMULA2 CASE 149 RETURN BV_CH_FURIA CASE 150 RETURN BV_CH_REBLA CASE 151 RETURN BV_SUM_COQUETTE4 CASE 152 RETURN BV_SUM_TIGON CASE 153 RETURN BV_SUM_OPENWHEEL1 CASE 154 RETURN BV_SUM_OPENWHEEL2 CASE 155 RETURN BV_IH_ITALIRSX CASE 156 RETURN BV_TU_ZR350 CASE 157 RETURN BV_TU_COMET6 CASE 158 RETURN BV_TU_JESTER4 CASE 159 RETURN BV_TU_VECTRE CASE 160 RETURN BV_TU_CYPHER CASE 161 RETURN BV_TU_TAILGATER2 CASE 162 RETURN BV_TU_EUROS CASE 163 RETURN BV_TU_GROWLER #IF FEATURE_GEN9_EXCLUSIVE //CASE 164 RETURN UNUSED CASE 165 RETURN BV_G9E_ASTRON2 CASE 166 RETURN BV_G9E_CYCLONE2 #ENDIF #IF NOT FEATURE_GEN9_EXCLUSIVE CASE 164 RETURN UNSET_BUYABLE_VEHICLE CASE 165 RETURN UNSET_BUYABLE_VEHICLE CASE 166 RETURN UNSET_BUYABLE_VEHICLE #ENDIF CASE 167 RETURN BV_AGENCY_COMET7 CASE 168 RETURN BV_AGENCY_SHINOBI CASE 169 RETURN BV_AGENCY_REEVER CASE 170 RETURN BV_AGENCY_BALLER7 CASE 171 RETURN BV_AGENCY_CINQUEMILA CASE 172 RETURN BV_AGENCY_JUBILEE CASE 173 RETURN BV_AGENCY_ASTRON CASE 174 RETURN BV_AGENCY_DEITY CASE 175 RETURN BV_AGENCY_ZENO CASE 176 RETURN BV_AGENCY_CHAMPION CASE 177 RETURN BV_AGENCY_IGNUS #IF FEATURE_DLC_1_2022 CASE 178 RETURN BV_SUM2_SM722 CASE 179 RETURN BV_SUM2_TORERO2 CASE 180 RETURN BV_SUM2_CORSITA CASE 181 RETURN BV_SUM2_LM87 CASE 182 RETURN BV_SUM2_TENF CASE 183 RETURN BV_SUM2_OMNISEGT #ENDIF CASE NUM_PAGES_LEGENDARYMOTORSPORT_NET RETURN UNSET_BUYABLE_VEHICLE ENDSWITCH BREAK CASE WWW_ELITASTRAVEL_COM SWITCH id CASE 0 RETURN BV_P_DUSTER CASE 1 RETURN BV_P_SHAMAL CASE 2 RETURN BV_P_CUBAN CASE 3 RETURN BV_P_LUXOR CASE 4 RETURN BV_P_STUNT CASE 5 RETURN BV_P_FROGGER // CASE 6 //not used: 9 // CASE 7 //not used: 10 // CASE 8 //not used: 11 // CASE 9 //Purchase Page: 12 // CASE 10 //Purchase - FAILED: 13 // CASE 11 //Purchase - ERROR: 14 CASE 12 RETURN BV_P_MAVERICK CASE 13 RETURN BV_MP_ANNIHILATOR CASE 14 RETURN BV_MP_MAMMATUS CASE 15 RETURN BV_A_TITAN CASE 16 RETURN BV_MP_VELUM CASE 17 RETURN BV_DLC_VESTRA CASE 18 RETURN BV_DLC_MILJET CASE 19 RETURN BV_DLC_BESRA #IF IS_NEXTGEN_BUILD CASE 20 RETURN BV_NG_DODO #ENDIF CASE 21 RETURN BV_DLC_SWIFT CASE 22 RETURN BV_DLC_VELUM2 CASE 23 RETURN BV_LX_LUXOR2 CASE 24 RETURN BV_LX_SWIFT2 CASE 25 RETURN BV_AP_SUPERVOLITO1 CASE 26 RETURN BV_AP_SUPERVOLITO2 CASE 27 RETURN BV_EX_VOLATUS CASE 28 RETURN BV_EX_NIMBUS CASE 29 RETURN BV_SM_HOWARD CASE 30 RETURN BV_SM_ALPHAZ1 CASE 31 RETURN BV_SM_HAVOK CASE 32 RETURN BV_SM_SEABREEZE CASE 33 RETURN BV_SM_MICROLIGHT CASE 34 RETURN BV_AR_SEASPARROW CASE 35 RETURN BV_BB_BLIMP3 #IF FEATURE_DLC_1_2022 CASE 36 RETURN BV_SUM2_CONADA #ENDIF CASE NUM_PAGES_ELITASTRAVEL_COM RETURN UNSET_BUYABLE_VEHICLE ENDSWITCH BREAK CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM SWITCH id CASE 0 RETURN BV_A_RHINO CASE 2 RETURN BV_A_BARRACKS CASE 4 RETURN BV_A_CARGOBOB CASE 5 RETURN BV_A_BUZZARD CASE 7 RETURN BV_A_CRUSADER // Additional MP-only vehicles CASE 14 RETURN BV_MP_AIRBUS CASE 15 RETURN BV_MP_JOURNEY CASE 17 RETURN BV_MP_COACH CASE 18 RETURN BV_MP_BUS CASE 21 RETURN BV_MP_MULE CASE 24 RETURN BV_MP_RENTALBUS CASE 25 RETURN BV_MP_DUMP CASE 26 RETURN BV_DLC_DUBSTA3 CASE 27 RETURN BV_MP_LIBERATOR CASE 28 RETURN BV_DLC_BOXVILLE4 CASE 29 RETURN BV_DLC_VALKYRIE CASE 30 RETURN BV_DLC_HYDRA CASE 31 RETURN BV_DLC_INSURGENT CASE 32 RETURN BV_DLC_INSURGENT2 CASE 33 RETURN BV_DLC_MULE3 CASE 34 RETURN BV_DLC_SAVAGE CASE 35 RETURN BV_DLC_TECHNICAL CASE 36 RETURN BV_MP_MESA3 CASE 37 RETURN BV_DLC_PBUS #IF IS_NEXTGEN_BUILD CASE 38 RETURN BV_NG_MARSHALL CASE 39 RETURN BV_NG_DUKES2 #ENDIF CASE 40 RETURN BV_AP_LIMO2 CASE 41 RETURN BV_EX_CARGOBOB2 CASE 42 RETURN BV_EX_BRICKADE CASE 43 RETURN BV_IE_DUNE5 CASE 44 RETURN BV_IE_PHANTOM2 CASE 45 RETURN BV_IE_TECHNICAL2 CASE 46 RETURN BV_IE_BLAZER5 CASE 47 RETURN BV_IE_BOXVILLE5 CASE 48 RETURN BV_IE_WASTELANDER CASE 49 RETURN BV_IE_RUINER2 CASE 50 RETURN BV_IE_VOLTIC2 CASE 51 RETURN BV_DLC_BIG_TRUCK //54 - TRUCK_D_CAB CASE 52 RETURN BV_DLC_BIG_TRUCK //55 - TRUCK_D_MODULE_D_1 CASE 53 RETURN BV_DLC_BIG_TRUCK //56 - TRUCK_D_MODULE_D_2 CASE 54 RETURN BV_DLC_BIG_TRUCK //57 - TRUCK_D_MODULE_D_3 CASE 55 RETURN BV_DLC_BIG_TRUCK //58 - TRUCK_D_COLOR CASE 56 RETURN BV_DLC_BIG_TRUCK //59 - TRUCK_D_SUMMARY CASE 57 RETURN BV_DLC_BIG_TRUCK //60 - TRUCK_D_PURCHASE CASE 58 RETURN BV_DLC_BIG_TRUCK //61 - TRUCK_D_PURCHASE_SUCCESS CASE 59 RETURN BV_DLC_BIG_TRUCK //62 - TRUCK_D_PURCHASE_FAILED CASE 60 RETURN BV_DLC_BALLISTIC_EQUIPMENT CASE 61 RETURN BV_GR_APC CASE 62 RETURN BV_GR_DUNE3 CASE 63 RETURN BV_GR_HALFTRACK CASE 64 RETURN BV_GR_OPPRESSOR CASE 65 RETURN BV_GR_TAMPA3 CASE 66 RETURN BV_GR_TRAILERSMALL2 CASE 67 RETURN BV_GR_ARDENT CASE 68 RETURN BV_GR_NIGHTSHARK CASE 69 RETURN BV_SM_LAZER CASE 70 RETURN BV_SM_MOGUL CASE 71 RETURN BV_SM_ROGUE CASE 72 RETURN BV_SM_STARLING CASE 73 RETURN BV_SM_TULA CASE 74 RETURN BV_SM_PYRO CASE 75 RETURN BV_SM_MOLOTOK CASE 76 RETURN BV_SM_NOKOTA CASE 77 RETURN BV_SM_BOMBUSHKA CASE 78 RETURN BV_SM_HUNTER CASE 79 RETURN BV_SM_VIGILANTE CASE 80 RETURN BV_DLC_BIG_PLANE //83 - AVENGER_D_INTERIOR CASE 81 RETURN BV_DLC_BIG_PLANE //84 - AVENGER_D_TURRET CASE 82 RETURN BV_DLC_BIG_PLANE //85 - AVENGER_D_VEHICLE_D_WORKSHOP CASE 83 RETURN BV_DLC_BIG_PLANE //86 - AVENGER_D_WEAPON_D_WORKSHOP CASE 84 RETURN BV_DLC_BIG_PLANE //87 - AVENGER_D_SUMMARY CASE 85 RETURN BV_DLC_BIG_PLANE //88 - AVENGER_D_PURCHASE CASE 86 RETURN BV_DLC_BIG_PLANE //89 - AVENGER_D_PURCHASE_OK CASE 87 RETURN BV_DLC_BIG_PLANE //90 - AVENGER_D_PURCHASE_FAIL CASE 88 RETURN BV_GO_DELUXO CASE 89 RETURN BV_GO_STROMBERG CASE 90 RETURN BV_GO_RIOT2 CASE 91 RETURN BV_GO_CHERNOBOG CASE 92 RETURN BV_GO_KHANJALI CASE 93 RETURN BV_GO_AKULA CASE 94 RETURN BV_GO_THRUSTER CASE 95 RETURN BV_GO_BARRAGE CASE 96 RETURN BV_GO_VOLATOL CASE 97 RETURN BV_AR_CARACARA CASE 98 RETURN BV_DLC_HACKER_TRUCK //101 HACKERTRUCK_D_TINT CASE 99 RETURN BV_DLC_HACKER_TRUCK //102 HACKERTRUCK_D_DECAL CASE 100 RETURN BV_DLC_HACKER_TRUCK //103 HACKERTRUCK_D_MISSILE_D_LAUNCHER CASE 101 RETURN BV_DLC_HACKER_TRUCK //104 HACKERTRUCK_D_DRONE_D_STATION CASE 102 RETURN BV_DLC_HACKER_TRUCK //105 HACKERTRUCK_D_WEAPON_D_STATION CASE 103 RETURN BV_DLC_HACKER_TRUCK //106 HACKERTRUCK_D_MOTORCYCLE_D_WORKSHOP CASE 104 RETURN BV_DLC_HACKER_TRUCK //107 HACKERTRUCK_D_SUMMARY CASE 105 RETURN BV_DLC_HACKER_TRUCK //108 HACKERTRUCK_D_BUY CASE 106 RETURN BV_DLC_HACKER_TRUCK //109 HACKERTRUCK_D_SOLD CASE 107 RETURN BV_DLC_HACKER_TRUCK //110 HACKERTRUCK_D_NOSALE CASE 108 RETURN BV_BB_MULE4 CASE 109 RETURN BV_BB_POUNDER2 CASE 110 RETURN BV_BB_MENACER CASE 111 RETURN BV_BB_SCRAMJET CASE 112 RETURN BV_BB_STRIKEFORCE CASE 113 RETURN BV_BB_OPPRESSOR2 // Casino Heist CASE 114 RETURN BV_CH_FIRETRUK CASE 115 RETURN BV_CH_BURRITO2 CASE 116 RETURN BV_CH_BOXVILLE CASE 117 RETURN BV_CH_STOCKADE CASE 118 RETURN BV_CH_LGUARD CASE 119 RETURN BV_CH_BLAZER2 CASE 120 RETURN BV_CH_ZHABA CASE 121 RETURN BV_CH_MINITANK CASE 122 RETURN BV_CH_JB7002 // #IF FEATURE_COPS_N_CROOKS // CASE 123 RETURN BV_CNC_POLICE5 // CASE 124 RETURN BV_CNC_POLICE6 // CASE 125 RETURN BV_CNC_POLICEB2 // CASE 126 RETURN BV_CNC_POLGREENWOOD // CASE 127 RETURN BV_CNC_POLRIATA // CASE 128 RETURN BV_CNC_POLCARACARA // CASE 129 RETURN BV_CNC_POLGRANGER // CASE 130 RETURN BV_CNC_POLBUFFALO // CASE 131 RETURN BV_CNC_POLICET2 // CASE 132 RETURN BV_CNC_POLPANTO // CASE 133 RETURN BV_CNC_POLBATI // CASE 134 RETURN BV_CNC_POLGAUNTLET // #ENDIF #IF FEATURE_HEIST_ISLAND CASE 135 RETURN BV_IH_KOSATKA // 138 SUB_D_COLOR CASE 136 RETURN BV_IH_KOSATKA // 139 SUB_D_FLAG CASE 137 RETURN BV_IH_KOSATKA // 140 SUB_D_SONAR CASE 138 RETURN BV_IH_KOSATKA // 141 SUB_D_MISSILES CASE 139 RETURN BV_IH_KOSATKA // 142 SUB_D_WEAPON_D_WORKSHOP CASE 140 RETURN BV_IH_KOSATKA // 143 SUB_D_VEHICLES CASE 141 RETURN BV_IH_KOSATKA // 144 SUB_D_SUMMARY CASE 142 RETURN BV_IH_KOSATKA // 145 SUB_D_PURCHASE CASE 143 RETURN BV_IH_KOSATKA // 146 SUB_D_PURCHASE_OK CASE 144 RETURN BV_IH_KOSATKA // 147 SUB_D_PURCHASE_FAIL CASE 145 RETURN BV_IH_ALKONOST CASE 146 RETURN BV_IH_ANNIHILATOR2 // CASE 147 RETURN BV_IH_AVISA CASE 148 RETURN BV_IH_DINGHY5 CASE 149 RETURN BV_IH_MANCHEZ2 CASE 150 RETURN BV_IH_PATROLBOAT // CASE 151 RETURN BV_IH_SEASPARROW2 CASE 152 RETURN BV_IH_SQUADDIE CASE 153 RETURN BV_IH_TOREADOR CASE 154 RETURN BV_IH_VERUS CASE 155 RETURN BV_IH_VETIR CASE 156 RETURN BV_IH_WINKY #ENDIF #IF FEATURE_GEN9_EXCLUSIVE CASE 157 RETURN BV_G9E_IGNUS2 #ENDIF CASE NUM_PAGES_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM RETURN UNSET_BUYABLE_VEHICLE ENDSWITCH BREAK CASE WWW_DOCKTEASE_COM SWITCH id CASE 0 RETURN BV_B_MARQUIS //3 CASE 1 RETURN BV_B_JETMAX //4 CASE 2 RETURN BV_DLC_SPEEDER //5 CASE 3 RETURN BV_B_SQUALO //6 CASE 4 RETURN BV_B_SUNTRAP //7 CASE 5 RETURN BV_B_TROPIC //8 CASE 6 RETURN BV_B_SEASHARK //9 // CASE 7 //not used //10 CASE 8 RETURN BV_DLC_DINGHY3 //11 - DINGHY3 // CASE 9 //PURCHASE //12 // CASE 10 //PURCHASE_D_FAILED //13 CASE 11 RETURN BV_L2_TORO //14 - TORO // CASE 12 //not used //15 // CASE 13 //not used //16 CASE 14 RETURN BV_NG_SUBMERSIBLE2 //17 - SUB2 // CASE 15 //not used //18 CASE 16 RETURN BV_DLC_BIG_YACHT //19 - YACHT CASE 17 RETURN BV_DLC_BIG_YACHT //20 - YACHT_D_MODEL CASE 18 RETURN BV_DLC_BIG_YACHT //21 - YACHT_D_FITTINGS CASE 19 RETURN BV_DLC_BIG_YACHT //22 - YACHT_D_COLOUR CASE 20 RETURN BV_DLC_BIG_YACHT //23 - YACHT_D_LIGHTING CASE 21 RETURN BV_DLC_BIG_YACHT //24 - YACHT_D_FLAG CASE 22 RETURN BV_DLC_BIG_YACHT //25 - YACHT_D_CHECKOUT CASE 23 RETURN BV_DLC_BIG_YACHT //26 - YACHT_D_PURCHASE CASE 24 RETURN BV_DLC_BIG_YACHT //27 - YACHT_D_PURCHASE_SUCCESS CASE 25 RETURN BV_DLC_BIG_YACHT //28 - YACHT_D_PURCHASE_FAILED CASE 26 RETURN BV_EX_TUG //29 TUG #IF FEATURE_HEIST_ISLAND CASE 27 RETURN BV_IH_LONGFIN #ENDIF CASE NUM_PAGES_DOCKTEASE_COM RETURN UNSET_BUYABLE_VEHICLE ENDSWITCH BREAK CASE WWW_PANDMCYCLES_COM SWITCH id CASE 0 RETURN BV_C_BMX CASE 1 RETURN BV_C_SCORCHER CASE 2 RETURN BV_C_WHIPPET CASE 3 RETURN BV_C_ENDUREX CASE 4 RETURN BV_C_TRICYCLE CASE 5 RETURN BV_C_CRUISER CASE NUM_PAGES_PANDMCYCLES_COM RETURN UNSET_BUYABLE_VEHICLE ENDSWITCH BREAK CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM SWITCH id CASE 0 RETURN BV_C_SCHWARZER CASE 1 RETURN BV_C_ZION CASE 2 RETURN BV_C_GAUNTLET CASE 3 RETURN BV_C_VIGERO CASE 4 RETURN BV_C_ISSI2 CASE 5 RETURN BV_C_INFERNUS CASE 6 RETURN BV_C_SURANO CASE 7 RETURN BV_C_VACCA CASE 8 RETURN BV_C_NINEF CASE 9 RETURN BV_C_COMET2 CASE 10 RETURN BV_C_BANSHEE CASE 11 RETURN BV_C_FELTZER2 CASE 12 RETURN BV_C_BFINJECTION CASE 13 RETURN BV_C_SANDKING CASE 14 RETURN BV_C_FUGITIVE CASE 15 RETURN BV_C_DILETTANTE CASE 16 RETURN BV_C_SUPERD CASE 17 RETURN BV_C_EXEMPLAR CASE 18 RETURN BV_C_BALLER2 CASE 19 RETURN BV_C_CAVALCADE CASE 20 RETURN BV_C_ROCOTO CASE 21 RETURN BV_C_FELON CASE 22 RETURN BV_C_ORACLE2 CASE 23 RETURN BV_C_BATI CASE 24 RETURN BV_C_AKUMA CASE 25 RETURN BV_C_RUFFIAN CASE 26 RETURN BV_C_VADER CASE 27 RETURN BV_C_BLAZER CASE 28 RETURN BV_C_PCJ CASE 29 RETURN BV_C_SANCHEZ CASE 30 RETURN BV_C_FAGGIO2 // CASE 31 //Purchase Page: 34 // CASE 32 //Purchase Failed Page: 35 // CASE 33 //Purchase Error Page: 36 CASE 35 RETURN BV_MP_BISON CASE 36 RETURN BV_MP_DOUBLE CASE 37 RETURN BV_MP_FELON2 CASE 38 RETURN BV_MP_HEXER CASE 39 RETURN BV_MP_ZION2 CASE 40 RETURN BV_MP_BATI2 CASE 41 RETURN BV_MP_STRETCH CASE 42 RETURN BV_DLC_BIFTA CASE 43 RETURN BV_DLC_KALAHARI CASE 44 RETURN BV_DLC_PARADISE CASE 45 RETURN BV_MP_BODHI2 CASE 46 RETURN BV_MP_DUNE CASE 47 RETURN BV_MP_REBEL CASE 48 RETURN BV_MP_SADLER CASE 49 RETURN BV_MP_SANDKINGSWB CASE 50 RETURN BV_MP_SANCHEZ2 CASE 51 RETURN BV_MP_RATLOADER CASE 52 RETURN BV_MP_ASEA CASE 53 RETURN BV_MP_ASTEROPE CASE 54 RETURN BV_MP_BOBCATXL CASE 55 RETURN BV_MP_CAVALCADE2 CASE 56 RETURN BV_MP_GRANGER CASE 57 RETURN BV_MP_INGOT CASE 58 RETURN BV_MP_INTRUDER CASE 59 RETURN BV_MP_MINIVAN CASE 60 RETURN BV_MP_PREMIER CASE 61 RETURN BV_MP_RADIUS CASE 62 RETURN BV_MP_RANCHERXL CASE 63 RETURN BV_MP_STANIER CASE 64 RETURN BV_MP_STRATUM CASE 65 RETURN BV_MP_WASHINGTON CASE 66 RETURN BV_MP_DOMINATOR CASE 67 RETURN BV_MP_F620 CASE 68 RETURN BV_MP_FUSILADE CASE 69 RETURN BV_MP_PENUMBRA CASE 70 RETURN BV_MP_SENTINEL CASE 71 RETURN BV_MP_SENTINEL2 CASE 72 RETURN BV_DLC_BLADE CASE 73 RETURN BV_DLC_WARRENER CASE 74 RETURN BV_DLC_GLENDALE CASE 75 RETURN BV_DLC_RHAPSODY CASE 76 RETURN BV_DLC_PANTO CASE 77 RETURN BV_DLC_PIGALLE CASE 78 RETURN BV_MP_PICADOR CASE 79 RETURN BV_MP_REGINA CASE 80 RETURN BV_MP_SURFER CASE 81 RETURN BV_MP_YOUGA CASE 82 RETURN BV_MP_BLAZER3 CASE 83 RETURN BV_MP_REBEL2 CASE 84 RETURN BV_MP_PRIMO CASE 85 RETURN BV_MP_BUFFALO CASE 86 RETURN BV_MP_BUFFALO2 CASE 87 RETURN BV_MP_TAILGATER CASE 88 RETURN BV_MP_SOVEREIGN CASE 89 RETURN BV_DLC_HAKUCHOU CASE 90 RETURN BV_DLC_INNOVATION CASE 91 RETURN BV_DLC_KALAHARI_TOPLESS CASE 92 RETURN BV_MP_GRESLEY CASE 93 RETURN BV_MP_JACKAL CASE 94 RETURN BV_MP_LANDSTALKER CASE 95 RETURN BV_MP_NEMESIS CASE 96 RETURN BV_MP_ORACLE CASE 97 RETURN BV_MP_RUMPO CASE 98 RETURN BV_MP_SCHAFTER2 CASE 99 RETURN BV_MP_SEMINOLE CASE 100 RETURN BV_MP_SURGE CASE 101 RETURN BV_DLC_ENDURO CASE 102 RETURN BV_DLC_GBURRITO2 CASE 103 RETURN BV_DLC_GUARDIAN CASE 104 RETURN BV_DLC_KURUMA CASE 105 RETURN BV_DLC_KURUMA2 #IF IS_NEXTGEN_BUILD CASE 106 RETURN BV_NG_DUKES CASE 107 RETURN BV_NG_BLISTA2 CASE 108 RETURN BV_NG_STALION CASE 109 RETURN BV_NG_STALION2 CASE 110 RETURN BV_NG_DOMINATOR2 CASE 111 RETURN BV_NG_GAUNTLET2 CASE 112 RETURN BV_NG_BUFFALO3 #ENDIF CASE 113 RETURN BV_DLC_RATLOADER2 CASE 114 RETURN BV_DLC_SLAMVAN CASE 115 RETURN BV_DLC_MASSACRO2 CASE 116 RETURN BV_DLC_JESTER2 CASE 117 RETURN BV_HA_BTYPE2 CASE 118 RETURN BV_HA_LURCHER CASE 119 RETURN BV_X3_TAMPA CASE 120 RETURN BV_EX_RUMPO3 CASE 121 RETURN BV_ST_OMNIS CASE 122 RETURN BV_ST_TROPOS CASE 123 RETURN BV_ST_BRIOSO CASE 124 RETURN BV_ST_TROPHYTRUCK CASE 125 RETURN BV_ST_TROPHYTRUCK2 CASE 126 RETURN BV_ST_CONTENDER CASE 127 RETURN BV_ST_CLIFFHANGER CASE 128 RETURN BV_ST_BF400 CASE 129 RETURN BV_ST_RALLYTRUCK CASE 130 RETURN BV_ST_TAMPA2 CASE 131 RETURN BV_ST_GARGOYLE CASE 132 RETURN BV_BI_BAGGER // CASE 133 RETURN BV_BI_DAEMON //unused CASE 134 RETURN BV_BI_ESSKEY CASE 135 RETURN BV_BI_NIGHTBLADE CASE 136 RETURN BV_BI_DEFILER CASE 137 RETURN BV_BI_AVARUS CASE 138 RETURN BV_BI_ZOMBIEA CASE 139 RETURN BV_BI_ZOMBIEB CASE 140 RETURN BV_BI_CHIMERA CASE 141 RETURN BV_BI_DAEMON2 CASE 142 RETURN BV_BI_RATBIKE CASE 143 RETURN BV_BI_VORTEX CASE 144 RETURN BV_BI_BLAZER4 CASE 145 RETURN BV_BI_SANCTUS CASE 146 RETURN BV_BI_MANCHEZ CASE 147 RETURN BV_BI_TORNADO6 CASE 148 RETURN BV_BI_YOUGA2 CASE 149 RETURN BV_BI_WOLFSBANE CASE 150 RETURN BV_BI_FAGGIO3 CASE 151 RETURN BV_BI_FAGGIO CASE 152 RETURN BV_SM_RETINUE CASE 153 RETURN BV_GO_SENTINEL3 CASE 154 RETURN BV_GO_YOSEMITE CASE 155 RETURN BV_GO_RIATA CASE 156 RETURN BV_GO_HERMES CASE 157 RETURN BV_GO_STREITER CASE 158 RETURN BV_GO_KAMACHO CASE 159 RETURN BV_AR_FAGALOA CASE 160 RETURN BV_AR_ELLIE CASE 161 RETURN BV_AR_ISSI3 CASE 162 RETURN BV_AR_MICHELLI CASE 163 RETURN BV_AR_HOTRING CASE 164 RETURN BV_AR_CHEBUREK CASE 165 RETURN BV_AR_DOMINATOR3 CASE 166 RETURN BV_MP_FUTO CASE 167 RETURN BV_MP_RUINER CASE 168 RETURN BV_MP_ROMERO CASE 169 RETURN BV_MP_PRAIRIE CASE 170 RETURN BV_MP_PATRIOT CASE 171 RETURN BV_MP_BALLER CASE 172 RETURN BV_MP_SERRANO CASE 173 RETURN BV_MP_BJXL CASE 174 RETURN BV_MP_FQ2 CASE 175 RETURN BV_MP_HABANERO CASE 176 RETURN BV_BB_PBUS2 CASE 177 RETURN BV_BB_PATRIOT2 CASE 178 RETURN BV_MP_BLISTA3 // CASE 179 RETURN BV_MP_SLAMVAN2 // CASE 180 RETURN BV_MP_PHOENIX // CASE 181 RETURN BV_MP_PEYOTE // CASE 182 RETURN BV_MP_MANANA // CASE 183 RETURN BV_MP_EMPEROR CASE 184 RETURN BV_AW_VAMOS CASE 185 RETURN BV_AW_TULIP CASE 186 RETURN BV_AW_RCBANDITO ENDSWITCH SWITCH id CASE 187 RETURN BV_CA_GAUNTLET3 CASE 188 RETURN BV_CA_ISSI7 CASE 189 RETURN BV_CA_ZION3 CASE 190 RETURN BV_CA_NEBULA CASE 191 RETURN BV_CA_HELLION CASE 192 RETURN BV_AW_IMPALER CASE 193 RETURN BV_CA_DYNASTY CASE 194 RETURN BV_CA_PEYOTE2 CASE 195 RETURN BV_CA_GAUNTLET4 CASE 196 RETURN BV_CA_CARACARA2 #IF FEATURE_CASINO_HEIST CASE 197 RETURN BV_CH_ASBO CASE 198 RETURN BV_CH_KANJO CASE 199 RETURN BV_CH_EVERON CASE 200 RETURN BV_CH_RETINUE2 CASE 201 RETURN BV_CH_YOSEMITE2 CASE 202 RETURN BV_CH_SUGOI CASE 203 RETURN BV_CH_SULTAN2 CASE 204 RETURN BV_CH_OUTLAW CASE 205 RETURN BV_CH_VAGRANT #ENDIF // CASE 206 RETURN BV_CNC_PRIMO3 CASE 207 RETURN BV_SUM_DUKES3 // #IF FEATURE_COPS_N_CROOKS // CASE 208 RETURN BV_CNC_ZOKU // CASE 212 RETURN BV_CNC_SURFER3 // #ENDIF CASE 213 RETURN BV_SUM_CLUB CASE 214 RETURN BV_SUM_PENUMBRA2 CASE 218 RETURN BV_SUM_SEMINOLE2 CASE 219 RETURN BV_SUM_LANDSTALKER2 CASE 220 RETURN BV_IH_SLAMTRUCK CASE 221 RETURN BV_IH_BRIOSO2 CASE 222 RETURN BV_IH_WEEVIL CASE 223 RETURN BV_IH_VETO CASE 224 RETURN BV_IH_VETO2 CASE 225 RETURN BV_TU_CALICO CASE 226 RETURN BV_TU_REMUS CASE 227 RETURN BV_TU_DOMINATOR7 CASE 228 RETURN BV_TU_FUTO2 CASE 229 RETURN BV_TU_RT3000 CASE 230 RETURN BV_TU_WARRENER2 CASE 231 RETURN BV_TU_SULTAN3 CASE 232 RETURN BV_TU_DOMINATOR8 CASE 233 RETURN BV_TU_PREVION #IF FEATURE_GEN9_EXCLUSIVE CASE 234 RETURN BV_G9E_S95 CASE 235 RETURN BV_G9E_ARBITERGT #ENDIF #IF NOT FEATURE_GEN9_EXCLUSIVE CASE 234 RETURN UNSET_BUYABLE_VEHICLE CASE 235 RETURN UNSET_BUYABLE_VEHICLE #ENDIF CASE 236 RETURN BV_AGENCY_BUFFALO4 CASE 237 RETURN BV_AGENCY_GRANGER2 CASE 238 RETURN BV_AGENCY_IWAGEN CASE 239 RETURN BV_AGENCY_PATRIOT3 #IF FEATURE_DLC_1_2022 CASE 240 RETURN BV_SUM2_RHINEHART CASE 241 RETURN BV_SUM2_POSTLUDE CASE 242 RETURN BV_SUM2_KANJOSJ CASE 243 RETURN BV_SUM2_VIGERO2 CASE 244 RETURN BV_SUM2_RUINER4 CASE 245 RETURN BV_SUM2_DRAUGUR CASE 246 RETURN BV_SUM2_GREENWOOD #ENDIF CASE NUM_PAGES_SOUTHERNSANANDREASSUPERAUTOS_COM RETURN UNSET_BUYABLE_VEHICLE ENDSWITCH BREAK CASE WWW_BENNYSORIGINALMOTORWORKS_COM SWITCH id-12 CASE 0 RETURN BV_L2_CHINO CASE 1 RETURN BV_S1_PRIMO CASE 2 RETURN BV_S1_MOONBEAM CASE 4 IF NOT g_sMPTunables.bEnablelowrider2_Faction RETURN BV_S1_FACTION ELSE RETURN BV_S1_FACTION ENDIF BREAK CASE 5 RETURN BV_S1_BUCCANEER CASE 6 RETURN BV_S1_VOODOO2 CASE 3 RETURN BV_MP_MINIVAN CASE 7 RETURN BV_S2_VIRGO3 CASE 8 RETURN BV_S2_TORNADO CASE 9 RETURN BV_S2_SABREGT CASE 13 RETURN BV_DLC_SLAMVAN CASE 14 RETURN BV_S2_FACTION_DONK BREAK // CASE 10 //Success [25] CASE 11 RETURN BV_JA_SULTAN CASE 12 RETURN BV_C_BANSHEE CASE 15 RETURN BV_IE_ITALIGTB CASE 16 RETURN BV_IE_NERO CASE 17 RETURN BV_IE_DIABLOUS CASE 18 RETURN BV_IE_FCR CASE 19 RETURN BV_SC_ELEGY2 CASE 20 IF !g_sMPtunables.bENABLE_IE_COMET2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN UNSET_BUYABLE_VEHICLE ELSE RETURN BV_C_COMET2 ENDIF BREAK CASE 21 RETURN BV_IE_SPECTER CASE 22 RETURN BV_SUM_MANANA CASE 23 RETURN BV_BI_YOUGA2 CASE 24 RETURN BV_DLC_GLENDALE CASE 25 RETURN BV_CA_GAUNTLET3 CASE 26 RETURN BV_GO_YOSEMITE CASE 27 RETURN BV_SUM_PEYOTE #IF FEATURE_DLC_1_2022 CASE 28 IF !g_sMPTunables.bENABLE_VEHICLE_WEEVIL2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN UNSET_BUYABLE_VEHICLE ELSE RETURN BV_IH_WEEVIL ENDIF BREAK CASE 29 IF !g_sMPTunables.bENABLE_VEHICLE_SENTINEL4 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN UNSET_BUYABLE_VEHICLE ELSE RETURN BV_GO_SENTINEL3 ENDIF BREAK CASE 30 IF !g_sMPTunables.bENABLE_VEHICLE_BRIOSO3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN UNSET_BUYABLE_VEHICLE ELSE RETURN BV_IH_BRIOSO2 ENDIF BREAK CASE 31 IF !g_sMPTunables.bENABLE_VEHICLE_TENF2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN UNSET_BUYABLE_VEHICLE ELSE RETURN BV_SUM2_TENF ENDIF BREAK #ENDIF CASE NUM_PAGES_BENNYSORIGINALMOTORWORKS_COM RETURN UNSET_BUYABLE_VEHICLE ENDSWITCH BREAK CASE WWW_ARENAWAR_TV SWITCH id-18 CASE 0 RETURN BV_AW_CERBERUS CASE 1 RETURN BV_AW_CERBERUS2 CASE 2 RETURN BV_AW_CERBERUS3 CASE 3 RETURN BV_AW_BRUTUS CASE 4 RETURN BV_AW_BRUTUS2 CASE 5 RETURN BV_AW_BRUTUS3 CASE 6 RETURN BV_AW_SCARAB CASE 7 RETURN BV_AW_SCARAB2 CASE 8 RETURN BV_AW_SCARAB3 CASE 9 RETURN BV_AW_IMPERATOR CASE 10 RETURN BV_AW_IMPERATOR2 CASE 11 RETURN BV_AW_IMPERATOR3 CASE 12 RETURN BV_AW_ZR380 CASE 13 RETURN BV_AW_ZR3802 CASE 14 RETURN BV_AW_ZR3803 CASE 15 RETURN BV_DLC_RATLOADER2 CASE 16 RETURN BV_DLC_GLENDALE CASE 17 RETURN BV_DLC_SLAMVAN CASE 18 RETURN BV_MP_DOMINATOR CASE 19 RETURN BV_AW_IMPALER CASE 20 RETURN BV_AR_ISSI3 CASE 21 RETURN BV_ST_GARGOYLE CASE NUM_PAGES_ARENA_COM RETURN UNSET_BUYABLE_VEHICLE ENDSWITCH BREAK ENDSWITCH // Error fallthrough CERRORLN(DEBUG_INTERNET, "GET_VEHICLE_FROM_SITE_AND_PAGE_ID: passed unspecified site \"", GET_WEBSITE_FROM_INDEX(site), "\" with page:", id) RETURN UNSET_BUYABLE_VEHICLE ENDFUNC /// PURPOSE: /// Returns model name for website vehicle FUNC MODEL_NAMES GET_MODEL_FOR_BUYABLE_VEHICLE(SITE_BUYABLE_VEHICLE veh, INT iAltVersion = -1) SWITCH veh // Cars - Legendary Motorsport CASE BV_C_ZTYPE RETURN ZTYPE CASE BV_C_STINGER RETURN STINGER CASE BV_C_JB700 RETURN JB700 CASE BV_C_CHEETAH RETURN CHEETAH CASE BV_C_ENTITYXF RETURN ENTITYXF CASE BV_C_VENEM RETURN ADDER CASE BV_C_MONROE RETURN MONROE CASE BV_C_COGCABRIO RETURN COGCABRIO // CASE BV_C_VELOCE // RETURN VACCA // Planes CASE BV_P_SHAMAL RETURN SHAMAL CASE BV_P_STUNT RETURN STUNT CASE BV_P_CUBAN RETURN CUBAN800 CASE BV_P_DUSTER RETURN DUSTER CASE BV_P_LUXOR RETURN LUXOR CASE BV_P_FROGGER RETURN FROGGER CASE BV_P_MAVERICK RETURN MAVERICK // Military CASE BV_A_RHINO RETURN RHINO CASE BV_A_TITAN RETURN TITAN CASE BV_A_CARGOBOB RETURN CARGOBOB CASE BV_A_BUZZARD RETURN BUZZARD CASE BV_A_CRUSADER RETURN CRUSADER CASE BV_A_BARRACKS RETURN BARRACKS // Boats CASE BV_B_MARQUIS RETURN MARQUIS CASE BV_B_JETMAX RETURN JETMAX CASE BV_B_SQUALO RETURN SQUALO CASE BV_B_TROPIC RETURN TROPIC CASE BV_B_SEASHARK RETURN SEASHARK CASE BV_B_SUBMERSIBLE RETURN SUBMERSIBLE CASE BV_B_SUNTRAP RETURN SUNTRAP CASE BV_EX_TUG RETURN TUG // Bikes CASE BV_C_BMX RETURN BMX CASE BV_C_SCORCHER RETURN SCORCHER CASE BV_C_WHIPPET RETURN TRIBIKE CASE BV_C_ENDUREX RETURN TRIBIKE2 CASE BV_C_TRICYCLE RETURN TRIBIKE3 CASE BV_C_CRUISER RETURN CRUISER // Cars - Super Autos CASE BV_C_SCHWARZER RETURN SCHWARZER CASE BV_C_ZION RETURN ZION CASE BV_C_GAUNTLET RETURN GAUNTLET CASE BV_C_VIGERO RETURN VIGERO CASE BV_C_ISSI2 RETURN ISSI2 CASE BV_C_INFERNUS RETURN INFERNUS CASE BV_C_SURANO RETURN SURANO CASE BV_C_VACCA RETURN VACCA CASE BV_C_NINEF RETURN NINEF CASE BV_C_COMET2 RETURN COMET2 CASE BV_C_BANSHEE RETURN BANSHEE CASE BV_C_FELTZER2 RETURN FELTZER2 CASE BV_C_BFINJECTION RETURN BFINJECTION CASE BV_C_SANDKING RETURN SANDKING CASE BV_C_FUGITIVE RETURN FUGITIVE CASE BV_C_DILETTANTE RETURN DILETTANTE CASE BV_C_SUPERD RETURN SUPERD CASE BV_C_EXEMPLAR RETURN EXEMPLAR CASE BV_C_BALLER2 RETURN BALLER2 CASE BV_C_CAVALCADE RETURN CAVALCADE CASE BV_C_ROCOTO RETURN ROCOTO CASE BV_C_FELON RETURN FELON CASE BV_C_ORACLE2 RETURN ORACLE2 CASE BV_C_BATI RETURN BATI CASE BV_C_AKUMA RETURN AKUMA CASE BV_C_RUFFIAN RETURN RUFFIAN CASE BV_C_VADER RETURN VADER CASE BV_C_BLAZER RETURN BLAZER CASE BV_C_PCJ RETURN PCJ CASE BV_C_SANCHEZ RETURN SANCHEZ CASE BV_C_FAGGIO2 RETURN FAGGIO2 // Various additional vehicles for MP websites CASE BV_MP_BULLET RETURN BULLET CASE BV_MP_CARBONIZZARE RETURN CARBONIZZARE CASE BV_MP_COQUETTE RETURN COQUETTE CASE BV_MP_NINEF2 RETURN NINEF2 CASE BV_MP_RAPIDGT RETURN RAPIDGT CASE BV_MP_RAPIDGT2 RETURN RAPIDGT2 CASE BV_MP_STINGERGT RETURN STINGERGT CASE BV_MP_VOLTIC RETURN VOLTIC CASE BV_MP_ANNIHILATOR RETURN ANNIHILATOR CASE BV_MP_MAMMATUS RETURN MAMMATUS CASE BV_MP_VELUM RETURN VELUM CASE BV_MP_DUMP RETURN DUMP CASE BV_MP_AIRBUS RETURN AIRBUS CASE BV_MP_BUS RETURN BUS CASE BV_MP_COACH RETURN COACH CASE BV_MP_JOURNEY RETURN JOURNEY CASE BV_MP_MULE RETURN MULE CASE BV_MP_RENTALBUS RETURN RENTALBUS CASE BV_MP_STRETCH RETURN STRETCH CASE BV_MP_BISON RETURN BISON CASE BV_MP_DOUBLE RETURN DOUBLE CASE BV_MP_FELON2 RETURN FELON2 CASE BV_MP_HEXER RETURN HEXER CASE BV_MP_ZION2 RETURN ZION2 CASE BV_MP_BATI2 RETURN BATI2 // Social club signup CASE BV_SC_ELEGY2 RETURN ELEGY2 // Collector Edition CASE BV_CE_KHAMELION RETURN KHAMELION CASE BV_CE_HOTKNIFE RETURN HOTKNIFE CASE BV_CE_CARBONRS RETURN CARBONRS ENDSWITCH SWITCH veh // DLC packs // Beach Bum DLC vehicles CASE BV_DLC_BIFTA RETURN bifta CASE BV_DLC_KALAHARI RETURN kalahari CASE BV_DLC_PARADISE RETURN paradise CASE BV_DLC_SPEEDER RETURN speeder // Non-DLC Beach Bum additions CASE BV_MP_BODHI2 RETURN BODHI2 CASE BV_MP_DUNE RETURN DUNE CASE BV_MP_REBEL RETURN REBEL CASE BV_MP_SADLER RETURN SADLER CASE BV_MP_SANCHEZ2 RETURN SANCHEZ2 CASE BV_MP_SANDKINGSWB RETURN SANDKING2 // Valentines DLC vehicles CASE BV_DLC_ROOSEVELT RETURN BTYPE // Business DLC vehicles CASE BV_DLC_JESTER RETURN jester CASE BV_DLC_MASSACRO RETURN massacro CASE BV_DLC_TURISMO RETURN turismor CASE BV_DLC_ZENTORNO RETURN zentorno CASE BV_DLC_HUNTLEY RETURN huntley CASE BV_DLC_ALPHA RETURN alpha CASE BV_DLC_VESTRA RETURN vestra CASE BV_DLC_COQUETTE_TOPLESS RETURN coquette CASE BV_C_BANSHEE_TOPLESS RETURN banshee CASE BV_DLC_STINGER_TOPLESS RETURN stinger CASE BV_DLC_VOLTIC_HARDTOP RETURN voltic CASE BV_DLC_THRUST RETURN thrust // Non-DLC Business additions CASE BV_MP_ASEA RETURN ASEA CASE BV_MP_ASTEROPE RETURN ASTEROPE CASE BV_MP_BOBCATXL RETURN BOBCATXL CASE BV_MP_CAVALCADE2 RETURN CAVALCADE2 CASE BV_MP_GRANGER RETURN GRANGER CASE BV_MP_INGOT RETURN INGOT CASE BV_MP_INTRUDER RETURN INTRUDER CASE BV_MP_MINIVAN RETURN MINIVAN CASE BV_MP_PREMIER RETURN PREMIER CASE BV_MP_RADIUS RETURN RADI CASE BV_MP_RANCHERXL RETURN RANCHERXL CASE BV_MP_RATLOADER RETURN RATLOADER CASE BV_MP_STANIER RETURN STANIER CASE BV_MP_STRATUM RETURN STRATUM CASE BV_MP_WASHINGTON RETURN WASHINGTON CASE BV_MP_DOMINATOR RETURN DOMINATOR CASE BV_MP_F620 RETURN F620 CASE BV_MP_FUSILADE RETURN FUSILADE CASE BV_MP_PENUMBRA RETURN PENUMBRA CASE BV_MP_SENTINEL RETURN SENTINEL CASE BV_MP_SENTINEL2 RETURN SENTINEL2 ENDSWITCH SWITCH veh // Hipster DLC vehicles CASE BV_DLC_BLADE RETURN blade CASE BV_DLC_WARRENER RETURN warrener CASE BV_DLC_GLENDALE RETURN glendale CASE BV_DLC_RHAPSODY RETURN rhapsody CASE BV_DLC_PANTO RETURN panto CASE BV_DLC_DUBSTA3 RETURN dubsta3 CASE BV_DLC_PIGALLE RETURN pigalle // Non-DLC Hipster additions CASE BV_MP_PICADOR RETURN PICADOR CASE BV_MP_REGINA RETURN REGINA CASE BV_MP_SURFER RETURN SURFER CASE BV_MP_YOUGA RETURN YOUGA CASE BV_MP_BLAZER3 RETURN BLAZER3 CASE BV_MP_REBEL2 RETURN REBEL2 CASE BV_MP_PRIMO RETURN PRIMO CASE BV_MP_BUFFALO RETURN BUFFALO CASE BV_MP_BUFFALO2 RETURN BUFFALO2 CASE BV_MP_TAILGATER RETURN TAILGATER // Independance DLC vehicles CASE BV_MP_LIBERATOR RETURN MONSTER CASE BV_MP_SOVEREIGN RETURN SOVEREIGN // Pilot School DLC vehicles CASE BV_DLC_MILJET RETURN MILJET CASE BV_DLC_BESRA RETURN BESRA CASE BV_DLC_SWIFT RETURN SWIFT CASE BV_MP_COQUETTE2 RETURN COQUETTE2 CASE BV_MP_COQUETTE2_TOPLESS RETURN COQUETTE2 // LTS DLC vehicles CASE BV_DLC_INNOVATION RETURN INNOVATION CASE BV_DLC_HAKUCHOU RETURN HAKUCHOU CASE BV_DLC_FUROREGT RETURN FUROREGT CASE BV_DLC_KALAHARI_TOPLESS RETURN KALAHARI // Heist vehicles CASE BV_DLC_VALKYRIE RETURN VALKYRIE CASE BV_DLC_HYDRA RETURN HYDRA CASE BV_DLC_SAVAGE RETURN SAVAGE CASE BV_DLC_ENDURO RETURN ENDURO CASE BV_DLC_BOXVILLE4 RETURN BOXVILLE4 CASE BV_DLC_CASCO RETURN CASCO CASE BV_DLC_DINGHY3 RETURN DINGHY3 CASE BV_DLC_GBURRITO2 RETURN GBURRITO2 CASE BV_DLC_GUARDIAN RETURN GUARDIAN CASE BV_DLC_INSURGENT RETURN INSURGENT CASE BV_DLC_INSURGENT2 RETURN INSURGENT2 CASE BV_DLC_MULE3 RETURN MULE3 CASE BV_DLC_KURUMA RETURN KURUMA CASE BV_DLC_KURUMA2 RETURN KURUMA2 CASE BV_DLC_LECTRO RETURN LECTRO CASE BV_DLC_PBUS RETURN PBUS CASE BV_DLC_TECHNICAL RETURN TECHNICAL CASE BV_DLC_VELUM2 RETURN VELUM2 // Non-DLC Heist additions CASE BV_MP_GRESLEY RETURN GRESLEY CASE BV_MP_JACKAL RETURN JACKAL CASE BV_MP_LANDSTALKER RETURN LANDSTALKER CASE BV_MP_MESA3 RETURN MESA3 CASE BV_MP_NEMESIS RETURN NEMESIS CASE BV_MP_ORACLE RETURN ORACLE CASE BV_MP_RUMPO RETURN RUMPO CASE BV_MP_SCHAFTER2 RETURN SCHAFTER2 CASE BV_MP_SEMINOLE RETURN SEMINOLE CASE BV_MP_SURGE RETURN SURGE #IF IS_NEXTGEN_BUILD // CG-NG vehicles CASE BV_NG_DODO RETURN DODO CASE BV_NG_MARSHALL RETURN MARSHALL CASE BV_NG_SUBMERSIBLE2 RETURN SUBMERSIBLE2 CASE BV_NG_BLISTA2 RETURN BLISTA2 CASE BV_NG_STALION RETURN STALION CASE BV_NG_DUKES RETURN DUKES CASE BV_NG_DUKES2 RETURN DUKES2 CASE BV_NG_STALION2 RETURN STALION2 CASE BV_NG_DOMINATOR2 RETURN DOMINATOR2 CASE BV_NG_GAUNTLET2 RETURN GAUNTLET2 CASE BV_NG_BUFFALO3 RETURN BUFFALO3 #ENDIF // Christmas2 DLC vehicles CASE BV_DLC_SLAMVAN RETURN SLAMVAN CASE BV_DLC_RATLOADER2 RETURN RATLOADER2 CASE BV_DLC_JESTER2 RETURN JESTER2 CASE BV_DLC_MASSACRO2 RETURN MASSACRO2 // Luxe DLC vehicles CASE BV_LX_FELTZER3 RETURN FELTZER3 CASE BV_LX_LUXOR2 RETURN LUXOR2 CASE BV_LX_OSIRIS RETURN OSIRIS CASE BV_LX_SWIFT2 RETURN SWIFT2 CASE BV_LX_VIRGO RETURN VIRGO CASE BV_LX_WINDSOR RETURN WINDSOR // Luxe2 DLC vehicles CASE BV_L2_BRAWLER RETURN BRAWLER CASE BV_L2_CHINO RETURN CHINO CASE BV_L2_COQUETTE3 RETURN COQUETTE3 CASE BV_L2_T20 RETURN T20 CASE BV_L2_TORO RETURN TORO CASE BV_L2_VINDICATOR RETURN VINDICATOR // Lowrider pack CASE BV_S1_PRIMO RETURN PRIMO CASE BV_S1_MOONBEAM RETURN MOONBEAM CASE BV_S1_FACTION RETURN FACTION CASE BV_S1_BUCCANEER RETURN BUCCANEER CASE BV_S1_VOODOO2 RETURN VOODOO2 CASE BV_EX_XLS IF iAltVersion = 0 RETURN XLS ELIF iAltVersion = 1 RETURN XLS2 ELSE PRINTLN("GET_MODEL_FOR_BUYABLE_VEHICLE: unknown iAltVersion ", iAltVersion, " for BV_EX_XLS") DEBUG_PRINTCALLSTACK() RETURN XLS ENDIF BREAK CASE BV_EX_SEVEN70 RETURN SEVEN70 CASE BV_EX_WINDSOR2 RETURN WINDSOR2 CASE BV_EX_PROTOTIPO RETURN PROTOTIPO CASE BV_EX_FMJ RETURN FMJ CASE BV_EX_BESTIAGTS RETURN BESTIAGTS CASE BV_EX_PFISTER811 RETURN PFISTER811 CASE BV_EX_REAPER RETURN REAPER // Halloween pack CASE BV_HA_BTYPE2 RETURN BTYPE2 CASE BV_HA_LURCHER RETURN LURCHER // Apartment pack CASE BV_AP_BALLER3 IF iAltVersion = 0 RETURN BALLER3 ELIF iAltVersion = 1 RETURN BALLER5 ELSE PRINTLN("GET_MODEL_FOR_BUYABLE_VEHICLE: unknown iAltVersion ", iAltVersion, " for BV_AP_BALLER3") DEBUG_PRINTCALLSTACK() RETURN BALLER3 ENDIF BREAK CASE BV_AP_BALLER4 IF iAltVersion = 0 RETURN BALLER4 ELIF iAltVersion = 1 RETURN BALLER6 ELSE PRINTLN("GET_MODEL_FOR_BUYABLE_VEHICLE: unknown iAltVersion ", iAltVersion, " for BV_AP_BALLER4") DEBUG_PRINTCALLSTACK() RETURN BALLER4 ENDIF BREAK CASE BV_AP_COG55 IF iAltVersion = 0 RETURN COG55 ELIF iAltVersion = 1 RETURN COG552 ELSE PRINTLN("GET_MODEL_FOR_BUYABLE_VEHICLE: unknown iAltVersion ", iAltVersion, " for BV_AP_COG55") DEBUG_PRINTCALLSTACK() RETURN COG55 ENDIF BREAK CASE BV_AP_COGNOSCENTI IF iAltVersion = 0 RETURN COGNOSCENTI ELIF iAltVersion = 1 RETURN COGNOSCENTI2 ELSE PRINTLN("GET_MODEL_FOR_BUYABLE_VEHICLE: unknown iAltVersion ", iAltVersion, " for BV_AP_COGNOSCENTI") DEBUG_PRINTCALLSTACK() RETURN COGNOSCENTI ENDIF BREAK CASE BV_AP_LIMO2 RETURN LIMO2 CASE BV_AP_MAMBA RETURN MAMBA CASE BV_AP_NIGHTSHADE RETURN NIGHTSHADE CASE BV_AP_SCHAFTER3 IF iAltVersion = 0 RETURN SCHAFTER3 ELIF iAltVersion = 1 RETURN SCHAFTER5 ELSE PRINTLN("GET_MODEL_FOR_BUYABLE_VEHICLE: unknown iAltVersion ", iAltVersion, " for BV_AP_SCHAFTER3") DEBUG_PRINTCALLSTACK() RETURN SCHAFTER3 ENDIF BREAK CASE BV_AP_SCHAFTER4 IF iAltVersion = 0 RETURN SCHAFTER4 ELIF iAltVersion = 1 RETURN SCHAFTER6 ELSE PRINTLN("GET_MODEL_FOR_BUYABLE_VEHICLE: unknown iAltVersion ", iAltVersion, " for BV_AP_SCHAFTER4") DEBUG_PRINTCALLSTACK() RETURN SCHAFTER4 ENDIF BREAK CASE BV_AP_VERLIERER2 RETURN VERLIERER2 CASE BV_AP_SUPERVOLITO1 RETURN SUPERVOLITO CASE BV_AP_SUPERVOLITO2 RETURN SUPERVOLITO2 CASE BV_DLC_BIG_YACHT RETURN eDLC_BIG_YACHT_MODEL // Lowrider2 pack CASE BV_S2_VIRGO3 RETURN VIRGO3 CASE BV_S2_TORNADO RETURN TORNADO CASE BV_S2_SABREGT RETURN SABREGT CASE BV_S2_FACTION_DONK RETURN FACTION CASE BV_X3_TAMPA RETURN TAMPA CASE BV_JA_SULTAN RETURN SULTAN CASE BV_C_BANSHEE RETURN BANSHEE CASE BV_V2_ROOSEVELT2 RETURN BTYPE3 CASE BV_EX_VOLATUS RETURN VOLATUS CASE BV_EX_CARGOBOB2 RETURN CARGOBOB2 CASE BV_EX_RUMPO3 RETURN RUMPO3 CASE BV_EX_BRICKADE RETURN BRICKADE CASE BV_EX_NIMBUS RETURN NIMBUS CASE BV_ST_LE7B RETURN LE7B CASE BV_ST_OMNIS RETURN OMNIS CASE BV_ST_TROPOS RETURN TROPOS CASE BV_ST_BRIOSO RETURN BRIOSO CASE BV_ST_TROPHYTRUCK RETURN TROPHYTRUCK CASE BV_ST_TROPHYTRUCK2 RETURN TROPHYTRUCK2 CASE BV_ST_CONTENDER RETURN CONTENDER CASE BV_ST_CLIFFHANGER RETURN CLIFFHANGER CASE BV_ST_BF400 RETURN BF400 CASE BV_ST_TYRUS RETURN TYRUS CASE BV_ST_LYNX RETURN LYNX CASE BV_ST_SHEAVA RETURN SHEAVA CASE BV_ST_RALLYTRUCK RETURN RALLYTRUCK CASE BV_ST_TAMPA2 RETURN TAMPA2 CASE BV_ST_GARGOYLE RETURN GARGOYLE CASE BV_BI_BAGGER RETURN BAGGER CASE BV_BI_ESSKEY RETURN ESSKEY CASE BV_BI_NIGHTBLADE RETURN NIGHTBLADE CASE BV_BI_DEFILER RETURN DEFILER CASE BV_BI_AVARUS RETURN AVARUS CASE BV_BI_ZOMBIEA RETURN ZOMBIEA CASE BV_BI_ZOMBIEB RETURN ZOMBIEB CASE BV_BI_CHIMERA RETURN CHIMERA CASE BV_BI_DAEMON2 RETURN DAEMON2 CASE BV_BI_RATBIKE RETURN RATBIKE CASE BV_BI_SHOTARO RETURN SHOTARO CASE BV_BI_RAPTOR RETURN RAPTOR CASE BV_BI_HAKUCHOU2 RETURN HAKUCHOU2 CASE BV_BI_BLAZER4 RETURN BLAZER4 CASE BV_BI_SANCTUS RETURN SANCTUS CASE BV_BI_VORTEX RETURN VORTEX CASE BV_BI_MANCHEZ RETURN MANCHEZ CASE BV_BI_TORNADO6 RETURN TORNADO6 CASE BV_BI_YOUGA2 RETURN YOUGA2 CASE BV_BI_WOLFSBANE RETURN WOLFSBANE CASE BV_BI_FAGGIO3 RETURN FAGGIO3 CASE BV_BI_FAGGIO RETURN FAGGIO CASE BV_IE_DUNE5 RETURN DUNE5 CASE BV_IE_PHANTOM2 RETURN PHANTOM2 CASE BV_IE_TECHNICAL2 RETURN TECHNICAL2 CASE BV_IE_BLAZER5 RETURN BLAZER5 CASE BV_IE_BOXVILLE5 RETURN BOXVILLE5 CASE BV_IE_WASTELANDER RETURN WASTELANDER CASE BV_IE_RUINER2 RETURN RUINER2 CASE BV_IE_VOLTIC2 RETURN VOLTIC2 CASE BV_IE_PENETRATOR RETURN PENETRATOR CASE BV_IE_TEMPESTA RETURN TEMPESTA CASE BV_IE_ITALIGTB RETURN ITALIGTB CASE BV_IE_NERO RETURN NERO CASE BV_IE_DIABLOUS RETURN DIABLOUS CASE BV_IE_FCR RETURN FCR CASE BV_IE_SPECTER RETURN SPECTER CASE BV_SR_GP1 RETURN GP1 CASE BV_SR_INFERNUS2 RETURN INFERNUS2 CASE BV_SR_RUSTON RETURN RUSTON CASE BV_SR_TURISMO2 RETURN TURISMO2 ENDSWITCH SWITCH veh CASE BV_DLC_BIG_TRUCK RETURN eDLC_BIG_TRUCK_MODEL CASE BV_DLC_BALLISTIC_EQUIPMENT RETURN eDLC_BALLISTIC_EQUIPMENT_MODEL CASE BV_GR_CHEETAH2 RETURN CHEETAH2 CASE BV_GR_TORERO RETURN TORERO CASE BV_GR_VAGNER RETURN VAGNER CASE BV_GR_XA21 RETURN XA21 CASE BV_GR_APC RETURN APC CASE BV_GR_DUNE3 RETURN DUNE3 CASE BV_GR_HALFTRACK RETURN HALFTRACK CASE BV_GR_OPPRESSOR RETURN OPPRESSOR CASE BV_GR_TAMPA3 RETURN TAMPA3 CASE BV_GR_TRAILERSMALL2 RETURN TRAILERSMALL2 CASE BV_GR_ARDENT RETURN ARDENT CASE BV_GR_NIGHTSHARK RETURN NIGHTSHARK CASE BV_SM_LAZER RETURN LAZER CASE BV_SM_MICROLIGHT RETURN MICROLIGHT CASE BV_SM_MOGUL RETURN MOGUL CASE BV_SM_ROGUE RETURN ROGUE CASE BV_SM_STARLING RETURN STARLING CASE BV_SM_SEABREEZE RETURN SEABREEZE CASE BV_SM_TULA RETURN TULA CASE BV_SM_PYRO RETURN PYRO CASE BV_SM_MOLOTOK RETURN MOLOTOK CASE BV_SM_NOKOTA RETURN NOKOTA CASE BV_SM_BOMBUSHKA RETURN BOMBUSHKA CASE BV_SM_HUNTER RETURN HUNTER CASE BV_SM_HAVOK RETURN HAVOK CASE BV_SM_HOWARD RETURN HOWARD CASE BV_SM_ALPHAZ1 RETURN ALPHAZ1 CASE BV_SM_CYCLONE RETURN CYCLONE CASE BV_SM_VISIONE RETURN VISIONE CASE BV_SM_RETINUE RETURN RETINUE CASE BV_SM_RAPIDGT3 RETURN RAPIDGT3 CASE BV_SM_VIGILANTE RETURN VIGILANTE CASE BV_DLC_BIG_PLANE RETURN eDLC_BIG_PLANE_MODEL CASE BV_GO_DELUXO RETURN DELUXO CASE BV_GO_STROMBERG RETURN STROMBERG CASE BV_GO_RIOT2 RETURN RIOT2 CASE BV_GO_CHERNOBOG RETURN CHERNOBOG CASE BV_GO_KHANJALI RETURN KHANJALI CASE BV_GO_AKULA RETURN AKULA CASE BV_GO_THRUSTER RETURN THRUSTER CASE BV_GO_BARRAGE RETURN BARRAGE CASE BV_GO_VOLATOL RETURN VOLATOL CASE BV_GO_COMET4 RETURN COMET4 CASE BV_GO_NEON RETURN NEON CASE BV_GO_STREITER RETURN STREITER CASE BV_GO_SENTINEL3 RETURN SENTINEL3 CASE BV_GO_YOSEMITE RETURN YOSEMITE CASE BV_GO_SC1 RETURN SC1 CASE BV_GO_AUTARCH RETURN AUTARCH CASE BV_GO_GT500 RETURN GT500 CASE BV_GO_HUSTLER RETURN HUSTLER CASE BV_GO_REVOLTER RETURN REVOLTER CASE BV_GO_PARIAH RETURN PARIAH CASE BV_GO_RAIDEN RETURN RAIDEN CASE BV_GO_SAVESTRA RETURN SAVESTRA CASE BV_GO_RIATA RETURN RIATA CASE BV_GO_HERMES RETURN HERMES CASE BV_GO_COMET5 RETURN COMET5 CASE BV_GO_Z190 RETURN Z190 CASE BV_GO_VISERIS RETURN VISERIS CASE BV_GO_KAMACHO RETURN KAMACHO CASE BV_AR_GB200 RETURN GB200 CASE BV_AR_FAGALOA RETURN FAGALOA CASE BV_AR_ELLIE RETURN ELLIE CASE BV_AR_ISSI3 RETURN ISSI3 CASE BV_AR_MICHELLI RETURN MICHELLI CASE BV_AR_FLASHGT RETURN FLASHGT CASE BV_AR_HOTRING RETURN HOTRING CASE BV_AR_TEZERACT RETURN TEZERACT CASE BV_AR_TYRANT RETURN TYRANT CASE BV_AR_DOMINATOR3 RETURN DOMINATOR3 CASE BV_AR_TAIPAN RETURN TAIPAN CASE BV_AR_ENTITY2 RETURN ENTITY2 CASE BV_AR_JESTER3 RETURN JESTER3 CASE BV_AR_CHEBUREK RETURN CHEBUREK CASE BV_AR_CARACARA RETURN CARACARA CASE BV_AR_SEASPARROW RETURN SEASPARROW CASE BV_DLC_HACKER_TRUCK RETURN eDLC_HACKER_TRUCK_MODEL CASE BV_BB_MULE4 RETURN MULE4 CASE BV_BB_POUNDER2 RETURN POUNDER2 CASE BV_BB_SWINGER RETURN SWINGER CASE BV_BB_MENACER RETURN MENACER CASE BV_BB_SCRAMJET RETURN SCRAMJET CASE BV_BB_STRIKEFORCE RETURN STRIKEFORCE CASE BV_BB_OPPRESSOR2 RETURN OPPRESSOR2 CASE BV_BB_PATRIOT2 RETURN PATRIOT2 CASE BV_BB_STAFFORD RETURN STAFFORD CASE BV_BB_FREECRAWLER RETURN FREECRAWLER CASE BV_MP_FUTO RETURN FUTO CASE BV_MP_RUINER RETURN RUINER CASE BV_MP_ROMERO RETURN ROMERO CASE BV_MP_PRAIRIE RETURN PRAIRIE CASE BV_MP_BALLER RETURN BALLER CASE BV_MP_SERRANO RETURN SERRANO CASE BV_MP_BJXL RETURN BJXL CASE BV_MP_HABANERO RETURN HABANERO CASE BV_MP_FQ2 RETURN FQ2 CASE BV_MP_PATRIOT RETURN PATRIOT CASE BV_BB_BLIMP3 RETURN BLIMP3 CASE BV_BB_PBUS2 RETURN PBUS2 CASE BV_AW_CERBERUS RETURN CERBERUS CASE BV_AW_CERBERUS2 RETURN CERBERUS2 CASE BV_AW_CERBERUS3 RETURN CERBERUS3 CASE BV_AW_BRUTUS RETURN BRUTUS CASE BV_AW_BRUTUS2 RETURN BRUTUS2 CASE BV_AW_BRUTUS3 RETURN BRUTUS3 CASE BV_AW_SCARAB RETURN SCARAB CASE BV_AW_SCARAB2 RETURN SCARAB2 CASE BV_AW_SCARAB3 RETURN SCARAB3 CASE BV_AW_IMPERATOR RETURN IMPERATOR CASE BV_AW_IMPERATOR2 RETURN IMPERATOR2 CASE BV_AW_IMPERATOR3 RETURN IMPERATOR3 CASE BV_AW_ZR380 RETURN ZR380 CASE BV_AW_ZR3802 RETURN ZR3802 CASE BV_AW_ZR3803 RETURN ZR3803 CASE BV_AW_IMPALER RETURN IMPALER CASE BV_MP_TAXI RETURN TAXI CASE BV_MP_BULLDOZER RETURN BULLDOZER CASE BV_MP_SPEEDO2 RETURN SPEEDO2 CASE BV_MP_TRASH2 RETURN TRASH2 CASE BV_MP_BARRACKS2 RETURN BARRACKS2 CASE BV_MP_MIXER RETURN MIXER CASE BV_MP_DUNE2 RETURN DUNE2 CASE BV_MP_TRACTOR RETURN TRACTOR CASE BV_MP_BLISTA3 RETURN BLISTA3 CASE BV_AW_VAMOS RETURN VAMOS CASE BV_AW_TULIP RETURN TULIP CASE BV_AW_DEVESTE RETURN DEVESTE CASE BV_AW_SCHLAGEN RETURN SCHLAGEN CASE BV_AW_TOROS RETURN TOROS CASE BV_AW_DEVIANT RETURN DEVIANT CASE BV_AW_CLIQUE RETURN CLIQUE CASE BV_AW_ITALIGTO RETURN ITALIGTO CASE BV_AW_RCBANDITO RETURN RCBANDITO CASE BV_CA_THRAX RETURN THRAX CASE BV_CA_DRAFTER RETURN DRAFTER CASE BV_CA_LOCUST RETURN LOCUST CASE BV_CA_NOVAK RETURN NOVAK CASE BV_CA_ZORRUSSO RETURN ZORRUSSO CASE BV_CA_GAUNTLET3 RETURN GAUNTLET3 CASE BV_CA_ISSI7 RETURN ISSI7 CASE BV_CA_ZION3 RETURN ZION3 CASE BV_CA_NEBULA RETURN NEBULA CASE BV_CA_HELLION RETURN HELLION CASE BV_CA_DYNASTY RETURN DYNASTY CASE BV_CA_RROCKET RETURN RROCKET CASE BV_CA_PEYOTE2 RETURN PEYOTE2 CASE BV_CA_GAUNTLET4 RETURN GAUNTLET4 CASE BV_CA_CARACARA2 RETURN CARACARA2 CASE BV_CA_JUGULAR RETURN JUGULAR CASE BV_CA_S80 RETURN S80 CASE BV_CA_KRIEGER RETURN KRIEGER CASE BV_CA_EMERUS RETURN EMERUS CASE BV_CA_NEO RETURN NEO CASE BV_CA_PARAGON RETURN PARAGON #IF FEATURE_CASINO_HEIST CASE BV_CH_FIRETRUK RETURN FIRETRUK CASE BV_CH_BURRITO2 RETURN BURRITO2 CASE BV_CH_BOXVILLE RETURN BOXVILLE CASE BV_CH_STOCKADE RETURN STOCKADE CASE BV_CH_LGUARD RETURN LGUARD CASE BV_CH_BLAZER2 RETURN BLAZER2 CASE BV_CH_ZHABA RETURN ZHABA CASE BV_CH_MINITANK RETURN MINITANK CASE BV_CH_JB7002 RETURN JB7002 CASE BV_CH_STRYDER RETURN STRYDER CASE BV_CH_VSTR RETURN VSTR CASE BV_CH_FORMULA RETURN FORMULA CASE BV_CH_IMORGON RETURN IMORGON CASE BV_CH_FORMULA2 RETURN FORMULA2 CASE BV_CH_FURIA RETURN FURIA CASE BV_CH_REBLA RETURN REBLA CASE BV_CH_VAGRANT RETURN VAGRANT CASE BV_CH_RETINUE2 RETURN RETINUE2 CASE BV_CH_YOSEMITE2 RETURN YOSEMITE2 CASE BV_CH_KOMODA RETURN KOMODA CASE BV_CH_SULTAN2 RETURN SULTAN2 CASE BV_CH_SUGOI RETURN SUGOI CASE BV_CH_EVERON RETURN EVERON CASE BV_CH_ASBO RETURN ASBO CASE BV_CH_KANJO RETURN KANJO CASE BV_CH_OUTLAW RETURN OUTLAW #ENDIF ENDSWITCH SWITCH veh // #IF FEATURE_COPS_N_CROOKS // CASE BV_CNC_SURFER3 // RETURN SURFER3 // CASE BV_CNC_ZOKU // RETURN ZOKU // CASE BV_CNC_POLBATI // RETURN POLBATI // CASE BV_CNC_POLBUFFALO // RETURN POLBUFFALO // CASE BV_CNC_POLGAUNTLET // RETURN POLGAUNTLET // CASE BV_CNC_POLGRANGER // RETURN POLGRANGER // CASE BV_CNC_POLICE5 // RETURN POLICE5 // CASE BV_CNC_POLICE6 // RETURN POLICE6 // CASE BV_CNC_POLICEB2 // RETURN POLICEB2 // CASE BV_CNC_POLICET2 // RETURN POLICET2 // CASE BV_CNC_POLPANTO // RETURN POLPANTO // CASE BV_CNC_POLCARACARA // RETURN POLCARACARA // CASE BV_CNC_POLRIATA // RETURN POLRIATA // CASE BV_CNC_POLGREENWOOD // RETURN POLGREENWOOD // #ENDIF // Summer Pack 2020 CASE BV_SUM_CLUB RETURN CLUB CASE BV_SUM_DUKES3 RETURN DUKES3 CASE BV_SUM_YOSEMITE3 RETURN YOSEMITE3 CASE BV_SUM_PENUMBRA2 RETURN PENUMBRA2 CASE BV_SUM_LANDSTALKER2 RETURN LANDSTALKER2 CASE BV_SUM_SEMINOLE2 RETURN SEMINOLE2 CASE BV_SUM_TIGON RETURN TIGON CASE BV_SUM_OPENWHEEL1 RETURN OPENWHEEL1 CASE BV_SUM_OPENWHEEL2 RETURN OPENWHEEL2 CASE BV_SUM_COQUETTE4 RETURN COQUETTE4 CASE BV_SUM_MANANA RETURN MANANA CASE BV_SUM_PEYOTE RETURN PEYOTE // Island Heist pack CASE BV_IH_KOSATKA RETURN GET_SUBMARINE_MODEL() CASE BV_IH_ITALIRSX RETURN ITALIRSX CASE BV_IH_SLAMTRUCK RETURN SLAMTRUCK CASE BV_IH_BRIOSO2 RETURN BRIOSO2 CASE BV_IH_WEEVIL RETURN WEEVIL CASE BV_IH_ALKONOST RETURN ALKONOST CASE BV_IH_ANNIHILATOR2 RETURN ANNIHILATOR2 // CASE BV_IH_AVISA // RETURN AVISA CASE BV_IH_DINGHY5 RETURN DINGHY5 CASE BV_IH_MANCHEZ2 RETURN MANCHEZ2 CASE BV_IH_PATROLBOAT RETURN PATROLBOAT // CASE BV_IH_SEASPARROW2 // RETURN SEASPARROW2 CASE BV_IH_SQUADDIE RETURN SQUADDIE CASE BV_IH_TOREADOR RETURN TOREADOR CASE BV_IH_VERUS RETURN VERUS CASE BV_IH_VETIR RETURN VETIR CASE BV_IH_WINKY RETURN WINKY CASE BV_IH_LONGFIN RETURN LONGFIN CASE BV_IH_VETO RETURN VETO CASE BV_IH_VETO2 RETURN VETO2 // Tuner pack CASE BV_TU_ZR350 RETURN ZR350 CASE BV_TU_COMET6 RETURN COMET6 CASE BV_TU_JESTER4 RETURN JESTER4 CASE BV_TU_VECTRE RETURN VECTRE CASE BV_TU_CYPHER RETURN CYPHER CASE BV_TU_TAILGATER2 RETURN TAILGATER2 CASE BV_TU_EUROS RETURN EUROS CASE BV_TU_GROWLER RETURN GROWLER CASE BV_TU_CALICO RETURN CALICO CASE BV_TU_REMUS RETURN REMUS CASE BV_TU_DOMINATOR7 RETURN DOMINATOR7 CASE BV_TU_FUTO2 RETURN FUTO2 CASE BV_TU_RT3000 RETURN RT3000 CASE BV_TU_WARRENER2 RETURN WARRENER2 CASE BV_TU_SULTAN3 RETURN SULTAN3 CASE BV_TU_DOMINATOR8 RETURN DOMINATOR8 CASE BV_TU_PREVION RETURN PREVION #IF FEATURE_FIXER CASE BV_AGENCY_COMET7 RETURN COMET7 CASE BV_AGENCY_SHINOBI RETURN SHINOBI CASE BV_AGENCY_REEVER RETURN REEVER CASE BV_AGENCY_BALLER7 RETURN BALLER7 CASE BV_AGENCY_CINQUEMILA RETURN CINQUEMILA CASE BV_AGENCY_JUBILEE RETURN JUBILEE CASE BV_AGENCY_ASTRON RETURN ASTRON CASE BV_AGENCY_DEITY RETURN DEITY CASE BV_AGENCY_ZENO RETURN ZENO CASE BV_AGENCY_CHAMPION RETURN CHAMPION CASE BV_AGENCY_IGNUS RETURN IGNUS CASE BV_AGENCY_BUFFALO4 RETURN BUFFALO4 CASE BV_AGENCY_GRANGER2 RETURN GRANGER2 CASE BV_AGENCY_IWAGEN RETURN IWAGEN CASE BV_AGENCY_PATRIOT3 RETURN PATRIOT3 #ENDIF #IF FEATURE_GEN9_EXCLUSIVE CASE BV_G9E_S95 RETURN S95 CASE BV_G9E_ARBITERGT RETURN ARBITERGT CASE BV_G9E_ASTRON2 RETURN ASTRON2 CASE BV_G9E_CYCLONE2 RETURN CYCLONE2 CASE BV_G9E_IGNUS2 RETURN IGNUS2 #ENDIF CASE BV_AGENCY_HELI RETURN supervolito2 #IF FEATURE_DLC_1_2022 CASE BV_SUM2_TENF RETURN TENF CASE BV_SUM2_SM722 RETURN SM722 CASE BV_SUM2_TORERO2 RETURN TORERO2 CASE BV_SUM2_CORSITA RETURN CORSITA CASE BV_SUM2_LM87 RETURN LM87 CASE BV_SUM2_OMNISEGT RETURN OMNISEGT CASE BV_SUM2_RHINEHART RETURN RHINEHART CASE BV_SUM2_POSTLUDE RETURN POSTLUDE CASE BV_SUM2_KANJOSJ RETURN KANJOSJ CASE BV_SUM2_VIGERO2 RETURN VIGERO2 CASE BV_SUM2_RUINER4 RETURN RUINER4 CASE BV_SUM2_DRAUGUR RETURN DRAUGUR CASE BV_SUM2_GREENWOOD RETURN GREENWOOD CASE BV_SUM2_CONADA RETURN CONADA #ENDIF ENDSWITCH RETURN DUMMY_MODEL_FOR_SCRIPT ENDFUNC /// PURPOSE: /// Returns the expected position of the vehicle model in the DLC list FUNC INT GET_SBV_DLC_INDEX(SITE_BUYABLE_VEHICLE veh) INT iVeh MODEL_NAMES mVeh = GET_MODEL_FOR_BUYABLE_VEHICLE(veh) FOR iVeh = 0 TO GET_NUM_DLC_VEHICLES()-1 IF GET_DLC_VEHICLE_MODEL(iVeh) = mVeh CPRINTLN(DEBUG_INTERNET, "GET_SBV_DLC_INDEX: Index for vehicle model \"", GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(mVeh), "\" is ", iVeh) RETURN iVeh ENDIF ENDFOR CPRINTLN(DEBUG_INTERNET, "GET_SBV_DLC_INDEX couldn't get an index SBV with vehicle model \"", GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(mVeh), "\"!") RETURN -1 ENDFUNC /// PURPOSE: /// Returns string for website vehicle FUNC STRING GET_LABEL_BUYABLE_VEHICLE(SITE_BUYABLE_VEHICLE veh) IF veh = UNSET_BUYABLE_VEHICLE RETURN "" ENDIF IF veh = BV_C_DUMMY_ITEM_DO_NOT_REMOVE RETURN "" ENDIF MODEL_NAMES vehModel = GET_MODEL_FOR_BUYABLE_VEHICLE(veh) IF vehModel = DUMMY_MODEL_FOR_SCRIPT PRINTLN(DEBUG_INTERNET, "GET_LABEL_BUYABLE_VEHICLE: SBV_", veh, " has dummy model.") RETURN "" ENDIF SWITCH veh CASE BV_B_SUBMERSIBLE RETURN "SUBMERSIBLE" CASE BV_C_SANCHEZ RETURN "SANCHEZ" CASE BV_MP_REBEL RETURN "REBEL" CASE BV_MP_SANCHEZ2 RETURN "SANCHEZ2" CASE BV_DLC_COQUETTE_TOPLESS RETURN "COQUETTE_TLESS" CASE BV_C_BANSHEE_TOPLESS RETURN "BANSHEE_TLESS" CASE BV_DLC_STINGER_TOPLESS RETURN "STINGER_TLESS" CASE BV_DLC_VOLTIC_HARDTOP RETURN "VOLTIC_HTOP" CASE BV_MP_BLAZER3 RETURN "BLAZER3" CASE BV_MP_REBEL2 RETURN "REBEL2" CASE BV_MP_BUFFALO2 RETURN "BUFFALO2" CASE BV_MP_TAILGATER RETURN "TAILGATER" CASE BV_MP_COQUETTE2_TOPLESS RETURN "COQUETTE2_TLESS" CASE BV_DLC_KALAHARI_TOPLESS RETURN "KALAHARI_TLESS" CASE BV_DLC_BOXVILLE4 RETURN "BOXVILLE4" CASE BV_DLC_DINGHY3 RETURN "DINGHY3" CASE BV_DLC_MULE3 RETURN "MULE3" CASE BV_MP_LANDSTALKER RETURN "LANDSTALKER" CASE BV_MP_MESA3 RETURN "MESA3" CASE BV_MP_ORACLE RETURN "ORACLE1" CASE BV_MP_SCHAFTER2 RETURN "SCHAFTER2" #IF IS_NEXTGEN_BUILD CASE BV_NG_DOMINATOR2 RETURN "DOMINATOR2" #ENDIF CASE BV_DLC_BIG_YACHT RETURN "BIG_YACHT" CASE BV_EX_CARGOBOB2 RETURN "CARGOBOB2" CASE BV_DLC_BIG_TRUCK RETURN "BIG_TRUCK" CASE BV_DLC_BALLISTIC_EQUIPMENT RETURN "BALLISTIC" CASE BV_DLC_BIG_PLANE RETURN "BIG_PLANE" CASE BV_DLC_HACKER_TRUCK RETURN "HACKER_TRUCK" CASE BV_SUM_LANDSTALKER2 RETURN "LANDSTLKR2" ENDSWITCH RETURN GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel) ENDFUNC FUNC BOOL IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(SITE_BUYABLE_VEHICLE veh) IF veh = BV_AP_BALLER3 OR veh = BV_AP_BALLER4 OR veh = BV_AP_COG55 OR veh = BV_AP_COGNOSCENTI OR veh = BV_AP_SCHAFTER3 OR veh = BV_AP_SCHAFTER4 OR veh = BV_EX_XLS RETURN TRUE ENDIF RETURN FALSE ENDFUNC FUNC BOOL IS_SBV_A_VEHICLE_PREVIOUSLY_LASTGEN_ONLY(SITE_BUYABLE_VEHICLE veh) IF veh = BV_NG_DODO OR veh = BV_NG_MARSHALL OR veh = BV_NG_SUBMERSIBLE2 OR veh = BV_NG_BLISTA2 OR veh = BV_NG_STALION OR veh = BV_NG_DUKES OR veh = BV_NG_DUKES2 RETURN TRUE ENDIF RETURN FALSE ENDFUNC FUNC BOOL IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(SITE_BUYABLE_VEHICLE veh) IF veh = BV_DLC_BOXVILLE4 OR veh = BV_DLC_CASCO OR veh = BV_DLC_DINGHY3 // OR veh = BV_DLC_ENDURO OR veh = BV_DLC_GBURRITO2 // OR veh = BV_DLC_GUARDIAN OR veh = BV_DLC_HYDRA OR veh = BV_DLC_INSURGENT OR veh = BV_DLC_INSURGENT2 OR veh = BV_DLC_KURUMA OR veh = BV_DLC_KURUMA2 OR veh = BV_DLC_LECTRO OR veh = BV_DLC_MULE3 OR veh = BV_DLC_PBUS OR veh = BV_DLC_SAVAGE OR veh = BV_DLC_TECHNICAL OR veh = BV_DLC_VALKYRIE OR veh = BV_DLC_VELUM2 RETURN TRUE ENDIF RETURN FALSE ENDFUNC FUNC CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT GET_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_FOR_SBV(SITE_BUYABLE_VEHICLE veh) IF HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS() SWITCH veh CASE BV_GR_DUNE3 /* Dune FAV $1,130,500 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_BF_DUNE_FAV CASE BV_BI_VORTEX /* Pegassi Vortex $356,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_PEGASSI_VORTEX CASE BV_ST_OMNIS /* Obey Omnis $701,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_OBEY_OMNIS CASE BV_P_FROGGER /* Maibatsu Frogger $1,300,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_MAIBATSU_FROGGER CASE BV_BI_ZOMBIEB /* Western Zombie Chopper $122,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_WESTERN_ZOMBIE_CHOPPER CASE BV_DLC_TURISMO /* Turismo R $500,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_GROTTI_TURISMO_R CASE BV_LX_WINDSOR /* Enus Windsor $845,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_ENUS_WINDSOR CASE BV_C_BANSHEE /* Banshee $105,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_BRAVADO_BANSHEE CASE BV_MP_COQUETTE2 /* Coquette Classic $665,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_INVETERO_COQUETTE_CLASSIC CASE BV_DLC_HUNTLEY /* Huntley S $195,000 */ RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_ENUS_HUNTLEY_S ENDSWITCH ENDIF RETURN CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_END ENDFUNC FUNC SITE_BUYABLE_VEHICLE GET_SBV_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE(CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT eContent) IF HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS() SWITCH eContent CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_BF_DUNE_FAV /* Dune FAV $1,130,500 */ RETURN BV_GR_DUNE3 CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_PEGASSI_VORTEX /* Pegassi Vortex $356,000 */ RETURN BV_BI_VORTEX CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_OBEY_OMNIS /* Obey Omnis $701,000 */ RETURN BV_ST_OMNIS CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_MAIBATSU_FROGGER /* Maibatsu Frogger $1,300,000 */ RETURN BV_P_FROGGER CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_WESTERN_ZOMBIE_CHOPPER /* Western Zombie Chopper $122,000 */ RETURN BV_BI_ZOMBIEB CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_GROTTI_TURISMO_R /* Turismo R $500,000 */ RETURN BV_DLC_TURISMO CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_ENUS_WINDSOR /* Enus Windsor $845,000 */ RETURN BV_LX_WINDSOR CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_BRAVADO_BANSHEE /* Banshee $105,000 */ RETURN BV_C_BANSHEE CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_INVETERO_COQUETTE_CLASSIC /* Coquette Classic $665,000 */ RETURN BV_MP_COQUETTE2 CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_ENUS_HUNTLEY_S /* Huntley S $195,000 */ RETURN BV_DLC_HUNTLEY ENDSWITCH ENDIF RETURN UNSET_BUYABLE_VEHICLE ENDFUNC FUNC BOOL IS_SBV_A_VEHICLE_FREE_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK(SITE_BUYABLE_VEHICLE veh) RETURN GET_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_FOR_SBV(veh) != CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_END ENDFUNC FUNC STRING GET_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_WEB_PAGE(CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT eContent) SWITCH eContent // Property CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_PROPERTY_MAZE_BANK_WEST_EXECUTIVE_OFFICE RETURN "WWW_DYNASTY8EXECUTIVEREALTY_COM_S_OFFICES" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_PROPERTY_PALETO_FOREST_BUNKER RETURN "FORECLOSURES_MAZE_D_BANK_COM_S_PROPERTIES" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_PROPERTY_GREAT_CHAPARRAL_BIKER_CLUBHOUSE RETURN "FORECLOSURES_MAZE_D_BANK_COM_S_PROPERTIES" // CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_PROPERTY_SENORA_DESERT_CONTERFEIT_CASH_FACTORY RETURN "" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_PROPERTY_1561_SAN_VITAS_STREET_APARTMENT RETURN "WWW_DYNASTY8REALESTATE_COM_S_LOS_D_SANTOS" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_PROPERTY_1337_EXCEPTIONALISTS_WAY_10_CAR_GARAGE RETURN "WWW_DYNASTY8REALESTATE_COM_S_LOS_D_SANTOS" // Vehicles CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_BF_DUNE_FAV RETURN "WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM_S_DETAILS65" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_PEGASSI_VORTEX RETURN "WWW_SOUTHERNSANANDREASSUPERAUTOS_COM_S_CARDETAILS146" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_OBEY_OMNIS RETURN "WWW_SOUTHERNSANANDREASSUPERAUTOS_COM_S_CARDETAILS124" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_MAIBATSU_FROGGER RETURN "WWW_ELITASTRAVEL_COM_S_DETAILS8" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_WESTERN_ZOMBIE_CHOPPER RETURN "WWW_SOUTHERNSANANDREASSUPERAUTOS_COM_S_CARDETAILS142" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_GROTTI_TURISMO_R RETURN "WWW_LEGENDARYMOTORSPORT_NET_S_CAR_D_DETAILS41" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_ENUS_WINDSOR RETURN "WWW_LEGENDARYMOTORSPORT_NET_S_CAR_D_DETAILS65" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_BRAVADO_BANSHEE RETURN "WWW_LEGENDARYMOTORSPORT_NET_S_CAR_D_DETAILS36" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_INVETERO_COQUETTE_CLASSIC RETURN "WWW_LEGENDARYMOTORSPORT_NET_S_CAR_D_DETAILS50" CASE CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_ENUS_HUNTLEY_S RETURN "WWW_LEGENDARYMOTORSPORT_NET_S_CAR_D_DETAILS43" ENDSWITCH RETURN "" ENDFUNC PROC START_BROWSER_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT(CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT eContent) g_BrowserLinkToLaunch = GET_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_WEB_PAGE(eContent) IF IS_STRING_NULL_OR_EMPTY(g_BrowserLinkToLaunch) CASSERTLN(DEBUG_INTERNET, "START_BROWSER_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT invalid content ", GET_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_NAME_FOR_DEBUG(eContent)) EXIT ENDIF START_BROWSER(SBSS_Launch_Link) ENDPROC FUNC BOOL IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(SITE_BUYABLE_VEHICLE veh) IF veh = BV_BI_AVARUS OR veh = BV_BI_CHIMERA OR veh = BV_BI_DAEMON2 OR veh = BV_BI_WOLFSBANE OR veh = BV_BI_ZOMBIEA OR veh = BV_BI_ZOMBIEB RETURN TRUE ENDIF RETURN FALSE ENDFUNC FUNC BOOL IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(SITE_BUYABLE_VEHICLE veh) IF veh = BV_AR_JESTER3 OR veh = BV_AR_GB200 OR veh = BV_AR_FLASHGT OR veh = BV_AR_TYRANT OR veh = BV_AR_TEZERACT OR veh = BV_AR_ENTITY2 OR veh = BV_AR_TAIPAN // OR veh = BV_AR_FAGALOA OR veh = BV_AR_MICHELLI OR veh = BV_AR_DOMINATOR3 OR veh = BV_AR_ISSI3 OR veh = BV_AR_ELLIE OR veh = BV_AR_HOTRING OR veh = BV_AR_CHEBUREK OR veh = BV_BB_PATRIOT2 OR veh = BV_BB_STAFFORD OR veh = BV_BB_FREECRAWLER OR veh = BV_BB_SWINGER OR veh = BV_MP_FUTO OR veh = BV_MP_ROMERO OR veh = BV_MP_PRAIRIE OR veh = BV_MP_PATRIOT OR veh = BV_MP_SERRANO OR veh = BV_MP_BJXL OR veh = BV_MP_FQ2 OR veh = BV_MP_HABANERO OR veh = BV_AW_RCBANDITO OR veh = BV_AW_TULIP OR veh = BV_AW_VAMOS OR veh = BV_AW_SCHLAGEN OR veh = BV_AW_DEVIANT OR veh = BV_AW_ITALIGTO OR veh = BV_AW_CLIQUE OR veh = BV_AW_TOROS OR veh = BV_AW_DEVESTE OR veh = BV_CA_THRAX OR veh = BV_CA_DRAFTER OR veh = BV_CA_LOCUST OR veh = BV_CA_NOVAK OR veh = BV_CA_ZORRUSSO OR veh = BV_CA_GAUNTLET3 OR veh = BV_CA_ISSI7 OR veh = BV_CA_ZION3 OR veh = BV_CA_NEBULA OR veh = BV_CA_HELLION OR veh = BV_CA_DYNASTY OR veh = BV_CA_RROCKET OR veh = BV_CA_PEYOTE2 OR veh = BV_CA_GAUNTLET4 OR veh = BV_CA_CARACARA2 OR veh = BV_CA_JUGULAR OR veh = BV_CA_S80 OR veh = BV_CA_KRIEGER OR veh = BV_CA_EMERUS OR veh = BV_CA_NEO OR veh = BV_CA_PARAGON OR veh = BV_CH_STRYDER OR veh = BV_CH_VSTR OR veh = BV_CH_FORMULA OR veh = BV_CH_IMORGON OR veh = BV_CH_FORMULA2 OR veh = BV_CH_FURIA OR veh = BV_CH_REBLA OR veh = BV_CH_VAGRANT OR veh = BV_CH_RETINUE2 OR veh = BV_CH_YOSEMITE2 OR veh = BV_CH_SULTAN2 OR veh = BV_CH_SUGOI OR veh = BV_CH_EVERON OR veh = BV_CH_ASBO OR veh = BV_CH_KANJO OR veh = BV_CH_OUTLAW #IF FEATURE_HEIST_ISLAND OR veh = BV_IH_ITALIRSX OR veh = BV_IH_SLAMTRUCK OR veh = BV_IH_BRIOSO2 OR veh = BV_IH_WEEVIL OR veh = BV_IH_VETO OR veh = BV_IH_VETO2 #ENDIF RETURN TRUE ENDIF RETURN FALSE ENDFUNC FUNC BOOL IS_BUYABLE_VEHICLE_UNLOCKED(SITE_BUYABLE_VEHICLE veh) #IF IS_DEBUG_BUILD IF g_bForce_IS_BUYABLE_VEHICLE_UNLOCKED_true RETURN TRUE ENDIF IF g_bForce_IS_BUYABLE_VEHICLE_UNLOCKED_false RETURN FALSE ENDIF #ENDIF IF !g_bInMultiplayer RETURN FALSE ENDIF PLAYERVEHICLE_UNLOCK aPlayerVEHICLE = PLAYERVEHICLE_NONE SWITCH veh CASE BV_DLC_VALKYRIE aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_VALKRYIE BREAK CASE BV_DLC_HYDRA aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_HYDRA BREAK CASE BV_DLC_SAVAGE aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_SAVAGE BREAK CASE BV_DLC_ENDURO aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_ENDURO BREAK CASE BV_DLC_BOXVILLE4 aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_BOXVILLE4 BREAK CASE BV_DLC_CASCO aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_CASCO BREAK CASE BV_DLC_DINGHY3 aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_DINGHY3 BREAK CASE BV_DLC_GBURRITO2 aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_GBURRITO2 BREAK CASE BV_DLC_GUARDIAN aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_GUARDIAN BREAK CASE BV_DLC_INSURGENT aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_INSURGENT BREAK CASE BV_DLC_INSURGENT2 aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_INSURGENT2 BREAK CASE BV_DLC_MULE3 aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_MULE3 BREAK CASE BV_DLC_KURUMA aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_KURUMA BREAK CASE BV_DLC_KURUMA2 aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_KURUMA2 BREAK CASE BV_DLC_LECTRO aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_LECTRO BREAK CASE BV_DLC_PBUS aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_PBUS BREAK CASE BV_DLC_TECHNICAL aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_TECHNICAL BREAK CASE BV_DLC_VELUM2 aPlayerVEHICLE = PLAYER_VEHICLE_HEIST_VELUM2 BREAK ENDSWITCH RETURN IS_MP_VEHICLE_UNLOCKED(aPlayerVEHICLE) ENDFUNC FUNC BOOL IS_BALLISTIC_EQUIPMENT_UNLOCKED() RETURN IS_RESEARCH_ITEM_UNLOCKED(RESEARCH_ITEM_BALLISTIC_EQUIPMENT) ENDFUNC FUNC BOOL IS_BALLISTIC_EQUIPMENT_PURCHASED() RETURN GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_BALLASTIC_OWNED) ENDFUNC FUNC BOOL IS_RC_BANDITO_UNLOCKED() #IF IS_DEBUG_BUILD IF g_bDebugUnlockArenaWarsRewardItems RETURN TRUE ENDIF #ENDIF RETURN IS_VEHICLE_AVAILABLE_PAST_CURRENT_TIME(RCBANDITO) ENDFUNC FUNC BOOL IS_RC_BANDITO_PURCHASED() RETURN GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_RCBANDITO_OWNED) ENDFUNC #IF FEATURE_CASINO_HEIST FUNC BOOL IS_RC_TANK_UNLOCKED() #IF IS_DEBUG_BUILD IF g_bDebugUnlockCasinoHeistRewardItems OR GET_COMMANDLINE_PARAM_EXISTS("sc_enable_rc_tank") RETURN TRUE ENDIF #ENDIF RETURN IS_VEHICLE_AVAILABLE_PAST_CURRENT_TIME(MINITANK) ENDFUNC FUNC BOOL IS_RC_TANK_PURCHASED() RETURN GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_RC_TANK_OWNED) ENDFUNC #ENDIF FUNC BOOL IS_SBV_AN_ALTERNATE_VEHICLE(SITE_BUYABLE_VEHICLE veh, WEBSITE_INDEX_ENUM site, SITE_BUYABLE_VEHICLE_COLOURS eColourSelected) MODEL_NAMES vehModel = GET_MODEL_FOR_BUYABLE_VEHICLE(veh) IF veh = BV_DLC_SWIFT IF eColourSelected = BCV_PINK_COLOUR CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE(BV_DLC_SWIFT) - PINK colour selected") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE(BV_DLC_SWIFT) - non-pink colour selected ", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, eColourSelected)) DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF IF veh = BV_ST_RALLYTRUCK IF eColourSelected = BCV_PINK_COLOUR CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE(BV_ST_RALLYTRUCK) - PINK colour selected") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE(BV_ST_RALLYTRUCK) - non-pink colour selected ", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, eColourSelected)) DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF IF veh = BV_SC_ELEGY2 IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT() CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (social club)") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (not social club)") DEBUG_PRINTCALLSTACK() RETURN FALSE ELIF veh = BV_CE_KHAMELION OR veh = BV_CE_HOTKNIFE OR veh = BV_CE_CARBONRS IF IS_LAST_GEN_PLAYER() AND HAS_LAST_GEN_PLAYER_GOT_COLLECTORS_EDITION() CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (lastgen CE)") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (not lastgen CE)") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF IF (veh = BV_NG_STALION2 AND NETWORK_IS_GAME_IN_PROGRESS()) OR (veh = BV_NG_DOMINATOR2 AND NETWORK_IS_GAME_IN_PROGRESS()) OR (veh = BV_NG_GAUNTLET2 AND NETWORK_IS_GAME_IN_PROGRESS()) OR (veh = BV_NG_BUFFALO3 AND NETWORK_IS_GAME_IN_PROGRESS()) IF IS_LAST_GEN_PLAYER() CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (lastgen)") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (not lastgen)") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF IF veh = BV_DLC_KALAHARI_TOPLESS OR veh = BV_DLC_VOLTIC_HARDTOP OR veh = BV_DLC_STINGER_TOPLESS OR veh = BV_DLC_COQUETTE_TOPLESS OR veh = BV_MP_COQUETTE2_TOPLESS CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF IF veh = BV_L2_CHINO OR veh = BV_MP_MINIVAN // OR veh = BV_DLC_SLAMVAN IF site = WWW_BENNYSORIGINALMOTORWORKS_COM CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (", GET_WEBSITE_FROM_INDEX(site), ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (", GET_WEBSITE_FROM_INDEX(site), ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF IF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) IF g_bLastBuyableVehicleArmourSelected CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (armour option)") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (not armour option)") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF INT iSVMIndex = GET_SVM_VEHICLE_INDEX(vehModel) IF (iSVMIndex != -1) IF SVM_IS_SPECIAL_VEHICLE_UNLOCKED(SVM_GET_FLOW_POS_FROM_VEHICLE_MODEL(vehModel)) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount SVM ", iSVMIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount SVM ", iSVMIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF IF IS_SBV_A_VEHICLE_PREVIOUSLY_LASTGEN_ONLY(veh) IF IS_LAST_GEN_PLAYER() IF (veh = BV_NG_DUKES2 AND g_sMPTunables.bENABLE_RETURNING_CONTENT_DOD) OR (veh != BV_NG_DUKES2 AND g_sMPTunables.BENABLE_RETURNING_CONTENT_VEHICLE) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is last gen") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is last gen BUT not enabled") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not last gen") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF IF IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(veh) IF IS_BUYABLE_VEHICLE_UNLOCKED(veh) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " heist vehicle unlocked - FALSE") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " heist vehicle unlocked - TRUE") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF INT iWVMIndex = GET_WVM_VEHICLE_INDEX(vehModel) IF (iWVMIndex != -1) IF WVM_IS_SPECIAL_VEHICLE_UNLOCKED(WVM_GET_FLOW_POS_FROM_VEHICLE_MODEL(vehModel)) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount WVM ", iWVMIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount WVM ", iWVMIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF INT iWAMIndex = WAM_GET_STEAL_MISSION_UNLOCK_COUNT_FROM_VEHICLE_MODEL(vehModel) IF (iWAMIndex > 0) IF WAM_IS_SPECIAL_VEHICLE_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount WAM ", iWAMIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount WAM ", iWAMIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF INT iFDSIndex = GET_FDS_VEHICLE_INDEX(vehModel) IF (iFDSIndex != -1) IF HAS_PLAYER_UNLOCKED_GANG_OPS_VEHICLE_TRADE_PRICE(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount FDS ", iFDSIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount FDS ", iFDSIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF INT iBBSIndex = GET_BBS_VEHICLE_INDEX(vehModel) IF (iBBSIndex != -1) IF IS_BUSINESS_BATTLES_VEHICLE_REWARD_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount BBS ", iBBSIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount BBS ", iBBSIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF INT iAWSIndex = GET_AWS_VEHICLE_INDEX(vehModel) IF (iAWSIndex != -1) IF IS_ARENA_WARS_VEHICLE_REWARD_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount AWS ", iAWSIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount AWS ", iAWSIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF #IF FEATURE_CASINO_HEIST IF vehModel = FIRETRUK OR vehModel = BOXVILLE OR vehModel = STOCKADE IF IS_CASINO_HEIST_VEHICLE_REWARD_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF INT iCHIndex = GET_CH_VEHICLE_INDEX(vehModel) IF (iCHIndex != -1) IF IS_CASINO_HEIST_VEHICLE_REWARD_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount CH ", iCHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount CH ", iCHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF #ENDIF #IF FEATURE_COPS_N_CROOKS INT iCNCIndex = GET_CNC_VEHICLE_INDEX(vehModel) IF (iCNCIndex != -1) // if unlock in cnc or bough the cnc bundle return true IF IS_CNC_VEHICLE_REWARD_UNLOCKED() CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount CNC ", iCHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount CNC ", iCHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF #ENDIF // #IF FEATURE_SUMMER_2020 // INT iSUMIndex = GET_SUMMER20_VEHICLE_INDEX(vehModel) // IF (iSUMIndex != -1) // // if unlock in cnc or bough the cnc bundle return true // IF IS_SUMMER20_VEHICLE_REWARD_UNLOCKED() // CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount SUMMER20 ", iCHIndex, ")") // // DEBUG_PRINTCALLSTACK() // // RETURN TRUE // ENDIF // // CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount SUMMER20 ", iCHIndex, ")") // // DEBUG_PRINTCALLSTACK() // // RETURN FALSE // ENDIF // #ENDIF INT iIHIndex = GET_ISLAND_HEIST_VEHICLE_INDEX(vehModel) IF (iIHIndex != -1) IF IS_ISLAND_HEIST_VEHICLE_REWARD_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount IH ", iIHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount IH ", iCHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF INT iTunerIndex = GET_TUNER_VEHICLE_INDEX(vehModel) IF (iTunerIndex != -1) IF IS_TUNER_VEHICLE_REWARD_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount IH ", iIHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount IH ", iCHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF INT iFixerIndex = GET_FIXER_VEHICLE_INDEX(vehModel) IF (iFixerIndex != -1) IF IS_FIXER_VEHICLE_REWARD_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount IH ", iIHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount IH ", iCHIndex, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF #IF FEATURE_DLC_1_2022 INT iSum2Index = GET_SUMMER_2022_VEHICLE_INDEX(vehModel) IF (iSum2Index != -1) IF IS_SUMMER_2022_VEHICLE_REWARD_UNLOCKED(vehModel) CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is an alternate (discount iSum2Index ", iSum2Index, ")") DEBUG_PRINTCALLSTACK() RETURN TRUE ENDIF CPRINTLN(DEBUG_INTERNET, "IS_SBV_AN_ALTERNATE_VEHICLE ", GET_LABEL_BUYABLE_VEHICLE(veh), " is not an alternate (discount iSum2Index ", iSum2Index, ")") DEBUG_PRINTCALLSTACK() RETURN FALSE ENDIF #ENDIF RETURN FALSE ENDFUNC /// PURPOSE: /// Returns vehicle enum from bit index FUNC SITE_BUYABLE_VEHICLE GET_BIGASS_VEHICLE_ENUM_FROM_INDICE(int bitindex) // Not a valid bitset IF bitindex < 0 RETURN UNSET_BUYABLE_VEHICLE ENDIF SWITCH bitindex CASE 0 RETURN BV_A_RHINO CASE 1 RETURN BV_P_DODO CASE 2 RETURN BV_P_SHAMAL CASE 3 RETURN BV_P_STUNT CASE 4 RETURN BV_P_CUBAN CASE 5 RETURN BV_P_DUSTER CASE 6 RETURN BV_P_LUXOR CASE 7 RETURN BV_P_FROGGER CASE 8 RETURN BV_P_MAVERICK CASE 9 RETURN BV_A_CARGOBOB CASE 10 RETURN BV_A_BARRACKS CASE 11 RETURN BV_B_MARINA CASE 12 RETURN BV_B_MARQUIS CASE 13 RETURN BV_B_JETMAX CASE 14 RETURN BV_B_SQUALO CASE 15 RETURN BV_B_SUNDECK CASE 16 RETURN BV_B_TROPIC CASE 17 RETURN BV_B_SEASHARK CASE 18 RETURN BV_B_SUBMERSIBLE CASE 19 RETURN BV_A_BUZZARD CASE 20 RETURN BV_B_SUNTRAP CASE 21 RETURN BV_A_CRUSADER CASE 22 RETURN BV_MP_ANNIHILATOR CASE 23 RETURN BV_MP_MAMMATUS CASE 24 RETURN BV_MP_VELUM CASE 25 RETURN BV_A_TITAN CASE 26 RETURN BV_MP_DUMP CASE 27 RETURN BV_MP_AIRBUS CASE 28 RETURN BV_MP_BUS CASE 29 RETURN BV_MP_COACH CASE 30 RETURN BV_MP_JOURNEY CASE 31 RETURN BV_MP_MULE CASE 32 RETURN BV_MP_RENTALBUS CASE 33 RETURN BV_MP_STRETCH CASE 34 RETURN BV_DLC_SPEEDER CASE 35 RETURN BV_DLC_VESTRA CASE 36 RETURN BV_MP_LIBERATOR CASE 37 RETURN BV_DLC_BESRA CASE 38 RETURN BV_DLC_MILJET CASE 39 CASE 40 RETURN BV_DLC_SWIFT #IF IS_NEXTGEN_BUILD CASE 41 RETURN BV_NG_DODO CASE 42 RETURN BV_NG_SUBMERSIBLE2 CASE 43 CASE 44 CASE 45 CASE 46 CASE 47 CASE 48 CASE 49 CASE 50 CASE 51 CASE 52 CASE 53 CASE 54 CASE 55 CASE 56 CASE 57 CASE 58 CASE 59 CASE 60 CASE 61 CASE 62 CASE 63 CASE 64 CASE 65 CASE 66 CASE 67 RETURN BV_NG_MARSHALL #ENDIF CASE 68 RETURN BV_DLC_BOXVILLE4 CASE 69 RETURN BV_DLC_VALKYRIE CASE 70 RETURN BV_DLC_HYDRA CASE 71 RETURN BV_DLC_MULE3 CASE 72 RETURN BV_DLC_SAVAGE CASE 73 RETURN BV_DLC_PBUS CASE 74 RETURN BV_DLC_VELUM2 CASE 75 RETURN BV_DLC_DINGHY3 CASE 76 RETURN BV_DLC_INSURGENT CASE 77 RETURN BV_DLC_TECHNICAL CASE 78 RETURN BV_LX_LUXOR2 CASE 79 RETURN BV_LX_SWIFT2 CASE 80 RETURN BV_L2_TORO CASE 81 RETURN BV_AP_LIMO2 CASE 82 RETURN BV_AP_SUPERVOLITO1 CASE 83 RETURN BV_AP_SUPERVOLITO2 CASE 84 RETURN BV_DLC_BIG_YACHT CASE 85 RETURN BV_EX_VOLATUS CASE 86 RETURN BV_EX_CARGOBOB2 CASE 87 RETURN BV_EX_BRICKADE CASE 88 RETURN BV_EX_NIMBUS CASE 89 RETURN BV_EX_TUG CASE 90 CASE 91 RETURN BV_ST_RALLYTRUCK CASE 92 RETURN BV_DLC_BIG_TRUCK CASE 93 RETURN BV_DLC_BALLISTIC_EQUIPMENT CASE 94 RETURN BV_SM_LAZER CASE 95 RETURN BV_DLC_BIG_PLANE CASE 96 RETURN BV_DLC_HACKER_TRUCK CASE 97 // [BLIMP3_ELT_1]Livery #1 CASE 98 // [BLIMP3_ELT_2]Livery #2 CASE 99 // [BLIMP3_ELT_3]Livery #3 CASE 100 // [BLIMP3_ELT_4]Livery #4 CASE 101 // [BLIMP3_ELT_5]Livery #5 CASE 102 // [BLIMP3_ELT_6]Livery #6 CASE 103 // [BLIMP3_ELT_7]Livery #7 CASE 104 // [BLIMP3_ELT_8]Nightclub RETURN BV_BB_BLIMP3 CASE 105 // [PBUS2_SSA_1]Livery #1 CASE 106 // [PBUS2_SSA_2]Livery #2 CASE 107 // [PBUS2_SSA_3]Livery #3 CASE 108 // [PBUS2_SSA_4]Livery #4 CASE 109 // [PBUS2_SSA_5]Livery #5 CASE 110 // [PBUS2_SSA_6]Livery #6 CASE 111 // [PBUS2_SSA_7]Livery #7 CASE 112 // [PBUS2_SSA_8]Livery #8 CASE 113 // [PBUS2_SSA_9]Livery #9 CASE 114 // [PBUS2_SSA_10]Livery #10 RETURN BV_BB_PBUS2 CASE 115 RETURN BV_MP_TAXI CASE 116 RETURN BV_MP_BULLDOZER CASE 117 RETURN BV_MP_SPEEDO2 CASE 118 RETURN BV_MP_TRASH2 CASE 119 RETURN BV_MP_BARRACKS2 CASE 120 RETURN BV_MP_MIXER CASE 121 RETURN BV_MP_DUNE2 CASE 122 RETURN BV_MP_TRACTOR // Casino Heist CASE 123 RETURN BV_CH_FIRETRUK CASE 124 RETURN BV_CH_BOXVILLE CASE 125 RETURN BV_CH_STOCKADE #IF FEATURE_HEIST_ISLAND CASE 126 RETURN BV_IH_KOSATKA BREAK CASE 127 RETURN BV_IH_VETIR BREAK CASE 128 RETURN BV_IH_LONGFIN BREAK CASE 129 RETURN BV_IH_PATROLBOAT BREAK CASE 130 RETURN BV_IH_DINGHY5 #ENDIF ENDSWITCH //try to look up the vehicle index RETURN UNSET_BUYABLE_VEHICLE ENDFUNC /// PURPOSE: /// Returns vehicle bit index FUNC INT GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(SITE_BUYABLE_VEHICLE sbv, SITE_BUYABLE_VEHICLE_COLOURS eLastBuyableVehicleColourSelected = BCV_NO_COLOUR) IF sbv = UNSET_BUYABLE_VEHICLE RETURN -1 ENDIF SWITCH sbv CASE BV_A_RHINO RETURN 0 CASE BV_P_DODO RETURN 1 CASE BV_P_SHAMAL RETURN 2 CASE BV_P_STUNT RETURN 3 CASE BV_P_CUBAN RETURN 4 CASE BV_P_DUSTER RETURN 5 CASE BV_P_LUXOR RETURN 6 CASE BV_P_FROGGER RETURN 7 CASE BV_P_MAVERICK RETURN 8 CASE BV_A_CARGOBOB RETURN 9 CASE BV_A_BARRACKS RETURN 10 CASE BV_B_MARINA RETURN 11 CASE BV_B_MARQUIS RETURN 12 CASE BV_B_JETMAX RETURN 13 CASE BV_B_SQUALO RETURN 14 CASE BV_B_SUNDECK RETURN 15 CASE BV_B_TROPIC RETURN 16 CASE BV_B_SEASHARK RETURN 17 CASE BV_B_SUBMERSIBLE RETURN 18 CASE BV_A_BUZZARD RETURN 19 CASE BV_B_SUNTRAP RETURN 20 CASE BV_A_CRUSADER RETURN 21 CASE BV_MP_ANNIHILATOR RETURN 22 CASE BV_MP_MAMMATUS RETURN 23 CASE BV_MP_VELUM RETURN 24 CASE BV_A_TITAN RETURN 25 CASE BV_MP_DUMP RETURN 26 CASE BV_MP_AIRBUS RETURN 27 CASE BV_MP_BUS RETURN 28 CASE BV_MP_COACH RETURN 29 CASE BV_MP_JOURNEY RETURN 30 CASE BV_MP_MULE RETURN 31 CASE BV_MP_RENTALBUS RETURN 32 CASE BV_MP_STRETCH RETURN 33 CASE BV_DLC_SPEEDER RETURN 34 CASE BV_DLC_VESTRA RETURN 35 CASE BV_MP_LIBERATOR RETURN 36 CASE BV_DLC_BESRA RETURN 37 CASE BV_DLC_MILJET RETURN 38 CASE BV_DLC_SWIFT IF IS_SBV_AN_ALTERNATE_VEHICLE(sbv, WWW_ELITASTRAVEL_COM, eLastBuyableVehicleColourSelected) CPRINTLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_SWIFT) - PINK colour selected, use biggass index 40 (SWIFT_2)") RETURN 40 ENDIF #IF NOT IS_NEXT_GEN CPRINTLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_SWIFT) - non-pink colour selected ", g_eLastBuyableVehicleColourSelected, ", use biggass index 39 (SWIFT_1)") #ENDIF #IF IS_NEXT_GEN CPRINTLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_SWIFT) - non-pink colour selected ", eLastBuyableVehicleColourSelected, ", use biggass index 39 (SWIFT_1)") #ENDIF RETURN 39 #IF IS_NEXTGEN_BUILD CASE BV_NG_DODO RETURN 41 CASE BV_NG_SUBMERSIBLE2 RETURN 42 CASE BV_NG_MARSHALL SWITCH eLastBuyableVehicleColourSelected CASE BCV_RED_COLOUR RETURN 43 //USA CASE BCV_PINK_COLOUR RETURN 44 //AUS CASE BCV_YELLOW_COLOUR RETURN 45 //BRA CASE BCV_ORANGE_COLOUR RETURN 46 //SPA CASE BCV_GREEN_COLOUR RETURN 47 //CAN CASE BCV_BLUE_COLOUR RETURN 48 //FRA CASE BCV_BLACK_COLOUR RETURN 49 //GER CASE BCV_WHITE_COLOUR RETURN 50 //JAP CASE BCV_COLOUR_1 RETURN 51 //SCO CASE BCV_COLOUR_2 RETURN 52 //UK CASE BCV_COLOUR_3 RETURN 53 //ITA CASE BCV_COLOUR_4 RETURN 54 //SWI CASE BCV_COLOUR_5 RETURN 55 //JAM CASE BCV_COLOUR_6 RETURN 56 //COL CASE BCV_COLOUR_7 RETURN 57 //NOR CASE BCV_COLOUR_8 RETURN 58 //SWE CASE BCV_COLOUR_9 RETURN 59 //BEL CASE BCV_COLOUR_10 RETURN 60 //MEX CASE BCV_COLOUR_11 RETURN 61 //AUT CASE BCV_COLOUR_12 RETURN 62 //RUS CASE BCV_COLOUR_13 RETURN 63 //ARG CASE BCV_COLOUR_14 RETURN 64 //TUR CASE BCV_COLOUR_15 RETURN 65 //IRE CASE BCV_COLOUR_16 RETURN 66 //WAL CASE BCV_COLOUR_17 RETURN 67 //ENG ENDSWITCH CWARNINGLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_NG_MARSHALL) - unknown colour selected ", eLastBuyableVehicleColourSelected) RETURN 43 #ENDIF CASE BV_DLC_BOXVILLE4 RETURN 68 CASE BV_DLC_VALKYRIE RETURN 69 CASE BV_DLC_HYDRA RETURN 70 CASE BV_DLC_MULE3 RETURN 71 CASE BV_DLC_SAVAGE RETURN 72 CASE BV_DLC_PBUS RETURN 73 CASE BV_DLC_VELUM2 RETURN 74 CASE BV_DLC_DINGHY3 RETURN 75 CASE BV_DLC_INSURGENT RETURN 76 CASE BV_DLC_TECHNICAL RETURN 77 CASE BV_LX_LUXOR2 RETURN 78 CASE BV_LX_SWIFT2 RETURN 79 CASE BV_L2_TORO RETURN 80 CASE BV_AP_LIMO2 RETURN 81 CASE BV_AP_SUPERVOLITO1 RETURN 82 CASE BV_AP_SUPERVOLITO2 RETURN 83 CASE BV_DLC_BIG_YACHT RETURN 84 CASE BV_EX_VOLATUS RETURN 85 CASE BV_EX_CARGOBOB2 RETURN 86 CASE BV_EX_BRICKADE RETURN 87 CASE BV_EX_NIMBUS RETURN 88 CASE BV_EX_TUG RETURN 89 CASE BV_ST_RALLYTRUCK IF IS_SBV_AN_ALTERNATE_VEHICLE(sbv, WWW_SOUTHERNSANANDREASSUPERAUTOS_COM, eLastBuyableVehicleColourSelected) CPRINTLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_ST_RALLYTRUCK) - PINK colour selected, use biggass index 40 (SWIFT_2)") RETURN 91 ENDIF CPRINTLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_ST_RALLYTRUCK) - non-pink colour selected ", eLastBuyableVehicleColourSelected, ", use biggass index 39 (SWIFT_1)") RETURN 90 CASE BV_DLC_BIG_TRUCK RETURN 92 CASE BV_DLC_BALLISTIC_EQUIPMENT RETURN 93 CASE BV_SM_LAZER RETURN 94 CASE BV_DLC_BIG_PLANE RETURN 95 CASE BV_DLC_HACKER_TRUCK RETURN 96 CASE BV_BB_BLIMP3 SWITCH eLastBuyableVehicleColourSelected CASE BCV_RED_COLOUR RETURN 97 // [BLIMP3_ELT_1]Livery #1 CASE BCV_PINK_COLOUR RETURN 98 // [BLIMP3_ELT_2]Livery #2 CASE BCV_YELLOW_COLOUR RETURN 99 // [BLIMP3_ELT_3]Livery #3 CASE BCV_ORANGE_COLOUR RETURN 100 // [BLIMP3_ELT_4]Livery #4 CASE BCV_GREEN_COLOUR RETURN 101 // [BLIMP3_ELT_5]Livery #5 CASE BCV_BLUE_COLOUR RETURN 102 // [BLIMP3_ELT_6]Livery #6 CASE BCV_BLACK_COLOUR RETURN 103 // [BLIMP3_ELT_7]Livery #7 CASE BCV_WHITE_COLOUR RETURN 104 // [BLIMP3_ELT_8]Nightclub ENDSWITCH CWARNINGLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3) - unknown colour selected ", eLastBuyableVehicleColourSelected) RETURN 97 CASE BV_BB_PBUS2 SWITCH eLastBuyableVehicleColourSelected CASE BCV_RED_COLOUR RETURN 105 // CASE BCV_PINK_COLOUR RETURN 106 // CASE BCV_YELLOW_COLOUR RETURN 107 // CASE BCV_ORANGE_COLOUR RETURN 108 // CASE BCV_GREEN_COLOUR RETURN 109 // CASE BCV_BLUE_COLOUR RETURN 110 // CASE BCV_BLACK_COLOUR RETURN 111 // CASE BCV_WHITE_COLOUR RETURN 112 // CASE BCV_COLOUR_1 RETURN 113 // CASE BCV_COLOUR_2 RETURN 114 // ENDSWITCH CWARNINGLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2) - unknown colour selected ", eLastBuyableVehicleColourSelected) RETURN 105 CASE BV_MP_TAXI RETURN 115 CASE BV_MP_BULLDOZER RETURN 116 CASE BV_MP_SPEEDO2 RETURN 117 CASE BV_MP_TRASH2 RETURN 118 CASE BV_MP_BARRACKS2 RETURN 119 CASE BV_MP_MIXER RETURN 120 CASE BV_MP_DUNE2 RETURN 121 CASE BV_MP_TRACTOR RETURN 122 // Casino Heist CASE BV_CH_FIRETRUK RETURN 123 CASE BV_CH_BOXVILLE RETURN 124 CASE BV_CH_STOCKADE RETURN 125 #IF FEATURE_HEIST_ISLAND CASE BV_IH_KOSATKA RETURN 126 BREAK CASE BV_IH_VETIR RETURN 127 BREAK CASE BV_IH_LONGFIN RETURN 128 BREAK CASE BV_IH_PATROLBOAT RETURN 129 BREAK CASE BV_IH_DINGHY5 RETURN 130 #ENDIF ENDSWITCH CWARNINGLN(DEBUG_INTERNET, "GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM - unknown sbv - ", sbv) RETURN -1 ENDFUNC FUNC BOOL IS_BIG_ASS_VEHICLE_BS_SET(INT iBigAssID) IF USE_SERVER_TRANSACTIONS() IF iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_BIG_YACHT) AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_YACHT_MODEL_0) != 0 PRINTLN("IS_BIG_ASS_VEHICLE_BS_SET - iBigAssID = yacht: Purchased!") RETURN TRUE ENDIF IF iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_BIG_TRUCK) AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_TRUCK_MODEL_0) != 0 PRINTLN("IS_BIG_ASS_VEHICLE_BS_SET - iBigAssID = truck: Purchased!") RETURN TRUE ENDIF IF iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_BALLISTIC_EQUIPMENT) AND GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_BALLASTIC_OWNED) PRINTLN("IS_BIG_ASS_VEHICLE_BS_SET - iBigAssID = ballistic equipment: Purchased!") RETURN TRUE ENDIF IF iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_BIG_PLANE) AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_PLANE_MODEL_0) != 0 PRINTLN("IS_BIG_ASS_VEHICLE_BS_SET - iBigAssID = plane: Purchased!") RETURN TRUE ENDIF IF iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_HACKER_TRUCK) AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_HACKERTRUCK_MODEL_0) != 0 PRINTLN("IS_BIG_ASS_VEHICLE_BS_SET - iBigAssID = hacker truck: Purchased!") RETURN TRUE ENDIF #IF FEATURE_HEIST_ISLAND IF iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_IH_KOSATKA) AND GET_MP_INT_CHARACTER_STAT(MP_STAT_IH_SUB_OWNED) != 0 PRINTLN("IS_BIG_ASS_VEHICLE_BS_SET - iBigAssID = submarine: Purchased!") RETURN TRUE ENDIF #ENDIF ARENA_CAREER_UNLOCK_ITEMS eUnlock FOR eUnlock = CAREER_ITEM_R_VEH_TAXI TO CAREER_ITEM_R_VEH_TRACTOR SITE_BUYABLE_VEHICLE eUnlockSbv = UNSET_BUYABLE_VEHICLE SWITCH eUnlock CASE CAREER_ITEM_R_VEH_TAXI eUnlockSbv = BV_MP_TAXI BREAK CASE CAREER_ITEM_R_VEH_DOZER eUnlockSbv = BV_MP_BULLDOZER BREAK CASE CAREER_ITEM_R_VEH_CLOWN_VAN eUnlockSbv = BV_MP_SPEEDO2 BREAK CASE CAREER_ITEM_R_VEH_TRASHMASTER eUnlockSbv = BV_MP_TRASH2 BREAK CASE CAREER_ITEM_R_VEH_BARRACKS_SEMI eUnlockSbv = BV_MP_BARRACKS2 BREAK CASE CAREER_ITEM_R_VEH_MIXER eUnlockSbv = BV_MP_MIXER BREAK CASE CAREER_ITEM_R_VEH_SPACE_DOCKER eUnlockSbv = BV_MP_DUNE2 BREAK CASE CAREER_ITEM_R_VEH_TRACTOR eUnlockSbv = BV_MP_TRACTOR BREAK ENDSWITCH IF iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(eUnlockSbv) AND IS_ARENA_CAREER_ITEM_UNLOCKED(eUnlock) PRINTLN("IS_BIG_ASS_VEHICLE_BS_SET - iBigAssID = ", GET_LABEL_BUYABLE_VEHICLE(eUnlockSbv), ": Purchased!") RETURN TRUE ENDIF ENDFOR ENDIF IF iBigAssID != -1 IF IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) RETURN TRUE ENDIF #IF IS_DEBUG_BUILD ELSE PRINTLN("IS_BIG_ASS_VEHICLE_BS_SET - iBigAssID = -1") #ENDIF ENDIF RETURN FALSE ENDFUNC /// PURPOSE: /// Gets the chosen livery from the bigass vehicle index /// PARAMS: /// bvIndex - the index to check /// RETURNS: /// The livery index FUNC INT GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(INT bvIndex) SWITCH(bvIndex) CASE 39 RETURN 0 CASE 40 RETURN 1 CASE 43 RETURN 0 //USA CASE 44 RETURN 1 //AUS CASE 45 RETURN 2 //BRA CASE 46 RETURN 3 //SPA CASE 47 RETURN 4 //CAN CASE 48 RETURN 5 //FRA CASE 49 RETURN 6 //GER CASE 50 RETURN 7 //JAP CASE 51 RETURN 8 //SCO CASE 52 RETURN 9 //UK CASE 53 RETURN 10 //ITA CASE 54 RETURN 11 //SWI CASE 55 RETURN 12 //JAM CASE 56 RETURN 13 //COL CASE 57 RETURN 14 //NOR CASE 58 RETURN 15 //SWE CASE 59 RETURN 16 //BEL CASE 60 RETURN 17 //MEX CASE 61 RETURN 18 //AUT CASE 62 RETURN 19 //RUS CASE 63 RETURN 20 //ARG CASE 64 RETURN 21 //TUR CASE 65 RETURN 22 //IRE CASE 66 RETURN 23 //WAL CASE 67 RETURN 24 //ENG CASE 82 RETURN 0 CASE 83 RETURN 1 CASE 90 RETURN 0 CASE 91 RETURN 1 CASE 97 RETURN 0 // Livery #1 CASE 98 RETURN 1 // Livery #2 CASE 99 RETURN 2 // Livery #3 CASE 100 RETURN 3 // Livery #4 CASE 101 RETURN 4 // Livery #5 CASE 102 RETURN 5 // Livery #6 CASE 103 RETURN 6 // Livery #7 CASE 104 // Nightclub IF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_Omega) RETURN 7+7 //Omega ELIF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_Gefangnis) RETURN 7+6 //Gefängis ELIF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_Paradise) RETURN 7+1 //Paradise ELIF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_Studio_Los_Santos) RETURN 7+5 //Studio Los Santos ELIF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_Maisonette_Los_Santos) RETURN 7+4 //Maisonette Los Santos ELIF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_The_Palace) RETURN 7+3 //The Palace ELIF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_Galaxy) RETURN 7+2 //Galaxy ELIF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_Technologie) RETURN 7+0 //Technologie ELIF IS_THIS_PLAYER_NIGHTCLUB_NAME_PURCHASED(PLAYER_ID(), NIGHTCLUB_NAME_Tonys_Fun_House) RETURN 7+8 //Tony's Fun House ENDIF IF DOES_PLAYER_HAVE_A_VALID_NIGHTCLUB_NAME(PLAYER_ID()) CASSERTLN(DEBUG_INTERNET, "GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT - nightclub name for bvIndex ", bvIndex, ", has name and stat = ", GET_MP_INT_CHARACTER_STAT(GET_FM_INT_STAT_FOR_NIGHTCLUB_UPGRADE(eNIGHTCLUB_MOD_NAME))) ELSE CASSERTLN(DEBUG_INTERNET, "GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT - nightclub name for bvIndex ", bvIndex, ", no name but stat = ", GET_MP_INT_CHARACTER_STAT(GET_FM_INT_STAT_FOR_NIGHTCLUB_UPGRADE(eNIGHTCLUB_MOD_NAME))) ENDIF RETURN -1 //No livery BREAK CASE 105 RETURN 0 // Livery #1 CASE 106 RETURN 1 // Livery #2 CASE 107 RETURN 2 // Livery #3 CASE 108 RETURN 3 // Livery #4 CASE 109 RETURN 4 // Livery #5 CASE 110 RETURN 5 // Livery #6 CASE 111 RETURN 6 // Livery #7 CASE 112 RETURN 7 // Livery #8 CASE 113 RETURN 8 // Livery #9 CASE 114 RETURN 9 // Livery #10 ENDSWITCH RETURN -1 //No livery ENDFUNC /// PURPOSE: /// Gets the chosen livery from the bigass vehicle index /// PARAMS: /// bvIndex - the index to check /// RETURNS: /// The livery index FUNC BOOL GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(INT bvIndex,INT &iColour1,INT &iColour2) iColour1 = -1 iColour2 = -1 SWITCH(bvIndex) CASE 39 //Swift iColour1 = 0 iColour2 = 11 RETURN TRUE CASE 43 //Marshall iColour1 = 28 iColour2 = 64 RETURN TRUE CASE 44 iColour1 = 64 iColour2 = 111 RETURN TRUE CASE 45 iColour1 = 53 iColour2 = 89 RETURN TRUE CASE 46 iColour1 = 28 iColour2 = 89 RETURN TRUE CASE 47 iColour1 = 28 iColour2 = 111 RETURN TRUE CASE 48 iColour1 = 64 iColour2 = 28 RETURN TRUE CASE 49 iColour1 = 1 iColour2 = 89 RETURN TRUE CASE 50 iColour1 = 111 iColour2 = 28 RETURN TRUE CASE 51 iColour1 = 70 iColour2 = 111 RETURN TRUE CASE 52 iColour1 = 64 iColour2 = 111 RETURN TRUE CASE 53 iColour1 = 53 iColour2 = 111 RETURN TRUE CASE 54 iColour1 = 28 iColour2 = 111 RETURN TRUE CASE 55 iColour1 = 1 iColour2 = 53 RETURN TRUE CASE 56 iColour1 = 88 iColour2 = 64 RETURN TRUE CASE 57 iColour1 = 28 iColour2 = 64 RETURN TRUE CASE 58 iColour1 = 70 iColour2 = 88 RETURN TRUE CASE 59 iColour1 = 1 iColour2 = 88 RETURN TRUE CASE 60 iColour1 = 53 iColour2 = 28 RETURN TRUE CASE 61 iColour1 = 28 iColour2 = 111 RETURN TRUE CASE 62 iColour1 = 64 iColour2 = 28 RETURN TRUE CASE 63 iColour1 = 70 iColour2 = 111 RETURN TRUE CASE 64 iColour1 = 28 iColour2 = 111 RETURN TRUE CASE 65 iColour1 = 53 iColour2 = 38 RETURN TRUE CASE 66 iColour1 = 53 iColour2 = 28 RETURN TRUE CASE 67 iColour1 = 111 iColour2 = 28 RETURN TRUE CASE 90 //Rallytruck iColour1 = 27 iColour2 = 27 RETURN TRUE CASE 91 iColour1 = 111 iColour2 = 0 RETURN TRUE CASE 115 //Taxi iColour1 = 40 iColour2 = 12 RETURN TRUE CASE 116 //Bulldozer iColour1 = 58 iColour2 = 1 RETURN TRUE CASE 118 //Trash2 iColour1 = 111 RETURN TRUE CASE 119 //Barracks2 iColour1 = 120 RETURN TRUE CASE 120 //Mixer iColour1 = 1 iColour2 = 1 RETURN TRUE ENDSWITCH RETURN FALSE //No colours ENDFUNC /// PURPOSE: /// Checklist for vehicles that have liveries FUNC BOOL IS_SBV_A_VEHICLE_WITH_LIVERIES(SITE_BUYABLE_VEHICLE veh) IF veh = BV_MP_BATI2 OR veh = BV_C_SANCHEZ OR veh = BV_DLC_PARADISE OR veh = BV_DLC_SWIFT #IF IS_NEXTGEN_BUILD OR veh = BV_NG_MARSHALL #ENDIF OR veh = BV_LX_WINDSOR OR veh = BV_HA_BTYPE2 OR veh = BV_HA_LURCHER OR veh = BV_ST_BF400 OR veh = BV_ST_BRIOSO OR veh = BV_ST_CLIFFHANGER // OR veh = BV_ST_CONTENDER //only stunt vehicle which doesnt have a livery when bought online OR veh = BV_ST_GARGOYLE OR veh = BV_ST_LE7B OR veh = BV_ST_LYNX OR veh = BV_ST_OMNIS OR veh = BV_ST_RALLYTRUCK OR veh = BV_ST_SHEAVA OR veh = BV_ST_TAMPA2 OR veh = BV_ST_TROPHYTRUCK OR veh = BV_ST_TROPHYTRUCK2 OR veh = BV_ST_TROPOS OR veh = BV_ST_TYRUS OR veh = BV_BB_BLIMP3 OR veh = BV_BB_PBUS2 RETURN TRUE ENDIF RETURN FALSE ENDFUNC /// PURPOSE: /// Checklist for vehicles that have liveries FUNC BOOL IS_SBV_A_VEHICLE_WITH_LIVERY_MOD(SITE_BUYABLE_VEHICLE veh, SITE_BUYABLE_VEHICLE_COLOURS col, INT &iMod) IF veh = BV_HA_BTYPE2 SWITCH col CASE BCV_RED_COLOUR iMod = 3+1 RETURN TRUE BREAK // Spider Trap (?) CASE BCV_PINK_COLOUR iMod = 0+1 RETURN TRUE BREAK // Midnight Potion CASE BCV_YELLOW_COLOUR iMod = 1+1 RETURN TRUE BREAK // Hell's Furnace CASE BCV_ORANGE_COLOUR iMod = 2+1 RETURN TRUE BREAK // Blazing Death ENDSWITCH iMod = -1 RETURN FALSE ELIF veh = BV_HA_LURCHER SWITCH col CASE BCV_RED_COLOUR iMod = 1+1 RETURN TRUE BREAK // The Ripper CASE BCV_PINK_COLOUR iMod = 0+1 RETURN TRUE BREAK // Hangman's Grave ENDSWITCH iMod = -1 RETURN FALSE ELIF veh = BV_ST_RALLYTRUCK SWITCH col CASE BCV_RED_COLOUR iMod = 0+1 RETURN TRUE BREAK // CASE BCV_PINK_COLOUR iMod = 1+1 RETURN TRUE BREAK // ENDSWITCH iMod = -1 RETURN FALSE ENDIF iMod = -1 RETURN FALSE ENDFUNC /// PURPOSE: /// Checklist for vehicles that have liveries FUNC BOOL IS_SBV_A_VEHICLE_WITH_LIVERY_COLOUR(SITE_BUYABLE_VEHICLE veh, SITE_BUYABLE_VEHICLE_COLOURS col, INT &iCol1, INT &iCol2, INT &iMod) IF veh = BV_ST_BF400 SWITCH col CASE BCV_RED_COLOUR iCol1 = 0 iCol2 = 10 iMod = 0+1 RETURN TRUE BREAK // BLACK CASE BCV_PINK_COLOUR iCol1 = 111 iCol2 = 0 iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_BRIOSO SWITCH col CASE BCV_RED_COLOUR iCol1 = 111 iCol2 = 0 iMod = 0+1 RETURN TRUE BREAK // WHITE CASE BCV_PINK_COLOUR iCol1 = 111 iCol2 = 0 iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_CLIFFHANGER SWITCH col CASE BCV_RED_COLOUR iCol1 = 111 iCol2 = 0 iMod = 0+1 RETURN TRUE BREAK // WHITE CASE BCV_PINK_COLOUR iCol1 = 64 iCol2 = 68 iMod = 1+1 RETURN TRUE BREAK // BLUE ENDSWITCH RETURN FALSE // ELIF veh = BV_ST_CONTENDER //only stunt vehicle which doesnt have a livery when bought online // SWITCH col // CASE BCV_RED_COLOUR iCol1 = 999 iCol2 = 999 iMod = 0+1 RETURN TRUE BREAK // CASE BCV_PINK_COLOUR iCol1 = 999 iCol2 = 999 iMod = 1+1 RETURN TRUE BREAK // ENDSWITCH // RETURN FALSE ELIF veh = BV_ST_GARGOYLE SWITCH col CASE BCV_RED_COLOUR iCol1 = 0 iCol2 = 10 iMod = 0+1 RETURN TRUE BREAK // BLACK CASE BCV_PINK_COLOUR iCol1 = 0 iCol2 = 10 iMod = 1+1 RETURN TRUE BREAK // BLACK ENDSWITCH RETURN FALSE ELIF veh = BV_ST_LE7B SWITCH col CASE BCV_RED_COLOUR iCol1 = 27 iCol2 = 36 iMod = 0+1 RETURN TRUE BREAK // RED CASE BCV_PINK_COLOUR iCol1 = 111 iCol2 = 0 iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_LYNX SWITCH col CASE BCV_RED_COLOUR iCol1 = 111 iCol2 = 111 iMod = 0+1 RETURN TRUE BREAK // WHITE CASE BCV_PINK_COLOUR iCol1 = 111 iCol2 = 111 iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_OMNIS SWITCH col CASE BCV_RED_COLOUR iCol1 = 27 iCol2 = 36 iMod = 0+1 RETURN TRUE BREAK // RED CASE BCV_PINK_COLOUR iCol1 = 111 iCol2 = 0 iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_RALLYTRUCK SWITCH col CASE BCV_RED_COLOUR GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,iCol1, iCol2) iMod = 0+1 RETURN TRUE BREAK // RED CASE BCV_PINK_COLOUR GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,iCol1, iCol2) iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_SHEAVA SWITCH col CASE BCV_RED_COLOUR iCol1 = 111 iCol2 = 111 iMod = 0+1 RETURN TRUE BREAK // WHITE CASE BCV_PINK_COLOUR iCol1 = 111 iCol2 = 111 iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_TAMPA2 SWITCH col CASE BCV_RED_COLOUR iCol1 = 0 iCol2 = 10 iMod = 0+1 RETURN TRUE BREAK // BLACK CASE BCV_PINK_COLOUR iCol1 = 111 iCol2 = 0 iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_TROPHYTRUCK SWITCH col CASE BCV_RED_COLOUR iCol1 = 27 iCol2 = 36 iMod = 0+1 RETURN TRUE BREAK // RED CASE BCV_PINK_COLOUR iCol1 = 0 iCol2 = 10 iMod = 1+1 RETURN TRUE BREAK // BLACK ENDSWITCH RETURN FALSE ELIF veh = BV_ST_TROPHYTRUCK2 SWITCH col CASE BCV_RED_COLOUR iCol1 = 38 iCol2 = 0 iMod = 0+1 RETURN TRUE BREAK // ORANGE CASE BCV_PINK_COLOUR iCol1 = 88 iCol2 = 88 iMod = 1+1 RETURN TRUE BREAK // YELLOW ENDSWITCH RETURN FALSE ELIF veh = BV_ST_TROPOS SWITCH col CASE BCV_RED_COLOUR iCol1 = 111 iCol2 = 111 iMod = 0+1 RETURN TRUE BREAK // WHITE CASE BCV_PINK_COLOUR iCol1 = 111 iCol2 = 111 iMod = 1+1 RETURN TRUE BREAK // WHITE ENDSWITCH RETURN FALSE ELIF veh = BV_ST_TYRUS SWITCH col CASE BCV_RED_COLOUR iCol1 = 0 iCol2 = 10 iMod = 0+1 RETURN TRUE BREAK // BLACK CASE BCV_PINK_COLOUR iCol1 = 64 iCol2 = 68 iMod = 1+1 RETURN TRUE BREAK // BLUE ENDSWITCH RETURN FALSE ENDIF RETURN FALSE ENDFUNC FUNC BOOL IS_SBV_A_VEHICLE_WITH_COLOUR_EXTRAS(SITE_BUYABLE_VEHICLE veh, INT &iExtraCol1, INT &iExtraCol2) IF veh = BV_A_CARGOBOB iExtraCol1 = 0 iExtraCol2 = 156 RETURN TRUE ELIF veh = BV_MP_TAXI iExtraCol1 = 40 iExtraCol2 = 12 RETURN TRUE ELIF veh = BV_MP_BULLDOZER iExtraCol1 = 1 iExtraCol2 = 132 RETURN TRUE ELIF veh = BV_MP_TRASH2 iExtraCol1 = 1 iExtraCol2 = 132 RETURN TRUE ELIF veh = BV_MP_BARRACKS2 iExtraCol1 = 1 iExtraCol2 = 132 RETURN TRUE ELIF veh = BV_MP_MIXER iExtraCol1 = 1 iExtraCol2 = 132 RETURN TRUE ENDIF RETURN FALSE ENDFUNC FUNC BOOL IS_SBV_A_VEHICLE_WITH_CUSTOM_SETUP(SITE_BUYABLE_VEHICLE veh) PRINTLN("IS_SBV_A_VEHICLE_WITH_CUSTOM_SETUP - veh = ", ENUM_TO_INT(veh)) IF (veh = BV_AGENCY_HELI) RETURN TRUE ENDIF RETURN FALSE ENDFUNC PROC APPLY_CUSTOM_SETUP_TO_SBV(VEHICLE_INDEX vehId, SITE_BUYABLE_VEHICLE sbv) #IF IS_DEBUG_BUILD IF NOT IS_SBV_A_VEHICLE_WITH_CUSTOM_SETUP(sbv) SCRIPT_ASSERT("APPLY_CUSTOM_SETUP_TO_SBV - IS_SBV_A_VEHICLE_WITH_CUSTOM_SETUP is FALSE!") PRINTLN("APPLY_CUSTOM_SETUP_TO_SBV - sbv = ", ENUM_TO_INT(sbv)) ENDIF #ENDIF VEHICLE_SETUP_STRUCT_MP MPVehicleSetup SWITCH sbv CASE UNSET_BUYABLE_VEHICLE // do nothing apart from compile! BREAK #IF FEATURE_FIXER CASE BV_AGENCY_HELI MPVehicleSetup.VehicleSetup.eModel = supervolito2 MPVehicleSetup.VehicleSetup.tlPlateText = "FCP2" MPVehicleSetup.VehicleSetup.iPlateIndex = 4 MPVehicleSetup.VehicleSetup.iColour1 = 0 MPVehicleSetup.VehicleSetup.iColour2 = 53 MPVehicleSetup.VehicleSetup.iColourExtra1 = 7 MPVehicleSetup.VehicleSetup.iColourExtra2 = 156 MPVehicleSetup.iColour5 = 1 MPVehicleSetup.iColour6 = 132 MPVehicleSetup.iLivery2 = 0 MPVehicleSetup.VehicleSetup.iTyreR = 255 MPVehicleSetup.VehicleSetup.iTyreG = 255 MPVehicleSetup.VehicleSetup.iTyreB = 255 MPVehicleSetup.VehicleSetup.iNeonR = 255 MPVehicleSetup.VehicleSetup.iNeonB = 255 SET_BIT(MPVehicleSetup.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(MPVehicleSetup.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(MPVehicleSetup.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_6) SET_BIT(MPVehicleSetup.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK #ENDIF ENDSWITCH SET_VEHICLE_SETUP_MP(vehId, MPVehicleSetup) ENDPROC PROC SET_CUSTOM_VEHICLE_EXTRAS_FOR_BUYABLE_VEHICLE(SITE_BUYABLE_VEHICLE veh, INT &iFlags) SWITCH veh CASE BV_C_RUFFIAN SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) BREAK CASE BV_C_PCJ SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) BREAK CASE BV_MP_COQUETTE SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_DLC_COQUETTE_TOPLESS CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_C_BANSHEE CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_C_BANSHEE_TOPLESS SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_C_STINGER SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_DLC_STINGER_TOPLESS CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_MP_VOLTIC SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) //Stock roof disabled CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) //Carbon roof disabled BREAK CASE BV_DLC_VOLTIC_HARDTOP CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) //Stock roof disabled CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) BREAK // CASE BV_DLC_KALAHARI // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) // BREAK CASE BV_MP_BOBCATXL //#1700623 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // Bullbars BREAK CASE BV_MP_GRANGER //#1700624 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // Bullbars BREAK CASE BV_MP_MINIVAN //#1700625 CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // No spoiler SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) // Roof rack rails BREAK CASE BV_MP_RADIUS //#1700626 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // Little spoiler BREAK CASE BV_MP_STRATUM //#1700627 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) // Solid sunroof CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_6) // No roof rack rails BREAK CASE BV_DLC_PANTO //#1847578 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_5) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_6) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_7) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_8) BREAK CASE BV_NG_STALION //#2141471 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) //No roof / topless version CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) BREAK CASE BV_DLC_KALAHARI SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) BREAK CASE BV_DLC_KALAHARI_TOPLESS CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) BREAK CASE BV_MP_LIBERATOR SET_BIT(iFlags, VEHICLE_SETUP_FLAG_USE_IND_SMOKE) BREAK CASE BV_MP_SOVEREIGN SET_BIT(iFlags, VEHICLE_SETUP_FLAG_USE_IND_SMOKE) BREAK CASE BV_MP_MESA3 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) BREAK CASE BV_L2_CHINO CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) BREAK CASE BV_L2_COQUETTE3 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_DLC_CASCO SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_MP_COQUETTE2 CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_MP_COQUETTE2_TOPLESS SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_MP_RATLOADER SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) BREAK CASE BV_MP_DUNE SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_DLC_ROOSEVELT SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) BREAK CASE BV_S1_FACTION CASE BV_S2_FACTION_DONK SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) BREAK CASE BV_CE_HOTKNIFE SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_C_SANDKING SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_MP_SANDKINGSWB SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) BREAK CASE BV_AP_LIMO2 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_AP_MAMBA CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) BREAK CASE BV_AP_BALLER3 CASE BV_AP_BALLER4 CASE BV_AP_COG55 CASE BV_AP_COGNOSCENTI CASE BV_AP_SCHAFTER3 CASE BV_AP_SCHAFTER4 CASE BV_EX_XLS IF g_bLastBuyableVehicleArmourSelected SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) ENDIF BREAK CASE BV_ST_TROPHYTRUCK SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) BREAK CASE BV_ST_TROPHYTRUCK2 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) BREAK CASE BV_ST_CONTENDER SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) BREAK CASE BV_ST_SHEAVA SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) BREAK CASE BV_ST_LE7B SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) BREAK CASE BV_ST_OMNIS SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) BREAK CASE BV_BI_SHOTARO SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_IE_WASTELANDER SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_GR_APC SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_GO_THRUSTER SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_GO_RIOT2 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_AR_SEASPARROW SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_6) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_BB_MENACER SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_BB_POUNDER2 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_AW_CERBERUS CASE BV_AW_CERBERUS2 CASE BV_AW_CERBERUS3 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_AW_SCARAB CASE BV_AW_SCARAB2 CASE BV_AW_SCARAB3 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES) BREAK CASE BV_CA_PEYOTE2 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) //roof SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_7) // hood BREAK CASE BV_CH_FORMULA2 CASE BV_CH_FORMULA SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_5) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_6) SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_7) BREAK CASE BV_CH_YOSEMITE2 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) BREAK // #IF FEATURE_COPS_N_CROOKS // CASE BV_CNC_POLBATI // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) // BREAK // CASE BV_CNC_POLBUFFALO // CASE BV_CNC_POLGAUNTLET // CASE BV_CNC_POLGRANGER // CASE BV_CNC_POLICE5 // CASE BV_CNC_POLICE6 // CASE BV_CNC_POLICET2 // CASE BV_CNC_POLCARACARA // CASE BV_CNC_POLPANTO // CASE BV_CNC_POLRIATA // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) // BREAK // CASE BV_CNC_POLICEB2 // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) // BREAK // CASE BV_CNC_POLGREENWOOD // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_7) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_5) // CLEAR_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_6) // BREAK // CASE BV_CNC_SURFER3 // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) // SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1) // BREAK // #ENDIF #IF FEATURE_HEIST_ISLAND CASE BV_IH_DINGHY5 SET_BIT(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) BREAK #ENDIF DEFAULT PRINTLN("SET_CUSTOM_VEHICLE_EXTRAS_FOR_BUYABLE_VEHICLE(", GET_LABEL_BUYABLE_VEHICLE(veh), ") defaulted to zero") EXIT BREAK ENDSWITCH PRINTLN("SET_CUSTOM_VEHICLE_EXTRAS_FOR_BUYABLE_VEHICLE(", GET_LABEL_BUYABLE_VEHICLE(veh), ", extra0:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_0)), ", extra1:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_1)), ", extra2:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_2)), ", extra3:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_3)), ", extra4:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_4)), ", extra5:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_5)), ", ") PRINTLN(" extra6:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_6)), ", extra7:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_7)), ", extra8:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_8)), ", extra9:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_9)), ", extra10:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_10)), ", extra11:", GET_STRING_FROM_BOOL(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_EXTRA_11)), ") ", PICK_STRING(IS_BIT_SET(iFlags, VEHICLE_SETUP_FLAG_BULLETPROOF_TYRES), ", bulletproof tyres", "")) ENDPROC /// PURPOSE: Grabs data from the scaleform bitfield for setting office stats /// For the correct index and bitwidth refer to: https://hub.take2games.com/display/RSGGTAV/dynasty8executiverealty.com FUNC INT GET_ACTIONSCRIPT_PARAM(INT iBitField, INT iIndex, INT iBitWidth) INT bitMask = SHIFT_LEFT(1, iBitWidth) - 1 bitMask = SHIFT_LEFT(bitMask, iIndex) RETURN SHIFT_RIGHT(iBitField & bitMask, iIndex) ENDFUNC FUNC BOOL IS_YACHT_STRUCT_VALID(YACHT_DATA_STRUCT &sYachtDataStruct) // Data Index Bit Width Notes // Vechicle ID 0 6 18 is used for the Yacht // Colour 6 6 Valid range 0 - 63, expected range 0 - 15 // Lighting 12 6 Valid range 0 - 63, expected range 0 - 11 // Flag 18 6 Valid range 0 - 63, expected range 0 - 45 // Model 24 2 Valid range 0 - 3, expected range 0 - 2 // Fittings 26 2 Valid range 0 - 3, expected range 0 - 1 IF sYachtDataStruct.iColour < 0 OR sYachtDataStruct.iColour > 15 CASSERTLN(DEBUG_INTERNET, "IS_YACHT_STRUCT_VALID - out of range iColour:", sYachtDataStruct.iColour) RETURN FALSE ENDIF IF sYachtDataStruct.iLighting < 0 OR sYachtDataStruct.iLighting > 11 CASSERTLN(DEBUG_INTERNET, "IS_YACHT_STRUCT_VALID - out of range iLighting:", sYachtDataStruct.iLighting) RETURN FALSE ENDIF IF sYachtDataStruct.iFlag < 0 OR sYachtDataStruct.iFlag > 45 CASSERTLN(DEBUG_INTERNET, "IS_YACHT_STRUCT_VALID - out of range iFlag:", sYachtDataStruct.iFlag) RETURN FALSE ENDIF IF sYachtDataStruct.iMod < 0 OR sYachtDataStruct.iMod > 2 CASSERTLN(DEBUG_INTERNET, "IS_YACHT_STRUCT_VALID - out of range iMod:", sYachtDataStruct.iMod) RETURN FALSE ENDIF IF sYachtDataStruct.iFixture < 0 OR sYachtDataStruct.iFixture > 1 CASSERTLN(DEBUG_INTERNET, "IS_YACHT_STRUCT_VALID - out of range iFixture:", sYachtDataStruct.iFixture) RETURN FALSE ENDIF RETURN TRUE ENDFUNC /// PURPOSE: /// Will the vehicle fit in a garage? FUNC BOOL IS_BUYABLE_VEHICLE_SUITABLE_FOR_GARAGE(SITE_BUYABLE_VEHICLE veh) // Which vehicles are verboten for MP IF GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, BCV_NO_COLOUR) = -1 RETURN TRUE ENDIF RETURN FALSE ENDFUNC /// PURPOSE: /// Fill out a VEHICLE_SETUP_STRUCT for the given buyable vehicle PROC CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE(SITE_BUYABLE_VEHICLE veh, VEHICLE_SETUP_STRUCT_MP &VehicleSetupMP, BOOL mpMode = FALSE, enumCharacterList eCharacter = NO_CHARACTER, INT iAltVersion = -1, WEBSITE_INDEX_ENUM siteID = INVALID_WEBSITE_INDEX) VehicleSetupMP.VehicleSetup.eModel = GET_MODEL_FOR_BUYABLE_VEHICLE(veh, iAltVersion) #IF IS_DEBUG_BUILD STRING sModelName = GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(VehicleSetupMP.VehicleSetup.eModel) #ENDIF IF VehicleSetupMP.VehicleSetup.eModel = DUMMY_MODEL_FOR_SCRIPT IF mpMode CASSERTLN(DEBUG_INTERNET, "<", GET_THIS_SCRIPT_NAME(), "> CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE:MP(", GET_LABEL_BUYABLE_VEHICLE(veh), ") - dummy model, bail from function!") ELSE CASSERTLN(DEBUG_INTERNET, "<", GET_THIS_SCRIPT_NAME(), "> CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE:SP(", GET_LABEL_BUYABLE_VEHICLE(veh), ") - dummy model, bail from function!") ENDIF EXIT ENDIF // Custom setups IF eCharacter = CHAR_TREVOR AND VehicleSetupMP.VehicleSetup.eModel = FROGGER VehicleSetupMP.VehicleSetup.eModel = FROGGER2 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.VehicleSetup.iLivery = 1 EXIT ENDIF // Vehicle extras // NOTE: This only applies custom extras. To get extras appearing correctly we need a valid vehicle_index to query the default states. // We do this in DO_MP_VEHICLE_BUY. VehicleSetupMP.VehicleSetup.iFlags = 0 SET_CUSTOM_VEHICLE_EXTRAS_FOR_BUYABLE_VEHICLE(veh, VehicleSetupMP.VehicleSetup.iFlags) // Armour mods VehicleSetupMP.VehicleSetup.iModIndex[MOD_ARMOUR] = 0 IF veh = BV_DLC_KURUMA2 OR veh = BV_DLC_INSURGENT OR veh = BV_DLC_INSURGENT2 VehicleSetupMP.VehicleSetup.iModIndex[MOD_ARMOUR] = 4 ELIF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) IF g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iModIndex[MOD_ARMOUR] = 4 ENDIF CPRINTLN(DEBUG_INTERNET, "<", GET_THIS_SCRIPT_NAME(), "> CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE:MP(", GET_LABEL_BUYABLE_VEHICLE(veh), ", armour: ", GET_STRING_FROM_BOOL(g_bLastBuyableVehicleArmourSelected), ")") ENDIF // Wheels mods VehicleSetupMP.VehicleSetup.iModIndex[MOD_WHEELS] = 0 IF veh = BV_LX_VIRGO VehicleSetupMP.VehicleSetup.iModIndex[MOD_WHEELS] = 7 ENDIF // Plate Index VehicleSetupMP.VehicleSetup.iPlateIndex = 0 IF veh = BV_GO_RIOT2 VehicleSetupMP.VehicleSetup.iPlateIndex = 4 // Blue on White 3 ENDIF // Livery mods VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 0 IF veh = BV_AW_CLIQUE IF iAltVersion = -1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = -1 CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Set vehicle ", sModelName, " livery to ", VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY], " (iAltVersion:", iAltVersion, ")") ELIF iAltVersion = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 11 CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Set vehicle ", sModelName, " livery to ", VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY], " (iAltVersion:", iAltVersion, ")") ELSE CASSERTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Set vehicle ", sModelName, " livery to ", VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY], " (iAltVersion:", iAltVersion, ")") ENDIF ELIF IS_VEHICLE_AN_ARENA_CONTENDER_VEHICLE(VehicleSetupMP.VehicleSetup.eModel) VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF // Dial colours VehicleSetupMP.iColour6 = 0 IF veh = BV_S2_VIRGO3 VehicleSetupMP.iColour6 = 4 ENDIF // Ram mods VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 0 SWITCH VehicleSetupMP.VehicleSetup.eModel CASE BRUTUS CASE BRUTUS2 CASE BRUTUS3 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 4 BREAK CASE SCARAB CASE SCARAB2 CASE SCARAB3 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 4 BREAK CASE IMPERATOR CASE IMPERATOR2 CASE IMPERATOR3 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 BREAK CASE ZR380 CASE ZR3802 CASE ZR3803 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 BREAK CASE CERBERUS CASE CERBERUS2 CASE CERBERUS3 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 4 BREAK DEFAULT IF IS_VEHICLE_A_CAR_MEET_VEHICLE(VehicleSetupMP.VehicleSetup.eModel) VehicleSetupMP.iColour5 = 3 VehicleSetupMP.iColour6 = 111 ENDIF BREAK ENDSWITCH VehicleSetupMP.VehicleSetup.iModIndex[MOD_ENGINEBAY3] = 0 IF veh = BV_AW_RCBANDITO VehicleSetupMP.VehicleSetup.iModIndex[MOD_ENGINEBAY3] = 1 ENDIF // Window Tints VehicleSetupMP.VehicleSetup.iWindowTintColour = 0 IF veh = BV_EX_XLS IF g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iWindowTintColour = 1 ENDIF ENDIF // Spoiler mods VehicleSetupMP.VehicleSetup.iModIndex[MOD_SPOILER] = 0 IF veh = BV_SR_INFERNUS2 OR veh = BV_SR_RUSTON OR veh = BV_SR_TURISMO2 OR veh = BV_GR_VAGNER OR veh = BV_GO_COMET5 OR veh = BV_AR_FLASHGT VehicleSetupMP.VehicleSetup.iModIndex[MOD_SPOILER] = 1 ENDIF // Roof/Weapons IF veh = BV_GR_APC OR veh = BV_GR_DUNE3 OR veh = BV_GR_HALFTRACK OR veh = BV_GR_TRAILERSMALL2 OR veh = BV_GR_OPPRESSOR OR veh = BV_GR_TAMPA3 VehicleSetupMP.VehicleSetup.iModIndex[MOD_ROOF] = 0 ENDIF FLOAT fRetEnvEffScale IF FORCE_ENVEFF_FOR_VEHICLE(VehicleSetupMP.VehicleSetup.eModel, fRetEnvEffScale) AND VehicleSetupMP.fEnveffScale != fRetEnvEffScale CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE - override fEnveffScale from ", VehicleSetupMP.fEnveffScale, " to ", fRetEnvEffScale) VehicleSetupMP.fEnveffScale = fRetEnvEffScale ENDIF // Standard setups SITE_BUYABLE_VEHICLE_COLOURS col IF mpMode col = g_eLastBuyableVehicleColourSelected CPRINTLN(DEBUG_INTERNET, "<", GET_THIS_SCRIPT_NAME(), "> CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE:MP(", GET_LABEL_BUYABLE_VEHICLE(veh), ", col: ", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, col), ")") ELSE IF eCharacter = CHAR_MICHAEL col = g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursM[veh] ELIF eCharacter = CHAR_FRANKLIN col = g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursF[veh] ELIF eCharacter = CHAR_TREVOR col = g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursT[veh] ELSE CASSERTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE:SP - invalid character \"", GET_PLAYER_PED_STRING(eCharacter), "\"!!") ENDIF CPRINTLN(DEBUG_INTERNET, "<", GET_THIS_SCRIPT_NAME(), "> CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE:SP(", GET_LABEL_BUYABLE_VEHICLE(veh), ", ", GET_PLAYER_PED_STRING(eCharacter), ", col: ", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, col), ")") ENDIF //Set colour and livery values to default VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 #IF IS_NEXTGEN_BUILD IF veh = BV_NG_MARSHALL SWITCH col CASE BCV_RED_COLOUR //USA CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to USA") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_PINK_COLOUR //AUS CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to AUS") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_YELLOW_COLOUR //BRA CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to BRA") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_ORANGE_COLOUR //SPA CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to SPA") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_GREEN_COLOUR //CAN CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to CAN") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_BLUE_COLOUR //FRA CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to FRA") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_BLACK_COLOUR //GER CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to GER") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_WHITE_COLOUR //JAP CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to JAP") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_1 //SCO CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to SCO") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_2 //UK CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to UK") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_3 //ITA CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to ITA") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_4 //SWI CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to SWI") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_5 //JAM CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to JAM") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_6 //COL CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to COL") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_7 //NOR CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to NOR") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_8 //SWE CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to SWE") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_9 //BEL CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to BEL") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_10 //MEX CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to MEX") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_11 //AUT CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to AUT") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_12 //RUS CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to RUS") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_13 //ARG CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to ARG") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_14 //TUR CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to TUR") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_15 //IRE CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to IRE") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_16 //WAL CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to WAL") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK CASE BCV_COLOUR_17 //ENG CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting marshall colour and livery to ENG") GET_VEHICLE_COLOURS_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col) ,VehicleSetupMP.VehicleSetup.iColour1, VehicleSetupMP.VehicleSetup.iColour2) VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) BREAK DEFAULT CWARNINGLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE : unknown marshall vehicle col ", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, col), " selected!") BREAK ENDSWITCH ELIF veh = BV_LX_WINDSOR #ENDIF // #IF NOT IS_NEXTGEN_BUILD // IF veh = BV_LX_WINDSOR // #ENDIF CONST_INT iCONST_WINDSOR_LIVERY_1_Sessanta_Nove_Monogram 1 CONST_INT iCONST_WINDSOR_LIVERY_2_Sessanta_Nove_MultiColor 2 CONST_INT iCONST_WINDSOR_LIVERY_3_Sessanta_Nove_Geometric 3 CONST_INT iCONST_WINDSOR_LIVERY_4_Perseus_Wings_Monogram 4 //#IF NOT IS_NEXTGEN_BUILD // CONST_INT iCONST_WINDSOR_LIVERY_5_Santo_Capra_Python 5 // CONST_INT iCONST_WINDSOR_LIVERY_6_Santo_Capra_Cheetah 6 // CONST_INT iCONST_WINDSOR_LIVERY_7_Yeti_Mall_Ninja 7 //#ENDIF #IF IS_NEXTGEN_BUILD CONST_INT iCONST_WINDSOR_LIVERY_5_Perseus_Green_Wings_Monogram 5 CONST_INT iCONST_WINDSOR_LIVERY_6_Santo_Capra_Python 6 CONST_INT iCONST_WINDSOR_LIVERY_7_Santo_Capra_Cheetah 7 CONST_INT iCONST_WINDSOR_LIVERY_8_Yeti_Mall_Ninja 8 #ENDIF SWITCH col CASE BCV_RED_COLOUR //[WINDSOR_LGM_1] Sessanta Nove Monogram CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 1_Sessanta_Nove_Monogram") VehicleSetupMP.VehicleSetup.iColour1 = 98 //(Saddle Brown) VehicleSetupMP.VehicleSetup.iColour2 = 98 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_1_Sessanta_Nove_Monogram BREAK CASE BCV_PINK_COLOUR //[WINDSOR_LGM_2] Sessanta Nove Multi-Color CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 2_Sessanta_Nove_MultiColor") VehicleSetupMP.VehicleSetup.iColour1 = 111 //(Ice White) VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_2_Sessanta_Nove_MultiColor BREAK CASE BCV_YELLOW_COLOUR //[WINDSOR_LGM_3] Sessanta Nove Geometric CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 3_Sessanta_Nove_Geometric") VehicleSetupMP.VehicleSetup.iColour1 = 135 //(Hot Pink) VehicleSetupMP.VehicleSetup.iColour2 = 135 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_3_Sessanta_Nove_Geometric BREAK //#IF NOT IS_NEXTGEN_BUILD // CASE BCV_ORANGE_COLOUR //[WINDSOR_LGM_4] Yeti Mall Ninja // CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 7_Yeti_Mall_Ninja") // VehicleSetupMP.VehicleSetup.iColour1 = 59 //(Green) // VehicleSetupMP.VehicleSetup.iColour2 = 59 // VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 // VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 // VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_7_Yeti_Mall_Ninja // BREAK // CASE BCV_GREEN_COLOUR //[WINDSOR_LGM_5] Perseus Wings Monogram // CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 4_Perseus_Wings_Monogram") // VehicleSetupMP.VehicleSetup.iColour1 = 98 //(Saddle Brown) // VehicleSetupMP.VehicleSetup.iColour2 = 98 // VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 // VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 // VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_4_Perseus_Wings_Monogram // BREAK // CASE BCV_BLUE_COLOUR //[WINDSOR_LGM_7] Santo Capra Cheetah // CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 6_Santo_Capra_Cheetah") // VehicleSetupMP.VehicleSetup.iColour1 = 42 //(Yellow) // VehicleSetupMP.VehicleSetup.iColour2 = 42 // VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 // VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 // VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_6_Santo_Capra_Cheetah // BREAK // CASE BCV_BLACK_COLOUR //[WINDSOR_LGM_8] Santo Capra Python // CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 5_Santo_Capra_Python") // VehicleSetupMP.VehicleSetup.iColour1 = 111 //(Ice White) // VehicleSetupMP.VehicleSetup.iColour2 = 111 // VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 // VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 // VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_5_Santo_Capra_Python // BREAK //#ENDIF #IF IS_NEXTGEN_BUILD CASE BCV_ORANGE_COLOUR //[WINDSOR_LGM_4] Yeti Mall Ninja CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 8_Yeti_Mall_Ninja") VehicleSetupMP.VehicleSetup.iColour1 = 59 //(Green) VehicleSetupMP.VehicleSetup.iColour2 = 59 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_8_Yeti_Mall_Ninja BREAK CASE BCV_GREEN_COLOUR //[WINDSOR_LGM_5] Perseus Wings Monogram CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 4_Perseus_Wings_Monogram") VehicleSetupMP.VehicleSetup.iColour1 = 98 //(Saddle Brown) VehicleSetupMP.VehicleSetup.iColour2 = 98 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_4_Perseus_Wings_Monogram BREAK CASE BCV_BLUE_COLOUR //[WINDSOR_LGM_6] Perseus Green Wings Monogram CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 5_Perseus_Green_Wings_Monogram") VehicleSetupMP.VehicleSetup.iColour1 = 98 //(Saddle Brown) VehicleSetupMP.VehicleSetup.iColour2 = 98 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_5_Perseus_Green_Wings_Monogram BREAK CASE BCV_BLACK_COLOUR //[WINDSOR_LGM_7] Santo Capra Cheetah CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 7_Santo_Capra_Cheetah") VehicleSetupMP.VehicleSetup.iColour1 = 42 //(Yellow) VehicleSetupMP.VehicleSetup.iColour2 = 42 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_7_Santo_Capra_Cheetah BREAK CASE BCV_WHITE_COLOUR //[WINDSOR_LGM_8] Santo Capra Python CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting windsor livery to 6_Santo_Capra_Python") VehicleSetupMP.VehicleSetup.iColour1 = 111 //(Ice White) VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = iCONST_WINDSOR_LIVERY_6_Santo_Capra_Python BREAK #ENDIF DEFAULT CWARNINGLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE : windsor col ", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, col), " selected!") BREAK ENDSWITCH ELSE SWITCH col CASE BCV_RED_COLOUR IF IS_SBV_A_VEHICLE_WITH_LIVERIES(veh) IF veh != BV_DLC_SWIFT INT iMod, iCol1, iCol2 IF IS_SBV_A_VEHICLE_WITH_LIVERY_MOD(veh, col, iMod) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery mod to ", iMod) VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = iMod ELIF IS_SBV_A_VEHICLE_WITH_LIVERY_COLOUR(veh, col, iCol1, iCol2, iMod) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to ", iCol1, " ", iCol2, " ", iMod) VehicleSetupMP.VehicleSetup.iColour1 = iCol1 VehicleSetupMP.VehicleSetup.iColour2 = iCol2 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 IF veh = BV_ST_OMNIS OR veh = BV_ST_LE7B OR veh = BV_ST_TYRUS VehicleSetupMP.iColour6 = 134 ELSE VehicleSetupMP.iColour6 = 0 ENDIF VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = iMod ELSE CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to 0") VehicleSetupMP.VehicleSetup.iLivery = 0 ENDIF ELSE VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to swift classic ", VehicleSetupMP.VehicleSetup.iLivery) ENDIF ELIF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) //Executive: Dark Red IF NOT g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iColour1 = 143 VehicleSetupMP.VehicleSetup.iColour2 = 34 VehicleSetupMP.VehicleSetup.iColourExtra1 = 31 VehicleSetupMP.iColour5 = 99 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE //Matte: Dark Red VehicleSetupMP.VehicleSetup.iColour1 = 40 VehicleSetupMP.VehicleSetup.iColour2 = 40 VehicleSetupMP.iColour5 = 93 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF ELIF IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 27 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_BI_SHOTARO VehicleSetupMP.VehicleSetup.iColour1 = 27 VehicleSetupMP.VehicleSetup.iColour2 = 36 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_VAGNER VehicleSetupMP.VehicleSetup.iColour1 = 27 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 8 VehicleSetupMP.iColour6 = 89 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_SM_RAPIDGT3 VehicleSetupMP.VehicleSetup.iColour1 = 27 VehicleSetupMP.VehicleSetup.iColour2 = 27 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 27 VehicleSetupMP.VehicleSetup.iColour2 = 27 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 27 VehicleSetupMP.VehicleSetup.iColour2 = 36 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF BREAK CASE BCV_PINK_COLOUR IF IS_SBV_A_VEHICLE_WITH_LIVERIES(veh) IF veh != BV_DLC_SWIFT INT iMod, iCol1, iCol2 IF IS_SBV_A_VEHICLE_WITH_LIVERY_MOD(veh, col, iMod) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery mod to ", iMod) VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = iMod ELIF IS_SBV_A_VEHICLE_WITH_LIVERY_COLOUR(veh, col, iCol1, iCol2, iMod) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to ", iCol1, " ", iCol2, " ", iMod) VehicleSetupMP.VehicleSetup.iColour1 = iCol1 VehicleSetupMP.VehicleSetup.iColour2 = iCol2 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 IF veh = BV_ST_OMNIS OR veh = BV_ST_LE7B OR veh = BV_ST_TYRUS VehicleSetupMP.iColour6 = 134 ELSE VehicleSetupMP.iColour6 = 0 ENDIF VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = iMod ELSE CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to 1") VehicleSetupMP.VehicleSetup.iLivery = 1 ENDIF ELSE VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 10 VehicleSetupMP.VehicleSetup.iColourExtra1 = 4 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = GET_VEHICLE_LIVERY_INDEX_FROM_BIGASS_VEHICLE_INDICE_BIT(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh, col)) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to swift flying bravo - ", VehicleSetupMP.VehicleSetup.iLivery) ENDIF ELIF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) //Executive: Light Grey IF NOT g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iColour1 = 8 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 5 VehicleSetupMP.iColour5 = 106 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE //Matte: Light Grey VehicleSetupMP.VehicleSetup.iColour1 = 14 VehicleSetupMP.VehicleSetup.iColour2 = 14 VehicleSetupMP.iColour5 = 108 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF ELIF IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 135 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_BI_SHOTARO VehicleSetupMP.VehicleSetup.iColour1 = 135 VehicleSetupMP.VehicleSetup.iColour2 = 135 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_VAGNER VehicleSetupMP.VehicleSetup.iColour1 = 135 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 8 VehicleSetupMP.iColour6 = 67 VehicleSetupMP.VehicleSetup.iLivery = -1 // ELIF veh = BV_SM_RAPIDGT3 // VehicleSetupMP.VehicleSetup.iColour1 = 135 // VehicleSetupMP.VehicleSetup.iColour2 = 135 // VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 135 VehicleSetupMP.VehicleSetup.iColour2 = 135 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 135 VehicleSetupMP.VehicleSetup.iColour2 = 135 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF BREAK CASE BCV_YELLOW_COLOUR IF IS_SBV_A_VEHICLE_WITH_LIVERIES(veh) INT iMod, iCol1, iCol2 IF IS_SBV_A_VEHICLE_WITH_LIVERY_MOD(veh, col, iMod) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery mod to ", iMod) VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = iMod ELIF IS_SBV_A_VEHICLE_WITH_LIVERY_COLOUR(veh, col, iCol1, iCol2, iMod) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to ", iCol1, " ", iCol2, " ", iMod) VehicleSetupMP.VehicleSetup.iColour1 = iCol1 VehicleSetupMP.VehicleSetup.iColour2 = iCol2 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 IF veh = BV_ST_OMNIS OR veh = BV_ST_LE7B OR veh = BV_ST_TYRUS VehicleSetupMP.iColour6 = 134 ELSE VehicleSetupMP.iColour6 = 0 ENDIF VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = iMod ELSE CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to 2") VehicleSetupMP.VehicleSetup.iLivery = 2 ENDIF ELIF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) //Executive: Olive Drab IF NOT g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iColour1 = 100 VehicleSetupMP.VehicleSetup.iColour2 = 100 VehicleSetupMP.VehicleSetup.iColourExtra1 = 100 VehicleSetupMP.iColour5 = 22 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE //Matte: Olive Drab VehicleSetupMP.VehicleSetup.iColour1 = 152 VehicleSetupMP.VehicleSetup.iColour2 = 152 VehicleSetupMP.iColour5 = 22 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF ELIF IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 88 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_BI_SHOTARO VehicleSetupMP.VehicleSetup.iColour1 = 88 VehicleSetupMP.VehicleSetup.iColour2 = 88 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_VAGNER VehicleSetupMP.VehicleSetup.iColour1 = 88 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 8 VehicleSetupMP.iColour6 = 28 VehicleSetupMP.VehicleSetup.iLivery = -1 // ELIF veh = BV_SM_RAPIDGT3 // VehicleSetupMP.VehicleSetup.iColour1 = 88 // VehicleSetupMP.VehicleSetup.iColour2 = 88 // VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 88 VehicleSetupMP.VehicleSetup.iColour2 = 88 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 88 VehicleSetupMP.VehicleSetup.iColour2 = 88 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF BREAK CASE BCV_ORANGE_COLOUR IF IS_SBV_A_VEHICLE_WITH_LIVERIES(veh) INT iMod, iCol1, iCol2 IF IS_SBV_A_VEHICLE_WITH_LIVERY_MOD(veh, col, iMod) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery mod to ", iMod) VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = iMod ELIF IS_SBV_A_VEHICLE_WITH_LIVERY_COLOUR(veh, col, iCol1, iCol2, iMod) CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to ", iCol1, " ", iCol2, " ", iMod) VehicleSetupMP.VehicleSetup.iColour1 = iCol1 VehicleSetupMP.VehicleSetup.iColour2 = iCol2 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 IF veh = BV_ST_OMNIS OR veh = BV_ST_LE7B OR veh = BV_ST_TYRUS VehicleSetupMP.iColour6 = 134 ELSE VehicleSetupMP.iColour6 = 0 ENDIF VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = iMod ELSE CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle livery to 3") VehicleSetupMP.VehicleSetup.iLivery = 3 ENDIF ELIF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) //Executive: Straw Brown IF NOT g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iColour1 = 99 VehicleSetupMP.VehicleSetup.iColour2 = 99 VehicleSetupMP.VehicleSetup.iColourExtra1 = 106 VehicleSetupMP.iColour5 = 101 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE //Matte: Straw Brown VehicleSetupMP.VehicleSetup.iColour1 = 99 VehicleSetupMP.VehicleSetup.iColour2 = 99 VehicleSetupMP.iColour5 = 48 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF ELIF IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 38 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_BI_SHOTARO VehicleSetupMP.VehicleSetup.iColour1 = 38 VehicleSetupMP.VehicleSetup.iColour2 = 38 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_VAGNER VehicleSetupMP.VehicleSetup.iColour1 = 38 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 8 VehicleSetupMP.iColour6 = 81 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_SM_RAPIDGT3 VehicleSetupMP.VehicleSetup.iColour1 = 38 VehicleSetupMP.VehicleSetup.iColour2 = 38 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 38 VehicleSetupMP.VehicleSetup.iColour2 = 38 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 38 VehicleSetupMP.VehicleSetup.iColour2 = 27 INT iColour TEXT_LABEL tlLabel INT iGroup, iCol1, iCol2 WHILE GET_CAR_APP_COLOUR_DATA(iColour, tlLabel, iGroup, iCol1, iCol2) IF ARE_STRINGS_EQUAL(tlLabel, "ORANGE") AND iGroup = ENUM_TO_INT(MCT_CLASSIC) VehicleSetupMP.VehicleSetup.iColour1 = iCol1 VehicleSetupMP.VehicleSetup.iColour2 = iCol2 iColour = -99 ENDIF iColour++ ENDWHILE VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF BREAK CASE BCV_GREEN_COLOUR IF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) //Executive: Dark Green IF NOT g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iColour1 = 49 VehicleSetupMP.VehicleSetup.iColour2 = 49 VehicleSetupMP.VehicleSetup.iColourExtra1 = 52 VehicleSetupMP.iColour5 = 98 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE //Matte: Dark Green VehicleSetupMP.VehicleSetup.iColour1 = 128 VehicleSetupMP.VehicleSetup.iColour2 = 128 VehicleSetupMP.iColour5 = 99 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF ELIF veh = BV_DLC_INSURGENT OR veh = BV_DLC_INSURGENT2 OR veh = BV_MP_MESA3 VehicleSetupMP.VehicleSetup.iColour1 = 152 VehicleSetupMP.VehicleSetup.iColour2 = 152 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 152 ELIF IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 128 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_BI_SHOTARO VehicleSetupMP.VehicleSetup.iColour1 = 128 VehicleSetupMP.VehicleSetup.iColour2 = 55 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_VAGNER VehicleSetupMP.VehicleSetup.iColour1 = 92 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 8 VehicleSetupMP.iColour6 = 41 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_SM_RAPIDGT3 VehicleSetupMP.VehicleSetup.iColour1 = 55 VehicleSetupMP.VehicleSetup.iColour2 = 55 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 128 VehicleSetupMP.VehicleSetup.iColour2 = 128 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 128 VehicleSetupMP.VehicleSetup.iColour2 = 0 INT iColour TEXT_LABEL tlLabel INT iGroup, iCol1, iCol2 WHILE GET_CAR_APP_COLOUR_DATA(iColour, tlLabel, iGroup, iCol1, iCol2) IF ARE_STRINGS_EQUAL(tlLabel, "LIME_GREEN") AND iGroup = ENUM_TO_INT(MCT_CLASSIC) VehicleSetupMP.VehicleSetup.iColour1 = iCol1 VehicleSetupMP.VehicleSetup.iColour2 = iCol2 iColour = -99 ENDIF iColour++ ENDWHILE VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF BREAK CASE BCV_BLUE_COLOUR IF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) //Executive: Midnight Blue IF NOT g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iColour1 = 141 VehicleSetupMP.VehicleSetup.iColour2 = 141 VehicleSetupMP.VehicleSetup.iColourExtra1 = 73 VehicleSetupMP.iColour5 = 5 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE //Matte: Midnight Blue VehicleSetupMP.VehicleSetup.iColour1 = 84 VehicleSetupMP.VehicleSetup.iColour2 = 84 VehicleSetupMP.iColour5 = 24 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF ELIF IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 64 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_BI_SHOTARO VehicleSetupMP.VehicleSetup.iColour1 = 64 VehicleSetupMP.VehicleSetup.iColour2 = 63 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_VAGNER VehicleSetupMP.VehicleSetup.iColour1 = 64 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 8 VehicleSetupMP.iColour6 = 111 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_SM_RAPIDGT3 VehicleSetupMP.VehicleSetup.iColour1 = 64 VehicleSetupMP.VehicleSetup.iColour2 = 64 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 64 VehicleSetupMP.VehicleSetup.iColour2 = 64 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 64 VehicleSetupMP.VehicleSetup.iColour2 = 68 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF BREAK CASE BCV_BLACK_COLOUR IF VehicleSetupMP.VehicleSetup.eModel = KURUMA2 VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 12 VehicleSetupMP.VehicleSetup.iColourExtra1 = 13 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 CPRINTLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Setting vehicle colour to Matte Black for Kuruma2") ELIF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) //Executive: Black IF NOT g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 10 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE //Matte: Black VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 12 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF ELIF IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_BI_SHOTARO VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 5 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_VAGNER VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 8 VehicleSetupMP.iColour6 = 81 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_TAMPA3 VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 3 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 // ELIF veh = BV_SM_RAPIDGT3 // VehicleSetupMP.VehicleSetup.iColour1 = 0 // VehicleSetupMP.VehicleSetup.iColour2 = 10 // VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 10 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF BREAK CASE BCV_WHITE_COLOUR IF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(veh) //Executive: Ice White IF NOT g_bLastBuyableVehicleArmourSelected VehicleSetupMP.VehicleSetup.iColour1 = 112 VehicleSetupMP.VehicleSetup.iColour2 = 112 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.iColour5 = 7 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE //Matte: Ice White VehicleSetupMP.VehicleSetup.iColour1 = 131 VehicleSetupMP.VehicleSetup.iColour2 = 131 VehicleSetupMP.iColour5 = 78 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF ELIF IS_SBV_A_BIKE_WITH_CHROME_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_BI_SHOTARO VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_GR_VAGNER VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 8 VehicleSetupMP.iColour6 = 27 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF veh = BV_SM_RAPIDGT3 VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF IS_SBV_A_VEH_WITH_MATCHING_SECONDARY_COLOUR(veh) VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF BREAK DEFAULT CWARNINGLN(DEBUG_INTERNET, "CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE : unknown vehicle col ", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, col), " selected!") BREAK ENDSWITCH ENDIF // If the website doesnt define a colour use one of the colour combos setup by art. IF col = BCV_NO_COLOUR SWITCH veh CASE BV_B_SUNTRAP VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 65 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_P_DUSTER VehicleSetupMP.VehicleSetup.iColour1 = 46 VehicleSetupMP.VehicleSetup.iColour2 = 24 VehicleSetupMP.VehicleSetup.iColourExtra1 = 46 VehicleSetupMP.VehicleSetup.iColourExtra2 = 24 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_C_BMX //#1674252 VehicleSetupMP.VehicleSetup.iColour1 = 7 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_C_SCORCHER VehicleSetupMP.VehicleSetup.iColour1 = 7 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_C_WHIPPET VehicleSetupMP.VehicleSetup.iColour1 = 7 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_C_ENDUREX //#1674252 VehicleSetupMP.VehicleSetup.iColour1 = 7 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_C_TRICYCLE //#1733655 VehicleSetupMP.VehicleSetup.iColour1 = 7 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_C_CRUISER VehicleSetupMP.VehicleSetup.iColour1 = 7 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_NG_STALION2 VehicleSetupMP.VehicleSetup.iColour1 = 2 VehicleSetupMP.VehicleSetup.iColour2 = 134 VehicleSetupMP.VehicleSetup.iColourExtra1 = 134 VehicleSetupMP.VehicleSetup.iColourExtra2 = 29 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_NG_DOMINATOR2 VehicleSetupMP.VehicleSetup.iColour1 = 134 VehicleSetupMP.VehicleSetup.iColour2 = 134 VehicleSetupMP.VehicleSetup.iColourExtra1 = 134 VehicleSetupMP.VehicleSetup.iColourExtra2 = 126 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_NG_GAUNTLET2 VehicleSetupMP.VehicleSetup.iColour1 = 134 VehicleSetupMP.VehicleSetup.iColour2 = 134 VehicleSetupMP.VehicleSetup.iColourExtra1 = 134 VehicleSetupMP.VehicleSetup.iColourExtra2 = 29 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_NG_BUFFALO3 VehicleSetupMP.VehicleSetup.iColour1 = 134 VehicleSetupMP.VehicleSetup.iColour2 = 134 VehicleSetupMP.VehicleSetup.iColourExtra1 = 134 VehicleSetupMP.VehicleSetup.iColourExtra2 = 139 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_DLC_SLAMVAN IF siteID != WWW_ARENAWAR_TV VehicleSetupMP.VehicleSetup.iColour1 = 28 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 14 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 ELSE VehicleSetupMP.VehicleSetup.iColour1 = 88 VehicleSetupMP.VehicleSetup.iColour2 = 66 VehicleSetupMP.VehicleSetup.iColourExtra1 = 63 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 ENDIF BREAK CASE BV_DLC_MASSACRO2 VehicleSetupMP.VehicleSetup.iColour1 = 38 VehicleSetupMP.VehicleSetup.iColour2 = 38 VehicleSetupMP.VehicleSetup.iColourExtra1 = 42 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_DLC_JESTER2 VehicleSetupMP.VehicleSetup.iColour1 = 134 VehicleSetupMP.VehicleSetup.iColour2 = 134 VehicleSetupMP.VehicleSetup.iColourExtra1 = 134 VehicleSetupMP.VehicleSetup.iColourExtra2 = 27 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_A_RHINO VehicleSetupMP.VehicleSetup.iColour1 = 30 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_LX_LUXOR2 VehicleSetupMP.VehicleSetup.iColour1 = 159 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 160 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_LX_SWIFT2 VehicleSetupMP.VehicleSetup.iColour1 = 159 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 160 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_NG_DUKES2 VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 12 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 12 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK // CASE BV_L2_CHINO // VehicleSetupMP.VehicleSetup.iColour1 = 159xx // VehicleSetupMP.VehicleSetup.iColour2 = 0xx // VehicleSetupMP.VehicleSetup.iColourExtra1 = 160xx // VehicleSetupMP.VehicleSetup.iColourExtra2 = 156xx // VehicleSetupMP.VehicleSetup.iLivery = -1 // BREAK // CASE BV_S1_PRIMO // VehicleSetupMP.VehicleSetup.iColour1 = 159xx // VehicleSetupMP.VehicleSetup.iColour2 = 0xx // VehicleSetupMP.VehicleSetup.iColourExtra1 = 160xx // VehicleSetupMP.VehicleSetup.iColourExtra2 = 156xx // VehicleSetupMP.VehicleSetup.iLivery = -1 // BREAK // CASE BV_S1_MOONBEAM // VehicleSetupMP.VehicleSetup.iColour1 = 159xx // VehicleSetupMP.VehicleSetup.iColour2 = 0xx // VehicleSetupMP.VehicleSetup.iColourExtra1 = 160xx // VehicleSetupMP.VehicleSetup.iColourExtra2 = 156xx // VehicleSetupMP.VehicleSetup.iLivery = -1 // BREAK CASE BV_S1_FACTION VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_S1_BUCCANEER VehicleSetupMP.VehicleSetup.iColour1 = 36 VehicleSetupMP.VehicleSetup.iColour2 = 36 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_S1_VOODOO2 VehicleSetupMP.VehicleSetup.iColour1 = 41 VehicleSetupMP.VehicleSetup.iColour2 = 41 VehicleSetupMP.VehicleSetup.iColourExtra1 = 156 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_MICROLIGHT // (blue & white) VehicleSetupMP.VehicleSetup.iColour1 = 64 VehicleSetupMP.VehicleSetup.iColour2 = 5 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 5 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_MOGUL // (Gray Green) VehicleSetupMP.VehicleSetup.iColour1 = 14 VehicleSetupMP.VehicleSetup.iColour2 = 14 VehicleSetupMP.VehicleSetup.iColourExtra1 = 14 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_ROGUE // (light gray) VehicleSetupMP.VehicleSetup.iColour1 = 24 VehicleSetupMP.VehicleSetup.iColour2 = 29 VehicleSetupMP.VehicleSetup.iColourExtra1 = 65 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_STARLING // (Dark Steel and Silver) VehicleSetupMP.VehicleSetup.iColour1 = 3 VehicleSetupMP.VehicleSetup.iColour2 = 4 VehicleSetupMP.VehicleSetup.iColourExtra1 = 7 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_SEABREEZE // (Metallic Ice White and Race Yellow) VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 89 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_TULA // (Gray and Red) VehicleSetupMP.VehicleSetup.iColour1 = 14 VehicleSetupMP.VehicleSetup.iColour2 = 121 VehicleSetupMP.VehicleSetup.iColourExtra1 = 121 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_PYRO // (Classic Racing Green and Dew Yellow) VehicleSetupMP.VehicleSetup.iColour1 = 50 VehicleSetupMP.VehicleSetup.iColour2 = 91 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_MOLOTOK // (Gray & Red) VehicleSetupMP.VehicleSetup.iColour1 = 117 VehicleSetupMP.VehicleSetup.iColour2 = 35 VehicleSetupMP.VehicleSetup.iColourExtra1 = 134 VehicleSetupMP.VehicleSetup.iColourExtra2 = 119 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_NOKOTA // (Gray white stripes, Red & Yellow hatch on nose) VehicleSetupMP.VehicleSetup.iColour1 = 117 VehicleSetupMP.VehicleSetup.iColour2 = 35 VehicleSetupMP.VehicleSetup.iColourExtra1 = 134 VehicleSetupMP.VehicleSetup.iColourExtra2 = 119 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_BOMBUSHKA // (always the same, Gray Red star) VehicleSetupMP.VehicleSetup.iColour1 = 14 VehicleSetupMP.VehicleSetup.iColour2 = 5 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_HUNTER // (grey/green) VehicleSetupMP.VehicleSetup.iColour1 = 14 VehicleSetupMP.VehicleSetup.iColour2 = 14 VehicleSetupMP.VehicleSetup.iColourExtra1 = 14 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_HAVOK // (Red) VehicleSetupMP.VehicleSetup.iColour1 = 27 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 7 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_HOWARD // (Brushed Steel and Metallic Racing Blue) VehicleSetupMP.VehicleSetup.iColour1 = 119 VehicleSetupMP.VehicleSetup.iColour2 = 73 VehicleSetupMP.VehicleSetup.iColourExtra1 = 65 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_ALPHAZ1 // (Metallic Diamond Blue and Black) VehicleSetupMP.VehicleSetup.iColour1 = 67 VehicleSetupMP.VehicleSetup.iColour2 = 1 VehicleSetupMP.VehicleSetup.iColourExtra1 = 5 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 111 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_SM_VIGILANTE VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 12 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_GO_AKULA VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 12 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_GO_CHERNOBOG VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 13 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_GO_DELUXO VehicleSetupMP.VehicleSetup.iColour1 = 117 VehicleSetupMP.VehicleSetup.iColour2 = 118 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_GO_KHANJALI VehicleSetupMP.VehicleSetup.iColour1 = 13 VehicleSetupMP.VehicleSetup.iColour2 = 8 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_GO_RIOT2 VehicleSetupMP.VehicleSetup.iColour1 = 9 VehicleSetupMP.VehicleSetup.iColour2 = 9 VehicleSetupMP.VehicleSetup.iColourExtra1 = 7 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_GO_STROMBERG VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK CASE BV_GO_THRUSTER VehicleSetupMP.VehicleSetup.iColour1 = 8 VehicleSetupMP.VehicleSetup.iColour2 = 14 VehicleSetupMP.VehicleSetup.iColourExtra1 = 5 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iLivery = -1 BREAK //Apocalypse CASE BV_AW_CERBERUS VehicleSetupMP.VehicleSetup.iColour1 = 153 VehicleSetupMP.VehicleSetup.iColour2 = 159 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_BRUTUS VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_SCARAB VehicleSetupMP.VehicleSetup.iColour1 = 153 VehicleSetupMP.VehicleSetup.iColour2 = 154 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_IMPERATOR VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 12 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_ZR380 VehicleSetupMP.VehicleSetup.iColour1 = 13 VehicleSetupMP.VehicleSetup.iColour2 = 131 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK //Sci Fi CASE BV_AW_CERBERUS2 VehicleSetupMP.VehicleSetup.iColour1 = 107 VehicleSetupMP.VehicleSetup.iColour2 = 159 VehicleSetupMP.VehicleSetup.iColourExtra1 = 107 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_BRUTUS2 VehicleSetupMP.VehicleSetup.iColour1 = 107 VehicleSetupMP.VehicleSetup.iColour2 = 159 VehicleSetupMP.VehicleSetup.iColourExtra1 = 107 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_SCARAB2 VehicleSetupMP.VehicleSetup.iColour1 = 107 VehicleSetupMP.VehicleSetup.iColour2 = 159 VehicleSetupMP.VehicleSetup.iColourExtra1 = 107 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_IMPERATOR2 VehicleSetupMP.VehicleSetup.iColour1 = 107 VehicleSetupMP.VehicleSetup.iColour2 = 159 VehicleSetupMP.VehicleSetup.iColourExtra1 = 107 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_ZR3802 VehicleSetupMP.VehicleSetup.iColour1 = 107 VehicleSetupMP.VehicleSetup.iColour2 = 159 VehicleSetupMP.VehicleSetup.iColourExtra1 = 107 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK //Wasteland CASE BV_AW_CERBERUS3 VehicleSetupMP.VehicleSetup.iColour1 = 131 VehicleSetupMP.VehicleSetup.iColour2 = 135 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_BRUTUS3 VehicleSetupMP.VehicleSetup.iColour1 = 131 VehicleSetupMP.VehicleSetup.iColour2 = 39 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_SCARAB3 VehicleSetupMP.VehicleSetup.iColour1 = 87 VehicleSetupMP.VehicleSetup.iColour2 = 138 VehicleSetupMP.VehicleSetup.iColourExtra1 = 7 VehicleSetupMP.VehicleSetup.iColourExtra2 = 135 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_IMPERATOR3 VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 55 VehicleSetupMP.VehicleSetup.iColourExtra2 = 160 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_ZR3803 VehicleSetupMP.VehicleSetup.iColour1 = 131 VehicleSetupMP.VehicleSetup.iColour2 = 55 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK //Donor Vehicles CASE BV_DLC_RATLOADER2 VehicleSetupMP.VehicleSetup.iColour1 = 30 VehicleSetupMP.VehicleSetup.iColour2 = 30 VehicleSetupMP.VehicleSetup.iColourExtra1 = 30 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_DLC_GLENDALE VehicleSetupMP.VehicleSetup.iColour1 = 68 VehicleSetupMP.VehicleSetup.iColour2 = 2 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK // CASE BV_DLC_SLAMVAN BREAK CASE BV_MP_DOMINATOR VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 64 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AW_IMPALER VehicleSetupMP.VehicleSetup.iColour1 = 6 VehicleSetupMP.VehicleSetup.iColour2 = 120 VehicleSetupMP.VehicleSetup.iColourExtra1 = 7 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_AR_ISSI3 VehicleSetupMP.VehicleSetup.iColour1 = 29 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 7 VehicleSetupMP.VehicleSetup.iColourExtra2 = 5 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK // CASE BV_ST_GARGOYLE BREAK DEFAULT #IF IS_DEBUG_BUILD PRINTLN("CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: buyable vehicle ", ENUM_TO_INT(veh), " with model ", sModelName, ": BCV_NO_COLOUR") #ENDIF BREAK ENDSWITCH ENDIF // Fix for bug # 1900561 - Dont allow player to pick colour for soverign. IF veh = BV_MP_SOVEREIGN VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_HA_BTYPE2 VehicleSetupMP.VehicleSetup.iColour1 = 142 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 145 VehicleSetupMP.VehicleSetup.iColourExtra2 = 90 ENDIF // Fix for bug # 3066909 - Daemon2 - Colours are inconsistently applied to bike's handlebars when purchased online. IF veh = BV_BI_DAEMON2 // VehicleSetupMP.VehicleSetup.iColour1 = 142 VehicleSetupMP.VehicleSetup.iColour2 = 0 // VehicleSetupMP.VehicleSetup.iColourExtra1 = 145 // VehicleSetupMP.VehicleSetup.iColourExtra2 = 90 ENDIF IF veh = BV_BI_RATBIKE VehicleSetupMP.VehicleSetup.iColour1 = 131 VehicleSetupMP.VehicleSetup.iColour2 = 131 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_IE_DUNE5 VehicleSetupMP.VehicleSetup.iColour1 = 22 VehicleSetupMP.VehicleSetup.iColour2 = 12 VehicleSetupMP.VehicleSetup.iColourExtra1 = 134 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_IE_PHANTOM2 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_IE_TECHNICAL2 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_IE_BLAZER5 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_IE_BOXVILLE5 VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_IE_WASTELANDER VehicleSetupMP.VehicleSetup.iColour1 = 151 VehicleSetupMP.VehicleSetup.iColour2 = 129 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_IE_RUINER2 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_IE_VOLTIC2 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 6 VehicleSetupMP.VehicleSetup.iColourExtra1 = 18 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_GR_APC VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 154 VehicleSetupMP.VehicleSetup.iColourExtra1 = 154 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_GR_DUNE3 VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 154 VehicleSetupMP.VehicleSetup.iColourExtra1 = 154 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_GR_HALFTRACK VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 154 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 154 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_GR_OPPRESSOR VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 120 VehicleSetupMP.VehicleSetup.iColourExtra1 = 35 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_GR_TRAILERSMALL2 VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 154 VehicleSetupMP.VehicleSetup.iColourExtra1 = 154 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF IF veh = BV_DLC_BIG_TRUCK IF iAltVersion = 0 VehicleSetupMP.VehicleSetup.eModel = PHANTOM3 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ELIF iAltVersion = 1 VehicleSetupMP.VehicleSetup.eModel = HAULER2 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 0 VehicleSetupMP.iColour6 = 0 VehicleSetupMP.VehicleSetup.iLivery = -1 ENDIF #IF IS_DEBUG_BUILD sModelName = GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(VehicleSetupMP.VehicleSetup.eModel) #ENDIF ENDIF // Aircraft countermeasures IF IS_THIS_MODEL_ALLOWED_IN_HANGAR(VehicleSetupMP.VehicleSetup.eModel) VehicleSetupMP.VehicleSetup.iTyreR = 1 VehicleSetupMP.VehicleSetup.iTyreG = 1 VehicleSetupMP.VehicleSetup.iTyreB = 1 ENDIF // Aircraft countermeasures IF veh = BV_DLC_BIG_PLANE VehicleSetupMP.VehicleSetup.eModel = GET_ARMORY_AIRCRAFT_MODEL() VehicleSetupMP.VehicleSetup.iColour1 = 14 VehicleSetupMP.VehicleSetup.iColour2 = 131 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iLivery = -1 #IF IS_DEBUG_BUILD sModelName = GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(VehicleSetupMP.VehicleSetup.eModel) #ENDIF ENDIF IF veh = BV_GO_BARRAGE VehicleSetupMP.VehicleSetup.iColour1 = 128 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 ENDIF IF veh = BV_GO_THRUSTER VehicleSetupMP.VehicleSetup.iColour1 = 32 VehicleSetupMP.VehicleSetup.iColour2 = 112 VehicleSetupMP.VehicleSetup.iColourExtra1 = 25 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 ENDIF IF veh = BV_GO_VOLATOL VehicleSetupMP.VehicleSetup.iColour1 = 65 VehicleSetupMP.VehicleSetup.iColour2 = 65 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 1 VehicleSetupMP.VehicleSetup.iTyreG = 1 VehicleSetupMP.VehicleSetup.iTyreB = 1 ENDIF //chrome bug IF veh = BV_AR_FAGALOA VehicleSetupMP.VehicleSetup.iColour2 = 120 ENDIF IF veh = BV_AR_CARACARA VehicleSetupMP.VehicleSetup.iColour1 = 64 VehicleSetupMP.VehicleSetup.iColour2 = 2 VehicleSetupMP.VehicleSetup.iColourExtra1 = 68 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 ENDIF IF veh = BV_AR_SEASPARROW VehicleSetupMP.VehicleSetup.iColour1 = 5 VehicleSetupMP.VehicleSetup.iColour2 = 106 VehicleSetupMP.VehicleSetup.iColourExtra1 = 5 VehicleSetupMP.VehicleSetup.iColourExtra2 = 111 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 1 VehicleSetupMP.VehicleSetup.iTyreG = 1 VehicleSetupMP.VehicleSetup.iTyreB = 1 ENDIF IF veh = BV_DLC_HACKER_TRUCK VehicleSetupMP.VehicleSetup.eModel = GET_HACKER_TRUCK_MODEL() VehicleSetupMP.VehicleSetup.iColour1 = 9 VehicleSetupMP.VehicleSetup.iColourExtra1 = 7 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 #IF IS_DEBUG_BUILD sModelName = GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(VehicleSetupMP.VehicleSetup.eModel) #ENDIF ENDIF IF veh = BV_BB_OPPRESSOR2 VehicleSetupMP.VehicleSetup.iColour1 = 141 VehicleSetupMP.VehicleSetup.iColourExtra1 = 73 VehicleSetupMP.VehicleSetup.iColourExtra2 = 112 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 6 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 ENDIF IF veh = BV_BB_STRIKEFORCE VehicleSetupMP.VehicleSetup.iColour1 = 119 VehicleSetupMP.VehicleSetup.iColour2 = 119 VehicleSetupMP.VehicleSetup.iColourExtra1 = 1 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 1 VehicleSetupMP.VehicleSetup.iTyreG = 1 VehicleSetupMP.VehicleSetup.iTyreB = 1 ENDIF IF veh = BV_BB_SCRAMJET VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 ENDIF IF veh = BV_BB_MENACER VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 12 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 ENDIF IF veh = BV_BB_POUNDER2 VehicleSetupMP.VehicleSetup.iColour1 = 112 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 ENDIF IF veh = BV_BB_MULE4 VehicleSetupMP.VehicleSetup.iColour1 = 8 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 ENDIF IF veh = BV_CH_MINITANK VehicleSetupMP.VehicleSetup.iColour1 = 102 VehicleSetupMP.VehicleSetup.iColour2 = 144 VehicleSetupMP.VehicleSetup.iColourExtra1 = 105 VehicleSetupMP.VehicleSetup.iColourExtra2 = 144 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 ENDIF IF veh = BV_CH_BLAZER2 VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 ENDIF IF veh = BV_CH_ZHABA VehicleSetupMP.VehicleSetup.iColour1 = 102 VehicleSetupMP.VehicleSetup.iColour2 = 102 VehicleSetupMP.VehicleSetup.iColourExtra1 = 105 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 ENDIF #IF FEATURE_COPS_N_CROOKS IF veh = BV_CNC_POLBATI VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 2 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 6 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 2 ENDIF IF veh = BV_CNC_POLBUFFALO VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLGAUNTLET VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLGRANGER VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 3 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLICE5 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 1 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLICE6 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 2 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLICEB2 VehicleSetupMP.VehicleSetup.iColour1 = 111 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 6 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_4) VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLICET2 VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 10 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 1 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLPANTO VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 5 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLCARACARA VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 3 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLRIATA VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 3 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_0) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS3] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF IF veh = BV_CNC_POLGREENWOOD VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 111 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 2 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iNeonR = 255 VehicleSetupMP.VehicleSetup.iNeonB = 255 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_7) VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS2] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_CHASSIS4] = 6 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 1 ENDIF #ENDIF SWITCH veh CASE BV_IH_KOSATKA VehicleSetupMP.VehicleSetup.eModel = GET_SUBMARINE_MODEL() VehicleSetupMP.VehicleSetup.iColour1 = 0 VehicleSetupMP.VehicleSetup.iColour2 = 15 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 BREAK CASE BV_IH_TOREADOR VehicleSetupMP.VehicleSetup.iColour1 = 27 VehicleSetupMP.VehicleSetup.iColour2 = 27 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_IH_WINKY VehicleSetupMP.VehicleSetup.iColour1 = 155 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 155 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_IH_VETIR VehicleSetupMP.VehicleSetup.iColour1 = 155 VehicleSetupMP.VehicleSetup.iColour2 = 13 VehicleSetupMP.VehicleSetup.iColourExtra1 = 6 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_IH_SQUADDIE VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 154 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 154 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_IH_MANCHEZ2 VehicleSetupMP.VehicleSetup.iColour1 = 151 VehicleSetupMP.VehicleSetup.iColour2 = 154 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_IH_VERUS VehicleSetupMP.VehicleSetup.iColour1 = 154 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 154 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_IH_PATROLBOAT VehicleSetupMP.VehicleSetup.iColour1 = 152 VehicleSetupMP.VehicleSetup.iColour2 = 46 VehicleSetupMP.VehicleSetup.iColourExtra1 = 52 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_IH_DINGHY5 VehicleSetupMP.VehicleSetup.iColour1 = 152 VehicleSetupMP.VehicleSetup.iColour2 = 46 VehicleSetupMP.VehicleSetup.iColourExtra1 = 52 VehicleSetupMP.VehicleSetup.iColourExtra2 = 0 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_EXTRA_3) BREAK CASE BV_IH_ALKONOST VehicleSetupMP.VehicleSetup.iColour1 = 131 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.VehicleSetup.iModIndex[MOD_WING_R] = 4 BREAK CASE BV_IH_ANNIHILATOR2 VehicleSetupMP.VehicleSetup.iColour1 = 12 VehicleSetupMP.VehicleSetup.iColour2 = 0 VehicleSetupMP.VehicleSetup.iColourExtra1 = 0 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 BREAK CASE BV_IH_SLAMTRUCK VehicleSetupMP.VehicleSetup.iModIndex[MOD_REAR_WHEELS] = 3 BREAK #IF FEATURE_GEN9_EXCLUSIVE CASE BV_G9E_IGNUS2 VehicleSetupMP.VehicleSetup.iColour1 = 59 VehicleSetupMP.VehicleSetup.iColour2 = 88 VehicleSetupMP.VehicleSetup.iColourExtra1 = 94 VehicleSetupMP.VehicleSetup.iColourExtra2 = 158 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iWheelType = 7 VehicleSetupMP.VehicleSetup.iModIndex[MOD_GRILL] = 1 BREAK CASE BV_G9E_S95 IF DOES_SAVE_HAVE_COUPON(COUPON_CAR_GEN9_MIGRATION) VehicleSetupMP.VehicleSetup.iColour1 = 199 VehicleSetupMP.VehicleSetup.iColour2 = 199 VehicleSetupMP.VehicleSetup.iColourExtra1 = 203 VehicleSetupMP.VehicleSetup.iColourExtra2 = 156 VehicleSetupMP.iColour5 = 1 VehicleSetupMP.iColour6 = 132 VehicleSetupMP.iLivery2 = 0 VehicleSetupMP.VehicleSetup.iTyreR = 255 VehicleSetupMP.VehicleSetup.iTyreG = 255 VehicleSetupMP.VehicleSetup.iTyreB = 255 VehicleSetupMP.VehicleSetup.iModIndex[MOD_SPOILER] = 12 VehicleSetupMP.VehicleSetup.iModIndex[MOD_ENGINE] = 5 VehicleSetupMP.VehicleSetup.iModIndex[MOD_BRAKES] = 4 VehicleSetupMP.VehicleSetup.iModIndex[MOD_GEARBOX] = 4 VehicleSetupMP.VehicleSetup.iModIndex[MOD_SUSPENSION] = 5 VehicleSetupMP.VehicleSetup.iModIndex[MOD_TOGGLE_TURBO] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_KNOB] = 4 VehicleSetupMP.VehicleSetup.iModIndex[MOD_ICE] = 1 VehicleSetupMP.VehicleSetup.iModIndex[MOD_LIVERY] = 12 ENDIF BREAK #ENDIF ENDSWITCH IF VehicleSetupMP.VehicleSetup.iLivery >= 0 PRINTLN("CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Set vehicle ", sModelName, " livery to ", VehicleSetupMP.VehicleSetup.iLivery, " (", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, col), ")") ELSE PRINTLN("CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Set vehicle ", sModelName, " colour to ", VehicleSetupMP.VehicleSetup.iColour1, ", ", VehicleSetupMP.VehicleSetup.iColour2, " (", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, col), ")") // Fix for bug # 2148290 - force livery to zero (Weasel News decal turned off). IF veh = BV_MP_RUMPO VehicleSetupMP.VehicleSetup.iLivery = 1 PRINTLN("CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE: Set vehicle ", sModelName, " livery to ", VehicleSetupMP.VehicleSetup.iLivery, " as well") ENDIF ENDIF ENDPROC /// PURPOSE: /// Returns the multiplayer unlock rank of the vehicle FUNC INT GET_BUYABLE_VEHICLE_UNLOCK_RANK(SITE_BUYABLE_VEHICLE sbv, BOOL &bLockedForWebsite) bLockedForWebsite = FALSE IF sbv = BV_A_RHINO OR sbv = BV_A_BUZZARD OR sbv = BV_MP_ANNIHILATOR OR sbv = BV_DLC_DUBSTA3 OR sbv = BV_DLC_FUROREGT bLockedForWebsite = TRUE ENDIF SWITCH sbv // Cars - Legendary Motors // WWW_LEGENDARYMOTORSPORT_NET CASE BV_C_ZTYPE RETURN 31 CASE BV_C_STINGER RETURN 43 CASE BV_C_JB700 RETURN 45 CASE BV_C_CHEETAH RETURN 27 CASE BV_C_ENTITYXF RETURN 47 CASE BV_C_VENEM RETURN 49 // Adder CASE BV_C_MONROE RETURN 36 CASE BV_C_COGCABRIO RETURN 26 CASE BV_C_VACCA RETURN 29 // Veloce // Additional MP-only vehicles CASE BV_MP_BULLET RETURN 24 CASE BV_MP_CARBONIZZARE RETURN 21 CASE BV_MP_COQUETTE RETURN 35 CASE BV_C_EXEMPLAR RETURN 44 CASE BV_C_FELTZER2 RETURN 46 CASE BV_C_INFERNUS RETURN 25 CASE BV_C_NINEF RETURN 28 CASE BV_MP_NINEF2 RETURN 28 CASE BV_MP_RAPIDGT RETURN 33 CASE BV_MP_RAPIDGT2 RETURN 33 CASE BV_MP_STINGERGT RETURN 43 CASE BV_C_SUPERD RETURN 22 CASE BV_MP_VOLTIC RETURN 23 CASE BV_C_COMET2 RETURN 20 CASE BV_C_SURANO RETURN 19 CASE BV_C_BANSHEE RETURN 16 // Social club CASE BV_SC_ELEGY2 RETURN 1 // Collector Edition MP CASE BV_CE_KHAMELION RETURN 1 // Collectors Edition MP/SP CASE BV_CE_HOTKNIFE RETURN 1 CASE BV_CE_CARBONRS RETURN 1 // Planes // WWW_ELITASTRAVEL_COM CASE BV_P_DODO RETURN 1 // DLC CASE BV_P_DUSTER RETURN 9 CASE BV_P_SHAMAL RETURN 39 CASE BV_P_CUBAN RETURN 16 CASE BV_P_LUXOR RETURN 50 CASE BV_P_STUNT RETURN 40 CASE BV_P_FROGGER RETURN 30 CASE BV_P_MAVERICK RETURN 7 // Additional MP-only vehicles CASE BV_MP_ANNIHILATOR IF NOT g_sMPTunables.bDISABLE_RANK_LOCK_ANNIHLATOR bLockedForWebsite = TRUE RETURN 37 //1639367 ELSE bLockedForWebsite = FALSE RETURN 1 ENDIF BREAK CASE BV_MP_MAMMATUS RETURN 12 CASE BV_MP_VELUM RETURN 20 // Military // WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM CASE BV_A_RHINO IF NOT g_sMPTunables.bDISABLE_RANK_LOCK_RHINO bLockedForWebsite = TRUE RETURN 70 //1639367 ELSE bLockedForWebsite = FALSE RETURN 1 ENDIF BREAK CASE BV_A_BARRACKS RETURN 10 CASE BV_A_TITAN RETURN 32 CASE BV_A_CARGOBOB RETURN 22 CASE BV_A_BUZZARD IF NOT g_sMPTunables.bDISABLE_RANK_LOCK_BUZZARD bLockedForWebsite = TRUE RETURN 42 ELSE bLockedForWebsite = FALSE RETURN 1 ENDIF BREAK CASE BV_A_CRUSADER RETURN 8 // Additional MP-only vehicles CASE BV_MP_DUMP RETURN 19 CASE BV_MP_AIRBUS RETURN 41 CASE BV_MP_BUS RETURN 41 CASE BV_MP_COACH RETURN 23 CASE BV_MP_JOURNEY RETURN 11 CASE BV_MP_MULE RETURN 13 CASE BV_MP_RENTALBUS RETURN 17 CASE BV_DLC_DUBSTA3 IF g_sMPTunables.bDUBSTA_RANKLOCK bLockedForWebsite = TRUE RETURN 100 ELSE bLockedForWebsite = FALSE RETURN 1 ENDIF BREAK // Boats // WWW_DOCKTEASE_COM CASE BV_B_MARINA RETURN 1 // Not listed CASE BV_B_MARQUIS RETURN 48 CASE BV_B_JETMAX RETURN 17 CASE BV_B_SPEEDER RETURN 1 // DLC CASE BV_B_SQUALO RETURN 23 CASE BV_B_SUNDECK RETURN 1 // Not listed CASE BV_B_TROPIC RETURN 16 CASE BV_B_SEASHARK RETURN 5 CASE BV_B_SUBMERSIBLE RETURN 1 // DLC CASE BV_B_SUNTRAP RETURN 38 // Bikes // WWW_PANDMCYCLES_COM CASE BV_C_BMX RETURN 9 CASE BV_C_SCORCHER RETURN 13 CASE BV_C_WHIPPET RETURN 19 CASE BV_C_ENDUREX RETURN 18 CASE BV_C_TRICYCLE RETURN 17 CASE BV_C_CRUISER RETURN 5 // Cars - Super Autos // WWW_SOUTHERNSANANDREASSUPERAUTOS_COM CASE BV_C_AKUMA RETURN 12 CASE BV_C_BALLER2 RETURN 12 CASE BV_C_BATI RETURN 18 CASE BV_MP_BATI2 RETURN 18 CASE BV_C_BFINJECTION RETURN 7 CASE BV_MP_BISON RETURN 14 CASE BV_C_BLAZER RETURN 15 CASE BV_C_CAVALCADE RETURN 14 CASE BV_C_DILETTANTE RETURN 10 CASE BV_MP_DOUBLE RETURN 11 CASE BV_C_FAGGIO2 RETURN 5 CASE BV_C_FELON RETURN 21 CASE BV_MP_FELON2 RETURN 21 CASE BV_C_FUGITIVE RETURN 17 CASE BV_C_GAUNTLET RETURN 13 CASE BV_MP_HEXER RETURN 15 CASE BV_C_ISSI2 RETURN 5 CASE BV_C_ORACLE2 RETURN 9 CASE BV_C_PCJ RETURN 8 CASE BV_C_ROCOTO RETURN 11 CASE BV_C_RUFFIAN RETURN 10 CASE BV_C_SANCHEZ RETURN 6 CASE BV_C_SANDKING RETURN 15 CASE BV_C_SCHWARZER RETURN 15 CASE BV_MP_STRETCH RETURN 34 CASE BV_C_VADER RETURN 7 CASE BV_C_VIGERO RETURN 6 CASE BV_C_ZION RETURN 14 CASE BV_MP_ZION2 RETURN 14 ENDSWITCH CDEBUG3LN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_UNLOCK_RANK returning default rank 1 for ", GET_LABEL_BUYABLE_VEHICLE(sbv)) // fallthrough RETURN 1 ENDFUNC /// PURPOSE: /// Returns uses model name to find the buyable vehicle id FUNC SITE_BUYABLE_VEHICLE GET_WEBSITE_BUYABLE_VEHICLE_FROM_MODEL(MODEL_NAMES vehModel) SWITCH vehModel // Cars - Legendary Motorsport CASE ZTYPE RETURN BV_C_ZTYPE CASE STINGER RETURN BV_C_STINGER CASE JB700 RETURN BV_C_JB700 CASE CHEETAH RETURN BV_C_CHEETAH CASE ENTITYXF RETURN BV_C_ENTITYXF CASE ADDER RETURN BV_C_VENEM CASE MONROE RETURN BV_C_MONROE CASE COGCABRIO RETURN BV_C_COGCABRIO // Planes CASE SHAMAL RETURN BV_P_SHAMAL CASE STUNT RETURN BV_P_STUNT CASE CUBAN800 RETURN BV_P_CUBAN CASE DUSTER RETURN BV_P_DUSTER CASE LUXOR RETURN BV_P_LUXOR CASE FROGGER RETURN BV_P_FROGGER CASE MAVERICK RETURN BV_P_MAVERICK // Military CASE RHINO RETURN BV_A_RHINO CASE TITAN RETURN BV_A_TITAN CASE CARGOBOB RETURN BV_A_CARGOBOB CASE BUZZARD RETURN BV_A_BUZZARD CASE CRUSADER RETURN BV_A_CRUSADER CASE BARRACKS RETURN BV_A_BARRACKS // Boats CASE MARQUIS RETURN BV_B_MARQUIS CASE JETMAX RETURN BV_B_JETMAX CASE SQUALO RETURN BV_B_SQUALO CASE TROPIC RETURN BV_B_TROPIC CASE SEASHARK RETURN BV_B_SEASHARK CASE SUBMERSIBLE RETURN BV_B_SUBMERSIBLE CASE SUNTRAP RETURN BV_B_SUNTRAP CASE TUG RETURN BV_EX_TUG // Bikes CASE BMX RETURN BV_C_BMX CASE SCORCHER RETURN BV_C_SCORCHER CASE TRIBIKE RETURN BV_C_WHIPPET CASE TRIBIKE2 RETURN BV_C_ENDUREX CASE TRIBIKE3 RETURN BV_C_TRICYCLE CASE CRUISER RETURN BV_C_CRUISER // Cars - Super Autos CASE SCHWARZER RETURN BV_C_SCHWARZER CASE ZION RETURN BV_C_ZION CASE GAUNTLET RETURN BV_C_GAUNTLET CASE VIGERO RETURN BV_C_VIGERO CASE ISSI2 RETURN BV_C_ISSI2 CASE INFERNUS RETURN BV_C_INFERNUS CASE SURANO RETURN BV_C_SURANO CASE VACCA RETURN BV_C_VACCA CASE NINEF RETURN BV_C_NINEF CASE COMET2 RETURN BV_C_COMET2 CASE BANSHEE RETURN BV_C_BANSHEE CASE FELTZER2 RETURN BV_C_FELTZER2 CASE BFINJECTION RETURN BV_C_BFINJECTION CASE SANDKING RETURN BV_C_SANDKING CASE FUGITIVE RETURN BV_C_FUGITIVE CASE DILETTANTE RETURN BV_C_DILETTANTE CASE SUPERD RETURN BV_C_SUPERD CASE EXEMPLAR RETURN BV_C_EXEMPLAR CASE BALLER2 RETURN BV_C_BALLER2 CASE CAVALCADE RETURN BV_C_CAVALCADE CASE ROCOTO RETURN BV_C_ROCOTO CASE FELON RETURN BV_C_FELON CASE ORACLE2 RETURN BV_C_ORACLE2 CASE BATI RETURN BV_C_BATI CASE AKUMA RETURN BV_C_AKUMA CASE RUFFIAN RETURN BV_C_RUFFIAN CASE VADER RETURN BV_C_VADER CASE BLAZER RETURN BV_C_BLAZER CASE PCJ RETURN BV_C_PCJ CASE SANCHEZ RETURN BV_C_SANCHEZ CASE FAGGIO2 RETURN BV_C_FAGGIO2 // Extra MP vehicles CASE AIRBUS RETURN BV_MP_AIRBUS CASE ANNIHILATOR RETURN BV_MP_ANNIHILATOR CASE BATI2 RETURN BV_MP_BATI2 CASE BISON RETURN BV_MP_BISON CASE BULLET RETURN BV_MP_BULLET CASE BUS RETURN BV_MP_BUS CASE CARBONIZZARE RETURN BV_MP_CARBONIZZARE CASE COACH RETURN BV_MP_COACH CASE COQUETTE RETURN BV_MP_COQUETTE CASE DOUBLE RETURN BV_MP_DOUBLE CASE DUMP RETURN BV_MP_DUMP CASE FELON2 RETURN BV_MP_FELON2 CASE HEXER RETURN BV_MP_HEXER CASE JOURNEY RETURN BV_MP_JOURNEY CASE MAMMATUS RETURN BV_MP_MAMMATUS CASE MULE RETURN BV_MP_MULE CASE NINEF2 RETURN BV_MP_NINEF2 CASE RAPIDGT RETURN BV_MP_RAPIDGT CASE RAPIDGT2 RETURN BV_MP_RAPIDGT2 CASE RENTALBUS RETURN BV_MP_RENTALBUS CASE STINGERGT RETURN BV_MP_STINGERGT CASE STRETCH RETURN BV_MP_STRETCH CASE VELUM RETURN BV_MP_VELUM CASE VOLTIC RETURN BV_MP_VOLTIC CASE ZION2 RETURN BV_MP_ZION2 // Social Club sign-up vehicle CASE ELEGY2 RETURN BV_SC_ELEGY2 // Collector edition MP only vehicle CASE KHAMELION RETURN BV_CE_KHAMELION // Collector edition SP/MP vehicles CASE HOTKNIFE RETURN BV_CE_HOTKNIFE CASE CARBONRS RETURN BV_CE_CARBONRS // MP Beach CASE BODHI2 RETURN BV_MP_BODHI2 CASE DUNE RETURN BV_MP_DUNE CASE REBEL RETURN BV_MP_REBEL CASE SADLER RETURN BV_MP_SADLER CASE SANCHEZ2 RETURN BV_MP_SANCHEZ2 CASE SANDKING2 RETURN BV_MP_SANDKINGSWB // MP Business CASE ASEA RETURN BV_MP_ASEA CASE ASTEROPE RETURN BV_MP_ASTEROPE CASE BOBCATXL RETURN BV_MP_BOBCATXL CASE CAVALCADE2 RETURN BV_MP_CAVALCADE2 CASE GRANGER RETURN BV_MP_GRANGER CASE INGOT RETURN BV_MP_INGOT CASE INTRUDER RETURN BV_MP_INTRUDER CASE MINIVAN RETURN BV_MP_MINIVAN CASE PREMIER RETURN BV_MP_PREMIER CASE RADI RETURN BV_MP_RADIUS CASE RANCHERXL RETURN BV_MP_RANCHERXL CASE RATLOADER RETURN BV_MP_RATLOADER CASE STANIER RETURN BV_MP_STANIER CASE STRATUM RETURN BV_MP_STRATUM CASE WASHINGTON RETURN BV_MP_WASHINGTON // MP High Life CASE DOMINATOR RETURN BV_MP_DOMINATOR CASE F620 RETURN BV_MP_F620 CASE FUSILADE RETURN BV_MP_FUSILADE CASE PENUMBRA RETURN BV_MP_PENUMBRA CASE SENTINEL RETURN BV_MP_SENTINEL CASE SENTINEL2 RETURN BV_MP_SENTINEL2 // MP Hipster CASE PICADOR RETURN BV_MP_PICADOR CASE REGINA RETURN BV_MP_REGINA CASE SURFER RETURN BV_MP_SURFER CASE YOUGA RETURN BV_MP_YOUGA CASE BLAZER3 RETURN BV_MP_BLAZER3 CASE REBEL2 RETURN BV_MP_REBEL2 CASE PRIMO RETURN BV_MP_PRIMO CASE BUFFALO RETURN BV_MP_BUFFALO CASE BUFFALO2 RETURN BV_MP_BUFFALO2 CASE TAILGATER RETURN BV_MP_TAILGATER ENDSWITCH // DLC checks // Beach Bum pack IF vehModel = bifta RETURN BV_DLC_BIFTA ELIF vehModel = kalahari RETURN BV_DLC_KALAHARI ELIF vehModel = paradise RETURN BV_DLC_PARADISE ELIF vehModel = speeder RETURN BV_DLC_SPEEDER // Valentines pack ELIF vehModel = INT_TO_ENUM(MODEL_NAMES, HASH("roosevelt")) OR vehModel = BTYPE RETURN BV_DLC_ROOSEVELT // Business pack ELIF vehModel = jester RETURN BV_DLC_JESTER ELIF vehModel = massacro RETURN BV_DLC_MASSACRO ELIF vehModel = turismor RETURN BV_DLC_TURISMO ELIF vehModel = zentorno RETURN BV_DLC_ZENTORNO ELIF vehModel = huntley RETURN BV_DLC_HUNTLEY ELIF vehModel = alpha RETURN BV_DLC_ALPHA ELIF vehModel = vestra RETURN BV_DLC_VESTRA ELIF vehModel = coquette RETURN BV_DLC_COQUETTE_TOPLESS ELIF vehModel = banshee RETURN BV_C_BANSHEE_TOPLESS ELIF vehModel = stinger RETURN BV_DLC_STINGER_TOPLESS ELIF vehModel = voltic RETURN BV_DLC_VOLTIC_HARDTOP ELIF vehModel = thrust RETURN BV_DLC_THRUST // Hipster pack ELIF vehModel = blade RETURN BV_DLC_BLADE ELIF vehModel = warrener RETURN BV_DLC_WARRENER ELIF vehModel = glendale RETURN BV_DLC_GLENDALE ELIF vehModel = rhapsody RETURN BV_DLC_RHAPSODY ELIF vehModel = panto RETURN BV_DLC_PANTO ELIF vehModel = dubsta3 RETURN BV_DLC_DUBSTA3 ELIF vehModel = pigalle RETURN BV_DLC_PIGALLE // Independence pack ELIF vehModel = MONSTER RETURN BV_MP_LIBERATOR ELIF vehModel = SOVEREIGN RETURN BV_MP_SOVEREIGN // Pilot School pack ELIF vehModel = MILJET RETURN BV_DLC_MILJET ELIF vehModel = BESRA RETURN BV_DLC_BESRA ELIF vehModel = SWIFT RETURN BV_DLC_SWIFT ELIF vehModel = COQUETTE2 RETURN BV_MP_COQUETTE2 ELIF vehModel = COQUETTE2 RETURN BV_MP_COQUETTE2_TOPLESS // LTS pack ELIF vehModel = INNOVATION RETURN BV_DLC_INNOVATION ELIF vehModel = HAKUCHOU RETURN BV_DLC_HAKUCHOU ELIF vehModel = FUROREGT RETURN BV_DLC_FUROREGT ELIF vehModel = KALAHARI RETURN BV_DLC_KALAHARI_TOPLESS // Heist vehicles ELIF vehModel = VALKYRIE RETURN BV_DLC_VALKYRIE ELIF vehModel = HYDRA RETURN BV_DLC_HYDRA ELIF vehModel = SAVAGE RETURN BV_DLC_SAVAGE ELIF vehModel = ENDURO RETURN BV_DLC_ENDURO ELIF vehModel = BOXVILLE4 RETURN BV_DLC_BOXVILLE4 ELIF vehModel = CASCO RETURN BV_DLC_CASCO ELIF vehModel = DINGHY3 RETURN BV_DLC_DINGHY3 ELIF vehModel = GBURRITO2 RETURN BV_DLC_GBURRITO2 ELIF vehModel = GUARDIAN RETURN BV_DLC_GUARDIAN ELIF vehModel = INSURGENT RETURN BV_DLC_INSURGENT ELIF vehModel = MULE3 RETURN BV_DLC_MULE3 ELIF vehModel = INSURGENT2 RETURN BV_DLC_INSURGENT2 ELIF vehModel = LECTRO RETURN BV_DLC_LECTRO ELIF vehModel = PBUS RETURN BV_DLC_PBUS ELIF vehModel = TECHNICAL RETURN BV_DLC_TECHNICAL ELIF vehModel = VELUM2 RETURN BV_DLC_VELUM2 ELIF vehModel = GRESLEY RETURN BV_MP_GRESLEY ELIF vehModel = JACKAL RETURN BV_MP_JACKAL ELIF vehModel = KURUMA RETURN BV_DLC_KURUMA ELIF vehModel = KURUMA2 RETURN BV_DLC_KURUMA2 ELIF vehModel = LANDSTALKER RETURN BV_MP_LANDSTALKER ELIF vehModel = MESA3 RETURN BV_MP_MESA3 ELIF vehModel = NEMESIS RETURN BV_MP_NEMESIS ELIF vehModel = ORACLE RETURN BV_MP_ORACLE ELIF vehModel = RUMPO RETURN BV_MP_RUMPO ELIF vehModel = SCHAFTER2 RETURN BV_MP_SCHAFTER2 ELIF vehModel = SEMINOLE RETURN BV_MP_SEMINOLE ELIF vehModel = SURGE RETURN BV_MP_SURGE #IF IS_NEXTGEN_BUILD ELIF vehModel = DODO RETURN BV_NG_DODO ELIF vehModel = MARSHALL RETURN BV_NG_MARSHALL ELIF vehModel = SUBMERSIBLE2 RETURN BV_NG_SUBMERSIBLE2 ELIF vehModel = BLISTA2 RETURN BV_NG_BLISTA2 ELIF vehModel = STALION RETURN BV_NG_STALION ELIF vehModel = DUKES RETURN BV_NG_DUKES ELIF vehModel = DUKES2 RETURN BV_NG_DUKES2 ELIF vehModel = STALION2 RETURN BV_NG_STALION2 ELIF vehModel = DOMINATOR2 RETURN BV_NG_DOMINATOR2 ELIF vehModel = GAUNTLET2 RETURN BV_NG_GAUNTLET2 ELIF vehModel = BUFFALO3 RETURN BV_NG_BUFFALO3 #ENDIF ELIF vehModel = SLAMVAN RETURN BV_DLC_SLAMVAN ELIF vehModel = RATLOADER2 RETURN BV_DLC_RATLOADER2 ELIF vehModel = JESTER2 RETURN BV_DLC_JESTER2 ELIF vehModel = MASSACRO2 RETURN BV_DLC_MASSACRO2 ELIF vehModel = FELTZER3 RETURN BV_LX_FELTZER3 ELIF vehModel = LUXOR2 RETURN BV_LX_LUXOR2 ELIF vehModel = OSIRIS RETURN BV_LX_OSIRIS ELIF vehModel = SWIFT2 RETURN BV_LX_SWIFT2 ELIF vehModel = VIRGO RETURN BV_LX_VIRGO ELIF vehModel = WINDSOR RETURN BV_LX_WINDSOR ELIF vehModel = BRAWLER RETURN BV_L2_BRAWLER ELIF vehModel = CHINO RETURN BV_L2_CHINO ELIF vehModel = COQUETTE3 RETURN BV_L2_COQUETTE3 ELIF vehModel = T20 RETURN BV_L2_T20 ELIF vehModel = TORO RETURN BV_L2_TORO ELIF vehModel = VINDICATOR RETURN BV_L2_VINDICATOR ELIF vehModel = PRIMO RETURN BV_S1_PRIMO ELIF vehModel = MOONBEAM RETURN BV_S1_MOONBEAM ELIF vehModel = FACTION RETURN BV_S1_FACTION ELIF vehModel = BUCCANEER RETURN BV_S1_BUCCANEER ELIF vehModel = VOODOO2 RETURN BV_S1_VOODOO2 ELIF vehModel = BTYPE2 RETURN BV_HA_BTYPE2 ELIF vehModel = LURCHER RETURN BV_HA_LURCHER ELIF vehModel = MINIVAN RETURN BV_MP_MINIVAN ELIF vehModel = VIRGO3 RETURN BV_S2_VIRGO3 ELIF vehModel = TORNADO RETURN BV_S2_TORNADO ELIF vehModel = SABREGT RETURN BV_S2_SABREGT ELIF vehModel = SLAMVAN RETURN BV_DLC_SLAMVAN ELIF vehModel = FACTION RETURN BV_S2_FACTION_DONK ELIF vehModel = BALLER3 OR vehModel = BALLER5 RETURN BV_AP_BALLER3 ELIF vehModel = BALLER4 OR vehModel = BALLER6 RETURN BV_AP_BALLER4 ELIF vehModel = COG55 RETURN BV_AP_COG55 ELIF vehModel = COGNOSCENTI RETURN BV_AP_COGNOSCENTI ELIF vehModel = LIMO2 RETURN BV_AP_LIMO2 ELIF vehModel = MAMBA RETURN BV_AP_MAMBA ELIF vehModel = NIGHTSHADE RETURN BV_AP_NIGHTSHADE ELIF vehModel = SCHAFTER3 OR vehModel = SCHAFTER5 RETURN BV_AP_SCHAFTER3 ELIF vehModel = SCHAFTER4 OR vehModel = SCHAFTER6 RETURN BV_AP_SCHAFTER4 ELIF vehModel = VERLIERER2 RETURN BV_AP_VERLIERER2 ELIF vehModel = SUPERVOLITO RETURN BV_AP_SUPERVOLITO1 ELIF vehModel = SUPERVOLITO2 RETURN BV_AP_SUPERVOLITO2 ELIF vehModel = eDLC_BIG_YACHT_MODEL RETURN BV_DLC_BIG_YACHT ELIF vehModel = TAMPA RETURN BV_X3_TAMPA ELIF vehModel = SULTAN RETURN BV_JA_SULTAN ELIF vehModel = BANSHEE RETURN BV_C_BANSHEE ELIF vehModel = INT_TO_ENUM(MODEL_NAMES, HASH("roosevelt2")) OR vehModel = BTYPE3 RETURN BV_V2_ROOSEVELT2 ELIF vehModel = VOLATUS RETURN BV_EX_VOLATUS ELIF vehModel = CARGOBOB2 RETURN BV_EX_CARGOBOB2 ELIF vehModel = RUMPO3 RETURN BV_EX_RUMPO3 ELIF vehModel = BRICKADE RETURN BV_EX_BRICKADE ELIF vehModel = NIMBUS RETURN BV_EX_NIMBUS ELIF vehModel = WINDSOR2 RETURN BV_EX_WINDSOR2 ELIF vehModel = PROTOTIPO RETURN BV_EX_PROTOTIPO ELIF vehModel = FMJ RETURN BV_EX_FMJ ELIF vehModel = BESTIAGTS RETURN BV_EX_BESTIAGTS ELIF vehModel = XLS OR vehModel = XLS2 RETURN BV_EX_XLS ELIF vehModel = SEVEN70 RETURN BV_EX_SEVEN70 ELIF vehModel = PFISTER811 RETURN BV_EX_PFISTER811 ELIF vehModel = REAPER RETURN BV_EX_REAPER ELIF vehModel = LE7B RETURN BV_ST_LE7B ELIF vehModel = OMNIS RETURN BV_ST_OMNIS ELIF vehModel = TROPOS RETURN BV_ST_TROPOS ELIF vehModel = BRIOSO RETURN BV_ST_BRIOSO ELIF vehModel = TROPHYTRUCK RETURN BV_ST_TROPHYTRUCK ELIF vehModel = TROPHYTRUCK2 RETURN BV_ST_TROPHYTRUCK2 ELIF vehModel = CONTENDER RETURN BV_ST_CONTENDER ELIF vehModel = CLIFFHANGER RETURN BV_ST_CLIFFHANGER ELIF vehModel = BF400 RETURN BV_ST_BF400 ELIF vehModel = TYRUS RETURN BV_ST_TYRUS ELIF vehModel = LYNX RETURN BV_ST_LYNX ELIF vehModel = SHEAVA RETURN BV_ST_SHEAVA ELIF vehModel = RALLYTRUCK RETURN BV_ST_RALLYTRUCK ELIF vehModel = TAMPA2 RETURN BV_ST_TAMPA2 ELIF vehModel = GARGOYLE RETURN BV_ST_GARGOYLE ELIF vehModel = BAGGER RETURN BV_BI_BAGGER ELIF vehModel = ESSKEY RETURN BV_BI_ESSKEY ELIF vehModel = NIGHTBLADE RETURN BV_BI_NIGHTBLADE ELIF vehModel = DEFILER RETURN BV_BI_DEFILER ELIF vehModel = AVARUS RETURN BV_BI_AVARUS ELIF vehModel = ZOMBIEA RETURN BV_BI_ZOMBIEA ELIF vehModel = ZOMBIEB RETURN BV_BI_ZOMBIEB ELIF vehModel = CHIMERA RETURN BV_BI_CHIMERA ELIF vehModel = DAEMON2 RETURN BV_BI_DAEMON2 ELIF vehModel = RATBIKE RETURN BV_BI_RATBIKE ELIF vehModel = SHOTARO RETURN BV_BI_SHOTARO ELIF vehModel = RAPTOR RETURN BV_BI_RAPTOR ELIF vehModel = HAKUCHOU2 RETURN BV_BI_HAKUCHOU2 ELIF vehModel = BLAZER4 RETURN BV_BI_BLAZER4 ELIF vehModel = SANCTUS RETURN BV_BI_SANCTUS ELIF vehModel = VORTEX RETURN BV_BI_VORTEX ELIF vehModel = MANCHEZ RETURN BV_BI_MANCHEZ ELIF vehModel = TORNADO6 RETURN BV_BI_TORNADO6 ELIF vehModel = YOUGA2 RETURN BV_BI_YOUGA2 ELIF vehModel = WOLFSBANE RETURN BV_BI_WOLFSBANE ELIF vehModel = FAGGIO3 RETURN BV_BI_FAGGIO3 ELIF vehModel = FAGGIO RETURN BV_BI_FAGGIO ELIF vehModel = DUNE5 RETURN BV_IE_DUNE5 ELIF vehModel = PHANTOM2 RETURN BV_IE_PHANTOM2 ELIF vehModel = TECHNICAL2 RETURN BV_IE_TECHNICAL2 ELIF vehModel = BLAZER5 RETURN BV_IE_BLAZER5 ELIF vehModel = BOXVILLE5 RETURN BV_IE_BOXVILLE5 ELIF vehModel = WASTELANDER RETURN BV_IE_WASTELANDER ELIF vehModel = RUINER2 RETURN BV_IE_RUINER2 ELIF vehModel = VOLTIC2 RETURN BV_IE_VOLTIC2 ELIF vehModel = PENETRATOR RETURN BV_IE_PENETRATOR ELIF vehModel = TEMPESTA RETURN BV_IE_TEMPESTA ELIF vehModel = ITALIGTB RETURN BV_IE_ITALIGTB ELIF vehModel = NERO RETURN BV_IE_NERO ELIF vehModel = DIABLOUS RETURN BV_IE_DIABLOUS ELIF vehModel = FCR RETURN BV_IE_FCR ELIF vehModel = SPECTER RETURN BV_IE_SPECTER ELIF vehModel = GP1 RETURN BV_SR_GP1 ELIF vehModel = INFERNUS2 RETURN BV_SR_INFERNUS2 ELIF vehModel = RUSTON RETURN BV_SR_RUSTON ELIF vehModel = TURISMO2 RETURN BV_SR_TURISMO2 ELIF vehModel = eDLC_BIG_YACHT_MODEL RETURN BV_DLC_BIG_YACHT ELIF vehModel = eDLC_BALLISTIC_EQUIPMENT_MODEL RETURN BV_DLC_BALLISTIC_EQUIPMENT ELIF vehModel = CHEETAH2 RETURN BV_GR_CHEETAH2 ELIF vehModel = TORERO RETURN BV_GR_TORERO ELIF vehModel = VAGNER RETURN BV_GR_VAGNER ELIF vehModel = XA21 RETURN BV_GR_XA21 ELIF vehModel = APC RETURN BV_GR_APC ELIF vehModel = DUNE3 RETURN BV_GR_DUNE3 ELIF vehModel = HALFTRACK RETURN BV_GR_HALFTRACK ELIF vehModel = OPPRESSOR RETURN BV_GR_OPPRESSOR ELIF vehModel = TAMPA3 RETURN BV_GR_TAMPA3 ELIF vehModel = TRAILERSMALL2 RETURN BV_GR_TRAILERSMALL2 ELIF vehModel = ARDENT RETURN BV_GR_ARDENT ELIF vehModel = NIGHTSHARK RETURN BV_GR_NIGHTSHARK ELIF vehModel = LAZER RETURN BV_SM_LAZER ELIF vehModel = MICROLIGHT RETURN BV_SM_MICROLIGHT ELIF vehModel = MOGUL RETURN BV_SM_MOGUL ELIF vehModel = ROGUE RETURN BV_SM_ROGUE ELIF vehModel = STARLING RETURN BV_SM_STARLING ELIF vehModel = SEABREEZE RETURN BV_SM_SEABREEZE ELIF vehModel = TULA RETURN BV_SM_TULA ELIF vehModel = PYRO RETURN BV_SM_PYRO ELIF vehModel = MOLOTOK RETURN BV_SM_MOLOTOK ELIF vehModel = NOKOTA RETURN BV_SM_NOKOTA ELIF vehModel = BOMBUSHKA RETURN BV_SM_BOMBUSHKA ELIF vehModel = HUNTER RETURN BV_SM_HUNTER ELIF vehModel = HAVOK RETURN BV_SM_HAVOK ELIF vehModel = HOWARD RETURN BV_SM_HOWARD ELIF vehModel = ALPHAZ1 RETURN BV_SM_ALPHAZ1 ELIF vehModel = CYCLONE RETURN BV_SM_CYCLONE ELIF vehModel = VISIONE RETURN BV_SM_VISIONE ELIF vehModel = RETINUE RETURN BV_SM_RETINUE ELIF vehModel = RAPIDGT3 RETURN BV_SM_RAPIDGT3 ELIF vehModel = VIGILANTE RETURN BV_SM_VIGILANTE ELIF vehModel = DELUXO RETURN BV_GO_DELUXO ELIF vehModel = STROMBERG RETURN BV_GO_STROMBERG ELIF vehModel = RIOT2 RETURN BV_GO_RIOT2 ELIF vehModel = CHERNOBOG RETURN BV_GO_CHERNOBOG ELIF vehModel = KHANJALI RETURN BV_GO_KHANJALI ELIF vehModel = AKULA RETURN BV_GO_AKULA ELIF vehModel = THRUSTER RETURN BV_GO_THRUSTER ELIF vehModel = BARRAGE RETURN BV_GO_BARRAGE ELIF vehModel = VOLATOL RETURN BV_GO_VOLATOL ELIF vehModel = COMET4 RETURN BV_GO_COMET4 ELIF vehModel = NEON RETURN BV_GO_NEON ELIF vehModel = STREITER RETURN BV_GO_STREITER ELIF vehModel = SENTINEL3 RETURN BV_GO_SENTINEL3 ELIF vehModel = YOSEMITE RETURN BV_GO_YOSEMITE ELIF vehModel = SC1 RETURN BV_GO_SC1 ELIF vehModel = AUTARCH RETURN BV_GO_AUTARCH ELIF vehModel = GT500 RETURN BV_GO_GT500 ELIF vehModel = HUSTLER RETURN BV_GO_HUSTLER ELIF vehModel = REVOLTER RETURN BV_GO_REVOLTER ELIF vehModel = PARIAH RETURN BV_GO_PARIAH ELIF vehModel = RAIDEN RETURN BV_GO_RAIDEN ELIF vehModel = SAVESTRA RETURN BV_GO_SAVESTRA ELIF vehModel = RIATA RETURN BV_GO_RIATA ELIF vehModel = HERMES RETURN BV_GO_HERMES ELIF vehModel = COMET5 RETURN BV_GO_COMET5 ELIF vehModel = Z190 RETURN BV_GO_Z190 ELIF vehModel = VISERIS RETURN BV_GO_VISERIS ELIF vehModel = KAMACHO RETURN BV_GO_KAMACHO ELIF vehModel = GB200 RETURN BV_AR_GB200 ELIF vehModel = FAGALOA RETURN BV_AR_FAGALOA ELIF vehModel = ELLIE RETURN BV_AR_ELLIE ELIF vehModel = ISSI3 RETURN BV_AR_ISSI3 ELIF vehModel = MICHELLI RETURN BV_AR_MICHELLI ELIF vehModel = FLASHGT RETURN BV_AR_FLASHGT ELIF vehModel = HOTRING RETURN BV_AR_HOTRING ELIF vehModel = TEZERACT RETURN BV_AR_TEZERACT ELIF vehModel = TYRANT RETURN BV_AR_TYRANT ELIF vehModel = DOMINATOR3 RETURN BV_AR_DOMINATOR3 ELIF vehModel = TAIPAN RETURN BV_AR_TAIPAN ELIF vehModel = ENTITY2 RETURN BV_AR_ENTITY2 ELIF vehModel = JESTER3 RETURN BV_AR_JESTER3 ELIF vehModel = CHEBUREK RETURN BV_AR_CHEBUREK ELIF vehModel = CARACARA RETURN BV_AR_CARACARA ELIF vehModel = SEASPARROW RETURN BV_AR_SEASPARROW ELIF vehModel = MULE4 RETURN BV_BB_MULE4 ELIF vehModel = POUNDER2 RETURN BV_BB_POUNDER2 ELIF vehModel = SWINGER RETURN BV_BB_SWINGER ELIF vehModel = MENACER RETURN BV_BB_MENACER ELIF vehModel = SCRAMJET RETURN BV_BB_SCRAMJET ELIF vehModel = STRIKEFORCE RETURN BV_BB_STRIKEFORCE ELIF vehModel = OPPRESSOR2 RETURN BV_BB_OPPRESSOR2 ELIF vehModel = PATRIOT2 RETURN BV_BB_PATRIOT2 ELIF vehModel = STAFFORD RETURN BV_BB_STAFFORD ELIF vehModel = FREECRAWLER RETURN BV_BB_FREECRAWLER ELIF vehModel = FUTO RETURN BV_MP_FUTO ELIF vehModel = RUINER RETURN BV_MP_RUINER ELIF vehModel = ROMERO RETURN BV_MP_ROMERO ELIF vehModel = PRAIRIE RETURN BV_MP_PRAIRIE ELIF vehModel = BALLER RETURN BV_MP_BALLER ELIF vehModel = SERRANO RETURN BV_MP_SERRANO ELIF vehModel = BJXL RETURN BV_MP_BJXL ELIF vehModel = HABANERO RETURN BV_MP_HABANERO ELIF vehModel = FQ2 RETURN BV_MP_FQ2 ELIF vehModel = PATRIOT RETURN BV_MP_PATRIOT ELIF vehModel = BLIMP3 RETURN BV_BB_BLIMP3 ELIF vehModel = PBUS2 RETURN BV_BB_PBUS2 ELIF vehModel = CERBERUS RETURN BV_AW_CERBERUS ELIF vehModel = CERBERUS2 RETURN BV_AW_CERBERUS2 ELIF vehModel = CERBERUS3 RETURN BV_AW_CERBERUS3 ELIF vehModel = BRUTUS RETURN BV_AW_BRUTUS ELIF vehModel = BRUTUS2 RETURN BV_AW_BRUTUS2 ELIF vehModel = BRUTUS3 RETURN BV_AW_BRUTUS3 ELIF vehModel = SCARAB RETURN BV_AW_SCARAB ELIF vehModel = SCARAB2 RETURN BV_AW_SCARAB2 ELIF vehModel = SCARAB3 RETURN BV_AW_SCARAB3 ELIF vehModel = IMPERATOR RETURN BV_AW_IMPERATOR ELIF vehModel = IMPERATOR2 RETURN BV_AW_IMPERATOR2 ELIF vehModel = IMPERATOR3 RETURN BV_AW_IMPERATOR3 ELIF vehModel = ZR380 RETURN BV_AW_ZR380 ELIF vehModel = ZR3802 RETURN BV_AW_ZR3802 ELIF vehModel = ZR3803 RETURN BV_AW_ZR3803 ELIF vehModel = IMPALER RETURN BV_AW_IMPALER ELIF vehModel = TAXI RETURN BV_MP_TAXI ELIF vehModel = BULLDOZER RETURN BV_MP_BULLDOZER ELIF vehModel = SPEEDO2 RETURN BV_MP_SPEEDO2 ELIF vehModel = TRASH2 RETURN BV_MP_TRASH2 ELIF vehModel = BARRACKS2 RETURN BV_MP_BARRACKS2 ELIF vehModel = MIXER RETURN BV_MP_MIXER ELIF vehModel = DUNE2 RETURN BV_MP_DUNE2 ELIF vehModel = TRACTOR RETURN BV_MP_TRACTOR ELIF vehModel = BLISTA3 RETURN BV_MP_BLISTA3 ELIF vehModel = VAMOS RETURN BV_AW_VAMOS ELIF vehModel = TULIP RETURN BV_AW_TULIP ELIF vehModel = DEVESTE RETURN BV_AW_DEVESTE ELIF vehModel = SCHLAGEN RETURN BV_AW_SCHLAGEN ELIF vehModel = TOROS RETURN BV_AW_TOROS ELIF vehModel = DEVIANT RETURN BV_AW_DEVIANT ELIF vehModel = CLIQUE RETURN BV_AW_CLIQUE ELIF vehModel = ITALIGTO RETURN BV_AW_ITALIGTO ELIF vehModel = RCBANDITO RETURN BV_AW_RCBANDITO ELIF vehModel = THRAX RETURN BV_CA_THRAX ELIF vehModel = DRAFTER RETURN BV_CA_DRAFTER ELIF vehModel = LOCUST RETURN BV_CA_LOCUST ELIF vehModel = NOVAK RETURN BV_CA_NOVAK ELIF vehModel = ZORRUSSO RETURN BV_CA_ZORRUSSO ELIF vehModel = GAUNTLET3 RETURN BV_CA_GAUNTLET3 ELIF vehModel = ISSI7 RETURN BV_CA_ISSI7 ELIF vehModel = ZION3 RETURN BV_CA_ZION3 ELIF vehModel = NEBULA RETURN BV_CA_NEBULA ELIF vehModel = HELLION RETURN BV_CA_HELLION ELIF vehModel = DYNASTY RETURN BV_CA_DYNASTY ELIF vehModel = RROCKET RETURN BV_CA_RROCKET ELIF vehModel = PEYOTE2 RETURN BV_CA_PEYOTE2 ELIF vehModel = GAUNTLET4 RETURN BV_CA_GAUNTLET4 ELIF vehModel = CARACARA2 RETURN BV_CA_CARACARA2 ELIF vehModel = JUGULAR RETURN BV_CA_JUGULAR ELIF vehModel = S80 RETURN BV_CA_S80 ELIF vehModel = KRIEGER RETURN BV_CA_KRIEGER ELIF vehModel = EMERUS RETURN BV_CA_EMERUS ELIF vehModel = NEO RETURN BV_CA_NEO ELIF vehModel = PARAGON RETURN BV_CA_PARAGON #IF FEATURE_CASINO_HEIST ELIF vehModel = FIRETRUK RETURN BV_CH_FIRETRUK ELIF vehModel = BURRITO2 RETURN BV_CH_BURRITO2 ELIF vehModel = BOXVILLE RETURN BV_CH_BOXVILLE ELIF vehModel = STOCKADE RETURN BV_CH_STOCKADE ELIF vehModel = LGUARD RETURN BV_CH_LGUARD ELIF vehModel = BLAZER2 RETURN BV_CH_BLAZER2 ELIF vehModel = JB7002 RETURN BV_CH_JB7002 ELIF vehModel = ZHABA RETURN BV_CH_ZHABA ELIF vehModel = MINITANK RETURN BV_CH_MINITANK ELIF vehModel = STRYDER RETURN BV_CH_STRYDER ELIF vehModel = VSTR RETURN BV_CH_VSTR ELIF vehModel = FORMULA RETURN BV_CH_FORMULA ELIF vehModel = IMORGON RETURN BV_CH_IMORGON ELIF vehModel = FORMULA2 RETURN BV_CH_FORMULA2 ELIF vehModel = FURIA RETURN BV_CH_FURIA ELIF vehModel = REBLA RETURN BV_CH_REBLA ELIF vehModel = VAGRANT RETURN BV_CH_VAGRANT ELIF vehModel = RETINUE2 RETURN BV_CH_RETINUE2 ELIF vehModel = YOSEMITE2 RETURN BV_CH_YOSEMITE2 ELIF vehModel = KOMODA RETURN BV_CH_KOMODA ELIF vehModel = SULTAN2 RETURN BV_CH_SULTAN2 ELIF vehModel = SUGOI RETURN BV_CH_SUGOI ELIF vehModel = EVERON RETURN BV_CH_EVERON ELIF vehModel = ASBO RETURN BV_CH_ASBO ELIF vehModel = KANJO RETURN BV_CH_KANJO ELIF vehModel = OUTLAW RETURN BV_CH_OUTLAW #ENDIF // #IF FEATURE_COPS_N_CROOKS // ELIF vehModel = SURFER3 // RETURN BV_CNC_SURFER3 // ELIF vehModel = ZOKU // RETURN BV_CNC_ZOKU // ELIF vehModel = POLBATI // RETURN BV_CNC_POLBATI // ELIF vehModel = POLBUFFALO // RETURN BV_CNC_POLBUFFALO // ELIF vehModel = POLGAUNTLET // RETURN BV_CNC_POLGAUNTLET // ELIF vehModel = POLGRANGER // RETURN BV_CNC_POLGRANGER // ELIF vehModel = POLICE5 // RETURN BV_CNC_POLICE5 // ELIF vehModel = POLICE6 // RETURN BV_CNC_POLICE6 // ELIF vehModel = POLICEB2 // RETURN BV_CNC_POLICEB2 // ELIF vehModel = POLICET2 // RETURN BV_CNC_POLICET2 // ELIF vehModel = POLPANTO // RETURN BV_CNC_POLPANTO // ELIF vehModel = POLCARACARA // RETURN BV_CNC_POLCARACARA // ELIF vehModel = POLRIATA // RETURN BV_CNC_POLRIATA // ELIF vehModel = POLGREENWOOD // RETURN BV_CNC_POLGREENWOOD // #ENDIF // Summer Pack 2020 ELIF vehModel = CLUB RETURN BV_SUM_CLUB ELIF vehModel = DUKES3 RETURN BV_SUM_DUKES3 ELIF vehModel = YOSEMITE3 RETURN BV_SUM_YOSEMITE3 ELIF vehModel = PENUMBRA2 RETURN BV_SUM_PENUMBRA2 ELIF vehModel = LANDSTALKER2 RETURN BV_SUM_LANDSTALKER2 ELIF vehModel = SEMINOLE2 RETURN BV_SUM_SEMINOLE2 ELIF vehModel = TIGON RETURN BV_SUM_TIGON ELIF vehModel = OPENWHEEL1 RETURN BV_SUM_OPENWHEEL1 ELIF vehModel = OPENWHEEL2 RETURN BV_SUM_OPENWHEEL2 ELIF vehModel = COQUETTE4 RETURN BV_SUM_COQUETTE4 ELIF vehModel = PEYOTE RETURN BV_SUM_PEYOTE ELIF vehModel = MANANA RETURN BV_SUM_MANANA // Island Heist Pack ELIF vehModel = GET_SUBMARINE_MODEL() RETURN BV_IH_KOSATKA ELIF vehModel = ITALIRSX RETURN BV_IH_ITALIRSX ELIF vehModel = SLAMTRUCK RETURN BV_IH_SLAMTRUCK ELIF vehModel = BRIOSO2 RETURN BV_IH_BRIOSO2 ELIF vehModel = WEEVIL RETURN BV_IH_WEEVIL ELIF vehModel = ALKONOST RETURN BV_IH_ALKONOST ELIF vehModel = ANNIHILATOR2 RETURN BV_IH_ANNIHILATOR2 // ELIF vehModel = AVISA // RETURN BV_IH_AVISA ELIF vehModel = DINGHY5 RETURN BV_IH_DINGHY5 ELIF vehModel = MANCHEZ2 RETURN BV_IH_MANCHEZ2 ELIF vehModel = PATROLBOAT RETURN BV_IH_PATROLBOAT // ELIF vehModel = SEASPARROW2 // RETURN BV_IH_SEASPARROW2 ELIF vehModel = SQUADDIE RETURN BV_IH_SQUADDIE ELIF vehModel = TOREADOR RETURN BV_IH_TOREADOR ELIF vehModel = VERUS RETURN BV_IH_VERUS ELIF vehModel = VETIR RETURN BV_IH_VETIR ELIF vehModel = WINKY RETURN BV_IH_WINKY ELIF vehModel = LONGFIN RETURN BV_IH_LONGFIN ELIF vehModel = VETO RETURN BV_IH_VETO ELIF vehModel = VETO2 RETURN BV_IH_VETO2 ELIF vehModel = CALICO RETURN BV_TU_CALICO ELIF vehModel = COMET6 RETURN BV_TU_COMET6 ELIF vehModel = CYPHER RETURN BV_TU_CYPHER ELIF vehModel = DOMINATOR7 RETURN BV_TU_DOMINATOR7 ELIF vehModel = JESTER4 RETURN BV_TU_JESTER4 ELIF vehModel = REMUS RETURN BV_TU_REMUS ELIF vehModel = VECTRE RETURN BV_TU_VECTRE ELIF vehModel = ZR350 RETURN BV_TU_ZR350 ELIF vehModel = WARRENER2 RETURN BV_TU_WARRENER2 ELIF vehModel = RT3000 RETURN BV_TU_RT3000 ELIF vehModel = FUTO2 RETURN BV_TU_FUTO2 ELIF vehModel = SULTAN3 RETURN BV_TU_SULTAN3 ELIF vehModel = TAILGATER2 RETURN BV_TU_TAILGATER2 ELIF vehModel = DOMINATOR8 RETURN BV_TU_DOMINATOR8 ELIF vehModel = EUROS RETURN BV_TU_EUROS ELIF vehModel = GROWLER RETURN BV_TU_GROWLER ELIF vehModel = PREVION RETURN BV_TU_PREVION #IF FEATURE_GEN9_EXCLUSIVE ELIF vehModel = S95 RETURN BV_G9E_S95 ELIF vehModel = ARBITERGT RETURN BV_G9E_ARBITERGT ELIF vehModel = ASTRON2 RETURN BV_G9E_ASTRON2 ELIF vehModel = CYCLONE2 RETURN BV_G9E_CYCLONE2 ELIF vehModel = IGNUS2 RETURN BV_G9E_IGNUS2 #ENDIF ELIF vehModel = COMET7 RETURN BV_AGENCY_COMET7 ELIF vehModel = SHINOBI RETURN BV_AGENCY_SHINOBI ELIF vehModel = REEVER RETURN BV_AGENCY_REEVER ELIF vehModel = BALLER7 RETURN BV_AGENCY_BALLER7 ELIF vehModel = CINQUEMILA RETURN BV_AGENCY_CINQUEMILA ELIF vehModel = JUBILEE RETURN BV_AGENCY_JUBILEE ELIF vehModel = ASTRON RETURN BV_AGENCY_ASTRON ELIF vehModel = DEITY RETURN BV_AGENCY_DEITY ELIF vehModel = ZENO RETURN BV_AGENCY_ZENO ELIF vehModel = CHAMPION RETURN BV_AGENCY_CHAMPION ELIF vehModel = IGNUS RETURN BV_AGENCY_IGNUS ELIF vehModel = BUFFALO4 RETURN BV_AGENCY_BUFFALO4 ELIF vehModel = GRANGER2 RETURN BV_AGENCY_GRANGER2 ELIF vehModel = IWAGEN RETURN BV_AGENCY_IWAGEN ELIF vehModel = PATRIOT3 RETURN BV_AGENCY_PATRIOT3 #IF FEATURE_DLC_1_2022 ELIF vehModel = TENF RETURN BV_SUM2_TENF #ENDIF ENDIF #IF NOT IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "GET_WEBSITE_BUYABLE_VEHICLE_FROM_MODEL does not know what the SITE_BUYABLE_VEHICLE enum is for requrested model!") #ENDIF #IF IS_DEBUG_BUILD STRING sVehModelName, sVehType #IF NOT IS_NEXTGEN_BUILD sVehModelName = GET_MODEL_NAME_FOR_DEBUG(vehModel) #ENDIF #IF IS_NEXTGEN_BUILD sVehModelName = GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel) #ENDIF IF IS_MODEL_A_VEHICLE(vehModel) IF IS_THIS_MODEL_A_BICYCLE(vehModel) sVehType = "BICYCLE" ELIF IS_THIS_MODEL_A_BIKE(vehModel) sVehType = "BIKE" ELIF IS_THIS_MODEL_A_BOAT(vehModel) sVehType = "BOAT" ELIF IS_THIS_MODEL_A_CAR(vehModel) sVehType = "CAR" ELIF IS_THIS_MODEL_A_HELI(vehModel) sVehType = "HELI" #IF IS_NEXTGEN_BUILD ELIF IS_THIS_MODEL_A_JETSKI(vehModel) sVehType = "JETSKI" #ENDIF ELIF IS_THIS_MODEL_A_PLANE(vehModel) sVehType = "PLANE" ELIF IS_THIS_MODEL_A_QUADBIKE(vehModel) sVehType = "QUADBIKE" ELIF IS_THIS_MODEL_A_TRAIN(vehModel) sVehType = "TRAIN" ELSE sVehType = "VEHICLE" ENDIF ELSE sVehType = "ENTITY" ENDIF CDEBUG3LN(DEBUG_INTERNET, "GET_WEBSITE_BUYABLE_VEHICLE_FROM_MODEL does not know what the SITE_BUYABLE_VEHICLE \"", sVehModelName, "\" [", vehModel, "] is for requrested ", sVehType, " model!") #ENDIF RETURN UNSET_BUYABLE_VEHICLE ENDFUNC PROC GENERATE_BA_VEHICLE_KEY_FOR_SHOP_CATALOGUE(TEXT_LABEL_63 &tlCatalogueKey, SITE_BUYABLE_VEHICLE eSiteVeh, INT iVariation = 0, INT iAltNum = -1, BOOL bStarterPackItem = FALSE) INT iVehicleIndex = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(eSiteVeh, INT_TO_ENUM(SITE_BUYABLE_VEHICLE_COLOURS, iVariation)) IF iVehicleIndex = -1 tlCatalogueKey = 0 EXIT ENDIF IF eSiteVeh = BV_DLC_BIG_YACHT tlCatalogueKey = ("VE_BIG_YACHT_t0_v0") EXIT ENDIF IF eSiteVeh = BV_DLC_BIG_TRUCK tlCatalogueKey = ("VE_BIG_TRUCK_t0_v0") EXIT ENDIF IF eSiteVeh = BV_DLC_BALLISTIC_EQUIPMENT tlCatalogueKey = ("VE_BALLISTIC_EQUIPMENT_t0_v0") EXIT ENDIF IF eSiteVeh = BV_DLC_BIG_PLANE tlCatalogueKey = ("VE_BIG_PLANE_t0_v0") EXIT ENDIF IF eSiteVeh = BV_DLC_HACKER_TRUCK tlCatalogueKey = ("VE_HACKER_TRUCK_t0_v0") EXIT ENDIF #IF FEATURE_HEIST_ISLAND IF eSiteVeh = BV_IH_KOSATKA tlCatalogueKey = ("VE_KOSATKA_t0_v0") EXIT ENDIF #ENDIF IF eSiteVeh = BV_AW_RCBANDITO tlCatalogueKey = ("VE_RC_BANDITO_t0_v0") EXIT ENDIF TEXT_LABEL_15 tlVehicleName = GET_LABEL_BUYABLE_VEHICLE(eSiteVeh) IF IS_STRING_NULL_OR_EMPTY(tlVehicleName) OR GET_HASH_KEY(tlVehicleName) = HASH("CARNOTFOUND") tlCatalogueKey = 0 EXIT ENDIF MODEL_NAMES eVehicleModel = GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh) IF eVehicleModel = DUMMY_MODEL_FOR_SCRIPT tlCatalogueKey = 0 EXIT ENDIF GENERATE_KEY_FOR_SHOP_CATALOGUE(tlCatalogueKey, tlVehicleName, eVehicleModel, SHOP_TYPE_CARMOD, 1, iVariation, DEFAULT, DEFAULT, TRUE, bStarterPackItem) IF IS_SBV_A_VEHICLE_PREVIOUSLY_LASTGEN_ONLY(eSiteVeh) OR IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(eSiteVeh) #IF FEATURE_CASINO_HEIST OR GET_CH_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh)) != -1 #ENDIF #IF FEATURE_COPS_N_CROOKS OR GET_CNC_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh)) != -1 #ENDIF #IF FEATURE_SUMMER_2020 OR GET_SUMMER20_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh)) != -1 #ENDIF #IF FEATURE_HEIST_ISLAND OR GET_ISLAND_HEIST_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh)) != -1 #ENDIF IF eSiteVeh = BV_NG_MARSHALL IF g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE IF (IS_SBV_A_VEHICLE_PREVIOUSLY_LASTGEN_ONLY(eSiteVeh) AND IS_LAST_GEN_PLAYER()) OR (IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(eSiteVeh) AND NOT IS_BUYABLE_VEHICLE_UNLOCKED(eSiteVeh)) GENERATE_KEY_FOR_SHOP_CATALOGUE(tlCatalogueKey, tlVehicleName, eVehicleModel, SHOP_TYPE_CARMOD, 1, iVariation, 1, DEFAULT, TRUE, bStarterPackItem) ENDIF ENDIF ELSE IF iVariation != 0 GENERATE_KEY_FOR_SHOP_CATALOGUE(tlCatalogueKey, tlVehicleName, eVehicleModel, SHOP_TYPE_CARMOD, 1, iVariation-1, 1, DEFAULT, TRUE, bStarterPackItem) ENDIF ENDIF ELIF eSiteVeh = BV_BB_BLIMP3 GENERATE_KEY_FOR_SHOP_CATALOGUE(tlCatalogueKey, tlVehicleName, eVehicleModel, SHOP_TYPE_CARMOD, 1, iVariation, iAltNum, DEFAULT, TRUE, bStarterPackItem) ELIF eSiteVeh = BV_BB_PBUS2 #IF FEATURE_HEIST_ISLAND OR eSiteVeh = BV_IH_PATROLBOAT OR eSiteVeh = BV_IH_VETIR OR eSiteVeh = BV_IH_LONGFIN OR eSiteVeh = BV_IH_DINGHY5 #ENDIF GENERATE_KEY_FOR_SHOP_CATALOGUE(tlCatalogueKey, tlVehicleName, eVehicleModel, SHOP_TYPE_CARMOD, 1, iVariation, iAltNum, DEFAULT, TRUE, bStarterPackItem) ENDIF ENDPROC FUNC INT GET_BA_VEHICLE_KEY_FOR_CATALOGUE(SITE_BUYABLE_VEHICLE eSiteVeh, INT iVariation = 0, INT iAltNum = -1, BOOL bStarterPackItem = FALSE) TEXT_LABEL_63 tlCategoryKey GENERATE_BA_VEHICLE_KEY_FOR_SHOP_CATALOGUE(tlCategoryKey, eSiteVeh, iVariation, iAltNum, bStarterPackItem) RETURN GET_HASH_KEY(tlCategoryKey) ENDFUNC /// PURPOSE: /// Check whether there is a tunable override price set for this vehicle /// PARAMS: /// veh - vehicle model to check /// iTunable - tunable price value /// RETURNS: /// Price, or -1 if not valid FUNC INT CHECK_DLC_BUYABLE_PRICE(MODEL_NAMES vehModel, INT iTunable, BOOL bAltVersion) TEXT_LABEL_15 tlVehicleName = GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel) SITE_BUYABLE_VEHICLE sbv = GET_WEBSITE_BUYABLE_VEHICLE_FROM_MODEL(vehModel) IF bAltVersion SWITCH sbv CASE BV_DLC_KALAHARI sbv = BV_DLC_KALAHARI_TOPLESS BREAK CASE BV_MP_VOLTIC sbv = BV_DLC_VOLTIC_HARDTOP BREAK CASE BV_C_STINGER sbv = BV_DLC_STINGER_TOPLESS BREAK CASE BV_MP_COQUETTE sbv = BV_DLC_COQUETTE_TOPLESS BREAK CASE BV_MP_COQUETTE2 sbv = BV_MP_COQUETTE2_TOPLESS BREAK CASE BV_C_BANSHEE sbv = BV_C_BANSHEE_TOPLESS BREAK ENDSWITCH ENDIF IF SHOULD_SHOP_SCRIPT_USE_BASKET_SYSTEM() IF IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(sbv) AND bAltVersion SWITCH sbv CASE BV_AP_BALLER3 vehModel = BALLER5 BREAK CASE BV_AP_BALLER4 vehModel = BALLER6 BREAK CASE BV_AP_COG55 vehModel = COG552 BREAK CASE BV_AP_COGNOSCENTI vehModel = COGNOSCENTI2 BREAK CASE BV_AP_SCHAFTER3 vehModel = SCHAFTER5 BREAK CASE BV_AP_SCHAFTER4 vehModel = SCHAFTER6 BREAK CASE BV_EX_XLS vehModel = XLS2 BREAK DEFAULT CPRINTLN(DEBUG_INTERNET, "CHECK_DLC_BUYABLE_PRICE: unknown armouted vehicle ", GET_LABEL_BUYABLE_VEHICLE(sbv)) BREAK ENDSWITCH tlVehicleName = GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel) bAltVersion = FALSE ENDIF INT iVehCatalogueKey = -1 INT iVariation = 0 IF bAltVersion iVariation = 1 ENDIF BOOL bStarterPackItem = FALSE IF IS_SBV_A_VEHICLE_FREE_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK(sbv) IF HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS() bStarterPackItem = TRUE ENDIF ENDIF TEXT_LABEL_63 tlGeneratedKey IF IS_BUYABLE_VEHICLE_SUITABLE_FOR_GARAGE(sbv) iVehCatalogueKey = GET_VEHICLE_KEY_FOR_CATALOGUE(vehModel, bAltVersion, DEFAULT, bStarterPackItem) INT iPriceVariation = GET_VEHICLE_MOD_PRICE_VARIATION_FOR_CATALOGUE(vehModel) GENERATE_KEY_FOR_SHOP_CATALOGUE(tlGeneratedKey, tlVehicleName, vehModel, SHOP_TYPE_CARMOD, iVariation, iPriceVariation, DEFAULT, DEFAULT, DEFAULT, bStarterPackItem) ELSE INT iAltNum = -1 IF sbv = BV_NG_MARSHALL SWITCH g_eLastBuyableVehicleColourSelected CASE BCV_RED_COLOUR iVariation = 0 BREAK //USA CASE BCV_PINK_COLOUR iVariation = 1 BREAK //AUS CASE BCV_YELLOW_COLOUR iVariation = 2 BREAK //BRA CASE BCV_ORANGE_COLOUR iVariation = 3 BREAK //SPA CASE BCV_GREEN_COLOUR iVariation = 4 BREAK //CAN CASE BCV_BLUE_COLOUR iVariation = 5 BREAK //FRA CASE BCV_BLACK_COLOUR iVariation = 6 BREAK //GER CASE BCV_WHITE_COLOUR iVariation = 7 BREAK //JAP CASE BCV_COLOUR_1 iVariation = 8 BREAK //SCO CASE BCV_COLOUR_2 iVariation = 9 BREAK //UK CASE BCV_COLOUR_3 iVariation = 10 BREAK //ITA CASE BCV_COLOUR_4 iVariation = 11 BREAK //SWI CASE BCV_COLOUR_5 iVariation = 12 BREAK //JAM CASE BCV_COLOUR_6 iVariation = 13 BREAK //COL CASE BCV_COLOUR_7 iVariation = 14 BREAK //NOR CASE BCV_COLOUR_8 iVariation = 15 BREAK //SWE CASE BCV_COLOUR_9 iVariation = 16 BREAK //BEL CASE BCV_COLOUR_10 iVariation = 17 BREAK //MEX CASE BCV_COLOUR_11 iVariation = 18 BREAK //AUT CASE BCV_COLOUR_12 iVariation = 19 BREAK //RUS CASE BCV_COLOUR_13 iVariation = 20 BREAK //ARG CASE BCV_COLOUR_14 iVariation = 21 BREAK //TUR CASE BCV_COLOUR_15 iVariation = 22 BREAK //IRE CASE BCV_COLOUR_16 iVariation = 23 BREAK //WAL CASE BCV_COLOUR_17 iVariation = 24 BREAK //ENG ENDSWITCH ELIF sbv = BV_BB_BLIMP3 SWITCH g_eLastBuyableVehicleColourSelected CASE BCV_RED_COLOUR iVariation = 0 BREAK //"BLIMP3_ELT_1" CASE BCV_PINK_COLOUR iVariation = 1 BREAK //"BLIMP3_ELT_2" CASE BCV_YELLOW_COLOUR iVariation = 2 BREAK //"BLIMP3_ELT_3" CASE BCV_ORANGE_COLOUR iVariation = 3 BREAK //"BLIMP3_ELT_4" CASE BCV_GREEN_COLOUR iVariation = 4 BREAK //"BLIMP3_ELT_5" CASE BCV_BLUE_COLOUR iVariation = 5 BREAK //"BLIMP3_ELT_6" CASE BCV_BLACK_COLOUR iVariation = 6 BREAK //"BLIMP3_ELT_7" CASE BCV_WHITE_COLOUR iVariation = 7 BREAK //"BLIMP3_ELT_8" ENDSWITCH IF bAltVersion iAltNum = 1 ENDIF ELIF sbv = BV_BB_PBUS2 SWITCH g_eLastBuyableVehicleColourSelected CASE BCV_RED_COLOUR iVariation = 0 BREAK //"PBUS2_SSA_1" CASE BCV_PINK_COLOUR iVariation = 1 BREAK //"PBUS2_SSA_2" CASE BCV_YELLOW_COLOUR iVariation = 2 BREAK //"PBUS2_SSA_3" CASE BCV_ORANGE_COLOUR iVariation = 3 BREAK //"PBUS2_SSA_4" CASE BCV_GREEN_COLOUR iVariation = 4 BREAK //"PBUS2_SSA_5" CASE BCV_BLUE_COLOUR iVariation = 5 BREAK //"PBUS2_SSA_6" CASE BCV_BLACK_COLOUR iVariation = 6 BREAK //"PBUS2_SSA_7" CASE BCV_WHITE_COLOUR iVariation = 7 BREAK //"PBUS2_SSA_8" CASE BCV_COLOUR_1 iVariation = 8 BREAK //"PBUS2_SSA_9" CASE BCV_COLOUR_2 iVariation = 9 BREAK //"PBUS2_SSA_10" ENDSWITCH IF bAltVersion iAltNum = 1 ENDIF ENDIF iVehCatalogueKey = GET_BA_VEHICLE_KEY_FOR_CATALOGUE(sbv, iVariation, iAltNum, bStarterPackItem) GENERATE_BA_VEHICLE_KEY_FOR_SHOP_CATALOGUE(tlGeneratedKey, sbv, iVariation, iAltNum, bStarterPackItem) ENDIF IF NET_GAMESERVER_CATALOG_ITEM_KEY_IS_VALID(iVehCatalogueKey) INT iVehCataloguePrice = NET_GAMESERVER_GET_PRICE(iVehCatalogueKey, CATEGORY_VEHICLE, 1) IF GET_HASH_KEY(tlGeneratedKey) != iVehCatalogueKey CASSERTLN(DEBUG_INTERNET, "Ignore tunable, catalogue price for \"", tlGeneratedKey, "\" [", tlVehicleName, " [keyhash:", GET_HASH_KEY(tlGeneratedKey), ", iVehCatalogueKey:", iVehCatalogueKey, ", VehCataloguePrice:", iVehCataloguePrice, ", statValue:", vehModel, "], catalogue int: ", GET_CATALOGUE_INT_FOR_VEH_MODEL(vehModel, bAltVersion)) ELIF iVehCataloguePrice = iTunable CPRINTLN(DEBUG_INTERNET, "Matches tunable, catalogue price for \"", tlGeneratedKey, "\" [", tlVehicleName, ", bAltVersion:", bAltVersion, "] is $", iVehCataloguePrice) ELIF iVehCataloguePrice = -1 CPRINTLN(DEBUG_INTERNET, "Ignore tunable, catalogue price for \"", tlGeneratedKey, "\" [", tlVehicleName, ", bAltVersion:", bAltVersion, "] is $", iVehCataloguePrice, ", tunable:NULL") ELSE CPRINTLN(DEBUG_INTERNET, "Ignore tunable, catalogue price for \"", tlGeneratedKey, "\" [", tlVehicleName, ", bAltVersion:", bAltVersion, "] is $", iVehCataloguePrice, ", tunable:$", iTunable) ENDIF RETURN iVehCataloguePrice ELSE INT iPrice = iTunable IF iPrice < 0 VEHICLE_VALUE_DATA sData IF GET_VEHICLE_VALUE(sData, vehModel, bAltVersion) iPrice = sData.iStandardPrice ENDIF ENDIF IF GET_HASH_KEY(tlGeneratedKey) = iVehCatalogueKey CERRORLN(DEBUG_INTERNET, "Invalid key, missing catalog item for \"", tlGeneratedKey, "\" [", tlVehicleName, " [iVehCatalogueKey:", iVehCatalogueKey, ", price:", iPrice, ", statValue:", vehModel, "], catalogue int: ", GET_CATALOGUE_INT_FOR_VEH_MODEL(vehModel, bAltVersion)) ELSE CASSERTLN(DEBUG_INTERNET, "Invalid key, missing catalog item for \"", tlGeneratedKey, "\" [", tlVehicleName, " [keyhash:", GET_HASH_KEY(tlGeneratedKey), ", iVehCatalogueKey:", iVehCatalogueKey, ", price:", iPrice, ", statValue:", vehModel, "], catalogue int: ", GET_CATALOGUE_INT_FOR_VEH_MODEL(vehModel, bAltVersion)) ENDIF RETURN -2 // OUT OF STOCK ENDIF ENDIF IF IS_SBV_A_VEHICLE_FREE_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK(sbv) IF HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS() CPRINTLN(DEBUG_INTERNET, "Tunable for ", tlVehicleName, " [",bAltVersion, "] is ignored, premium pack active - priced FREE") RETURN 0 ENDIF ENDIF IF iTunable < 0 // -1 is the default "unset" value, 0 may be a legit freebie VEHICLE_VALUE_DATA sData IF GET_VEHICLE_VALUE(sData, vehModel, bAltVersion) CDEBUG1LN(DEBUG_INTERNET, "Tunable for ", tlVehicleName, " [",bAltVersion, "] is -1, using fixed price of ", sData.iStandardPrice) RETURN sData.iStandardPrice ENDIF CPRINTLN(DEBUG_INTERNET, "Tunable for ", tlVehicleName, " [",bAltVersion, "] is -1, fixed price not found in GET_VEHICLE_VALUE()") RETURN -1 ELSE CDEBUG1LN(DEBUG_INTERNET, "Tunable for ", tlVehicleName, " [",bAltVersion, "] is ", iTunable) RETURN iTunable ENDIF ENDFUNC /// PURPOSE: /// Returns whether this DLC vehicle is unlocked for current player FUNC BOOL IS_SBV_DLC_UNLOCKED(SITE_BUYABLE_VEHICLE veh) INT iVeh = GET_SBV_DLC_INDEX(veh) IF iVeh = -1 CPRINTLN(DEBUG_INTERNET, "Couldn't get an index for SBV_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN FALSE ENDIF IF GET_NUM_DLC_VEHICLES() <= 0 CPRINTLN(DEBUG_INTERNET, "Invalid number of DLC vehicles, which would include SBV_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN FALSE ENDIF scrShopVehicleData vehData IF GET_DLC_VEHICLE_DATA(iVeh, vehData) IF IS_CONTENT_ITEM_LOCKED(vehData.m_lockHash) CPRINTLN(DEBUG_INTERNET, "DLC vehicle index ", iVeh, " name ", GET_LABEL_BUYABLE_VEHICLE(veh), " reported as locked for current player") RETURN FALSE ELSE CPRINTLN(DEBUG_INTERNET, "DLC vehicle index ", iVeh, " name ", GET_LABEL_BUYABLE_VEHICLE(veh), " is available for current player") RETURN TRUE ENDIF ELSE CPRINTLN(DEBUG_INTERNET, "Couldn't get DLC vehicle data!") RETURN FALSE ENDIF ENDFUNC FUNC INT GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(SITE_BUYABLE_VEHICLE veh) SWITCH veh CASE BV_C_VENEM RETURN g_sMPTunables.iadder_expenditure_modifier // ADDER CASE BV_MP_AIRBUS RETURN g_sMPTunables.iairbus_expenditure_modifier CASE BV_C_AKUMA RETURN g_sMPTunables.iakuma_expenditure_modifier CASE BV_MP_ANNIHILATOR RETURN g_sMPTunables.iannihilator_expenditure_modifier CASE BV_C_BALLER2 RETURN g_sMPTunables.iballer2_expenditure_modifier CASE BV_A_BARRACKS RETURN g_sMPTunables.ibarracks_expenditure_modifier CASE BV_C_BATI RETURN g_sMPTunables.ibati_expenditure_modifier CASE BV_MP_BATI2 RETURN g_sMPTunables.ibati2_expenditure_modifier CASE BV_C_BFINJECTION RETURN g_sMPTunables.ibfinjection_expenditure_modifier CASE BV_MP_BISON RETURN g_sMPTunables.ibison_expenditure_modifier CASE BV_C_BLAZER RETURN g_sMPTunables.iblazer_expenditure_modifier CASE BV_C_BMX RETURN g_sMPTunables.ibmx_expenditure_modifier CASE BV_MP_BULLET RETURN g_sMPTunables.ibullet_expenditure_modifier CASE BV_MP_BUS RETURN g_sMPTunables.ibus_expenditure_modifier CASE BV_A_BUZZARD RETURN g_sMPTunables.ibuzzard_expenditure_modifier CASE BV_MP_CARBONIZZARE RETURN g_sMPTunables.icarbonizzare_expenditure_modifier CASE BV_A_CARGOBOB RETURN -1 CASE BV_C_CAVALCADE RETURN g_sMPTunables.icavalcade_expenditure_modifier CASE BV_C_CHEETAH RETURN g_sMPTunables.icheetah_expenditure_modifier CASE BV_MP_COACH RETURN g_sMPTunables.icoach_expenditure_modifier CASE BV_C_COGCABRIO RETURN g_sMPTunables.icogcabrio_expenditure_modifier CASE BV_C_COMET2 RETURN g_sMPTunables.icomet2_expenditure_modifier CASE BV_MP_COQUETTE RETURN g_sMPTunables.icoquette_expenditure_modifier CASE BV_C_CRUISER RETURN g_sMPTunables.icruiser_expenditure_modifier CASE BV_A_CRUSADER RETURN g_sMPTunables.icrusader_expenditure_modifier CASE BV_P_CUBAN RETURN g_sMPTunables.icuban800_expenditure_modifier CASE BV_C_DILETTANTE RETURN g_sMPTunables.idilettante_expenditure_modifier CASE BV_MP_DOUBLE RETURN g_sMPTunables.idouble_expenditure_modifier CASE BV_MP_DUMP RETURN g_sMPTunables.idump_expenditure_modifier CASE BV_P_DUSTER RETURN g_sMPTunables.iduster_expenditure_modifier CASE BV_C_ENTITYXF RETURN g_sMPTunables.ientityxf_expenditure_modifier CASE BV_C_EXEMPLAR RETURN g_sMPTunables.iexemplar_expenditure_modifier CASE BV_C_FAGGIO2 RETURN g_sMPTunables.ifaggio2_expenditure_modifier CASE BV_C_FELON RETURN g_sMPTunables.ifelon_expenditure_modifier CASE BV_MP_FELON2 RETURN g_sMPTunables.iFelon2_expenditure_modifier CASE BV_C_FELTZER2 RETURN g_sMPTunables.ifeltzer2_expenditure_modifier CASE BV_P_FROGGER RETURN g_sMPTunables.ifrogger_expenditure_modifier CASE BV_C_FUGITIVE RETURN g_sMPTunables.ifugitive_expenditure_modifier CASE BV_C_GAUNTLET RETURN g_sMPTunables.igauntlet_expenditure_modifier CASE BV_MP_HEXER RETURN g_sMPTunables.ihexer_expenditure_modifier CASE BV_C_INFERNUS RETURN g_sMPTunables.iinfernus_expenditure_modifier CASE BV_C_ISSI2 RETURN g_sMPTunables.iissi2_expenditure_modifier CASE BV_C_JB700 RETURN g_sMPTunables.ijb700_expenditure_modifier CASE BV_B_JETMAX RETURN g_sMPTunables.ijetmax_expenditure_modifier CASE BV_MP_JOURNEY RETURN g_sMPTunables.ijourney_expenditure_modifier CASE BV_P_LUXOR RETURN g_sMPTunables.iluxor_expenditure_modifier CASE BV_MP_MAMMATUS RETURN g_sMPTunables.imammatus_expenditure_modifier CASE BV_B_MARQUIS RETURN g_sMPTunables.imarquis_expenditure_modifier CASE BV_P_MAVERICK RETURN g_sMPTunables.imaverick_expenditure_modifier CASE BV_C_MONROE RETURN g_sMPTunables.imonroe_expenditure_modifier CASE BV_MP_MULE RETURN g_sMPTunables.imule_expenditure_modifier CASE BV_C_NINEF RETURN g_sMPTunables.ininef_expenditure_modifier CASE BV_MP_NINEF2 RETURN g_sMPTunables.ininef2_expenditure_modifier CASE BV_C_ORACLE2 RETURN g_sMPTunables.ioracle2_expenditure_modifier CASE BV_C_PCJ RETURN g_sMPTunables.ipcj_expenditure_modifier CASE BV_MP_RAPIDGT RETURN g_sMPTunables.irapidgt_expenditure_modifier CASE BV_MP_RAPIDGT2 RETURN g_sMPTunables.irapidgt2_expenditure_modifier CASE BV_MP_RENTALBUS RETURN g_sMPTunables.irentalbus_expenditure_modifier CASE BV_A_RHINO RETURN g_sMPTunables.irhino_expenditure_modifier CASE BV_C_ROCOTO RETURN g_sMPTunables.irocoto_expenditure_modifier CASE BV_C_RUFFIAN RETURN g_sMPTunables.iruffian_expenditure_modifier CASE BV_C_SANCHEZ RETURN g_sMPTunables.isanchez_expenditure_modifier CASE BV_C_SANDKING RETURN g_sMPTunables.isandking_expenditure_modifier CASE BV_C_SCHWARZER RETURN g_sMPTunables.ischwarzer_expenditure_modifier CASE BV_C_SCORCHER RETURN g_sMPTunables.iscorcher_expenditure_modifier CASE BV_B_SEASHARK RETURN g_sMPTunables.iseashark_expenditure_modifier CASE BV_P_SHAMAL RETURN g_sMPTunables.ishamal_expenditure_modifier CASE BV_B_SQUALO RETURN g_sMPTunables.isqualo_expenditure_modifier CASE BV_C_STINGER RETURN g_sMPTunables.istinger_expenditure_modifier CASE BV_MP_STINGERGT RETURN g_sMPTunables.istingergt_expenditure_modifier CASE BV_MP_STRETCH RETURN g_sMPTunables.istretch_expenditure_modifier CASE BV_P_STUNT RETURN g_sMPTunables.istunt_expenditure_modifier CASE BV_B_SUNTRAP RETURN g_sMPTunables.isuntrap_expenditure_modifier CASE BV_C_SUPERD RETURN g_sMPTunables.isuperd_expenditure_modifier CASE BV_C_SURANO RETURN g_sMPTunables.isurano_expenditure_modifier CASE BV_A_TITAN RETURN g_sMPTunables.ititan_expenditure_modifier CASE BV_C_WHIPPET RETURN g_sMPTunables.itribike_expenditure_modifier CASE BV_C_ENDUREX RETURN g_sMPTunables.itribike2_expenditure_modifier CASE BV_C_TRICYCLE RETURN g_sMPTunables.itribike3_expenditure_modifier CASE BV_B_TROPIC RETURN g_sMPTunables.itropic_expenditure_modifier CASE BV_C_VACCA RETURN g_sMPTunables.ivacca_expenditure_modifier CASE BV_C_VADER RETURN g_sMPTunables.ivader_expenditure_modifier CASE BV_MP_VELUM RETURN g_sMPTunables.ivelum_expenditure_modifier CASE BV_C_VIGERO RETURN g_sMPTunables.ivigero_expenditure_modifier CASE BV_MP_VOLTIC RETURN g_sMPTunables.iDLC_VEHICLE_Coil_Voltic_Topless CASE BV_C_ZION RETURN g_sMPTunables.izion_expenditure_modifier CASE BV_MP_ZION2 RETURN g_sMPTunables.izion2_expenditure_modifier CASE BV_C_ZTYPE RETURN g_sMPTunables.iztype_expenditure_modifier // Beach Bum Pack extra unlocks CASE BV_MP_BODHI2 RETURN g_sMPTunables.iBODHI2_expenditure_modifier CASE BV_MP_DUNE RETURN g_sMPTunables.idune_expenditure_modifier CASE BV_MP_REBEL RETURN g_sMPTunables.irebel_expenditure_modifier CASE BV_MP_SADLER RETURN g_sMPTunables.isadler_expenditure_modifier CASE BV_MP_SANCHEZ2 RETURN g_sMPTunables.isanchez2_expenditure_modifier CASE BV_MP_SANDKINGSWB RETURN g_sMPTunables.isandking2_expenditure_modifier // Business pack extra unlocks CASE BV_MP_ASEA RETURN g_sMPTunables.iAsea_expenditure_modifier CASE BV_MP_ASTEROPE RETURN g_sMPTunables.ibusiness_vehicles_Asterope CASE BV_MP_BOBCATXL RETURN g_sMPTunables.ibusiness_vehicles_bobcatxl CASE BV_MP_CAVALCADE2 RETURN g_sMPTunables.ibusiness_vehicles_Cavalcade2 CASE BV_MP_GRANGER RETURN g_sMPTunables.ibusiness_vehicles_Granger CASE BV_MP_INGOT RETURN g_sMPTunables.ibusiness_vehicles_Ingot CASE BV_MP_INTRUDER RETURN g_sMPTunables.ibusiness_vehicles_Intruder CASE BV_MP_MINIVAN RETURN g_sMPTunables.ibusiness_vehicles_Minivan CASE BV_MP_PREMIER RETURN g_sMPTunables.ibusiness_vehicles_Premier CASE BV_MP_RADIUS RETURN g_sMPTunables.ibusiness_vehicles_Radi CASE BV_MP_RANCHERXL RETURN g_sMPTunables.ibusiness_vehicles_Rancherxl CASE BV_MP_RATLOADER RETURN g_sMPTunables.ivalentine_vehicle_RATLOADER CASE BV_MP_STANIER RETURN g_sMPTunables.ibusiness_vehicles_Stanier CASE BV_MP_STRATUM RETURN g_sMPTunables.ibusiness_vehicles_Stratum CASE BV_MP_WASHINGTON RETURN g_sMPTunables.ibusiness_vehicles_Washington // Extras - Hipster CASE BV_MP_PICADOR RETURN g_sMPTunables.iDLC_hipster_modifier_Picador CASE BV_MP_REGINA RETURN g_sMPTunables.iDLC_hipster_modifier_Regina CASE BV_MP_SURFER RETURN g_sMPTunables.iDLC_hipster_modifier_SURFER CASE BV_MP_YOUGA RETURN g_sMPTunables.iDLC_hipster_modifier_Youga CASE BV_MP_BLAZER3 RETURN g_sMPTunables.iDLC_hipster_modifier_Blazer3 CASE BV_MP_REBEL2 RETURN g_sMPTunables.iDLC_hipster_modifier_Rebel2 CASE BV_MP_PRIMO RETURN g_sMPTunables.iDLC_hipster_modifier_Primo CASE BV_MP_BUFFALO RETURN g_sMPTunables.iDLC_hipster_modifier_Buffalo CASE BV_MP_BUFFALO2 RETURN g_sMPTunables.iDLC_hipster_modifier_Buffalo2 CASE BV_MP_TAILGATER RETURN g_sMPTunables.iDLC_hipster_modifier_Tailgater ENDSWITCH RETURN -1 ENDFUNC FUNC BOOL IS_OPTOUT_FOR_VEHICLE(MODEL_NAMES vehModel, BOOL bAltVersion, INT &iOptOutSlot) INT iVehModelHash = 0 IF bAltVersion SWITCH vehModel CASE KALAHARI iVehModelHash = HASH("KALAHARI_TLESS") BREAK CASE COQUETTE iVehModelHash = HASH("COQUETTE_TLESS") BREAK CASE BANSHEE iVehModelHash = HASH("BANSHEE_TLESS") BREAK CASE STINGER iVehModelHash = HASH("STINGER_TLESS") BREAK CASE VOLTIC iVehModelHash = HASH("VOLTIC_HTOP") BREAK CASE COQUETTE2 iVehModelHash = HASH("COQUETTE2_TLESS") BREAK DEFAULT CERRORLN(DEBUG_INTERNET, "IS_OPTOUT_FOR_VEHICLE unknown alternate hash for ", GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel), " use default") iVehModelHash = ENUM_TO_INT(vehModel) BREAK ENDSWITCH ELSE iVehModelHash = ENUM_TO_INT(vehModel) ENDIF #IF IS_DEBUG_BUILD IF vehModel = ELEGY2 PRINTLN("IS_OPTOUT_FOR_VEHICLE iVehModelHash: ", iVehModelHash, " g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE0: ", g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE0) ENDIF #ENDIF IF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE0) iOptOutSlot = 0 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE1) iOptOutSlot = 1 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE2) iOptOutSlot = 2 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE3) iOptOutSlot = 3 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE4) iOptOutSlot = 4 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE5) iOptOutSlot = 5 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE6) iOptOutSlot = 6 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE7) iOptOutSlot = 7 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE8) iOptOutSlot = 8 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE9) iOptOutSlot = 9 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE10) iOptOutSlot = 10 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE11) iOptOutSlot = 11 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE12) iOptOutSlot = 12 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE13) iOptOutSlot = 13 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE14) iOptOutSlot = 14 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE15) iOptOutSlot = 15 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE16) iOptOutSlot = 16 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE17) iOptOutSlot = 17 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE18) iOptOutSlot = 18 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.iOPTOUT_VEHICLEWEBSITE_SALE19) iOptOutSlot = 19 RETURN TRUE ENDIF iOptOutSlot = -1 RETURN FALSE ENDFUNC FUNC BOOL IS_REBATE_ACTIVE_FOR_VEHICLE(WEBSITE_INDEX_ENUM site, MODEL_NAMES vehModel, BOOL bAltVersion, INT &iRebateSlot) IF g_sMPTunables.bREBATE_VEHICLE_DOCK AND site = WWW_DOCKTEASE_COM iRebateSlot = HASH("REBATE_VEHICLE_DOCK") RETURN TRUE ELIF g_sMPTunables.bREBATE_VEHICLE_WAR AND site = WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM iRebateSlot = HASH("REBATE_VEHICLE_WAR") RETURN TRUE ELIF g_sMPTunables.bREBATE_VEHICLE_LEGENDARY AND site = WWW_LEGENDARYMOTORSPORT_NET iRebateSlot = HASH("REBATE_VEHICLE_LEGENDARY") RETURN TRUE ELIF g_sMPTunables.bREBATE_VEHICLE_ELITAS AND site = WWW_ELITASTRAVEL_COM iRebateSlot = HASH("REBATE_VEHICLE_ELITAS") RETURN TRUE ELIF g_sMPTunables.bREBATE_VEHICLE_BENNY AND site = WWW_BENNYSORIGINALMOTORWORKS_COM iRebateSlot = HASH("REBATE_VEHICLE_BENNY") RETURN TRUE ELIF g_sMPTunables.bREBATE_VEHICLE_SSASA AND site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM iRebateSlot = HASH("REBATE_VEHICLE_SSASA") RETURN TRUE ELIF g_sMPTunables.bREBATE_VEHICLE_PANDMCYCLES AND site = WWW_PANDMCYCLES_COM iRebateSlot = HASH("REBATE_VEHICLE_PANDMCYCLES") RETURN TRUE // ELIF g_sMPTunables.bREBATE_VEHICLE_ARENA // AND site = WWW_ARENAWAR_TV // iRebateSlot = HASH("REBATE_VEHICLE_ARENA") // RETURN TRUE ENDIF INT iVehModelHash = 0 IF bAltVersion SWITCH vehModel CASE KALAHARI iVehModelHash = HASH("KALAHARI_TLESS") BREAK CASE COQUETTE iVehModelHash = HASH("COQUETTE_TLESS") BREAK CASE BANSHEE iVehModelHash = HASH("BANSHEE_TLESS") BREAK CASE STINGER iVehModelHash = HASH("STINGER_TLESS") BREAK CASE VOLTIC iVehModelHash = HASH("VOLTIC_HTOP") BREAK CASE COQUETTE2 iVehModelHash = HASH("COQUETTE2_TLESS") BREAK DEFAULT CERRORLN(DEBUG_INTERNET, "IS_REBATE_ACTIVE_FOR_VEHICLE unknown alternate hash for ", GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel), " use default") iVehModelHash = ENUM_TO_INT(vehModel) BREAK ENDSWITCH ELSE iVehModelHash = ENUM_TO_INT(vehModel) ENDIF IF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_0) iRebateSlot = 0 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_1) iRebateSlot = 1 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_2) iRebateSlot = 2 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_3) iRebateSlot = 3 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_4) iRebateSlot = 4 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_5) iRebateSlot = 5 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_6) iRebateSlot = 6 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_7) iRebateSlot = 7 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_8) iRebateSlot = 8 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_9) iRebateSlot = 9 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_10) iRebateSlot = 10 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_11) iRebateSlot = 11 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_12) iRebateSlot = 12 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_13) iRebateSlot = 13 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_14) iRebateSlot = 14 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_15) iRebateSlot = 15 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_16) iRebateSlot = 16 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_17) iRebateSlot = 17 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_18) iRebateSlot = 18 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_19) iRebateSlot = 19 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_20) iRebateSlot = 20 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_21) iRebateSlot = 21 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_22) iRebateSlot = 22 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_23) iRebateSlot = 23 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_24) iRebateSlot = 24 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_25) iRebateSlot = 25 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_26) iRebateSlot = 26 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_27) iRebateSlot = 27 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_28) iRebateSlot = 28 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_29) iRebateSlot = 29 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_30) iRebateSlot = 30 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_31) iRebateSlot = 31 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_32) iRebateSlot = 32 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_33) iRebateSlot = 33 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_34) iRebateSlot = 34 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_35) iRebateSlot = 35 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_36) iRebateSlot = 36 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_37) iRebateSlot = 37 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_38) iRebateSlot = 38 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_39) iRebateSlot = 39 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_40) iRebateSlot = 40 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_41) iRebateSlot = 41 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_42) iRebateSlot = 42 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_43) iRebateSlot = 43 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_44) iRebateSlot = 44 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_45) iRebateSlot = 45 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_46) iRebateSlot = 46 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_47) iRebateSlot = 47 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_48) iRebateSlot = 48 RETURN TRUE ELIF (iVehModelHash = g_sMPTunables.REBATE_VEHICLE_49) iRebateSlot = 49 RETURN TRUE ENDIF iRebateSlot = -1 RETURN FALSE ENDFUNC FUNC BOOL IS_VEH_ENABLED_BY_TUNABLE(WEBSITE_INDEX_ENUM siteID, MODEL_NAMES vehModel) SWITCH vehModel CASE LE7B IF !g_sMPtunables.benablestunt_le7b RETURN FALSE ENDIF BREAK CASE OMNIS IF !g_sMPtunables.benablestunt_omnis RETURN FALSE ENDIF BREAK CASE TROPOS IF !g_sMPtunables.benablestunt_tropos_rallye RETURN FALSE ENDIF BREAK CASE BRIOSO IF !g_sMPtunables.benablestunt_brioso_ra RETURN FALSE ENDIF BREAK CASE TROPHYTRUCK IF !g_sMPtunables.benablestunt_trophy_truck RETURN FALSE ENDIF BREAK CASE TROPHYTRUCK2 IF !g_sMPTunables.bEnableStunt_trophy_car RETURN FALSE ENDIF BREAK CASE CONTENDER IF !g_sMPtunables.benablestunt_contender RETURN FALSE ENDIF BREAK CASE CLIFFHANGER IF !g_sMPtunables.benablestunt_cliffhanger RETURN FALSE ENDIF BREAK CASE BF400 IF !g_sMPtunables.benablestunt_bf400 RETURN FALSE ENDIF BREAK CASE TYRUS IF !g_sMPtunables.benablestunt_tyrus RETURN FALSE ENDIF BREAK CASE LYNX IF !g_sMPtunables.benablestunt_lynx RETURN FALSE ENDIF BREAK CASE SHEAVA IF !g_sMPtunables.bEnableStunt_lfa RETURN FALSE ENDIF BREAK CASE RALLYTRUCK IF !g_sMPtunables.benablestunt_rally_truck RETURN FALSE ENDIF BREAK CASE TAMPA2 IF !g_sMPtunables.benablestunt_drift_tampa RETURN FALSE ENDIF BREAK CASE GARGOYLE IF !g_sMPtunables.benablestunt_bike_o_death RETURN FALSE ENDIF BREAK CASE STALION2 IF !(IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE) IF !g_sMPtunables.benablestunt_stallion RETURN FALSE ENDIF ENDIF BREAK CASE DOMINATOR2 IF !(IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE) IF !g_sMPtunables.benablestunt_dominator RETURN FALSE ENDIF ENDIF BREAK CASE GAUNTLET2 IF !(IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE) IF !g_sMPtunables.benablestunt_gauntlet RETURN FALSE ENDIF ENDIF BREAK CASE BUFFALO3 IF !(IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE) IF !g_sMPtunables.benablestunt_buffalo RETURN FALSE ENDIF ENDIF BREAK CASE ESSKEY IF !g_sMPtunables.bENABLE_BIKER_ESSKEY #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NIGHTBLADE IF !g_sMPtunables.bENABLE_BIKER_NIGHTBLADE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DEFILER IF !g_sMPtunables.bENABLE_BIKER_DEFILER RETURN FALSE ENDIF BREAK CASE AVARUS IF !g_sMPtunables.bENABLE_BIKER_AVARUS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ZOMBIEA IF !g_sMPtunables.bENABLE_BIKER_ZOMBIEA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ZOMBIEB IF !g_sMPtunables.bENABLE_BIKER_ZOMBIEB #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CHIMERA IF !g_sMPtunables.bENABLE_BIKER_CHIMERA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DAEMON2 IF !g_sMPtunables.bENABLE_BIKER_WESTERNDAEMON #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RATBIKE IF !g_sMPtunables.bENABLE_BIKER_RATBIKE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SHOTARO IF !g_sMPtunables.bENABLE_BIKER_SHOTARO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RAPTOR IF !g_sMPtunables.bENABLE_BIKER_RAPTOR #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HAKUCHOU2 IF !g_sMPtunables.bENABLE_BIKER_HAKUCHOU2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BLAZER4 IF !g_sMPtunables.bENABLE_BIKER_BLAZER4 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SANCTUS IF !g_sMPtunables.bENABLE_BIKER_SANCTUS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF AND !GET_PACKED_STAT_BOOL(PACKED_MP_STAT_PURCHASED_SANCTUS) RETURN FALSE ENDIF BREAK CASE VORTEX IF !g_sMPtunables.bENABLE_BIKER_VORTEX #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MANCHEZ IF !g_sMPtunables.bENABLE_BIKER_MANCHEZ #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TORNADO6 IF !g_sMPtunables.bENABLE_BIKER_TORNADO6 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE YOUGA2 IF !g_sMPtunables.bENABLE_BIKER_YOUGA2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE WOLFSBANE IF !g_sMPtunables.bENABLE_BIKER_WOLFSBANE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FAGGIO3 IF !g_sMPtunables.bENABLE_BIKER_FAGGIO3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FAGGIO IF !g_sMPtunables.bENABLE_BIKER_FAGGIO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBikerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VOLTIC2 IF !g_sMPtunables.bENABLE_IE_VOLTIC2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RUINER2 IF !g_sMPtunables.bENABLE_IE_RUINER2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DUNE4 IF !g_sMPtunables.bENABLE_IE_DUNE4 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DUNE5 IF !g_sMPtunables.bENABLE_IE_DUNE5 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PHANTOM2 IF !g_sMPtunables.bENABLE_IE_PHANTOM2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TECHNICAL2 IF !g_sMPtunables.bENABLE_IE_TECHNICAL2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BOXVILLE5 IF !g_sMPtunables.bENABLE_IE_BOXVILLE5 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE WASTELANDER IF !g_sMPtunables.bENABLE_IE_WASTELANDER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BLAZER5 IF !g_sMPtunables.bENABLE_IE_BLAZER5 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE COMET2 IF (siteID = WWW_BENNYSORIGINALMOTORWORKS_COM) AND !g_sMPtunables.bENABLE_IE_COMET2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE COMET3 IF !g_sMPtunables.bENABLE_IE_COMET3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DIABLOUS IF !g_sMPtunables.bENABLE_IE_DIABLOUS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DIABLOUS2 IF !g_sMPtunables.bENABLE_IE_DIABLOUS2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ELEGY IF !g_sMPtunables.bENABLE_IE_ELEGY #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ELEGY2 IF !g_sMPtunables.bENABLE_IE_ELEGY2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FCR IF !g_sMPtunables.bENABLE_IE_FCR #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FCR2 IF !g_sMPtunables.bENABLE_IE_FCR2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ITALIGTB IF !g_sMPtunables.bENABLE_IE_ITALIGTB #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ITALIGTB2 IF !g_sMPtunables.bENABLE_IE_ITALIGTB2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NERO IF !g_sMPtunables.bENABLE_IE_NERO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NERO2 IF !g_sMPtunables.bENABLE_IE_NERO2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PENETRATOR IF !g_sMPtunables.bENABLE_IE_PENETRATOR #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SPECTER IF !g_sMPtunables.bENABLE_IE_SPECTER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SPECTER2 IF !g_sMPtunables.bENABLE_IE_SPECTER2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TEMPESTA IF !g_sMPtunables.bENABLE_IE_TEMPESTA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIERewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE XA21 IF !g_sMPtunables.bENABLE_XA21 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGunrunningRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CHEETAH2 IF !g_sMPtunables.bENABLE_CHEETAH2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGunrunningRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TORERO IF !g_sMPtunables.bENABLE_TORERO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGunrunningRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VAGNER IF !g_sMPtunables.bENABLE_VAGNER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGunrunningRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ARDENT IF !g_sMPtunables.bENABLE_ARDENT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGunrunningRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NIGHTSHARK IF !g_sMPtunables.bENABLE_NIGHTSHARK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGunrunningRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MICROLIGHT IF !g_sMPtunables.bENABLE_ULTRALIGHT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SEABREEZE IF !g_sMPtunables.bENABLE_SEABREEZE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HOWARD IF !g_sMPtunables.bENABLE_HOWARD #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ROGUE IF !g_sMPtunables.bENABLE_ROGUE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ALPHAZ1 IF !g_sMPtunables.bENABLE_ALPHAZ1 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HAVOK IF !g_sMPtunables.bENABLE_HAVOK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NOKOTA IF !g_sMPtunables.bENABLE_NOKOTA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MOGUL IF !g_sMPtunables.bENABLE_MOGUL #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE STARLING IF !g_sMPtunables.bENABLE_STARLING #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HUNTER IF !g_sMPtunables.bENABLE_HUNTER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PYRO IF !g_sMPtunables.bENABLE_PYRO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MOLOTOK IF !g_sMPtunables.bENABLE_MOLOTOK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TULA IF !g_sMPtunables.bENABLE_TULA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BOMBUSHKA IF !g_sMPtunables.bENABLE_BOMBUSHKA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE LAZER IF !g_sMPtunables.bENABLE_LAZER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CYCLONE IF !g_sMPtunables.bENABLE_CYCLONE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VISIONE IF !g_sMPtunables.bENABLE_VISIONE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RETINUE IF !g_sMPtunables.bENABLE_RETINUE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RAPIDGT3 IF !g_sMPtunables.bENABLE_RAPIDGT3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VIGILANTE IF !g_sMPtunables.bENABLE_VIGILANTE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSmugglerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DELUXO IF !g_sMPtunables.bENABLE_DELUXO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE STROMBERG IF !g_sMPtunables.bENABLE_STROMBERG #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RIOT2 IF !g_sMPtunables.bENABLE_RIOT2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CHERNOBOG IF !g_sMPtunables.bENABLE_CHERNOBOG #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE KHANJALI IF !g_sMPtunables.bENABLE_KHANJALI #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE AKULA IF !g_sMPtunables.bENABLE_AKULA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE THRUSTER IF !g_sMPtunables.bENABLE_THRUSTER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BARRAGE IF !g_sMPtunables.bENABLE_BARRAGE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VOLATOL IF !g_sMPtunables.bENABLE_VOLATOL #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE COMET4 IF !g_sMPtunables.bENABLE_COMET4 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NEON IF !g_sMPtunables.bENABLE_NEON #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE STREITER IF !g_sMPtunables.bENABLE_STREITER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SENTINEL3 IF !g_sMPtunables.bENABLE_SENTINEL3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE YOSEMITE IF !g_sMPtunables.bENABLE_YOSEMITE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SC1 IF !g_sMPtunables.bENABLE_SC1 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE AUTARCH IF !g_sMPtunables.bENABLE_AUTARCH #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE GT500 IF !g_sMPtunables.bENABLE_GT500 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HUSTLER IF !g_sMPtunables.bENABLE_HUSTLER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE REVOLTER IF !g_sMPtunables.bENABLE_REVOLTER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PARIAH IF !g_sMPtunables.bENABLE_PARIAH #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RAIDEN IF !g_sMPtunables.bENABLE_RAIDEN #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SAVESTRA IF !g_sMPtunables.bENABLE_SAVESTRA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RIATA IF !g_sMPtunables.bENABLE_RIATA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HERMES IF !g_sMPtunables.bENABLE_HERMES #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE COMET5 IF !g_sMPtunables.bENABLE_COMET5 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE Z190 IF !g_sMPtunables.bENABLE_Z190 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VISERIS IF !g_sMPtunables.bENABLE_VISERIS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE KAMACHO IF !g_sMPtunables.bENABLE_KAMACHO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockGangOpsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE GB200 IF !g_sMPtunables.bENABLE_GB200 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FAGALOA IF !g_sMPtunables.bENABLE_FAGALOA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ELLIE IF !g_sMPtunables.bENABLE_ELLIE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ISSI3 IF !g_sMPtunables.bENABLE_ISSI3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MICHELLI IF !g_sMPtunables.bENABLE_MICHELLI #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FLASHGT IF !g_sMPtunables.bENABLE_FLASHGT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HOTRING IF !g_sMPtunables.bENABLE_HOTRING #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TEZERACT IF !g_sMPtunables.bENABLE_TEZERACT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TYRANT IF !g_sMPtunables.bENABLE_TYRANT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DOMINATOR3 IF !g_sMPtunables.bENABLE_DOMINATOR3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TAIPAN IF !g_sMPtunables.bENABLE_TAIPAN #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ENTITY2 IF !g_sMPtunables.bENABLE_ENTITY2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE JESTER3 IF !g_sMPtunables.bENABLE_JESTER3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CHEBUREK IF !g_sMPtunables.bENABLE_CHEBUREK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CARACARA IF !g_sMPtunables.bENABLE_CARACARA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SEASPARROW IF !g_sMPtunables.bENABLE_SEASPARROW #IF IS_DEBUG_BUILD AND !g_bDebugUnlockTargetRacesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MULE4 IF !g_sMPtunables.bENABLE_MULE4 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POUNDER2 IF !g_sMPtunables.bENABLE_POUNDER2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SWINGER IF !g_sMPtunables.bENABLE_SWINGER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MENACER IF !g_sMPtunables.bENABLE_MENACER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SCRAMJET IF !g_sMPtunables.bENABLE_SCRAMJET #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE STRIKEFORCE IF !g_sMPtunables.bENABLE_STRIKEFORCE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE OPPRESSOR2 IF !g_sMPtunables.bENABLE_OPPRESSOR2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PATRIOT2 IF !g_sMPtunables.bENABLE_PATRIOT2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE STAFFORD IF !g_sMPtunables.bENABLE_STAFFORD #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FREECRAWLER IF !g_sMPtunables.bENABLE_FREECRAWLER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BLIMP3 IF !g_sMPtunables.bENABLE_BLIMP3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TERBYTE IF !g_sMPtunables.bENABLE_TERBYTE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PBUS2 IF !g_sMPtunables.bENABLE_PBUS2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FUTO IF !g_sMPtunables.bENABLE_FUTO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RUINER IF !g_sMPtunables.bENABLE_RUINER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ROMERO IF !g_sMPtunables.bENABLE_HEARSE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PRAIRIE IF !g_sMPtunables.bENABLE_PRAIRIE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BALLER IF !g_sMPtunables.bENABLE_BALLER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SERRANO IF !g_sMPtunables.bENABLE_SERRANO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BJXL IF !g_sMPTunables.bENABLE_BEEJAY_XL #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HABANERO IF !g_sMPtunables.bENABLE_HABANERO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FQ2 IF !g_sMPtunables.bENABLE_FQ2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PATRIOT IF !g_sMPtunables.bENABLE_PATRIOT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockBusinessBattlesRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MONSTER3 // IF !g_sMPtunables.bENABLE_MONSTER3 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE CERBERUS // IF !g_sMPtunables.bENABLE_CERBERUS // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE CERBERUS2 // IF !g_sMPtunables.bENABLE_CERBERUS2 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE CERBERUS3 // IF !g_sMPtunables.bENABLE_CERBERUS3 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE BRUTUS // IF !g_sMPtunables.bENABLE_BRUTUS // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE BRUTUS2 // IF !g_sMPtunables.bENABLE_BRUTUS2 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE BRUTUS3 // IF !g_sMPtunables.bENABLE_BRUTUS3 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE SCARAB // IF !g_sMPtunables.bENABLE_SCARAB // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE SCARAB2 // IF !g_sMPtunables.bENABLE_SCARAB2 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE SCARAB3 // IF !g_sMPtunables.bENABLE_SCARAB3 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE IMPERATOR // IF !g_sMPtunables.bENABLE_IMPERATOR // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE IMPERATOR2 // IF !g_sMPtunables.bENABLE_IMPERATOR2 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE IMPERATOR3 // IF !g_sMPtunables.bENABLE_IMPERATOR3 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE ZR380 // IF !g_sMPtunables.bENABLE_ZR380 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE ZR3802 // IF !g_sMPtunables.bENABLE_ZR3802 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE ZR3803 // IF !g_sMPtunables.bENABLE_ZR3803 // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE IMPALER // IF !g_sMPtunables.bENABLE_IMPALER // #IF IS_DEBUG_BUILD // AND !g_bDebugUnlockArenaWarsRewardItems // #ENDIF // RETURN FALSE // ENDIF BREAK CASE TOROS IF !g_sMPtunables.bENABLE_VEHICLE_TOROS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CLIQUE IF !g_sMPtunables.bENABLE_VEHICLE_CLIQUE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ITALIGTO IF !g_sMPtunables.bENABLE_VEHICLE_ITALIGTO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DEVIANT IF !g_sMPtunables.bENABLE_VEHICLE_DEVIANT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DEVESTE IF !g_sMPtunables.bENABLE_VEHICLE_DEVESTE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VAMOS IF !g_sMPtunables.bENABLE_VEHICLE_VAMOS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TULIP IF !g_sMPtunables.bENABLE_VEHICLE_TULIP #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SCHLAGEN IF !g_sMPtunables.bENABLE_VEHICLE_SCHLAGEN #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RCBANDITO IF !g_sMPtunables.bENABLE_VEHICLE_BANDITO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BLISTA3 IF g_sMPTunables.bAW_DISABLE_GO_GO_MONKEY_BLISTA_UNLOCK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN FALSE ENDIF BREAK ENDSWITCH SWITCH vehModel CASE THRAX IF !g_sMPtunables.bENABLE_VEHICLE_THRAX #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DRAFTER IF !g_sMPtunables.bENABLE_VEHICLE_DRAFTER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE LOCUST IF !g_sMPtunables.bENABLE_VEHICLE_LOCUST #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NOVAK IF !g_sMPtunables.bENABLE_VEHICLE_NOVAK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ZORRUSSO IF !g_sMPtunables.bENABLE_VEHICLE_ZORRUSSO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE GAUNTLET3 IF !g_sMPtunables.bENABLE_VEHICLE_GAUNTLET3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ISSI7 IF !g_sMPtunables.bENABLE_VEHICLE_ISSI7 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ZION3 IF !g_sMPtunables.bENABLE_VEHICLE_ZION3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NEBULA IF !g_sMPtunables.bENABLE_VEHICLE_NEBULA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE HELLION IF !g_sMPtunables.bENABLE_VEHICLE_HELLION #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DYNASTY IF !g_sMPtunables.bENABLE_VEHICLE_DYNASTY #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RROCKET IF !g_sMPtunables.bENABLE_VEHICLE_RROCKET #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PEYOTE2 IF !g_sMPtunables.bENABLE_VEHICLE_PEYOTE2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE GAUNTLET4 IF !g_sMPtunables.bENABLE_VEHICLE_GAUNTLET4 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CARACARA2 IF !g_sMPtunables.bENABLE_VEHICLE_CARACARA2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE JUGULAR IF !g_sMPtunables.bENABLE_VEHICLE_JUGULAR #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE S80 IF !g_sMPtunables.bENABLE_VEHICLE_S80 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE KRIEGER IF !g_sMPtunables.bENABLE_VEHICLE_KRIEGER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE EMERUS IF !g_sMPtunables.bENABLE_VEHICLE_EMERUS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE NEO IF !g_sMPtunables.bENABLE_VEHICLE_NEO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PARAGON IF !g_sMPtunables.bENABLE_VEHICLE_PARAGON #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoRewardItems #ENDIF RETURN FALSE ENDIF BREAK #IF FEATURE_CASINO_HEIST CASE ASBO IF !g_sMPtunables.bENABLE_VEHICLE_ASBO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE KANJO IF !g_sMPtunables.bENABLE_VEHICLE_KANJO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE EVERON IF !g_sMPtunables.bENABLE_VEHICLE_EVERON #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE RETINUE2 IF !g_sMPtunables.bENABLE_VEHICLE_RETINUE2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE YOSEMITE2 IF !g_sMPtunables.bENABLE_VEHICLE_YOSEMITE2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SUGOI IF !g_sMPtunables.bENABLE_VEHICLE_SUGOI #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SULTAN2 IF !g_sMPtunables.bENABLE_VEHICLE_SULTAN2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE OUTLAW IF !g_sMPtunables.bENABLE_VEHICLE_OUTLAW #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VAGRANT IF !g_sMPtunables.bENABLE_VEHICLE_VAGRANT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE KOMODA IF !g_sMPtunables.bENABLE_VEHICLE_KOMODA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE STRYDER IF !g_sMPtunables.bENABLE_VEHICLE_STRYDER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FURIA IF !g_sMPtunables.bENABLE_VEHICLE_FURIA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ZHABA IF !g_sMPtunables.bENABLE_VEHICLE_ZHABA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE JB7002 IF !g_sMPtunables.bENABLE_VEHICLE_JB7002 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FIRETRUK IF !g_sMPtunables.bENABLE_VEHICLE_FIRETRUCK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BURRITO2 IF !g_sMPtunables.bENABLE_VEHICLE_BURRITO2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BOXVILLE IF !g_sMPtunables.bENABLE_VEHICLE_BOXVILLE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE STOCKADE IF !g_sMPtunables.bENABLE_VEHICLE_STOCKADE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MINITANK IF !g_sMPtunables.bENABLE_VEHICLE_MINITANK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE LGUARD IF !g_sMPtunables.bENABLE_VEHICLE_LGUARD #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BLAZER2 IF !g_sMPtunables.bENABLE_VEHICLE_BLAZER2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FORMULA IF !g_sMPtunables.bENABLE_VEHICLE_FORMULA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE FORMULA2 IF !g_sMPtunables.bENABLE_VEHICLE_FORMULA2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE IMORGON IF !g_sMPtunables.bENABLE_VEHICLE_IMORGEN #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE REBLA IF !g_sMPtunables.bENABLE_VEHICLE_REBLA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VSTR IF !g_sMPtunables.bENABLE_VEHICLE_VSTR #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCasinoHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK #ENDIF #IF FEATURE_COPS_N_CROOKS CASE SURFER3 IF !g_sMPtunables.bENABLE_VEH_SURFER3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ZOKU IF !g_sMPtunables.bENABLE_VEH_ZOKU #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLBATI IF !g_sMPtunables.bENABLE_VEH_POLBATI #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLBUFFALO IF !g_sMPtunables.bENABLE_VEH_POLBUFFALO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLGAUNTLET IF !g_sMPtunables.bENABLE_VEH_POLGAUNTLET #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLGRANGER IF !g_sMPtunables.bENABLE_VEH_POLGRANGER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLICE5 IF !g_sMPtunables.bENABLE_VEH_POLICE5 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLICE6 IF !g_sMPtunables.bENABLE_VEH_POLICE6 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLICEB2 IF !g_sMPtunables.bENABLE_VEH_POLICEB2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLICET2 IF !g_sMPtunables.bENABLE_VEH_POLICET2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLPANTO IF !g_sMPtunables.bENABLE_VEH_POLPANTO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLCARACARA IF !g_sMPtunables.bENABLE_VEH_POLCARACARA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLRIATA IF !g_sMPtunables.bENABLE_VEH_POLRIATA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE POLGREENWOOD IF !g_sMPtunables.bENABLE_VEH_POLGREENWOOD #IF IS_DEBUG_BUILD AND !g_bDebugUnlockCnCRewardItems #ENDIF RETURN FALSE ENDIF BREAK #ENDIF #IF FEATURE_SUMMER_2020 CASE GAUNTLET5 IF !g_sMPtunables.bENABLE_VEH_GAUNTLET5 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CLUB IF !g_sMPtunables.bENABLE_VEH_CLUB #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DUKES3 IF !g_sMPtunables.bENABLE_VEH_DUKES3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE YOSEMITE3 IF !g_sMPtunables.bENABLE_VEH_YOSEMITE3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PEYOTE3 IF !g_sMPtunables.bENABLE_VEH_PEYOTE3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE GLENDALE2 IF !g_sMPtunables.bENABLE_VEH_GLENDALE2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PENUMBRA2 IF !g_sMPtunables.bENABLE_VEH_PENUMBRA2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE LANDSTALKER2 IF !g_sMPtunables.bENABLE_VEH_LANDSTALKER2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SEMINOLE2 IF !g_sMPtunables.bENABLE_VEH_SEMINOLE2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE TIGON IF !g_sMPtunables.bENABLE_VEH_TIGON #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE OPENWHEEL1 IF !g_sMPtunables.bENABLE_VEH_OPENWHEEL1 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE OPENWHEEL2 IF !g_sMPtunables.bENABLE_VEH_OPENWHEEL2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE COQUETTE4 IF !g_sMPtunables.bENABLE_VEH_COQUETTE4 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MANANA2 IF !g_sMPtunables.bENABLE_VEH_MANANA2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE YOUGA3 IF !g_sMPtunables.bENABLE_VEH_YOUGA3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockSummer20RewardItems #ENDIF RETURN FALSE ENDIF BREAK #ENDIF CASE TOREADOR IF !g_sMPtunables.bENABLE_VEHICLE_TOREADOR #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ANNIHILATOR2 IF !g_sMPtunables.bENABLE_VEHICLE_ANNIHILATOR2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ALKONOST IF !g_sMPtunables.bENABLE_VEHICLE_ALKONOST #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PATROLBOAT IF !g_sMPtunables.bENABLE_VEHICLE_PATROLBOAT #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE LONGFIN IF !g_sMPtunables.bENABLE_VEHICLE_LONGFIN #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE WINKY IF !g_sMPtunables.bENABLE_VEHICLE_WINKY #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VETO IF !g_sMPtunables.bENABLE_VEHICLE_VETO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VETO2 IF !g_sMPtunables.bENABLE_VEHICLE_VETO2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ITALIRSX IF !g_sMPtunables.bENABLE_VEHICLE_ITALIRSX #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE WEEVIL IF !g_sMPtunables.bENABLE_VEHICLE_WEEVIL #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE MANCHEZ2 IF !g_sMPtunables.bENABLE_VEHICLE_MANCHEZ2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SLAMTRUCK IF !g_sMPtunables.bENABLE_VEHICLE_SLAMTRUCK #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VETIR IF !g_sMPtunables.bENABLE_VEHICLE_VETIR #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SQUADDIE IF !g_sMPtunables.bENABLE_VEHICLE_SQUADDIE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BRIOSO2 IF !g_sMPtunables.bENABLE_VEHICLE_BRIOSO2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DINGHY5 IF !g_sMPtunables.bENABLE_VEHICLE_DINGY5 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE VERUS IF !g_sMPtunables.bENABLE_VEHICLE_VERUS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockIslandHeistRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BALLER7 IF !g_sMPtunables.bENABLE_VEHICLE_BALLER7 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE SHINOBI IF !g_sMPtunables.bENABLE_VEHICLE_SHINOBI #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE PATRIOT3 IF !g_sMPtunables.bENABLE_VEHICLE_PATRIOT3 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE GRANGER2 IF !g_sMPtunables.bENABLE_VEHICLE_GRANGER2 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE IWAGEN IF !g_sMPtunables.bENABLE_VEHICLE_IWAGEN #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE REEVER IF !g_sMPtunables.bENABLE_VEHICLE_REEVER #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ZENO IF !g_sMPtunables.bENABLE_VEHICLE_ZENO #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE COMET7 IF !g_sMPtunables.bENABLE_VEHICLE_COMET7 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE ASTRON IF !g_sMPtunables.bENABLE_VEHICLE_ASTRON #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CINQUEMILA IF !g_sMPtunables.bENABLE_VEHICLE_CINQUEMILA #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE IGNUS IF !g_sMPtunables.bENABLE_VEHICLE_IGNUS #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE JUBILEE IF !g_sMPtunables.bENABLE_VEHICLE_JUBILEE #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE DEITY IF !g_sMPtunables.bENABLE_VEHICLE_DEITY #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE BUFFALO4 IF !g_sMPtunables.bENABLE_VEHICLE_BUFFALO4 #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK CASE CHAMPION IF !g_sMPtunables.bENABLE_VEHICLE_CHAMPION #IF IS_DEBUG_BUILD AND !g_bDebugUnlockFixerRewardItems #ENDIF RETURN FALSE ENDIF BREAK ENDSWITCH RETURN TRUE ENDFUNC /// PURPOSE: /// Returns the price of the vehicle FUNC INT GET_BUYABLE_VEHICLE_PRICE_MP(WEBSITE_INDEX_ENUM siteID, SITE_BUYABLE_VEHICLE veh, BOOL bAltVersion) // Kick back -2 if the player doesn't have access to specific vehicles - Add DLC vehicles here BOOL bMakeAdminVehIdAvailable = FALSE INT iData = GET_MP_INT_PLAYER_STAT(MPPLY_VEHICLE_ID_ADMIN_WEB) MODEL_NAMES vehModel = GET_MODEL_FOR_BUYABLE_VEHICLE(veh) IF vehModel = DUMMY_MODEL_FOR_SCRIPT CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP - veh ", veh, ", is a dummy!!") RETURN -1 // HIDE VEHICLE ENDIF // Not unlocked vehicles that players somehow aquired (e.g. using a glitch) should not appear in store IF NOT (veh = BV_DLC_BIG_YACHT OR veh = BV_DLC_BIG_TRUCK OR veh = BV_DLC_BALLISTIC_EQUIPMENT OR veh = BV_DLC_BIG_PLANE OR veh = BV_DLC_HACKER_TRUCK OR veh = BV_AW_RCBANDITO OR veh = BV_CH_MINITANK #IF FEATURE_HEIST_ISLAND OR veh = BV_IH_KOSATKA #ENDIF ) IF NOT IS_VEHICLE_AVAILABLE_PAST_CURRENT_TIME(vehModel) RETURN -1 ENDIF ENDIF IF iData != 0 IF INT_TO_ENUM(MODEL_NAMES, iData) = vehModel bMakeAdminVehIdAvailable = TRUE #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP - MPPLY_VEHICLE_ID_ADMIN_WEB is ", iData, " == \"", GET_LABEL_BUYABLE_VEHICLE(veh), "\" ", ENUM_TO_INT(vehModel)) ELSE #ENDIF IF (veh = BV_DLC_ROOSEVELT AND (iData = HASH("BTYPE"))) bMakeAdminVehIdAvailable = TRUE #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP - MPPLY_VEHICLE_ID_ADMIN_WEB is ", iData, " == \"", GET_LABEL_BUYABLE_VEHICLE(veh), "\" ", ENUM_TO_INT(vehModel), " (fake for roosevelt/BTYPE)") #ENDIF ELIF (veh = BV_V2_ROOSEVELT2 AND (iData = HASH("BTYPE3"))) bMakeAdminVehIdAvailable = TRUE #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP - MPPLY_VEHICLE_ID_ADMIN_WEB is ", iData, " == \"", GET_LABEL_BUYABLE_VEHICLE(veh), "\" ", ENUM_TO_INT(vehModel), " (fake for roosevelt2/BTYPE3)") #ENDIF ELSE #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP - MPPLY_VEHICLE_ID_ADMIN_WEB is ", iData, " != \"", GET_LABEL_BUYABLE_VEHICLE(veh), "\" ", ENUM_TO_INT(vehModel)) #ENDIF ENDIF ENDIF ENDIF VEHICLE_VALUE_DATA sData SWITCH veh CASE BV_SC_ELEGY2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) BREAK CASE BV_CE_KHAMELION // Fix for 2023924 - Last gen CE players get these vehicles for free. IF IS_LAST_GEN_PLAYER() AND HAS_LAST_GEN_PLAYER_GOT_COLLECTORS_EDITION() RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iKHAMELION_WEB_PRICE_TUNABLES, TRUE) ENDIF // Didn't have SE/CE last gen. So the price of this is dictated by standard/tuneable price. RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iKHAMELION_WEB_PRICE_MODIFIER, bAltVersion) //SC/CE content always unlocked in Next Gen so this vehicle can never be out of stock. BREAK CASE BV_CE_HOTKNIFE // Fix for 2023924 - Last gen CE players get these vehicles for free. IF IS_LAST_GEN_PLAYER() AND HAS_LAST_GEN_PLAYER_GOT_COLLECTORS_EDITION() RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iHOTKNIFE_WEB_PRICE_TUNABLES, TRUE) ENDIF // Didn't have SE/CE last gen. So the price of this is dictated by standard/tuneable price. RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iHOTKNIFE_WEB_PRICE_MODIFIER, bAltVersion) //SC/CE content always unlocked in Next Gen so this vehicle can never be out of stock. BREAK CASE BV_CE_CARBONRS // Fix for 2023924 - Last gen CE players get these vehicles for free. IF IS_LAST_GEN_PLAYER() AND HAS_LAST_GEN_PLAYER_GOT_COLLECTORS_EDITION() RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iCARBONRS_WEB_PRICE_TUNABLES, TRUE) ENDIF // Didn't have SE/CE last gen. So the price of this is dictated by standard/tuneable price. RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iCARBONRS_WEB_PRICE_MODIFIER, bAltVersion) //SC/CE content always unlocked in Next Gen so this vehicle can never be out of stock. BREAK // Fix for 2454372 - Starter Pack - Make vehicles free on website CASE BV_C_BATI RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) BREAK CASE BV_C_COMET2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) BREAK CASE BV_P_STUNT RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) BREAK CASE BV_B_JETMAX RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) BREAK ENDSWITCH SWITCH veh // Beach Bum Pack DLC vehicles CASE BV_DLC_BIFTA IF IS_SBV_DLC_UNLOCKED(BV_DLC_BIFTA) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_KALAHARI IF IS_SBV_DLC_UNLOCKED(BV_DLC_KALAHARI) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iDLC_VEHICLE_Canis_Kalahari, FALSE) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_PARADISE IF IS_SBV_DLC_UNLOCKED(BV_DLC_PARADISE) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_SPEEDER IF IS_SBV_DLC_UNLOCKED(BV_DLC_SPEEDER) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK // Valentines pack DLC vehicles CASE BV_DLC_ROOSEVELT IF g_sMPTunables.bturnonvalentinesevent OR bMakeAdminVehIdAvailable OR g_sMPTunables.bTURN_ON_VALENTINE_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugAllowValentinesItems #ENDIF OR GET_PACKED_STAT_BOOL(PACKED_MP_STAT_PURCHASED_BTYPE) IF IS_SBV_DLC_UNLOCKED(BV_DLC_ROOSEVELT) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ivalentine_modifier_caddy_sedan, bAltVersion) ELSE RETURN -1 // HIDE VEHICLE ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK // Business pack DLC vehicles CASE BV_DLC_JESTER IF IS_SBV_DLC_UNLOCKED(BV_DLC_JESTER) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ibusiness_vehicles_Jester, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_MASSACRO IF IS_SBV_DLC_UNLOCKED(BV_DLC_MASSACRO) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ibusiness_vehicles_Massacro, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_TURISMO IF IS_SBV_DLC_UNLOCKED(BV_DLC_TURISMO) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ibusiness_vehicles_Turismor, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_ZENTORNO IF IS_SBV_DLC_UNLOCKED(BV_DLC_ZENTORNO) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ibusiness_vehicles_Zentorno, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_HUNTLEY IF IS_SBV_DLC_UNLOCKED(BV_DLC_HUNTLEY) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ibusiness_vehicles_Huntley, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_ALPHA IF IS_SBV_DLC_UNLOCKED(BV_DLC_ALPHA) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ibusiness_vehicles_Alpha, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_VESTRA IF IS_SBV_DLC_UNLOCKED(BV_DLC_VESTRA) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ibusinessvehiclesVestra, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_THRUST IF IS_SBV_DLC_UNLOCKED(BV_DLC_THRUST) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK // Hipster pack DLC vehicles CASE BV_DLC_BLADE IF IS_SBV_DLC_UNLOCKED(BV_DLC_BLADE) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_WARRENER IF IS_SBV_DLC_UNLOCKED(BV_DLC_WARRENER) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_GLENDALE IF IS_SBV_DLC_UNLOCKED(BV_DLC_GLENDALE) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_RHAPSODY IF IS_SBV_DLC_UNLOCKED(BV_DLC_RHAPSODY) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_PANTO IF IS_SBV_DLC_UNLOCKED(BV_DLC_PANTO) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_DUBSTA3 IF IS_SBV_DLC_UNLOCKED(BV_DLC_DUBSTA3) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_PIGALLE IF IS_SBV_DLC_UNLOCKED(BV_DLC_PIGALLE) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK //independence pack CASE BV_MP_LIBERATOR IF g_sMPTunables.bToggle_activate_Monster_truck #IF IS_DEBUG_BUILD OR g_bDebugAllowIndependenceItems #ENDIF OR GET_PACKED_STAT_BOOL(PACKED_MP_STAT_PURCHASED_MONSTER) IF IS_SBV_DLC_UNLOCKED(BV_MP_LIBERATOR) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iVehicle_IndependenceDay_MONSTER, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF else RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_MP_SOVEREIGN IF g_sMPTunables.bToggle_activate_Western_sovereign #IF IS_DEBUG_BUILD OR g_bDebugAllowIndependenceItems #ENDIF OR GET_PACKED_STAT_BOOL(PACKED_MP_STAT_PURCHASED_SOVEREIGN) IF IS_SBV_DLC_UNLOCKED(BV_MP_SOVEREIGN) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iVehicle_IndependenceDay_SOVEREIGN, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK // Pilot School pack DLC vehicles CASE BV_DLC_MILJET IF IS_SBV_DLC_UNLOCKED(BV_DLC_MILJET) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iPs_Buckingham_MilJet, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_BESRA IF IS_SBV_DLC_UNLOCKED(BV_DLC_BESRA) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iPs_Western_Besra, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_SWIFT IF IS_SBV_DLC_UNLOCKED(BV_DLC_SWIFT) DEBUG_PRINTCALLSTACK() IF NOT bAltVersion CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP(siteID, BV_DLC_SWIFT) - NOT bAltVersion selected, use g_sMPTunables.iPs_Swift_Livery_1") RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iPs_Swift_Livery_1, FALSE) ELSE CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP(siteID, BV_DLC_SWIFT) - bAltVersion selected, use g_sMPTunables.iPs_Swift_Livery_2") RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iPs_Swift_Livery_2, TRUE) ENDIF RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_MP_COQUETTE2 IF IS_SBV_DLC_UNLOCKED(BV_MP_COQUETTE2) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iPs_Inverto_Coquette_Classic, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_MP_COQUETTE2_TOPLESS IF IS_SBV_DLC_UNLOCKED(BV_MP_COQUETTE2_TOPLESS) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iPs_Inverto_Coquette_Classic_Topless, TRUE) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK // LTS pack DLC vehicles CASE BV_DLC_INNOVATION IF IS_SBV_DLC_UNLOCKED(BV_DLC_INNOVATION) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iLTS_LCC_Innovation, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_HAKUCHOU IF IS_SBV_DLC_UNLOCKED(BV_DLC_HAKUCHOU) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iLTS_Shitzu_Hakuchou, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_FUROREGT IF IS_SBV_DLC_UNLOCKED(BV_DLC_FUROREGT) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iLTS_Lampadati_Furore_GT, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_KALAHARI_TOPLESS IF IS_SBV_DLC_UNLOCKED(BV_DLC_KALAHARI_TOPLESS) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iLTS_Canis_Kalahari_Topless, TRUE) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK // Heist pack DLC vehicles CASE BV_DLC_VALKYRIE IF g_sMPTunables.btoggle_on_MP_vehicle_heist_valkryie #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_VALKRYIE) IF IS_SBV_DLC_UNLOCKED(BV_DLC_VALKYRIE) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_HYDRA IF g_sMPTunables.btoggle_on_MP_vehicle_heist_hydra #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_HYDRA) IF IS_SBV_DLC_UNLOCKED(BV_DLC_HYDRA) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_SAVAGE IF g_sMPTunables.btoggle_on_MP_vehicle_heist_savage #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_SAVAGE) IF IS_SBV_DLC_UNLOCKED(BV_DLC_SAVAGE) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_ENDURO // IF IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_ENDURO) // #IF IS_DEBUG_BUILD // OR g_bDebugAllowHeistItems // #ENDIF IF IS_SBV_DLC_UNLOCKED(BV_DLC_ENDURO) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF // ELSE // RETURN -1 // HIDE VEHICLE // ENDIF BREAK CASE BV_DLC_BOXVILLE4 IF g_sMPTunables.bUnlock_Boxville4 #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_BOXVILLE4) // IF IS_SBV_DLC_UNLOCKED(BV_DLC_BOXVILLE4) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) // ELSE // RETURN -3 // DISPLAY PACK NAME // ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_CASCO IF g_sMPTunables.btoggle_on_MP_vehicle_heist_CASCO #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_CASCO) IF IS_SBV_DLC_UNLOCKED(BV_DLC_CASCO) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_DINGHY3 IF g_sMPTunables.btoggle_on_MP_vehicle_heist_DINGHY3 #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_DINGHY3) // IF IS_SBV_DLC_UNLOCKED(BV_DLC_DINGHY3) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) // ELSE // RETURN -3 // DISPLAY PACK NAME // ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_GBURRITO2 IF g_sMPTunables.btoggle_on_MP_vehicle_heist_GBURRITO2 #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_GBURRITO2) IF IS_SBV_DLC_UNLOCKED(BV_DLC_GBURRITO2) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_GUARDIAN // IF IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_GUARDIAN) // #IF IS_DEBUG_BUILD // OR g_bDebugAllowHeistItems // #ENDIF IF IS_SBV_DLC_UNLOCKED(BV_DLC_GUARDIAN) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF // ELSE // RETURN -1 // HIDE VEHICLE // ENDIF BREAK CASE BV_DLC_INSURGENT IF g_sMPTunables.btoggle_on_MP_vehicle_heist_INSURGENT #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_INSURGENT) IF IS_SBV_DLC_UNLOCKED(BV_DLC_INSURGENT) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_INSURGENT2 IF g_sMPTunables.btoggle_on_MP_vehicle_heist_INSURGENT2 #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_INSURGENT2) IF IS_SBV_DLC_UNLOCKED(BV_DLC_INSURGENT2) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_MULE3 IF g_sMPTunables.bUnlock_Mule3 #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_MULE3) // IF IS_SBV_DLC_UNLOCKED(BV_DLC_Mule3) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) // ELSE // RETURN -3 // DISPLAY PACK NAME // ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_KURUMA IF g_sMPTunables.btoggle_on_MP_vehicle_heist_Kuruma #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_KURUMA) IF IS_SBV_DLC_UNLOCKED(BV_DLC_KURUMA) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_KURUMA2 IF g_sMPTunables.bUnlock_Kuruma2 #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_KURUMA2) IF IS_SBV_DLC_UNLOCKED(BV_DLC_KURUMA2) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_LECTRO IF g_sMPTunables.btoggle_on_MP_vehicle_heist_LECTRO #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_LECTRO) IF IS_SBV_DLC_UNLOCKED(BV_DLC_LECTRO) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_PBUS IF g_sMPTunables.btoggle_on_MP_vehicle_heist_PBUS #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_PBUS) // IF IS_SBV_DLC_UNLOCKED(BV_DLC_PBUS) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) // ELSE // RETURN -3 // DISPLAY PACK NAME // ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_TECHNICAL IF g_sMPTunables.btoggle_on_MP_vehicle_heist_TECHNICAL #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_TECHNICAL) IF IS_SBV_DLC_UNLOCKED(BV_DLC_TECHNICAL) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_VELUM2 IF g_sMPTunables.btoggle_on_MP_vehicle_heist_VELUM2 #IF IS_DEBUG_BUILD OR g_bDebugAllowHeistItems #ENDIF //OR IS_BUYABLE_VEHICLE_UNLOCKED(BV_DLC_VELUM2) IF IS_SBV_DLC_UNLOCKED(BV_DLC_VELUM2) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_MP_GRESLEY RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Bravado_Gresley, bAltVersion) BREAK CASE BV_MP_JACKAL RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Ocelot_Jackal, bAltVersion) BREAK CASE BV_MP_LANDSTALKER RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Dundreary_Landstalker, bAltVersion) BREAK CASE BV_MP_MESA3 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iVehicles_Heist_mesa3 , bAltVersion) BREAK CASE BV_MP_NEMESIS RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Principle_Nemesis, bAltVersion) BREAK CASE BV_MP_ORACLE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Ubermacht_Oracle, bAltVersion) BREAK CASE BV_MP_RUMPO RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Bravado_Rumpo, bAltVersion) BREAK CASE BV_MP_SCHAFTER2 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Benefactor_Schafter, bAltVersion) BREAK CASE BV_MP_SEMINOLE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Canis_Seminole, bAltVersion) BREAK CASE BV_MP_SURGE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iHesit_Vehicle_Price_Cheval_Surge, bAltVersion) BREAK // CG-NG vehicles CASE BV_NG_DODO IF IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_NG_MARSHALL IF IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_NG_SUBMERSIBLE2 IF IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_NG_BLISTA2 IF IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_NG_STALION IF IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_NG_DUKES IF IS_LAST_GEN_PLAYER() OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_NG_DUKES2 IF g_sMPTunables.bENABLE_RETURNING_CONTENT_DOD #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_NG_STALION2 IF IS_LAST_GEN_PLAYER() #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF CPRINTLN(DEBUG_INTERNET, "BV_NG_STALION2 is free for CG to NG") RETURN 0 ELSE IF g_sMPtunables.benablestunt_stallion OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF ENDIF BREAK CASE BV_NG_DOMINATOR2 IF IS_LAST_GEN_PLAYER() #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF CPRINTLN(DEBUG_INTERNET, "BV_NG_DOMINATOR2 is free for CG to NG") RETURN 0 ELSE IF g_sMPtunables.benablestunt_dominator OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF ENDIF BREAK CASE BV_NG_GAUNTLET2 IF IS_LAST_GEN_PLAYER() #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF CPRINTLN(DEBUG_INTERNET, "BV_NG_GAUNTLET2 is free for CG to NG") RETURN 0 ELSE IF g_sMPtunables.benablestunt_gauntlet OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF ENDIF BREAK CASE BV_NG_BUFFALO3 IF IS_LAST_GEN_PLAYER() #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF CPRINTLN(DEBUG_INTERNET, "BV_NG_BUFFALO3 is free for CG to NG") RETURN 0 ELSE IF g_sMPtunables.benablestunt_buffalo OR g_sMPTunables.bENABLE_RETURNING_CONTENT_VEHICLE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF ENDIF BREAK ENDSWITCH SWITCH veh // Christmas2 vehicles CASE BV_DLC_SLAMVAN IF NOT bAltVersion IF IS_SBV_DLC_UNLOCKED(BV_DLC_SLAMVAN) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF ELSE IF g_sMPTunables.bEnablelowrider2_Slamvan #IF IS_DEBUG_BUILD OR g_bDebugUnlockLowriderRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) ELSE CPRINTLN(DEBUG_INTERNET, "not enabled by tunable", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF ENDIF BREAK CASE BV_DLC_RATLOADER2 IF IS_SBV_DLC_UNLOCKED(BV_DLC_RATLOADER2) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_JESTER2 IF IS_SBV_DLC_UNLOCKED(BV_DLC_JESTER2) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iVehicle_xmas14_Dinka_Jester_Racecar, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_DLC_MASSACRO2 IF IS_SBV_DLC_UNLOCKED(BV_DLC_MASSACRO2) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iVehicle_xmas14_Dewbauchee_Massacro_Racecar, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK // Luxe vehicles CASE BV_LX_FELTZER3 IF IS_SBV_DLC_UNLOCKED(BV_LX_FELTZER3) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPtunables.iluxe1_website_benefactor_stirling_gt, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_LX_LUXOR2 IF IS_SBV_DLC_UNLOCKED(BV_LX_LUXOR2) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPtunables.iluxe1_website_buckingham_luxor_deluxe, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_LX_OSIRIS IF IS_SBV_DLC_UNLOCKED(BV_LX_OSIRIS) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPtunables.iluxe1_website_pegassi_osiris, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_LX_SWIFT2 IF IS_SBV_DLC_UNLOCKED(BV_LX_SWIFT2) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPtunables.iluxe1_website_buckingham_swift_deluxe, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_LX_VIRGO IF IS_SBV_DLC_UNLOCKED(BV_LX_VIRGO) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPtunables.iluxe1_website_albany_virgo, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK CASE BV_LX_WINDSOR IF IS_SBV_DLC_UNLOCKED(BV_LX_WINDSOR) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPtunables.iluxe1_website_enus_windsor, bAltVersion) ELSE RETURN -3 // DISPLAY PACK NAME ENDIF BREAK // Luxe2 vehicles CASE BV_L2_BRAWLER RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_smpTunables.iLuxe2_Coil_Brawler, bAltVersion) BREAK CASE BV_L2_CHINO IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_smpTunables.iLuxe2_Vapid_Chino, FALSE) ELSE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_smpTunables.iWebsite_Vapid_Chino__Bennys_Website_, TRUE) ENDIF BREAK CASE BV_L2_COQUETTE3 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_smpTunables.iLuxe2_Invetero_Coquette_BlackFin, bAltVersion) BREAK CASE BV_L2_T20 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_smpTunables.iLuxe2_Progen_T20, bAltVersion) BREAK CASE BV_L2_TORO RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_smpTunables.iLuxe2_Lampadati_Toro, bAltVersion) BREAK CASE BV_L2_VINDICATOR RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_smpTunables.iLuxe2_Dinka_Vindicator, bAltVersion) BREAK // Lowrider pack CASE BV_S1_PRIMO RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iWebsite_Albany_Primo, bAltVersion) BREAK CASE BV_S1_MOONBEAM RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iWebsite_Declasse_Moonbeam, bAltVersion) BREAK CASE BV_S1_FACTION RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iWebsite_Willard_Faction, bAltVersion) BREAK CASE BV_S1_BUCCANEER RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iWebsite_Albany_Buccaneer, bAltVersion) BREAK CASE BV_S1_VOODOO2 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iWebsite_Declasse_Voodoo, bAltVersion) BREAK // Halloween pack CASE BV_HA_BTYPE2 IF bMakeAdminVehIdAvailable OR g_sMPTunables.bTURN_ON_HALLOWEEN_VEHICLES #IF IS_DEBUG_BUILD OR g_bDebugUnlockHalloweenItems #ENDIF OR GET_PACKED_STAT_BOOL(PACKED_MP_STAT_PURCHASED_BTYPE2) IF IS_SBV_DLC_UNLOCKED(BV_HA_BTYPE2) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK ELSE RETURN -1 // HIDE VEHICLE ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_HA_LURCHER IF bMakeAdminVehIdAvailable OR g_sMPTunables.bTURN_ON_HALLOWEEN_VEHICLES #IF IS_DEBUG_BUILD OR g_bDebugUnlockHalloweenItems #ENDIF OR GET_PACKED_STAT_BOOL(PACKED_MP_STAT_PURCHASED_LURCHER) IF IS_SBV_DLC_UNLOCKED(BV_HA_LURCHER) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK ELSE RETURN -1 // HIDE VEHICLE ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK // Lowrider2 pack CASE BV_S2_VIRGO3 IF g_sMPTunables.bEnablelowrider2_Virgo3 #IF IS_DEBUG_BUILD OR g_bDebugUnlockLowriderRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iWEBSITE_BENNYS_DUNDREARY_VIRGO_CLASSIC, bAltVersion) ELSE CPRINTLN(DEBUG_INTERNET, "not enabled by tunable", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_S2_TORNADO IF g_sMPTunables.bEnablelowrider2_Tornado5 #IF IS_DEBUG_BUILD OR g_bDebugUnlockLowriderRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) ELSE CPRINTLN(DEBUG_INTERNET, "not enabled by tunable", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_S2_SABREGT IF g_sMPTunables.bEnablelowrider2_SabreGT #IF IS_DEBUG_BUILD OR g_bDebugUnlockLowriderRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) ELSE CPRINTLN(DEBUG_INTERNET, "not enabled by tunable", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_S2_FACTION_DONK IF g_sMPTunables.bEnablelowrider2_Faction #IF IS_DEBUG_BUILD OR g_bDebugUnlockLowriderRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) ELSE CPRINTLN(DEBUG_INTERNET, "not enabled by tunable", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_AP_BALLER3 IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Gallivanter_Baller_LE, FALSE) ELSE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Gallivanter_Baller_LE_Armored, TRUE) ENDIF BREAK CASE BV_AP_BALLER4 IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Gallivanter_Baller_LE_LWB, FALSE) ELSE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Gallivanter_Baller_LWB_Armored, TRUE) ENDIF BREAK CASE BV_AP_COG55 IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Enus_Cognoscenti_55, FALSE) ELSE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Enus_Cognoscenti_55_Armored, TRUE) ENDIF BREAK CASE BV_AP_COGNOSCENTI IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Enus_Cognoscenti, FALSE) ELSE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Enus_Cognoscenti_Armored, TRUE) ENDIF BREAK CASE BV_AP_LIMO2 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Benefactor_Schafter_Turreted_Limo, bAltVersion) BREAK CASE BV_AP_MAMBA RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Declasse_Mamba, bAltVersion) BREAK CASE BV_AP_NIGHTSHADE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Imponte_Night_Shade, bAltVersion) BREAK CASE BV_AP_SCHAFTER3 IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Benefactor_Schafter_V12, FALSE) ELSE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Benefactor_Schafter_V12_Armored, TRUE) ENDIF BREAK CASE BV_AP_SCHAFTER4 IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Benefactor_Schafter_LWB, FALSE) ELSE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Benefactor_Schafter_LWB_Armored, TRUE) ENDIF BREAK CASE BV_AP_VERLIERER2 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Bravado_Verlierer, bAltVersion) BREAK CASE BV_AP_SUPERVOLITO1 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Buckingham_SuperVolito, bAltVersion) BREAK CASE BV_AP_SUPERVOLITO2 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iApartment_Website_Buckingham_SuperVolito_Carbon, bAltVersion) BREAK CASE BV_DLC_BIG_YACHT IF NOT g_sMPTunables.byacht_disable_purchase AND NOT FMMC_CURRENTLY_USING_PLAYER_OWNED_YACHT() // IF IS_SBV_DLC_UNLOCKED(BV_DLC_BIG_YACHT) RETURN 1//CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), 27000000, bAltVersion) // ELSE // RETURN -1 // HIDE VEHICLE // ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_DLC_BIG_TRUCK RETURN 1 //CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), 27000000, bAltVersion) CASE BV_DLC_BALLISTIC_EQUIPMENT RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK CASE BV_X3_TAMPA IF bMakeAdminVehIdAvailable OR g_sMPTunables.bXMAS2015_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugUnlockChristmasRewardItems #ENDIF OR GET_PACKED_STAT_BOOL(PACKED_MP_STAT_PURCHASED_TAMPA) IF IS_SBV_DLC_UNLOCKED(BV_X3_TAMPA) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iXmas2015_Declasse_Tampa, bAltVersion) BREAK ELSE RETURN -1 // HIDE VEHICLE ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_JA_SULTAN RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK CASE BV_C_BANSHEE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK CASE BV_V2_ROOSEVELT2 IF g_sMPTunables.bturnonvalentinesevent OR bMakeAdminVehIdAvailable OR g_sMPTunables.bTURN_ON_VALENTINE_2016_VEHICLE #IF IS_DEBUG_BUILD OR g_bDebugAllowValentinesItems #ENDIF OR GET_PACKED_STAT_BOOL(PACKED_MP_STAT_PURCHASED_BTYPE3) IF IS_SBV_DLC_UNLOCKED(BV_V2_ROOSEVELT2) RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK ELSE RETURN -1 // HIDE VEHICLE ENDIF ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_EX_VOLATUS RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK CASE BV_EX_CARGOBOB2 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK CASE BV_EX_RUMPO3 RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK CASE BV_EX_BRICKADE RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK CASE BV_EX_NIMBUS RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), -1, bAltVersion) BREAK CASE BV_DLC_BIG_PLANE RETURN 1 //CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), 27000000, bAltVersion) CASE BV_DLC_HACKER_TRUCK IF HAS_MP_HACKER_TRUCK_ACCESS() RETURN 1//CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), 27000000, bAltVersion) ELSE RETURN -1 // HIDE VEHICLE ENDIF BREAK #IF FEATURE_HEIST_ISLAND CASE BV_IH_KOSATKA RETURN 1 BREAK #ENDIF ENDSWITCH // Get price for alt version of vehicle SWITCH veh CASE BV_DLC_COQUETTE_TOPLESS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, TRUE) CASE BV_C_BANSHEE_TOPLESS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, TRUE) CASE BV_DLC_STINGER_TOPLESS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, TRUE) CASE BV_DLC_VOLTIC_HARDTOP RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ivoltic_expenditure_modifier, TRUE) ENDSWITCH // Get price based on tunables SWITCH veh CASE BV_C_VENEM RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iadder_expenditure_MODIFIER, bAltVersion) // ADDER CASE BV_MP_AIRBUS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iairbus_expenditure_MODIFIER, bAltVersion) CASE BV_C_AKUMA RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iakuma_expenditure_MODIFIER, bAltVersion) CASE BV_MP_ANNIHILATOR RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iannihilator_expenditure_MODIFIER, bAltVersion) CASE BV_C_BALLER2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iballer2_expenditure_MODIFIER, bAltVersion) CASE BV_C_BANSHEE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibanshee_expenditure_MODIFIER, bAltVersion) CASE BV_A_BARRACKS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibarracks_expenditure_MODIFIER, bAltVersion) CASE BV_MP_BATI2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibati2_expenditure_MODIFIER, bAltVersion) CASE BV_C_BFINJECTION RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibfinjection_expenditure_MODIFIER, bAltVersion) CASE BV_MP_BISON RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibison_expenditure_MODIFIER, bAltVersion) CASE BV_C_BLAZER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iblazer_expenditure_MODIFIER, bAltVersion) CASE BV_C_BMX RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibmx_expenditure_MODIFIER, bAltVersion) CASE BV_MP_BULLET RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibullet_expenditure_MODIFIER, bAltVersion) CASE BV_MP_BUS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibus_expenditure_MODIFIER, bAltVersion) CASE BV_A_BUZZARD RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibuzzard_expenditure_MODIFIER, bAltVersion) CASE BV_MP_CARBONIZZARE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icarbonizzare_expenditure_MODIFIER, bAltVersion) CASE BV_A_CARGOBOB RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) CASE BV_C_CAVALCADE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icavalcade_expenditure_MODIFIER, bAltVersion) CASE BV_C_CHEETAH RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icheetah_expenditure_MODIFIER, bAltVersion) CASE BV_MP_COACH RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icoach_expenditure_MODIFIER, bAltVersion) CASE BV_C_COGCABRIO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icogcabrio_expenditure_MODIFIER, bAltVersion) CASE BV_MP_COQUETTE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icoquette_expenditure_MODIFIER, bAltVersion) CASE BV_C_CRUISER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icruiser_expenditure_MODIFIER, bAltVersion) CASE BV_A_CRUSADER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icrusader_expenditure_MODIFIER, bAltVersion) CASE BV_P_CUBAN RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.icuban800_expenditure_MODIFIER, bAltVersion) CASE BV_C_DILETTANTE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.idilettante_expenditure_MODIFIER, bAltVersion) CASE BV_MP_DOUBLE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.idouble_expenditure_MODIFIER, bAltVersion) CASE BV_MP_DUMP RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.idump_expenditure_MODIFIER, bAltVersion) CASE BV_P_DUSTER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iduster_expenditure_MODIFIER, bAltVersion) CASE BV_C_ENTITYXF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ientityxf_expenditure_MODIFIER, bAltVersion) CASE BV_C_EXEMPLAR RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iexemplar_expenditure_MODIFIER, bAltVersion) CASE BV_C_FAGGIO2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ifaggio2_expenditure_MODIFIER, bAltVersion) CASE BV_C_FELON RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ifelon_expenditure_MODIFIER, bAltVersion) CASE BV_MP_FELON2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iFelon2_expenditure_MODIFIER, bAltVersion) CASE BV_C_FELTZER2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ifeltzer2_expenditure_MODIFIER, bAltVersion) CASE BV_P_FROGGER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ifrogger_expenditure_MODIFIER, bAltVersion) CASE BV_C_FUGITIVE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ifugitive_expenditure_MODIFIER, bAltVersion) CASE BV_C_GAUNTLET RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.igauntlet_expenditure_MODIFIER, bAltVersion) CASE BV_MP_HEXER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ihexer_expenditure_MODIFIER, bAltVersion) CASE BV_C_INFERNUS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iinfernus_expenditure_MODIFIER, bAltVersion) CASE BV_C_ISSI2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iissi2_expenditure_MODIFIER, bAltVersion) CASE BV_C_JB700 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ijb700_expenditure_MODIFIER, bAltVersion) CASE BV_MP_JOURNEY RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ijourney_expenditure_MODIFIER, bAltVersion) CASE BV_P_LUXOR RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iluxor_expenditure_MODIFIER, bAltVersion) CASE BV_MP_MAMMATUS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.imammatus_expenditure_MODIFIER, bAltVersion) CASE BV_B_MARQUIS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.imarquis_expenditure_MODIFIER, bAltVersion) CASE BV_P_MAVERICK RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.imaverick_expenditure_MODIFIER, bAltVersion) CASE BV_C_MONROE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.imonroe_expenditure_MODIFIER, bAltVersion) CASE BV_MP_MULE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.imule_expenditure_MODIFIER, bAltVersion) CASE BV_C_NINEF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ininef_expenditure_MODIFIER, bAltVersion) CASE BV_MP_NINEF2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ininef2_expenditure_MODIFIER, bAltVersion) CASE BV_C_ORACLE2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ioracle2_expenditure_MODIFIER, bAltVersion) CASE BV_C_PCJ RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ipcj_expenditure_MODIFIER, bAltVersion) CASE BV_MP_RAPIDGT RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.irapidgt_expenditure_MODIFIER, bAltVersion) CASE BV_MP_RAPIDGT2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.irapidgt2_expenditure_MODIFIER, bAltVersion) CASE BV_MP_RENTALBUS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.irentalbus_expenditure_MODIFIER, bAltVersion) CASE BV_A_RHINO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.irhino_expenditure_MODIFIER, bAltVersion) CASE BV_C_ROCOTO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.irocoto_expenditure_MODIFIER, bAltVersion) CASE BV_C_RUFFIAN RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iruffian_expenditure_MODIFIER, bAltVersion) CASE BV_C_SANCHEZ RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isanchez_expenditure_MODIFIER, bAltVersion) CASE BV_C_SANDKING RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isandking_expenditure_MODIFIER, bAltVersion) CASE BV_C_SCHWARZER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ischwarzer_expenditure_MODIFIER, bAltVersion) CASE BV_C_SCORCHER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iscorcher_expenditure_MODIFIER, bAltVersion) CASE BV_B_SEASHARK RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iseashark_expenditure_MODIFIER, bAltVersion) CASE BV_P_SHAMAL RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ishamal_expenditure_MODIFIER, bAltVersion) CASE BV_B_SQUALO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isqualo_expenditure_MODIFIER, bAltVersion) CASE BV_C_STINGER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.istinger_expenditure_MODIFIER, bAltVersion) CASE BV_MP_STINGERGT RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.istingergt_expenditure_MODIFIER, bAltVersion) CASE BV_MP_STRETCH RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.istretch_expenditure_MODIFIER, bAltVersion) CASE BV_B_SUNTRAP RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isuntrap_expenditure_MODIFIER, bAltVersion) CASE BV_C_SUPERD RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isuperd_expenditure_MODIFIER, bAltVersion) CASE BV_C_SURANO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isurano_expenditure_MODIFIER, bAltVersion) CASE BV_A_TITAN RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ititan_expenditure_MODIFIER, bAltVersion) CASE BV_C_WHIPPET RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.itribike_expenditure_MODIFIER, bAltVersion) CASE BV_C_ENDUREX RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.itribike2_expenditure_MODIFIER, bAltVersion) CASE BV_C_TRICYCLE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.itribike3_expenditure_MODIFIER, bAltVersion) CASE BV_B_TROPIC RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.itropic_expenditure_MODIFIER, bAltVersion) CASE BV_C_VACCA RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ivacca_expenditure_MODIFIER, bAltVersion) CASE BV_C_VADER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ivader_expenditure_MODIFIER, bAltVersion) CASE BV_MP_VELUM RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ivelum_expenditure_MODIFIER, bAltVersion) CASE BV_C_VIGERO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ivigero_expenditure_MODIFIER, bAltVersion) CASE BV_MP_VOLTIC RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ivoltic_expenditure_MODIFIER, bAltVersion) CASE BV_C_ZION RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.izion_expenditure_MODIFIER, bAltVersion) CASE BV_MP_ZION2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.izion2_expenditure_MODIFIER, bAltVersion) CASE BV_C_ZTYPE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iztype_expenditure_MODIFIER, bAltVersion) // Beach Bum Pack extra unlocks CASE BV_MP_BODHI2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iBODHI2_expenditure_MODIFIER, bAltVersion) CASE BV_MP_DUNE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.idune_expenditure_MODIFIER, bAltVersion) CASE BV_MP_REBEL RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.irebel_expenditure_MODIFIER, bAltVersion) CASE BV_MP_SADLER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isadler_expenditure_MODIFIER, bAltVersion) CASE BV_MP_SANCHEZ2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isanchez2_expenditure_MODIFIER, bAltVersion) CASE BV_MP_SANDKINGSWB RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.isandking2_expenditure_MODIFIER, bAltVersion) // Business pack extra unlocks CASE BV_MP_ASEA RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iAsea_expenditure_MODIFIER, bAltVersion) CASE BV_MP_ASTEROPE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Asterope) CASE BV_MP_BOBCATXL RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_bobcatxl) CASE BV_MP_CAVALCADE2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Cavalcade2) CASE BV_MP_GRANGER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Granger) CASE BV_MP_INGOT RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Ingot) CASE BV_MP_INTRUDER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Intruder) CASE BV_EX_TUG RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_EX_WINDSOR2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_EX_PROTOTIPO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_EX_FMJ RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_EX_BESTIAGTS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_EX_XLS IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iEXEC1_BENEFACTOR_XLS, FALSE) ELSE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.iEXEC1_BENEFACTOR_XLS_ARMORED, TRUE) ENDIF BREAK CASE BV_EX_SEVEN70 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_EX_PFISTER811 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_EX_REAPER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_MP_MINIVAN IF NOT bAltVersion RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, g_sMPTunables.ibusiness_vehicles_Minivan, bAltVersion) ELSE IF g_sMPTunables.bEnablelowrider2_Minivan #IF IS_DEBUG_BUILD OR g_bDebugUnlockLowriderRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(GET_MODEL_FOR_BUYABLE_VEHICLE(veh), g_sMPTunables.iWEBSITE_BENNYS_VAPID_MINIVAN, bAltVersion) ELSE CPRINTLN(DEBUG_INTERNET, "not enabled by tunable", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF ENDIF BREAK CASE BV_MP_PREMIER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Premier) CASE BV_MP_RADIUS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Radi) CASE BV_MP_RANCHERXL RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Rancherxl) CASE BV_MP_RATLOADER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ivalentine_vehicle_RATLOADER) CASE BV_MP_STANIER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Stanier) CASE BV_MP_STRATUM RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Stratum) CASE BV_MP_WASHINGTON RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.ibusiness_vehicles_Washington) // Business pack 2 unlocks CASE BV_MP_DOMINATOR RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_MP_F620 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_MP_FUSILADE RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_MP_PENUMBRA RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_MP_SENTINEL RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) CASE BV_MP_SENTINEL2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) // Extras - Hipster CASE BV_MP_PICADOR RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Picador) CASE BV_MP_REGINA RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Regina) CASE BV_MP_SURFER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_SURFER) CASE BV_MP_YOUGA RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Youga) CASE BV_MP_BLAZER3 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Blazer3) CASE BV_MP_REBEL2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Rebel2) CASE BV_MP_PRIMO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Primo) CASE BV_MP_BUFFALO RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Buffalo) CASE BV_MP_BUFFALO2 RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Buffalo2) CASE BV_MP_TAILGATER RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) //g_sMPTunables.iDLC_hipster_modifier_Tailgater) ENDSWITCH SWITCH veh CASE BV_ST_LE7B IF g_sMPtunables.benablestunt_le7b #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_OMNIS IF g_sMPtunables.benablestunt_omnis #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_TROPOS IF g_sMPtunables.benablestunt_tropos_rallye #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_BRIOSO IF g_sMPtunables.benablestunt_brioso_ra #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_TROPHYTRUCK IF g_sMPtunables.benablestunt_trophy_truck #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_TROPHYTRUCK2 IF g_sMPTunables.bEnableStunt_trophy_car #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_CONTENDER IF g_sMPtunables.benablestunt_contender #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_CLIFFHANGER IF g_sMPtunables.benablestunt_cliffhanger #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_BF400 IF g_sMPtunables.benablestunt_bf400 #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_TYRUS IF g_sMPtunables.benablestunt_tyrus #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_LYNX IF g_sMPtunables.bEnableStunt_lynx #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_SHEAVA IF g_sMPtunables.bEnableStunt_lfa #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_RALLYTRUCK IF g_sMPtunables.benablestunt_rally_truck #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_TAMPA2 IF g_sMPtunables.benablestunt_drift_tampa #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_ST_GARGOYLE IF g_sMPtunables.benablestunt_bike_o_death #IF IS_DEBUG_BUILD OR g_bDebugUnlockStuntRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_BAGGER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_ESSKEY IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_NIGHTBLADE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_DEFILER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_AVARUS IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_ZOMBIEA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_ZOMBIEB IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_CHIMERA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_DAEMON2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_RATBIKE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_SHOTARO IF g_sMPtunables.bENABLE_BIKER_SHOTARO #IF IS_DEBUG_BUILD OR g_bDebugUnlockBikerRewardItems #ENDIF OR IS_MP_VEHICLE_UNLOCKED(PLAYER_VEHICLE_SHOTARO) IF g_sMPTunables.iDEADLINE_VEHICLE_UNLOCK_PLAYS = 0 #IF IS_DEBUG_BUILD OR g_bDebugUnlockBikerRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELIF g_sMPTunables.iDEADLINE_VEHICLE_UNLOCK_PLAYS = -1 RETURN -1 ELSE INT iDeadlinePlayed iDeadlinePlayed = GET_MP_INT_CHARACTER_STAT(MP_STAT_CRDEADLINE) CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP iDeadlinePlayed ", iDeadlinePlayed, " >= ", g_sMPTunables.iDEADLINE_VEHICLE_UNLOCK_PLAYS) IF iDeadlinePlayed >= g_sMPTunables.iDEADLINE_VEHICLE_UNLOCK_PLAYS RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ENDIF RETURN -1 ENDIF ELSE RETURN -1 ENDIF BREAK CASE BV_BI_RAPTOR IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_HAKUCHOU2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_VORTEX IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_BLAZER4 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_SANCTUS IF bMakeAdminVehIdAvailable OR IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_MANCHEZ IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_TORNADO6 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_YOUGA2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_WOLFSBANE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_FAGGIO3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BI_FAGGIO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_DUNE5 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_PHANTOM2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_TECHNICAL2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_BLAZER5 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_BOXVILLE5 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_WASTELANDER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_RUINER2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_VOLTIC2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_PENETRATOR IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_TEMPESTA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_ITALIGTB IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_NERO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_DIABLOUS IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_FCR IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_IE_SPECTER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SR_GP1 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SR_INFERNUS2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SR_RUSTON IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SR_TURISMO2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_CHEETAH2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_TORERO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_VAGNER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_XA21 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_APC IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_DUNE3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_HALFTRACK IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_OPPRESSOR IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_TAMPA3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_TRAILERSMALL2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_ARDENT IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GR_NIGHTSHARK IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_LAZER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_MICROLIGHT IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_MOGUL IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_ROGUE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_STARLING IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_SEABREEZE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_TULA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_PYRO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_MOLOTOK IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_NOKOTA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_BOMBUSHKA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_HUNTER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_HAVOK IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_HOWARD IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_ALPHAZ1 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_CYCLONE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_VISIONE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_RETINUE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_RAPIDGT3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_SM_VIGILANTE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_DELUXO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_STROMBERG IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_RIOT2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_CHERNOBOG IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_KHANJALI IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_AKULA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_THRUSTER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_BARRAGE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_VOLATOL IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_COMET4 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_NEON IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_STREITER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_SENTINEL3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_YOSEMITE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_SC1 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_AUTARCH IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_GT500 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_HUSTLER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_REVOLTER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_PARIAH IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_RAIDEN IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_SAVESTRA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_RIATA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_HERMES IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_COMET5 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_Z190 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_VISERIS IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_GO_KAMACHO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_GB200 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_FAGALOA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_ELLIE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_ISSI3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_MICHELLI IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_FLASHGT IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_HOTRING IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_TEZERACT IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_TYRANT IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_DOMINATOR3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_TAIPAN IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_ENTITY2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_JESTER3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_CHEBUREK IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_CARACARA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AR_SEASPARROW IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_MULE4 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_POUNDER2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_SWINGER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_MENACER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_SCRAMJET IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_STRIKEFORCE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_OPPRESSOR2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_PATRIOT2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_STAFFORD IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_FREECRAWLER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_FUTO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_RUINER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_ROMERO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_PRAIRIE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_BALLER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_SERRANO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_BJXL IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_HABANERO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_FQ2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_PATRIOT IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_BLIMP3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_BB_PBUS2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_CERBERUS IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_CERBERUS2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_CERBERUS3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_BRUTUS IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_BRUTUS2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_BRUTUS3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_SCARAB IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_SCARAB2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_SCARAB3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_IMPERATOR IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_IMPERATOR2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_IMPERATOR3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_ZR380 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_ZR3802 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_ZR3803 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_IMPALER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_MP_BLISTA3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) IF GET_PACKED_STAT_INT(PACKED_MP_INT_ARENA_HIGHEST_SKILL_ACH) >= 20 #IF IS_DEBUG_BUILD OR g_bDebugUnlockArenaWarsRewardItems #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF ELSE RETURN -1 ENDIF BREAK CASE BV_AW_VAMOS IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_TULIP IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_DEVESTE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_SCHLAGEN IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_TOROS IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_DEVIANT IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_CLIQUE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_ITALIGTO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_AW_RCBANDITO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) ELSE RETURN -1 ENDIF BREAK ENDSWITCH SWITCH veh CASE BV_CA_THRAX IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_DRAFTER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_LOCUST IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_NOVAK IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_ZORRUSSO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_GAUNTLET3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_ISSI7 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_ZION3 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_NEBULA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_HELLION IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_DYNASTY IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_RROCKET IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_PEYOTE2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_GAUNTLET4 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_CARACARA2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_JUGULAR IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_S80 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_KRIEGER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_EMERUS IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_NEO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CA_PARAGON IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK #IF FEATURE_CASINO_HEIST CASE BV_CH_FIRETRUK IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_BURRITO2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_BOXVILLE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_STOCKADE IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_LGUARD IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_BLAZER2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_JB7002 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_ZHABA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_MINITANK IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_STRYDER IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_VSTR IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_FORMULA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_IMORGON IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_FORMULA2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_FURIA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_REBLA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_VAGRANT IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_RETINUE2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_YOSEMITE2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_KOMODA IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_SULTAN2 IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_SUGOI IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_EVERON IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_ASBO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_KANJO IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK CASE BV_CH_OUTLAW IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK #ENDIF // #IF FEATURE_COPS_N_CROOKS // CASE BV_CNC_SURFER3 // CASE BV_CNC_ZOKU // CASE BV_CNC_POLBATI // CASE BV_CNC_POLBUFFALO // CASE BV_CNC_POLGAUNTLET // CASE BV_CNC_POLGRANGER // CASE BV_CNC_POLICE5 // CASE BV_CNC_POLICE6 // CASE BV_CNC_POLICEB2 // CASE BV_CNC_POLICET2 // CASE BV_CNC_POLPANTO // CASE BV_CNC_POLCARACARA // CASE BV_CNC_POLRIATA // CASE BV_CNC_POLGREENWOOD // #ENDIF // Summer Pack 2020 CASE BV_SUM_CLUB CASE BV_SUM_DUKES3 CASE BV_SUM_YOSEMITE3 CASE BV_SUM_PENUMBRA2 CASE BV_SUM_LANDSTALKER2 CASE BV_SUM_SEMINOLE2 CASE BV_SUM_TIGON CASE BV_SUM_OPENWHEEL1 CASE BV_SUM_OPENWHEEL2 CASE BV_SUM_COQUETTE4 CASE BV_SUM_PEYOTE CASE BV_SUM_MANANA CASE BV_IH_ITALIRSX CASE BV_IH_SLAMTRUCK CASE BV_IH_BRIOSO2 CASE BV_IH_WEEVIL CASE BV_IH_ALKONOST CASE BV_IH_ANNIHILATOR2 // CASE BV_IH_AVISA CASE BV_IH_DINGHY5 CASE BV_IH_MANCHEZ2 CASE BV_IH_PATROLBOAT // CASE BV_IH_SEASPARROW2 CASE BV_IH_SQUADDIE CASE BV_IH_TOREADOR CASE BV_IH_VERUS CASE BV_IH_VETIR CASE BV_IH_WINKY CASE BV_IH_LONGFIN CASE BV_IH_VETO CASE BV_IH_VETO2 CASE BV_TU_ZR350 CASE BV_TU_COMET6 CASE BV_TU_JESTER4 CASE BV_TU_VECTRE CASE BV_TU_CYPHER CASE BV_TU_TAILGATER2 CASE BV_TU_EUROS CASE BV_TU_GROWLER CASE BV_TU_CALICO CASE BV_TU_REMUS CASE BV_TU_DOMINATOR7 CASE BV_TU_FUTO2 CASE BV_TU_RT3000 CASE BV_TU_WARRENER2 CASE BV_TU_SULTAN3 CASE BV_TU_DOMINATOR8 CASE BV_TU_PREVION #IF FEATURE_FIXER CASE BV_AGENCY_COMET7 CASE BV_AGENCY_SHINOBI CASE BV_AGENCY_REEVER CASE BV_AGENCY_BALLER7 CASE BV_AGENCY_CINQUEMILA CASE BV_AGENCY_JUBILEE CASE BV_AGENCY_ASTRON CASE BV_AGENCY_DEITY CASE BV_AGENCY_ZENO CASE BV_AGENCY_CHAMPION CASE BV_AGENCY_IGNUS CASE BV_AGENCY_BUFFALO4 CASE BV_AGENCY_GRANGER2 CASE BV_AGENCY_IWAGEN CASE BV_AGENCY_PATRIOT3 #ENDIF #IF FEATURE_GEN9_EXCLUSIVE CASE BV_G9E_S95 CASE BV_G9E_ARBITERGT CASE BV_G9E_ASTRON2 CASE BV_G9E_CYCLONE2 CASE BV_G9E_IGNUS2 #ENDIF #IF FEATURE_DLC_1_2022 CASE BV_SUM2_TENF CASE BV_SUM2_SM722 CASE BV_SUM2_TORERO2 CASE BV_SUM2_CORSITA CASE BV_SUM2_LM87 CASE BV_SUM2_OMNISEGT CASE BV_SUM2_RHINEHART CASE BV_SUM2_POSTLUDE CASE BV_SUM2_KANJOSJ CASE BV_SUM2_VIGERO2 CASE BV_SUM2_RUINER4 CASE BV_SUM2_DRAUGUR CASE BV_SUM2_GREENWOOD CASE BV_SUM2_CONADA #ENDIF IF IS_VEH_ENABLED_BY_TUNABLE(siteID, vehModel) RETURN CHECK_DLC_BUYABLE_PRICE(vehModel, GET_EXPENDITURE_MODIFIER_FOR_BUYABLE_VEHICLE(veh), bAltVersion) ELSE RETURN -1 ENDIF BREAK ENDSWITCH CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP fell through the main switch for current vehicle \"", GET_LABEL_BUYABLE_VEHICLE(veh), "\"!") // Get car price based on market value INT iStandardPrice = CHECK_DLC_BUYABLE_PRICE(vehModel, -1, bAltVersion) IF iStandardPrice != -1 RETURN sData.iStandardPrice ENDIF CASSERTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP fell through the main switch for current vehicle \"", GET_LABEL_BUYABLE_VEHICLE(veh), "\"!") // Shouldn't reach here - hide unknown vehicles CERRORLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_MP: ", GET_LABEL_BUYABLE_VEHICLE(veh), " missing - hide unknown vehicles") RETURN -1 ENDFUNC FUNC INT GET_BIG_YACHT_MP_PRICE_MP(BOOL bOwnsYacht, INT iYachtColour, INT iYachtLighting, INT iYachtFlag, INT iYachtMod, INT iYachtFixture, STRING sYachtName, INT &iYachtColourPrice, INT &iYachtLightingPrice, INT &iYachtFlagPrice, INT &iYachtModPrice, INT &iYachtFixturePrice, INT &iYachtNamePrice) INT iPrice = 0 iYachtModPrice = 0 iYachtFlagPrice = 0 iYachtColourPrice = 0 iYachtLightingPrice = 0 iYachtFixturePrice = 0 iYachtNamePrice = 0 // INT iStatBitSet[NUMBER_OF_IPL_BITSETS] // INT GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD), GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE), GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING) // GET_YACHT_IPL_BITSET_FOR_SITE_FROM_STAT(iStatBitSet, GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD), GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE), GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING)) // IF NOT bOwnsYacht INT iNewModPrice = 0 SWITCH iYachtMod CASE 0 CASE 3 iNewModPrice = g_sMPTunables.iApartment_Purchase_Model_The_Orion_First_Purchase BREAK CASE 1 CASE 4 iNewModPrice = g_sMPTunables.iApartment_Purchase_Model_The_Pisces_First_Purchase BREAK CASE 2 CASE 5 iNewModPrice = g_sMPTunables.iApartment_Purchase_Model_The_Aquarius_First_Purchase BREAK DEFAULT CASSERTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: unknown base mod $", iPrice, " (", iYachtMod, " $", iNewModPrice, ")") BREAK ENDSWITCH iPrice += iNewModPrice iYachtModPrice = iNewModPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: base mod $", iPrice, " (", iYachtMod, " $", iNewModPrice, ")") ELSE //IF iYachtMod != GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD) INT iStoredMod = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD) CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: iStoredMod = ", iStoredMod) IF (iYachtMod = 0 AND iStoredMod != 0 AND iStoredMod != 3) OR (iYachtMod = 1 AND iStoredMod != 1 AND iStoredMod != 4) OR (iYachtMod = 2 AND iStoredMod != 2 AND iStoredMod != 5) OR (iYachtMod = 3 AND iStoredMod != 0 AND iStoredMod != 3) OR (iYachtMod = 4 AND iStoredMod != 1 AND iStoredMod != 4) OR (iYachtMod = 5 AND iStoredMod != 2 AND iStoredMod != 5) INT iNewModPrice = 0 SWITCH iYachtMod CASE 0 CASE 3 iNewModPrice = g_sMPTunables.iApartment_Mod_Upgrade_Model_The_Orion_Mod BREAK CASE 1 CASE 4 iNewModPrice = g_sMPTunables.iApartment_Mod_Upgrade_Model_The_Pisces_Mod BREAK CASE 2 CASE 5 iNewModPrice = g_sMPTunables.iApartment_Mod_Upgrade_Model_The_Aquarius_Mod BREAK DEFAULT CASSERTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: unknown new mod $", iPrice, " (", iYachtMod, " $", iNewModPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD), ")") BREAK ENDSWITCH iPrice += iNewModPrice iYachtModPrice = iNewModPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: new mod $", iPrice, " (", iYachtMod, " $", iNewModPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD), ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: same mod $", iPrice, " (", iYachtMod, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD), ")") ENDIF ENDIF // IF NOT bOwnsYacht INT iNewFixturePrice = 0 SWITCH iYachtFixture CASE 0 iNewFixturePrice = 0 BREAK CASE 1 iNewFixturePrice = g_sMPTunables.iApartment_Mod_Upgrade_Gold_Fittings BREAK DEFAULT CASSERTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: unknown fixture $", iPrice, " (", iYachtFixture, " $", iNewFixturePrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE), ")") BREAK ENDSWITCH iPrice += iNewFixturePrice iYachtFixturePrice = iNewFixturePrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: base fixture $", iPrice, " (", iYachtFixture, " $", iNewFixturePrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE), ")") ELIF iYachtFixture != GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE) INT iNewFixturePrice = 0 SWITCH iYachtFixture CASE 0 iNewFixturePrice = g_sMPTunables.iApartment_Mod_Upgrade_Chrome_Fittings BREAK CASE 1 iNewFixturePrice = g_sMPTunables.iApartment_Mod_Upgrade_Gold_Fittings BREAK DEFAULT CASSERTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: unknown fixture $", iPrice, " (", iYachtFixture, " $", iNewFixturePrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE), ")") BREAK ENDSWITCH iPrice += iNewFixturePrice iYachtFixturePrice = iNewFixturePrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: new fixture $", iPrice, " (", iYachtFixture, " $", iNewFixturePrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE), ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: same fixture $", iPrice, " (", iYachtFixture, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE), ")") ENDIF // IF NOT bOwnsYacht INT iNewLightingPrice = 0 SWITCH iYachtLighting CASE 0 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Gold BREAK CASE 1 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Blue BREAK CASE 2 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Rose BREAK CASE 3 iNewLightingPrice = 0 BREAK CASE 4 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Gold BREAK CASE 5 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Blue BREAK CASE 6 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Rose BREAK CASE 7 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Green BREAK DEFAULT CASSERTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: unknown lighting $", iPrice, " (", iYachtLighting, " $", iNewLightingPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING), ")") BREAK ENDSWITCH iPrice += iNewLightingPrice iYachtLightingPrice = iNewLightingPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: base lighting $", iPrice, " (", iYachtLighting, " $", iNewLightingPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING), ")") ELIF iYachtLighting != GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING) INT iNewLightingPrice = 0 SWITCH iYachtLighting CASE 0 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Gold BREAK CASE 1 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Blue BREAK CASE 2 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Rose BREAK CASE 3 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Green BREAK CASE 4 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Gold BREAK CASE 5 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Blue BREAK CASE 6 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Rose BREAK CASE 7 iNewLightingPrice = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Green BREAK DEFAULT CASSERTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: unknown lighting $", iPrice, " (", iYachtLighting, " $", iNewLightingPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING), ")") BREAK ENDSWITCH iPrice += iNewLightingPrice iYachtLightingPrice = iNewLightingPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: new lighting $", iPrice, " (", iYachtLighting, " $", iNewLightingPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING), ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: same lighting $", iPrice, " (", iYachtLighting, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING), ")") ENDIF // IF NOT bOwnsYacht INT iNewColourPrice = 0 SWITCH iYachtColour CASE 0 iNewColourPrice = 0 BREAK CASE 1 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Azure BREAK CASE 2 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Nautical BREAK CASE 3 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Continental BREAK CASE 4 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Battleship BREAK CASE 5 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Intrepid BREAK CASE 6 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Uniform BREAK CASE 7 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Classico BREAK CASE 8 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Mediterranean BREAK CASE 9 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Command BREAK CASE 10 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Mariner BREAK CASE 11 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Ruby BREAK CASE 12 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Vintage BREAK CASE 13 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Pristine BREAK CASE 14 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Merchant BREAK CASE 15 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Voyager BREAK DEFAULT CASSERTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: unknown colour $", iPrice, " (", iYachtColour, " $", iNewColourPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_COLOR), ")") BREAK ENDSWITCH iPrice += iNewColourPrice iYachtColourPrice = iNewColourPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: base colour $", iPrice, " (", iYachtColour, " $", iNewColourPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_COLOR), ")") ELIF iYachtColour != GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_COLOR) INT iNewColourPrice = 0 SWITCH iYachtColour CASE 0 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Pacific BREAK CASE 1 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Azure BREAK CASE 2 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Nautical BREAK CASE 3 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Continental BREAK CASE 4 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Battleship BREAK CASE 5 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Intrepid BREAK CASE 6 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Uniform BREAK CASE 7 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Classico BREAK CASE 8 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Mediterranean BREAK CASE 9 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Command BREAK CASE 10 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Mariner BREAK CASE 11 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Ruby BREAK CASE 12 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Vintage BREAK CASE 13 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Pristine BREAK CASE 14 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Merchant BREAK CASE 15 iNewColourPrice = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Voyager BREAK DEFAULT CASSERTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: unknown colour $", iPrice, " (", iYachtColour, " $", iNewColourPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_COLOR), ")") BREAK ENDSWITCH iPrice += iNewColourPrice iYachtColourPrice = iNewColourPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: new colour $", iPrice, " (", iYachtColour, " $", iNewColourPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_COLOR), ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: same colour $", iPrice, " (", iYachtColour, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_COLOR), ")") ENDIF TEXT_LABEL_63 tl63YachtName = GET_MP_LONG_STRING_CHARACTER_STAT(MP_STAT_YACHT_NAME, MP_STAT_YACHT_NAME2) // IF NOT bOwnsYacht INT iNewNamePrice = 0 // iNewNamePrice = g_sMPTunables.iApartment_Mod_Upgrade_Name_Yacht iPrice += iNewNamePrice iYachtNamePrice = iNewNamePrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: base name $", iPrice, " (", sYachtName, " $", iNewNamePrice, ", prev:", tl63YachtName, ")") ELIF IS_STRING_NULL_OR_EMPTY(sYachtName) INT iNewNamePrice = 0 // iNewNamePrice = g_sMPTunables.iApartment_Mod_Upgrade_Name_Yacht iPrice += iNewNamePrice iYachtNamePrice = iNewNamePrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: blank name $", iPrice, " (", sYachtName, " $", iNewNamePrice, ", prev:", tl63YachtName, ")") ELIF GET_HASH_KEY(sYachtName) != GET_HASH_KEY(tl63YachtName) INT iNewNamePrice = 0 iNewNamePrice = g_sMPTunables.iApartment_Mod_Upgrade_Name_Yacht iPrice += iNewNamePrice iYachtNamePrice = iNewNamePrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: new name $", iPrice, " (", sYachtName, " $", iNewNamePrice, ", prev:", tl63YachtName, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: same name $", iPrice, " (", sYachtName, ", prev:", tl63YachtName, ")") ENDIF // IF NOT bOwnsYacht INT iNewFlagPrice = 0 // iNewFlagPrice = g_sMPTunables.iApartment_Mod_Upgrade_Flag iPrice += iNewFlagPrice iYachtFlagPrice = iNewFlagPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: base flag $", iPrice, " (", iYachtFlag, " $", iNewFlagPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FLAG), ")") ELIF iYachtFlag != GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FLAG) INT iNewFlagPrice = 0 iNewFlagPrice = g_sMPTunables.iApartment_Mod_Upgrade_Flag iPrice += iNewFlagPrice iYachtFlagPrice = iNewFlagPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: new flag $", iPrice, " (", iYachtFlag, " $", iNewFlagPrice, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FLAG), ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: same flag $", iPrice, " (", iYachtFlag, ", prev:", GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FLAG), ")") ENDIF CPRINTLN(DEBUG_INTERNET, "GET_BIG_YACHT_MP_PRICE_MP: total price: $", iPrice) RETURN iPrice ENDFUNC FUNC INT GET_TRUCK_CAB_FROM_SF(INT iSFCab) IF (iSFCab = -1) RETURN 0 ELIF (iSFCab = 0) RETURN ENUM_TO_INT(PHANTOM3) ELIF (iSFCab = 1) RETURN ENUM_TO_INT(HAULER2) ENDIF CASSERTLN(DEBUG_INTERNET, "GET_TRUCK_CAB_FROM_SF: invalid scaleform index returned: ", iSFCab) RETURN 1 ENDFUNC FUNC INT GET_SF_FROM_TRUCK_CAB(INT iCab) IF (iCab = 0) RETURN -1 ELIF (iCab = ENUM_TO_INT(PHANTOM3)) RETURN 0 ELIF (iCab = ENUM_TO_INT(HAULER2)) RETURN 1 ENDIF CASSERTLN(DEBUG_INTERNET, "GET_SF_FROM_TRUCK_CAB: invalid interior returned: ", iCab) RETURN 0 ENDFUNC FUNC INT GET_TRUCK_SECTION_TYPE_FROM_SF(INT iSFtype) IF (iSFtype = -1) RETURN ENUM_TO_INT(AT_ST_UNDEFINED) ENDIF IF (iSFtype = 0) RETURN ENUM_TO_INT(AT_ST_UNDEFINED) // Void ELIF (iSFtype = 1) RETURN ENUM_TO_INT(AT_ST_EMPTY_SINGLE) // Empty ELIF (iSFtype = 2) RETURN ENUM_TO_INT(AT_ST_LIVING_ROOM) // Living Quarters ELIF (iSFtype = 3) RETURN ENUM_TO_INT(AT_ST_COMMAND_CENTER) // Command Center ELIF (iSFtype = 4) RETURN ENUM_TO_INT(AT_ST_GUNMOD) // Armory ELIF (iSFtype = 5) RETURN ENUM_TO_INT(AT_ST_CARMOD) // Vehicle Mod & Armory ELIF (iSFtype = 6) RETURN ENUM_TO_INT(AT_ST_VEHICLE_STORAGE) // Vehicle Storage ENDIF CASSERTLN(DEBUG_INTERNET, "GET_TRUCK_SECTION_TYPE_FROM_SF: invalid scaleform index returned: ", iSFtype) RETURN ENUM_TO_INT(AT_ST_UNDEFINED) ENDFUNC FUNC INT GET_SF_FROM_TRUCK_SECTION_TYPE(INT iType) IF INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iType) = AT_ST_EMPTY_DOUBLE OR INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iType) = AT_ST_EMPTY_SINGLE_DOOR RETURN GET_SF_FROM_TRUCK_SECTION_TYPE(ENUM_TO_INT(AT_ST_EMPTY_SINGLE)) ENDIF INT i REPEAT 7 i IF GET_TRUCK_SECTION_TYPE_FROM_SF(i) = iType RETURN i ENDIF ENDREPEAT CASSERTLN(DEBUG_INTERNET, "GET_SF_FROM_TRUCK_SECTION_TYPE: invalid type returned: ", iType, " \"", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iType)), "\"") RETURN 0 ENDFUNC FUNC INT GET_TRUCK_SECTION_TINT_FROM_SF(INT iSFtint) IF (iSFtint = -1) RETURN ENUM_TO_INT(AT_STI_INVALID_INDEX) ENDIF IF (iSFtint = 0) RETURN ENUM_TO_INT(AT_STI_WHITE_LIGTH_GREY) // White Light Grey ELIF (iSFtint = 1) RETURN ENUM_TO_INT(AT_STI_WHITE_MUSTARD) // Mustard ELIF (iSFtint = 2) RETURN ENUM_TO_INT(AT_STI_WHITE_OLIVE) // Olive ELIF (iSFtint = 3) RETURN ENUM_TO_INT(AT_STI_WHITE_BROWN) // Brown ELIF (iSFtint = 4) RETURN ENUM_TO_INT(AT_STI_GREY_DARK_GREY) // Grey Dark Grey ELIF (iSFtint = 5) RETURN ENUM_TO_INT(AT_STI_GREY_AQUA) // Aqua ELIF (iSFtint = 6) RETURN ENUM_TO_INT(AT_STI_GREY_RED) // Red ELIF (iSFtint = 7) RETURN ENUM_TO_INT(AT_STI_GREY_MUSTARD) // Mustard ELIF (iSFtint = 8) RETURN ENUM_TO_INT(AT_STI_GREY_OLIVE) // Olive ELIF (iSFtint = 9) RETURN ENUM_TO_INT(AT_STI_GREY_BLUE) // Blue ELIF (iSFtint = 10) RETURN ENUM_TO_INT(AT_STI_BLACK_BLACK) // Black Black ELIF (iSFtint = 11) RETURN ENUM_TO_INT(AT_STI_BLACK_RED) // Red ELIF (iSFtint = 12) RETURN ENUM_TO_INT(AT_STI_BLACK_OLIVE) // Olive ELIF (iSFtint = 13) RETURN ENUM_TO_INT(AT_STI_BLACK_BLUE) // Blue ENDIF CASSERTLN(DEBUG_INTERNET, "GET_TRUCK_SECTION_TINT_FROM_SF: invalid scaleform index returned: ", iSFtint) RETURN ENUM_TO_INT(AT_STI_INVALID_INDEX) ENDFUNC FUNC INT GET_SF_FROM_TRUCK_SECTION_TINT(INT iTint) INT i REPEAT 14 i IF GET_TRUCK_SECTION_TINT_FROM_SF(i) = iTint RETURN i ENDIF ENDREPEAT CASSERTLN(DEBUG_INTERNET, "GET_SF_FROM_TRUCK_SECTION_TINT: invalid tint returned: ", iTint, " \"", GET_ARMORY_TRUCK_SECTION_TINT_NAME(INT_TO_ENUM(ARMORY_TRUCK_SECTION_TINT_ENUM, iTint)), "\"") RETURN 0 ENDFUNC PROC SETUP_TRUCK_GLOBALS_FROM_STATS() // In case the stat doesn't get set but the bit does, set it here. // This can happen if the player kills the game as they purchase it. IF IS_BIG_ASS_VEHICLE_BS_SET(GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_HACKER_TRUCK)) AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_HACKERTRUCK_MODEL_0) != ENUM_TO_INT(GET_HACKER_TRUCK_MODEL()) SET_MP_INT_CHARACTER_STAT(MP_STAT_INV_HACKERTRUCK_MODEL_0, ENUM_TO_INT(GET_HACKER_TRUCK_MODEL())) ENDIF INT iOwned = GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_TRUCK_MODEL_0) IF NOT (iOwned = 0) INT iStoredSection1 = GET_PACKED_STAT_INT(PACKED_MP_INT_TRUCK_SECTION_1_TYPE) INT iStoredSection2 = GET_PACKED_STAT_INT(PACKED_MP_INT_TRUCK_SECTION_2_TYPE) INT iStoredSection3 = GET_PACKED_STAT_INT(PACKED_MP_INT_TRUCK_SECTION_3_TYPE) g_sTruckDataStruct.iCab = GET_SF_FROM_TRUCK_CAB(iOwned) g_sTruckDataStruct.iSection1 = GET_SF_FROM_TRUCK_SECTION_TYPE(iStoredSection1) g_sTruckDataStruct.iSection2 = GET_SF_FROM_TRUCK_SECTION_TYPE(iStoredSection2) g_sTruckDataStruct.iSection3 = GET_SF_FROM_TRUCK_SECTION_TYPE(iStoredSection3) g_sTruckDataStruct.iColour = GET_SF_FROM_TRUCK_SECTION_TINT(GET_PACKED_STAT_INT(PACKED_MP_INT_TRUCK_SECTION_1_NUM)) //AT_ST_EMPTY_DOUBLE IF g_sTruckDataStruct.iSection2 = GET_SF_FROM_TRUCK_SECTION_TYPE(ENUM_TO_INT(AT_ST_EMPTY_SINGLE)) AND g_sTruckDataStruct.iSection3 = GET_SF_FROM_TRUCK_SECTION_TYPE(ENUM_TO_INT(AT_ST_UNDEFINED)) g_sTruckDataStruct.iSection2 = GET_SF_FROM_TRUCK_SECTION_TYPE(ENUM_TO_INT(AT_ST_EMPTY_SINGLE)) g_sTruckDataStruct.iSection3 = GET_SF_FROM_TRUCK_SECTION_TYPE(ENUM_TO_INT(AT_ST_EMPTY_SINGLE)) ENDIF CPRINTLN(DEBUG_INTERNET, "SETUP_TRUCK_GLOBALS_FROM_STATS ", GET_MODEL_NAME_FOR_DEBUG(INT_TO_ENUM(MODEL_NAMES, iOwned)), " iCab:", g_sTruckDataStruct.iCab, ", iSection1:", g_sTruckDataStruct.iSection1, ", iSection2:", g_sTruckDataStruct.iSection2, ", iSection3:", g_sTruckDataStruct.iSection3, ", iColour:", g_sTruckDataStruct.iColour) CPRINTLN(DEBUG_INTERNET, " ", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iStoredSection1)), ", ", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iStoredSection2)), ", ", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iStoredSection3))) ELSE g_sTruckDataStruct.iCab = -1 g_sTruckDataStruct.iSection1 = -1 g_sTruckDataStruct.iSection2 = -1 g_sTruckDataStruct.iSection3 = -1 g_sTruckDataStruct.iColour = -1 CPRINTLN(DEBUG_INTERNET, "SETUP_TRUCK_GLOBALS_FROM_STATS none owned") ENDIF ENDPROC STRUCT TRUCK_PRICE_STRUCT INT iCabPrice = 0 INT iSection1Price = 0 INT iSection2Price = 0 INT iSection3Price = 0 INT iColourPrice = 0 ENDSTRUCT FUNC INT GET_BIG_TRUCK_MP_PRICE_MP(BOOL bOwnsTruck, INT iTruckCab, INT iTruckSection1, INT iTruckSection2, INT iTruckSection3, INT iTruckColour, TRUCK_PRICE_STRUCT &sTruck_price_struct) INT iPrice = 0 sTruck_price_struct.iCabPrice = 0 sTruck_price_struct.iSection1Price = 0 sTruck_price_struct.iSection2Price = 0 sTruck_price_struct.iSection3Price = 0 sTruck_price_struct.iColourPrice = 0 // MODEL_NAMES eTruckCabModel = INT_TO_ENUM(MODEL_NAMES, GET_TRUCK_CAB_FROM_SF(iTruckCab)) ARMORY_TRUCK_SECTION_TYPE_ENUM eTruckSection1 = INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, GET_TRUCK_SECTION_TYPE_FROM_SF(iTruckSection1)) ARMORY_TRUCK_SECTION_TYPE_ENUM eTruckSection2 = INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, GET_TRUCK_SECTION_TYPE_FROM_SF(iTruckSection2)) ARMORY_TRUCK_SECTION_TYPE_ENUM eTruckSection3 = INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, GET_TRUCK_SECTION_TYPE_FROM_SF(iTruckSection3)) VALIDATE_TRUCK_EMPTY_SECTIONS(eTruckSection1, eTruckSection2, eTruckSection3) ARMORY_TRUCK_SECTION_TINT_ENUM eTruckColour = INT_TO_ENUM(ARMORY_TRUCK_SECTION_TINT_ENUM, GET_TRUCK_SECTION_TINT_FROM_SF(iTruckColour)) IF NOT bOwnsTruck INT iNewModPrice = CHECK_DLC_BUYABLE_PRICE(eTruckCabModel, -1, FALSE) iPrice += iNewModPrice sTruck_price_struct.iCabPrice = iNewModPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: base cab $", iPrice, " (", eTruckCabModel, " $", iNewModPrice, ")") ELSE INT iStoredMod = GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_TRUCK_MODEL_0) IF (eTruckCabModel != INT_TO_ENUM(MODEL_NAMES, iStoredMod)) INT iNewModPrice = CHECK_DLC_BUYABLE_PRICE(eTruckCabModel, -1, FALSE) iPrice += iNewModPrice sTruck_price_struct.iCabPrice = iNewModPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: new cab $", iPrice, " (", eTruckCabModel, " $", iNewModPrice, ", prev:", iStoredMod, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: same cab $", iPrice, " (", eTruckCabModel, ", prev:", iStoredMod, ")") ENDIF ENDIF // IF NOT bOwnsTruck IF (eTruckSection1 = AT_ST_LIVING_ROOM) INT iNewSection1Price = 0 //GET_ARMORY_TRUCK_SECTION_TYPE_COST(eTruckSection1) iPrice += iNewSection1Price sTruck_price_struct.iSection1Price = iNewSection1Price CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: base Section1 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection1), " $FREE)") ELSE INT iNewSection1Price = GET_ARMORY_TRUCK_SECTION_TYPE_COST(eTruckSection1) iPrice += iNewSection1Price sTruck_price_struct.iSection1Price = iNewSection1Price CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: base Section1 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection1), " $", iNewSection1Price, ")") ENDIF ELSE INT iStoredSection1 = GET_PACKED_STAT_INT(PACKED_MP_INT_TRUCK_SECTION_1_TYPE) IF (eTruckSection1 != INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iStoredSection1)) INT iNewSection1Price = GET_ARMORY_TRUCK_SECTION_TYPE_COST(eTruckSection1) iPrice += iNewSection1Price sTruck_price_struct.iSection1Price = iNewSection1Price CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: new Section1 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection1), " $", iNewSection1Price, ", prev:", iStoredSection1, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: same Section1 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection1), ", prev:", iStoredSection1, ")") ENDIF ENDIF // IF NOT bOwnsTruck INT iNewSection2Price = GET_ARMORY_TRUCK_SECTION_TYPE_COST(eTruckSection2) iPrice += iNewSection2Price sTruck_price_struct.iSection2Price = iNewSection2Price CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: base Section2 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection2), " $", iNewSection2Price, ")") ELSE INT iStoredSection2 = GET_PACKED_STAT_INT(PACKED_MP_INT_TRUCK_SECTION_2_TYPE) IF (eTruckSection2 != INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iStoredSection2)) INT iNewSection2Price = GET_ARMORY_TRUCK_SECTION_TYPE_COST(eTruckSection2) iPrice += iNewSection2Price sTruck_price_struct.iSection2Price = iNewSection2Price CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: new Section2 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection2), " $", iNewSection2Price, ", prev:", iStoredSection2, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: same Section2 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection2), ", prev:", iStoredSection2, ")") ENDIF ENDIF // IF NOT bOwnsTruck INT iNewSection3Price = GET_ARMORY_TRUCK_SECTION_TYPE_COST(eTruckSection3) iPrice += iNewSection3Price sTruck_price_struct.iSection3Price = iNewSection3Price CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: base Section3 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection3), " $", iNewSection3Price, ")") ELSE INT iStoredSection3 = GET_PACKED_STAT_INT(PACKED_MP_INT_TRUCK_SECTION_3_TYPE) IF (eTruckSection3 != INT_TO_ENUM(ARMORY_TRUCK_SECTION_TYPE_ENUM, iStoredSection3)) INT iNewSection3Price = GET_ARMORY_TRUCK_SECTION_TYPE_COST(eTruckSection3) iPrice += iNewSection3Price sTruck_price_struct.iSection3Price = iNewSection3Price CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: new Section3 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection3), " $", iNewSection3Price, ", prev:", iStoredSection3, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: same Section3 $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eTruckSection3), ", prev:", iStoredSection3, ")") ENDIF ENDIF // IF NOT bOwnsTruck IF (eTruckColour = AT_STI_WHITE_LIGTH_GREY) INT iNewColourPrice = 0 //GET_ARMORY_TRUCK_SECTION_TINT_COST(eTruckColour) iPrice += iNewColourPrice sTruck_price_struct.iColourPrice = iNewColourPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: base colour $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TINT_NAME(eTruckColour), " $FREE)") ELSE INT iNewColourPrice = GET_ARMORY_TRUCK_SECTION_TINT_COST(eTruckColour) iPrice += iNewColourPrice sTruck_price_struct.iColourPrice = iNewColourPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: base colour $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TINT_NAME(eTruckColour), " $", iNewColourPrice, ")") ENDIF ELSE INT iStoredColour = GET_PACKED_STAT_INT(PACKED_MP_INT_TRUCK_SECTION_1_NUM) IF (eTruckColour != INT_TO_ENUM(ARMORY_TRUCK_SECTION_TINT_ENUM, iStoredColour)) INT iNewColourPrice = GET_ARMORY_TRUCK_SECTION_TINT_COST(eTruckColour) iPrice += iNewColourPrice sTruck_price_struct.iColourPrice = iNewColourPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: new colour $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TINT_NAME(eTruckColour), " $", iNewColourPrice, ", prev:", iStoredColour, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: same colour $", iPrice, " (", GET_ARMORY_TRUCK_SECTION_TINT_NAME(eTruckColour), ", prev:", iStoredColour, ")") ENDIF ENDIF CPRINTLN(DEBUG_INTERNET, "GET_BIG_TRUCK_MP_PRICE_MP: total price: $", iPrice) RETURN iPrice ENDFUNC FUNC INT GET_PLANE_SECTION_TINT_FROM_SF(INT iSFtint) IF (iSFtint = -1) RETURN ENUM_TO_INT(0) ENDIF IF (iSFtint = 0) RETURN ENUM_TO_INT(0) // ELIF (iSFtint = 1) RETURN ENUM_TO_INT(1) // ELIF (iSFtint = 2) RETURN ENUM_TO_INT(2) // ELIF (iSFtint = 3) RETURN ENUM_TO_INT(3) // ELIF (iSFtint = 4) RETURN ENUM_TO_INT(4) // ELIF (iSFtint = 5) RETURN ENUM_TO_INT(5) // ELIF (iSFtint = 6) RETURN ENUM_TO_INT(6) // ELIF (iSFtint = 7) RETURN ENUM_TO_INT(7) // ELIF (iSFtint = 8) RETURN ENUM_TO_INT(8) // ELIF (iSFtint = 9) RETURN ENUM_TO_INT(9) // ELIF (iSFtint = 10) RETURN ENUM_TO_INT(10) // ELIF (iSFtint = 11) RETURN ENUM_TO_INT(11) // ELIF (iSFtint = 12) RETURN ENUM_TO_INT(12) // ELIF (iSFtint = 13) RETURN ENUM_TO_INT(13) // ENDIF CASSERTLN(DEBUG_INTERNET, "GET_PLANE_SECTION_TINT_FROM_SF: invalid scaleform index returned: ", iSFtint) RETURN ENUM_TO_INT(0) ENDFUNC FUNC INT GET_SF_FROM_PLANE_SECTION_TINT(INT iTint) INT i REPEAT 14 i IF GET_PLANE_SECTION_TINT_FROM_SF(i) = iTint RETURN i ENDIF ENDREPEAT CASSERTLN(DEBUG_INTERNET, "GET_SF_FROM_PLANE_SECTION_TINT: invalid tint returned: ", iTint, " \"", GET_ARMORY_TRUCK_SECTION_TINT_NAME(INT_TO_ENUM(ARMORY_TRUCK_SECTION_TINT_ENUM, iTint)), "\"") RETURN 0 ENDFUNC PROC SETUP_PLANE_GLOBALS_FROM_STATS() INT iOwned = GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_PLANE_MODEL_0) IF NOT (iOwned = 0) g_sPlaneDataStruct.iAvenger = iOwned g_sPlaneDataStruct.iGunTurret = GET_PACKED_STAT_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_GUN_TURRET) g_sPlaneDataStruct.iVehShop = GET_PACKED_STAT_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_VEH_SHOP) g_sPlaneDataStruct.iWeaShop = GET_PACKED_STAT_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_WEA_SHOP) g_sPlaneDataStruct.iInterior = GET_SF_FROM_PLANE_SECTION_TINT(GET_PACKED_STAT_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_INTERIOR)) CPRINTLN(DEBUG_INTERNET, "SETUP_PLANE_GLOBALS_FROM_STATS ", GET_MODEL_NAME_FOR_DEBUG(INT_TO_ENUM(MODEL_NAMES, g_sPlaneDataStruct.iAvenger)), ", iGunTurret:", g_sPlaneDataStruct.iGunTurret, ", iVehShop:", g_sPlaneDataStruct.iVehShop, ", iWeaShop:", g_sPlaneDataStruct.iWeaShop, ", iInterior:", g_sPlaneDataStruct.iInterior) ELSE g_sPlaneDataStruct.iAvenger = -1 g_sPlaneDataStruct.iGunTurret = -1 g_sPlaneDataStruct.iVehShop = -1 g_sPlaneDataStruct.iWeaShop = -1 g_sPlaneDataStruct.iInterior = -1 CPRINTLN(DEBUG_INTERNET, "SETUP_PLANE_GLOBALS_FROM_STATS none owned") ENDIF ENDPROC STRUCT PLANE_PRICE_STRUCT INT iAvengerPrice = 0 INT iInteriorPrice = 0 INT iGunTurretPrice = 0 INT iVehShopPrice = 0 INT iWeaShopPrice = 0 ENDSTRUCT FUNC INT GET_BIG_PLANE_MP_PRICE_MP(BOOL bOwnsPlane, INT iPlaneGunTurret, INT iPlaneVehShop, INT iPlaneWeaShop, INT iPlaneInterior, INT iPlaneAvenger, PLANE_PRICE_STRUCT &sPlane_price_struct) INT iPrice = 0 sPlane_price_struct.iAvengerPrice = 0 sPlane_price_struct.iInteriorPrice = 0 sPlane_price_struct.iGunTurretPrice = 0 sPlane_price_struct.iVehShopPrice = 0 sPlane_price_struct.iWeaShopPrice = 0 // IF NOT bOwnsPlane IF (iPlaneAvenger = 0) INT iNewAvengerPrice = 0 iPrice += iNewAvengerPrice sPlane_price_struct.iAvengerPrice = iNewAvengerPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: base avenger $", iPrice, " (", (iPlaneAvenger), " $FREE)") ELSE INT iNewAvengerPrice = GET_ARMORY_AIRCRAFT_COST() iPrice += iNewAvengerPrice sPlane_price_struct.iAvengerPrice = iNewAvengerPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: base avenger $", iPrice, " (", (iPlaneAvenger), " $", iNewAvengerPrice, ")") ENDIF ELSE INT iStoredAvenger = GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_PLANE_MODEL_0) IF (iPlaneAvenger != ( iStoredAvenger)) INT iNewAvengerPrice = GET_ARMORY_AIRCRAFT_COST() iPrice += iNewAvengerPrice sPlane_price_struct.iAvengerPrice = iNewAvengerPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: new avenger $", iPrice, " (", (iPlaneAvenger), " $", iNewAvengerPrice, ", prev:", iStoredAvenger, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: same avenger $", iPrice, " (", (iPlaneAvenger), ", prev:", iStoredAvenger, ")") ENDIF ENDIF // IF NOT bOwnsPlane IF (iPlaneInterior = 0) INT iNewInteriorPrice = 0 iPrice += iNewInteriorPrice sPlane_price_struct.iInteriorPrice = iNewInteriorPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: base interior $", iPrice, " (", (iPlaneInterior), " $FREE)") ELSE INT iNewInteriorPrice = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, iPlaneInterior) iPrice += iNewInteriorPrice sPlane_price_struct.iInteriorPrice = iNewInteriorPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: base interior $", iPrice, " (", (iPlaneInterior), " $", iNewInteriorPrice, ")") ENDIF ELSE INT iStoredInterior = GET_PACKED_STAT_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_INTERIOR) IF (iPlaneInterior != ( iStoredInterior)) INT iNewInteriorPrice = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, iPlaneInterior) iPrice += iNewInteriorPrice sPlane_price_struct.iInteriorPrice = iNewInteriorPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: new interior $", iPrice, " (", (iPlaneInterior), " $", iNewInteriorPrice, ", prev:", iStoredInterior, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: same interior $", iPrice, " (", (iPlaneInterior), ", prev:", iStoredInterior, ")") ENDIF ENDIF // IF NOT bOwnsPlane INT iNewGunTurretPrice = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_GUN_TURRET, iPlaneGunTurret) iPrice += iNewGunTurretPrice sPlane_price_struct.iGunTurretPrice = iNewGunTurretPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: base GunTurret $", iPrice, " (", (iPlaneGunTurret), " $", iNewGunTurretPrice, ")") ELSE INT iStoredGunTurret = GET_PACKED_STAT_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_GUN_TURRET) IF (iPlaneGunTurret != (iStoredGunTurret)) INT iNewGunTurretPrice = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_GUN_TURRET, iPlaneGunTurret) iPrice += iNewGunTurretPrice sPlane_price_struct.iGunTurretPrice = iNewGunTurretPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: new GunTurret $", iPrice, " (", (iPlaneGunTurret), " $", iNewGunTurretPrice, ", prev:", iStoredGunTurret, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: same GunTurret $", iPrice, " (", (iPlaneGunTurret), ", prev:", iStoredGunTurret, ")") ENDIF ENDIF // IF NOT bOwnsPlane INT iNewVehShopPrice = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_VEHICLE_WORKSHOP, iPlaneVehShop) iPrice += iNewVehShopPrice sPlane_price_struct.iVehShopPrice = iNewVehShopPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: base VehShop $", iPrice, " (", (iPlaneVehShop), " $", iNewVehShopPrice, ")") ELSE INT iStoredVehShop = GET_PACKED_STAT_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_VEH_SHOP) IF (iPlaneVehShop != (iStoredVehShop)) INT iNewVehShopPrice = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_VEHICLE_WORKSHOP, iPlaneVehShop) iPrice += iNewVehShopPrice sPlane_price_struct.iVehShopPrice = iNewVehShopPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: new VehShop $", iPrice, " (", (iPlaneVehShop), " $", iNewVehShopPrice, ", prev:", iStoredVehShop, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: same VehShop $", iPrice, " (", (iPlaneVehShop), ", prev:", iStoredVehShop, ")") ENDIF ENDIF // IF NOT bOwnsPlane INT iNewWeaShopPrice = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_WEAPON_WORKSHOP, iPlaneWeaShop) iPrice += iNewWeaShopPrice sPlane_price_struct.iWeaShopPrice = iNewWeaShopPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: base WeaShop $", iPrice, " (", (iPlaneWeaShop), " $", iNewWeaShopPrice, ")") ELSE INT iStoredWeaShop = GET_PACKED_STAT_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_WEA_SHOP) IF (iPlaneWeaShop != (iStoredWeaShop)) INT iNewWeaShopPrice = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_WEAPON_WORKSHOP, iPlaneWeaShop) iPrice += iNewWeaShopPrice sPlane_price_struct.iWeaShopPrice = iNewWeaShopPrice CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: new WeaShop $", iPrice, " (", (iPlaneWeaShop), " $", iNewWeaShopPrice, ", prev:", iStoredWeaShop, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: same WeaShop $", iPrice, " (", (iPlaneWeaShop), ", prev:", iStoredWeaShop, ")") ENDIF ENDIF CPRINTLN(DEBUG_INTERNET, "GET_BIG_PLANE_MP_PRICE_MP: total price: $", iPrice) RETURN iPrice ENDFUNC FUNC INT GET_HACKER_TRUCK_DECAL_FROM_SF(INT iSFdecal) IF (iSFdecal = -1) RETURN -1 ENDIF IF (iSFdecal = 0) RETURN 0 ELIF (iSFdecal = 1) RETURN 1 ELIF (iSFdecal = 2) RETURN 2 ELIF (iSFdecal = 3) RETURN 3 ELIF (iSFdecal = 4) RETURN 4 ELIF (iSFdecal = 5) RETURN 5 ELIF (iSFdecal = 6) RETURN 6 ELIF (iSFdecal = 7) RETURN 7 ELIF (iSFdecal = 8) RETURN 8 ELIF (iSFdecal = 9) RETURN 9 ELIF (iSFdecal = 10) RETURN 10 ELIF (iSFdecal = 11) RETURN 11 ELIF (iSFdecal = 12) RETURN 12 ELIF (iSFdecal = 13) RETURN 13 ELIF (iSFdecal = 14) RETURN 14 ELIF (iSFdecal = 15) RETURN 15 ELIF (iSFdecal = 16) RETURN 16 ELIF (iSFdecal = 17) RETURN 17 ELIF (iSFdecal = 18) RETURN 18 ELIF (iSFdecal = 19) RETURN 19 ELIF (iSFdecal = 20) RETURN 20 ELIF (iSFdecal = 21) RETURN 21 ELIF (iSFdecal = 22) RETURN 22 ELIF (iSFdecal = 23) RETURN 23 ELIF (iSFdecal = 24) RETURN 24 ENDIF CASSERTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_DECAL_FROM_SF: invalid scaleform index returned: ", iSFdecal) RETURN 0 ENDFUNC FUNC INT GET_SF_FROM_HACKER_TRUCK_DECAL(INT iDecal) INT i REPEAT 25 i IF GET_HACKER_TRUCK_DECAL_FROM_SF(i) = iDecal RETURN i ENDIF ENDREPEAT CASSERTLN(DEBUG_INTERNET, "GET_SF_FROM_HACKER_TRUCK_DECAL: invalid type returned: ", iDecal) RETURN 0 ENDFUNC FUNC INT GET_HACKER_TRUCK_TINT_FROM_SF(INT iSFtint) IF (iSFtint = -1) RETURN -1 ENDIF IF (iSFtint = 0) RETURN 0 ELIF (iSFtint = 1) RETURN 1 ELIF (iSFtint = 2) RETURN 2 ELIF (iSFtint = 3) RETURN 3 ELIF (iSFtint = 4) RETURN 4 ELIF (iSFtint = 5) RETURN 5 ELIF (iSFtint = 6) RETURN 6 ELIF (iSFtint = 7) RETURN 7 ELIF (iSFtint = 8) RETURN 8 ENDIF CASSERTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_TINT_FROM_SF: invalid scaleform index returned: ", iSFtint) RETURN 0 ENDFUNC FUNC INT GET_SF_FROM_HACKER_TRUCK_TINT(INT iTint) INT i REPEAT 9 i IF GET_HACKER_TRUCK_TINT_FROM_SF(i) = iTint RETURN i ENDIF ENDREPEAT CASSERTLN(DEBUG_INTERNET, "GET_SF_FROM_HACKER_TRUCK_TINT: invalid tint returned: ", iTint) RETURN 0 ENDFUNC PROC SETUP_HACKER_TRUCK_GLOBALS_FROM_STATS() INT iOwned = GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_HACKERTRUCK_MODEL_0) IF NOT (iOwned = 0) IF iOwned != ENUM_TO_INT(GET_HACKER_TRUCK_MODEL()) iOwned = ENUM_TO_INT(GET_HACKER_TRUCK_MODEL()) ENDIF g_sHackerTruckDataStruct.iCab = iOwned g_sHackerTruckDataStruct.iDecal = GET_SF_FROM_HACKER_TRUCK_DECAL(GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_INTERIOR_DECAL)) g_sHackerTruckDataStruct.iTint = GET_SF_FROM_HACKER_TRUCK_TINT(GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_INTERIOR_TINT)) g_sHackerTruckDataStruct.iMissileLauncher = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_MISSILE_LAUNCHER) g_sHackerTruckDataStruct.iDroneStation = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_DRONE_STATION) g_sHackerTruckDataStruct.iWeaShop = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_WEAPON_STATION) g_sHackerTruckDataStruct.iVehShop = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_MOTORCYCLE_WORKSHOP) CPRINTLN(DEBUG_INTERNET, "SETUP_HACKER_TRUCK_GLOBALS_FROM_STATS ", GET_MODEL_NAME_FOR_DEBUG(INT_TO_ENUM(MODEL_NAMES, iOwned)), " iCab:", g_sHackerTruckDataStruct.iCab, ", iDecal:", g_sHackerTruckDataStruct.iDecal, ", iTint:", g_sHackerTruckDataStruct.iTint) CPRINTLN(DEBUG_INTERNET, " iMissileLauncher:", g_sHackerTruckDataStruct.iMissileLauncher, ", iDroneStation:", g_sHackerTruckDataStruct.iDroneStation, ", iWeaShop:", g_sHackerTruckDataStruct.iWeaShop, ", iVehShop:", g_sHackerTruckDataStruct.iVehShop) ELSE g_sHackerTruckDataStruct.iCab = -1 g_sHackerTruckDataStruct.iDecal = -1 g_sHackerTruckDataStruct.iTint = -1 g_sHackerTruckDataStruct.iMissileLauncher = -1 g_sHackerTruckDataStruct.iDroneStation = -1 g_sHackerTruckDataStruct.iWeaShop = -1 g_sHackerTruckDataStruct.iVehShop = -1 CPRINTLN(DEBUG_INTERNET, "SETUP_HACKER_TRUCK_GLOBALS_FROM_STATS none owned") ENDIF ENDPROC FUNC INT GET_HACKER_TRUCK_MP_PRICE_MP(BOOL bOwnsHackerTruck, HACKER_TRUCK_DATA_STRUCT &sData, HACKER_TRUCK_PRICE_STRUCT &sPriceStruct) INT iPrice = 0 sPriceStruct.iCabPrice = 0 sPriceStruct.iDecalPrice = 0 sPriceStruct.iTintPrice = 0 sPriceStruct.iMissileLauncherPrice = 0 sPriceStruct.iDroneStationPrice = 0 sPriceStruct.iWeaShopPrice = 0 sPriceStruct.iVehShopPrice = 0 // MODEL_NAMES eCabModel = INT_TO_ENUM(MODEL_NAMES, sData.iCab) INT iDecalSF = GET_HACKER_TRUCK_DECAL_FROM_SF(sData.iDecal) INT iTintSF = GET_HACKER_TRUCK_TINT_FROM_SF(sData.iTint) INT iMissileLauncherSF = sData.iMissileLauncher INT iDroneStationSF = sData.iDroneStation INT iWeaShopSF = sData.iWeaShop INT iVehShopSF = sData.iVehShop IF NOT bOwnsHackerTruck INT iNewModPrice = CHECK_DLC_BUYABLE_PRICE(eCabModel, -1, FALSE) iPrice += iNewModPrice sPriceStruct.iCabPrice = iNewModPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base cab $", iPrice, " (", eCabModel, " $", iNewModPrice, ")") ELSE INT iStoredMod = GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_HACKERTRUCK_MODEL_0) IF (eCabModel != INT_TO_ENUM(MODEL_NAMES, iStoredMod)) INT iNewModPrice = CHECK_DLC_BUYABLE_PRICE(eCabModel, -1, FALSE) iPrice += iNewModPrice sPriceStruct.iCabPrice = iNewModPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: new cab $", iPrice, " (", eCabModel, " $", iNewModPrice, ", prev:", iStoredMod, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: same cab $", iPrice, " (", eCabModel, ", prev:", iStoredMod, ")") ENDIF ENDIF // IF NOT bOwnsHackerTruck IF (iDecalSF = 0) INT iNewDecalPrice = 0 //GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, iDecalSF) iPrice += iNewDecalPrice sPriceStruct.iDecalPrice = iNewDecalPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base Decal $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_DECAL, iDecalSF), " $FREE)") ELSE INT iNewDecalPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, iDecalSF) iPrice += iNewDecalPrice sPriceStruct.iDecalPrice = iNewDecalPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base Decal $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_DECAL, iDecalSF), " $", iNewDecalPrice, ")") ENDIF ELSE INT iStoredDecal = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_INTERIOR_DECAL) IF (iDecalSF != iStoredDecal) INT iNewDecalPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, iDecalSF) iPrice += iNewDecalPrice sPriceStruct.iDecalPrice = iNewDecalPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: new Decal $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_DECAL, iDecalSF), " $", iNewDecalPrice, ", prev:", iStoredDecal, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: same Decal $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_DECAL, iDecalSF), ", prev:", iStoredDecal, ")") ENDIF ENDIF // IF NOT bOwnsHackerTruck IF (iTintSF = 0) INT iNewTintPrice = 0 //GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, iTintSF) iPrice += iNewTintPrice sPriceStruct.iTintPrice = iNewTintPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base Tint $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_TINT, iTintSF), " $FREE)") ELSE INT iNewTintPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, iTintSF) iPrice += iNewTintPrice sPriceStruct.iTintPrice = iNewTintPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base Tint $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_TINT, iTintSF), " $", iNewTintPrice, ")") ENDIF ELSE INT iStoredTint = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_INTERIOR_TINT) IF (iTintSF != iStoredTint) INT iNewTintPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, iTintSF) iPrice += iNewTintPrice sPriceStruct.iTintPrice = iNewTintPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: new Tint $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_TINT, iTintSF), " $", iNewTintPrice, ", prev:", iStoredTint, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: same Tint $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_TINT, iTintSF), ", prev:", iStoredTint, ")") ENDIF ENDIF // IF NOT bOwnsHackerTruck INT iNewMissileLauncherPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_MISSILE_LAUNCHER, iMissileLauncherSF) iPrice += iNewMissileLauncherPrice sPriceStruct.iMissileLauncherPrice = iNewMissileLauncherPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base MissileLauncher $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_MISSILE_LAUNCHER, iMissileLauncherSF), " $", iNewMissileLauncherPrice, ")") ELSE INT iStoredMissileLauncher = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_MISSILE_LAUNCHER) IF (iMissileLauncherSF != iStoredMissileLauncher) INT iNewMissileLauncherPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_MISSILE_LAUNCHER, iMissileLauncherSF) iPrice += iNewMissileLauncherPrice sPriceStruct.iMissileLauncherPrice = iNewMissileLauncherPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: new MissileLauncher $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_MISSILE_LAUNCHER, iMissileLauncherSF), " $", iNewMissileLauncherPrice, ", prev:", iStoredMissileLauncher, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: same MissileLauncher $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_MISSILE_LAUNCHER, iMissileLauncherSF), ", prev:", iStoredMissileLauncher, ")") ENDIF ENDIF // IF NOT bOwnsHackerTruck INT iNewDroneStationPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DRONE_STATION, iDroneStationSF) iPrice += iNewDroneStationPrice sPriceStruct.iDroneStationPrice = iNewDroneStationPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base DroneStation $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_DRONE_STATION, iDroneStationSF), " $", iNewDroneStationPrice, ")") ELSE INT iStoredDroneStation = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_DRONE_STATION) IF (iDroneStationSF != iStoredDroneStation) INT iNewDroneStationPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DRONE_STATION, iDroneStationSF) iPrice += iNewDroneStationPrice sPriceStruct.iDroneStationPrice = iNewDroneStationPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: new DroneStation $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_DRONE_STATION, iDroneStationSF), " $", iNewDroneStationPrice, ", prev:", iStoredDroneStation, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: same DroneStation $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_DRONE_STATION, iDroneStationSF), ", prev:", iStoredDroneStation, ")") ENDIF ENDIF // IF NOT bOwnsHackerTruck INT iNewWeaShopPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_WEAPON_STATION, iWeaShopSF) iPrice += iNewWeaShopPrice sPriceStruct.iWeaShopPrice = iNewWeaShopPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base WeaShop $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_WEAPON_STATION, iWeaShopSF), " $", iNewWeaShopPrice, ")") ELSE INT iStoredWeaShop = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_WEAPON_STATION) IF (iWeaShopSF != iStoredWeaShop) INT iNewWeaShopPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_WEAPON_STATION, iWeaShopSF) iPrice += iNewWeaShopPrice sPriceStruct.iWeaShopPrice = iNewWeaShopPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: new WeaShop $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_WEAPON_STATION, iWeaShopSF), " $", iNewWeaShopPrice, ", prev:", iStoredWeaShop, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: same WeaShop $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_WEAPON_STATION, iWeaShopSF), ", prev:", iStoredWeaShop, ")") ENDIF ENDIF // IF NOT bOwnsHackerTruck INT iNewVehShopPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_MOTORCYCLE_WORKSHOP, iVehShopSF) iPrice += iNewVehShopPrice sPriceStruct.iVehShopPrice = iNewVehShopPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: base VehShop $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_MOTORCYCLE_WORKSHOP, iVehShopSF), " $", iNewVehShopPrice, ")") ELSE INT iStoredVehShop = GET_PACKED_STAT_INT(PACKED_MP_INT_HACKERTRUCK_MOTORCYCLE_WORKSHOP) IF (iVehShopSF != iStoredVehShop) INT iNewVehShopPrice = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_MOTORCYCLE_WORKSHOP, iVehShopSF) iPrice += iNewVehShopPrice sPriceStruct.iVehShopPrice = iNewVehShopPrice CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: new VehShop $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_MOTORCYCLE_WORKSHOP, iVehShopSF), " $", iNewVehShopPrice, ", prev:", iStoredVehShop, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: same VehShop $", iPrice, " (", GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eHACKER_TRUCK_MOD_MOTORCYCLE_WORKSHOP, iVehShopSF), ", prev:", iStoredVehShop, ")") ENDIF ENDIF CPRINTLN(DEBUG_INTERNET, "GET_HACKER_TRUCK_MP_PRICE_MP: total price: $", iPrice) RETURN iPrice ENDFUNC #IF FEATURE_HEIST_ISLAND FUNC INT GET_KOSATKA_COLOUR_FROM_SF(INT iSFdecal) IF (iSFdecal = -1) RETURN -1 ENDIF IF (iSFdecal = 0) RETURN 0 ELIF (iSFdecal = 1) RETURN 1 ELIF (iSFdecal = 2) RETURN 2 ELIF (iSFdecal = 3) RETURN 3 ELIF (iSFdecal = 4) RETURN 4 ELIF (iSFdecal = 5) RETURN 5 ELIF (iSFdecal = 6) RETURN 6 ELIF (iSFdecal = 7) RETURN 7 ELIF (iSFdecal = 8) RETURN 8 ELIF (iSFdecal = 9) RETURN 9 ELIF (iSFdecal = 10) RETURN 10 ELIF (iSFdecal = 11) RETURN 11 ELIF (iSFdecal = 12) RETURN 12 ELIF (iSFdecal = 13) RETURN 13 ELIF (iSFdecal = 14) RETURN 14 ELIF (iSFdecal = 15) RETURN 15 ENDIF CASSERTLN(DEBUG_INTERNET, "GET_KOSATKA_COLOUR_FROM_SF: invalid scaleform index returned: ", iSFdecal) RETURN 0 ENDFUNC FUNC INT GET_SF_FROM_KOSATKA_COLOUR(INT iDecal) INT i REPEAT 16 i IF GET_KOSATKA_COLOUR_FROM_SF(i) = iDecal RETURN i ENDIF ENDREPEAT CASSERTLN(DEBUG_INTERNET, "GET_SF_FROM_KOSATKA_COLOUR: invalid type returned: ", iDecal) RETURN 0 ENDFUNC FUNC INT GET_KOSATKA_FLAG_FROM_SF(INT iSFflag) IF (iSFflag = -1) RETURN -1 ENDIF IF (iSFflag = 0) RETURN 0 ELIF (iSFflag = 1) RETURN 1 ELIF (iSFflag = 2) RETURN 2 ELIF (iSFflag = 3) RETURN 3 ELIF (iSFflag = 4) RETURN 4 ELIF (iSFflag = 5) RETURN 5 ELIF (iSFflag = 6) RETURN 6 ELIF (iSFflag = 7) RETURN 7 ELIF (iSFflag = 8) RETURN 8 ELIF (iSFflag = 9) RETURN 9 ELIF (iSFflag = 10) RETURN 10 ELIF (iSFflag = 11) RETURN 11 ELIF (iSFflag = 12) RETURN 12 ELIF (iSFflag = 13) RETURN 13 ELIF (iSFflag = 14) RETURN 14 ELIF (iSFflag = 15) RETURN 15 ELIF (iSFflag = 16) RETURN 16 ELIF (iSFflag = 17) RETURN 17 ELIF (iSFflag = 18) RETURN 18 ELIF (iSFflag = 19) RETURN 19 ELIF (iSFflag = 20) RETURN 20 ELIF (iSFflag = 21) RETURN 21 ELIF (iSFflag = 22) RETURN 22 ELIF (iSFflag = 23) RETURN 23 ELIF (iSFflag = 24) RETURN 24 ELIF (iSFflag = 25) RETURN 25 ELIF (iSFflag = 26) RETURN 26 ELIF (iSFflag = 27) RETURN 27 ELIF (iSFflag = 28) RETURN 28 ELIF (iSFflag = 29) RETURN 29 ELIF (iSFflag = 30) RETURN 30 ELIF (iSFflag = 31) RETURN 31 ELIF (iSFflag = 32) RETURN 32 ELIF (iSFflag = 33) RETURN 33 ELIF (iSFflag = 34) RETURN 34 ELIF (iSFflag = 35) RETURN 35 ELIF (iSFflag = 36) RETURN 36 ELIF (iSFflag = 37) RETURN 37 ELIF (iSFflag = 38) RETURN 38 ELIF (iSFflag = 39) RETURN 39 ELIF (iSFflag = 40) RETURN 40 ELIF (iSFflag = 41) RETURN 41 ELIF (iSFflag = 42) RETURN 42 ELIF (iSFflag = 43) RETURN 43 ELIF (iSFflag = 44) RETURN 44 ELIF (iSFflag = 45) RETURN 45 ELIF (iSFflag = 46) RETURN 46 ELIF (iSFflag = 47) RETURN 47 ELIF (iSFflag = 48) RETURN 48 ELIF (iSFflag = 49) RETURN 49 ENDIF CASSERTLN(DEBUG_INTERNET, "GET_KOSATKA_FLAG_FROM_SF: invalid scaleform index returned: ", iSFflag) RETURN 0 ENDFUNC FUNC INT GET_SF_FROM_KOSATKA_FLAG(INT iTint) INT i REPEAT 49 i IF GET_KOSATKA_FLAG_FROM_SF(i) = iTint RETURN i ENDIF ENDREPEAT CASSERTLN(DEBUG_INTERNET, "GET_SF_FROM_KOSATKA_FLAG: invalid tint returned: ", iTint) RETURN 0 ENDFUNC PROC SETUP_KOSATKA_GLOBALS_FROM_STATS() INT iOwned = GET_MP_INT_CHARACTER_STAT(MP_STAT_IH_SUB_OWNED) IF NOT (iOwned = 0) g_sKosatkaDataStruct.iOwned = iOwned g_sKosatkaDataStruct.iColour = GET_SF_FROM_KOSATKA_COLOUR(GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_COLOUR)) g_sKosatkaDataStruct.iFlag = GET_SF_FROM_KOSATKA_FLAG(GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_FLAG)) g_sKosatkaDataStruct.iMissiles = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_GUIDED_MISSILES) g_sKosatkaDataStruct.iSonar = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_SONAR) g_sKosatkaDataStruct.iWeaShop = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_WEAPON_WORKSHOP) g_sKosatkaDataStruct.iSeaSparrow2 = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_SEASPARROW2) g_sKosatkaDataStruct.iAvisa = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_AVISA) CPRINTLN(DEBUG_INTERNET, "SETUP_KOSATKA_GLOBALS_FROM_STATS iOwned ", GET_MODEL_NAME_FOR_DEBUG(INT_TO_ENUM(MODEL_NAMES, iOwned))) CPRINTLN(DEBUG_INTERNET, "SETUP_KOSATKA_GLOBALS_FROM_STATS ", ", iColour:", g_sKosatkaDataStruct.iColour, ", iFlag:", g_sKosatkaDataStruct.iFlag, " iMissiles:", g_sKosatkaDataStruct.iMissiles, ", iSonar:", g_sKosatkaDataStruct.iSonar, ", iWeaShop:", g_sKosatkaDataStruct.iWeaShop, ", iSeaSparrow2:", g_sKosatkaDataStruct.iSeaSparrow2, ", iAvisa:", g_sKosatkaDataStruct.iAvisa) ELSE g_sKosatkaDataStruct.iOwned = -1 g_sKosatkaDataStruct.iColour = -1 g_sKosatkaDataStruct.iFlag = -1 g_sKosatkaDataStruct.iMissiles = -1 g_sKosatkaDataStruct.iSonar = -1 g_sKosatkaDataStruct.iWeaShop = -1 g_sKosatkaDataStruct.iSeaSparrow2 = -1 g_sKosatkaDataStruct.iAvisa = -1 CPRINTLN(DEBUG_INTERNET, "SETUP_KOSATKA_GLOBALS_FROM_STATS none owned") ENDIF ENDPROC FUNC INT GET_KOSATKA_PRICE_MP(BOOL bOwnsKosatka, KOSATKA_DATA_STRUCT &sData, KOSATKA_PRICE_STRUCT &sPriceStruct) INT iPrice = 0 sPriceStruct.iOwnedPrice = 0 sPriceStruct.iColourPrice = 0 sPriceStruct.iFlagPrice = 0 sPriceStruct.iMissilesPrice = 0 sPriceStruct.iSonarPrice = 0 sPriceStruct.iWeaShopPrice = 0 sPriceStruct.iSeaSparrow2Price = 0 sPriceStruct.iAvisaPrice = 0 MODEL_NAMES eOwnedModel = INT_TO_ENUM(MODEL_NAMES, sData.iOwned) INT iColourSF = GET_KOSATKA_COLOUR_FROM_SF(sData.iColour) // 0 - 14 INT iFlagSF = GET_KOSATKA_FLAG_FROM_SF(sData.iFlag) // 0 - 49 INT iMissilesSF = sData.iMissiles // 0 - 1 INT iSonarSF = sData.iSonar // 0 - 1 INT iWeaShopSF = sData.iWeaShop // 0 - 1 INT iSeaSparrow2SF = sData.iSeaSparrow2 // 0 - 1 INT iAvisaSF = sData.iAvisa // 0 - 1 // ----- BASE MODEL ----- IF NOT bOwnsKosatka INT iNewModPrice = CHECK_DLC_BUYABLE_PRICE(eOwnedModel, -1, FALSE) iPrice += iNewModPrice sPriceStruct.iOwnedPrice = iNewModPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_PRICE_MP: base cab $", iPrice, " (", eOwnedModel, " $", iNewModPrice, ")") ELSE INT iStoredMod = GET_MP_INT_CHARACTER_STAT(MP_STAT_IH_SUB_OWNED) IF (eOwnedModel != INT_TO_ENUM(MODEL_NAMES, iStoredMod)) INT iNewModPrice = CHECK_DLC_BUYABLE_PRICE(eOwnedModel, -1, TRUE) iPrice += iNewModPrice sPriceStruct.iOwnedPrice = iNewModPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_PRICE_MP: new cab $", iPrice, " (", eOwnedModel, " $", iNewModPrice, ", prev:", iStoredMod, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_PRICE_MP: same cab $", iPrice, " (", eOwnedModel, ", prev:", iStoredMod, ")") ENDIF ENDIF // ----- COLOUR ----- IF NOT bOwnsKosatka IF (iColourSF = 0) INT iNewColourPrice = 0 //GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, iColourSF) iPrice += iNewColourPrice sPriceStruct.iColourPrice = iNewColourPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_PRICE_MP: base colour $", iPrice) ELSE INT iNewColourPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, iColourSF) iPrice += iNewColourPrice sPriceStruct.iColourPrice = iNewColourPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: base colour $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_COLOUR, iColourSF), " $", iNewColourPrice, ")") ENDIF ELSE INT iStoredColour = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_COLOUR) IF (iColourSF != iStoredColour) INT iNewColourPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, iColourSF) iPrice += iNewColourPrice sPriceStruct.iColourPrice = iNewColourPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: new Decal $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_COLOUR, iColourSF), " $", iNewColourPrice, ", prev:", iStoredColour, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_KOATKA_MP_PRICE_MP: same Decal $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_COLOUR, iColourSF), ", prev:", iStoredColour, ")") ENDIF ENDIF // ----- FLAGS ----- IF NOT bOwnsKosatka // All flags should be free for initial purchase. url:bugstar:6822412 url:bugstar:6823820 INT iNewFlagPrice = 0 //GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, iFlagSF) iPrice += iNewFlagPrice sPriceStruct.iFlagPrice = iNewFlagPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: base Flag $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_FLAG, iFlagSF), " $", iNewFlagPrice, ")") ELSE INT iStoredFlag = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_FLAG) IF (iFlagSF != iStoredFlag) INT iNewFlagPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, iFlagSF) iPrice += iNewFlagPrice sPriceStruct.iFlagPrice = iNewFlagPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: new Flag $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_FLAG, iFlagSF), " $", iNewFlagPrice, ", prev:", iStoredFlag, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_KOATKA_MP_PRICE_MP: same Flag $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_FLAG, iFlagSF), ", prev:", iStoredFlag, ")") ENDIF ENDIF // ----- MISSILES ----- IF NOT bOwnsKosatka INT iNewMissileLauncherPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_MISSILES, iMissilesSF) iPrice += iNewMissileLauncherPrice sPriceStruct.iMissilesPrice = iNewMissileLauncherPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: base MissileLauncher $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_MISSILES, iMissilesSF), " $", iNewMissileLauncherPrice, ")") ELSE INT iStoredMissileLauncher = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_GUIDED_MISSILES) IF (iMissilesSF != iStoredMissileLauncher) INT iNewMissileLauncherPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_MISSILES, iMissilesSF) iPrice += iNewMissileLauncherPrice sPriceStruct.iMissilesPrice = iNewMissileLauncherPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: new MissileLauncher $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_MISSILES, iMissilesSF), " $", iNewMissileLauncherPrice, ", prev:", iStoredMissileLauncher, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: same MissileLauncher $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_MISSILES, iMissilesSF), ", prev:", iStoredMissileLauncher, ")") ENDIF ENDIF // ----- SONAR ----- IF NOT bOwnsKosatka INT iNewSonarPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_SONAR, iSonarSF) iPrice += iNewSonarPrice sPriceStruct.iSonarPrice = iNewSonarPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: base Sonar $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_SONAR, iSonarSF), " $", iNewSonarPrice, ")") ELSE INT iStoredSonar = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_SONAR) IF (iSonarSF != iStoredSonar) INT iNewSonarPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_SONAR, iSonarSF) iPrice += iNewSonarPrice sPriceStruct.iSonarPrice = iNewSonarPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: new Sonar $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_SONAR, iSonarSF), " $", iNewSonarPrice, ", prev:", iStoredSonar, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: same Sonar $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_SONAR, iSonarSF), ", prev:", iStoredSonar, ")") ENDIF ENDIF // ----- WEAPON WORKSHOP ----- IF NOT bOwnsKosatka INT iNewWeaShopPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_WEAPON_STATION, iWeaShopSF) iPrice += iNewWeaShopPrice sPriceStruct.iWeaShopPrice = iNewWeaShopPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: base WeaShop $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_WEAPON_STATION, iWeaShopSF), " $", iNewWeaShopPrice, ")") ELSE INT iStoredWeaShop = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_WEAPON_WORKSHOP) IF (iWeaShopSF != iStoredWeaShop) INT iNewWeaShopPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_WEAPON_STATION, iWeaShopSF) iPrice += iNewWeaShopPrice sPriceStruct.iWeaShopPrice = iNewWeaShopPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: new WeaShop $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_WEAPON_STATION, iWeaShopSF), " $", iNewWeaShopPrice, ", prev:", iStoredWeaShop, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: same WeaShop $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_WEAPON_STATION, iWeaShopSF), ", prev:", iStoredWeaShop, ")") ENDIF ENDIF // ----- SEASPARROW2 ----- IF NOT bOwnsKosatka INT iNewSeaSparrow2Price = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_SEASPARROW2, iSeaSparrow2SF) iPrice += iNewSeaSparrow2Price sPriceStruct.iSeaSparrow2Price = iNewSeaSparrow2Price CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: base SeaSparrow2 $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_SEASPARROW2, iSeaSparrow2SF), " $", iNewSeaSparrow2Price, ")") ELSE INT iStoredSeaSparrow2 = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_SEASPARROW2) IF (iSeaSparrow2SF != iStoredSeaSparrow2) INT iNewSeaSparrow2Price = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_SEASPARROW2, iSeaSparrow2SF) iPrice += iNewSeaSparrow2Price sPriceStruct.iSeaSparrow2Price = iNewSeaSparrow2Price CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: new SeaSparrow2 $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_SEASPARROW2, iSeaSparrow2SF), " $", iNewSeaSparrow2Price, ", prev:", iStoredSeaSparrow2, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: same SeaSparrow2 $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_SEASPARROW2, iSeaSparrow2SF), ", prev:", iStoredSeaSparrow2, ")") ENDIF ENDIF // ----- AVISA ----- IF NOT bOwnsKosatka INT iNewAvisaPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_AVISA, iAvisaSF) iPrice += iNewAvisaPrice sPriceStruct.iAvisaPrice = iNewAvisaPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: base Avisa $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_AVISA, iAvisaSF), " $", iNewAvisaPrice, ")") ELSE INT iStoredAvisa = GET_PACKED_STAT_INT(PACKED_MP_INT_KOSATKA_AVISA) IF (iAvisaSF != iStoredAvisa) INT iNewAvisaPrice = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_AVISA, iAvisaSF) iPrice += iNewAvisaPrice sPriceStruct.iAvisaPrice = iNewAvisaPrice CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: new Avisa $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_AVISA, iAvisaSF), " $", iNewAvisaPrice, ", prev:", iStoredAvisa, ")") ELSE CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: same Avisa $", iPrice, " (", GET_KOSATKA_MOD_NAME_FROM_ID(eKOSATKA_MOD_AVISA, iAvisaSF), ", prev:", iStoredAvisa, ")") ENDIF ENDIF CPRINTLN(DEBUG_INTERNET, "GET_KOSATKA_MP_PRICE_MP: total price: $", iPrice) RETURN iPrice ENDFUNC #ENDIF /// PURPOSE: /// Returns the price of the vehicle FUNC INT GET_BUYABLE_VEHICLE_PRICE_SP(SITE_BUYABLE_VEHICLE veh, WEBSITE_INDEX_ENUM site, BOOL bAltVersion = FALSE, BOOL bBypassAlt = FALSE) // SP vehicle unlock checks based on mission progression #if not USE_CLF_DLC #if not USE_NRM_DLC SWITCH veh CASE BV_C_ENTITYXF CASE BV_C_CHEETAH IF NOT GET_MISSION_COMPLETE_STATE(SP_MISSION_CARSTEAL_1) RETURN -2 // Prevent unlock ENDIF BREAK CASE BV_C_ZTYPE IF NOT GET_MISSION_COMPLETE_STATE(SP_MISSION_CARSTEAL_2) RETURN -2 // Prevent unlock ENDIF BREAK CASE BV_C_JB700 IF NOT GET_MISSION_COMPLETE_STATE(SP_MISSION_CARSTEAL_3) RETURN -2 // Prevent unlock ENDIF BREAK CASE BV_C_MONROE IF NOT GET_MISSION_COMPLETE_STATE(SP_MISSION_CARSTEAL_4) RETURN -2 // Prevent unlock ENDIF BREAK ENDSWITCH #endif #endif MODEL_NAMES eModel = GET_MODEL_FOR_BUYABLE_VEHICLE(veh) //Block certain CGtoNG DLC vehicles SWITCH veh CASE BV_DLC_HAKUCHOU // CASE BV_DLC_INNOVATION // CASE BV_DLC_COQUETTE2 // CASE BV_DLC_BLADE CASE BV_DLC_WARRENER CASE BV_DLC_GLENDALE CASE BV_DLC_RHAPSODY CASE BV_DLC_PANTO CASE BV_DLC_PIGALLE CASE BV_DLC_MASSACRO // CASE BV_DLC_ZENTORNO CASE BV_DLC_HUNTLEY CASE BV_DLC_THRUST CASE BV_DLC_JESTER // CASE BV_DLC_TURISMOR CASE BV_DLC_ALPHA // CASE BV_DLC_BIFTA // CASE BV_DLC_KALAHARI // CASE BV_DLC_PARADISE RETURN -1 // HIDE VEHICLE BREAK #IF IS_NEXTGEN_BUILD // CG-NG vehicles CASE BV_NG_DODO IF IS_LAST_GEN_PLAYER() IF IS_RANDOM_EVENT_COMPLETE(RE_SEAPLANE) #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(eModel, -1, FALSE) ELSE CPRINTLN(DEBUG_INTERNET, "not completed RE_SEAPLANE for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF ELSE CPRINTLN(DEBUG_INTERNET, "not last gen player for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_NG_MARSHALL IF IS_LAST_GEN_PLAYER() RETURN CHECK_DLC_BUYABLE_PRICE(eModel, -1, FALSE) ELSE CPRINTLN(DEBUG_INTERNET, "not last gen player for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_NG_SUBMERSIBLE2 IF IS_LAST_GEN_PLAYER() AND IS_BIT_SET(g_SavedGlobals.sAmbient.iWildlifePhotographsFlags, BIT_SET_COLLECT_WILDLIFE_PHOTOGRAPHS_FINISHED) RETURN CHECK_DLC_BUYABLE_PRICE(eModel, -1, FALSE) ELSE CPRINTLN(DEBUG_INTERNET, "not last gen player for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_NG_BLISTA2 IF IS_LAST_GEN_PLAYER() RETURN CHECK_DLC_BUYABLE_PRICE(eModel, -1, FALSE) ELSE CPRINTLN(DEBUG_INTERNET, "not last gen player for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_NG_STALION IF IS_LAST_GEN_PLAYER() RETURN CHECK_DLC_BUYABLE_PRICE(eModel, -1, FALSE) ELSE CPRINTLN(DEBUG_INTERNET, "not last gen player for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_NG_DUKES IF IS_LAST_GEN_PLAYER() IF IS_RANDOM_EVENT_COMPLETE(RE_DUEL) #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(eModel, -1, FALSE) ELSE CPRINTLN(DEBUG_INTERNET, "not completed RE_DUEL for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF ELSE CPRINTLN(DEBUG_INTERNET, "not last gen player for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_NG_DUKES2 IF IS_LAST_GEN_PLAYER() IF IS_RANDOM_EVENT_COMPLETE(RE_DUEL) #IF IS_DEBUG_BUILD OR g_bDebugUnlockCGtoNGVehicles #ENDIF RETURN CHECK_DLC_BUYABLE_PRICE(eModel, -1, FALSE) ELSE CPRINTLN(DEBUG_INTERNET, "not completed RE_DUEL for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF ELSE CPRINTLN(DEBUG_INTERNET, "not last gen player for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE ENDIF BREAK CASE BV_NG_STALION2 CPRINTLN(DEBUG_INTERNET, "sCountryRaceData.bStallionUnlocked not set for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE BREAK CASE BV_NG_DOMINATOR2 CPRINTLN(DEBUG_INTERNET, "sCountryRaceData.bDominatorUnlocked not set for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE BREAK CASE BV_NG_GAUNTLET2 CPRINTLN(DEBUG_INTERNET, "sCountryRaceData.bGauntletUnlocked not set for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE BREAK CASE BV_NG_BUFFALO3 CPRINTLN(DEBUG_INTERNET, "sCountryRaceData.bBuffaloUnlocked not set for BV_NG_", GET_LABEL_BUYABLE_VEHICLE(veh),"!") RETURN -1 // HIDE VEHICLE BREAK #ENDIF // Heist vehicles CASE BV_DLC_DINGHY3 RETURN -1 // HIDE VEHICLE BREAK // Halloween vehicles CASE BV_HA_BTYPE2 RETURN -1 // HIDE VEHICLE BREAK CASE BV_HA_LURCHER RETURN -1 // HIDE VEHICLE BREAK #IF FEATURE_HEIST_ISLAND CASE BV_IH_LONGFIN CASE BV_IH_VETIR CASE BV_IH_PATROLBOAT CASE BV_IH_DINGHY5 RETURN -1 #ENDIF ENDSWITCH // Get car price based on market value VEHICLE_VALUE_DATA sData // Fix for SANCHEZ model being updated but not having a price IF veh = BV_C_SANCHEZ IF GET_VEHICLE_VALUE(sData, SANCHEZ) RETURN sData.iStandardPrice ENDIF ENDIF // Fix for 2023924 - Last Gen CE players get these CE vehicles for free. If not then charge the normal price. #IF IS_NEXTGEN_BUILD IF veh = BV_CE_HOTKNIFE OR veh = BV_CE_CARBONRS IF IS_LAST_GEN_PLAYER() AND HAS_LAST_GEN_PLAYER_GOT_COLLECTORS_EDITION() RETURN 0 ENDIF ENDIF #ENDIF SWITCH veh // Cars - Legendary Motors // WWW_LEGENDARYMOTORSPORT_NET CASE BV_C_ZTYPE RETURN 10000000 // 3000000 CASE BV_C_STINGER RETURN 1000000 // 900000 CASE BV_C_JB700 RETURN 475000 // 400000 CASE BV_C_CHEETAH RETURN 650000 // 250000 CASE BV_C_ENTITYXF RETURN 795000 // 140000 CASE BV_C_VENEM RETURN 1000000 // 410000 CASE BV_C_MONROE RETURN 490000 // 300000 CASE BV_C_COGCABRIO RETURN 185000 // 202000 // CASE BV_C_VELOCE // RETURN 170000 // Planes // WWW_ELITASTRAVEL_COM CASE BV_P_DODO RETURN 232560 CASE BV_P_DUSTER RETURN 275000 CASE BV_P_SHAMAL RETURN 1150000 CASE BV_P_CUBAN RETURN 240000 CASE BV_P_LUXOR RETURN 1500000 CASE BV_P_STUNT RETURN 250000 CASE BV_P_FROGGER RETURN 1300000 CASE BV_P_MAVERICK RETURN 780000 CASE BV_EX_TUG RETURN 1000000 // Military // WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM CASE BV_A_RHINO RETURN 3000000 CASE BV_A_BARRACKS RETURN 450000 CASE BV_A_TITAN RETURN 1200000 CASE BV_A_CARGOBOB RETURN 2200000 CASE BV_A_BUZZARD RETURN 2000000 CASE BV_A_CRUSADER RETURN 225000 // Boats // WWW_DOCKTEASE_COM CASE BV_B_MARINA RETURN 75000 CASE BV_B_MARQUIS RETURN 413990 CASE BV_B_JETMAX RETURN 299000 CASE BV_B_SPEEDER RETURN 135000 CASE BV_B_SQUALO RETURN 196621 CASE BV_B_SUNDECK RETURN 25160 CASE BV_B_TROPIC RETURN 22000 CASE BV_B_SEASHARK RETURN 16899 CASE BV_B_SUBMERSIBLE RETURN 695000 CASE BV_B_SUNTRAP RETURN 25160 // Bikes // WWW_PANDMCYCLES_COM CASE BV_C_BMX RETURN 500 CASE BV_C_SCORCHER RETURN 1000 CASE BV_C_WHIPPET RETURN 2500 CASE BV_C_ENDUREX RETURN 2500 CASE BV_C_TRICYCLE RETURN 2500 CASE BV_C_CRUISER RETURN 3000 // Cars - Super Autos // WWW_SOUTHERNSANANDREASSUPERAUTOS_COM CASE BV_C_BALLER2 RETURN 90000 // 98000 ENDSWITCH #IF NOT IS_NEXTGEN_BUILD IF ENUM_TO_INT(veh) >= COUNT_OF(g_savedGlobals.sBuyableVehicleSavedData.g_bOwnedVehicleStates) // Shouldn't reach here - hide DLC vehicles CERRORLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_SP:", GET_LABEL_BUYABLE_VEHICLE(veh), " a DLC vehicle - hide unknown vehicles") RETURN -1 ENDIF #ENDIF IF NOT bBypassAlt IF veh = BV_DLC_SWIFT bAltVersion = IS_SBV_AN_ALTERNATE_VEHICLE(veh, site, g_eLastBuyableVehicleColourSelected) CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_SP: bAltVersion:", GET_STRING_FROM_BOOL(bAltVersion), " for ", GET_LABEL_BUYABLE_VEHICLE(veh), " [g_eLastBuyableVehicleColourSelected:", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, g_eLastBuyableVehicleColourSelected), "]") ENDIF ENDIF IF GET_VEHICLE_VALUE(sData, eModel, bAltVersion) IF NOT bAltVersion CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_SP:", GET_LABEL_BUYABLE_VEHICLE(veh), " has value $", sData.iStandardPrice) ELSE CPRINTLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_SP:", GET_LABEL_BUYABLE_VEHICLE(veh), " alt has value $", sData.iStandardPrice) ENDIF RETURN sData.iStandardPrice ENDIF // Shouldn't reach here - hide unknown vehicles CERRORLN(DEBUG_INTERNET, "GET_BUYABLE_VEHICLE_PRICE_SP:", GET_LABEL_BUYABLE_VEHICLE(veh), " missing - hide unknown vehicles") RETURN -1 ENDFUNC FUNC INT SPECIAL_VEHICLE_SALE_PRICE(INT &iPrice, INT iWebSalePrice, STRING sDebug) #IF IS_DEBUG_BUILD IF g_bForceVehicleWebsite_sale iWebSalePrice = ROUND(TO_FLOAT(iWebSalePrice)*1.5) ENDIF #ENDIF #IF NOT IS_DEBUG_BUILD UNUSED_PARAMETER(sDebug) #ENDIF IF iWebSalePrice > iPrice CPRINTLN(DEBUG_INTERNET, "SPECIAL_VEHICLE_SALE_PRICE: bVehicleWebsite_sale is true, ", sDebug, " is $", iWebSalePrice, " > $", iPrice, " - isReduced!!!") INT iTempPrice = iPrice iPrice = iWebSalePrice RETURN iTempPrice ELSE CDEBUG3LN(DEBUG_INTERNET, "SPECIAL_VEHICLE_SALE_PRICE: bVehicleWebsite_sale is true, ", sDebug, " is $", iWebSalePrice, PICK_STRING(iWebSalePrice = iPrice, " = $", " > $"), iPrice, " - is not reduced...") RETURN -1 ENDIF ENDFUNC #IF IS_DEBUG_BUILD PROC SETUP_CLOTHING_FOR_VEHICLE_PURCHASE_WIDGETS() START_WIDGET_GROUP("Clothing For Vehicle Purchase") ADD_WIDGET_BOOL("bCLOTHING_FOR_VEHICLE_PURCHASE_DISABLE", g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_DISABLE) ADD_WIDGET_STRING("Vehicle_Purchase") ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE1", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE1, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE2", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE2, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE3", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE3, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_STRING("Vehicle_Website_Purchase") ADD_WIDGET_BOOL("bCLOTHING_FOR_VEHICLE_PURCHASE_WARSTOCK", g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_WARSTOCK) ADD_WIDGET_BOOL("bCLOTHING_FOR_VEHICLE_PURCHASE_SSASA", g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_SSASA) ADD_WIDGET_BOOL("bCLOTHING_FOR_VEHICLE_PURCHASE_LEGEND", g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_LEGEND) ADD_WIDGET_BOOL("bCLOTHING_FOR_VEHICLE_PURCHASE_BENNY", g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_BENNY) ADD_WIDGET_BOOL("bCLOTHING_FOR_VEHICLE_PURCHASE_ELITAS", g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_ELITAS) ADD_WIDGET_BOOL("bCLOTHING_FOR_VEHICLE_PURCHASE_DOCK", g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_DOCK) ADD_WIDGET_BOOL("bCLOTHING_FOR_VEHICLE_PURCHASE_PEDAL", g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_PEDAL) ADD_WIDGET_STRING("Clothing For Vehicle Purchase") ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE1", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE1, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE1", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE1, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE2", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE2, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE2", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE2, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE3", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE3, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_INT_SLIDER("iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE3", g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE3, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_STRING("*DEBUG*") ADD_WIDGET_BOOL("bForceReward", g_sDebug_Vehicle_Clothes_Reward.bForceReward) ADD_WIDGET_STRING("Hash Key Generator") g_sDebug_Vehicle_Clothes_Reward.twHashGenerator = ADD_TEXT_WIDGET("Hash Key String") g_sDebug_Vehicle_Clothes_Reward.twGeneratedLabel = ADD_TEXT_WIDGET("Key Label") ADD_WIDGET_INT_READ_ONLY("Hash Value", g_sDebug_Vehicle_Clothes_Reward.iHashkey) ADD_WIDGET_BOOL("Generate Hash Key (accurate in temp_debug.txt)", g_sDebug_Vehicle_Clothes_Reward.bGenerateHashkey) ADD_WIDGET_STRING("Chips For Vehicle Purchase") ADD_WIDGET_INT_SLIDER("iCHIPS_FOR_WEBSITE_PURCHASE_VEHICLE_PROPERTY", g_sMPTunables.iCHIPS_FOR_WEBSITE_PURCHASE_VEHICLE_PROPERTY, LOWEST_INT, HIGHEST_INT, 1) ADD_WIDGET_INT_SLIDER("iCHIPS_FOR_WEBSITE_PURCHASE_CHIPS", g_sMPTunables.iCHIPS_FOR_WEBSITE_PURCHASE_CHIPS, LOWEST_INT, HIGHEST_INT, 1) STOP_WIDGET_GROUP() ENDPROC PROC MAINTAIN_CLOTHING_FOR_VEHICLE_PURCHASE_WIDGETS() IF NOT (g_sDebug_Vehicle_Clothes_Reward.bGenerateHashkey) EXIT ENDIF g_sDebug_Vehicle_Clothes_Reward.bGenerateHashkey = FALSE STRING theString = GET_CONTENTS_OF_TEXT_WIDGET(g_sDebug_Vehicle_Clothes_Reward.twHashGenerator) IF NOT (IS_STRING_NULL(theString)) IF NOT (ARE_STRINGS_EQUAL(theString, "")) g_sDebug_Vehicle_Clothes_Reward.iHashkey = GET_HASH_KEY(theString) IF DOES_TEXT_LABEL_EXIST(theString) SET_CONTENTS_OF_TEXT_WIDGET(g_sDebug_Vehicle_Clothes_Reward.twGeneratedLabel, GET_STRING_FROM_TEXT_FILE(theString)) ELSE SET_CONTENTS_OF_TEXT_WIDGET(g_sDebug_Vehicle_Clothes_Reward.twGeneratedLabel, "") ENDIF ELSE SET_CONTENTS_OF_TEXT_WIDGET(g_sDebug_Vehicle_Clothes_Reward.twGeneratedLabel, "") EXIT ENDIF ELSE SET_CONTENTS_OF_TEXT_WIDGET(g_sDebug_Vehicle_Clothes_Reward.twGeneratedLabel, "") EXIT ENDIF OPEN_DEBUG_FILE() SAVE_NEWLINE_TO_DEBUG_FILE() SAVE_STRING_TO_DEBUG_FILE("HASH KEY GENERATION: ") SAVE_STRING_TO_DEBUG_FILE(theString) SAVE_STRING_TO_DEBUG_FILE(": ") SAVE_INT_TO_DEBUG_FILE(g_sDebug_Vehicle_Clothes_Reward.iHashkey) SAVE_NEWLINE_TO_DEBUG_FILE() CLOSE_DEBUG_FILE() ENDPROC #ENDIF PROC DISPLAY_CLOTHING_FOR_VEHICLE_REWARD_MESSGE(TEXT_LABEL_31 tlRewardLabel, UNLOCKTYPEENUM RewardType = UNLOCKTYPEENUM_TATTOO) //changing from CLOTHING to tattoo to fix 3199904 TEXT_LABEL_31 Reward_Title = tlRewardLabel //"bikshirt21" STRING Reward_Description = "UNLOCK_DESC_SHIRT11" //GET_DLC_SHIRT_DESC(DLC_SHIRT_RETRO_HOMIES) STRING TextureName = "FeedhitTshirt04" //GET_DLC_SHIRT_TEXTURE_NAME(DLC_SHIRT_RETRO_HOMIES) STRING TextureDictionary = "MPTshirtAwards3" #IF IS_DEBUG_BUILD TEXT_LABEL_31 tl31RewardType = "" SWITCH RewardType CASE UNLOCKTYPEENUM_CLOTHES tl31RewardType = "UNLOCKTYPEENUM_CLOTHES" BREAK CASE UNLOCKTYPEENUM_TATTOO tl31RewardType = "UNLOCKTYPEENUM_TATTOO" BREAK DEFAULT tl31RewardType = "UNLOCKTYPEENUM_???_" tl31RewardType += ENUM_TO_INT(RewardType) BREAK ENDSWITCH #ENDIF SET_REWARD_UNLOCKED(RewardType, Reward_Title, Reward_Description, TextureName, TextureDictionary, DEFAULT, //INT Number = -1, DEFAULT, //WEAPON_TYPE aWeapon = WEAPONTYPE_INVALID, DEFAULT, //WEAPONCOMPONENT_TYPE aWeaponComp = WEAPONCOMPONENT_INVALID, DEFAULT, //STRING stPlayerName = NULL, DEFAULT, TRUE) //INT display_ticker = -1) PRINTLN("DISPLAY_CLOTHING_FOR_VEHICLE_REWARD_MESSGE(", tl31RewardType, ", \"", Reward_Title, "\", \"", Reward_Description, "\", \"", TextureName, "\", \"", TextureDictionary, "\")") ENDPROC PROC UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(SITE_BUYABLE_VEHICLE sbv, BOOL bSet) IF (sbv = UNSET_BUYABLE_VEHICLE) EXIT ENDIF IF (ENUM_TO_INT(sbv)/32) >= COUNT_OF(g_iClothingForVehBits) CASSERTLN(DEBUG_INTERNET, "UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE: need to increase g_iClothingForVehBits[", COUNT_OF(g_iClothingForVehBits), "] to hold TOTAL_BUYABLE_VEHICLES [", TOTAL_BUYABLE_VEHICLES, "/32:", (ENUM_TO_INT(TOTAL_BUYABLE_VEHICLES)/32)+1, "]") EXIT ENDIF IF bSet SET_BIT(g_iClothingForVehBits[(ENUM_TO_INT(sbv)/32)], (ENUM_TO_INT(sbv)%32)) ELSE CLEAR_BIT(g_iClothingForVehBits[(ENUM_TO_INT(sbv)/32)], (ENUM_TO_INT(sbv)%32)) ENDIF ENDPROC FUNC BOOL GET_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(SITE_BUYABLE_VEHICLE sbv) IF (sbv = UNSET_BUYABLE_VEHICLE) RETURN FALSE ENDIF IF (ENUM_TO_INT(sbv)/32) >= COUNT_OF(g_iClothingForVehBits) CASSERTLN(DEBUG_INTERNET, "GET_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE: need to increase g_iClothingForVehBits[", COUNT_OF(g_iClothingForVehBits), "] to hold TOTAL_BUYABLE_VEHICLES [", TOTAL_BUYABLE_VEHICLES, "/32:", (ENUM_TO_INT(TOTAL_BUYABLE_VEHICLES)/32)+1, "]") RETURN FALSE ENDIF RETURN IS_BIT_SET(g_iClothingForVehBits[(ENUM_TO_INT(sbv)/32)], (ENUM_TO_INT(sbv)%32)) ENDFUNC PROC UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(WEBSITE_INDEX_ENUM siteID, BOOL bSet) IF (ENUM_TO_INT(siteID)/32) >= COUNT_OF(g_iClothingForWebBits) CASSERTLN(DEBUG_INTERNET, "UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: need to increase g_iClothingForWebBits[", COUNT_OF(g_iClothingForWebBits), "] to hold \"", GET_WEBSITE_FROM_INDEX(siteID), "\" [", siteID, "/32:", (ENUM_TO_INT(siteID)/32)+1, "]") EXIT ENDIF IF bSet SET_BIT(g_iClothingForWebBits[(ENUM_TO_INT(siteID)/32)], (ENUM_TO_INT(siteID)%32)) ELSE CLEAR_BIT(g_iClothingForWebBits[(ENUM_TO_INT(siteID)/32)], (ENUM_TO_INT(siteID)%32)) ENDIF ENDPROC FUNC BOOL GET_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(WEBSITE_INDEX_ENUM siteID) IF (ENUM_TO_INT(siteID)/32) >= COUNT_OF(g_iClothingForWebBits) CASSERTLN(DEBUG_INTERNET, "GET_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: need to increase g_iClothingForWebBits[", COUNT_OF(g_iClothingForWebBits), "] to hold \"", GET_WEBSITE_FROM_INDEX(siteID), "\" [", siteID, "/32:", (ENUM_TO_INT(siteID)/32)+1, "]") RETURN FALSE ENDIF RETURN IS_BIT_SET(g_iClothingForWebBits[(ENUM_TO_INT(siteID)/32)], (ENUM_TO_INT(siteID)%32)) ENDFUNC FUNC BOOL GET_CLOTHING_FOR_VEHICLE_PURCHASE(SITE_BUYABLE_VEHICLE sbv, INT &iVehicleNum) #IF IS_DEBUG_BUILD IF g_sDebug_Vehicle_Clothes_Reward.bForceReward CDEBUG1LN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE - bForceReward = TRUE") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, TRUE) iVehicleNum = GET_RANDOM_INT_IN_RANGE(0, 3) RETURN TRUE ENDIF #ENDIF IF NOT g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_DISABLE CDEBUG1LN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE - bCLOTHING_FOR_VEHICLE_PURCHASE_DISABLE = FALSE") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF TEXT_LABEL_15 tl15VehicleName = GET_LABEL_BUYABLE_VEHICLE(sbv) IF IS_STRING_NULL_OR_EMPTY(tl15VehicleName) CDEBUG1LN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE - tl15VehicleName = NULL") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF INT iVehicleNamehash = GET_HASH_KEY(tl15VehicleName) IF iVehicleNamehash = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE1 iVehicleNum = 0 ELIF iVehicleNamehash = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE2 iVehicleNum = 1 ELIF iVehicleNamehash = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_VEHICLE3 iVehicleNum = 2 ELSE CDEBUG1LN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE - \"", tl15VehicleName, "\" iVehicleNamehash = ", iVehicleNamehash) UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF CDEBUG3LN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE \"", tl15VehicleName, "\" iVehicleNamehash:", iVehicleNamehash, " iVehicleNum:", iVehicleNum) INT iClothing_for_vehicle_purchase_clothing IF GET_PLAYER_MODEL() = MP_M_FREEMODE_01 SWITCH iVehicleNum CASE 0 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE1 BREAK CASE 1 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE2 BREAK CASE 2 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE3 BREAK ENDSWITCH ELSE SWITCH iVehicleNum CASE 0 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE1 BREAK CASE 1 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE2 BREAK CASE 2 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE3 BREAK ENDSWITCH ENDIF IF iClothing_for_vehicle_purchase_clothing = 0 CDEBUG1LN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE - iClothing_for_vehicle_purchase_clothing = 0") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF // Is the item a piece of valid clothing? PED_COMP_TYPE_ENUM ePedCompTypeEnum PED_COMP_NAME_ENUM ePedCompNameEnum IF GET_MP_REWARD_CLOTHING_FROM_TUNABLE(GET_PLAYER_MODEL(), iClothing_for_vehicle_purchase_clothing, ePedCompTypeEnum, ePedCompNameEnum) //...yes, check if alreadu given the item to the player TEXT_LABEL_31 tlRewardLabel IF IS_MP_REWARD_CLOTHING_GIVEN(ePedCompTypeEnum, ePedCompNameEnum, tlRewardLabel) CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE - Rewarded item associated with this vehicle (Clothing). ", tlRewardLabel) // DISPLAY_TSHIRT_AWARD_MESSGE_AFTER_TRANSITION(ePedCompTypeEnum) UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE - GET_MP_REWARD_CLOTHING_FROM_TUNABLE(", GET_MODEL_NAME_FOR_DEBUG(GET_PLAYER_MODEL()), ", ", iClothing_for_vehicle_purchase_clothing, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum, ") iVehicleNum:", iVehicleNum) ELSE CASSERTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_PURCHASE sbv:", sbv, " ", GET_LABEL_BUYABLE_VEHICLE(sbv), " VEHICLE_PURCHASE clothing hash:", iClothing_for_vehicle_purchase_clothing, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum) UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF UPDATE_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, TRUE) RETURN TRUE ENDFUNC FUNC BOOL GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(WEBSITE_INDEX_ENUM siteID) #IF IS_DEBUG_BUILD IF g_sDebug_Vehicle_Clothes_Reward.bForceReward UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) RETURN TRUE ENDIF #ENDIF IF NOT g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_DISABLE UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, FALSE) RETURN FALSE ENDIF PED_COMP_TYPE_ENUM ePedCompTypeEnum PED_COMP_NAME_ENUM ePedCompNameEnum INT iClothing_for_vehicle_purchase_clothing IF GET_PLAYER_MODEL() = MP_M_FREEMODE_01 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE1 ELSE iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE1 ENDIF IF iClothing_for_vehicle_purchase_clothing = 0 UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, FALSE) RETURN FALSE ENDIF // Is the item a piece of valid clothing? IF GET_MP_REWARD_CLOTHING_FROM_TUNABLE(GET_PLAYER_MODEL(), iClothing_for_vehicle_purchase_clothing, ePedCompTypeEnum, ePedCompNameEnum) CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE - GET_MP_REWARD_CLOTHING_FROM_TUNABLE(", GET_MODEL_NAME_FOR_DEBUG(GET_PLAYER_MODEL()), ", ", iClothing_for_vehicle_purchase_clothing, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum, ")") //...yes, check if alreadu given the item to the player TEXT_LABEL_31 tlRewardLabel IF IS_MP_REWARD_CLOTHING_GIVEN(ePedCompTypeEnum, ePedCompNameEnum, tlRewardLabel) CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE - Rewarded item associated with this vehicle (Clothing). ", tlRewardLabel) // DISPLAY_TSHIRT_AWARD_MESSGE_AFTER_TRANSITION(ePedCompTypeEnum) UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, FALSE) RETURN FALSE ENDIF ELSE CASSERTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE siteID:", siteID, " ", GET_WEBSITE_FROM_INDEX(siteid), " VEHICLE_PURCHASE clothing hash:", iClothing_for_vehicle_purchase_clothing, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum) UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, FALSE) RETURN FALSE ENDIF SWITCH siteID CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM IF g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_WARSTOCK CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: bCLOTHING_FOR_VEHICLE_PURCHASE_WARSTOCK") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) RETURN TRUE ENDIF BREAK CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM IF g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_SSASA CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: bCLOTHING_FOR_VEHICLE_PURCHASE_SSASA") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) RETURN TRUE ENDIF BREAK CASE WWW_LEGENDARYMOTORSPORT_NET IF g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_LEGEND CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: bCLOTHING_FOR_VEHICLE_PURCHASE_LEGEND") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) RETURN TRUE ENDIF BREAK CASE WWW_BENNYSORIGINALMOTORWORKS_COM IF g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_BENNY CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: bCLOTHING_FOR_VEHICLE_PURCHASE_BENNY") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) RETURN TRUE ENDIF BREAK CASE WWW_ELITASTRAVEL_COM IF g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_ELITAS CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: bCLOTHING_FOR_VEHICLE_PURCHASE_ELITAS") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) RETURN TRUE ENDIF BREAK CASE WWW_DOCKTEASE_COM IF g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_DOCK CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: bCLOTHING_FOR_VEHICLE_PURCHASE_DOCK") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) RETURN TRUE ENDIF BREAK CASE WWW_PANDMCYCLES_COM IF g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_PEDAL CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: bCLOTHING_FOR_VEHICLE_PURCHASE_PEDAL") UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) RETURN TRUE ENDIF BREAK // CASE WWW_ARENAWAR_TV // IF g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_ARENA // CPRINTLN(DEBUG_INTERNET, "GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE: bCLOTHING_FOR_VEHICLE_PURCHASE_ARENA") // UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, TRUE) // RETURN TRUE // ENDIF // BREAK ENDSWITCH UPDATE_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID, FALSE) RETURN FALSE ENDFUNC PROC SET_CLOTHING_FOR_VEHICLE_PURCHASE(WEBSITE_INDEX_ENUM siteID, SITE_BUYABLE_VEHICLE sbv) INT iVehicleNum = -1 IF GET_CLOTHING_FOR_VEHICLE_PURCHASE(sbv, iVehicleNum) PED_COMP_TYPE_ENUM ePedCompTypeEnum PED_COMP_NAME_ENUM ePedCompNameEnum INT iClothing_for_vehicle_purchase_clothing IF GET_PLAYER_MODEL() = MP_M_FREEMODE_01 SWITCH iVehicleNum CASE 0 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE1 BREAK CASE 1 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE2 BREAK CASE 2 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE3 BREAK ENDSWITCH ELSE SWITCH iVehicleNum CASE 0 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE1 BREAK CASE 1 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE2 BREAK CASE 2 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE3 BREAK ENDSWITCH ENDIF // Is the item a piece of valid clothing? IF GET_MP_REWARD_CLOTHING_FROM_TUNABLE(GET_PLAYER_MODEL(), iClothing_for_vehicle_purchase_clothing, ePedCompTypeEnum, ePedCompNameEnum) CPRINTLN(DEBUG_INTERNET, "SET_CLOTHING_FOR_VEHICLE_PURCHASE - GET_MP_REWARD_CLOTHING_FROM_TUNABLE(", GET_MODEL_NAME_FOR_DEBUG(GET_PLAYER_MODEL()), ", ", iClothing_for_vehicle_purchase_clothing, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum, ") iVehicleNum:", iVehicleNum) //...yes, give the item to the player TEXT_LABEL_31 tlRewardLabel GIVE_MP_REWARD_CLOTHING(ePedCompTypeEnum, ePedCompNameEnum, tlRewardLabel) CPRINTLN(DEBUG_INTERNET, "SET_CLOTHING_FOR_VEHICLE_PURCHASE - Rewarded item associated with this vehicle (Clothing). ", tlRewardLabel) DISPLAY_CLOTHING_FOR_VEHICLE_REWARD_MESSGE(tlRewardLabel) ELSE CASSERTLN(DEBUG_INTERNET, "SET_CLOTHING_FOR_VEHICLE_PURCHASE sbv:", sbv, " ", GET_LABEL_BUYABLE_VEHICLE(sbv), " VEHICLE_PURCHASE clothing hash:", iClothing_for_vehicle_purchase_clothing, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum) ENDIF ENDIF IF GET_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(siteID) PED_COMP_TYPE_ENUM ePedCompTypeEnum PED_COMP_NAME_ENUM ePedCompNameEnum INT iClothing_for_vehicle_purchase_clothing IF GET_PLAYER_MODEL() = MP_M_FREEMODE_01 iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_MALE1 ELSE iClothing_for_vehicle_purchase_clothing = g_sMPTunables.iCLOTHING_FOR_VEHICLE_PURCHASE_CLOTHING_FEMALE1 ENDIF // Is the item a piece of valid clothing? IF GET_MP_REWARD_CLOTHING_FROM_TUNABLE(GET_PLAYER_MODEL(), iClothing_for_vehicle_purchase_clothing, ePedCompTypeEnum, ePedCompNameEnum) CPRINTLN(DEBUG_INTERNET, "SET_CLOTHING_FOR_VEHICLE_PURCHASE - GET_MP_REWARD_CLOTHING_FROM_TUNABLE(", GET_MODEL_NAME_FOR_DEBUG(GET_PLAYER_MODEL()), ", ", iClothing_for_vehicle_purchase_clothing, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum, ")") //...yes, give the item to the player TEXT_LABEL_31 tlRewardLabel GIVE_MP_REWARD_CLOTHING(ePedCompTypeEnum, ePedCompNameEnum, tlRewardLabel) CPRINTLN(DEBUG_INTERNET, "SET_CLOTHING_FOR_VEHICLE_PURCHASE - Rewarded item associated with this website (Clothing). ", tlRewardLabel) DISPLAY_CLOTHING_FOR_VEHICLE_REWARD_MESSGE(tlRewardLabel) ELSE CASSERTLN(DEBUG_INTERNET, "SET_CLOTHING_FOR_VEHICLE_PURCHASE siteID:", siteID, " ", GET_WEBSITE_FROM_INDEX(siteid), " VEHICLE_WEBSITE_PURCHASE clothing hash:", iClothing_for_vehicle_purchase_clothing, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum) ENDIF ENDIF ENDPROC PROC UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(SITE_BUYABLE_VEHICLE sbv, BOOL bSet) IF (sbv = UNSET_BUYABLE_VEHICLE) EXIT ENDIF IF (ENUM_TO_INT(sbv)/32) >= COUNT_OF(g_iChipsForVehBits) CASSERTLN(DEBUG_INTERNET, "UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE: need to increase g_iChipsForVehBits[", COUNT_OF(g_iChipsForVehBits), "] to hold TOTAL_BUYABLE_VEHICLES [", TOTAL_BUYABLE_VEHICLES, "/32:", (ENUM_TO_INT(TOTAL_BUYABLE_VEHICLES)/32)+1, "]") EXIT ENDIF IF bSet SET_BIT(g_iChipsForVehBits[(ENUM_TO_INT(sbv)/32)], (ENUM_TO_INT(sbv)%32)) ELSE CLEAR_BIT(g_iChipsForVehBits[(ENUM_TO_INT(sbv)/32)], (ENUM_TO_INT(sbv)%32)) ENDIF ENDPROC FUNC BOOL GET_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(SITE_BUYABLE_VEHICLE sbv) IF (sbv = UNSET_BUYABLE_VEHICLE) RETURN FALSE ENDIF IF (ENUM_TO_INT(sbv)/32) >= COUNT_OF(g_iChipsForVehBits) CASSERTLN(DEBUG_INTERNET, "GET_CACHED_CHIPS_FOR_VEHICLE_PURCHASE: need to increase g_iChipsForVehBits[", COUNT_OF(g_iChipsForVehBits), "] to hold TOTAL_BUYABLE_VEHICLES [", TOTAL_BUYABLE_VEHICLES, "/32:", (ENUM_TO_INT(TOTAL_BUYABLE_VEHICLES)/32)+1, "]") RETURN FALSE ENDIF RETURN IS_BIT_SET(g_iChipsForVehBits[(ENUM_TO_INT(sbv)/32)], (ENUM_TO_INT(sbv)%32)) ENDFUNC PROC UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(INT iPropertyIndex, BOOL bSet) IF (iPropertyIndex = -1) EXIT ENDIF IF (ENUM_TO_INT(iPropertyIndex)/32) >= COUNT_OF(g_iChipsForPropBits) CASSERTLN(DEBUG_INTERNET, "UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE: need to increase g_iChipsForPropBits[", COUNT_OF(g_iChipsForPropBits), "] to hold MAX_MP_PROPERTIES [", MAX_MP_PROPERTIES, "/32:", (ENUM_TO_INT(MAX_MP_PROPERTIES)/32)+1, "]") EXIT ENDIF IF bSet SET_BIT(g_iChipsForPropBits[(ENUM_TO_INT(iPropertyIndex)/32)], (ENUM_TO_INT(iPropertyIndex)%32)) ELSE CLEAR_BIT(g_iChipsForPropBits[(ENUM_TO_INT(iPropertyIndex)/32)], (ENUM_TO_INT(iPropertyIndex)%32)) ENDIF ENDPROC FUNC BOOL GET_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(INT iPropertyIndex) IF (iPropertyIndex = -1) RETURN FALSE ENDIF IF (ENUM_TO_INT(iPropertyIndex)/32) >= COUNT_OF(g_iChipsForPropBits) CASSERTLN(DEBUG_INTERNET, "GET_CACHED_CHIPS_FOR_PROPERTY_PURCHASE: need to increase g_iChipsForPropBits[", COUNT_OF(g_iChipsForPropBits), "] to hold MAX_MP_PROPERTIES [", MAX_MP_PROPERTIES, "/32:", (ENUM_TO_INT(MAX_MP_PROPERTIES)/32)+1, "]") RETURN FALSE ENDIF RETURN IS_BIT_SET(g_iChipsForPropBits[(ENUM_TO_INT(iPropertyIndex)/32)], (ENUM_TO_INT(iPropertyIndex)%32)) ENDFUNC FUNC BOOL GET_CHIPS_FOR_VEHICLE_PURCHASE(SITE_BUYABLE_VEHICLE sbv, INT &iVehicleNum) // #IF IS_DEBUG_BUILD // IF g_sDebug_Vehicle_Clothes_Reward.bForceReward // CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE - bForceReward = TRUE") // UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv, TRUE) // iVehicleNum = GET_RANDOM_INT_IN_RANGE(0, 3) // RETURN TRUE // ENDIF // #ENDIF // // IF NOT g_sMPTunables.bCLOTHING_FOR_VEHICLE_PURCHASE_DISABLE // CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE - bCLOTHING_FOR_VEHICLE_PURCHASE_DISABLE = FALSE") // UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv, FALSE) // iVehicleNum = -1 // RETURN FALSE // ENDIF TEXT_LABEL_15 tl15VehicleName = GET_LABEL_BUYABLE_VEHICLE(sbv) IF IS_STRING_NULL_OR_EMPTY(tl15VehicleName) CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE - tl15VehicleName = NULL") UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF INT iVehicleNamehash = GET_HASH_KEY(tl15VehicleName) IF iVehicleNamehash = g_sMPTunables.iCHIPS_FOR_WEBSITE_PURCHASE_VEHICLE_PROPERTY iVehicleNum = 0 ELSE CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE - \"", tl15VehicleName, "\" iVehicleNamehash = ", iVehicleNamehash) UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF CDEBUG3LN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE \"", tl15VehicleName, "\" iVehicleNamehash:", iVehicleNamehash, " iVehicleNum:", iVehicleNum) INT iChips_for_vehicle_purchase_chips SWITCH iVehicleNum CASE 0 iChips_for_vehicle_purchase_chips = g_sMPTunables.iCHIPS_FOR_WEBSITE_PURCHASE_CHIPS BREAK ENDSWITCH IF iChips_for_vehicle_purchase_chips = 0 CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE - iChips_for_vehicle_purchase_chips = 0") UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv, FALSE) iVehicleNum = -1 RETURN FALSE ENDIF // Is the item a piece of valid clothing? // IF GET_MP_REWARD_CLOTHING_FROM_TUNABLE(GET_PLAYER_MODEL(), iChips_for_vehicle_purchase_chips, ePedCompTypeEnum, ePedCompNameEnum) //...yes, check if alreadu given the item to the player // TEXT_LABEL_31 tlRewardLabel // IF IS_MP_REWARD_CLOTHING_GIVEN(ePedCompTypeEnum, ePedCompNameEnum, tlRewardLabel) // CPRINTLN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE - Rewarded item associated with this vehicle (Clothing). ", tlRewardLabel) // UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv, FALSE) // iVehicleNum = -1 // RETURN FALSE // ENDIF CPRINTLN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE - GET_MP_REWARD_CLOTHING_FROM_TUNABLE(", GET_MODEL_NAME_FOR_DEBUG(GET_PLAYER_MODEL()), ", ", iChips_for_vehicle_purchase_chips, ") iVehicleNum:", iVehicleNum) // ELSE // CASSERTLN(DEBUG_INTERNET, "GET_CHIPS_FOR_VEHICLE_PURCHASE sbv:", sbv, " ", GET_LABEL_BUYABLE_VEHICLE(sbv), " VEHICLE_PURCHASE chips hash:", iChips_for_vehicle_purchase_chips, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum) // UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv, FALSE) // iVehicleNum = -1 // RETURN FALSE // ENDIF UPDATE_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv, TRUE) RETURN TRUE ENDFUNC FUNC BOOL SET_CHIPS_FOR_VEHICLE_PURCHASE(SITE_BUYABLE_VEHICLE sbv, GENERIC_TRANSACTION_STATE &eTransactionState) INT iVehicleNum = -1 IF GET_CHIPS_FOR_VEHICLE_PURCHASE(sbv, iVehicleNum) INT iChips_for_vehicle_purchase_chips SWITCH iVehicleNum CASE 0 iChips_for_vehicle_purchase_chips = g_sMPTunables.iCHIPS_FOR_WEBSITE_PURCHASE_CHIPS BREAK ENDSWITCH IF GIVE_PLAYER_CHIPS_BONUS_FOR_PURCHASE(iChips_for_vehicle_purchase_chips, eTransactionState) CPRINTLN(DEBUG_INTERNET, "SET_CHIPS_FOR_VEHICLE_PURCHASE - Rewarded item associated with this vehicle (Chips). ", iChips_for_vehicle_purchase_chips) RETURN TRUE ENDIF RETURN FALSE ENDIF RETURN TRUE ENDFUNC FUNC BOOL GET_CHIPS_FOR_PROPERTY_PURCHASE(INT iPropertyIndex, INT &iPropertyNum) // #IF IS_DEBUG_BUILD // IF g_sDebug_Property_Clothes_Reward.bForceReward // CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE - bForceReward = TRUE") // UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(sbv, TRUE) // iPropertyNum = GET_RANDOM_INT_IN_RANGE(0, 3) // RETURN TRUE // ENDIF // #ENDIF // // IF NOT g_sMPTunables.bCLOTHING_FOR_PROPERTY_PURCHASE_DISABLE // CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE - bCLOTHING_FOR_PROPERTY_PURCHASE_DISABLE = FALSE") // UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(sbv, FALSE) // iPropertyNum = -1 // RETURN FALSE // ENDIF TEXT_LABEL_15 tl15PropertyName = mpProperties[iPropertyIndex].tl_PropertyName IF IS_STRING_NULL_OR_EMPTY(tl15PropertyName) CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE - tl15PropertyName = NULL") UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(iPropertyIndex, FALSE) iPropertyNum = -1 RETURN FALSE ENDIF INT iPropertyNamehash = GET_HASH_KEY(tl15PropertyName) IF iPropertyNamehash = g_sMPTunables.iCHIPS_FOR_WEBSITE_PURCHASE_VEHICLE_PROPERTY iPropertyNum = 0 ELSE CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE - \"", tl15PropertyName, "\" iPropertyNamehash = ", iPropertyNamehash) UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(iPropertyIndex, FALSE) iPropertyNum = -1 RETURN FALSE ENDIF CDEBUG3LN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE \"", tl15PropertyName, "\" iPropertyNamehash:", iPropertyNamehash, " iPropertyNum:", iPropertyNum) INT iChips_for_property_purchase_chips SWITCH iPropertyNum CASE 0 iChips_for_property_purchase_chips = g_sMPTunables.iCHIPS_FOR_WEBSITE_PURCHASE_CHIPS BREAK ENDSWITCH IF iChips_for_property_purchase_chips = 0 CDEBUG1LN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE - iChips_for_property_purchase_chips = 0") UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(iPropertyIndex, FALSE) iPropertyNum = -1 RETURN FALSE ENDIF // Is the item a piece of valid clothing? // IF GET_MP_REWARD_CLOTHING_FROM_TUNABLE(GET_PLAYER_MODEL(), iChips_for_property_purchase_chips, ePedCompTypeEnum, ePedCompNameEnum) //...yes, check if alreadu given the item to the player // TEXT_LABEL_31 tlRewardLabel // IF IS_MP_REWARD_CLOTHING_GIVEN(ePedCompTypeEnum, ePedCompNameEnum, tlRewardLabel) // CPRINTLN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE - Rewarded item associated with this property (Clothing). ", tlRewardLabel) // UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(iPropertyIndex, FALSE) // iPropertyNum = -1 // RETURN FALSE // ENDIF CPRINTLN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE - GET_MP_REWARD_CLOTHING_FROM_TUNABLE(", GET_MODEL_NAME_FOR_DEBUG(GET_PLAYER_MODEL()), ", ", iChips_for_property_purchase_chips, ") iPropertyNum:", iPropertyNum) // ELSE // CASSERTLN(DEBUG_INTERNET, "GET_CHIPS_FOR_PROPERTY_PURCHASE iPropertyIndex:", iPropertyIndex, " ", mpProperties[iPropertyIndex].tl_PropertyName, " PROPERTY_PURCHASE chips hash:", iChips_for_property_purchase_chips, ", ", GET_PED_COMP_TYPE_STRING(ePedCompTypeEnum), ", ePedCompNameEnum:", ePedCompNameEnum) // UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(iPropertyIndex, FALSE) // iPropertyNum = -1 // RETURN FALSE // ENDIF UPDATE_CACHED_CHIPS_FOR_PROPERTY_PURCHASE(iPropertyIndex, TRUE) RETURN TRUE ENDFUNC FUNC BOOL SET_CHIPS_FOR_PROPERTY_PURCHASE(INT iPropertyIndex, GENERIC_TRANSACTION_STATE &eTransactionState) INT iPropertyNum = -1 IF GET_CHIPS_FOR_PROPERTY_PURCHASE(iPropertyIndex, iPropertyNum) INT iCHIPS_FOR_property_PURCHASE_chips SWITCH iPropertyNum CASE 0 iChips_for_property_purchase_chips = g_sMPTunables.iCHIPS_FOR_WEBSITE_PURCHASE_CHIPS BREAK ENDSWITCH IF GIVE_PLAYER_CHIPS_BONUS_FOR_PURCHASE(iChips_for_property_purchase_chips, eTransactionState) CPRINTLN(DEBUG_INTERNET, "SET_CHIPS_FOR_PROPERTY_PURCHASE - Rewarded item associated with this property (Chips). ", iChips_for_property_purchase_chips) RETURN TRUE ENDIF RETURN FALSE ENDIF RETURN TRUE ENDFUNC PROC SCALEFORM_MOVIE_METHOD_ADD_YACHT_DATA(SCALEFORM_INDEX &mov, INT i, BOOL bOwnsYacht, YACHT_DATA_STRUCT &sYachtDataStruct, INT iPrice, STRING sDebug) INT sYachtDataStruct_iMod = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD) INT sYachtDataStruct_iFixture = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE) INT sYachtDataStruct_iLighting = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING) INT sYachtDataStruct_iFlag = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FLAG) INT sYachtDataStruct_iColour = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_COLOR) TEXT_LABEL_63 sYachtDataStruct_tl63Name = GET_MP_LONG_STRING_CHARACTER_STAT(MP_STAT_YACHT_NAME, MP_STAT_YACHT_NAME2) // INT sYachtDataStruct.tl63NewName = "" // INT sYachtDataStruct_iYachtNameID = GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_YACHT_NAME_ID) #IF NOT IS_DEBUG_BUILD UNUSED_PARAMETER(sDebug) #ENDIF INT iPurchase_Model_The_Orion, iPurchase_Model_The_Pisces, iPurchase_Model_The_Aquarius INT iSale_Model_The_Orion = -1, iSale_Model_The_Pisces = -1, iSale_Model_The_Aquarius = -1 IF NOT bOwnsYacht iPurchase_Model_The_Orion = g_sMPTunables.iApartment_Purchase_Model_The_Orion_First_Purchase iPurchase_Model_The_Pisces = g_sMPTunables.iApartment_Purchase_Model_The_Pisces_First_Purchase iPurchase_Model_The_Aquarius = g_sMPTunables.iApartment_Purchase_Model_The_Aquarius_First_Purchase ELSE iPurchase_Model_The_Orion = g_sMPTunables.iApartment_Mod_Upgrade_Model_The_Orion_Mod iPurchase_Model_The_Pisces = g_sMPTunables.iApartment_Mod_Upgrade_Model_The_Pisces_Mod iPurchase_Model_The_Aquarius = g_sMPTunables.iApartment_Mod_Upgrade_Model_The_Aquarius_Mod ENDIF INT iMod_Upgrade_Chrome_Fittings = g_sMPTunables.iApartment_Mod_Upgrade_Chrome_Fittings, iMod_Sale_Chrome_Fittings = -1 INT iMod_Upgrade_Gold_Fittings = g_sMPTunables.iApartment_Mod_Upgrade_Gold_Fittings, iMod_Sale_Gold_Fittings = -1 INT iMod_Upgrade_Lights_Presidential_Gold = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Gold, iMod_Sale_Lights_Presidential_Gold = -1 INT iMod_Upgrade_Lights_Presidential_Blue = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Blue, iMod_Sale_Lights_Presidential_Blue = -1 INT iMod_Upgrade_Lights_Presidential_Rose = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Rose, iMod_Sale_Lights_Presidential_Rose = -1 INT iMod_Upgrade_Lights_Presidential_Green = g_sMPTunables.iApartment_Mod_Upgrade_Lights_Presidential_Green, iMod_Sale_Lights_Presidential_Green = -1 INT iMod_Upgrade_Vivacious_Gold = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Gold, iMod_Sale_Lights_Vivacious_Gold = -1 INT iMod_Upgrade_Vivacious_Blue = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Blue, iMod_Sale_Lights_Vivacious_Blue = -1 INT iMod_Upgrade_Vivacious_Rose = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Rose, iMod_Sale_Lights_Vivacious_Rose = -1 INT iMod_Upgrade_Vivacious_Green = g_sMPTunables.iApartment_Mod_Upgrade_Vivacious_Green, iMod_Sale_Lights_Vivacious_Green = -1 INT iMod_Upgrade_Yacht_Color_Pacific = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Pacific, iMod_Sale_Color_Pacific = -1 INT iMod_Upgrade_Yacht_Color_Azure = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Azure, iMod_Sale_Color_Azure = -1 INT iMod_Upgrade_Yacht_Color_Nautical = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Nautical, iMod_Sale_Color_Nautical = -1 INT iMod_Upgrade_Yacht_Color_Continental = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Continental, iMod_Sale_Color_Continental = -1 INT iMod_Upgrade_Yacht_Color_Battleship = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Battleship, iMod_Sale_Color_Battleship = -1 INT iMod_Upgrade_Yacht_Color_Intrepid = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Intrepid, iMod_Sale_Color_Intrepid = -1 INT iMod_Upgrade_Yacht_Color_Uniform = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Uniform, iMod_Sale_Color_Uniform = -1 INT iMod_Upgrade_Yacht_Color_Classico = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Classico, iMod_Sale_Color_Classico = -1 INT iMod_Upgrade_Yacht_Color_Mediterranean = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Mediterranean, iMod_Sale_Color_Mediterranean = -1 INT iMod_Upgrade_Yacht_Color_Command = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Command, iMod_Sale_Color_Command = -1 INT iMod_Upgrade_Yacht_Color_Mariner = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Mariner, iMod_Sale_Color_Mariner = -1 INT iMod_Upgrade_Yacht_Color_Ruby = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Ruby, iMod_Sale_Color_Ruby = -1 INT iMod_Upgrade_Yacht_Color_Vintage = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Vintage, iMod_Sale_Color_Vintage = -1 INT iMod_Upgrade_Yacht_Color_Pristine = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Pristine, iMod_Sale_Color_Pristine = -1 INT iMod_Upgrade_Yacht_Color_Merchant = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Merchant, iMod_Sale_Color_Merchant = -1 INT iMod_Upgrade_Yacht_Color_Voyager = g_sMPTunables.iApartment_Mod_Upgrade_Yacht_Color_Voyager, iMod_Sale_Color_Voyager = -1 INT iMod_Upgrade_Flag = g_sMPTunables.iApartment_Mod_Upgrade_Flag , iMod_Sale_Flag = -1 INT iMod_Upgrade_Name_Yacht = g_sMPTunables.iApartment_Mod_Upgrade_Name_Yacht, iMod_Sale_Name_Yacht = -1 IF g_sMPTunables.bVehicleWebsite_sale // IF NOT bOwnsYacht iSale_Model_The_Orion = SPECIAL_VEHICLE_SALE_PRICE(iPurchase_Model_The_Orion, 6000000, "iModel_The_Orion_First") iSale_Model_The_Pisces = SPECIAL_VEHICLE_SALE_PRICE(iPurchase_Model_The_Pisces, 7000000, "iModel_The_Pisces_First") iSale_Model_The_Aquarius = SPECIAL_VEHICLE_SALE_PRICE(iPurchase_Model_The_Aquarius, 8000000, "iModel_The_Aquarius_First") ELSE iSale_Model_The_Orion = SPECIAL_VEHICLE_SALE_PRICE(iPurchase_Model_The_Orion, 500000, "iModel_The_Orion_Upgrade") iSale_Model_The_Pisces = SPECIAL_VEHICLE_SALE_PRICE(iPurchase_Model_The_Pisces, 1000000, "iModel_The_Pisces_Upgrade") iSale_Model_The_Aquarius = SPECIAL_VEHICLE_SALE_PRICE(iPurchase_Model_The_Aquarius, 2000000, "iModel_The_Aquarius_Upgrade") ENDIF iMod_Sale_Chrome_Fittings = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Chrome_Fittings, 100000, "iChrome_Fittings") iMod_Sale_Gold_Fittings = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Gold_Fittings, 750000, "iGold_Fittings") iMod_Sale_Lights_Presidential_Gold = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Lights_Presidential_Gold, 350000, "iLights_Presidential_Gold") iMod_Sale_Lights_Presidential_Blue = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Lights_Presidential_Blue, 315000, "iLights_Presidential_Blue") iMod_Sale_Lights_Presidential_Rose = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Lights_Presidential_Rose, 330000, "iLights_Presidential_Rose") iMod_Sale_Lights_Presidential_Green = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Lights_Presidential_Green, 300000, "iLights_Presidential_Green") iMod_Sale_Lights_Vivacious_Gold = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Vivacious_Gold, 600000, "iLights_Vivacious_Gold") iMod_Sale_Lights_Vivacious_Blue = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Vivacious_Blue, 525000, "iLights_Vivacious_Blue") iMod_Sale_Lights_Vivacious_Rose = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Vivacious_Rose, 550000, "iLights_Vivacious_Rose") iMod_Sale_Lights_Vivacious_Green = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Vivacious_Green, 500000, "iLights_Vivacious_Green") iMod_Sale_Color_Pacific = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Pacific, 100000, "iColor_Pacific") iMod_Sale_Color_Azure = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Azure, 300000, "iColor_Azure") iMod_Sale_Color_Nautical = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Nautical, 135000, "iColor_Nautical") iMod_Sale_Color_Continental = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Continental, 450000, "iColor_Continental") iMod_Sale_Color_Battleship = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Battleship, 475000, "iColor_Battleship") iMod_Sale_Color_Intrepid = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Intrepid, 635000, "iColor_Intrepid") iMod_Sale_Color_Uniform = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Uniform, 315000, "iColor_Uniform") iMod_Sale_Color_Classico = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Classico, 620000, "iColor_Classico") iMod_Sale_Color_Mediterranean = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Mediterranean, 365000, "iColor_Mediterranean") iMod_Sale_Color_Command = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Command, 495000, "iColor_Command") iMod_Sale_Color_Mariner = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Mariner, 170000, "iColor_Mariner") iMod_Sale_Color_Ruby = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Ruby, 340000, "iColor_Ruby") iMod_Sale_Color_Vintage = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Vintage, 425000, "iColor_Vintage") iMod_Sale_Color_Pristine = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Pristine, 220000, "iColor_Pristine") iMod_Sale_Color_Merchant = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Merchant, 195000, "iColor_Merchant") iMod_Sale_Color_Voyager = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Yacht_Color_Voyager, 650000, "iColor_Voyager") iMod_Sale_Flag = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Flag, 25000, "iFlag ") iMod_Sale_Name_Yacht = SPECIAL_VEHICLE_SALE_PRICE(iMod_Upgrade_Name_Yacht, 250000, "iName_Yacht") ENDIF CPRINTLN(DEBUG_INTERNET, sDebug, " SCALEFORM_MOVIE_METHOD_ADD_YACHT_DATA(", i, ", bOwnsYacht:", GET_STRING_FROM_BOOL(bOwnsYacht), ", iMod:", sYachtDataStruct_iMod, ", iFixture:", sYachtDataStruct_iFixture, ", iLighting:", sYachtDataStruct_iLighting, ",") CPRINTLN(DEBUG_INTERNET, " iColour:", sYachtDataStruct_iColour, ", iFlag:", sYachtDataStruct_iFlag, ", tl63Name:\"", sYachtDataStruct_tl63Name, "\", sYachtDataStruct.tl63NewName:\"", sYachtDataStruct.tl63NewName, PICK_STRING(ARE_STRINGS_EQUAL(sYachtDataStruct_tl63Name, sYachtDataStruct.tl63NewName), "\" SAME", "\" different"), ", iPrice:$", iPrice, ")") DEBUG_PRINTCALLSTACK() //Send all of the user choices through (1-7 on the wiki list) BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(i) IF NOT bOwnsYacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 1 User choice of yacht colour Range 0 - 15, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 2 User choice of yacht lighting Range 0 - 7, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 3 User choice of yacht flag Range 0 - 45, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 4 User choice of yacht model Range 0 - 2, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 5 User choice of yacht fittings Range 0 - 1, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING("") // 6 User choice of yacht name Use an empty string for a player that hasn't bought a yacht ELSE INT iLocalMod = sYachtDataStruct_iMod IF iLocalMod >= NUMBER_OF_PRIVATE_YACHT_VARIATIONS iLocalMod -= NUMBER_OF_PRIVATE_YACHT_VARIATIONS ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(sYachtDataStruct_iColour) // 1 User choice of yacht colour Range 0 - 15, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(sYachtDataStruct_iLighting) // 2 User choice of yacht lighting Range 0 - 7, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(sYachtDataStruct_iFlag) // 3 User choice of yacht flag Range 0 - 45, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iLocalMod) // 4 User choice of yacht model Range 0 - 2, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(sYachtDataStruct_iFixture) // 5 User choice of yacht fittings Range 0 - 1, or -1 for a player that hasn't bought a yacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING(sYachtDataStruct_tl63Name) // 6 User choice of yacht name Use an empty string for a player that hasn't bought a yacht ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING(sYachtDataStruct.tl63NewName) // 7 New name entered whilst on the flag/name page This param is used to pass text entry back into scaleform so the name of the yacht can be displayed. Use an empty string in the first instance when the player hasn't entered any text. END_SCALEFORM_MOVIE_METHOD() //Send the yacht, model, fixture and lighting prices through (8 – 25 on the wiki list) BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_YACHT_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(i) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPrice) // 8 Initial yacht purchase price This is the base price for the yacht when purchasing it for the first time SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPurchase_Model_The_Orion) // 9 Cost of yacht model 0 Classic Model SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPurchase_Model_The_Pisces) // 10 Cost of yacht model 1 Deluxe Model SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPurchase_Model_The_Aquarius) // 11 Cost of yacht model 2 Supreme Model IF NOT bOwnsYacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 12 Cost of yacht fixture 0 Chrome Fittings SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Gold_Fittings) // 13 Cost of yacht fixture 1 Gold Fittings ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Chrome_Fittings) // 12 Cost of yacht fixture 0 Chrome Fittings SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Gold_Fittings) // 13 Cost of yacht fixture 1 Gold Fittings ENDIF IF NOT bOwnsYacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Lights_Presidential_Gold) // 14 Cost of lighting 0 Presidential Gold SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Lights_Presidential_Blue) // 15 Cost of lighting 1 Presidential Blue SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Lights_Presidential_Rose) // 16 Cost of lighting 2 Presidential Rose SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 17 Cost of lighting 3 Presidential Green ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Lights_Presidential_Gold) // 14 Cost of lighting 0 Presidential Gold SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Lights_Presidential_Blue) // 15 Cost of lighting 1 Presidential Blue SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Lights_Presidential_Rose) // 16 Cost of lighting 2 Presidential Rose SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Lights_Presidential_Green) // 17 Cost of lighting 3 Presidential Green ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Vivacious_Gold) // 18 Cost of lighting 4 Vivacious Gold SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Vivacious_Blue) // 19 Cost of lighting 5 Vivacious Blue SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Vivacious_Rose) // 20 Cost of lighting 6 Vivacious Rose SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Vivacious_Green) // 21 Cost of lighting 7 Vivacious Green SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 22 unused SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 23 unused SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 24 unused SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 25 unused END_SCALEFORM_MOVIE_METHOD() //Send the colour, flag and name prices through (26 – 43 on the wiki list) BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_YACHT_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(i) IF NOT bOwnsYacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 26 Cost of colour 0 ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Pacific) // 26 Cost of colour 0 ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Azure) // 27 Cost of colour 1 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Nautical) // 28 Cost of colour 2 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Continental) // 29 Cost of colour 3 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Battleship) // 30 Cost of colour 4 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Intrepid) // 31 Cost of colour 5 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Uniform) // 32 Cost of colour 6 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Classico) // 33 Cost of colour 7 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Mediterranean) // 34 Cost of colour 8 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Command) // 35 Cost of colour 9 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Mariner) // 36 Cost of colour 10 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Ruby) // 37 Cost of colour 11 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Vintage) // 38 Cost of colour 12 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Pristine) // 39 Cost of colour 13 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Merchant) // 40 Cost of colour 14 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Yacht_Color_Voyager) // 41 Cost of colour 15 IF NOT bOwnsYacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 42 Cost of flag SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 43 Cost of (re)naming yacht ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Flag ) // 42 Cost of flag SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Upgrade_Name_Yacht) // 43 Cost of (re)naming yacht ENDIF END_SCALEFORM_MOVIE_METHOD() //Send the sale prices through (44 – 56 on the wiki list) BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_YACHT_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(i) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSale_Model_The_Orion) // 44 Sale price of yacht model 0 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSale_Model_The_Pisces) // 45 Sale price of yacht model 1 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSale_Model_The_Aquarius) // 46 Sale price of yacht model 2 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Chrome_Fittings) // 47 Sale price of yacht fixture 0 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Gold_Fittings) // 48 Sale price of yacht fixture 1 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Lights_Presidential_Gold) // 49 Sale price of lighting 0 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Lights_Presidential_Blue) // 50 Sale price of lighting 1 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Lights_Presidential_Rose) // 51 Sale price of lighting 2 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Lights_Presidential_Green) // 52 Sale price of lighting 3 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Lights_Vivacious_Gold) // 53 Sale price of lighting 4 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Lights_Vivacious_Blue) // 54 Sale price of lighting 5 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Lights_Vivacious_Rose) // 55 Sale price of lighting 6 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Lights_Vivacious_Green) // 56 Sale price of lighting 7 END_SCALEFORM_MOVIE_METHOD() //Send the sale prices through (57 – 74 on the wiki list) BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_YACHT_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(i) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Pacific) // 57 Sale price of colour 0 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Azure) // 58 Sale price of colour 1 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Nautical) // 59 Sale price of colour 2 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Continental) // 60 Sale price of colour 3 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Battleship) // 61 Sale price of colour 4 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Intrepid) // 62 Sale price of colour 5 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Uniform) // 63 Sale price of colour 6 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Classico) // 64 Sale price of colour 7 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Mediterranean) // 65 Sale price of colour 8 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Command) // 66 Sale price of colour 9 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Mariner) // 67 Sale price of colour 10 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Ruby) // 68 Sale price of colour 11 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Vintage) // 69 Sale price of colour 12 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Pristine) // 70 Sale price of colour 13 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Merchant) // 71 Sale price of colour 14 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Color_Voyager) // 73 Sale price of colour 15 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Flag) // 73 Sale price of flag SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iMod_Sale_Name_Yacht) // 74 Sale price of (re)naming yacht END_SCALEFORM_MOVIE_METHOD() //Send the rebate flags through (74 – 81 on the wiki list) BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_YACHT_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(i) SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(g_sMPTunables.bdisplay_yacht_rebate) // 75 Generic rebate flag Determines whether to show the rebate sticker on the yacht banner on the home page SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(g_sMPTunables.bdisplay_yacht_rebate_model) // 76 Model rebate flag Determines whether to show the rebate sticker on the yacht model selection page SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(g_sMPTunables.bdisplay_yacht_rebate_fittings) // 77 Fittings rebate flag Determines whether to show the rebate sticker on the yacht fittings selection page SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(g_sMPTunables.bdisplay_yacht_rebate_lights) // 78 Lighting rebate flag Determines whether to show the rebate sticker on the yacht lighting selection page SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(g_sMPTunables.bdisplay_yacht_rebate_color) // 79 Colour rebate flag Determines whether to show the rebate sticker on the yacht colour selection page IF NOT bOwnsYacht SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(FALSE) // 80 Flag rebate flag Determines whether to show the rebate sticker on the yacht flag selection page SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(FALSE) // 81 Name rebate flag Determines whether to show the rebate sticker on the yacht personalise page ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(g_sMPTunables.bdisplay_yacht_rebate_flag) // 80 Flag rebate flag Determines whether to show the rebate sticker on the yacht flag selection page SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(g_sMPTunables.bdisplay_yacht_rebate_name) // 81 Name rebate flag Determines whether to show the rebate sticker on the yacht personalise page ENDIF END_SCALEFORM_MOVIE_METHOD() ENDPROC PROC SCALEFORM_MOVIE_METHOD_ADD_TRUCK_DATA(SCALEFORM_INDEX &mov, BOOL bOwnsTruck) //DATA SLOT 10 - Player's Previous Purchase Data BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") BOOL bTruckLocked = NOT DOES_PLAYER_OWN_A_BUNKER(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(10) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sTruckDataStruct.iCab) // 1 cab type Expected values are 0 or 1 for the two cab types or -1 if the player hasn't already purchased a truck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sTruckDataStruct.iSection1) // 2 slot 1 module Expected values are 0 to 6, or -1 if the player hasn't already purchased a truck. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sTruckDataStruct.iSection2) // 3 slot 2 module int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sTruckDataStruct.iSection3) // 4 slot 3 module int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sTruckDataStruct.iColour) // 5 colour scheme Expected values are 0 to 13, or -1 id the player hasn't already purchased a truck. SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bTruckLocked) // 6 truck is locked Set to TRUE if the player hasn't bought a bunker and so can't buy the truck. This will disable the banner button, show a padlock icon and change the message to explain to the player that they need to buy a bunker first. END_SCALEFORM_MOVIE_METHOD() INT iArmoryTruck_cost = GET_ARMORY_TRUCK_COST(), iArmoryTruck_sale_cost = -1 INT iArmoryModofyTruck_cost = GET_ARMORY_TRUCK_BUY_MODIFY_COST(bOwnsTruck), iArmoryModofyTruck_sale_cost = -1 INT iPhantom3_cost = CHECK_DLC_BUYABLE_PRICE(PHANTOM3, -1, FALSE), iPhantom3_sale_cost = -1 INT iHauler2_cost = CHECK_DLC_BUYABLE_PRICE(HAULER2, -1, FALSE), iHauler2_sale_cost = -1 INT iAT_ST_UNDEFINED_cost = GET_ARMORY_TRUCK_SECTION_TYPE_COST(AT_ST_UNDEFINED), iAT_ST_UNDEFINED_sale_cost = -1 INT iAT_ST_EMPTY_SINGLE_cost = GET_ARMORY_TRUCK_SECTION_TYPE_COST(AT_ST_EMPTY_SINGLE), iAT_ST_EMPTY_SINGLE_sale_cost = -1 INT iAT_ST_LIVING_ROOM_0_cost = GET_ARMORY_TRUCK_SECTION_TYPE_COST(AT_ST_LIVING_ROOM), iAT_ST_LIVING_ROOM_0_sale_cost = -1 INT iAT_ST_COMMAND_CENTER_cost = GET_ARMORY_TRUCK_SECTION_TYPE_COST(AT_ST_COMMAND_CENTER), iAT_ST_COMMAND_CENTER_sale_cost = -1 INT iAT_ST_GUNMOD_cost = GET_ARMORY_TRUCK_SECTION_TYPE_COST(AT_ST_GUNMOD), iAT_ST_GUNMOD_sale_cost = -1 INT iAT_ST_CARMOD_cost = GET_ARMORY_TRUCK_SECTION_TYPE_COST(AT_ST_CARMOD), iAT_ST_CARMOD_sale_cost = -1 INT iAT_ST_VEHICLE_STORAGE_cost = GET_ARMORY_TRUCK_SECTION_TYPE_COST(AT_ST_VEHICLE_STORAGE), iAT_ST_VEHICLE_STORAGE_sale_cost = -1 INT iAT_ST_LIVING_ROOM_1_cost = GET_ARMORY_TRUCK_SECTION_TYPE_COST(AT_ST_LIVING_ROOM), iAT_ST_LIVING_ROOM_1_sale_cost = -1 IF g_sMPTunables.bVehicleWebsite_sale iArmoryTruck_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmoryTruck_cost, GET_ARMORY_TRUCK_BASE_COST(), "iArmoryTruck_sale_cost") iArmoryModofyTruck_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmoryModofyTruck_cost, GET_ARMORY_TRUCK_BUY_MODIFY_BASE_COST(bOwnsTruck), "iArmoryModofyTruck_sale_cost") VEHICLE_VALUE_DATA sData IF GET_VEHICLE_VALUE(sData, PHANTOM3, FALSE, 1) iPhantom3_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iPhantom3_cost, sData.iStandardPrice, "iPhantom3_sale_cost") ENDIF IF GET_VEHICLE_VALUE(sData, HAULER2, FALSE, 1) iHauler2_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iHauler2_cost, sData.iStandardPrice, "iHauler2_sale_cost") ENDIF iAT_ST_UNDEFINED_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_ST_UNDEFINED_cost, GET_ARMORY_TRUCK_SECTION_TYPE_BASE_COST(AT_ST_UNDEFINED), "iAT_ST_UNDEFINED_sale_cost") iAT_ST_EMPTY_SINGLE_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_ST_EMPTY_SINGLE_cost, GET_ARMORY_TRUCK_SECTION_TYPE_BASE_COST(AT_ST_EMPTY_SINGLE), "iAT_ST_EMPTY_SINGLE_sale_cost") iAT_ST_LIVING_ROOM_0_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_ST_LIVING_ROOM_0_cost, GET_ARMORY_TRUCK_SECTION_TYPE_BASE_COST(AT_ST_LIVING_ROOM), "iAT_ST_LIVING_ROOM_0_sale_cost") iAT_ST_COMMAND_CENTER_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_ST_COMMAND_CENTER_cost, GET_ARMORY_TRUCK_SECTION_TYPE_BASE_COST(AT_ST_COMMAND_CENTER), "iAT_ST_COMMAND_CENTER_sale_cost") iAT_ST_GUNMOD_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_ST_GUNMOD_cost, GET_ARMORY_TRUCK_SECTION_TYPE_BASE_COST(AT_ST_GUNMOD), "iAT_ST_GUNMOD_sale_cost") iAT_ST_CARMOD_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_ST_CARMOD_cost, GET_ARMORY_TRUCK_SECTION_TYPE_BASE_COST(AT_ST_CARMOD), "iAT_ST_CARMOD_sale_cost") iAT_ST_VEHICLE_STORAGE_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_ST_VEHICLE_STORAGE_cost, GET_ARMORY_TRUCK_SECTION_TYPE_BASE_COST(AT_ST_VEHICLE_STORAGE), "iAT_ST_VEHICLE_STORAGE_sale_cost") iAT_ST_LIVING_ROOM_1_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_ST_LIVING_ROOM_1_cost, GET_ARMORY_TRUCK_SECTION_TYPE_BASE_COST(AT_ST_LIVING_ROOM), "iAT_ST_LIVING_ROOM_1_sale_cost") ENDIF //DATA SLOT 11 - Cab, Module and Base Prices BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(11) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmoryTruck_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmoryModofyTruck_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPhantom3_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iHauler2_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_UNDEFINED_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_EMPTY_SINGLE_cost) IF NOT bOwnsTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_LIVING_ROOM_0_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_COMMAND_CENTER_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_GUNMOD_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_CARMOD_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_VEHICLE_STORAGE_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_LIVING_ROOM_1_cost) END_SCALEFORM_MOVIE_METHOD() //DATA SLOT 12 - Cab, Module and Base Sale Prices BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(12) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmoryTruck_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmoryModofyTruck_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPhantom3_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iHauler2_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_UNDEFINED_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_EMPTY_SINGLE_sale_cost) IF NOT bOwnsTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_LIVING_ROOM_0_sale_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_COMMAND_CENTER_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_GUNMOD_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_CARMOD_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_VEHICLE_STORAGE_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_ST_LIVING_ROOM_1_sale_cost) END_SCALEFORM_MOVIE_METHOD() INT iAT_STI_WHITE_LIGTH_GREY_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_WHITE_LIGTH_GREY), iAT_STI_WHITE_LIGTH_GREY_sale_cost = -1 INT iAT_STI_WHITE_MUSTARD_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_WHITE_MUSTARD), iAT_STI_WHITE_MUSTARD_sale_cost = -1 INT iAT_STI_WHITE_OLIVE_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_WHITE_OLIVE), iAT_STI_WHITE_OLIVE_sale_cost = -1 INT iAT_STI_WHITE_BROWN_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_WHITE_BROWN), iAT_STI_WHITE_BROWN_sale_cost = -1 INT iAT_STI_GREY_DARK_GREY_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_GREY_DARK_GREY), iAT_STI_GREY_DARK_GREY_sale_cost = -1 INT iAT_STI_GREY_AQUA_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_GREY_AQUA), iAT_STI_GREY_AQUA_sale_cost = -1 INT iAT_STI_GREY_RED_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_GREY_RED), iAT_STI_GREY_RED_sale_cost = -1 INT iAT_STI_GREY_MUSTARD_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_GREY_MUSTARD), iAT_STI_GREY_MUSTARD_sale_cost = -1 INT iAT_STI_GREY_OLIVE_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_GREY_OLIVE), iAT_STI_GREY_OLIVE_sale_cost = -1 INT iAT_STI_GREY_BLUE_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_GREY_BLUE), iAT_STI_GREY_BLUE_sale_cost = -1 INT iAT_STI_BLACK_BLACK_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_BLACK_BLACK), iAT_STI_BLACK_BLACK_sale_cost = -1 INT iAT_STI_BLACK_RED_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_BLACK_RED), iAT_STI_BLACK_RED_sale_cost = -1 INT iAT_STI_BLACK_OLIVE_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_BLACK_OLIVE), iAT_STI_BLACK_OLIVE_sale_cost = -1 INT iAT_STI_BLACK_BLUE_cost = GET_ARMORY_TRUCK_SECTION_TINT_COST(AT_STI_BLACK_BLUE), iAT_STI_BLACK_BLUE_sale_cost = -1 IF g_sMPTunables.bVehicleWebsite_sale iAT_STI_WHITE_LIGTH_GREY_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_WHITE_LIGTH_GREY_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_WHITE_LIGTH_GREY), "iAT_STI_WHITE_LIGTH_GREY_sale_cost") iAT_STI_WHITE_MUSTARD_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_WHITE_MUSTARD_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_WHITE_MUSTARD), "iAT_STI_WHITE_MUSTARD_sale_cost") iAT_STI_WHITE_OLIVE_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_WHITE_OLIVE_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_WHITE_OLIVE), "iAT_STI_WHITE_OLIVE_sale_cost") iAT_STI_WHITE_BROWN_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_WHITE_BROWN_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_WHITE_BROWN), "iAT_STI_WHITE_BROWN_sale_cost") iAT_STI_GREY_DARK_GREY_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_GREY_DARK_GREY_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_GREY_DARK_GREY), "iAT_STI_GREY_DARK_GREY_sale_cost") iAT_STI_GREY_AQUA_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_GREY_AQUA_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_GREY_AQUA), "iAT_STI_GREY_AQUA_sale_cost") iAT_STI_GREY_RED_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_GREY_RED_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_GREY_RED), "iAT_STI_GREY_RED_sale_cost") iAT_STI_GREY_MUSTARD_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_GREY_MUSTARD_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_GREY_MUSTARD), "iAT_STI_GREY_MUSTARD_sale_cost") iAT_STI_GREY_OLIVE_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_GREY_OLIVE_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_GREY_OLIVE), "iAT_STI_GREY_OLIVE_sale_cost") iAT_STI_GREY_BLUE_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_GREY_BLUE_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_GREY_BLUE), "iAT_STI_GREY_BLUE_sale_cost") iAT_STI_BLACK_BLACK_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_BLACK_BLACK_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_BLACK_BLACK), "iAT_STI_BLACK_BLACK_sale_cost") iAT_STI_BLACK_RED_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_BLACK_RED_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_BLACK_RED), "iAT_STI_BLACK_RED_sale_cost") iAT_STI_BLACK_OLIVE_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_BLACK_OLIVE_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_BLACK_OLIVE), "iAT_STI_BLACK_OLIVE_sale_cost") iAT_STI_BLACK_BLUE_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAT_STI_BLACK_BLUE_cost, GET_ARMORY_TRUCK_SECTION_TINT_BASE_COST(AT_STI_BLACK_BLUE), "iAT_STI_BLACK_BLUE_sale_cost") ENDIF //DATA SLOT 13 - Colour Scheme Prices BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(13) // White IF NOT bOwnsTruck // 1 Light Grey SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_WHITE_LIGTH_GREY_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_WHITE_MUSTARD_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_WHITE_OLIVE_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_WHITE_BROWN_cost) // Grey SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_DARK_GREY_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_AQUA_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_RED_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_MUSTARD_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_OLIVE_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_BLUE_cost) // Black SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_BLACK_BLACK_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_BLACK_RED_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_BLACK_OLIVE_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_BLACK_BLUE_cost) END_SCALEFORM_MOVIE_METHOD() //DATA SLOT 14 - Colour Scheme Sale Prices BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(14) // White IF NOT bOwnsTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_WHITE_LIGTH_GREY_sale_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_WHITE_MUSTARD_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_WHITE_OLIVE_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_WHITE_BROWN_sale_cost) // Grey SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_DARK_GREY_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_AQUA_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_RED_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_MUSTARD_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_OLIVE_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_GREY_BLUE_sale_cost) // Black SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_BLACK_BLACK_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_BLACK_RED_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_BLACK_OLIVE_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAT_STI_BLACK_BLUE_sale_cost) END_SCALEFORM_MOVIE_METHOD() ENDPROC PROC SCALEFORM_MOVIE_METHOD_ADD_PLANE_DATA(SCALEFORM_INDEX &mov, BOOL bOwnsAvenger) //DATA SLOT 15 - Player's Previous Purchase Data BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") BOOL bAvengerLocked = NOT IS_DEFUNCT_BASE_ID_VALID(GET_PLAYERS_OWNED_DEFUNCT_BASE(PLAYER_ID())) #IF IS_DEBUG_BUILD IF bAvengerLocked AND GET_COMMANDLINE_PARAM_EXISTS("sc_allowOspreyInterior") CASSERTLN(DEBUG_INTERNET, "SCALEFORM_MOVIE_METHOD_ADD_PLANE_DATA - still running with \"sc_allowOspreyInterior\"") bAvengerLocked = FALSE ENDIF #ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(15) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sPlaneDataStruct.iInterior) // 1 interior int Expected values are 0 to 8 for each of the interior options, or -1 if the player hasn't already purchased an Avenger. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sPlaneDataStruct.iGunTurret) // 2 gun turret int Expected values are 0 (option not purchased), 1 (option purchased) or -1 if the player hasn't already purchased an Avenger. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sPlaneDataStruct.iVehShop) // 3 vehicle workshop int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sPlaneDataStruct.iWeaShop) // 4 weapon workshop int SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bAvengerLocked) // 5 banner is locked bool Set to TRUE to lock the banner on the Warstock homepage. This will disable the banner button and show a padlock icon. END_SCALEFORM_MOVIE_METHOD() INT iAvenger_cost = GET_ARMORY_AIRCRAFT_COST(), iAvenger_sale_cost = -1 INT iAvengerModify_cost = GET_ARMORY_AIRCRAFT_BUY_MODIFY_COST(bOwnsAvenger), iAvengerModify_sale_cost = -1 INT iAvenger_GUN_TURRET_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_GUN_TURRET, 1), iAvenger_GUN_TURRET_sale_cost = -1 INT iAvenger_VEHICLE_WORKSHOP_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_VEHICLE_WORKSHOP, 1), iAvenger_VEHICLE_WORKSHOP_sale_cost = -1 INT iAvenger_WEAPON_WORKSHOP_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_WEAPON_WORKSHOP, 1), iAvenger_WEAPON_WORKSHOP_sale_cost = -1 INT iAvenger_INTERIOR_0_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 0), iAvenger_INTERIOR_0_sale_cost = -1 INT iAvenger_INTERIOR_1_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 1), iAvenger_INTERIOR_1_sale_cost = -1 INT iAvenger_INTERIOR_2_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 2), iAvenger_INTERIOR_2_sale_cost = -1 INT iAvenger_INTERIOR_3_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 3), iAvenger_INTERIOR_3_sale_cost = -1 INT iAvenger_INTERIOR_4_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 4), iAvenger_INTERIOR_4_sale_cost = -1 INT iAvenger_INTERIOR_5_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 5), iAvenger_INTERIOR_5_sale_cost = -1 INT iAvenger_INTERIOR_6_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 6), iAvenger_INTERIOR_6_sale_cost = -1 INT iAvenger_INTERIOR_7_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 7), iAvenger_INTERIOR_7_sale_cost = -1 INT iAvenger_INTERIOR_8_cost = GET_ARMORY_AIRCRAFT_MOD_COST(AAM_INTERIOR, 8), iAvenger_INTERIOR_8_sale_cost = -1 IF g_sMPTunables.bVehicleWebsite_sale iAvenger_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_cost, GET_ARMORY_AIRCRAFT_BASE_COST(), "iAvenger_sale_cost") iAvengerModify_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvengerModify_cost, GET_ARMORY_AIRCRAFT_BUY_MODIFY_BASE_COST(bOwnsAvenger), "iAvengerModify_sale_cost") iAvenger_GUN_TURRET_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_GUN_TURRET_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_GUN_TURRET, 1), "iAvenger_GUN_TURRET_sale_cost") iAvenger_VEHICLE_WORKSHOP_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_VEHICLE_WORKSHOP_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_VEHICLE_WORKSHOP, 1), "iAvenger_VEHICLE_WORKSHOP_sale_cost") iAvenger_WEAPON_WORKSHOP_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_WEAPON_WORKSHOP_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_WEAPON_WORKSHOP, 1), "iAvenger_WEAPON_WORKSHOP_sale_cost") iAvenger_INTERIOR_0_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_0_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 0), "iAvenger_INTERIOR_0_sale_cost") iAvenger_INTERIOR_1_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_1_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 1), "iAvenger_INTERIOR_1_sale_cost") iAvenger_INTERIOR_2_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_2_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 2), "iAvenger_INTERIOR_2_sale_cost") iAvenger_INTERIOR_3_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_3_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 3), "iAvenger_INTERIOR_3_sale_cost") iAvenger_INTERIOR_4_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_4_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 4), "iAvenger_INTERIOR_4_sale_cost") iAvenger_INTERIOR_5_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_5_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 5), "iAvenger_INTERIOR_5_sale_cost") iAvenger_INTERIOR_6_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_6_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 6), "iAvenger_INTERIOR_6_sale_cost") iAvenger_INTERIOR_7_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_7_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 7), "iAvenger_INTERIOR_7_sale_cost") iAvenger_INTERIOR_8_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iAvenger_INTERIOR_8_cost, GET_ARMORY_AIRCRAFT_MOD_BASE_COST(AAM_INTERIOR, 8), "iAvenger_INTERIOR_8_sale_cost") ENDIF //DATA SLOT 16 - Normal Prices BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(16) IF NOT bOwnsAvenger // 1 base price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvengerModify_cost) // 2 buy from / modify from price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_GUN_TURRET_cost) // 3 gun turret SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_VEHICLE_WORKSHOP_cost) // 4 vehicle workshop SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_WEAPON_WORKSHOP_cost) // 5 weapon workshop IF NOT bOwnsAvenger // 6 interior 0 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_0_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_1_cost) // 7 interior 1 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_2_cost) // 8 interior 2 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_3_cost) // 9 interior 3 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_4_cost) // 10 interior 4 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_5_cost) // 11 interior 5 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_6_cost) // 12 interior 6 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_7_cost) // 13 interior 7 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_8_cost) // 14 interior 8 END_SCALEFORM_MOVIE_METHOD() //DATA SLOT 17 - Normal Prices BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(17) IF NOT bOwnsAvenger SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_sale_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvengerModify_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_GUN_TURRET_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_VEHICLE_WORKSHOP_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_WEAPON_WORKSHOP_sale_cost) IF NOT bOwnsAvenger SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_0_sale_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_1_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_2_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_3_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_4_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_5_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_6_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_7_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAvenger_INTERIOR_8_sale_cost) END_SCALEFORM_MOVIE_METHOD() ENDPROC PROC SCALEFORM_MOVIE_METHOD_ADD_HACKER_TRUCK_DATA(SCALEFORM_INDEX &mov, BOOL bOwnsHackerTruck) //DATA SLOT 18 - Player's Previous Purchase Data BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") BOOL bHackerTruckLocked = NOT DOES_PLAYER_OWN_A_BUSINESS_HUB(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(18) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sHackerTruckDataStruct.iTint) // 1 tint int Expected values are 0 to 8 for each of the tint options, or -1 if the player hasn't already purchased a Hacker Truck. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sHackerTruckDataStruct.iDecal) // 2 decal int Expected values are 0 to 24 for each of the decal options, or -1 if the player hasn't already purchased a Hacker Truck. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sHackerTruckDataStruct.iMissileLauncher) // 3 missile launcher int Expected values are 0 (option not purchased), 1 (option purchased) or -1 if the player hasn't already purchased an Avenger. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sHackerTruckDataStruct.iDroneStation) // 4 drone station int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sHackerTruckDataStruct.iWeaShop) // 5 weapon station int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sHackerTruckDataStruct.iVehShop) // 6 motorcycle workshop int SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bHackerTruckLocked) // 7 banner is locked bool Set to TRUE to lock the banner on the Warstock homepage. This will disable the banner button and show a padlock icon. END_SCALEFORM_MOVIE_METHOD() INT iArmoryHackerTruck_cost = GET_HACKER_TRUCK_COST(), iArmoryHackerTruck_sale_cost = -1 INT iArmorHackerTruckyModify_cost = GET_HACKER_TRUCK_BUY_MODIFY_COST(bOwnsHackerTruck), iArmorHackerTruckyModify_sale_cost = -1 INT iArmorHackerMissileLaunch_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_MISSILE_LAUNCHER, 1), iArmorHackerMissileLaunch_sale_cost = -1 INT iArmorHackerDroneStation_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DRONE_STATION, 1), iArmorHackerDroneStation_sale_cost = -1 INT iArmorHackerWeaShop_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_WEAPON_STATION, 1), iArmorHackerWeaShop_sale_cost = -1 INT iArmorHackerVehShop_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_MOTORCYCLE_WORKSHOP, 1), iArmorHackerVehShop_sale_cost = -1 INT iArmorHackerTint0_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 0), iArmorHackerTint0_sale_cost = -1 INT iArmorHackerTint1_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 1), iArmorHackerTint1_sale_cost = -1 INT iArmorHackerTint2_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 2), iArmorHackerTint2_sale_cost = -1 INT iArmorHackerTint3_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 3), iArmorHackerTint3_sale_cost = -1 INT iArmorHackerTint4_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 4), iArmorHackerTint4_sale_cost = -1 INT iArmorHackerTint5_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 5), iArmorHackerTint5_sale_cost = -1 INT iArmorHackerTint6_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 6), iArmorHackerTint6_sale_cost = -1 INT iArmorHackerTint7_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 7), iArmorHackerTint7_sale_cost = -1 INT iArmorHackerTint8_cost = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_TINT, 8), iArmorHackerTint8_sale_cost = -1 IF g_sMPTunables.bVehicleWebsite_sale iArmoryHackerTruck_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmoryHackerTruck_cost, GET_HACKER_TRUCK_BASE_COST(), "iArmoryHackerTruck_sale_cost") iArmorHackerTruckyModify_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTruckyModify_cost, GET_HACKER_TRUCK_BUY_MODIFY_BASE_COST(bOwnsHackerTruck), "iArmorHackerTruckyModify_sale_cost") iArmorHackerMissileLaunch_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerMissileLaunch_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_MISSILE_LAUNCHER, 1), "iArmorHackerMissileLaunch_sale_cost") iArmorHackerDroneStation_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDroneStation_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DRONE_STATION, 1), "iArmorHackerDroneStation_sale_cost") iArmorHackerWeaShop_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerWeaShop_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_WEAPON_STATION, 1), "iArmorHackerWeaShop_sale_cost") iArmorHackerVehShop_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerVehShop_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_MOTORCYCLE_WORKSHOP, 1), "iArmorHackerVehShop_sale_cost") iArmorHackerTint0_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint0_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 0), "iArmorHackerTint0_sale_cost") iArmorHackerTint1_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint1_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 1), "iArmorHackerTint1_sale_cost") iArmorHackerTint2_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint2_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 2), "iArmorHackerTint2_sale_cost") iArmorHackerTint3_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint3_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 3), "iArmorHackerTint3_sale_cost") iArmorHackerTint4_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint4_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 4), "iArmorHackerTint4_sale_cost") iArmorHackerTint5_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint5_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 5), "iArmorHackerTint5_sale_cost") iArmorHackerTint6_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint6_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 6), "iArmorHackerTint6_sale_cost") iArmorHackerTint7_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint7_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 7), "iArmorHackerTint7_sale_cost") iArmorHackerTint8_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerTint8_cost, GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_TINT, 8), "iArmorHackerTint8_sale_cost") ENDIF //DATA SLOT 19 - Normal Prices BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(19) IF NOT bOwnsHackerTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmoryHackerTruck_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTruckyModify_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerMissileLaunch_cost) // 3 missile launcher SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDroneStation_cost) // 4 drone station SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerWeaShop_cost) // 5 weapon station SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerVehShop_cost) // 6 motorcycle workshop IF NOT bOwnsHackerTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint0_cost) // 7 tint 0 ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint1_cost) // 8 tint 1 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint2_cost) // 9 tint 2 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint3_cost) // 10 tint 3 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint4_cost) // 11 tint 4 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint5_cost) // 12 tint 5 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint6_cost) // 13 tint 6 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint7_cost) // 14 tint 7 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint8_cost) // 15 tint 8 END_SCALEFORM_MOVIE_METHOD() //DATA SLOT 20 - Sale Prices BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(20) IF NOT bOwnsHackerTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmoryHackerTruck_sale_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTruckyModify_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerMissileLaunch_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDroneStation_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerWeaShop_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerVehShop_sale_cost) IF NOT bOwnsHackerTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint0_sale_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint1_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint2_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint3_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint4_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint5_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint6_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint7_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerTint8_sale_cost) END_SCALEFORM_MOVIE_METHOD() INT iArmorHackerDecal_cost[25], iArmorHackerDecal_sale_cost[25] iArmorHackerDecal_cost[0] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 0) iArmorHackerDecal_sale_cost[0] = -1 iArmorHackerDecal_cost[1] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 1) iArmorHackerDecal_sale_cost[1] = -1 iArmorHackerDecal_cost[2] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 2) iArmorHackerDecal_sale_cost[2] = -1 iArmorHackerDecal_cost[3] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 3) iArmorHackerDecal_sale_cost[3] = -1 iArmorHackerDecal_cost[4] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 4) iArmorHackerDecal_sale_cost[4] = -1 iArmorHackerDecal_cost[5] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 5) iArmorHackerDecal_sale_cost[5] = -1 iArmorHackerDecal_cost[6] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 6) iArmorHackerDecal_sale_cost[6] = -1 iArmorHackerDecal_cost[7] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 7) iArmorHackerDecal_sale_cost[7] = -1 iArmorHackerDecal_cost[8] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 8) iArmorHackerDecal_sale_cost[8] = -1 iArmorHackerDecal_cost[9] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 9) iArmorHackerDecal_sale_cost[9] = -1 iArmorHackerDecal_cost[10] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 10) iArmorHackerDecal_sale_cost[10] = -1 iArmorHackerDecal_cost[11] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 11) iArmorHackerDecal_sale_cost[11] = -1 iArmorHackerDecal_cost[12] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 12) iArmorHackerDecal_sale_cost[12] = -1 iArmorHackerDecal_cost[13] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 13) iArmorHackerDecal_sale_cost[13] = -1 iArmorHackerDecal_cost[14] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 14) iArmorHackerDecal_sale_cost[14] = -1 iArmorHackerDecal_cost[15] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 15) iArmorHackerDecal_sale_cost[15] = -1 iArmorHackerDecal_cost[16] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 16) iArmorHackerDecal_sale_cost[16] = -1 iArmorHackerDecal_cost[17] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 17) iArmorHackerDecal_sale_cost[17] = -1 iArmorHackerDecal_cost[18] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 18) iArmorHackerDecal_sale_cost[18] = -1 iArmorHackerDecal_cost[19] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 19) iArmorHackerDecal_sale_cost[19] = -1 iArmorHackerDecal_cost[20] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 20) iArmorHackerDecal_sale_cost[20] = -1 iArmorHackerDecal_cost[21] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 21) iArmorHackerDecal_sale_cost[21] = -1 iArmorHackerDecal_cost[22] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 22) iArmorHackerDecal_sale_cost[22] = -1 iArmorHackerDecal_cost[23] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 23) iArmorHackerDecal_sale_cost[23] = -1 iArmorHackerDecal_cost[24] = GET_HACKER_TRUCK_MOD_COST(eHACKER_TRUCK_MOD_DECAL, 24) iArmorHackerDecal_sale_cost[24] = -1 IF g_sMPTunables.bVehicleWebsite_sale iArmorHackerDecal_sale_cost[0] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[0], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 0), "iArmorHackerDecal_sale_cost[0]") iArmorHackerDecal_sale_cost[1] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[1], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 1), "iArmorHackerDecal_sale_cost[1]") iArmorHackerDecal_sale_cost[2] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[2], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 2), "iArmorHackerDecal_sale_cost[2]") iArmorHackerDecal_sale_cost[3] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[3], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 3), "iArmorHackerDecal_sale_cost[3]") iArmorHackerDecal_sale_cost[4] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[4], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 4), "iArmorHackerDecal_sale_cost[4]") iArmorHackerDecal_sale_cost[5] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[5], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 5), "iArmorHackerDecal_sale_cost[5]") iArmorHackerDecal_sale_cost[6] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[6], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 6), "iArmorHackerDecal_sale_cost[6]") iArmorHackerDecal_sale_cost[7] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[7], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 7), "iArmorHackerDecal_sale_cost[7]") iArmorHackerDecal_sale_cost[8] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[8], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 8), "iArmorHackerDecal_sale_cost[8]") iArmorHackerDecal_sale_cost[9] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[9], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 9), "iArmorHackerDecal_sale_cost[9]") iArmorHackerDecal_sale_cost[10] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[10], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 10), "iArmorHackerDecal_sale_cost[10]") iArmorHackerDecal_sale_cost[11] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[11], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 11), "iArmorHackerDecal_sale_cost[11]") iArmorHackerDecal_sale_cost[12] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[12], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 12), "iArmorHackerDecal_sale_cost[12]") iArmorHackerDecal_sale_cost[13] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[13], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 13), "iArmorHackerDecal_sale_cost[13]") iArmorHackerDecal_sale_cost[14] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[14], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 14), "iArmorHackerDecal_sale_cost[14]") iArmorHackerDecal_sale_cost[15] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[15], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 15), "iArmorHackerDecal_sale_cost[15]") iArmorHackerDecal_sale_cost[16] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[16], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 16), "iArmorHackerDecal_sale_cost[16]") iArmorHackerDecal_sale_cost[17] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[17], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 17), "iArmorHackerDecal_sale_cost[17]") iArmorHackerDecal_sale_cost[18] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[18], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 18), "iArmorHackerDecal_sale_cost[18]") iArmorHackerDecal_sale_cost[19] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[19], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 19), "iArmorHackerDecal_sale_cost[19]") iArmorHackerDecal_sale_cost[20] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[20], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 20), "iArmorHackerDecal_sale_cost[20]") iArmorHackerDecal_sale_cost[21] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[21], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 21), "iArmorHackerDecal_sale_cost[21]") iArmorHackerDecal_sale_cost[22] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[22], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 22), "iArmorHackerDecal_sale_cost[22]") iArmorHackerDecal_sale_cost[23] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[23], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 23), "iArmorHackerDecal_sale_cost[23]") iArmorHackerDecal_sale_cost[24] = SPECIAL_VEHICLE_SALE_PRICE(iArmorHackerDecal_cost[24], GET_HACKER_TRUCK_MOD_BASE_COST(eHACKER_TRUCK_MOD_DECAL, 24), "iArmorHackerDecal_sale_cost[24]") ENDIF //DATA SLOT 21 - Decal Prices part 1 BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(21) IF NOT bOwnsHackerTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[0]) // 1 decal 0 price ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[1]) // 2 decal 1 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[2]) // 3 decal 2 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[3]) // 4 decal 3 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[4]) // 5 decal 4 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[5]) // 6 decal 5 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[6]) // 7 decal 6 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[7]) // 8 decal 7 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[8]) // 9 decal 8 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[9]) // 10 decal 9 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[10]) // 11 decal 10 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[11]) // 12 decal 11 price END_SCALEFORM_MOVIE_METHOD() //DATA SLOT 22 - Decal Prices part 2 BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(22) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[12]) // 1 decal 12 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[13]) // 2 decal 13 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[14]) // 3 decal 14 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[15]) // 4 decal 15 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[16]) // 5 decal 16 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[17]) // 6 decal 17 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[18]) // 7 decal 18 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[19]) // 8 decal 19 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[20]) // 9 decal 20 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[21]) // 10 decal 21 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[22]) // 11 decal 22 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[23]) // 12 decal 23 price int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_cost[24]) // 13 decal 24 price int END_SCALEFORM_MOVIE_METHOD() //DATA SLOT 23 - Decal Sale Prices part 1 BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(23) IF NOT bOwnsHackerTruck SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[0]) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[1]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[2]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[3]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[4]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[5]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[6]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[7]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[8]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[9]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[10]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[11]) END_SCALEFORM_MOVIE_METHOD() //DATA SLOT 24 - Decal Sale Prices part 2 BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(24) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[12]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[13]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[14]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[15]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[16]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[17]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[18]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[19]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[20]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[21]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[22]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[23]) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iArmorHackerDecal_sale_cost[24]) END_SCALEFORM_MOVIE_METHOD() ENDPROC #IF FEATURE_CASINO_NIGHTCLUB FUNC BOOL HAS_CASINO_NIGHTCLUB_INTRO_SCENE_BEEN_VIEWED() RETURN GET_PACKED_STAT_BOOL(PACKED_MP_CASINO_CLUB_SCENE_VIEWED) ENDFUNC PROC SET_CASINO_NIGHTCLUB_INTRO_SCENE_BEEN_VIEWED(BOOL bViewed) PRINTLN("SET_CASINO_NIGHTCLUB_INTRO_SCENE_BEEN_VIEWED - Setting to ", bViewed) SET_PACKED_STAT_BOOL(PACKED_MP_CASINO_CLUB_SCENE_VIEWED, bViewed) ENDPROC #ENDIF #IF FEATURE_HEIST_ISLAND PROC SCALEFORM_MOVIE_METHOD_ADD_KOSATKA_DATA(SCALEFORM_INDEX &mov, BOOL bOwnsKosatka) // ----- DATA SLOT 25 - Player's Previous Purchase Data ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") BOOL bKosatkaLocked = FALSE #IF FEATURE_CASINO_NIGHTCLUB bKosatkaLocked = NOT HAS_CASINO_NIGHTCLUB_INTRO_SCENE_BEEN_VIEWED() #ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(25) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sKosatkaDataStruct.iColour) // 1 colour int Expected values are 0 to 15 for each of the colour options, or -1 if the player hasn't already purchased a Submarine. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sKosatkaDataStruct.iFlag) // 2 flag int Expected values are 0 to 49 for each of the flag options, or -1 if the player hasn't already purchased a Submarine. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sKosatkaDataStruct.iSonar) // 3 sonar int Expected values are 0 (option not purchased), 1 (option purchased) or -1 if the player hasn't already purchased a Submarine SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sKosatkaDataStruct.iMissiles) // 4 missiles int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sKosatkaDataStruct.iWeaShop) // 5 weapon workshop int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sKosatkaDataStruct.iSeaSparrow2) // 6 helicopter int SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(g_sKosatkaDataStruct.iAvisa) // 7 mini submarine int SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bKosatkaLocked) // 8 banner is locked bool Set to TRUE to lock the banner on the Warstock homepage. This will disable the banner button and show a padlock icon. END_SCALEFORM_MOVIE_METHOD() INT iKosatka_cost = GET_KOSATKA_COST(), iKosatka_sale_cost = -1 INT iKosatkaModify_cost = GET_KOSATKA_BUY_MODIFY_COST(bOwnsKosatka), iKosatkaModify_sale_cost = -1 INT iKosatkaSonar_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_SONAR, 1), iKosatkaSonar_sale_cost = -1 INT iKosatkaMissiles_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_MISSILES, 1), iKosatkaMissiles_sale_cost = -1 INT iKosatkaWeaShop_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_WEAPON_STATION, 1), iKosatkaWeaShop_sale_cost = -1 INT iKosatkaSeaSparrow2_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_SEASPARROW2, 1), iKosatkaSeaSparrow2_sale_cost = -1 INT iKosatkaAvisa_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_AVISA, 1), iKosatkaAvisa_sale_cost = -1 IF g_sMPTunables.bVehicleWebsite_sale iKosatka_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatka_cost, GET_KOSATKA_BASE_COST(), "iKosatka_sale_cost") iKosatkaModify_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaModify_cost, GET_KOSATKA_BUY_MODIFY_BASE_COST(bOwnsKosatka), "iKosatkaModify_sale_cost") iKosatkaSonar_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaSonar_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_SONAR, 1), "iKosatkaSonar_sale_cost") iKosatkaMissiles_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaMissiles_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_MISSILES, 1), "iKosatkaMissiles_sale_cost") iKosatkaWeaShop_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaWeaShop_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_WEAPON_STATION, 1), "iKosatkaWeaShop_sale_cost") iKosatkaSeaSparrow2_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaSeaSparrow2_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_SEASPARROW2, 1), "iKosatkaSeaSparrow2_sale_cost") iKosatkaAvisa_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaAvisa_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_AVISA, 1), "iKosatkaAvisa_sale_cost") ENDIF // ----- DATA SLOT 26 - Prices ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(26) IF bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 1 base price ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatka_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaModify_cost) // 2 buy from / modify from price int This is the price displayed on the home page banner. It is not used anywhere else in price calculations. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaSonar_cost) // 3 sonar SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaMissiles_cost) // 4 missiles SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaWeaShop_cost) // 5 weapon workshop SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaSeaSparrow2_cost) // 6 helicopter SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaAvisa_cost) // 7 mini submarine END_SCALEFORM_MOVIE_METHOD() // ----- DATA SLOT 27 - Sale Prices ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(27) IF bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 1 base price ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatka_sale_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaModify_sale_cost) // 2 buy from / modify from price int This is the price displayed on the home page banner. It is not used anywhere else in price calculations. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaSonar_sale_cost) // 3 sonar SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaMissiles_sale_cost) // 4 missiles SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaWeaShop_sale_cost) // 5 weapon workshop SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaSeaSparrow2_sale_cost) // 6 helicopter SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaAvisa_sale_cost) // 7 mini submarine END_SCALEFORM_MOVIE_METHOD() INT iKosatkaColour0_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 0), iKosatkaColour0_sale_cost = -1 INT iKosatkaColour1_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 1), iKosatkaColour1_sale_cost = -1 INT iKosatkaColour2_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 2), iKosatkaColour2_sale_cost = -1 INT iKosatkaColour3_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 3), iKosatkaColour3_sale_cost = -1 INT iKosatkaColour4_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 4), iKosatkaColour4_sale_cost = -1 INT iKosatkaColour5_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 5), iKosatkaColour5_sale_cost = -1 INT iKosatkaColour6_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 6), iKosatkaColour6_sale_cost = -1 INT iKosatkaColour7_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 7), iKosatkaColour7_sale_cost = -1 INT iKosatkaColour8_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 8), iKosatkaColour8_sale_cost = -1 INT iKosatkaColour9_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 9), iKosatkaColour9_sale_cost = -1 INT iKosatkaColour10_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 10), iKosatkaColour10_sale_cost = -1 INT iKosatkaColour11_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 11), iKosatkaColour11_sale_cost = -1 INT iKosatkaColour12_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 12), iKosatkaColour12_sale_cost = -1 INT iKosatkaColour13_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 13), iKosatkaColour13_sale_cost = -1 INT iKosatkaColour14_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 14), iKosatkaColour14_sale_cost = -1 INT iKosatkaColour15_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_COLOUR, 15), iKosatkaColour15_sale_cost = -1 IF g_sMPTunables.bVehicleWebsite_sale iKosatkaColour0_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour0_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 0), "iKosatkaColour0_sale_cost") iKosatkaColour1_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour1_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 1), "iKosatkaColour1_sale_cost") iKosatkaColour2_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour2_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 2), "iKosatkaColour2_sale_cost") iKosatkaColour3_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour3_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 3), "iKosatkaColour3_sale_cost") iKosatkaColour4_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour4_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 4), "iKosatkaColour4_sale_cost") iKosatkaColour5_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour5_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 5), "iKosatkaColour5_sale_cost") iKosatkaColour6_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour6_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 6), "iKosatkaColour6_sale_cost") iKosatkaColour7_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour7_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 7), "iKosatkaColour7_sale_cost") iKosatkaColour8_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour8_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 8), "iKosatkaColour8_sale_cost") iKosatkaColour9_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour9_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 9), "iKosatkaColour9_sale_cost") iKosatkaColour10_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour10_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 10), "iKosatkaColour10_sale_cost") iKosatkaColour11_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour11_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 11), "iKosatkaColour11_sale_cost") iKosatkaColour12_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour12_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 12), "iKosatkaColour12_sale_cost") iKosatkaColour13_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour13_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 13), "iKosatkaColour13_sale_cost") iKosatkaColour14_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour14_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 14), "iKosatkaColour14_sale_cost") iKosatkaColour15_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaColour15_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_COLOUR, 15), "iKosatkaColour15_sale_cost") ENDIF // ----- DATA SLOT 28 - Colour Prices ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(28) IF NOT bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour0_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour1_cost) // 2 colour 1 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour2_cost) // 3 colour 2 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour3_cost) // 4 colour 3 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour4_cost) // 5 colour 4 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour5_cost) // 6 colour 5 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour6_cost) // 7 colour 6 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour7_cost) // 8 colour 7 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour8_cost) // 9 colour 8 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour9_cost) // 10 colour 9 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour10_cost) // 11 colour 10 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour11_cost) // 12 colour 11 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour12_cost) // 13 colour 12 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour13_cost) // 14 colour 13 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour14_cost) // 15 colour 14 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour15_cost) // 16 colour 15 price END_SCALEFORM_MOVIE_METHOD() // ----- DATA SLOT 29 - Colour Sale Prices ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(29) IF NOT bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour0_sale_cost) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour1_sale_cost) // 2 colour 1 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour2_sale_cost) // 3 colour 2 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour3_sale_cost) // 4 colour 3 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour4_sale_cost) // 5 colour 4 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour5_sale_cost) // 6 colour 5 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour6_sale_cost) // 7 colour 6 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour7_sale_cost) // 8 colour 7 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour8_sale_cost) // 9 colour 8 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour9_sale_cost) // 10 colour 9 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour10_sale_cost) // 11 colour 10 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour11_sale_cost) // 12 colour 11 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour12_sale_cost) // 13 colour 12 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour13_sale_cost) // 14 colour 13 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour14_sale_cost) // 15 colour 14 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaColour15_sale_cost) // 16 colour 15 price END_SCALEFORM_MOVIE_METHOD() INT iKosatkaFlag0_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 0), iKosatkaFlag0_sale_cost = -1 INT iKosatkaFlag1_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 1), iKosatkaFlag1_sale_cost = -1 INT iKosatkaFlag2_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 2), iKosatkaFlag2_sale_cost = -1 INT iKosatkaFlag3_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 3), iKosatkaFlag3_sale_cost = -1 INT iKosatkaFlag4_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 4), iKosatkaFlag4_sale_cost = -1 INT iKosatkaFlag5_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 5), iKosatkaFlag5_sale_cost = -1 INT iKosatkaFlag6_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 6), iKosatkaFlag6_sale_cost = -1 INT iKosatkaFlag7_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 7), iKosatkaFlag7_sale_cost = -1 INT iKosatkaFlag8_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 8), iKosatkaFlag8_sale_cost = -1 INT iKosatkaFlag9_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 9), iKosatkaFlag9_sale_cost = -1 INT iKosatkaFlag10_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 10), iKosatkaFlag10_sale_cost = -1 INT iKosatkaFlag11_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 11), iKosatkaFlag11_sale_cost = -1 INT iKosatkaFlag12_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 12), iKosatkaFlag12_sale_cost = -1 INT iKosatkaFlag13_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 13), iKosatkaFlag13_sale_cost = -1 INT iKosatkaFlag14_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 14), iKosatkaFlag14_sale_cost = -1 INT iKosatkaFlag15_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 15), iKosatkaFlag15_sale_cost = -1 INT iKosatkaFlag16_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 16), iKosatkaFlag16_sale_cost = -1 INT iKosatkaFlag17_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 17), iKosatkaFlag17_sale_cost = -1 INT iKosatkaFlag18_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 18), iKosatkaFlag18_sale_cost = -1 INT iKosatkaFlag19_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 19), iKosatkaFlag19_sale_cost = -1 INT iKosatkaFlag20_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 20), iKosatkaFlag20_sale_cost = -1 INT iKosatkaFlag21_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 21), iKosatkaFlag21_sale_cost = -1 INT iKosatkaFlag22_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 22), iKosatkaFlag22_sale_cost = -1 INT iKosatkaFlag23_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 23), iKosatkaFlag23_sale_cost = -1 INT iKosatkaFlag24_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 24), iKosatkaFlag24_sale_cost = -1 INT iKosatkaFlag25_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 25), iKosatkaFlag25_sale_cost = -1 INT iKosatkaFlag26_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 26), iKosatkaFlag26_sale_cost = -1 INT iKosatkaFlag27_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 27), iKosatkaFlag27_sale_cost = -1 INT iKosatkaFlag28_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 28), iKosatkaFlag28_sale_cost = -1 INT iKosatkaFlag29_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 29), iKosatkaFlag29_sale_cost = -1 INT iKosatkaFlag30_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 30), iKosatkaFlag30_sale_cost = -1 INT iKosatkaFlag31_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 31), iKosatkaFlag31_sale_cost = -1 INT iKosatkaFlag32_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 32), iKosatkaFlag32_sale_cost = -1 INT iKosatkaFlag33_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 33), iKosatkaFlag33_sale_cost = -1 INT iKosatkaFlag34_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 34), iKosatkaFlag34_sale_cost = -1 INT iKosatkaFlag35_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 35), iKosatkaFlag35_sale_cost = -1 INT iKosatkaFlag36_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 36), iKosatkaFlag36_sale_cost = -1 INT iKosatkaFlag37_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 37), iKosatkaFlag37_sale_cost = -1 INT iKosatkaFlag38_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 38), iKosatkaFlag38_sale_cost = -1 INT iKosatkaFlag39_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 39), iKosatkaFlag39_sale_cost = -1 INT iKosatkaFlag40_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 40), iKosatkaFlag40_sale_cost = -1 INT iKosatkaFlag41_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 41), iKosatkaFlag41_sale_cost = -1 INT iKosatkaFlag42_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 42), iKosatkaFlag42_sale_cost = -1 INT iKosatkaFlag43_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 43), iKosatkaFlag43_sale_cost = -1 INT iKosatkaFlag44_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 44), iKosatkaFlag44_sale_cost = -1 INT iKosatkaFlag45_cost = GET_KOSATKA_MOD_COST(eKOSATKA_MOD_FLAG, 45), iKosatkaFlag45_sale_cost = -1 IF g_sMPTunables.bVehicleWebsite_sale iKosatkaFlag0_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag0_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 0), "iKosatkaFlag0_sale_cost") iKosatkaFlag1_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag1_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 1), "iKosatkaFlag1_sale_cost") iKosatkaFlag2_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag2_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 2), "iKosatkaFlag2_sale_cost") iKosatkaFlag3_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag3_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 3), "iKosatkaFlag3_sale_cost") iKosatkaFlag4_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag4_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 4), "iKosatkaFlag4_sale_cost") iKosatkaFlag5_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag5_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 5), "iKosatkaFlag5_sale_cost") iKosatkaFlag6_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag6_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 6), "iKosatkaFlag6_sale_cost") iKosatkaFlag7_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag7_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 7), "iKosatkaFlag7_sale_cost") iKosatkaFlag8_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag8_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 8), "iKosatkaFlag8_sale_cost") iKosatkaFlag9_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag9_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 9), "iKosatkaFlag9_sale_cost") iKosatkaFlag10_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag10_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 10), "iKosatkaFlag10_sale_cost") iKosatkaFlag11_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag11_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 11), "iKosatkaFlag11_sale_cost") iKosatkaFlag12_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag12_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 12), "iKosatkaFlag12_sale_cost") iKosatkaFlag13_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag13_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 13), "iKosatkaFlag13_sale_cost") iKosatkaFlag14_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag14_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 14), "iKosatkaFlag14_sale_cost") iKosatkaFlag15_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag15_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 15), "iKosatkaFlag15_sale_cost") iKosatkaFlag16_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag16_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 16), "iKosatkaFlag16_sale_cost") iKosatkaFlag17_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag17_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 17), "iKosatkaFlag17_sale_cost") iKosatkaFlag18_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag18_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 18), "iKosatkaFlag18_sale_cost") iKosatkaFlag19_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag19_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 19), "iKosatkaFlag19_sale_cost") iKosatkaFlag20_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag20_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 20), "iKosatkaFlag20_sale_cost") iKosatkaFlag21_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag21_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 21), "iKosatkaFlag21_sale_cost") iKosatkaFlag22_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag22_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 22), "iKosatkaFlag22_sale_cost") iKosatkaFlag23_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag23_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 23), "iKosatkaFlag23_sale_cost") iKosatkaFlag24_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag24_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 24), "iKosatkaFlag24_sale_cost") iKosatkaFlag25_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag25_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 25), "iKosatkaFlag25_sale_cost") iKosatkaFlag26_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag26_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 26), "iKosatkaFlag26_sale_cost") iKosatkaFlag27_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag27_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 27), "iKosatkaFlag27_sale_cost") iKosatkaFlag28_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag28_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 28), "iKosatkaFlag28_sale_cost") iKosatkaFlag29_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag29_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 29), "iKosatkaFlag29_sale_cost") iKosatkaFlag30_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag30_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 30), "iKosatkaFlag30_sale_cost") iKosatkaFlag31_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag31_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 31), "iKosatkaFlag31_sale_cost") iKosatkaFlag32_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag32_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 32), "iKosatkaFlag32_sale_cost") iKosatkaFlag33_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag33_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 33), "iKosatkaFlag33_sale_cost") iKosatkaFlag34_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag34_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 34), "iKosatkaFlag34_sale_cost") iKosatkaFlag35_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag35_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 35), "iKosatkaFlag35_sale_cost") iKosatkaFlag36_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag36_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 36), "iKosatkaFlag36_sale_cost") iKosatkaFlag37_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag37_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 37), "iKosatkaFlag37_sale_cost") iKosatkaFlag38_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag38_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 38), "iKosatkaFlag38_sale_cost") iKosatkaFlag39_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag39_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 39), "iKosatkaFlag39_sale_cost") iKosatkaFlag40_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag40_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 40), "iKosatkaFlag40_sale_cost") iKosatkaFlag41_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag41_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 41), "iKosatkaFlag41_sale_cost") iKosatkaFlag42_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag42_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 42), "iKosatkaFlag42_sale_cost") iKosatkaFlag43_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag43_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 43), "iKosatkaFlag43_sale_cost") iKosatkaFlag44_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag44_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 44), "iKosatkaFlag44_sale_cost") iKosatkaFlag45_sale_cost = SPECIAL_VEHICLE_SALE_PRICE(iKosatkaFlag45_cost, GET_KOSATKA_MOD_BASE_COST(eKOSATKA_MOD_FLAG, 45), "iKosatkaFlag45_sale_cost") ENDIF // ----- DATA SLOT 30 - Flag Prices (Part 1) ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(30) IF bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag0_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag1_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag2_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag3_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag4_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag5_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag6_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag7_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag8_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag9_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag10_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag11_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag12_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag13_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag14_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag15_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag16_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag17_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag18_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag19_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 1 flag 0 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF END_SCALEFORM_MOVIE_METHOD() // ----- DATA SLOT 30 - Flag Prices (Part 2) ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_OFFICE_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(30) IF bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag20_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag21_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag22_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag23_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag24_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag25_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag26_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag27_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag28_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag29_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag30_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag31_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag32_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag33_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag34_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag35_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag36_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag37_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag38_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag39_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF END_SCALEFORM_MOVIE_METHOD() // ----- DATA SLOT 30 - Flag Prices (Part 3) ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_OFFICE_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(30) IF bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag40_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag41_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag42_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag43_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag44_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag45_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF END_SCALEFORM_MOVIE_METHOD() // ----- DATA SLOT 31 - Flag Sale Prices (Part 1) ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(31) IF bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag0_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag1_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag2_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag3_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag4_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag5_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag6_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag7_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag8_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag9_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag10_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag11_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag12_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag13_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag14_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag15_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag16_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag17_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag18_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag19_sale_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // 1 flag 0 price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF END_SCALEFORM_MOVIE_METHOD() // ----- DATA SLOT 31 - Flag Sale Prices (Part 2) ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_OFFICE_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(31) IF bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag20_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag21_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag22_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag23_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag24_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag25_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag26_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag27_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag28_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag29_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag30_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag31_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag32_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag33_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag34_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag35_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag36_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag37_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag38_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag39_sale_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF END_SCALEFORM_MOVIE_METHOD() // ----- DATA SLOT 31 - Flag Sale Prices (Part 2) ----- BEGIN_SCALEFORM_MOVIE_METHOD(mov, "APPEND_OFFICE_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(31) IF bOwnsKosatka SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag40_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag41_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag42_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag43_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag44_sale_cost) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iKosatkaFlag45_sale_cost) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF END_SCALEFORM_MOVIE_METHOD() ENDPROC #ENDIF PROC SCALEFORM_MOVIE_METHOD_ADD_BLIMP3_DATA(SCALEFORM_INDEX &mov) INT iBigAssID, iCurrent = -1 //DATA SLOT 18 - Player's Previous Purchase Data BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(10) // Livery #1 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3, BCV_RED_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 0) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #2 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3, BCV_PINK_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #3 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3, BCV_YELLOW_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 2) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #4 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3, BCV_ORANGE_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 3) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #5 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3, BCV_GREEN_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 4) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #6 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3, BCV_BLUE_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 5) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #7 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3, BCV_BLACK_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 6) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Nightclub Livery IF NOT DOES_PLAYER_OWN_ANY_NIGHTCLUB(PLAYER_ID()) OR NOT DOES_PLAYER_HAVE_A_VALID_NIGHTCLUB_NAME(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // -1: unavailable (a padlock icon will show next to the option) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // ELSE iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_BLIMP3, BCV_WHITE_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 7) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF IF IS_PLAYER_NIGHTCLUB_NAME_0_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: Maisonette Los Santos ELIF IS_PLAYER_NIGHTCLUB_NAME_1_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: Studio Los Santos ELIF IS_PLAYER_NIGHTCLUB_NAME_2_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: Galaxy ELIF IS_PLAYER_NIGHTCLUB_NAME_3_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(3) // 3: Gefaengnis ELIF IS_PLAYER_NIGHTCLUB_NAME_4_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(4) // 4: Omega ELIF IS_PLAYER_NIGHTCLUB_NAME_5_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(5) // 5: Technologie ELIF IS_PLAYER_NIGHTCLUB_NAME_6_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(6) // 6: Paradise ELIF IS_PLAYER_NIGHTCLUB_NAME_7_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(7) // 7: The Palace ELIF IS_PLAYER_NIGHTCLUB_NAME_8_PURCHASED(PLAYER_ID()) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(8) // 8: Tony's Fun House ENDIF ENDIF END_SCALEFORM_MOVIE_METHOD() ENDPROC PROC SCALEFORM_MOVIE_METHOD_ADD_PBUS2_DATA(SCALEFORM_INDEX &mov) INT iBigAssID, iCurrent = -1 //DATA SLOT 18 - Player's Previous Purchase Data BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(10) // Livery #1 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_RED_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 0) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #2 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_PINK_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #3 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_YELLOW_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 2) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #4 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_ORANGE_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 3) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #5 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_GREEN_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 4) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #6 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_BLUE_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 5) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #7 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_BLACK_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 6) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #8 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_WHITE_COLOUR) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 7) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #9 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_COLOUR_1) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 8) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF // Livery #10 iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_BB_PBUS2, BCV_COLOUR_2) IF NOT IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // 0: available ELIF (iCurrent != 9) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1: owned (a tick icon will show next to the option) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // 2: equipped (item is selected by default and the text label is changed) ENDIF END_SCALEFORM_MOVIE_METHOD() ENDPROC /// PURPOSE: /// Sets vehicle price to the scaleform for multiplayer PROC UPDATE_VEHICLE_SITE_PRICES_MP(SCALEFORM_INDEX &mov, WEBSITE_INDEX_ENUM site) INT i, iPrice, iCount // CPRINTLN(DEBUG_INTERNET, "Number of DLC vehicles reported as ", GET_NUM_DLC_VEHICLES()) // Update for sites with different numbers of vehicles IF site = WWW_LEGENDARYMOTORSPORT_NET iCount = NUM_PAGES_LEGENDARYMOTORSPORT_NET ELIF site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM iCount = NUM_PAGES_SOUTHERNSANANDREASSUPERAUTOS_COM ELIF site = WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM iCount = NUM_PAGES_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM ELIF site = WWW_ELITASTRAVEL_COM iCount = NUM_PAGES_ELITASTRAVEL_COM ELIF site = WWW_DOCKTEASE_COM iCount = NUM_PAGES_DOCKTEASE_COM ELIF site = WWW_PANDMCYCLES_COM iCount = NUM_PAGES_PANDMCYCLES_COM ELIF site = WWW_BENNYSORIGINALMOTORWORKS_COM iCount = NUM_PAGES_BENNYSORIGINALMOTORWORKS_COM ELIF site = WWW_ARENAWAR_TV iCount = NUM_PAGES_ARENA_COM ELSE iCount = 9 ENDIF VEHICLE_VALUE_DATA sData REPEAT iCount i IF IS_INDEX_VALID_FOR_VEH_SITE(site, i) INT page = i+3 IF site = WWW_BENNYSORIGINALMOTORWORKS_COM page = i+15 ENDIF IF site = WWW_ARENAWAR_TV page = i+18+3 ENDIF SITE_BUYABLE_VEHICLE sbv = GET_VEHICLE_FROM_SITE_AND_PAGE_ID(site, page) #IF IS_DEBUG_BUILD IF IS_ERROR_PAGE_FOR_VEHICLE_SITE(site, page) CASSERTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: Page index ", page, ", vehIndex ", i, " [site:", GET_WEBSITE_FROM_INDEX(site), ", ", GET_LABEL_BUYABLE_VEHICLE(sbv), "] reported as error page for site, returning unset") ELIF IS_CONFIRM_PAGE_FOR_VEHICLE_SITE(site, page) CASSERTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: Page index ", page, ", vehIndex ", i, " [site:", GET_WEBSITE_FROM_INDEX(site), ", ", GET_LABEL_BUYABLE_VEHICLE(sbv), "] reported as confirm page for site, returning unset") ENDIF #ENDIF BOOL bAltVersion = IS_SBV_AN_ALTERNATE_VEHICLE(sbv, site, g_eLastBuyableVehicleColourSelected) iPrice = GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, bAltVersion) // Tell scaleform to display only the pack name for locked DLC vehicles - do this now to avoid doing pointless maths on a value of -3 or 0 IF iPrice = -3 IF sbv != UNSET_BUYABLE_VEHICLE BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-3) END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: \"", GET_WEBSITE_FROM_INDEX(site), "\", index = ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is locked DLC for current player") #ENDIF ENDIF // Set 0 for locked DLC vehicles so they show as out of stock - do this now to avoid doing pointless maths on a value of -2 or 0 ELIF iPrice = -2 IF sbv != UNSET_BUYABLE_VEHICLE BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: \"", GET_WEBSITE_FROM_INDEX(site), "\", index = ", i, " ", GET_LABEL_BUYABLE_VEHICLE(sbv), PICK_STRING(bAltVersion, " alt version,", " NOT alt version,"), " is not available (out of stock) for current player") #ENDIF ENDIF // Don't show unavailable vehicles - do this now to avoid doing pointless maths on a value of -1 ELIF iPrice = -1 IF sbv != UNSET_BUYABLE_VEHICLE BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPrice) END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: \"", GET_WEBSITE_FROM_INDEX(site), "\", index = ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is hidden for current player") #ENDIF ENDIF ELSE // Adjust prices for MP tunables SWITCH site CASE WWW_LEGENDARYMOTORSPORT_NET CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM CASE WWW_BENNYSORIGINALMOTORWORKS_COM CASE WWW_ARENAWAR_TV iPrice = CEIL(g_sMPTunables.fCarsWebsiteMultiplier * (TO_FLOAT(iPrice))) BREAK CASE WWW_ELITASTRAVEL_COM CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM IF GET_VEHICLE_STORAGE_TYPE(sbv) = VST_HANGAR iPrice = CEIL(g_sMPTunables.fPlanesWebsiteMultiplier * (TO_FLOAT(iPrice))) ELSE iPrice = CEIL(g_sMPTunables.fHelisWebsiteMultiplier * (TO_FLOAT(iPrice))) ENDIF BREAK CASE WWW_DOCKTEASE_COM iPrice = CEIL(g_sMPTunables.fBoatsWebsiteMultiplier * (TO_FLOAT(iPrice))) BREAK CASE WWW_PANDMCYCLES_COM iPrice = CEIL(g_sMPTunables.fBikesWebsiteMultiplier * (TO_FLOAT(iPrice))) BREAK ENDSWITCH IF g_smpTunables.bTurn_on_promotional_eyefind_homepage CASSERTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: Promotional eyefind homepage discount hooked up, check site \"", GET_WEBSITE_FROM_INDEX(site), "\"") SWITCH site CASE WWW_LEGENDARYMOTORSPORT_NET CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: g_sMPTunables.fLEGENDARY_DISPLAYED_DISCOUNT: ", g_sMPTunables.fLEGENDARY_DISPLAYED_DISCOUNT) iPrice = CEIL((100-g_sMPTunables.fLEGENDARY_DISPLAYED_DISCOUNT)/100.0 * (TO_FLOAT(iPrice))) BREAK CASE WWW_ELITASTRAVEL_COM CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: g_sMPTunables.fELITAS_DISPLAYED_DISCOUNT: ", g_sMPTunables.fELITAS_DISPLAYED_DISCOUNT) iPrice = CEIL((100-g_sMPTunables.fELITAS_DISPLAYED_DISCOUNT)/100.0 * (TO_FLOAT(iPrice))) BREAK CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: g_sMPTunables.fSSASA_DISPLAYED_DISCOUNT: ", g_sMPTunables.fSSASA_DISPLAYED_DISCOUNT) iPrice = CEIL((100-g_sMPTunables.fSSASA_DISPLAYED_DISCOUNT)/100.0 * (TO_FLOAT(iPrice))) BREAK ENDSWITCH ENDIF BOOL bLockedForWebsite = FALSE INT iRank = GET_BUYABLE_VEHICLE_UNLOCK_RANK(sbv, bLockedForWebsite) IF sbv = BV_GO_HERMES IF DOES_SAVE_HAVE_COUPON(COUPON_CAR_XMAS2017) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " free for COUPON_CAR_XMAS2017") iPrice = 0 ELSE CDEBUG1LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " not free for COUPON_CAR_XMAS2017") ENDIF ELIF sbv = BV_AW_CLIQUE IF DOES_SAVE_HAVE_COUPON(COUPON_CAR_XMAS2018) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " free for COUPON_CAR_XMAS2018") iPrice = 0 ELSE CDEBUG1LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " not free for COUPON_CAR_XMAS2018") ENDIF ELIF sbv = BV_A_BUZZARD IF DOES_SAVE_HAVE_COUPON(COUPON_HELI_XMAS2018) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " free for COUPON_HELI_XMAS2018") iPrice = 0 ELSE CDEBUG1LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " not free for COUPON_HELI_XMAS2018") ENDIF ELIF sbv = BV_DLC_INSURGENT IF DOES_SAVE_HAVE_COUPON(COUPON_CAR2_XMAS2018) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " free for COUPON_CAR2_XMAS2018") iPrice = 0 ELSE CDEBUG1LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " not free for COUPON_CAR2_XMAS2018") ENDIF #IF FEATURE_GEN9_EXCLUSIVE ELIF sbv = BV_G9E_S95 IF DOES_SAVE_HAVE_COUPON(COUPON_CAR_GEN9_MIGRATION) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " free for COUPON_CAR_GEN9_MIGRATION") iPrice = 0 ELSE CDEBUG1LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP ", GET_LABEL_BUYABLE_VEHICLE(sbv), " not free for COUPON_CAR_GEN9_MIGRATION") ENDIF #ENDIF ENDIF IF iPrice = 0 IF sbv != UNSET_BUYABLE_VEHICLE MODEL_NAMES eModel = GET_MODEL_FOR_BUYABLE_VEHICLE(sbv) INT iReductionType = 0 INT iWebSalePrice = -1, iWebSaleSecondPrice = -1, iOptOutSlot = -1 IF g_sMPTunables.bVehicleWebsite_sale AND NOT IS_OPTOUT_FOR_VEHICLE(eModel, bAltVersion, iOptOutSlot) #IF IS_DEBUG_BUILD IF sbv = BV_SC_ELEGY2 PRINTLN("UPDATE_VEHICLE_SITE_PRICES_MP BV_SC_ELEGY2 IS_OPTOUT_FOR_VEHICLE false") ENDIF #ENDIF IF NOT IS_SBV_A_VEHICLE_WITH_LIVERIES(sbv) #IF IS_DEBUG_BUILD IF sbv = BV_SC_ELEGY2 PRINTLN("UPDATE_VEHICLE_SITE_PRICES_MP BV_SC_ELEGY2 IS_SBV_A_VEHICLE_WITH_LIVERIES false") ENDIF #ENDIF IF GET_VEHICLE_VALUE(sData, eModel, bAltVersion, 1) iWebSalePrice = sData.iStandardPrice ENDIF #IF IS_DEBUG_BUILD IF g_bForceVehicleWebsite_sale iWebSalePrice = ROUND(TO_FLOAT(iWebSalePrice)*1.5) ENDIF #ENDIF IF iWebSalePrice != -1 AND iWebSalePrice > iPrice CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is true, ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iWebSalePrice, " > $FREE - isReduced!!!") iReductionType = 3 ELSE CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is true, ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iWebSalePrice, PICK_STRING(iWebSalePrice = iPrice, " = $", " > $"), iPrice, " - is not reduced...") ENDIF ELSE #IF IS_DEBUG_BUILD IF sbv = BV_SC_ELEGY2 PRINTLN("UPDATE_VEHICLE_SITE_PRICES_MP BV_SC_ELEGY2 IS_SBV_A_VEHICLE_WITH_LIVERIES true") ENDIF #ENDIF IF GET_VEHICLE_VALUE(sData, GET_MODEL_FOR_BUYABLE_VEHICLE(sbv, 0), FALSE, 1) iWebSalePrice = sData.iStandardPrice CDEBUG3LN(DEBUG_INTERNET, "[SALE ", GET_MODEL_NAME_FOR_DEBUG(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv, 0)), "] iWebSalePrice = $", sData.iStandardPrice) ENDIF IF GET_VEHICLE_VALUE(sData, GET_MODEL_FOR_BUYABLE_VEHICLE(sbv, 1), TRUE, 1) iWebSaleSecondPrice = sData.iStandardPrice CDEBUG3LN(DEBUG_INTERNET, "[SALE ", GET_MODEL_NAME_FOR_DEBUG(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv, 1)), "] iWebSaleSecondPrice = $", sData.iStandardPrice) ENDIF #IF IS_DEBUG_BUILD IF g_bForceVehicleWebsite_sale iWebSalePrice = ROUND(TO_FLOAT(iWebSalePrice)*1.5) iWebSaleSecondPrice = ROUND(TO_FLOAT(iWebSaleSecondPrice)*1.5) ENDIF #ENDIF IF iWebSalePrice != -1 AND iWebSalePrice > GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, FALSE) OR iWebSaleSecondPrice != -1 AND iWebSaleSecondPrice > GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, TRUE) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is true, ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is [$", iWebSalePrice, " > $", GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, FALSE), "], [$", iWebSaleSecondPrice, " > $", GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, TRUE), "] - isReduced!!!") iReductionType = 3 ELSE CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is true, ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iWebSalePrice, PICK_STRING(iWebSalePrice = iPrice, " = $", " > $"), iPrice, " - is not reduced...") ENDIF ENDIF ELSE #IF IS_DEBUG_BUILD IF sbv = BV_SC_ELEGY2 PRINTLN("UPDATE_VEHICLE_SITE_PRICES_MP BV_SC_ELEGY2 IS_OPTOUT_FOR_VEHICLE true") ENDIF #ENDIF #IF NOT IS_DEBUG_BUILD CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is false (iOptOutSlot:", iOptOutSlot, ")") #ENDIF #IF IS_DEBUG_BUILD INT iDebugExpenditureModifier = -1 IF GET_VEHICLE_VALUE(sData, eModel, bAltVersion, 1) iDebugExpenditureModifier = sData.iStandardPrice ENDIF IF iDebugExpenditureModifier >= 0 AND iDebugExpenditureModifier != iPrice CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is false (iOptOutSlot:", iOptOutSlot, ") ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iDebugExpenditureModifier, " != $FREE - different???") ELSE CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is false (iOptOutSlot:", iOptOutSlot, ") ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iDebugExpenditureModifier, " = $FREE - same") ENDIF #ENDIF ENDIF INT iRebateSlot = -1 IF IS_REBATE_ACTIVE_FOR_VEHICLE(site, eModel, bAltVersion, iRebateSlot) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: rebate ", iRebateSlot, " active for vehicle") iReductionType = 2 ENDIF INT iAward = -1 IF IS_SBV_A_VEHICLE_FREE_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK(sbv) AND HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS() iAward = 2 ENDIF #IF IS_DEBUG_BUILD IF sbv = BV_SC_ELEGY2 PRINTLN("UPDATE_VEHICLE_SITE_PRICES_MP BV_SC_ELEGY2 iWebSalePrice: ", iWebSalePrice) ENDIF #ENDIF IF NOT IS_SBV_A_VEHICLE_WITH_LIVERIES(sbv) BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) IF (iWebSalePrice = -1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("ITEM_FREE") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSalePrice) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iReductionType) // reduction type IF (iWebSalePrice = -1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSalePrice) // sale price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // secondary sale price ELSE IF site = WWW_ARENAWAR_TV SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // secondary sale price // sale price ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("ITEM_FREE") // sale price ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) // secondary sale price ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAward) // award - Starter Pack icon/message. SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(true) //price1Unlocked: true SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(false) //price2Unlocked: false END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: 1 \"", GET_WEBSITE_FROM_INDEX(site), "\", index = ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), " Price = FREE, iReductionType = ", iReductionType, ", iAward = ", iAward) #ENDIF ELSE BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) IF (iWebSalePrice = -1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("ITEM_FREE") SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("ITEM_FREE") ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSalePrice) // sale price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSaleSecondPrice) // secondary sale price ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iReductionType) // reduction type IF (iWebSalePrice = -1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSalePrice) // sale price SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSaleSecondPrice) // secondary sale price ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("ITEM_FREE") SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("ITEM_FREE") ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iAward) // award - Starter Pack icon/message. END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: 2 \"", GET_WEBSITE_FROM_INDEX(site), "\", index = ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), " Price = FREE and FREE, iReductionType = ", iReductionType, ", iAward = ", iAward) #ENDIF ENDIF IF bLockedForWebsite // Set unlock rank BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_RANKS") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iRank) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(GET_PLAYER_RANK(PLAYER_ID())) END_SCALEFORM_MOVIE_METHOD() ELSE BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_RANKS") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(GET_PLAYER_RANK(PLAYER_ID())) END_SCALEFORM_MOVIE_METHOD() ENDIF ENDIF ELSE // Set website price IF sbv != UNSET_BUYABLE_VEHICLE MODEL_NAMES eModel = GET_MODEL_FOR_BUYABLE_VEHICLE(sbv) INT iSVMIndex = GET_SVM_VEHICLE_INDEX(eModel) INT iWVMIndex = GET_WVM_VEHICLE_INDEX(eModel) INT iWAMIndex = WAM_GET_STEAL_MISSION_UNLOCK_COUNT_FROM_VEHICLE_MODEL(eModel) INT iFDSIndex = GET_FDS_VEHICLE_INDEX(eModel) INT iBBSIndex = GET_BBS_VEHICLE_INDEX(eModel) INT iAWSIndex = GET_AWS_VEHICLE_INDEX(eModel) INT iCHIndex = GET_CH_VEHICLE_INDEX(eModel) #IF FEATURE_COPS_N_CROOKS INT iCNCIndex = GET_CNC_VEHICLE_INDEX(eModel) #ENDIF INT iSUMIndex = GET_SUMMER20_VEHICLE_INDEX(eModel) INT iIHIndex = GET_ISLAND_HEIST_VEHICLE_INDEX(eModel) INT iTunerIndex = GET_TUNER_VEHICLE_INDEX(eModel) INT iFixerIndex = GET_FIXER_VEHICLE_INDEX(eModel) #IF FEATURE_DLC_1_2022 INT iSum2Index = GET_SUMMER_2022_VEHICLE_INDEX(eModel) #ENDIF BOOL bAddSecondPrice = FALSE INT iReductionType = 0 IF (sbv = BV_DLC_SWIFT OR sbv = BV_ST_RALLYTRUCK) OR IS_SBV_A_VEHICLE_WITH_ARMOUR_OPTION(sbv) bAddSecondPrice = TRUE ENDIF IF (iSVMIndex != -1) OR IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(sbv) OR (iWVMIndex != -1) OR (iWAMIndex > 0) OR (iFDSIndex != -1) OR (iBBSIndex != -1) OR (iAWSIndex != -1) OR (iCHIndex != -1) #IF FEATURE_COPS_N_CROOKS OR (iCNCIndex != -1) #ENDIF // #IF FEATURE_SUMMER_2020 // OR (iSUMIndex != -1) // #ENDIF OR (iIHIndex != -1) OR (iTunerIndex != -1) OR (iFixerIndex != -1) #IF FEATURE_DLC_1_2022 OR (iSum2Index != -1) #ENDIF bAddSecondPrice = TRUE ENDIF #IF IS_DEBUG_BUILD IF g_bForceVehicleWebsite_sale AND NOT g_sMPTunables.bVehicleWebsite_sale g_sMPTunables.bVehicleWebsite_sale = TRUE ENDIF #ENDIF INT iWebSalePrice = -1, iWebSaleSecondPrice = -1, iOptOutSlot = -1 IF g_sMPTunables.bVehicleWebsite_sale AND NOT IS_OPTOUT_FOR_VEHICLE(eModel, bAltVersion, iOptOutSlot) IF NOT bAddSecondPrice IF GET_VEHICLE_VALUE(sData, eModel, bAltVersion, 1) iWebSalePrice = sData.iStandardPrice ENDIF #IF IS_DEBUG_BUILD IF g_bForceVehicleWebsite_sale iWebSalePrice = ROUND(TO_FLOAT(iWebSalePrice)*1.5) ENDIF #ENDIF IF iWebSalePrice != -1 AND iWebSalePrice > iPrice CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is true, ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iWebSalePrice, " > $", iPrice, " - isReduced!!!") iReductionType = 3 ELSE CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is true, ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iWebSalePrice, PICK_STRING(iWebSalePrice = iPrice, " = $", " > $"), iPrice, " - is not reduced...") ENDIF ELSE IF GET_VEHICLE_VALUE(sData, GET_MODEL_FOR_BUYABLE_VEHICLE(sbv, 0), FALSE, 1) iWebSalePrice = sData.iStandardPrice CDEBUG3LN(DEBUG_INTERNET, "[SALE ", GET_MODEL_NAME_FOR_DEBUG(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv, 0)), "] iWebSalePrice = $", sData.iStandardPrice) ENDIF IF GET_VEHICLE_VALUE(sData, GET_MODEL_FOR_BUYABLE_VEHICLE(sbv, 1), TRUE, 1) iWebSaleSecondPrice = sData.iStandardPrice CDEBUG3LN(DEBUG_INTERNET, "[SALE ", GET_MODEL_NAME_FOR_DEBUG(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv, 1)), "] iWebSaleSecondPrice = $", sData.iStandardPrice) ENDIF #IF IS_DEBUG_BUILD IF g_bForceVehicleWebsite_sale iWebSalePrice = ROUND(TO_FLOAT(iWebSalePrice)*1.5) iWebSaleSecondPrice = ROUND(TO_FLOAT(iWebSaleSecondPrice)*1.5) ENDIF #ENDIF IF iWebSalePrice != -1 AND iWebSalePrice > GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, FALSE) OR iWebSaleSecondPrice != -1 AND iWebSaleSecondPrice > GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, TRUE) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is true, ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is [$", iWebSalePrice, " > $", GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, FALSE), "], [$", iWebSaleSecondPrice, " > $", GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, TRUE), "] - isReduced!!!") iReductionType = 3 ELSE CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is true, ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iWebSalePrice, PICK_STRING(iWebSalePrice = iPrice, " = $", " > $"), iPrice, " - is not reduced...") ENDIF ENDIF ELSE #IF NOT IS_DEBUG_BUILD CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is false (iOptOutSlot:", iOptOutSlot, ")") #ENDIF #IF IS_DEBUG_BUILD INT iDebugExpenditureModifier = -1 IF GET_VEHICLE_VALUE(sData, eModel, bAltVersion, 1) iDebugExpenditureModifier = sData.iStandardPrice ENDIF IF iDebugExpenditureModifier >= 0 AND iDebugExpenditureModifier != iPrice CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is false (iOptOutSlot:", iOptOutSlot, ") ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iDebugExpenditureModifier, " != $", iPrice, " - different???") ELSE CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: bVehicleWebsite_sale is false (iOptOutSlot:", iOptOutSlot, ") ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is $", iDebugExpenditureModifier, " = $", iPrice, " - same") ENDIF #ENDIF ENDIF INT iRebateSlot = -1 IF IS_REBATE_ACTIVE_FOR_VEHICLE(site, eModel, bAltVersion, iRebateSlot) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: rebate ", iRebateSlot, " active for vehicle") iReductionType = 2 ENDIF INT iWebPrice = -1 INT iWebSecondPrice = -1 BOOL bPrice1unlocked = FALSE BOOL bPrice2unlocked = FALSE IF NOT bAddSecondPrice iWebPrice = (iPrice) iWebSecondPrice = (0) ELSE iWebPrice = (GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, FALSE)) iWebSecondPrice = (GET_BUYABLE_VEHICLE_PRICE_MP(site, sbv, TRUE)) // IF NETWORK_IS_GAME_IN_PROGRESS() // AND USE_SERVER_TRANSACTIONS() // IF (sbv = BV_BB_BLIMP3) // IF GET_VEHICLE_VALUE(sData, eModel, bAltVersion, 1) // iWebPrice = (sData.iStandardPrice) // iWebSecondPrice = (iPrice) // ENDIF // ENDIF // ENDIF ENDIF IF (iReductionType = 3) INT iTemp = iWebSalePrice iWebSalePrice = iWebPrice iWebPrice = iTemp IF NOT bAddSecondPrice iWebSaleSecondPrice = (0) ELSE iTemp = iWebSaleSecondPrice iWebSaleSecondPrice = iWebSecondPrice iWebSecondPrice = iTemp ENDIF ELSE iWebSalePrice = (0) iWebSaleSecondPrice = (0) ENDIF IF (iSVMIndex != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_IE_WAREHOUSE) <= 0 bPrice2unlocked = FALSE bPrice1unlocked = FALSE ELSE bPrice2unlocked = TRUE IF NOT SVM_IS_SPECIAL_VEHICLE_UNLOCKED(SVM_GET_FLOW_POS_FROM_VEHICLE_MODEL(eModel)) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 //url:bugstar:3200106 - The BUY IT NOW price should go away on Warstock special vehicles when the player has completed the associated mission. ENDIF ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(sbv) bPrice2unlocked = TRUE IF NOT IS_BUYABLE_VEHICLE_UNLOCKED(sbv) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF (sbv = BV_DLC_BALLISTIC_EQUIPMENT) bPrice2unlocked = TRUE IF NOT IS_BALLISTIC_EQUIPMENT_UNLOCKED() bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF (iWVMIndex != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice //HAS_PLAYER_COMPLETED_INITIAL_AMBIENT_TUTORIALS IF !IS_BIT_SET(GlobalplayerBD_FM[NATIVE_TO_INT(PLAYER_ID())].iFmTutProgBitset, biTrigTut_CompletedInitalAmbientTut) AND (sbv = BV_GR_TRAILERSMALL2) bPrice2unlocked = FALSE bPrice1unlocked = FALSE ELSE bPrice2unlocked = TRUE IF NOT DOES_PLAYER_OWN_A_BUNKER(PLAYER_ID()) bPrice1unlocked = FALSE ELIF NOT IS_GUNRUNNING_TRUCK_PURCHASED() bPrice1unlocked = FALSE ELIF NOT WVM_IS_SPECIAL_VEHICLE_UNLOCKED(WVM_GET_FLOW_POS_FROM_VEHICLE_MODEL(eModel)) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 //url:bugstar:3200106 - The BUY IT NOW price should go away on Warstock special vehicles when the player has completed the associated mission. ENDIF ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF (iWAMIndex > 0) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice bPrice2unlocked = TRUE IF NOT DOES_PLAYER_OWN_A_HANGER(PLAYER_ID()) bPrice1unlocked = FALSE ELIF NOT WAM_IS_SPECIAL_VEHICLE_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF (iFDSIndex != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice IF NOT DOES_PLAYER_OWN_A_DEFUNCT_BASE(PLAYER_ID()) AND GET_FDS_VEHICLE_SLOT(eModel) != -1 bPrice2unlocked = FALSE bPrice1unlocked = FALSE ELIF NOT DOES_PLAYER_OWN_A_HANGER(PLAYER_ID()) AND (sbv = BV_GO_AKULA OR sbv = BV_GO_VOLATOL) bPrice2unlocked = FALSE bPrice1unlocked = FALSE ELSE bPrice2unlocked = TRUE IF NOT HAS_PLAYER_UNLOCKED_GANG_OPS_VEHICLE_TRADE_PRICE(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 //url:bugstar:3200106 - The BUY IT NOW price should go away on Warstock special vehicles when the player has completed the associated mission. ENDIF ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF // ELIF (sbv = BV_AR_SEASPARROW) // INT iSwapWebPrice = iWebPrice // iWebPrice = iWebSecondPrice // iWebSecondPrice = iSwapWebPrice // // iSwapWebPrice = iWebSalePrice // iWebSalePrice = iWebSaleSecondPrice // iWebSaleSecondPrice = iSwapWebPrice // // IF NOT DOES_PLAYER_OWN_A_HANGER(PLAYER_ID()) // AND (sbv = BV_AR_SEASPARROW) // bPrice2unlocked = FALSE // bPrice1unlocked = FALSE // ELSE // bPrice2unlocked = TRUE // // // IF NOT HAS_PLAYER_UNLOCKED_GANG_OPS_VEHICLE_TRADE_PRICE(eModel) // // bPrice1unlocked = FALSE // // ELSE // bPrice1unlocked = TRUE // iWebSecondPrice = -1 // // ENDIF // ENDIF // // IF (iWebSalePrice = 0) // iWebSalePrice = -1 // ENDIF // IF (iWebSaleSecondPrice = 0) // iWebSaleSecondPrice = -1 // ENDIF ELIF (iBBSIndex != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice // IF NOT DOES_PLAYER_OWN_A_NIGHTCLUB(PLAYER_ID()) // AND (sbv = BV_BB_MULE4 // OR sbv = BV_BB_POUNDER2 // OR sbv = BV_BB_PBUS2 // OR sbv = BV_BB_PATRIOT2 // OR sbv = BV_BB_BLIMP3) // bPrice2unlocked = FALSE // bPrice1unlocked = FALSE // ELIF NOT IS_PLAYER_HACKER_TRUCK_PURCHASED(PLAYER_ID()) // AND (sbv = BV_BB_OPPRESSOR2) // bPrice2unlocked = FALSE // bPrice1unlocked = FALSE // ELSE bPrice2unlocked = TRUE IF NOT IS_BUSINESS_BATTLES_VEHICLE_REWARD_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 //url:bugstar:3200106 - The BUY IT NOW price should go away on Warstock special vehicles when the player has completed the associated mission. ENDIF // ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF (iAWSIndex != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice IF NOT DOES_PLAYER_OWN_AN_ARENA_GARAGE(PLAYER_ID()) AND (sbv = BV_AW_CERBERUS OR sbv = BV_AW_CERBERUS2 OR sbv = BV_AW_CERBERUS3) bPrice2unlocked = FALSE bPrice1unlocked = FALSE ELSE bPrice2unlocked = TRUE IF NOT IS_ARENA_WARS_VEHICLE_REWARD_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 //url:bugstar:3200106 - The BUY IT NOW price should go away on Warstock special vehicles when the player has completed the associated mission. ENDIF ENDIF IF site = WWW_BENNYSORIGINALMOTORWORKS_COM IF NOT IS_ARENA_WARS_VEHICLE_REWARD_UNLOCKED(eModel) // iWebPrice = iWebSecondPrice iWebSalePrice = iWebSaleSecondPrice bPrice1unlocked = bPrice2unlocked ENDIF iWebSecondPrice = 0 iWebSaleSecondPrice = 0 bPrice2unlocked = FALSE ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF #IF FEATURE_CASINO_HEIST ELIF sbv = BV_CH_FIRETRUK OR sbv = BV_CH_STOCKADE OR sbv = BV_CH_BOXVILLE bPrice2unlocked = TRUE IF NOT IS_CASINO_HEIST_VEHICLE_REWARD_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF (iCHIndex != -1) INT iSwapWebPrice = iWebPrice IF site = WWW_BENNYSORIGINALMOTORWORKS_COM AND ((sbv = BV_CA_GAUNTLET3 AND NOT IS_CASINO_HEIST_VEHICLE_REWARD_UNLOCKED(eModel)) #IF FEATURE_DLC_1_2022 OR (sbv = BV_GO_SENTINEL3 AND NOT IS_CASINO_HEIST_VEHICLE_REWARD_UNLOCKED(eModel)) #ENDIF ) // Buy now option bPrice1unlocked = FALSE bPrice2unlocked = TRUE iWebSecondPrice = -1 ELSE iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice bPrice2unlocked = TRUE IF NOT IS_CASINO_HEIST_VEHICLE_REWARD_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF #IF FEATURE_COPS_N_CROOKS ELIF (iCNCIndex != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice // Buy now option bPrice2unlocked = TRUE IF NOT IS_CNC_CONTENT_ENABLED() // Trade option bPrice1unlocked = FALSE // set buy now option available only if cnc content is disabled iWebPrice = iWebSecondPrice iWebSecondPrice = -1 ELIF NOT IS_CNC_VEHICLE_REWARD_UNLOCKED() bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF #ENDIF ELIF (iSUMIndex != -1) OR (site = WWW_BENNYSORIGINALMOTORWORKS_COM AND sbv = BV_CA_GAUNTLET3 AND NOT IS_CASINO_HEIST_VEHICLE_REWARD_UNLOCKED(eModel)) #IF FEATURE_DLC_1_2022 OR (site = WWW_BENNYSORIGINALMOTORWORKS_COM AND sbv = BV_IH_WEEVIL AND NOT IS_ISLAND_HEIST_VEHICLE_REWARD_UNLOCKED(eModel)) OR (site = WWW_BENNYSORIGINALMOTORWORKS_COM AND sbv = BV_IH_BRIOSO2 AND NOT IS_ISLAND_HEIST_VEHICLE_REWARD_UNLOCKED(eModel)) OR (site = WWW_BENNYSORIGINALMOTORWORKS_COM AND sbv = BV_GO_SENTINEL3 AND NOT IS_CASINO_HEIST_VEHICLE_REWARD_UNLOCKED(eModel)) #ENDIF // Buy now option bPrice2unlocked = TRUE iWebSecondPrice = -1 IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF (iIHIndex != -1) INT iSwapWebPrice = iWebPrice #IF FEATURE_DLC_1_2022 IF (sbv = BV_IH_WEEVIL OR sbv = BV_IH_BRIOSO2) AND site = WWW_BENNYSORIGINALMOTORWORKS_COM AND NOT IS_ISLAND_HEIST_VEHICLE_REWARD_UNLOCKED(eModel) // Buy now option bPrice1unlocked = FALSE bPrice2unlocked = TRUE iWebSecondPrice = -1 ELSE #ENDIF iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice bPrice2unlocked = TRUE IF NOT IS_ISLAND_HEIST_VEHICLE_REWARD_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF #IF FEATURE_DLC_1_2022 ENDIF #ENDIF ELIF (iTunerIndex != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice bPrice2unlocked = TRUE IF NOT IS_TUNER_VEHICLE_REWARD_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ELIF (iFixerIndex != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice bPrice2unlocked = TRUE IF NOT IS_FIXER_VEHICLE_REWARD_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF #IF FEATURE_DLC_1_2022 ELIF (iSum2Index != -1) INT iSwapWebPrice = iWebPrice iWebPrice = iWebSecondPrice iWebSecondPrice = iSwapWebPrice iSwapWebPrice = iWebSalePrice iWebSalePrice = iWebSaleSecondPrice iWebSaleSecondPrice = iSwapWebPrice bPrice2unlocked = TRUE IF NOT IS_SUMMER_2022_VEHICLE_REWARD_UNLOCKED(eModel) bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF #ENDIF ELIF (sbv = BV_CH_MINITANK) bPrice2unlocked = TRUE bPrice1unlocked = TRUE iWebSecondPrice = -1 IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF #ENDIF ELIF (sbv = BV_AW_RCBANDITO) bPrice2unlocked = TRUE ARENA_GARAGE_ID eArenaID = GET_PLAYERS_OWNED_ARENA_GARAGE(PLAYER_ID()) IF NOT (eArenaID != ARENA_GARAGE_ID_INVALID) bPrice2unlocked = FALSE bPrice1unlocked = FALSE ELIF NOT IS_RC_BANDITO_UNLOCKED() bPrice1unlocked = FALSE ELSE bPrice1unlocked = TRUE iWebSecondPrice = -1 ENDIF IF (iWebSalePrice = 0) iWebSalePrice = -1 ENDIF IF (iWebSaleSecondPrice = 0) iWebSaleSecondPrice = -1 ENDIF ENDIF IF (iWebSecondPrice = -1 OR iWebSecondPrice = 0) AND (iReductionType = 3) IF IS_SBV_A_VEHICLE_WITH_LIVERIES(sbv) // url:bugstar:5515450 - The buttons to purchase the Bravado Rat-Truck and Vapid Slamvan are grayed out as if they cannot be purchased when the player does not have the trade price unlocked. Player can still purchase the vehicle fine. IF (sbv = BV_BB_PBUS2) OR (sbv = BV_BB_PATRIOT2) OR (sbv = BV_DLC_RATLOADER2) OR (sbv = BV_DLC_SLAMVAN) OR (sbv = BV_ST_GARGOYLE) OR (sbv = BV_AR_ISSI3) OR (sbv = BV_MP_DOMINATOR) OR (sbv = BV_DLC_GLENDALE) OR (sbv = BV_DLC_GBURRITO2) OR (sbv = BV_DLC_KURUMA) OR (sbv = BV_DLC_KURUMA2) // ELSE iWebSecondPrice = iWebPrice iWebSaleSecondPrice = iWebSalePrice ENDIF ENDIF ENDIF IF (iWebSecondPrice = -1) iWebSaleSecondPrice = -1 ENDIF BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebPrice) //The main price of the vehicle. Usually this is a numeric value but a string such as "FREE" can also be passed in. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSecondPrice) //The secondary price is used when there are variations of the vehicle and each variation has a different price. An example of this is the Swift Helicopter on the Elitas website. IF site = WWW_ARENAWAR_TV SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) //unused - legacy ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iReductionType) //Setting the reduction type displays a banner on the vehicle thumbnail. A value of 0 or not setting this param at all will ensure that no reduction banner is displayed. If a parameter is set for the reduction type and a secondary price is not needed, a value of -1 should be used for the secondary price. ENDIF IF (iWebSalePrice = -1 OR iWebSalePrice = 0) //If the reduction type is 3, this value is displayed as the sale price and the normal price is crossed out. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSalePrice) ENDIF IF (iWebSaleSecondPrice = -1 OR iWebSaleSecondPrice = 0) //If the reduction type is 3 and there are variations of the vehicle (eg the Swift helicopter in the Elitas website) this value is displayed along with the sale price to indicate the range of sale prices. The normal price and secondary price are crossed out. SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iWebSaleSecondPrice) ENDIF IF site = WWW_ARENAWAR_TV SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) //unused - legacy ELSE // Displays an icon on the vehicle thumbnail to indicate an award //that the player receives when purchasing that vehicle. IF GET_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv) OR GET_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(site) OR GET_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // 1. Clothing (t-shirt) icon. ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) //-1. No icon ENDIF ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bPrice1unlocked) //TRUE hides the lock icon on the top button. SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bPrice2unlocked) //TRUE hides the lock icon on the bottom (‘Buy It Now’) button. END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD TEXT_LABEL_31 tl31_price = "", tl31_reductionType = "", tl31_saleprice = "", tl31_priceUnlock = "" tl31_price = " $" tl31_price += iWebPrice IF iWebSecondPrice > 0 tl31_price += " or $" tl31_price += iWebSecondPrice ENDIF SWITCH iReductionType CASE 0 tl31_reductionType = "none" BREAK // CASE 1 // BREAK CASE 2 tl31_reductionType = "REBATE" BREAK CASE 3 tl31_reductionType = "SALE" BREAK // CASE 4 // BREAK DEFAULT tl31_reductionType = "UNKNOWN_" tl31_reductionType += iReductionType BREAK ENDSWITCH IF iReductionType != 0 tl31_saleprice = " (sale $" tl31_saleprice += iWebSalePrice IF iWebSaleSecondPrice > 0 tl31_saleprice += " or $" tl31_saleprice += iWebSaleSecondPrice ENDIF tl31_saleprice += ")" ENDIF IF (iSVMIndex != -1) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) // ELIF IS_SBV_A_VEHICLE_PREVIOUSLY_LASTGEN_ONLY(sbv) // tl31_priceUnlock = " bPrice1:" // tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) // tl31_priceUnlock += ", bPrice2:" // tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) ELIF IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(sbv) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) ELIF (iWVMIndex != -1) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) ELIF (iWAMIndex > 0) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) ELIF (iFDSIndex != -1) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) ELIF (iBBSIndex != -1) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) ELIF (iAWSIndex != -1) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) #IF FEATURE_CASINO_HEIST ELIF (iCHIndex != -1) #IF FEATURE_COPS_N_CROOKS OR (iCNCIndex != -1) #ENDIF // #IF FEATURE_SUMMER_2020 // OR (iSUMIndex != -1) // #ENDIF OR (iIHIndex != -1) OR (iTunerIndex != -1) OR (iFixerIndex != -1) #IF FEATURE_DLC_1_2022 OR (iSum2Index != -1) #ENDIF tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) ELIF (sbv = BV_CH_MINITANK) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) #ENDIF ELIF (sbv = BV_AW_RCBANDITO) tl31_priceUnlock = " bPrice1:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice1unlocked) tl31_priceUnlock += ", bPrice2:" tl31_priceUnlock += GET_STRING_FROM_BOOL(bPrice2unlocked) ENDIF CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), tl31_price, " iReductionType: ", tl31_reductionType, tl31_saleprice, PICK_STRING(GET_CACHED_CLOTHING_FOR_VEHICLE_PURCHASE(sbv), ", clothing for veh", ""), PICK_STRING(GET_CACHED_CLOTHING_FOR_VEHICLE_WEBSITE_PURCHASE(site), ", clothing for site", ""), PICK_STRING(GET_CACHED_CHIPS_FOR_VEHICLE_PURCHASE(sbv), ", chips for veh", ""), tl31_priceUnlock) #ENDIF IF bLockedForWebsite // Set unlock rank BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_RANKS") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iRank) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(GET_PLAYER_RANK(PLAYER_ID())) END_SCALEFORM_MOVIE_METHOD() ELSE BEGIN_SCALEFORM_MOVIE_METHOD(mov, "SET_RANKS") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(GET_PLAYER_RANK(PLAYER_ID())) END_SCALEFORM_MOVIE_METHOD() ENDIF IF sbv = BV_DLC_BIG_YACHT AND i = 18 // INT iYachtFlag = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FLAG) // STRING sYachtName = GET_MP_STRING_CHARACTER_STAT(MP_STAT_YACHT_NAME) // INT iYachtColour = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_COLOR) // INT iYachtLighting = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_LIGHTING) // INT iYachtMod = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_MOD) // INT iYachtFixture = GET_PACKED_STAT_INT(PACKED_MP_CHAR_YACHT_FIXTURE) INT iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_BIG_YACHT) BOOL bOwnYacht = FALSE IF IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) OR (USE_SERVER_TRANSACTIONS() AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_YACHT_MODEL_0) != 0) bOwnYacht = TRUE ENDIF SCALEFORM_MOVIE_METHOD_ADD_YACHT_DATA(mov, i, bOwnYacht, g_sYachtDataStruct, iPrice, "UPDATE") CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: yacht index: ", i ," iFlag: ", g_sYachtDataStruct.iFlag, " tl63Name: \"", g_sYachtDataStruct.tl63Name, "\" iColour: ", g_sYachtDataStruct.iColour, " iLighting: ", g_sYachtDataStruct.iLighting, " iMod: ", g_sYachtDataStruct.iMod) ENDIF IF sbv = BV_DLC_BIG_TRUCK AND i = 51 INT iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_BIG_TRUCK) BOOL bOwnTruck = FALSE IF IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) OR (USE_SERVER_TRANSACTIONS() AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_TRUCK_MODEL_0) != 0) bOwnTruck = TRUE ENDIF SCALEFORM_MOVIE_METHOD_ADD_TRUCK_DATA(mov, bOwnTruck) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: truck index: ", i, " iCab: ", g_sTruckDataStruct.iCab, " iSection1: ", g_sTruckDataStruct.iSection1, " iSection2: ", g_sTruckDataStruct.iSection2, " iSection3: ", g_sTruckDataStruct.iSection3, " iColour: ", g_sTruckDataStruct.iColour) ENDIF IF sbv = BV_DLC_BIG_PLANE AND i = 83 INT iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_BIG_PLANE) BOOL bOwnPlane = FALSE IF IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) OR (USE_SERVER_TRANSACTIONS() AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_PLANE_MODEL_0) != 0) bOwnPlane = TRUE ENDIF SCALEFORM_MOVIE_METHOD_ADD_PLANE_DATA(mov, bOwnPlane) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: plane index: ", i, " iGunTurret: ", g_sPlaneDataStruct.iGunTurret, " iVehShop: ", g_sPlaneDataStruct.iVehShop, " iWeaShop: ", g_sPlaneDataStruct.iWeaShop, " iInterior: ", g_sPlaneDataStruct.iInterior, " iAvenger: ", g_sPlaneDataStruct.iAvenger) ENDIF IF sbv = BV_DLC_HACKER_TRUCK AND i = 101 AND HAS_MP_HACKER_TRUCK_ACCESS() INT iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_DLC_HACKER_TRUCK) BOOL bOwnHackerTruck = FALSE IF IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) OR (USE_SERVER_TRANSACTIONS() AND GET_MP_INT_CHARACTER_STAT(MP_STAT_INV_HACKERTRUCK_MODEL_0) != 0) bOwnHackerTruck = TRUE ENDIF SCALEFORM_MOVIE_METHOD_ADD_HACKER_TRUCK_DATA(mov, bOwnHackerTruck) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: hacker truck index: ", i, " iCab: ", g_sHackerTruckDataStruct.iCab, " iDecal: ", g_sHackerTruckDataStruct.iDecal, " iTint: ", g_sHackerTruckDataStruct.iTint) CPRINTLN(DEBUG_INTERNET, " iMissileLauncher: ", g_sHackerTruckDataStruct.iMissileLauncher, " iDroneStation: ", g_sHackerTruckDataStruct.iDroneStation, " iWeaShop: ", g_sHackerTruckDataStruct.iWeaShop, " iVehShop: ", g_sHackerTruckDataStruct.iVehShop) ENDIF #IF FEATURE_HEIST_ISLAND IF sbv = BV_IH_KOSATKA AND i = 138 INT iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(BV_IH_KOSATKA) BOOL bOwnKosatka = FALSE IF IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) OR (USE_SERVER_TRANSACTIONS() AND GET_MP_INT_CHARACTER_STAT(MP_STAT_IH_SUB_OWNED) != 0) bOwnKosatka = TRUE ENDIF SCALEFORM_MOVIE_METHOD_ADD_KOSATKA_DATA(mov, bOwnKosatka) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: kosatka index: ", i, " iOwned: ", g_sKosatkaDataStruct.iOwned, " iColour: ", g_sKosatkaDataStruct.iColour, " iFlag: ", g_sKosatkaDataStruct.iFlag) CPRINTLN(DEBUG_INTERNET, " iMissiles: ", g_sKosatkaDataStruct.iMissiles, " iSonar: ", g_sKosatkaDataStruct.iSonar, " iWeaShop: ", g_sKosatkaDataStruct.iWeaShop, " iSeaSparrow2: ", g_sKosatkaDataStruct.iSeaSparrow2, " iAvisa: ", g_sKosatkaDataStruct.iAvisa) ENDIF #ENDIF IF sbv = BV_BB_BLIMP3 AND i = 35 SCALEFORM_MOVIE_METHOD_ADD_BLIMP3_DATA(mov) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: blimp3 index: ", i) ENDIF IF sbv = BV_BB_PBUS2 AND i = 176 SCALEFORM_MOVIE_METHOD_ADD_PBUS2_DATA(mov) CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: pbus2 index: ", i) ENDIF ENDIF ENDIF ENDIF ELSE #IF IS_DEBUG_BUILD CDEBUG3LN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_MP: \"", GET_WEBSITE_FROM_INDEX(site), "\", index = ", i ," not valid for site ", GET_WEBSITE_FROM_INDEX(site)) #ENDIF ENDIF ENDREPEAT CPRINTLN(DEBUG_INTERNET, "") BEGIN_SCALEFORM_MOVIE_METHOD(mov, "UPDATE_TEXT") END_SCALEFORM_MOVIE_METHOD() ENDPROC /// PURPOSE: /// Sets vehicle price to the scaleform for singleplayer PROC UPDATE_VEHICLE_SITE_PRICES_SP(SCALEFORM_INDEX &thisMov, WEBSITE_INDEX_ENUM site) INT i, iPrice, iCount // Southern Super Autos has a lot more motors! // Update for sites with different numbers of vehicles IF site = WWW_LEGENDARYMOTORSPORT_NET iCount = NUM_PAGES_LEGENDARYMOTORSPORT_NET ELIF site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM iCount = NUM_PAGES_SOUTHERNSANANDREASSUPERAUTOS_COM ELIF site = WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM iCount = NUM_PAGES_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM ELIF site = WWW_ELITASTRAVEL_COM iCount = NUM_PAGES_ELITASTRAVEL_COM ELIF site = WWW_DOCKTEASE_COM iCount = NUM_PAGES_DOCKTEASE_COM ELIF site = WWW_PANDMCYCLES_COM iCount = NUM_PAGES_PANDMCYCLES_COM ELIF site = WWW_BENNYSORIGINALMOTORWORKS_COM iCount = NUM_PAGES_BENNYSORIGINALMOTORWORKS_COM ELIF site = WWW_ARENAWAR_TV iCount = NUM_PAGES_ARENA_COM ELSE iCount = 9 ENDIF CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: repeat for ", iCount, ", site ", GET_WEBSITE_FROM_INDEX(site)) REPEAT iCount i IF IS_INDEX_VALID_FOR_VEH_SITE(site, i) INT page = i+3 SITE_BUYABLE_VEHICLE sbv = GET_VEHICLE_FROM_SITE_AND_PAGE_ID(site, page) #IF IS_DEBUG_BUILD IF IS_ERROR_PAGE_FOR_VEHICLE_SITE(site, page) CASSERTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Page index ", page, " [site:", GET_WEBSITE_FROM_INDEX(site), ", sbv:", sbv, "] reported as error page for site, returning unset") ELIF IS_CONFIRM_PAGE_FOR_VEHICLE_SITE(site, page) CASSERTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Page index ", page, " [site:", GET_WEBSITE_FROM_INDEX(site), ", sbv:", sbv, "] reported as confirm page for site, returning unset") ENDIF #ENDIF BOOL iAlternateVeh = IS_SBV_AN_ALTERNATE_VEHICLE(sbv, site, g_eLastBuyableVehicleColourSelected) iPrice = GET_BUYABLE_VEHICLE_PRICE_SP(sbv, site, iAlternateVeh) //do SP price override for trev chopper IF sbv = BV_P_FROGGER IF NOT GET_HAS_VEHICLE_BEEN_BOUGHT_FROM_WEBSITE(BV_P_FROGGER ,CHAR_TREVOR) iPrice = -1 ENDIF ENDIF //dont set a price for vacca in SSSA (#2088471) IF sbv = BV_C_VACCA IF site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM iPrice = -1 ENDIF ENDIF // Set website price IF sbv != UNSET_BUYABLE_VEHICLE // Tell scaleform to display only the pack name for locked DLC vehicles - do this now to avoid doing pointless maths on a value of -3 or 0 IF iPrice = -3 BEGIN_SCALEFORM_MOVIE_METHOD(thisMov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-3) END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Vehicle Index = ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is locked DLC for current player") #ENDIF // Set 0 for locked DLC vehicles so they show as out of stock - do this now to avoid doing pointless maths on a value of -2 or 0 ELIF iPrice = -2 BEGIN_SCALEFORM_MOVIE_METHOD(thisMov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Vehicle Index = ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is not available (out of stock) for current player") #ENDIF // Don't show unavailable vehicles - do this now to avoid doing pointless maths on a value of -1 ELIF iPrice = -1 BEGIN_SCALEFORM_MOVIE_METHOD(thisMov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPrice) END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Vehicle Index = ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), " is hidden for current player") #ENDIF // ELIF iPrice = 0 BEGIN_SCALEFORM_MOVIE_METHOD(thisMov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("ITEM_FREE") END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Vehicle Index = ", i ," ", GET_LABEL_BUYABLE_VEHICLE(sbv), " Price = FREE ") #ENDIF // ELSE BOOL bAddSecondPrice = FALSE IF sbv = BV_DLC_SWIFT bAddSecondPrice = TRUE ENDIF BEGIN_SCALEFORM_MOVIE_METHOD(thisMov, "SET_PRICES") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(page) IF NOT bAddSecondPrice SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iPrice) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) ELSE SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(GET_BUYABLE_VEHICLE_PRICE_SP(sbv, site, FALSE, TRUE)) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(GET_BUYABLE_VEHICLE_PRICE_SP(sbv, site, TRUE, TRUE)) ENDIF SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) //reduction type #2670798 SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) END_SCALEFORM_MOVIE_METHOD() #IF IS_DEBUG_BUILD IF NOT bAddSecondPrice CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Vehicle Index = ", i ," \"", GET_LABEL_BUYABLE_VEHICLE(sbv), "\" $", iPrice) ELSE CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Vehicle Index = ", i ," \"", GET_LABEL_BUYABLE_VEHICLE(sbv), "\" $", GET_BUYABLE_VEHICLE_PRICE_SP(sbv, site, TRUE, TRUE), " or ", GET_BUYABLE_VEHICLE_PRICE_SP(sbv, site, FALSE, TRUE)) ENDIF #ENDIF ENDIF ELSE #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_INTERNET, "UPDATE_VEHICLE_SITE_PRICES_SP: Invalid vehicle Index = ", i ," \"", GET_LABEL_BUYABLE_VEHICLE(sbv), "\" Price = INVALID") #ENDIF ENDIF ENDIF ENDREPEAT CPRINTLN(DEBUG_INTERNET, "") BEGIN_SCALEFORM_MOVIE_METHOD(thisMov, "UPDATE_TEXT") END_SCALEFORM_MOVIE_METHOD() ENDPROC /// PURPOSE: /// Send email when purchasing a vehicle PROC SEND_SITE_VEHICLE_CONFIRMATION_MAIL(WEBSITE_INDEX_ENUM forpage, SITE_BUYABLE_VEHICLE veh, enumCharacterList tochar = NO_CHARACTER) DYNAMIC_EMAIL_THREAD_NAMES targetthread EMAIL_MESSAGE_ENUMS targetemail//must have a single substring slot enumCharacterList cchar = GET_CURRENT_PLAYER_PED_ENUM() IF tochar != NO_CHARACTER cchar = tochar ENDIF STRING substring = GET_LABEL_BUYABLE_VEHICLE(veh) SWITCH forpage // Cars - Legendary Motorsport CASE WWW_LEGENDARYMOTORSPORT_NET targetthread = DYNAMIC_THREAD_CAR_BUY SWITCH cchar CASE CHAR_MICHAEL targetemail = EMAIL_CAR_MIKE BREAK CASE CHAR_TREVOR targetemail = EMAIL_CAR_TREVOR BREAK CASE CHAR_FRANKLIN targetemail = EMAIL_CAR_FRANKLIN BREAK ENDSWITCH BREAK // Planes CASE WWW_ELITASTRAVEL_COM targetthread = DYNAMIC_THREAD_PLANE_BUY IF veh = BV_P_FROGGER OR veh = BV_P_MAVERICK OR veh = BV_DLC_SWIFT OR veh = BV_LX_SWIFT2 SWITCH cchar CASE CHAR_MICHAEL targetemail = EMAIL_HELI_MICHAEL BREAK CASE CHAR_TREVOR targetemail = EMAIL_HELI_TREVOR BREAK CASE CHAR_FRANKLIN targetemail = EMAIL_HELI_FRANK BREAK ENDSWITCH ELSE SWITCH cchar CASE CHAR_MICHAEL targetemail = EMAIL_PLANE_MIKE BREAK CASE CHAR_TREVOR targetemail = EMAIL_PLANE_TREVOR BREAK CASE CHAR_FRANKLIN targetemail = EMAIL_PLANE_FRANK BREAK ENDSWITCH ENDIF BREAK // Military CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM targetthread = DYNAMIC_THREAD_MILITARY_BUY SWITCH cchar CASE CHAR_MICHAEL targetemail = EMAIL_MILITARY_MIKE BREAK CASE CHAR_TREVOR targetemail = EMAIL_MILITARY_TREVOR BREAK CASE CHAR_FRANKLIN targetemail = EMAIL_MILITARY_FRANK BREAK ENDSWITCH BREAK // Boats CASE WWW_DOCKTEASE_COM targetthread = DYNAMIC_THREAD_BOAT_BUY SWITCH cchar CASE CHAR_MICHAEL targetemail = EMAIL_BOAT_MIKE BREAK CASE CHAR_TREVOR targetemail = EMAIL_BOAT_TREVOR BREAK CASE CHAR_FRANKLIN targetemail = EMAIL_BOAT_FRANK BREAK ENDSWITCH BREAK // Bikes CASE WWW_PANDMCYCLES_COM targetthread = DYNAMIC_THREAD_BIKE_BUY SWITCH cchar CASE CHAR_MICHAEL targetemail = EMAIL_BIKE_MICHAEL BREAK CASE CHAR_TREVOR targetemail = EMAIL_BIKE_TREVOR BREAK CASE CHAR_FRANKLIN targetemail = EMAIL_BIKE_FRANKLIN BREAK ENDSWITCH BREAK // Cars - San Andreas Super Autos CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM targetthread = DYNAMIC_THREAD_AUTO_BUY SWITCH cchar CASE CHAR_MICHAEL targetemail = EMAIL_AUTO_MICHAEL BREAK CASE CHAR_TREVOR targetemail = EMAIL_AUTO_TREVOR BREAK CASE CHAR_FRANKLIN targetemail = EMAIL_AUTO_FRANKLIN BREAK ENDSWITCH BREAK DEFAULT CPRINTLN(DEBUG_INTERNET, "SEND_SITE_VEHICLE_CONFIRMATION_MAIL: undefined site id: ", GET_WEBSITE_FROM_INDEX(forpage), " [forpage: ", forpage, ", veh: \"", substring, "\"]") #IF IS_DEBUG_BUILD IF forpage != WWW_NOT_EXIST STRING sWebpageFromIndex sWebpageFromIndex = GET_WEBSITE_FROM_INDEX(forpage) CASSERTLN(DEBUG_INTERNET, "SEND_SITE_VEHICLE_CONFIRMATION_MAIL: undefined site id: ", sWebpageFromIndex, " [veh: \"", substring, "\"]") ENDIF #ENDIF #IF NOT IS_DEBUG_BUILD CASSERTLN(DEBUG_INTERNET, "SEND_SITE_VEHICLE_CONFIRMATION_MAIL: undefined site id: ", forpage, " [veh: \"", substring, "\"]") #ENDIF EXIT BREAK ENDSWITCH CPRINTLN(DEBUG_INTERNET, "Sending confirmation email with substring : ", substring) IF FIRE_EMAIL_INTO_DYNAMIC_THREAD(targetthread,targetemail,TRUE) ADD_CONTENT_FOR_DYNAMIC_THREAD_SUBSTRING(targetthread,substring) PUSH_FEEDIFICATION_OF_DYNAMIC_THREAD(targetthread) RELEASE_DYNAMIC_THREAD_HOLD_ON_BUFFER(targetthread)//because this is a throwaway mail ELSE //failed to make dynamic thread for this notification CASSERTLN(DEBUG_INTERNET, "SEND_SITE_VEHICLE_CONFIRMATION_MAIL: Failed to make sold notification") ENDIF /* // Old version REGISTER_EMAIL_FROM_CHARACTER_TO_PLAYER IF FIRE_EMAIL_INTO_DYNAMIC_THREAD(targetthread,targetemail,TRUE) ADD_CONTENT_FOR_DYNAMIC_THREAD_SUBSTRING(targetthread,substring) PUSH_FEEDIFICATION_OF_DYNAMIC_THREAD(targetthread) RELEASE_DYNAMIC_THREAD_HOLD_ON_BUFFER(targetthread)//because this is a throwaway mail ELSE //failed to make dynamic thread for this notification CASSERTLN(DEBUG_INTERNET, "SEND_SITE_VEHICLE_CONFIRMATION_MAIL: failed to make sold notification") ENDIF ASSIGN_BUFFER_TO_DYNAMIC_EMAIL_THREAD(DYNAMIC_THREAD_EPSILON_DONATE) IF PRIME_EMAIL_FOR_FIRING_INTO_DYNAMIC_THREAD_IN_HOURS(DYNAMIC_THREAD_EPSILON_DONATE, CULTDONATE5000, 1) CPRINTLN(DEBUG_MISSION, "PRIME EMAIL RETURNED TRUE") ELSE CPRINTLN(DEBUG_MISSION, "PRIME EMAIL RETURNED FALSE") ENDIF IF OVERRIDE_CONTENT_FOR_PENDING_DYNAMIC_EMAIL(DYNAMIC_THREAD_EPSILON_DONATE,CULTDONATE5000, "EPS_EMAIL5K") CPRINTLN(DEBUG_MISSION, "OVERRIDE_CONTENT RETURNED TRUE") ELSE CPRINTLN(DEBUG_MISSION, "OVERRIDE_CONTENT RETURNED FALSE") ENDIF RELEASE_DYNAMIC_THREAD_HOLD_ON_BUFFER(DYNAMIC_THREAD_EPSILON_DONATE) CPRINTLN(DEBUG_INTERNET, "Sending confirmation email with substring : ", substring) ASSIGN_BUFFER_TO_DYNAMIC_EMAIL_THREAD(targetthread) INT iprime =PRIME_EMAIL_FOR_FIRING_INTO_DYNAMIC_THREAD_IN_HOURS(targetthread, targetemail, 1) IF iprime != 0 //OVERRIDE_CONTENT_FOR_PENDING_DYNAMIC_EMAIL(targetthread,targetemail, substring) ADD_CONTENT_FOR_FOR_PENDING_DYNAMIC_EMAIL_SUBSTRING(iprime,targetthread,targetemail, substring) ELSE //couldn't do delayed send, purge //RELEASE_DYNAMIC_THREAD_HOLD_ON_BUFFER(DYNAMIC_THREAD_EPSILON_DONATE) //try immediate send IF FIRE_EMAIL_INTO_DYNAMIC_THREAD(targetthread,targetemail,TRUE) ADD_CONTENT_FOR_DYNAMIC_THREAD_SUBSTRING(targetthread,substring) PUSH_FEEDIFICATION_OF_DYNAMIC_THREAD(targetthread) RELEASE_DYNAMIC_THREAD_HOLD_ON_BUFFER(targetthread)//because this is a throwaway mail ELSE //failed to make dynamic thread for this notification CASSERTLN(DEBUG_INTERNET, "SEND_SITE_VEHICLE_CONFIRMATION_MAIL: failed to make sold notification") ENDIF ENDIF IF FIRE_EMAIL_INTO_DYNAMIC_THREAD(targetthread,targetemail,TRUE) ADD_CONTENT_FOR_DYNAMIC_THREAD_SUBSTRING(targetthread,substring) PUSH_FEEDIFICATION_OF_DYNAMIC_THREAD(targetthread) RELEASE_DYNAMIC_THREAD_HOLD_ON_BUFFER(targetthread)//because this is a throwaway mail ELSE //failed to make dynamic thread for this notification CASSERTLN(DEBUG_INTERNET, "SEND_SITE_VEHICLE_CONFIRMATION_MAIL: failed to make sold notification") ENDIF */ ENDPROC /// PURPOSE: /// Modifies share prices when purchasing a vehicle PROC VEHICLE_BOUGHT_STOCK_MOD_UPDATE(SITE_BUYABLE_VEHICLE veh) MODEL_NAMES mn = GET_MODEL_FOR_BUYABLE_VEHICLE(veh) BAWSAQ_INTERNAL_CAR_COMPANIES bicc = GET_MAKE_OF_VEHICLE(mn) SWITCH bicc CASE BSICC_HVY BAWSAQ_INCREMENT_MODIFIER(BSMF_SM_VECBUY_FOR_HVY) EXIT CASE BSICC_UMA BAWSAQ_INCREMENT_MODIFIER(BSMF_SM_VECBUY_FOR_UMA) EXIT CASE BSICC_MAI BAWSAQ_INCREMENT_MODIFIER(BSMF_SM_VECBUY_FOR_MAI) EXIT CASE BSICC_BRU BAWSAQ_INCREMENT_MODIFIER(BSMF_SM_VECBUY_FOR_BRU) EXIT CASE BSICC_VAP BAWSAQ_INCREMENT_MODIFIER(BSMF_SM_VECBUY_FOR_VAP) EXIT CASE BSICC_BFA BAWSAQ_INCREMENT_MODIFIER(BSMF_SM_VECBUY_FOR_BFA) EXIT CASE BSICC_HJK BAWSAQ_INCREMENT_MODIFIER(BSMF_SM_VECBUY_FOR_HJK) EXIT CASE BSICC_SHT BAWSAQ_INCREMENT_MODIFIER(BSMF_SM_VECBUY_FOR_SHT) EXIT ENDSWITCH ENDPROC /// PURPOSE: /// Informs the System Activity when purchasing a vehicle PROC REQUEST_SYSTEM_ACTIVITY_TYPE_PURCHASED_VEHICLE_ONLINE(SITE_BUYABLE_VEHICLE sbv) SWITCH sbv CASE BV_A_RHINO REQUEST_SYSTEM_ACTIVITY_TYPE_PURCHASED_RHINO_ONLINE() BREAK CASE BV_A_BUZZARD REQUEST_SYSTEM_ACTIVITY_TYPE_PURCHASED_BUZZARD_ONLINE() BREAK DEFAULT MODEL_NAMES mn mn = GET_MODEL_FOR_BUYABLE_VEHICLE(sbv) IF IS_THIS_MODEL_A_CAR(mn) REQUEST_SYSTEM_ACTIVITY_TYPE_PURCHASED_CAR_ONLINE() ENDIF BREAK ENDSWITCH ENDPROC /// PURPOSE: /// Note for Kenneth, fill this out and then call the commented function when you want to fire the email PROC UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(enumCharacterList ePed, VEHICLE_GEN_NAME_ENUM paramVehGen, WEBSITE_INDEX_ENUM paramSiteID, SITE_BUYABLE_VEHICLE paramSiteVeh, VEHICLE_SETUP_STRUCT_MP &VehicleSetupMP) IF IS_PLAYER_PED_PLAYABLE(ePed) CPRINTLN(DEBUG_INTERNET, "UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA: ", GET_PLAYER_PED_STRING(ePed), ", \"", GET_VEHICLE_GEN_DISPLAY_STRING_FROM_VEHICLEGEN_ID(paramVehGen), "\", ", GET_WEBSITE_FROM_INDEX(paramSiteID), ", ", GET_LABEL_BUYABLE_VEHICLE(paramSiteVeh)) g_savedGlobals.sVehicleGenData.sWebVehicles[ePed].iSiteID[paramSiteVeh] = ENUM_TO_INT(paramSiteID) g_savedGlobals.sVehicleGenData.sWebVehicles[ePed].eVehGen[paramSiteVeh] = paramVehGen IF paramSiteID = INVALID_WEBSITE_INDEX BOOL bUpdateVehicle = TRUE // -1 means we got this vehicle from the flow - currently only the frogger2 for Trevor. // We only want to update the dynamic data if we dont have anything in the slot // otherwise we will be overwriting the players stored vehicle. IF IS_VEHICLE_GEN_AVAILABLE(paramVehGen) IF GET_VEHICLE_GEN_DATA(g_sVehicleGenNSData.sRuntimeStruct[0], paramVehGen) AND g_sVehicleGenNSData.sRuntimeStruct[0].model != DUMMY_MODEL_FOR_SCRIPT bUpdateVehicle = FALSE ENDIF ENDIF IF bUpdateVehicle RESET_VEHICLE_SETUP_STRUCT(VehicleSetupMP.VehicleSetup) CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE(paramSiteVeh, VehicleSetupMP, FALSE, ePed) SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_KEEP_DEFAULT_EXTRAS) UPDATE_DYNAMIC_VEHICLE_GEN_DATA(paramVehGen, VehicleSetupMP.VehicleSetup, <<0,0,0>>, -1) CPRINTLN(DEBUG_INTERNET, "UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA - no need to email.") ELSE CPRINTLN(DEBUG_INTERNET, "UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA - can't update vehicle gen as another vehicle exists here.") ENDIF ELSE INT ranSecs = GET_RANDOM_INT_IN_RANGE(0, 60) INT ranMins = GET_RANDOM_INT_IN_RANGE(0, 60) TIMEOFDAY todEmail = GET_CURRENT_TIMEOFDAY() IF paramVehGen = VEHGEN_WEB_CAR_MICHAEL OR paramVehGen = VEHGEN_WEB_CAR_FRANKLIN OR paramVehGen = VEHGEN_WEB_CAR_TREVOR OR paramVehGen = VEHGEN_MICHAEL_GARAGE_1 OR paramVehGen = VEHGEN_MICHAEL_GARAGE_2 OR paramVehGen = VEHGEN_MICHAEL_GARAGE_3 OR paramVehGen = VEHGEN_FRANKLIN_GARAGE_1 OR paramVehGen = VEHGEN_FRANKLIN_GARAGE_2 OR paramVehGen = VEHGEN_FRANKLIN_GARAGE_3 OR paramVehGen = VEHGEN_TREVOR_GARAGE_1 OR paramVehGen = VEHGEN_TREVOR_GARAGE_2 OR paramVehGen = VEHGEN_TREVOR_GARAGE_3 // Garage vehicles are now delivered instantly. RESET_VEHICLE_SETUP_STRUCT(VehicleSetupMP.VehicleSetup) CONFIGURE_STRUCT_FOR_BUYABLE_VEHICLE(paramSiteVeh, VehicleSetupMP, FALSE, ePed) SET_BIT(VehicleSetupMP.VehicleSetup.iFlags, VEHICLE_SETUP_FLAG_KEEP_DEFAULT_EXTRAS) UPDATE_DYNAMIC_VEHICLE_GEN_DATA(paramVehGen, VehicleSetupMP.VehicleSetup, <<0,0,0>>, -1) // Allow player to re-buy CLEAR_BIT(g_savedGlobals.sBuyableVehicleSavedData.g_bOwnedVehicleStates[paramSiteVeh], ENUM_TO_INT(ePed)) ELSE ADD_TIME_TO_TIMEOFDAY(todEmail, ranSecs, ranMins, 5, 0, 0, 0) ENDIF g_savedGlobals.sVehicleGenData.sWebVehicles[ePed].todEmailDate[paramSiteVeh] = todEmail CPRINTLN(DEBUG_INTERNET, "UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA - Sending email in 5 hours, ", ranMins, " minutes and ", ranSecs," seconds!") ENDIF ENDIF ENDPROC /// PURPOSE: /// This is the singleplayer vehicle site buy binding PROC DO_SP_VEHICLE_BUY(SITE_BUYABLE_VEHICLE veh, enumCharacterList ePed, VEHICLE_SETUP_STRUCT &vss, WEBSITE_INDEX_ENUM siteid = -1)//if site id is -1 then don't prime email IF siteid != INVALID_WEBSITE_INDEX REGISTER_SCRIPT_IN_COMPLETION_PERCENTAGE_TOTAL(CP_BUYVEH) ENDIF // Work out player character INT p = ENUM_TO_INT(ePed) IF p < 0 OR p > 2 EXIT ENDIF // Store vehicle for ped SET_BIT(g_savedGlobals.sBuyableVehicleSavedData.g_bOwnedVehicleStates[veh], p) CPRINTLN(DEBUG_INTERNET, "DO_SP_VEHICLE_BUY(", GET_LABEL_BUYABLE_VEHICLE(veh), ", ", GET_PLAYER_PED_STRING(ePed), ", ", GET_WEBSITE_FROM_INDEX(siteid), ", ", GET_STRING_FROM_SITE_BUYABLE_VEHICLE_COLOURS(veh, g_eLastBuyableVehicleColourSelected), ")") // Assign colour to character's vehicle IF ePed = CHAR_MICHAEL g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursM[veh] = g_eLastBuyableVehicleColourSelected ELIF ePed = CHAR_FRANKLIN g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursF[veh] = g_eLastBuyableVehicleColourSelected ELSE ePed = CHAR_TREVOR g_savedGlobals.sBuyableVehicleSavedData.g_eOwnedVehicleColoursT[veh] = g_eLastBuyableVehicleColourSelected ENDIF // Do stock market modifier update VEHICLE_BOUGHT_STOCK_MOD_UPDATE(veh) // // // REQUEST_SYSTEM_ACTIVITY_TYPE_PURCHASED_VEHICLE_ONLINE(veh) VEHICLE_SETUP_STRUCT_MP VehicleSetupMP VehicleSetupMP.VehicleSetup = vss // Turn the vehicle gen on SWITCH veh // Cars - Legendary Motorsport CASE BV_C_ZTYPE CASE BV_C_STINGER CASE BV_C_JB700 CASE BV_C_CHEETAH CASE BV_C_ENTITYXF CASE BV_C_VENEM CASE BV_C_MONROE CASE BV_C_COGCABRIO // CASE BV_C_VELOCE // VELOCE is VACCA - don't use this enum // Cars - Southern San Andreas Super Autos! CASE BV_C_SCHWARZER CASE BV_C_ZION CASE BV_C_GAUNTLET CASE BV_C_VIGERO CASE BV_C_ISSI2 CASE BV_C_INFERNUS CASE BV_C_SURANO CASE BV_C_VACCA CASE BV_C_NINEF CASE BV_C_COMET2 CASE BV_C_BANSHEE CASE BV_C_FELTZER2 CASE BV_C_BFINJECTION CASE BV_C_SANDKING CASE BV_C_FUGITIVE CASE BV_C_DILETTANTE CASE BV_C_SUPERD CASE BV_C_EXEMPLAR CASE BV_C_BALLER2 CASE BV_C_CAVALCADE CASE BV_C_ROCOTO CASE BV_C_FELON CASE BV_C_ORACLE2 CASE BV_C_BATI CASE BV_C_AKUMA CASE BV_C_RUFFIAN CASE BV_C_VADER CASE BV_C_BLAZER CASE BV_C_PCJ CASE BV_C_SANCHEZ CASE BV_C_FAGGIO2 CASE BV_MP_ASEA CASE BV_MP_BISON CASE BV_MP_BODHI2 CASE BV_MP_DOMINATOR CASE BV_MP_F620 CASE BV_MP_FUSILADE CASE BV_MP_GRANGER CASE BV_MP_INGOT CASE BV_MP_INTRUDER CASE BV_MP_MINIVAN CASE BV_MP_PENUMBRA CASE BV_MP_RANCHERXL CASE BV_MP_RATLOADER CASE BV_MP_REBEL CASE BV_MP_REBEL2 CASE BV_MP_SADLER CASE BV_MP_SANDKINGSWB CASE BV_MP_SENTINEL2 CASE BV_MP_ZION2 CASE BV_DLC_BIFTA CASE BV_DLC_BLADE CASE BV_DLC_GLENDALE CASE BV_DLC_KALAHARI CASE BV_DLC_PANTO CASE BV_DLC_PARADISE CASE BV_DLC_PIGALLE CASE BV_DLC_RHAPSODY CASE BV_DLC_WARRENER CASE BV_DLC_INNOVATION CASE BV_DLC_HAKUCHOU CASE BV_DLC_FUROREGT CASE BV_DLC_KALAHARI_TOPLESS CASE BV_MP_SOVEREIGN #IF IS_NEXTGEN_BUILD CASE BV_NG_BLISTA2 CASE BV_NG_DUKES CASE BV_NG_DUKES2 CASE BV_NG_STALION CASE BV_NG_STALION2 CASE BV_NG_DOMINATOR2 CASE BV_NG_GAUNTLET2 CASE BV_NG_BUFFALO3 #ENDIF CASE BV_DLC_DUBSTA3 CASE BV_CE_HOTKNIFE CASE BV_CE_CARBONRS CASE BV_DLC_TURISMO CASE BV_DLC_ZENTORNO CASE BV_MP_COQUETTE2 CASE BV_MP_COQUETTE2_TOPLESS CASE BV_DLC_SLAMVAN CASE BV_DLC_RATLOADER2 CASE BV_DLC_JESTER2 CASE BV_DLC_MASSACRO2 CASE BV_LX_FELTZER3 CASE BV_LX_OSIRIS CASE BV_LX_VIRGO CASE BV_LX_WINDSOR CASE BV_L2_BRAWLER CASE BV_L2_CHINO CASE BV_L2_COQUETTE3 CASE BV_L2_T20 CASE BV_L2_VINDICATOR // Bought any car - B*1403935 PRESENCE_EVENT_UPDATESTAT_INT (SP0_CROUCHED, 10) SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_MICHAEL), siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_FRANKLIN), siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_TREVOR), siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK // Planes CASE BV_P_DODO CASE BV_P_SHAMAL CASE BV_P_STUNT CASE BV_P_CUBAN CASE BV_P_DUSTER CASE BV_P_LUXOR CASE BV_NG_DODO CASE BV_DLC_VESTRA CASE BV_DLC_MILJET CASE BV_DLC_BESRA CASE BV_LX_LUXOR2 CASE BV_EX_NIMBUS CASE BV_EX_VOLATUS SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_MICHAEL, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_FRANKLIN, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_TREVOR, siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK // Helicopters CASE BV_A_BUZZARD // Bought the Buzzard PRESENCE_EVENT_UPDATESTAT_INT (SP0_CROUCHED, 30) FALLTHRU CASE BV_P_FROGGER CASE BV_P_MAVERICK CASE BV_A_CARGOBOB CASE BV_DLC_SWIFT CASE BV_LX_SWIFT2 CASE BV_EX_CARGOBOB2 SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HELIPAD_MICHAEL, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HELIPAD_FRANKLIN, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HELIPAD_TREVOR_COUNTRY, siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK // Military CASE BV_A_RHINO //Bought the Rhino PRESENCE_EVENT_UPDATESTAT_INT (SP0_CROUCHED, 20) FALLTHRU CASE BV_A_TITAN CASE BV_A_BARRACKS CASE BV_A_CRUSADER CASE BV_NG_MARSHALL SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_MICHAEL, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_FRANKLIN, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_TREVOR, siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK // Boats CASE BV_B_MARINA CASE BV_B_MARQUIS CASE BV_B_JETMAX CASE BV_B_SPEEDER CASE BV_B_SQUALO CASE BV_B_SUNDECK CASE BV_B_TROPIC CASE BV_B_SEASHARK CASE BV_B_SUBMERSIBLE CASE BV_B_SUNTRAP CASE BV_NG_SUBMERSIBLE2 CASE BV_DLC_SPEEDER CASE BV_DLC_DINGHY3 CASE BV_L2_TORO CASE BV_DLC_BIG_YACHT CASE BV_EX_TUG #IF FEATURE_HEIST_ISLAND CASE BV_IH_LONGFIN CASE BV_IH_DINGHY5 #ENDIF SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_MARINA_MICHAEL, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_MARINA_FRANKLIN, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_MARINA_TREVOR, siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK // Bike CASE BV_C_BMX CASE BV_C_SCORCHER CASE BV_C_WHIPPET CASE BV_C_ENDUREX CASE BV_C_TRICYCLE CASE BV_C_CRUISER SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_MICHAEL), siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_FRANKLIN), siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_TREVOR), siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK DEFAULT #IF IS_DEBUG_BUILD CASSERTLN(DEBUG_INTERNET, "invalid DO_SP_VEHICLE_BUY(", GET_LABEL_BUYABLE_VEHICLE(veh), ", ", GET_PLAYER_PED_STRING(ePed), ", ", GET_WEBSITE_FROM_INDEX(siteid), ")") #ENDIF SWITCH GET_VEHICLE_STORAGE_TYPE(veh) CASE VST_GARAGE SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_MICHAEL), siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_FRANKLIN), siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, GET_FREE_VEHICLE_GEN_SLOT_IN_GARAGE(VEHGEN_WEB_CAR_TREVOR), siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK CASE VST_HANGAR SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_MICHAEL, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_FRANKLIN, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HANGAR_TREVOR, siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK CASE VST_MARINA SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_MARINA_MICHAEL, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_MARINA_FRANKLIN, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_MARINA_TREVOR, siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK CASE VST_HELI SWITCH ePed CASE CHAR_MICHAEL UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HELIPAD_MICHAEL, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_FRANKLIN UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HELIPAD_FRANKLIN, siteid, veh, VehicleSetupMP) BREAK CASE CHAR_TREVOR UPDATE_DYNAMIC_VEHICLE_GEN_EMAIL_DATA(ePed, VEHGEN_WEB_HELIPAD_TREVOR_COUNTRY, siteid, veh, VehicleSetupMP) BREAK ENDSWITCH BREAK ENDSWITCH BREAK ENDSWITCH ENDPROC FUNC BOOL IS_INDEX_VALID_FOR_VEH_COLOUR(WEBSITE_INDEX_ENUM site, INT lastSelectedIndex) UNUSED_PARAMETER(site) UNUSED_PARAMETER(lastSelectedIndex) // IF site = WWW_LEGENDARYMOTORSPORT_NET // IF lastSelectedIndex = 9 //BUY // RETURN FALSE // ENDIF // ELIF site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM // IF lastSelectedIndex = 16 //BUY // RETURN FALSE // ENDIF // ELIF site = WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM // // // ELIF site = WWW_ELITASTRAVEL_COM // // // ELIF site = WWW_DOCKTEASE_COM // // // ENDIF RETURN TRUE ENDFUNC PROC PICK_VEHICLE_COLOUR_FROM_BUTTON_INT(SITE_BUYABLE_VEHICLE sbv, WEBSITE_INDEX_ENUM site, INT lastSelectedIndex, BOOL &bBuyNow) bBuyNow = FALSE IF site = WWW_LEGENDARYMOTORSPORT_NET CDEBUG3LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") SWITCH lastSelectedIndex //details page CASE 8 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK CASE 9 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK CASE 10 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK CASE 11 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK CASE 12 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK CASE 13 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK CASE 14 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK CASE 15 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK //buy now page CASE 0 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK CASE 1 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK CASE 2 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK CASE 3 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK CASE 4 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK CASE 5 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK CASE 6 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK CASE 7 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH ELIF site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM CDEBUG3LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : vehicle colour int ", lastSelectedIndex, " for sbv \"", GET_LABEL_BUYABLE_VEHICLE(sbv), "\" site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") IF sbv = BV_ST_GARGOYLE SWITCH lastSelectedIndex //details page CASE 10 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK CASE 11 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK CASE 12 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK CASE 13 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK CASE 14 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK CASE 15 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK CASE 16 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK CASE 17 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK //buy now page CASE 2 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK CASE 3 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK CASE 4 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK CASE 5 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK CASE 6 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK CASE 7 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK CASE 8 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK CASE 9 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH ELSE SWITCH lastSelectedIndex //details page CASE 8 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK CASE 9 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK CASE 10 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK CASE 11 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK CASE 12 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK CASE 13 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK CASE 14 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK CASE 15 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK //buy now page CASE 0 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK CASE 1 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK CASE 2 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK CASE 3 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK CASE 4 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK CASE 5 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK CASE 6 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK CASE 7 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH #IF FEATURE_GEN9_EXCLUSIVE IF sbv = BV_G9E_S95 AND DOES_SAVE_HAVE_COUPON(COUPON_CAR_GEN9_MIGRATION) g_eLastBuyableVehicleColourSelected = BCV_COLOUR_39 CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : BV_G9E_S95 migration reward color: Dark Purple Pearl ") ENDIF #ENDIF ENDIF ELIF site = WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM CDEBUG3LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") SWITCH lastSelectedIndex //details page CASE 8 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK CASE 9 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK CASE 10 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK CASE 11 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK CASE 12 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK CASE 13 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK CASE 14 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK CASE 15 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH ELIF site = WWW_ELITASTRAVEL_COM SWITCH lastSelectedIndex //details page CASE 2 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK CASE 3 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK //buy now page CASE 0 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK CASE 1 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH ELIF site = WWW_DOCKTEASE_COM // CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") ELIF site = WWW_BENNYSORIGINALMOTORWORKS_COM SWITCH lastSelectedIndex //details page CASE 8 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK CASE 9 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK CASE 10 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK CASE 11 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK CASE 12 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK CASE 13 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK CASE 14 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK CASE 15 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK //buy now page CASE 0 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK CASE 1 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK CASE 2 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK CASE 3 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK CASE 4 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK CASE 5 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK CASE 6 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK CASE 7 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH ELIF site = WWW_ARENAWAR_TV SWITCH lastSelectedIndex //details page CASE 8 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK CASE 9 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK CASE 10 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK CASE 11 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK CASE 12 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK CASE 13 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK CASE 14 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK CASE 15 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK //buy now page CASE 0 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK CASE 1 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK CASE 2 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK CASE 3 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK CASE 4 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK CASE 5 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK CASE 6 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK CASE 7 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH ELSE //shouldnt be needed once all the sites are setup CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") ENDIF ENDPROC PROC PICK_VEHICLE_COUNTRY_FROM_BUTTON_INT(INT lastSelectedIndex, BOOL &bBuyNow) SWITCH lastSelectedIndex //details page CASE 25 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK //USA CASE 26 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK //AUS CASE 27 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK //BRA CASE 28 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK //SPA CASE 29 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK //CAN CASE 30 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK //FRA CASE 31 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK //GER CASE 32 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK //JAP CASE 33 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_1 bBuyNow = TRUE BREAK //SCO CASE 34 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_2 bBuyNow = TRUE BREAK //UK CASE 35 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_3 bBuyNow = TRUE BREAK //ITA CASE 36 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_4 bBuyNow = TRUE BREAK //SWI CASE 37 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_5 bBuyNow = TRUE BREAK //JAM CASE 38 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_6 bBuyNow = TRUE BREAK //COL CASE 39 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_7 bBuyNow = TRUE BREAK //NOR CASE 40 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_8 bBuyNow = TRUE BREAK //SWE CASE 41 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_9 bBuyNow = TRUE BREAK //BEL CASE 42 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_10 bBuyNow = TRUE BREAK //MEX CASE 43 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_11 bBuyNow = TRUE BREAK //AUT CASE 44 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_12 bBuyNow = TRUE BREAK //RUS CASE 45 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_13 bBuyNow = TRUE BREAK //ARG CASE 46 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_14 bBuyNow = TRUE BREAK //TUR CASE 47 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_15 bBuyNow = TRUE BREAK //IRE CASE 48 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_16 bBuyNow = TRUE BREAK //WAL CASE 49 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_17 bBuyNow = TRUE BREAK //ENG //buy now page CASE 0 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK //USA CASE 1 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK //AUS CASE 2 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK //BRA CASE 3 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK //SPA CASE 4 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK //CAN CASE 5 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK //FRA CASE 6 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK //GER CASE 7 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK //JAP CASE 8 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_1 bBuyNow = FALSE BREAK //SCO CASE 9 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_2 bBuyNow = FALSE BREAK //UK CASE 10 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_3 bBuyNow = FALSE BREAK //ITA CASE 11 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_4 bBuyNow = FALSE BREAK //SWI CASE 12 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_5 bBuyNow = FALSE BREAK //JAM CASE 13 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_6 bBuyNow = FALSE BREAK //COL CASE 14 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_7 bBuyNow = FALSE BREAK //NOR CASE 15 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_8 bBuyNow = FALSE BREAK //SWE CASE 16 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_9 bBuyNow = FALSE BREAK //BEL CASE 17 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_10 bBuyNow = FALSE BREAK //MEX CASE 18 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_11 bBuyNow = FALSE BREAK //AUT CASE 19 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_12 bBuyNow = FALSE BREAK //RUS CASE 20 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_13 bBuyNow = FALSE BREAK //ARG CASE 21 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_14 bBuyNow = FALSE BREAK //TUR CASE 22 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_15 bBuyNow = FALSE BREAK //IRE CASE 23 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_16 bBuyNow = FALSE BREAK //WAL CASE 24 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_17 bBuyNow = FALSE BREAK //ENG DEFAULT CWARNINGLN(DEBUG_INTERNET, "PICK_VEHICLE_COUNTRY_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " selected!") BREAK ENDSWITCH ENDPROC PROC PICK_VEHICLE_COLOUR_AND_ARMOUR_FROM_BUTTON_INT(WEBSITE_INDEX_ENUM site, INT lastSelectedIndex, BOOL &bBuyNow) CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_AND_ARMOUR_FROM_BUTTON_INT : vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") IF site = WWW_ARENAWAR_TV SWITCH lastSelectedIndex //details page // CASE 16 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK // CASE 17 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK // CASE 18 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK // CASE 19 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK // CASE 20 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK // CASE 21 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK // CASE 22 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK // CASE 23 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK CASE 1 g_bLastBuyableVehicleArmourSelected = FALSE bBuyNow = FALSE BREAK CASE 2 g_bLastBuyableVehicleArmourSelected = TRUE bBuyNow = FALSE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_AND_ARMOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH ELSE SWITCH lastSelectedIndex //details page CASE 16 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK CASE 17 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK CASE 18 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK CASE 19 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK CASE 20 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK CASE 21 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK CASE 22 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK CASE 23 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK CASE 24 g_bLastBuyableVehicleArmourSelected = FALSE bBuyNow = FALSE BREAK CASE 25 g_bLastBuyableVehicleArmourSelected = TRUE bBuyNow = FALSE BREAK DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_COLOUR_AND_ARMOUR_FROM_BUTTON_INT : unknown vehicle colour int ", lastSelectedIndex, " for site \"", GET_WEBSITE_FROM_INDEX(site), "\" selected!") BREAK ENDSWITCH ENDIF ENDPROC FUNC INT GET_YACHT_FLAG_INT_FROM_COLOUR(SITE_BUYABLE_VEHICLE_COLOURS col) IF (col = BCV_NO_COLOUR) OR (col = INT_TO_ENUM(SITE_BUYABLE_VEHICLE_COLOURS, -1)) RETURN -1 ENDIF SWITCH col CASE BCV_COLOUR_1 RETURN 0 BREAK //SCO CASE BCV_RED_COLOUR RETURN 1 BREAK //USA CASE BCV_BLUE_COLOUR RETURN 2 BREAK //FRA CASE BCV_COLOUR_3 RETURN 3 BREAK //ITA CASE BCV_COLOUR_8 RETURN 4 BREAK //SWE CASE BCV_COLOUR_13 RETURN 5 BREAK //ARG CASE BCV_COLOUR_18 RETURN 6 BREAK //EU CASE BCV_COLOUR_19 RETURN 7 BREAK //FIN CASE BCV_COLOUR_20 RETURN 8 BREAK //NED CASE BCV_COLOUR_21 RETURN 9 BREAK //POR CASE BCV_COLOUR_22 RETURN 10 BREAK //KOR CASE BCV_PINK_COLOUR RETURN 11 BREAK //AUS CASE BCV_BLACK_COLOUR RETURN 12 BREAK //GER CASE BCV_COLOUR_4 RETURN 13 BREAK //SWI CASE BCV_COLOUR_9 RETURN 14 BREAK //BEL CASE BCV_COLOUR_14 RETURN 15 BREAK //TUR CASE BCV_COLOUR_23 RETURN 16 BREAK //CHI CASE BCV_COLOUR_24 RETURN 17 BREAK //HUN CASE BCV_COLOUR_25 RETURN 18 BREAK //NZ CASE BCV_COLOUR_26 RETURN 19 BREAK //PUR CASE BCV_YELLOW_COLOUR RETURN 20 BREAK //BRA CASE BCV_WHITE_COLOUR RETURN 21 BREAK //JAP CASE BCV_COLOUR_5 RETURN 22 BREAK //JAM CASE BCV_COLOUR_10 RETURN 23 BREAK //MEX CASE BCV_COLOUR_15 RETURN 24 BREAK //IRE CASE BCV_COLOUR_27 RETURN 25 BREAK //CRO CASE BCV_COLOUR_28 RETURN 26 BREAK //ISR CASE BCV_COLOUR_29 RETURN 27 BREAK //NIG CASE BCV_COLOUR_30 RETURN 28 BREAK //SVK CASE BCV_ORANGE_COLOUR RETURN 29 BREAK //SPA CASE BCV_COLOUR_6 RETURN 30 BREAK //COL CASE BCV_COLOUR_11 RETURN 31 BREAK //AUT CASE BCV_COLOUR_16 RETURN 32 BREAK //WAL CASE BCV_COLOUR_31 RETURN 33 BREAK //CZE CASE BCV_COLOUR_32 RETURN 34 BREAK //LIC CASE BCV_COLOUR_33 RETURN 35 BREAK //PAL CASE BCV_COLOUR_34 RETURN 36 BREAK //SOU CASE BCV_GREEN_COLOUR RETURN 37 BREAK //CAN CASE BCV_COLOUR_2 RETURN 38 BREAK //UK CASE BCV_COLOUR_7 RETURN 39 BREAK //NOR CASE BCV_COLOUR_12 RETURN 40 BREAK //RUS CASE BCV_COLOUR_17 RETURN 41 BREAK //ENG CASE BCV_COLOUR_35 RETURN 42 BREAK //DEN CASE BCV_COLOUR_36 RETURN 43 BREAK //MAL CASE BCV_COLOUR_37 RETURN 44 BREAK //POL CASE BCV_COLOUR_38 RETURN 45 BREAK //SLO ENDSWITCH CASSERTLN(DEBUG_INTERNET, "GET_YACHT_FLAG_INT_FROM_COLOUR - unknown colour enum ", col) RETURN -1 ENDFUNC PROC PICK_VEHICLE_LIVERY_FROM_BUTTON_INT(SITE_BUYABLE_VEHICLE sbv, INT lastSelectedIndex, BOOL &bBuyNow) CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_LIVERY_FROM_BUTTON_INT : ", GET_LABEL_BUYABLE_VEHICLE(sbv), " colour int ", lastSelectedIndex, " selected!") IF sbv = BV_BB_BLIMP3 IF NOT IS_BUSINESS_BATTLES_VEHICLE_REWARD_UNLOCKED(BLIMP3) SWITCH lastSelectedIndex //details page CASE 8 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_1]Livery #1 CASE 9 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_2]Livery #2 CASE 10 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_3]Livery #3 CASE 11 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_4]Livery #4 CASE 12 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_5]Livery #5 CASE 13 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_6]Livery #6 CASE 14 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_7]Livery #7 CASE 15 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_8]Nightclub CASE 16 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_1]Livery #1 CASE 17 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_2]Livery #2 CASE 18 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_3]Livery #3 CASE 19 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_4]Livery #4 CASE 20 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_5]Livery #5 CASE 21 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_6]Livery #6 CASE 22 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_7]Livery #7 CASE 23 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_8]Nightclub DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_LIVERY_FROM_BUTTON_INT : unknown \"locked\" ", GET_LABEL_BUYABLE_VEHICLE(sbv), " colour int ", lastSelectedIndex, " selected!") BREAK ENDSWITCH ELSE SWITCH lastSelectedIndex //details page CASE 8 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_1]Livery #1 CASE 9 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_2]Livery #2 CASE 10 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_3]Livery #3 CASE 11 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_4]Livery #4 CASE 12 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_5]Livery #5 CASE 13 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_6]Livery #6 CASE 14 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_7]Livery #7 CASE 15 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK // [BLIMP3_ELT_8]Nightclub CASE 16 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_1]Livery #1 CASE 17 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_2]Livery #2 CASE 18 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_3]Livery #3 CASE 19 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_4]Livery #4 CASE 20 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_5]Livery #5 CASE 21 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_6]Livery #6 CASE 22 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_7]Livery #7 CASE 23 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK // [BLIMP3_ELT_8]Nightclub DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_LIVERY_FROM_BUTTON_INT : unknown \"unlocked\" ", GET_LABEL_BUYABLE_VEHICLE(sbv), " colour int ", lastSelectedIndex, " selected!") BREAK ENDSWITCH ENDIF ELIF sbv = BV_BB_PBUS2 IF NOT IS_BUSINESS_BATTLES_VEHICLE_REWARD_UNLOCKED(PBUS2) SWITCH lastSelectedIndex //details page // CASE 17 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_1]Livery #1 // CASE 18 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_2]Livery #2 // CASE 19 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_3]Livery #3 // CASE 20 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_4]Livery #4 // CASE 21 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_5]Livery #5 // CASE 22 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_6]Livery #6 // CASE 23 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_7]Livery #7 // CASE 24 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_8]Livery #8 // CASE 25 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_1 bBuyNow = FALSE BREAK // [PBUS2_SSA_9]Livery #9 // CASE 26 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_2 bBuyNow = FALSE BREAK // [PBUS2_SSA_10]Livery #10 CASE 27 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_1]Livery #1 CASE 28 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_2]Livery #2 CASE 29 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_3]Livery #3 CASE 30 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_4]Livery #4 CASE 31 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_5]Livery #5 CASE 32 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_6]Livery #6 CASE 33 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_7]Livery #7 CASE 34 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_8]Livery #8 CASE 35 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_1 bBuyNow = TRUE BREAK // [PBUS2_SSA_9]Livery #9 CASE 36 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_2 bBuyNow = TRUE BREAK // [PBUS2_SSA_10]Livery #10 DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_LIVERY_FROM_BUTTON_INT : unknown \"locked\" ", GET_LABEL_BUYABLE_VEHICLE(sbv), " colour int ", lastSelectedIndex, " selected!") BREAK ENDSWITCH ELSE SWITCH lastSelectedIndex //details page CASE 17 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_1]Livery #1 CASE 18 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_2]Livery #2 CASE 19 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_3]Livery #3 CASE 20 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_4]Livery #4 CASE 21 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_5]Livery #5 CASE 22 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_6]Livery #6 CASE 23 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_7]Livery #7 CASE 24 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = FALSE BREAK // [PBUS2_SSA_8]Livery #8 CASE 25 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_1 bBuyNow = FALSE BREAK // [PBUS2_SSA_9]Livery #9 CASE 26 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_2 bBuyNow = FALSE BREAK // [PBUS2_SSA_10]Livery #10 // CASE 27 g_eLastBuyableVehicleColourSelected = BCV_RED_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_1]Livery #1 // CASE 28 g_eLastBuyableVehicleColourSelected = BCV_PINK_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_2]Livery #2 // CASE 29 g_eLastBuyableVehicleColourSelected = BCV_YELLOW_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_3]Livery #3 // CASE 30 g_eLastBuyableVehicleColourSelected = BCV_ORANGE_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_4]Livery #4 // CASE 31 g_eLastBuyableVehicleColourSelected = BCV_GREEN_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_5]Livery #5 // CASE 32 g_eLastBuyableVehicleColourSelected = BCV_BLUE_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_6]Livery #6 // CASE 33 g_eLastBuyableVehicleColourSelected = BCV_BLACK_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_7]Livery #7 // CASE 34 g_eLastBuyableVehicleColourSelected = BCV_WHITE_COLOUR bBuyNow = TRUE BREAK // [PBUS2_SSA_8]Livery #8 // CASE 35 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_1 bBuyNow = TRUE BREAK // [PBUS2_SSA_9]Livery #9 // CASE 36 g_eLastBuyableVehicleColourSelected = BCV_COLOUR_2 bBuyNow = TRUE BREAK // [PBUS2_SSA_10]Livery #10 DEFAULT CDEBUG1LN(DEBUG_INTERNET, "PICK_VEHICLE_LIVERY_FROM_BUTTON_INT : unknown \"unlocked\" ", GET_LABEL_BUYABLE_VEHICLE(sbv), " colour int ", lastSelectedIndex, " selected!") BREAK ENDSWITCH ENDIF ELSE ENDIF ENDPROC /// PURPOSE: /// Get website for vehicle FUNC WEBSITE_INDEX_ENUM GET_WEBSITE_INDEX_FROM_VEHICLE_ENUM(SITE_BUYABLE_VEHICLE sbv) IF sbv = UNSET_BUYABLE_VEHICLE CDEBUG3LN(DEBUG_INTERNET, "GET_WEBSITE_INDEX_FROM_VEHICLE_ENUM no website for sbv UNSET_BUYABLE_VEHICLE.") RETURN INVALID_WEBSITE_INDEX ENDIF IF sbv = BV_C_DUMMY_ITEM_DO_NOT_REMOVE //8 OR sbv = BV_P_DODO //9 OR sbv = BV_B_MARINA //23 OR sbv = BV_B_SPEEDER //26 OR sbv = BV_B_SUNDECK //28 CDEBUG3LN(DEBUG_INTERNET, "GET_WEBSITE_INDEX_FROM_VEHICLE_ENUM no website for sbv dummy ", sbv, ".") RETURN INVALID_WEBSITE_INDEX ENDIF INT iCount REPEAT NUM_PAGES_LEGENDARYMOTORSPORT_NET iCount IF GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WWW_LEGENDARYMOTORSPORT_NET, iCount+3) = sbv RETURN WWW_LEGENDARYMOTORSPORT_NET ENDIF ENDREPEAT REPEAT NUM_PAGES_SOUTHERNSANANDREASSUPERAUTOS_COM iCount IF GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WWW_SOUTHERNSANANDREASSUPERAUTOS_COM, iCount+3) = sbv RETURN WWW_SOUTHERNSANANDREASSUPERAUTOS_COM ENDIF ENDREPEAT REPEAT NUM_PAGES_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM iCount IF GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM, iCount+3) = sbv RETURN WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM ENDIF ENDREPEAT REPEAT NUM_PAGES_ELITASTRAVEL_COM iCount IF GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WWW_ELITASTRAVEL_COM, iCount+3) = sbv RETURN WWW_ELITASTRAVEL_COM ENDIF ENDREPEAT REPEAT NUM_PAGES_DOCKTEASE_COM iCount IF GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WWW_DOCKTEASE_COM, iCount+3) = sbv RETURN WWW_DOCKTEASE_COM ENDIF ENDREPEAT REPEAT NUM_PAGES_PANDMCYCLES_COM iCount IF GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WWW_PANDMCYCLES_COM, iCount+3) = sbv RETURN WWW_PANDMCYCLES_COM ENDIF ENDREPEAT REPEAT NUM_PAGES_BENNYSORIGINALMOTORWORKS_COM iCount IF GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WWW_BENNYSORIGINALMOTORWORKS_COM, iCount+3+12) = sbv RETURN WWW_BENNYSORIGINALMOTORWORKS_COM ENDIF ENDREPEAT REPEAT NUM_PAGES_ARENA_COM iCount IF GET_VEHICLE_FROM_SITE_AND_PAGE_ID(WWW_ARENAWAR_TV, iCount+3+17) = sbv RETURN WWW_ARENAWAR_TV ENDIF ENDREPEAT CASSERTLN(DEBUG_INTERNET, "GET_WEBSITE_IDNEX_FROM_VEHICLE_ENUM unknown website for sbv ", GET_LABEL_BUYABLE_VEHICLE(sbv), ".") RETURN INVALID_WEBSITE_INDEX ENDFUNC /// PURPOSE: /// Get website for vehicle FUNC STRING GET_SITE_FROM_VEHICLE(MODEL_NAMES vehModel) IF vehModel = DUMMY_MODEL_FOR_SCRIPT CDEBUG3LN(DEBUG_INTERNET, "GET_SITE_FROM_VEHICLE no website for dummy model.") RETURN "" ENDIF //looks like all text labels now return same text so bypassing check below. RETURN "MP_PROP_IVD_3a" IF GET_SUPERMOOD_VEHICLE_BASE_MODEL(vehModel, 0) != DUMMY_MODEL_FOR_SCRIPT AND GET_SUPERMOOD_VEHICLE_BASE_MODEL(vehModel, 1) != DUMMY_MODEL_FOR_SCRIPT RETURN "MP_PROP_IVD_3h" ENDIF SITE_BUYABLE_VEHICLE sbv = GET_WEBSITE_BUYABLE_VEHICLE_FROM_MODEL(vehModel) SWITCH GET_WEBSITE_INDEX_FROM_VEHICLE_ENUM(sbv) CASE WWW_LEGENDARYMOTORSPORT_NET RETURN "MP_PROP_IVD_3b" CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM RETURN "MP_PROP_IVD_3g" CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM RETURN "MP_PROP_IVD_3d" CASE WWW_ELITASTRAVEL_COM RETURN "MP_PROP_IVD_3c" CASE WWW_DOCKTEASE_COM RETURN "MP_PROP_IVD_3e" CASE WWW_PANDMCYCLES_COM RETURN "MP_PROP_IVD_3f" CASE WWW_BENNYSORIGINALMOTORWORKS_COM RETURN "MP_PROP_IVD_3h" CASE WWW_ARENAWAR_TV RETURN "MP_PROP_IVD_3i" ENDSWITCH CASSERTLN(DEBUG_INTERNET, "GET_SITE_FROM_VEHICLE unknown site for vehicle \"", GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel), "\" (site buyable vehicle ", GET_LABEL_BUYABLE_VEHICLE(sbv), ")") RETURN "MP_PROP_IVD_3a" ENDFUNC // Get default colour FUNC BOOL SET_VEHICLE_DEFAULT_COLOUR(SITE_BUYABLE_VEHICLE sbv, WEBSITE_INDEX_ENUM site, BOOL &bColourPickingMode, SITE_BUYABLE_VEHICLE_COLOURS &eDefaultColour, BOOL &bVehicleArmour) IF sbv = UNSET_BUYABLE_VEHICLE RETURN FALSE ENDIF // Legendary Motors IF site = WWW_LEGENDARYMOTORSPORT_NET bVehicleArmour = FALSE SWITCH sbv CASE BV_C_ZTYPE eDefaultColour = BCV_PINK_COLOUR BREAK CASE BV_C_STINGER eDefaultColour = BCV_GREEN_COLOUR BREAK CASE BV_C_JB700 eDefaultColour = BCV_WHITE_COLOUR BREAK CASE BV_C_CHEETAH eDefaultColour = BCV_ORANGE_COLOUR BREAK CASE BV_C_ENTITYXF eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_C_VENEM eDefaultColour = BCV_BLUE_COLOUR BREAK CASE BV_C_MONROE eDefaultColour = BCV_YELLOW_COLOUR BREAK CASE BV_C_COGCABRIO eDefaultColour = BCV_WHITE_COLOUR BREAK CASE BV_AP_BALLER3 eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_AP_BALLER4 eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_AP_COG55 eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_AP_COGNOSCENTI eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_AP_SCHAFTER3 eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_AP_SCHAFTER4 eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_EX_XLS eDefaultColour = BCV_RED_COLOUR BREAK DEFAULT RETURN FALSE BREAK ENDSWITCH RETURN TRUE // Super Autos ELIF site = WWW_SOUTHERNSANANDREASSUPERAUTOS_COM SWITCH sbv CASE BV_C_SCHWARZER eDefaultColour = BCV_BLACK_COLOUR BREAK CASE BV_C_ZION eDefaultColour = BCV_BLACK_COLOUR BREAK CASE BV_C_GAUNTLET eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_C_VIGERO eDefaultColour = BCV_BLACK_COLOUR BREAK CASE BV_C_ISSI2 eDefaultColour = BCV_PINK_COLOUR BREAK CASE BV_C_INFERNUS eDefaultColour = BCV_BLUE_COLOUR BREAK CASE BV_C_SURANO eDefaultColour = BCV_WHITE_COLOUR BREAK CASE BV_C_VACCA eDefaultColour = BCV_BLUE_COLOUR BREAK CASE BV_C_NINEF eDefaultColour = BCV_YELLOW_COLOUR BREAK CASE BV_C_COMET2 eDefaultColour = BCV_YELLOW_COLOUR BREAK CASE BV_C_BANSHEE eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_C_FELTZER2 eDefaultColour = BCV_GREEN_COLOUR BREAK CASE BV_C_BFINJECTION eDefaultColour = BCV_BLACK_COLOUR BREAK CASE BV_C_SANDKING eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_C_FUGITIVE eDefaultColour = BCV_BLUE_COLOUR BREAK CASE BV_C_DILETTANTE eDefaultColour = BCV_PINK_COLOUR BREAK CASE BV_C_SUPERD eDefaultColour = BCV_BLACK_COLOUR BREAK CASE BV_C_EXEMPLAR eDefaultColour = BCV_BLACK_COLOUR BREAK CASE BV_C_BALLER2 eDefaultColour = BCV_WHITE_COLOUR BREAK CASE BV_C_CAVALCADE eDefaultColour = BCV_GREEN_COLOUR BREAK CASE BV_C_ROCOTO eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_C_FELON eDefaultColour = BCV_WHITE_COLOUR BREAK CASE BV_C_ORACLE2 eDefaultColour = BCV_ORANGE_COLOUR BREAK CASE BV_C_BATI eDefaultColour = BCV_BLACK_COLOUR BREAK CASE BV_C_AKUMA eDefaultColour = BCV_ORANGE_COLOUR BREAK CASE BV_C_RUFFIAN eDefaultColour = BCV_YELLOW_COLOUR BREAK CASE BV_C_VADER eDefaultColour = BCV_ORANGE_COLOUR BREAK CASE BV_C_BLAZER eDefaultColour = BCV_PINK_COLOUR BREAK CASE BV_C_PCJ eDefaultColour = BCV_BLUE_COLOUR BREAK CASE BV_C_SANCHEZ eDefaultColour = BCV_GREEN_COLOUR BREAK CASE BV_C_FAGGIO2 eDefaultColour = BCV_WHITE_COLOUR BREAK CASE BV_X3_TAMPA eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_NG_STALION2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_NG_DOMINATOR2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_NG_GAUNTLET2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_NG_BUFFALO3 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_DLC_SLAMVAN eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_DLC_RATLOADER2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_DLC_JESTER2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_DLC_MASSACRO2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_BI_RATBIKE eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_BB_PBUS2 eDefaultColour = BCV_RED_COLOUR BREAK DEFAULT RETURN FALSE BREAK ENDSWITCH RETURN TRUE ELIF site = WWW_ELITASTRAVEL_COM SWITCH sbv CASE BV_DLC_SWIFT eDefaultColour = BCV_RED_COLOUR BREAK CASE BV_DLC_VESTRA eDefaultColour = BCV_WHITE_COLOUR bColourPickingMode = FALSE BREAK CASE BV_P_CUBAN eDefaultColour = BCV_WHITE_COLOUR bColourPickingMode = FALSE BREAK CASE BV_BB_BLIMP3 eDefaultColour = BCV_RED_COLOUR BREAK DEFAULT eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK ENDSWITCH RETURN TRUE ELIF site = WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM SWITCH sbv #IF IS_NEXTGEN_BUILD CASE BV_NG_MARSHALL eDefaultColour = BCV_WHITE_COLOUR BREAK CASE BV_NG_DUKES2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK #ENDIF CASE BV_A_RHINO eDefaultColour = BCV_WHITE_COLOUR BREAK CASE BV_A_CARGOBOB eDefaultColour = BCV_WHITE_COLOUR bColourPickingMode = FALSE BREAK CASE BV_A_BARRACKS eDefaultColour = BCV_WHITE_COLOUR bColourPickingMode = FALSE BREAK CASE BV_DLC_DUBSTA3 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE BREAK CASE BV_DLC_INSURGENT2 eDefaultColour = BCV_GREEN_COLOUR bColourPickingMode = FALSE BREAK CASE BV_DLC_INSURGENT eDefaultColour = BCV_GREEN_COLOUR bColourPickingMode = FALSE BREAK CASE BV_MP_MESA3 eDefaultColour = BCV_GREEN_COLOUR bColourPickingMode = FALSE BREAK CASE BV_EX_CARGOBOB2 eDefaultColour = BCV_WHITE_COLOUR bColourPickingMode = FALSE BREAK CASE BV_GR_TAMPA3 eDefaultColour = BCV_BLACK_COLOUR bColourPickingMode = FALSE BREAK CASE BV_GR_ARDENT RETURN FALSE BREAK CASE BV_GR_NIGHTSHARK RETURN FALSE BREAK DEFAULT eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK ENDSWITCH RETURN TRUE ELIF site = WWW_DOCKTEASE_COM SWITCH sbv CASE BV_DLC_BIG_YACHT /*eDefaultColour = BCV_NO_COLOUR*/ bColourPickingMode = TRUE BREAK DEFAULT eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK ENDSWITCH RETURN TRUE ELIF site = WWW_BENNYSORIGINALMOTORWORKS_COM RETURN TRUE ELIF site = WWW_ARENAWAR_TV SWITCH sbv //Apocalypse CASE BV_AW_CERBERUS eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_BRUTUS eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_SCARAB eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_IMPERATOR eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_ZR380 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK //Sci Fi CASE BV_AW_CERBERUS2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_BRUTUS2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_SCARAB2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_IMPERATOR2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_ZR3802 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK //Wasteland CASE BV_AW_CERBERUS3 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_BRUTUS3 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_SCARAB3 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_IMPERATOR3 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_ZR3803 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK //Donor Vehicles CASE BV_DLC_RATLOADER2 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_DLC_GLENDALE eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_DLC_SLAMVAN eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_MP_DOMINATOR eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AW_IMPALER eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_AR_ISSI3 eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK CASE BV_ST_GARGOYLE eDefaultColour = BCV_RED_COLOUR bColourPickingMode = FALSE RETURN FALSE BREAK ENDSWITCH RETURN TRUE ELSE eDefaultColour = BCV_NO_COLOUR bColourPickingMode = FALSE RETURN FALSE ENDIF RETURN FALSE ENDFUNC #IF IS_DEBUG_BUILD PROC ADD_PEGASUS_VEHICLE_TO_CATALOGUE(SITE_BUYABLE_VEHICLE eSiteVeh, INT iVariation = 0, BOOL bAltVersion = FALSE, INT iAltNum2 = -1) INT iVehicleIndex = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(eSiteVeh, INT_TO_ENUM(SITE_BUYABLE_VEHICLE_COLOURS, iVariation)) IF iVehicleIndex = -1 EXIT ENDIF TEXT_LABEL_15 tlVehicleName = GET_LABEL_BUYABLE_VEHICLE(eSiteVeh) IF IS_STRING_NULL_OR_EMPTY(tlVehicleName) OR GET_HASH_KEY(tlVehicleName) = HASH("CARNOTFOUND") EXIT ENDIF MODEL_NAMES eVehicleModel = GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh) IF eVehicleModel = DUMMY_MODEL_FOR_SCRIPT EXIT ENDIF ScriptCatalogItem sCatalogueData GENERATE_KEY_FOR_SHOP_CATALOGUE(sCatalogueData.m_key, tlVehicleName, eVehicleModel, SHOP_TYPE_CARMOD, 1, iVariation-1, DEFAULT, iAltNum2, TRUE) IF IS_SBV_A_VEHICLE_PREVIOUSLY_LASTGEN_ONLY(eSiteVeh) OR IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(eSiteVeh) #IF FEATURE_CASINO_HEIST OR GET_CH_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh)) != -1 #ENDIF #IF FEATURE_COPS_N_CROOKS OR GET_CNC_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh)) != -1 #ENDIF #IF FEATURE_SUMMER_2020 OR GET_SUMMER20_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(eSiteVeh)) != -1 #ENDIF OR (eSiteVeh = BV_BB_BLIMP3) OR (eSiteVeh = BV_BB_PBUS2) #IF FEATURE_HEIST_ISLAND OR (eSiteVeh = BV_IH_PATROLBOAT) OR (eSiteVeh = BV_IH_VETIR) OR (eSiteVeh = BV_IH_LONGFIN) OR (eSiteVeh = BV_IH_DINGHY5) #ENDIF IF bAltVersion GENERATE_KEY_FOR_SHOP_CATALOGUE(sCatalogueData.m_key, tlVehicleName, eVehicleModel, SHOP_TYPE_CARMOD, 1, iVariation-1, 1, iAltNum2, TRUE) ENDIF ENDIF sCatalogueData.m_textTag = tlVehicleName sCatalogueData.m_name = GET_STRING_FROM_TEXT_FILE(tlVehicleName) IF eVehicleModel = MARSHALL OR eVehicleModel = BLIMP3 sCatalogueData.m_name += " " sCatalogueData.m_name += GET_STRING_FROM_TEXT_FILE(GET_VEHICLE_NAME_EXTRA(eVehicleModel, iVehicleIndex)) ENDIF sCatalogueData.m_category = CATEGORY_SERVICE_UNLOCKED sCatalogueData.m_price = GET_VEHICLE_PRICE_FOR_CATALOGUE(eVehicleModel, bAltVersion, FALSE) sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_BITFIELD sCatalogueData.m_bitsize = 1 sCatalogueData.m_bitshift = (iVehicleIndex%32) IF (iVehicleIndex/32) = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPBAV_ELEMENT_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) ELIF (iVehicleIndex/32) = 1 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPBAV_ELEMENT_1][GET_SLOT_NUMBER(g_iPedComponentSlot)]) ELIF (iVehicleIndex/32) = 2 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPBAV_ELEMENT_2][GET_SLOT_NUMBER(g_iPedComponentSlot)]) ELIF (iVehicleIndex/32) = 3 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPBAV_ELEMENT_3][GET_SLOT_NUMBER(g_iPedComponentSlot)]) ELIF (iVehicleIndex/32) = 4 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPBAV_ELEMENT_4][GET_SLOT_NUMBER(g_iPedComponentSlot)]) ENDIF ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) ENDPROC PROC GENERATE_PEGASUS_VEHICLES_ENTRIES_FOR_CATALOGUE() INT bitindex = 0, iVariation = 0 SITE_BUYABLE_VEHICLE sbv, prevSbv = sbv sbv = GET_BIGASS_VEHICLE_ENUM_FROM_INDICE(bitindex) WHILE sbv != UNSET_BUYABLE_VEHICLE iVariation++ IF prevSbv != sbv iVariation = 1 ENDIF prevSbv = sbv IF sbv != BV_DLC_SWIFT AND sbv != BV_ST_RALLYTRUCK ADD_PEGASUS_VEHICLE_TO_CATALOGUE(sbv, iVariation, FALSE) IF IS_THIS_MODEL_PEGASUS_PLANE_OR_HELI(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv)) ADD_VEHICLE_TO_CATALOGUE(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv), FALSE, FALSE) ENDIF ENDIF IF IS_SBV_A_VEHICLE_PREVIOUSLY_LASTGEN_ONLY(sbv) OR IS_SBV_A_VEHICLE_PREVIOUSLY_HEIST_LOCKED(sbv) #IF FEATURE_CASINO_HEIST OR GET_CH_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv)) != -1 #ENDIF #IF FEATURE_COPS_N_CROOKS OR GET_CNC_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv)) != -1 #ENDIF #IF FEATURE_SUMMER_2020 OR GET_SUMMER20_VEHICLE_INDEX(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv)) != -1 #ENDIF OR (sbv = BV_BB_BLIMP3) OR (sbv = BV_BB_PBUS2) #IF FEATURE_HEIST_ISLAND OR (sbv = BV_IH_PATROLBOAT) OR (sbv = BV_IH_VETIR) OR (sbv = BV_IH_LONGFIN) OR (sbv = BV_IH_DINGHY5) #ENDIF ADD_PEGASUS_VEHICLE_TO_CATALOGUE(sbv, iVariation, TRUE) IF IS_THIS_MODEL_PEGASUS_PLANE_OR_HELI(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv)) ADD_VEHICLE_TO_CATALOGUE(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv), TRUE, FALSE) ENDIF ENDIF IF IS_SBV_A_VEHICLE_FREE_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK(sbv) ADD_PEGASUS_VEHICLE_TO_CATALOGUE(sbv, iVariation, TRUE, 1) IF IS_THIS_MODEL_PEGASUS_PLANE_OR_HELI(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv)) ADD_VEHICLE_TO_CATALOGUE(GET_MODEL_FOR_BUYABLE_VEHICLE(sbv), TRUE, TRUE) ENDIF ENDIF bitindex++ sbv = GET_BIGASS_VEHICLE_ENUM_FROM_INDICE(bitindex) ENDWHILE // Items that have alts ADD_PEGASUS_VEHICLE_TO_CATALOGUE(BV_DLC_SWIFT, ENUM_TO_INT(BCV_PINK_COLOUR), TRUE) ADD_PEGASUS_VEHICLE_TO_CATALOGUE(BV_DLC_SWIFT, ENUM_TO_INT(BCV_RED_COLOUR), FALSE) ADD_PEGASUS_VEHICLE_TO_CATALOGUE(BV_ST_RALLYTRUCK, ENUM_TO_INT(BCV_PINK_COLOUR), TRUE) ADD_PEGASUS_VEHICLE_TO_CATALOGUE(BV_ST_RALLYTRUCK, ENUM_TO_INT(BCV_RED_COLOUR), FALSE) ENDPROC PROC GENERATE_TRUCK_VEHICLE_ENTRY_FOR_CATALOGUE() ScriptCatalogItem sCatalogueData sCatalogueData.m_key = "PACKED_MP_INT_TRUCK_SECTION_1_TYPE_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_TRUCK_SECTION_1_TYPE) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) sCatalogueData.m_key = "PACKED_MP_INT_TRUCK_SECTION_2_TYPE_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_TRUCK_SECTION_2_TYPE) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) sCatalogueData.m_key = "PACKED_MP_INT_TRUCK_SECTION_3_TYPE_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_TRUCK_SECTION_3_TYPE) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // sCatalogueData.m_key = "PACKED_MP_INT_TRUCK_SECTION_1_NUM_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_TRUCK_SECTION_1_NUM) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // TRUCK_MOD_SLOT_ENUM eSlot REPEAT NUM_TRUCK_MOD_SLOTS eSlot STATS_PACKED OutStatName = PACKED_MP_INT_TRUCK_MOD_SLOT_1 GET_TRUCK_MOD_STAT_NAME_FOR_MOD_SLOT(eSlot, OutStatName) IF eSlot != TRUCK_MOD_TRAILER_COL_CREW_1 GET_TRUCK_MOD_INVENTORY_DATA_FOR_CATALOGUE(sCatalogueData.m_key, eSlot) sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(OutStatName) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) ENDIF ENDREPEAT // ARMORY_TRUCK_SECTION_TYPE_ENUM eSection REPEAT AT_ST_MAX_SECTION_TYPES eSection GENERATE_TRUCK_TYPE_KEY_FOR_CATALOGUE(sCatalogueData.m_key, ENUM_TO_INT(eSection)) sCatalogueData.m_textTag = "" sCatalogueData.m_name = GET_ARMORY_TRUCK_SECTION_TYPE_NAME(eSection) sCatalogueData.m_category = CATEGORY_VEHICLE_MOD sCatalogueData.m_price = GET_ARMORY_TRUCK_SECTION_TYPE_COST(eSection) sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_statvalue = ENUM_TO_INT(eSection) sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = 0 ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) ENDREPEAT // ARMORY_TRUCK_SECTION_TINT_ENUM eTint REPEAT ENUM_TO_INT(AT_STI_BLACK_BLUE)+1 eTint GENERATE_TRUCK_TINT_KEY_FOR_CATALOGUE(sCatalogueData.m_key, ENUM_TO_INT(eTint)) sCatalogueData.m_textTag = "" sCatalogueData.m_name = GET_ARMORY_TRUCK_SECTION_TINT_NAME(eTint) sCatalogueData.m_category = CATEGORY_VEHICLE_MOD sCatalogueData.m_price = GET_ARMORY_TRUCK_SECTION_TINT_COST(eTint) sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_statvalue = ENUM_TO_INT(eTint) sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = 0 ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) ENDREPEAT ENDPROC PROC GENERATE_ARMORY_AIRCRAFT_ENTRY_FOR_CATALOGUE() ScriptCatalogItem sCatalogueData sCatalogueData.m_key = "PACKED_MP_INT_ARMORY_AIRCRAFT_GUN_TURRET_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_GUN_TURRET) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) sCatalogueData.m_key = "PACKED_MP_INT_ARMORY_AIRCRAFT_VEH_SHOP_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_VEH_SHOP) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) sCatalogueData.m_key = "PACKED_MP_INT_ARMORY_AIRCRAFT_WEA_SHOP_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_WEA_SHOP) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // sCatalogueData.m_key = "PACKED_MP_INT_ARMORY_AIRCRAFT_INTERIOR_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_ARMORY_AIRCRAFT_INTERIOR) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // ARMORY_AIRCRAFT_MOD_ENUM eMod REPEAT AAM_MAX_ARMORY_AIRCRAFT_MODS eMod INT iUpgradeCount = -1 SWITCH eMod CASE AAM_GUN_TURRET iUpgradeCount = 2 BREAK CASE AAM_WEAPON_WORKSHOP iUpgradeCount = 2 BREAK CASE AAM_VEHICLE_WORKSHOP iUpgradeCount = 2 BREAK CASE AAM_INTERIOR iUpgradeCount = 9 BREAK DEFAULT ASSERTLN("GENERATE_ARMORY_AIRCRAFT_ENTRY_FOR_CATALOGUE - unknown eMod ", eMod) BREAK ENDSWITCH INT i REPEAT iUpgradeCount i GENERATE_PLANE_TYPE_KEY_FOR_CATALOGUE(sCatalogueData.m_key, eMod, i) sCatalogueData.m_textTag = "" sCatalogueData.m_name = GET_ARMORY_AIRCRAFT_MOD_NAME(eMod) sCatalogueData.m_category = CATEGORY_VEHICLE_MOD sCatalogueData.m_price = GET_ARMORY_AIRCRAFT_MOD_COST(eMod, i) sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_statvalue = i sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = 0 ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) ENDREPEAT ENDREPEAT ENDPROC PROC GENERATE_HACKING_TRUCK_VEHICLE_ENTRY_FOR_CATALOGUE() ScriptCatalogItem sCatalogueData sCatalogueData.m_key = "PACKED_MP_INT_HACKERTRUCK_INTERIOR_DECAL_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_HACKERTRUCK_INTERIOR_DECAL) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // sCatalogueData.m_key = "PACKED_MP_INT_HACKERTRUCK_INTERIOR_TINT_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_HACKERTRUCK_INTERIOR_TINT) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) sCatalogueData.m_key = "PACKED_MP_INT_HACKERTRUCK_MISSILE_LAUNCHER_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_HACKERTRUCK_MISSILE_LAUNCHER) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) sCatalogueData.m_key = "PACKED_MP_INT_HACKERTRUCK_DRONE_STATION_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_HACKERTRUCK_DRONE_STATION) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) sCatalogueData.m_key = "PACKED_MP_INT_HACKERTRUCK_WEAPON_STATION_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_HACKERTRUCK_WEAPON_STATION) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) sCatalogueData.m_key = "PACKED_MP_INT_HACKERTRUCK_MOTORCYCLE_WORKSHOP_v0" sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_HACKERTRUCK_MOTORCYCLE_WORKSHOP) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // HACKER_TRUCK_UPGRADE_ID eUpgrade REPEAT AT_ST_MAX_SECTION_TYPES eUpgrade INT iMaxModCount = -1 SWITCH eUpgrade CASE eHACKER_TRUCK_MOD_DECAL iMaxModCount += 25 BREAK CASE eHACKER_TRUCK_MOD_TINT iMaxModCount += 9 BREAK CASE eHACKER_TRUCK_MOD_MISSILE_LAUNCHER iMaxModCount += 2 BREAK CASE eHACKER_TRUCK_MOD_DRONE_STATION iMaxModCount += 2 BREAK CASE eHACKER_TRUCK_MOD_WEAPON_STATION iMaxModCount += 2 BREAK CASE eHACKER_TRUCK_MOD_MOTORCYCLE_WORKSHOP iMaxModCount += 2 BREAK DEFAULT iMaxModCount = -1 BREAK ENDSWITCH INT iModIndex REPEAT iMaxModCount iModIndex GENERATE_HACKER_TRUCK_MOD_KEY_FOR_CATALOGUE(sCatalogueData.m_key, eUpgrade, iModIndex) sCatalogueData.m_textTag = "" sCatalogueData.m_name = GET_HACKER_TRUCK_MOD_NAME_FROM_ID(eUpgrade, iModIndex) sCatalogueData.m_category = CATEGORY_VEHICLE_MOD sCatalogueData.m_price = GET_HACKER_TRUCK_MOD_COST(eUpgrade, iModIndex) sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_statvalue = ENUM_TO_INT(iModIndex) sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = 0 ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) ENDREPEAT ENDREPEAT ENDPROC #IF FEATURE_HEIST_ISLAND PROC GENERATE_KOSATKA_VEHICLE_ENTRY_FOR_CATALOGUE() ScriptCatalogItem sCatalogueData TEXT_LABEL_63 tlInventoryKey // ----- COLOUR ----- GENERATE_KOSATKA_MOD_INVENTORY_KEY_FOR_CATALOGUE(tlInventoryKey, eKOSATKA_MOD_COLOUR) sCatalogueData.m_key = tlInventoryKey sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_KOSATKA_COLOUR) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // ----- FLAG ----- GENERATE_KOSATKA_MOD_INVENTORY_KEY_FOR_CATALOGUE(tlInventoryKey, eKOSATKA_MOD_FLAG) sCatalogueData.m_key = tlInventoryKey sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_KOSATKA_FLAG) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // ----- SONAR ----- GENERATE_KOSATKA_MOD_INVENTORY_KEY_FOR_CATALOGUE(tlInventoryKey, eKOSATKA_MOD_SONAR) sCatalogueData.m_key = tlInventoryKey sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_KOSATKA_SONAR) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // ----- GUIDED MISSILES ----- GENERATE_KOSATKA_MOD_INVENTORY_KEY_FOR_CATALOGUE(tlInventoryKey, eKOSATKA_MOD_MISSILES) sCatalogueData.m_key = tlInventoryKey sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_KOSATKA_GUIDED_MISSILES) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // ----- WEAPON WORKSHOP ----- GENERATE_KOSATKA_MOD_INVENTORY_KEY_FOR_CATALOGUE(tlInventoryKey, eKOSATKA_MOD_WEAPON_STATION) sCatalogueData.m_key = tlInventoryKey sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_KOSATKA_WEAPON_WORKSHOP) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // ----- SEASPARROW2 ----- GENERATE_KOSATKA_MOD_INVENTORY_KEY_FOR_CATALOGUE(tlInventoryKey, eKOSATKA_MOD_SEASPARROW2) sCatalogueData.m_key = tlInventoryKey sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_KOSATKA_SEASPARROW2) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // ----- AVISA ----- GENERATE_KOSATKA_MOD_INVENTORY_KEY_FOR_CATALOGUE(tlInventoryKey, eKOSATKA_MOD_AVISA) sCatalogueData.m_key = tlInventoryKey sCatalogueData.m_textTag = "" sCatalogueData.m_name = "" sCatalogueData.m_category = CATEGORY_INVENTORY_VEHICLE_MOD sCatalogueData.m_price = 0 sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = ENUM_TO_INT(MPIntStatNamesArray[MP_STAT_MPSV_VEHICLE_BS_0][GET_SLOT_NUMBER(g_iPedComponentSlot)]) sCatalogueData.m_statenumvalue = ENUM_TO_INT(PACKED_MP_INT_KOSATKA_AVISA) ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) // KOSATKA_UPGRADE_ID eUpgrade REPEAT eKOSATKA_MOD_MAX eUpgrade INT iMaxModCount = -1 SWITCH eUpgrade CASE eKOSATKA_MOD_COLOUR iMaxModCount += (NUM_KOSATKA_COLOURS + 1) BREAK CASE eKOSATKA_MOD_FLAG iMaxModCount += (NUM_KOSATKA_FLAGS + 1) BREAK CASE eKOSATKA_MOD_SONAR iMaxModCount = 2 BREAK CASE eKOSATKA_MOD_MISSILES iMaxModCount = 2 BREAK CASE eKOSATKA_MOD_WEAPON_STATION iMaxModCount = 2 BREAK CASE eKOSATKA_MOD_SEASPARROW2 iMaxModCount = 2 BREAK CASE eKOSATKA_MOD_AVISA iMaxModCount = 2 BREAK DEFAULT iMaxModCount = -1 BREAK ENDSWITCH PRINTLN("[GENERATE_KOSATKA_VEHICLE_ENTRY_FOR_CATALOGUE] iMaxModCount: ", iMaxModCount, " eUpgrade: ", ENUM_TO_INT(eUpgrade)) INT iModIndex REPEAT iMaxModCount iModIndex GENERATE_KOSATKA_MOD_KEY_FOR_CATALOGUE(sCatalogueData.m_key, eUpgrade, iModIndex) sCatalogueData.m_textTag = "" sCatalogueData.m_name = GET_KOSATKA_MOD_NAME_FROM_ID(eUpgrade, iModIndex) sCatalogueData.m_category = CATEGORY_VEHICLE_MOD sCatalogueData.m_price = GET_KOSATKA_MOD_COST(eUpgrade, iModIndex) sCatalogueData.m_storagetype = NET_SHOP_ISTORAGE_INT sCatalogueData.m_statvalue = ENUM_TO_INT(iModIndex) sCatalogueData.m_bitsize = 0 sCatalogueData.m_stathash = 0 ADD_ITEM_TO_CATALOG_WITH_CHECK(sCatalogueData) PRINTLN("[GENERATE_KOSATKA_VEHICLE_ENTRY_FOR_CATALOGUE] m_price: ", sCatalogueData.m_price, " eUpgrade: ", ENUM_TO_INT(eUpgrade), " iModIndex: ", iModIndex) ENDREPEAT ENDREPEAT ENDPROC #ENDIF // #IF FEATURE_HEIST_ISLAND #ENDIF // #IF IS_DEBUG_BUILD FUNC BOOL CREATE_AND_POPULATE_VEHICLE_DETAILS_FOR_MP_WEBSITE_VEHICLE_BUY(SITE_BUYABLE_VEHICLE eSBV, WEBSITE_INDEX_ENUM site, VEHICLE_SETUP_STRUCT_MP &sVssMP, VEHICLE_INDEX &vi, BOOL &bAltVersion, BOOL bResetFlags = TRUE ) VECTOR vtemp REQUEST_MODEL(sVssMP.VehicleSetup.eModel) IF NOT HAS_MODEL_LOADED( sVssMP.VehicleSetup.eModel ) RETURN FALSE ENDIF vtemp = GET_PLAYER_COORDS(GET_PLAYER_INDEX()) vi = CREATE_VEHICLE( sVssMP.VehicleSetup.eModel,<>,0.0,FALSE,FALSE ) // Doesn't need to be a network object // Use the created vehicle to get the default extra states VEHICLE_SETUP_STRUCT_MP tempVehicleData IF NOT NETWORK_IS_GAME_IN_PROGRESS() GET_VEHICLE_SETUP(vi, tempVehicleData.VehicleSetup) ELSE GET_VEHICLE_SETUP_MP(vi, tempVehicleData) ENDIF INT iExtra // Now set custom extras IF bResetFlags sVssMP.VehicleSetup.iFlags = 0 ENDIF REPEAT NUMBER_OF_VEHICLE_EXTRAS iExtra IF IS_BIT_SET(tempVehicleData.VehicleSetup.iFlags, GET_VEHICLE_EXTRA_FLAG_FOR_EXTRA_INDEX(iExtra+1) ) SET_BIT( sVssMP.VehicleSetup.iFlags, GET_VEHICLE_EXTRA_FLAG_FOR_EXTRA_INDEX(iExtra+1) ) ELSE CLEAR_BIT( sVssMP.VehicleSetup.iFlags, GET_VEHICLE_EXTRA_FLAG_FOR_EXTRA_INDEX(iExtra+1) ) ENDIF ENDREPEAT #IF IS_DEBUG_BUILD MOD_TYPE eMod REPEAT MAX_VEHICLE_MOD_SLOTS eMod IF tempVehicleData.VehicleSetup.iModIndex[eMod] > 0 IF eMod = MOD_TOGGLE_HYDRAULICS OR eMod = MOD_TOGGLE_NITROUS OR eMod = MOD_TOGGLE_SUBWOOFER OR eMod = MOD_TOGGLE_TURBO OR eMod = MOD_TOGGLE_TYRE_SMOKE OR eMod = MOD_TOGGLE_XENON_LIGHTS //ignore toggle mods ELSE IF eMod = MOD_REAR_WHEELS AND sVssMP.VehicleSetup.eModel = SLAMTRUCK // This car will spawn with default rear_wheel from code ELSE CASSERTLN(DEBUG_INTERNET, "CREATE_AND_POPULATE_VEHICLE_DETAILS_FOR_MP_WEBSITE_VEHICLE_BUY: default vehicle ", GET_MODEL_NAME_FOR_DEBUG(sVssMP.VehicleSetup.eModel), " iModIndex[", debug_GET_MOD_TYPE_NAME(eMod), "] is non-null (", tempVehicleData.VehicleSetup.iModIndex[eMod], ")") ENDIF ENDIF ENDIF ENDREPEAT #ENDIF SET_CUSTOM_VEHICLE_EXTRAS_FOR_BUYABLE_VEHICLE( eSBV, sVssMP.VehicleSetup.iFlags ) // Apply setup to vehicle IF NOT NETWORK_IS_GAME_IN_PROGRESS() SET_VEHICLE_SETUP( vi, sVssMP.VehicleSetup ) ELSE SET_VEHICLE_SETUP_MP( vi, sVssMP ) ENDIF PRINTLN("CREATE_AND_POPULATE_VEHICLE_DETAILS_FOR_MP_VEHICLE_BUY - sVssMP.VehicleSetup.iFlags = ",sVssMP.VehicleSetup.iFlags ) IF NETWORK_IS_GAME_IN_PROGRESS() AND USE_SERVER_TRANSACTIONS() FREEZE_ENTITY_POSITION(vi, TRUE) SET_ENTITY_VISIBLE(vi, FALSE) SET_ENTITY_COLLISION(vi, FALSE) ENDIF bAltVersion = IS_SBV_AN_ALTERNATE_VEHICLE(eSBV, site, g_eLastBuyableVehicleColourSelected) RETURN TRUE ENDFUNC FUNC BOOL SVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED(INT iSVMIndex) IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_IE_WAREHOUSE) = 0 PRINTLN("SVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: IE_WAREHOUSE not owned") RETURN FALSE ENDIF IF iSVMIndex != -1 INT iSaveSlot = -1 INT mpDisplaySlotReturned = iSVMIndex+GET_PROPERTY_SLOT_DISPLAY_START_INDEX(PROPERTY_OWNED_SLOT_IE_WAREHOUSE) MPSV_GET_SAVE_SLOT_FROM_DISPLAY_SLOT(mpDisplaySlotReturned, iSaveSlot) INT iPropertyID = GET_OWNED_PROPERTY(GET_PROPERTY_SLOT_FROM_DISPLAY_SLOT(mpDisplaySlotReturned)) IF iPropertyID > 0 ELIF iSaveSlot >= 0 ENDIF IF iSaveSlot >= 0 MODEL_NAMES vehModel = INT_TO_ENUM(MODEL_NAMES,GET_MP_INT_CHARACTER_STAT(GET_INT_STAT_FOR_VEHICLE_SLOT(MPSV_STAT_ELEMENT_MODEL,iSaveSlot))) IF iPropertyID > 0 // ENDIF IF vehModel != DUMMY_MODEL_FOR_SCRIPT PRINTLN("SVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel), " (index:", iSVMIndex, ", slot:", iSaveSlot, ") is already owned") RETURN TRUE ELSE PRINTLN("SVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", "DUMMY_MODEL_FOR_SCRIPT", " (index:", iSVMIndex, ", slot:", iSaveSlot, ") is not currently owned") ENDIF ELSE PRINTLN("SVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", "", " (index:", iSVMIndex, ", slot:", iSaveSlot, ") has unknown slot") ENDIF ENDIF RETURN FALSE ENDFUNC FUNC BOOL WVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED(INT iWVMSlot) // IF NOT DOES_PLAYER_OWN_A_BUNKER(PLAYER_ID()) // PRINTLN("WVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: bunker not owned") // RETURN FALSE // ENDIF IF iWVMSlot != -1 INT iSaveSlot = -1 INT mpDisplaySlotReturned = (iWVMSlot+DISPLAY_SLOT_AA_TRAILER) MPSV_GET_SAVE_SLOT_FROM_DISPLAY_SLOT(mpDisplaySlotReturned, iSaveSlot) IF iSaveSlot >= 0 MODEL_NAMES vehModel = INT_TO_ENUM(MODEL_NAMES,GET_MP_INT_CHARACTER_STAT(GET_INT_STAT_FOR_VEHICLE_SLOT(MPSV_STAT_ELEMENT_MODEL,iSaveSlot))) IF vehModel != DUMMY_MODEL_FOR_SCRIPT PRINTLN("WVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel), " (index:", iWVMSlot, ", slot:", iSaveSlot, ") is already owned") RETURN TRUE ELSE PRINTLN("WVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", "DUMMY_MODEL_FOR_SCRIPT", " (index:", iWVMSlot, ", slot:", iSaveSlot, ") is not currently owned") ENDIF ELSE PRINTLN("WVM_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", "", " (index:", iWVMSlot, ", slot:", iSaveSlot, ") has unknown slot") ENDIF ENDIF RETURN FALSE ENDFUNC FUNC BOOL FDS_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED(INT iFDSSlot) IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_DEFUNCBASE) = 0 PRINTLN("FDS_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: DEFUNCBASE not owned") RETURN FALSE ENDIF IF iFDSSlot != -1 INT iSaveSlot = -1 MODEL_NAMES eFDSModel = DUMMY_MODEL_FOR_SCRIPT SWITCH iFDSSlot CASE 0 eFDSModel = KHANJALI BREAK CASE 1 eFDSModel = CHERNOBOG BREAK CASE 2 eFDSModel = RIOT2 BREAK CASE 3 eFDSModel = THRUSTER BREAK DEFAULT ASSERTLN("FDS_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", "", " (iFDSSlot:", iFDSSlot, ", slot:", iSaveSlot, ") has unknown model") RETURN FALSE BREAK ENDSWITCH INT mpDisplaySlotReturned = GET_FDS_VEHICLE_DISPLAY_SLOT(eFDSModel) MPSV_GET_SAVE_SLOT_FROM_DISPLAY_SLOT(mpDisplaySlotReturned, iSaveSlot) INT iPropertyID = GET_OWNED_PROPERTY(GET_PROPERTY_SLOT_FROM_DISPLAY_SLOT(mpDisplaySlotReturned)) IF iPropertyID > 0 ELIF iSaveSlot >= 0 ENDIF IF iSaveSlot >= 0 MODEL_NAMES vehModel = INT_TO_ENUM(MODEL_NAMES,GET_MP_INT_CHARACTER_STAT(GET_INT_STAT_FOR_VEHICLE_SLOT(MPSV_STAT_ELEMENT_MODEL,iSaveSlot))) IF iPropertyID > 0 // ENDIF IF vehModel != DUMMY_MODEL_FOR_SCRIPT PRINTLN("FDS_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", GET_SAFE_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehModel), " (iFDSSlot:", iFDSSlot, ", slot:", iSaveSlot, ") is already owned") RETURN TRUE ELSE PRINTLN("FDS_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", "DUMMY_MODEL_FOR_SCRIPT", " (iFDSSlot:", iFDSSlot, ", slot:", iSaveSlot, ") is not currently owned") ENDIF ELSE PRINTLN("FDS_IS_SPECIAL_VEHICLE_SLOT_OCCUPUED: Special Vehicle ", "", " (iFDSSlot:", iFDSSlot, ", slot:", iSaveSlot, ") has unknown slot") ENDIF ENDIF RETURN FALSE ENDFUNC PROC UPDATE_PLAYER_PURCHASED_CRIMINAL_ENTERPRISE_STARTER_PACK_VEHICLES() IF IS_TRANSITION_ACTIVE() EXIT ENDIF CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT tempContent SITE_BUYABLE_VEHICLE veh INT iStartLoop = ENUM_TO_INT(CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_BF_DUNE_FAV) INT iMaxLoop = ENUM_TO_INT(CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE_ENUS_HUNTLEY_S) INT iLoop FOR iLoop = iStartLoop TO iMaxLoop STEP 1 tempContent = INT_TO_ENUM(CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT, iLoop) veh = GET_SBV_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE(tempContent) IF NOT HAS_PLAYER_PURCHASED_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT(tempContent) INT iBigAssID = GET_BIGASS_VEHICLE_INDICE_BIT_FROM_ENUM(veh) IF (iBigAssID != -1) // pegasus veh IF IS_BIT_SET(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedBigAssVehicles.iBigAssVehiclesBS[(iBigAssID/32)], (iBigAssID%32)) SET_PLAYER_PURCHASED_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT(tempContent) CPRINTLN(DEBUG_SHOPS, "UPDATE_PLAYER_PURCHASED_CRIMINAL_ENTERPRISE_STARTER_PACK_VEHICLES set ", GET_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_NAME_FOR_DEBUG(tempContent), " for pegasus veh \"", GET_LABEL_BUYABLE_VEHICLE(veh), "\"") ENDIF ELSE // garage veh, handles below ENDIF ENDIF ENDFOR MODEL_NAMES vehModel INT iDisplaySlot, iVehSaveSlot REPEAT MAX_MP_SAVED_VEHICLES iDisplaySlot iVehSaveSlot = -1 MPSV_GET_SAVE_SLOT_FROM_DISPLAY_SLOT(iDisplaySlot, iVehSaveSlot,FALSE) IF iVehSaveSlot >= 0 vehModel = INT_TO_ENUM(MODEL_NAMES,GET_MP_INT_CHARACTER_STAT(GET_INT_STAT_FOR_VEHICLE_SLOT(MPSV_STAT_ELEMENT_MODEL,iVehSaveSlot))) // IF vehModel != DUMMY_MODEL_FOR_SCRIPT FOR iLoop = iStartLoop TO iMaxLoop STEP 1 tempContent = INT_TO_ENUM(CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT, iLoop) veh = GET_SBV_FOR_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_VEHICLE(tempContent) IF vehModel = GET_MODEL_FOR_BUYABLE_VEHICLE(veh) IF NOT HAS_PLAYER_PURCHASED_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT(tempContent) SET_PLAYER_PURCHASED_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT(tempContent) CPRINTLN(DEBUG_SHOPS, "UPDATE_PLAYER_PURCHASED_CRIMINAL_ENTERPRISE_STARTER_PACK_VEHICLES set ", GET_CRIMINAL_ENTERPRISE_STARTER_PACK_CONTENT_NAME_FOR_DEBUG(tempContent), " for garage veh \"", GET_LABEL_BUYABLE_VEHICLE(veh), "\"") ENDIF iLoop = iMaxLoop+1 //BAIL ENDIF ENDFOR ENDIF ENDIF ENDREPEAT ENDPROC /// PURPOSE: /// Determines whether or not the browser should close after a successful purchase. FUNC BOOL SHOULD_BROWSER_CLOSE_AFTER_SUCCESSFUL_BIGASS_VEHICLE_BUY(WEBSITE_INDEX_ENUM siteID, SITE_BUYABLE_VEHICLE sbv) SWITCH siteID CASE WWW_LEGENDARYMOTORSPORT_NET RETURN FALSE BREAK CASE WWW_ELITASTRAVEL_COM RETURN FALSE BREAK CASE WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM #IF FEATURE_HEIST_ISLAND IF (sbv = BV_IH_KOSATKA) RETURN TRUE ENDIF #ENDIF BREAK CASE WWW_DOCKTEASE_COM RETURN FALSE BREAK CASE WWW_PANDMCYCLES_COM RETURN FALSE BREAK CASE WWW_SOUTHERNSANANDREASSUPERAUTOS_COM RETURN FALSE BREAK CASE WWW_BENNYSORIGINALMOTORWORKS_COM RETURN FALSE BREAK CASE WWW_ARENAWAR_TV RETURN FALSE BREAK ENDSWITCH RETURN FALSE ENDFUNC