2302 lines
83 KiB
Scheme
Executable File
2302 lines
83 KiB
Scheme
Executable File
/***********************************
|
|
* Name: PM_MissionCreator_Public.sch
|
|
* Author: James Adwick
|
|
* Date: 03/10/2012
|
|
* Purpose: Common function used
|
|
* throughout MP to handle
|
|
* mission creator pause menu
|
|
***********************************/
|
|
|
|
USING "globals.sch"
|
|
USING "net_include.sch"
|
|
USING "net_interactions_public.sch"
|
|
USING "net_realty_details.sch"
|
|
|
|
USING "net_private_yacht.sch"
|
|
|
|
ENUM PAUSE_MENU_CREATOR_TYPE
|
|
PM_CREATE_MISSION = 0,
|
|
PM_CREATE_DM,
|
|
PM_CREATE_TDM,
|
|
PM_CREATE_VDM,
|
|
PM_CREATE_TVDM,
|
|
PM_CREATE_RACE_LAND,
|
|
PM_CREATE_RACE_SEA,
|
|
PM_CREATE_RACE_AIR,
|
|
PM_CREATE_SURVIVAL,
|
|
PM_CREATE_HIDEOUT,
|
|
PM_CREATE_SMUGGLING,
|
|
PM_CREATE_BASEJUMP,
|
|
PM_CREATE_MISSION_TUTORIAL,
|
|
PM_CREATE_RACE_TUTORIAL,
|
|
PM_CREATE_DM_TUTORIAL
|
|
ENDENUM
|
|
|
|
CONST_INT SPAWN_APT_1 0
|
|
CONST_INT SPAWN_APT_2 1
|
|
CONST_INT SPAWN_APT_3 2
|
|
CONST_INT SPAWN_APT_4 3
|
|
CONST_INT SPAWN_APT_5 4
|
|
CONST_INT SPAWN_APT_6 5
|
|
CONST_INT SPAWN_APT_7 6
|
|
CONST_INT SPAWN_APT_8 7
|
|
CONST_INT SPAWN_APT_9 8
|
|
CONST_INT SPAWN_APT_10 9
|
|
CONST_INT SPAWN_GAR_1 10
|
|
CONST_INT SPAWN_GAR_2 11
|
|
CONST_INT SPAWN_GAR_3 12
|
|
CONST_INT SPAWN_GAR_4 13
|
|
CONST_INT SPAWN_GAR_5 14
|
|
CONST_INT SPAWN_GAR_6 15
|
|
CONST_INT SPAWN_GAR_7 16
|
|
CONST_INT SPAWN_GAR_8 17
|
|
CONST_INT SPAWN_GAR_9 18
|
|
CONST_INT SPAWN_GAR_10 19 //MAX_OWNED_PROPERTIES
|
|
CONST_INT SPAWN_PRIVATE_YACHT 20
|
|
CONST_INT SPAWN_OFFICE 21
|
|
CONST_INT SPAWN_CLUBHOUSE 22
|
|
CONST_INT SPAWN_IE_WAREHOUSE 23
|
|
CONST_INT SPAWN_BUNKER 24
|
|
CONST_INT SPAWN_HANGAR 25
|
|
CONST_INT SPAWN_DEFUNCT_BASE 26
|
|
CONST_INT SPAWN_NIGHTCLUB 27
|
|
CONST_INT SPAWN_ARENA_GARAGE 28
|
|
CONST_INT SPAWN_CASINO_APARTMENT 29
|
|
CONST_INT SPAWN_ARCADE 30
|
|
CONST_INT SPAWN_SUBMARINE 31
|
|
CONST_INT SPAWN_CAR_MEET 32
|
|
CONST_INT SPAWN_AUTO_SHOP 33
|
|
|
|
|
|
CONST_INT SPAWN_FIXER_HQ 34
|
|
CONST_INT SPAWN_LAST_LOCATION 35
|
|
CONST_INT SPAWN_RANDOM 36
|
|
CONST_INT SPAWN_MAX 37
|
|
|
|
|
|
//SPAWN OPTIONS
|
|
|
|
//#ENDIF
|
|
|
|
|
|
|
|
//#ENDIF
|
|
|
|
//#IF NOT FEATURE_BIKER
|
|
//#IF FEATURE_IMPORT_EXPORT
|
|
//
|
|
//CONST_INT SPAWN_PRIVATE_YACHT 10
|
|
//CONST_INT SPAWN_OFFICE 11
|
|
//CONST_INT SPAWN_VEH_WAREHOUSE 12
|
|
//CONST_INT SPAWN_LAST_LOCATION 13
|
|
//CONST_INT SPAWN_RANDOM 14
|
|
//CONST_INT SPAWN_MAX 15
|
|
//
|
|
//#ENDIF
|
|
//#ENDIF
|
|
//
|
|
//#IF FEATURE_BIKER
|
|
//#IF FEATURE_IMPORT_EXPORT
|
|
//
|
|
//CONST_INT SPAWN_PRIVATE_YACHT 10
|
|
//CONST_INT SPAWN_OFFICE 11
|
|
//CONST_INT SPAWN_CLUBHOUSE 12
|
|
//CONST_INT SPAWN_VEH_WAREHOUSE 13
|
|
//CONST_INT SPAWN_LAST_LOCATION 14
|
|
//CONST_INT SPAWN_RANDOM 15
|
|
//CONST_INT SPAWN_MAX 16
|
|
//
|
|
//#ENDIF
|
|
//#ENDIF
|
|
|
|
|
|
INT iMenuSpawnLocation = -1
|
|
|
|
/// PURPOSE: Return TRUE if a mission has been selected in SP pause menu
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_TRANSITION()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseRequestingTransition)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_WARP_TO_MISSION()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseRequestingWarp)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_A_NEW_SESSION()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuRequestingNewSession)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PAUSE_MENU_LAUNCHING_A_USER_MISSION()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseWarpToUserMission)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_TO_EDIT_A_MISSION()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseRequestingToLoadMission)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_TO_START_A_PLAYLIST()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuStartPlaylist)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_TO_CHOOSE_CHAR()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuChooseChar)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_TO_START_A_BOOK_MARK()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuStartBookMark)
|
|
ENDFUNC
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_TO_START_ONE_OF_MY_MISSIONS()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuStartMyMission)
|
|
ENDFUNC
|
|
FUNC BOOL IS_PAUSE_MENU_REQUESTING_TO_START_VERIFIED_MISSIONS()
|
|
RETURN IS_BIT_SET(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuStartVerifiedMission)
|
|
ENDFUNC
|
|
|
|
|
|
|
|
PROC SET_PAUSE_MENU_REQUESTING_TO_START_A_BOOK_MARK()
|
|
SET_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuStartBookMark)
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MAINTAIN_LAUNCHING_MISSION_FROM_PAUSE_MENU - SET_PAUSE_MENU_REQUESTING_TO_START_A_BOOK_MARK")
|
|
ENDPROC
|
|
PROC SET_PAUSE_MENU_REQUESTING_TO_START_ONE_OF_MY_MISSIONS()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MAINTAIN_LAUNCHING_MISSION_FROM_PAUSE_MENU - SET_PAUSE_MENU_REQUESTING_TO_START_ONE_OF_MY_MISSIONS")
|
|
SET_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuStartMyMission)
|
|
ENDPROC
|
|
PROC SET_PAUSE_MENU_BOOK_MARK_TO_START(INT iArrayPos)
|
|
g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iMissionToLaunch = iArrayPos
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MAINTAIN_LAUNCHING_MISSION_FROM_PAUSE_MENU - SET_PAUSE_MENU_BOOK_MARK_TO_START iArrayPos = ", iArrayPos)
|
|
ENDPROC
|
|
PROC SET_PAUSE_MENU_MY_MISSIONS_TO_START(INT iArrayPos)
|
|
g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iMissionToLaunch = iArrayPos
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MAINTAIN_LAUNCHING_MISSION_FROM_PAUSE_MENU - SET_PAUSE_MENU_MY_MISSIONS_TO_START iArrayPos = ", iArrayPos)
|
|
ENDPROC
|
|
|
|
|
|
|
|
/// PURPOSE: Reset single transition request bool
|
|
PROC RESET_PAUSE_MENU_TRANSITION_GLOBAL()
|
|
CLEAR_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseRequestingTransition)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Reset single warping bool
|
|
PROC RESET_PAUSE_MENU_WARP_GLOBAL()
|
|
CLEAR_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseRequestingWarp)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Resets bools used to trigger transition from pause menu
|
|
PROC RESET_PAUSE_MENU_WARP_REQUESTS()
|
|
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "RESETING ALL MENU WARP REQUESTS")
|
|
DEBUG_PRINTCALLSTACK()
|
|
|
|
RESET_PAUSE_MENU_TRANSITION_GLOBAL()
|
|
RESET_PAUSE_MENU_WARP_GLOBAL()
|
|
CLEAR_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseWarpToUserMission)
|
|
CLEAR_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuStartPlaylist)
|
|
CLEAR_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuRequestingNewSession)
|
|
CLEAR_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuChooseChar)
|
|
|
|
g_bKillFMMCmenu = FALSE
|
|
ENDPROC
|
|
|
|
FUNC VECTOR GET_PAUSE_MENU_VECTOR_TO_WARP_TO()
|
|
RETURN g_PauseMenuMissionCreatorData.vPMVectorToWarpTo
|
|
ENDFUNC
|
|
|
|
FUNC INT GET_PAUSE_MENU_MISSION_FILE_TO_LOAD()
|
|
RETURN g_PauseMenuMissionCreatorData.iPMDataFileToLoad
|
|
ENDFUNC
|
|
|
|
FUNC MP_GAMEMODE GET_PAUSE_MENU_WARP_TO_GAMEMODE()
|
|
RETURN INT_TO_ENUM(MP_GAMEMODE, g_PauseMenuMissionCreatorData.warpToMode)
|
|
ENDFUNC
|
|
|
|
FUNC MP_GAMEMODE GET_PAUSE_MENU_WARP_FROM_GAMEMODE()
|
|
RETURN INT_TO_ENUM(MP_GAMEMODE, g_PauseMenuMissionCreatorData.warpFromMode)
|
|
ENDFUNC
|
|
|
|
PROC CLEAN_UP_PAUSE_MENU_MISSION_CREATOR_DATA()
|
|
RESET_PAUSE_MENU_WARP_REQUESTS()
|
|
|
|
PAUSE_MENU_MISSION_CREATOR_STRUCT emptyPauseMenuStruct
|
|
g_PauseMenuMissionCreatorData = emptyPauseMenuStruct
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Set the game mode you are warping from
|
|
PROC SET_PAUSE_MENU_WARP_FROM_MODE(MP_GAMEMODE aGamemode)
|
|
g_PauseMenuMissionCreatorData.warpFromMode = ENUM_TO_INT(aGamemode)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Set the game mode you are warping to
|
|
PROC SET_PAUSE_MENU_WARP_TO_MODE(MP_GAMEMODE aGamemode)
|
|
#IF IS_DEBUG_BUILD
|
|
DEBUG_PRINTCALLSTACK()
|
|
NET_NL()NET_PRINT("<<<<SET_PAUSE_MENU_WARP_TO_MODE = ")NET_PRINT(GET_GAMEMODE_STRING(aGamemode))NET_PRINT(" >>>>>> ")
|
|
#ENDIF
|
|
g_PauseMenuMissionCreatorData.warpToMode = ENUM_TO_INT(aGamemode)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Set the co-ordinate the spawning system should place the player at
|
|
PROC SET_PAUSE_MENU_WARP_TO_VECTOR(VECTOR vWarpCoords)
|
|
g_PauseMenuMissionCreatorData.vPMVectorToWarpTo = vWarpCoords
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Sets global bit to notify selector player wants to trigger transition to MP
|
|
PROC SET_PAUSE_MENU_REQUESTING_A_WARP()
|
|
#IF IS_DEBUG_BUILD
|
|
DEBUG_PRINTCALLSTACK()
|
|
NET_NL()NET_PRINT("<<<<SET_PAUSE_MENU_REQUESTING_A_WARP - called ")NET_PRINT(" >>>>>> ")
|
|
#ENDIF
|
|
SET_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseRequestingTransition)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Sets global bit to notify selector player wants to trigger transition to MP
|
|
PROC SET_PAUSE_MENU_REQUESTING_A_WARP_TO_MISSION()
|
|
SET_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseRequestingWarp)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Sets global bit to notify selector player wants a new session
|
|
PROC SET_PAUSE_MENU_REQUESTING_A_NEW_SESSION()
|
|
SET_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuRequestingNewSession)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Sets global bit to notify selector player wants a new session
|
|
PROC SET_PAUSE_MENU_REQUESTING_TO_CHOOSE_CHAR()
|
|
SET_BIT(g_PauseMenuMissionCreatorData.iBS_PauseMenuFlags, bsPauseMenuChooseChar)
|
|
ENDPROC
|
|
|
|
PROC SET_MC_VARS_FROM_PAUSE_MENU()
|
|
|
|
SWITCH INT_TO_ENUM(PAUSE_MENU_CREATOR_TYPE, g_PauseMenuMissionCreatorData.iMissionCreatorType)
|
|
|
|
CASE PM_CREATE_MISSION
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_MISSION")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_MISSION
|
|
BREAK
|
|
|
|
CASE PM_CREATE_DM
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_DM")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_DEATHMATCH
|
|
g_FMMC_STRUCT.iTeamDeathmatch = 0
|
|
g_FMMC_STRUCT.iVehicleDeathmatch = 0
|
|
BREAK
|
|
CASE PM_CREATE_TDM
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_TDM")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_DEATHMATCH
|
|
g_FMMC_STRUCT.iTeamDeathmatch = 1
|
|
g_FMMC_STRUCT.iVehicleDeathmatch = 0
|
|
BREAK
|
|
CASE PM_CREATE_VDM
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_VDM")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_DEATHMATCH
|
|
g_FMMC_STRUCT.iTeamDeathmatch = 0
|
|
g_FMMC_STRUCT.iVehicleDeathmatch = 1
|
|
BREAK
|
|
CASE PM_CREATE_TVDM
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_TVDM")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_DEATHMATCH
|
|
g_FMMC_STRUCT.iTeamDeathmatch = 1
|
|
g_FMMC_STRUCT.iVehicleDeathmatch = 1
|
|
BREAK
|
|
CASE PM_CREATE_RACE_LAND
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_RACE_LAND")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_RACE
|
|
g_FMMC_STRUCT.iRaceType = 0
|
|
BREAK
|
|
CASE PM_CREATE_RACE_SEA
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_RACE_SEA")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_RACE
|
|
g_FMMC_STRUCT.iRaceType = 2
|
|
BREAK
|
|
CASE PM_CREATE_RACE_AIR
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_RACE_AIR")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_RACE
|
|
g_FMMC_STRUCT.iRaceType = 4
|
|
BREAK
|
|
CASE PM_CREATE_MISSION_TUTORIAL
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_MISSION_TUTORIAL")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_MISSION
|
|
g_bFMMC_TutorialSelectedFromMpSkyMenu = TRUE
|
|
BREAK
|
|
CASE PM_CREATE_DM_TUTORIAL
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_DM_TUTORIAL")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_DEATHMATCH
|
|
g_FMMC_STRUCT.iTeamDeathmatch = 0
|
|
g_FMMC_STRUCT.iVehicleDeathmatch = 0
|
|
g_bFMMC_TutorialSelectedFromMpSkyMenu = TRUE
|
|
BREAK
|
|
CASE PM_CREATE_RACE_TUTORIAL
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_RACE_TUTORIAL")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_RACE
|
|
g_FMMC_STRUCT.iRaceType = 0
|
|
g_bFMMC_TutorialSelectedFromMpSkyMenu = TRUE
|
|
BREAK
|
|
CASE PM_CREATE_SURVIVAL
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_SURVIVAL")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_SURVIVAL
|
|
BREAK
|
|
CASE PM_CREATE_HIDEOUT
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_HIDEOUT")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_GANGHIDEOUT
|
|
BREAK
|
|
CASE PM_CREATE_SMUGGLING
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_SMUGGLING")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_ARMS_SMUGGLING
|
|
BREAK
|
|
CASE PM_CREATE_BASEJUMP
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - PM_CREATE_BASEJUMP")
|
|
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_BASE_JUMP
|
|
BREAK
|
|
|
|
DEFAULT
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_MC_VARS_FROM_PAUSE_MENU - Mission creator option not known!", INT_TO_ENUM(PAUSE_MENU_CREATOR_TYPE, g_PauseMenuMissionCreatorData.iMissionCreatorType))
|
|
g_FMMC_STRUCT.iMissionType = FMMC_TYPE_MISSION
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
// IS_MP_PASSIVE_MODE_ENABLED() //MOVED TO net_include.sch (due to cyclic header)
|
|
|
|
/// PURPOSE: Returns TRUE if settings have been set for player in crew
|
|
FUNC BOOL ARE_PLAYERS_MP_SETTINGS_FOR_A_CREW()
|
|
RETURN GET_MP_BOOL_PLAYER_STAT(MPPLY_CREW_SETTINGS)
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Pass TRUE if the player is in a crew
|
|
PROC SET_PLAYERS_MP_SETTINGS_FOR_A_CREW(BOOL bCrewSettings)
|
|
SET_MP_BOOL_PLAYER_STAT(MPPLY_CREW_SETTINGS, bCrewSettings)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Returns value of spawn location setting. ENUM type MULTIPLAYER_SETTING_SPAWN
|
|
FUNC MULTIPLAYER_SETTING_SPAWN GET_MP_SPAWN_POINT_SETTING()
|
|
RETURN INT_TO_ENUM(MULTIPLAYER_SETTING_SPAWN, GET_MP_INT_CHARACTER_STAT(MP_STAT_SPAWN_LOCATION_SETTING))
|
|
ENDFUNC
|
|
|
|
FUNC STRING GET_MULTIPLAYER_SETTING_SPAWN_STRING(MULTIPLAYER_SETTING_SPAWN spawnSetting)
|
|
SWITCH spawnSetting
|
|
CASE MP_SETTING_SPAWN_NULL RETURN "MP_SETTING_SPAWN_NULL"
|
|
CASE MP_SETTING_SPAWN_PROPERTY RETURN "MP_SETTING_SPAWN_PROPERTY"
|
|
CASE MP_SETTING_SPAWN_LAST_POSITION RETURN "MP_SETTING_SPAWN_LAST_POSITION"
|
|
CASE MP_SETTING_SPAWN_GARAGE RETURN "MP_SETTING_SPAWN_GARAGE"
|
|
CASE MP_SETTING_SPAWN_RANDOM RETURN "MP_SETTING_SPAWN_RANDOM"
|
|
CASE MP_SETTING_SPAWN_PRIVATE_YACHT RETURN "MP_SETTING_SPAWN_PRIVATE_YACHT"
|
|
CASE MP_SETTING_SPAWN_OFFICE RETURN "MP_SETTING_SPAWN_OFFICE"
|
|
CASE MP_SETTING_SPAWN_CLUBHOUSE RETURN "MP_SETTING_SPAWN_CLUBHOUSE"
|
|
CASE MP_SETTING_SPAWN_IE_WAREHOUSE RETURN "MP_SETTING_SPAWN_IE_WAREHOUSE"
|
|
CASE MP_SETTING_SPAWN_BUNKER RETURN "MP_SETTING_SPAWN_BUNKER"
|
|
CASE MP_SETTING_SPAWN_HANGAR RETURN "MP_SETTING_SPAWN_HANGAR"
|
|
CASE MP_SETTING_SPAWN_DEFUNCT_BASE RETURN "MP_SETTING_SPAWN_DEFUNCT_BASE"
|
|
CASE MP_SETTING_SPAWN_NIGHTCLUB RETURN "MP_SETTING_SPAWN_NIGHTCLUB"
|
|
CASE MP_SETTING_SPAWN_ARENA_GARAGE RETURN "MP_SETTING_SPAWN_ARENA_GARAGE"
|
|
CASE MP_SETTING_SPAWN_CASINO_APARTMENT RETURN "MP_SETTING_SPAWN_CASINO_APARTMENT"
|
|
CASE MP_SETTING_SPAWN_ARCADE RETURN "MP_SETTING_SPAWN_ARCADE"
|
|
CASE MP_SETTING_SPAWN_SUBMARINE RETURN "MP_SETTING_SPAWN_SUBMARINE"
|
|
CASE MP_SETTING_SPAWN_CAR_MEET RETURN "MP_SETTING_SPAWN_CAR_MEET"
|
|
CASE MP_SETTING_SPAWN_AUTO_SHOP RETURN "MP_SETTING_SPAWN_AUTO_SHOP"
|
|
#IF FEATURE_FIXER
|
|
CASE MP_SETTING_SPAWN_FIXER_HQ RETURN "MP_SETTING_SPAWN_FIXER_HQ"
|
|
#ENDIF
|
|
#IF FEATURE_GEN9_EXCLUSIVE
|
|
CASE MP_SETTING_BIKER_TUTORIAL_BUSINESS RETURN "MP_SETTING_BIKER_TUTORIAL_BUSINESS"
|
|
#ENDIF
|
|
CASE MP_SETTING_SPAWN_MAX RETURN "MP_SETTING_SPAWN_MAX"
|
|
ENDSWITCH
|
|
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Set the stat value of the MP setting: spawn location
|
|
/// PARAMS:
|
|
/// spawnSetting - pass valid type of MULTIPLAYER_SETTING_SPAWN
|
|
PROC SET_MP_SPAWN_POINT_SETTING(MULTIPLAYER_SETTING_SPAWN spawnSetting)
|
|
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "SET_MP_SPAWN_POINT_SETTING - new setting: ", ENUM_TO_INT(spawnSetting))
|
|
DEBUG_PRINTCALLSTACK()
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_SPAWN_LOCATION_SETTING, ENUM_TO_INT(spawnSetting))
|
|
NETWORK_SET_CURRENT_SPAWN_LOCATION_OPTION(GET_HASH_KEY(GET_MULTIPLAYER_SETTING_SPAWN_STRING(spawnSetting)))
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Returns value of player title setting. ENUM type MULTIPLAYER_SETTING_TITLE
|
|
FUNC MULTIPLAYER_SETTING_TITLE GET_MP_CHARACTER_TITLE_SETTING()
|
|
RETURN INT_TO_ENUM(MULTIPLAYER_SETTING_TITLE, GET_MP_INT_CHARACTER_STAT(MP_STAT_PLAYER_TITLE_SETTING))
|
|
ENDFUNC
|
|
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Set the stat value of the MP setting: player title
|
|
/// PARAMS:
|
|
/// playerTitleSetting - pass valid type of MULTIPLAYER_SETTING_TITLE
|
|
PROC SET_MP_CHARACTER_TITLE_SETTING(MULTIPLAYER_SETTING_TITLE playerTitleSetting)
|
|
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "SET_MP_CHARACTER_TITLE_SETTING - new setting: ", ENUM_TO_INT(playerTitleSetting))
|
|
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_PLAYER_TITLE_SETTING, ENUM_TO_INT(playerTitleSetting))
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Returns value of betting odds setting. ENUM type MULTIPLAYER_SETTING_BETTING_ODDS
|
|
FUNC MULTIPLAYER_SETTING_BETTING_ODDS GET_MP_BETTING_ODDS_SETTING()
|
|
RETURN INT_TO_ENUM(MULTIPLAYER_SETTING_BETTING_ODDS, GET_MP_INT_PLAYER_STAT(MPPLY_BETTING_ODDS_SETTING))
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Set the stat value of the MP setting: betting odds
|
|
/// PARAMS:
|
|
/// bettingOddsSetting - pass valid type of MULTIPLAYER_SETTING_BETTING_ODDS
|
|
PROC SET_MP_PLAYER_BETTING_ODDS_SETTING(MULTIPLAYER_SETTING_BETTING_ODDS bettingOddsSetting)
|
|
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "SET_MP_PLAYER_BETTING_ODDS_SETTING - new setting: ", ENUM_TO_INT(bettingOddsSetting))
|
|
|
|
SET_MP_INT_PLAYER_STAT(MPPLY_BETTING_ODDS_SETTING, ENUM_TO_INT(bettingOddsSetting))
|
|
ENDPROC
|
|
|
|
|
|
/// PURPOSE: Returns value of the current quick play animation
|
|
FUNC INT GET_MP_PLAYER_ANIM_SETTING()
|
|
RETURN GET_MP_INT_CHARACTER_STAT(MP_STAT_PLAYER_ANIM_SETTING)
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Returns value of the current quick play animation type
|
|
FUNC INT GET_MP_PLAYER_ANIM_TYPE()
|
|
RETURN GET_MP_INT_CHARACTER_STAT(MP_STAT_PLAYER_ANIM_TYPE)
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Returns value of the current quick play animation
|
|
FUNC INT GET_MP_PLAYER_VEH_ANIM_SETTING()
|
|
RETURN GET_MP_INT_CHARACTER_STAT(MP_STAT_PLAYER_ANIM_VEH_SETTING)
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Set the stat value of the MP setting: player quick animation
|
|
/// PARAMS:
|
|
/// iAnimSetting - pass int for player animation (interaction)
|
|
PROC SET_MP_PLAYER_ANIM_SETTING(INT iAnimType, INT iAnimSetting)
|
|
#IF IS_DEBUG_BUILD
|
|
DEBUG_PRINTCALLSTACK()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "SET_MP_PLAYER_ANIM_SETTING - iAnimType = ", iAnimType, " iAnimSetting = ", iAnimSetting, " interaction name: ", INTERACTION_ANIMS_DEBUG_NAME(iAnimType, iAnimSetting))
|
|
#ENDIF
|
|
//MPGlobalsInteractions.bUpdateQuickplayAnim = TRUE // added by neil, to let my system know a value has changed without having to call the stat check every frame
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_PLAYER_ANIM_SETTING, iAnimSetting)
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_PLAYER_ANIM_TYPE, iAnimType)
|
|
|
|
g_iCurrentOnFootQuickplayType = iAnimType
|
|
g_iCurrentOnFootQuickplayAnim = iAnimSetting
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Set the stat value of the MP setting: player quickvehicle animation
|
|
/// PARAMS:
|
|
/// iAnimSetting - pass int for player vehicle animation (interaction)
|
|
PROC SET_MP_PLAYER_VEH_ANIM_SETTING(INT iAnimSetting)
|
|
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "SET_MP_PLAYER_VEH_ANIM_SETTING - new setting: ", iAnimSetting)
|
|
//MPGlobalsInteractions.bUpdateQuickplayAnimVeh = TRUE // added by neil, to let my system know a value has changed without having to call the stat check every frame
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_PLAYER_ANIM_VEH_SETTING, iAnimSetting)
|
|
|
|
g_iCurrentInVehQuickplayAnim = iAnimSetting
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_MP_PLAYER_ANIM_SETTING_CREW_DEFAULT()
|
|
RETURN (GET_MP_PLAYER_ANIM_TYPE() = ENUM_TO_INT(INTERACTION_ANIM_TYPE_CREW)) //(GET_MP_PLAYER_ANIM_SETTING() = MP_SETTING_QUICK_ANIM_CREW)
|
|
ENDFUNC
|
|
|
|
FUNC INT GET_MP_SESSION_CREWS_NUM()
|
|
RETURN MPGlobalsAmbience.iPMLaunchCrewSessionNum
|
|
ENDFUNC
|
|
|
|
PROC SET_MP_SESSION_CREWS_NUM(INT iNewNum)
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "SET_MP_SESSION_CREWS_NUM - new value: ", iNewNum)
|
|
MPGlobalsAmbience.iPMLaunchCrewSessionNum = iNewNum
|
|
ENDPROC
|
|
|
|
//Purpose: Set the spawn location based on iMenuSpawnLocation
|
|
PROC SET_MP_SPAWN_POINT_FROM_MENU_OPTION()
|
|
SWITCH iMenuSpawnLocation
|
|
CASE SPAWN_APT_1
|
|
CASE SPAWN_APT_2
|
|
CASE SPAWN_APT_3
|
|
CASE SPAWN_APT_4
|
|
CASE SPAWN_APT_5
|
|
CASE SPAWN_APT_6
|
|
#IF FEATURE_SUMMER_2020
|
|
CASE SPAWN_APT_7
|
|
CASE SPAWN_APT_8
|
|
#ENDIF
|
|
CASE SPAWN_APT_9 //MAX_OWNED_PROPERTIES //OLD PROPERTIES
|
|
CASE SPAWN_APT_10
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_PROPERTY)
|
|
BREAK
|
|
CASE SPAWN_GAR_1
|
|
CASE SPAWN_GAR_2
|
|
CASE SPAWN_GAR_3
|
|
CASE SPAWN_GAR_4
|
|
CASE SPAWN_GAR_5
|
|
CASE SPAWN_GAR_6
|
|
#IF FEATURE_SUMMER_2020
|
|
CASE SPAWN_GAR_7
|
|
CASE SPAWN_GAR_8
|
|
#ENDIF
|
|
CASE SPAWN_GAR_9 //MAX_OWNED_PROPERTIES //OLD PROPERTIES
|
|
CASE SPAWN_GAR_10
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_GARAGE)
|
|
BREAK
|
|
CASE SPAWN_LAST_LOCATION SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_LAST_POSITION) BREAK
|
|
CASE SPAWN_RANDOM SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_RANDOM) BREAK
|
|
|
|
CASE SPAWN_PRIVATE_YACHT SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_PRIVATE_YACHT) BREAK
|
|
|
|
CASE SPAWN_OFFICE SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_OFFICE) BREAK
|
|
|
|
CASE SPAWN_CLUBHOUSE SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_CLUBHOUSE) BREAK
|
|
|
|
CASE SPAWN_IE_WAREHOUSE
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_IE_WAREHOUSE)
|
|
BREAK
|
|
CASE SPAWN_BUNKER
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_BUNKER)
|
|
BREAK
|
|
CASE SPAWN_HANGAR
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_HANGAR)
|
|
BREAK
|
|
CASE SPAWN_DEFUNCT_BASE
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_DEFUNCT_BASE)
|
|
BREAK
|
|
CASE SPAWN_NIGHTCLUB
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_NIGHTCLUB)
|
|
BREAK
|
|
CASE SPAWN_ARENA_GARAGE
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_ARENA_GARAGE)
|
|
BREAK
|
|
CASE SPAWN_CASINO_APARTMENT
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_CASINO_APARTMENT)
|
|
BREAK
|
|
CASE SPAWN_ARCADE
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_ARCADE)
|
|
BREAK
|
|
CASE SPAWN_SUBMARINE
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_SUBMARINE)
|
|
BREAK
|
|
CASE SPAWN_CAR_MEET
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_CAR_MEET)
|
|
BREAK
|
|
CASE SPAWN_AUTO_SHOP
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_AUTO_SHOP)
|
|
BREAK
|
|
#IF FEATURE_FIXER
|
|
CASE SPAWN_FIXER_HQ
|
|
SET_MP_SPAWN_POINT_SETTING(MP_SETTING_SPAWN_FIXER_HQ)
|
|
BREAK
|
|
#ENDIF
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
//Purpose: Update the last used property from the spawn location selection
|
|
PROC SET_LAST_USED_PROPERTY_FROM_MENU_SELECTION()
|
|
SWITCH iMenuSpawnLocation
|
|
CASE SPAWN_APT_1
|
|
CASE SPAWN_GAR_1
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(0))
|
|
BREAK
|
|
CASE SPAWN_APT_2
|
|
CASE SPAWN_GAR_2
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(1))
|
|
BREAK
|
|
CASE SPAWN_APT_3
|
|
CASE SPAWN_GAR_3
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(2))
|
|
BREAK
|
|
CASE SPAWN_APT_4
|
|
CASE SPAWN_GAR_4
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(3))
|
|
BREAK
|
|
CASE SPAWN_APT_5
|
|
CASE SPAWN_GAR_5
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(4))
|
|
BREAK
|
|
CASE SPAWN_PRIVATE_YACHT
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(YACHT_PROPERTY_OWNED_SLOT))
|
|
BREAK
|
|
CASE SPAWN_OFFICE
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0))
|
|
BREAK
|
|
CASE SPAWN_CLUBHOUSE
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_CLUBHOUSE))
|
|
BREAK
|
|
|
|
CASE SPAWN_APT_6
|
|
CASE SPAWN_GAR_6
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_6))
|
|
BREAK
|
|
CASE SPAWN_IE_WAREHOUSE
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_IMPORT_EXPORT_GARAGE_ID(GET_PLAYERS_OWNED_IE_GARAGE(PLAYER_ID())))
|
|
BREAK
|
|
CASE SPAWN_BUNKER
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_FACTORY_ID(GET_OWNED_BUNKER(PLAYER_ID())))
|
|
BREAK
|
|
CASE SPAWN_HANGAR
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_HANGAR_ID(GET_OWNED_HANGAR(PLAYER_ID())))
|
|
BREAK
|
|
CASE SPAWN_DEFUNCT_BASE
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_DEFUNCT_BASE_ID(GET_OWNED_DEFUNCT_BASE(PLAYER_ID())))
|
|
BREAK
|
|
CASE SPAWN_NIGHTCLUB
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_NIGHTCLUB_ID(GET_PLAYERS_OWNED_NIGHTCLUB(PLAYER_ID())))
|
|
BREAK
|
|
CASE SPAWN_ARENA_GARAGE
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_ARENA_GARAGE_ID(GET_PLAYERS_OWNED_ARENA_GARAGE(PLAYER_ID())))
|
|
BREAK
|
|
|
|
CASE SPAWN_CASINO_APARTMENT
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_CASINO_APARTMENT_ID(GET_PLAYERS_OWNED_CASINO_APARTMENT(PLAYER_ID())))
|
|
BREAK
|
|
CASE SPAWN_ARCADE
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_ARCADE_PROPERTY_ID(GET_PLAYERS_OWNED_ARCADE_PROPERTY(PLAYER_ID())))
|
|
BREAK
|
|
CASE SPAWN_APT_7
|
|
CASE SPAWN_GAR_7
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7))
|
|
BREAK
|
|
CASE SPAWN_APT_8
|
|
CASE SPAWN_GAR_8
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8))
|
|
BREAK
|
|
CASE SPAWN_APT_9
|
|
CASE SPAWN_GAR_9
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_9))
|
|
BREAK
|
|
CASE SPAWN_APT_10
|
|
CASE SPAWN_GAR_10
|
|
SET_LAST_USED_PROPERTY(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_10)) //CDM PROPERTY STAT UPDATE //OLD PROPERTIES
|
|
BREAK
|
|
|
|
CASE SPAWN_SUBMARINE
|
|
SET_LAST_USED_SIMPLE_INTERIOR(SIMPLE_INTERIOR_SUBMARINE)
|
|
BREAK
|
|
CASE SPAWN_CAR_MEET
|
|
SET_LAST_USED_SIMPLE_INTERIOR(SIMPLE_INTERIOR_CAR_MEET)
|
|
BREAK
|
|
CASE SPAWN_AUTO_SHOP
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_AUTO_SHOP_PROPERTY_ID(GET_PLAYERS_OWNED_AUTO_SHOP_PROPERTY(PLAYER_ID())))
|
|
BREAK
|
|
#IF FEATURE_FIXER
|
|
CASE SPAWN_FIXER_HQ
|
|
SET_LAST_USED_SIMPLE_INTERIOR(GET_SIMPLE_INTERIOR_ID_FROM_FIXER_HQ_ID(GET_PLAYERS_OWNED_FIXER_HQ(PLAYER_ID())))
|
|
BREAK
|
|
#ENDIF
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
FUNC INT GET_PROPERTY_MENU_SPAWN_INDEX(INT iPropertySlot, BOOL bGarage)
|
|
IF iPropertySlot <= SPAWN_APT_5
|
|
IF NOT bGarage
|
|
RETURN iPropertySlot
|
|
ELSE
|
|
RETURN SPAWN_GAR_1 + iPropertySlot
|
|
ENDIF
|
|
ELIF iPropertySlot = PROPERTY_OWNED_SLOT_OFFICE_0
|
|
IF NOT bGarage
|
|
RETURN SPAWN_OFFICE
|
|
ENDIF
|
|
ELIF iPropertySlot = PROPERTY_OWNED_SLOT_CLUBHOUSE
|
|
IF NOT bGarage
|
|
RETURN SPAWN_CLUBHOUSE
|
|
ENDIF
|
|
ELIF iPropertySlot = PROPERTY_OWNED_SLOT_APT_6
|
|
IF NOT bGarage
|
|
RETURN SPAWN_APT_6
|
|
ELSE
|
|
RETURN SPAWN_GAR_6
|
|
ENDIF
|
|
#IF FEATURE_SUMMER_2020
|
|
ELIF iPropertySlot = PROPERTY_OWNED_SLOT_APT_7
|
|
IF NOT bGarage
|
|
RETURN SPAWN_APT_7
|
|
ELSE
|
|
RETURN SPAWN_GAR_7
|
|
ENDIF
|
|
ELIF iPropertySlot = PROPERTY_OWNED_SLOT_APT_8
|
|
IF NOT bGarage
|
|
RETURN SPAWN_APT_8
|
|
ELSE
|
|
RETURN SPAWN_GAR_8
|
|
ENDIF
|
|
#ENDIF
|
|
ELIF iPropertySlot = PROPERTY_OWNED_SLOT_APT_9
|
|
IF NOT bGarage
|
|
RETURN SPAWN_APT_9
|
|
ELSE
|
|
RETURN SPAWN_GAR_9
|
|
ENDIF
|
|
ELIF iPropertySlot = PROPERTY_OWNED_SLOT_APT_10 //MAX_OWNED_PROPERTIES //OLD PROPERTIES
|
|
IF NOT bGarage
|
|
RETURN SPAWN_APT_10
|
|
ELSE
|
|
RETURN SPAWN_GAR_10
|
|
ENDIF
|
|
ELIF iPropertySlot = PROPERTY_OWNED_SLOT_IE_WAREHOUSE
|
|
IF NOT bGarage
|
|
RETURN SPAWN_IE_WAREHOUSE
|
|
ENDIF
|
|
ENDIF
|
|
RETURN -1
|
|
ENDFUNC
|
|
|
|
PROC GET_SPAWN_LOCATION_VALUE()
|
|
//INT i
|
|
|
|
SWITCH GET_MP_SPAWN_POINT_SETTING()
|
|
CASE MP_SETTING_SPAWN_PROPERTY
|
|
iMenuSpawnLocation = GET_PROPERTY_MENU_SPAWN_INDEX(GET_OWNED_PROPERTY_SLOT_INDEX(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedGeneral.iLastAccessedPropertyID),FALSE)
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_GARAGE
|
|
iMenuSpawnLocation = GET_PROPERTY_MENU_SPAWN_INDEX(GET_OWNED_PROPERTY_SLOT_INDEX(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedGeneral.iLastAccessedPropertyID),TRUE)
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_LAST_POSITION
|
|
iMenuSpawnLocation = SPAWN_LAST_LOCATION
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_RANDOM
|
|
iMenuSpawnLocation = SPAWN_RANDOM
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_PRIVATE_YACHT
|
|
iMenuSpawnLocation = SPAWN_PRIVATE_YACHT
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_OFFICE
|
|
iMenuSpawnLocation = SPAWN_OFFICE
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_CLUBHOUSE
|
|
iMenuSpawnLocation = SPAWN_CLUBHOUSE
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_IE_WAREHOUSE
|
|
iMenuSpawnLocation = SPAWN_IE_WAREHOUSE
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_BUNKER
|
|
iMenuSpawnLocation = SPAWN_BUNKER
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_HANGAR
|
|
iMenuSpawnLocation = SPAWN_HANGAR
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_DEFUNCT_BASE
|
|
iMenuSpawnLocation = SPAWN_DEFUNCT_BASE
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_NIGHTCLUB
|
|
iMenuSpawnLocation = SPAWN_NIGHTCLUB
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_ARENA_GARAGE
|
|
iMenuSpawnLocation = SPAWN_ARENA_GARAGE
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_CASINO_APARTMENT
|
|
iMenuSpawnLocation = SPAWN_CASINO_APARTMENT
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_ARCADE
|
|
iMenuSpawnLocation = SPAWN_ARCADE
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_SUBMARINE
|
|
iMenuSpawnLocation = SPAWN_SUBMARINE
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_CAR_MEET
|
|
iMenuSpawnLocation = SPAWN_CAR_MEET
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_AUTO_SHOP
|
|
iMenuSpawnLocation = SPAWN_AUTO_SHOP
|
|
BREAK
|
|
#IF FEATURE_FIXER
|
|
CASE MP_SETTING_SPAWN_FIXER_HQ
|
|
iMenuSpawnLocation = SPAWN_FIXER_HQ
|
|
BREAK
|
|
#ENDIF
|
|
ENDSWITCH
|
|
|
|
IF iMenuSpawnLocation > -1
|
|
IF iMenuSpawnLocation = SPAWN_APT_1
|
|
OR iMenuSpawnLocation = SPAWN_APT_2
|
|
OR iMenuSpawnLocation = SPAWN_APT_3
|
|
OR iMenuSpawnLocation = SPAWN_APT_4
|
|
OR iMenuSpawnLocation = SPAWN_APT_5
|
|
OR iMenuSpawnLocation = SPAWN_OFFICE
|
|
OR iMenuSpawnLocation = SPAWN_CLUBHOUSE
|
|
OR iMenuSpawnLocation = SPAWN_APT_6
|
|
#IF FEATURE_SUMMER_2020
|
|
OR iMenuSpawnLocation = SPAWN_APT_7
|
|
OR iMenuSpawnLocation = SPAWN_APT_8
|
|
#ENDIF
|
|
OR iMenuSpawnLocation = SPAWN_APT_9
|
|
OR iMenuSpawnLocation = SPAWN_APT_10 //MAX_OWNED_PROPERTIES //OLD PROPERTIES
|
|
INT iOwnedProperty
|
|
IF iMenuSpawnLocation = SPAWN_OFFICE
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0)
|
|
ELIF iMenuSpawnLocation = SPAWN_CLUBHOUSE
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_CLUBHOUSE)
|
|
ELIF iMenuSpawnLocation = SPAWN_APT_6
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_6)
|
|
#IF FEATURE_SUMMER_2020
|
|
ELIF iMenuSpawnLocation = SPAWN_APT_7
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7)
|
|
ELIF iMenuSpawnLocation = SPAWN_APT_8
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8)
|
|
#ENDIF
|
|
ELIF iMenuSpawnLocation = SPAWN_APT_7
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7)
|
|
ELIF iMenuSpawnLocation = SPAWN_APT_8
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8)
|
|
ELIF iMenuSpawnLocation = SPAWN_APT_9
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_9)
|
|
ELIF iMenuSpawnLocation = SPAWN_APT_10
|
|
iOwnedProperty = GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_10)
|
|
|
|
ENDIF
|
|
IF iOwnedProperty >= 0
|
|
AND iOwnedProperty < (MAX_MP_PROPERTIES+1)
|
|
IF mpProperties[iOwnedProperty].iType = PROPERTY_TYPE_GARAGE
|
|
OR (DOES_PLAYER_OWN_PRIVATE_YACHT(PLAYER_ID())
|
|
AND GET_OWNED_PROPERTY(0) = 0)
|
|
IF iMenuSpawnLocation = SPAWN_CLUBHOUSE
|
|
|
|
ELSE
|
|
iMenuSpawnLocation = GET_PROPERTY_MENU_SPAWN_INDEX(GET_OWNED_PROPERTY_SLOT_INDEX(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedGeneral.iLastAccessedPropertyID),TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_1
|
|
OR iMenuSpawnLocation = SPAWN_GAR_2
|
|
OR iMenuSpawnLocation = SPAWN_GAR_3
|
|
OR iMenuSpawnLocation = SPAWN_GAR_4
|
|
OR iMenuSpawnLocation = SPAWN_GAR_5
|
|
OR iMenuSpawnLocation = SPAWN_GAR_6
|
|
|
|
OR iMenuSpawnLocation = SPAWN_GAR_7
|
|
OR iMenuSpawnLocation = SPAWN_GAR_8
|
|
OR iMenuSpawnLocation = SPAWN_GAR_9
|
|
OR iMenuSpawnLocation = SPAWN_GAR_10
|
|
|
|
IF GET_OWNED_PROPERTY(GET_OWNED_PROPERTY_SLOT_INDEX(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedGeneral.iLastAccessedPropertyID)) = 0
|
|
iMenuSpawnLocation = SPAWN_LAST_LOCATION
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
//Set the globals based on the new option
|
|
SET_MP_SPAWN_POINT_FROM_MENU_OPTION()
|
|
SET_LAST_USED_PROPERTY_FROM_MENU_SELECTION()
|
|
ENDIF
|
|
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "GET_SPAWN_LOCATION_VALUE - Current iMenuSpawnLocation = ", iMenuSpawnLocation)
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Returns the correct text label for the value of a multiplayer setting
|
|
FUNC STRING GET_MULTIPLAYER_SETTING_TEXT_STRING(MULTIPLAYER_SETTINGS_ENUM aSetting)
|
|
SWITCH aSetting
|
|
|
|
CASE MP_SETTING_QUICK_ANIM_ON_FOOT
|
|
IF GET_MP_PLAYER_ANIM_TYPE() = ENUM_TO_INT(INTERACTION_ANIM_TYPE_CREW)
|
|
RETURN INTERACTION_ANIMS_TEXT_LABEL(ENUM_TO_INT(INTERACTION_ANIM_TYPE_CREW), MPGlobalsInteractions.iMyCrewInteractionAnim)
|
|
ELSE
|
|
RETURN INTERACTION_ANIMS_TEXT_LABEL(ENUM_TO_INT(INTERACTION_ANIM_TYPE_PLAYER), GET_MP_PLAYER_ANIM_SETTING())
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE MP_SETTING_QUICK_ANIM_IN_VEH
|
|
RETURN INTERACTION_ANIMS_TEXT_LABEL(ENUM_TO_INT(INTERACTION_ANIM_TYPE_IN_CAR), GET_MP_PLAYER_VEH_ANIM_SETTING())
|
|
BREAK
|
|
|
|
CASE MP_SETTING_JOINT_CELEBRATION
|
|
SWITCH GET_MP_INT_CHARACTER_STAT(MP_STAT_MP_CHAR_STAT_RALLY_ANIM)
|
|
CASE 0
|
|
RETURN "PM_TOAST_0"//"mood_Aiming_1"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PM_TOAST_1"//"mood_Angry_1"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PM_TOAST_2"//"mood_Happy_1"
|
|
BREAK
|
|
CASE 3
|
|
RETURN "PM_TOAST_3"//"mood_Happy_1"
|
|
BREAK
|
|
CASE 4
|
|
RETURN "PM_TOAST_4"//"mood_Happy_1"
|
|
BREAK
|
|
CASE 5
|
|
RETURN "PM_TOAST_5"//"mood_Happy_1"
|
|
BREAK
|
|
CASE 6
|
|
RETURN "PM_TOAST_6"//"mood_Happy_1"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE MP_SETTING_PL_MOOD_NORMAL
|
|
SWITCH GET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_NORMAL)
|
|
CASE 0
|
|
RETURN "PM_MOOD_0"//"mood_Aiming_1"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PM_MOOD_1"//"mood_Angry_1"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PM_MOOD_2"//"mood_Happy_1"
|
|
BREAK
|
|
CASE 3
|
|
RETURN "PM_MOOD_3"//"mood_Injured_1"
|
|
BREAK
|
|
CASE 4
|
|
RETURN "PM_MOOD_4"//"mood_Normal_1"
|
|
BREAK
|
|
CASE 5
|
|
RETURN "PM_MOOD_5"//"mood_stressed_1"
|
|
BREAK
|
|
CASE 6
|
|
RETURN "PM_MOOD_6"//"mood_smug_1"
|
|
BREAK
|
|
CASE 7
|
|
RETURN "PM_MOOD_7"//"mood_sulk_1"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE MP_SETTING_PL_MOOD_DM
|
|
SWITCH GET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_DM)
|
|
CASE 0
|
|
RETURN "PM_MOOD_0"//"mood_Aiming_1"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PM_MOOD_1"//"mood_Angry_1"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PM_MOOD_2"//"mood_Happy_1"
|
|
BREAK
|
|
CASE 3
|
|
RETURN "PM_MOOD_3"//"mood_Injured_1"
|
|
BREAK
|
|
CASE 4
|
|
RETURN "PM_MOOD_4"//"mood_Normal_1"
|
|
BREAK
|
|
CASE 5
|
|
RETURN "PM_MOOD_5"//"mood_stressed_1"
|
|
BREAK
|
|
CASE 6
|
|
RETURN "PM_MOOD_6"//"mood_smug_1"
|
|
BREAK
|
|
CASE 7
|
|
RETURN "PM_MOOD_7"//"mood_sulk_1"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE MP_SETTING_PL_MOOD_RACE
|
|
SWITCH GET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_RACES)
|
|
CASE 0
|
|
RETURN "PM_MOOD_0"//"mood_Aiming_1"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PM_MOOD_1"//"mood_Angry_1"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PM_MOOD_2"//"mood_Happy_1"
|
|
BREAK
|
|
CASE 3
|
|
RETURN "PM_MOOD_3"//"mood_Injured_1"
|
|
BREAK
|
|
CASE 4
|
|
RETURN "PM_MOOD_4"//"mood_Normal_1"
|
|
BREAK
|
|
CASE 5
|
|
RETURN "PM_MOOD_5"//"mood_stressed_1"
|
|
BREAK
|
|
CASE 6
|
|
RETURN "PM_MOOD_6"//"mood_smug_1"
|
|
BREAK
|
|
CASE 7
|
|
RETURN "PM_MOOD_7"//"mood_sulk_1"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE MP_SETTING_MATCHMAKING
|
|
IF NOT GET_PACKED_STAT_BOOL(PACKED_MP_MATCHMAKING_IS_PRIVATE)
|
|
RETURN "PM_MATCH_1"
|
|
ELSE
|
|
RETURN "PM_MATCH_0"
|
|
ENDIF
|
|
BREAK
|
|
CASE MP_SETTING_SPAWN_LOCATION
|
|
GET_SPAWN_LOCATION_VALUE()
|
|
MULTIPLAYER_SETTING_SPAWN iSpawnPoint
|
|
INT iTemp
|
|
iSpawnPoint = GET_MP_SPAWN_POINT_SETTING()
|
|
|
|
SWITCH iSpawnPoint
|
|
CASE MP_SETTING_SPAWN_PROPERTY
|
|
iTemp = GET_OWNED_PROPERTY_SLOT_INDEX(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedGeneral.iLastAccessedPropertyID)
|
|
IF GET_OWNED_PROPERTY(iTemp) > 0
|
|
AND GET_OWNED_PROPERTY(iTemp) <= MAX_MP_PROPERTIES
|
|
tlSettingSpawnLocation = mpproperties[GET_OWNED_PROPERTY(iTemp)].tl_PropertyName
|
|
IF mpProperties[GET_OWNED_PROPERTY(iTemp)].iType = PROPERTY_TYPE_GARAGE
|
|
tlSettingSpawnLocation += "G"
|
|
ELSE
|
|
tlSettingSpawnLocation += "A"
|
|
ENDIF
|
|
IF ARE_STRINGS_EQUAL("A", tlSettingSpawnLocation)
|
|
OR ARE_STRINGS_EQUAL("G", tlSettingSpawnLocation)
|
|
//OR GET_CURRENT_LANGUAGE() != LANGUAGE_ENGLISH
|
|
IF iTemp = 1
|
|
tlSettingSpawnLocation = "PM_SPAWN_A2"
|
|
ELSE
|
|
tlSettingSpawnLocation = "PM_SPAWN_A"
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
tlSettingSpawnLocation = "PM_SPAWN_H"
|
|
ENDIF
|
|
RETURN Get_String_From_TextLabel(tlSettingSpawnLocation)
|
|
|
|
CASE MP_SETTING_SPAWN_GARAGE
|
|
iTemp = GET_OWNED_PROPERTY_SLOT_INDEX(g_savedMPGlobalsNew.g_savedMPGlobals[GET_SAVE_GAME_ARRAY_SLOT()].MpSavedGeneral.iLastAccessedPropertyID)
|
|
IF GET_OWNED_PROPERTY(iTemp) > 0
|
|
AND GET_OWNED_PROPERTY(iTemp) <= MAX_MP_PROPERTIES
|
|
tlSettingSpawnLocation = mpproperties[GET_OWNED_PROPERTY(iTemp)].tl_PropertyName
|
|
tlSettingSpawnLocation += "G"
|
|
IF ARE_STRINGS_EQUAL("G", tlSettingSpawnLocation)
|
|
//OR GET_CURRENT_LANGUAGE() != LANGUAGE_ENGLISH
|
|
IF iTemp = 1
|
|
IF mpProperties[GET_OWNED_PROPERTY(iTemp)].iType = PROPERTY_TYPE_GARAGE
|
|
tlSettingSpawnLocation = "PM_SPAWN_G2"
|
|
ELSE
|
|
tlSettingSpawnLocation = "PM_SPAWN_AG2"
|
|
ENDIF
|
|
ELSE
|
|
IF mpProperties[GET_OWNED_PROPERTY(iTemp)].iType = PROPERTY_TYPE_GARAGE
|
|
tlSettingSpawnLocation = "PM_SPAWN_G"
|
|
ELSE
|
|
tlSettingSpawnLocation = "PM_SPAWN_AG"
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
tlSettingSpawnLocation = "PM_SPAWN_H"
|
|
ENDIF
|
|
RETURN Get_String_From_TextLabel(tlSettingSpawnLocation)
|
|
|
|
CASE MP_SETTING_SPAWN_LAST_POSITION RETURN "PM_SPAWN_LL"
|
|
CASE MP_SETTING_SPAWN_PRIVATE_YACHT RETURN "PM_SPAWN_Y"
|
|
CASE MP_SETTING_SPAWN_OFFICE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0) > 0
|
|
tlSettingSpawnLocation = mpproperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0)].tl_PropertyName
|
|
IF ARE_STRINGS_EQUAL("", tlSettingSpawnLocation)
|
|
OR ARE_STRINGS_EQUAL("S", tlSettingSpawnLocation)
|
|
//OR GET_CURRENT_LANGUAGE() != LANGUAGE_ENGLISH
|
|
tlSettingSpawnLocation = "PM_SPAWN_OFFICE"
|
|
ENDIF
|
|
ENDIF
|
|
RETURN Get_String_From_TextLabel(tlSettingSpawnLocation)
|
|
CASE MP_SETTING_SPAWN_CLUBHOUSE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_CLUBHOUSE) > 0
|
|
tlSettingSpawnLocation = mpproperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_CLUBHOUSE)].tl_PropertyName
|
|
IF ARE_STRINGS_EQUAL("", tlSettingSpawnLocation)
|
|
OR ARE_STRINGS_EQUAL("S", tlSettingSpawnLocation)
|
|
//OR GET_CURRENT_LANGUAGE() != LANGUAGE_ENGLISH
|
|
tlSettingSpawnLocation = "PM_SPAWN_CLUBH"
|
|
ENDIF
|
|
ENDIF
|
|
RETURN Get_String_From_TextLabel(tlSettingSpawnLocation)
|
|
CASE MP_SETTING_SPAWN_IE_WAREHOUSE RETURN "PM_SPAWN_IEWHS"
|
|
CASE MP_SETTING_SPAWN_BUNKER tlSettingSpawnLocation = "PM_SPAWN_BNKR"
|
|
IF GET_OWNED_BUNKER(PLAYER_ID()) != FACTORY_ID_INVALID
|
|
tlSettingSpawnLocation = GET_FACTORY_NAME_FROM_ID(GET_OWNED_BUNKER(PLAYER_ID()))
|
|
IF ARE_STRINGS_EQUAL("", tlSettingSpawnLocation)
|
|
OR ARE_STRINGS_EQUAL("S", tlSettingSpawnLocation)
|
|
//OR GET_CURRENT_LANGUAGE() != LANGUAGE_ENGLISH
|
|
tlSettingSpawnLocation = "PM_SPAWN_BNKR"
|
|
ENDIF
|
|
ENDIF
|
|
RETURN Get_String_From_TextLabel(tlSettingSpawnLocation)
|
|
|
|
CASE MP_SETTING_SPAWN_HANGAR RETURN "PM_SPAWN_HNGR"
|
|
|
|
CASE MP_SETTING_SPAWN_DEFUNCT_BASE RETURN "PM_SPAWN_BASE"
|
|
|
|
CASE MP_SETTING_SPAWN_NIGHTCLUB RETURN "PM_SPAWN_NIGHTC"
|
|
|
|
CASE MP_SETTING_SPAWN_ARENA_GARAGE RETURN "PM_SPAWN_ARENA"
|
|
|
|
CASE MP_SETTING_SPAWN_CASINO_APARTMENT RETURN "PM_SPAWN_CASINO"
|
|
|
|
CASE MP_SETTING_SPAWN_ARCADE RETURN "PM_SPAWN_ARCADE"
|
|
|
|
CASE MP_SETTING_SPAWN_SUBMARINE RETURN "PIM_SUBMARIN"
|
|
|
|
CASE MP_SETTING_SPAWN_CAR_MEET RETURN "PIM_S_CAR_MEET"
|
|
CASE MP_SETTING_SPAWN_AUTO_SHOP RETURN "PIM_S_AUTO_SHOP"
|
|
|
|
#IF FEATURE_FIXER
|
|
CASE MP_SETTING_SPAWN_FIXER_HQ RETURN "PIM_S_FIXER_HQ"
|
|
#ENDIF
|
|
|
|
CASE MP_SETTING_SPAWN_NULL
|
|
CASE MP_SETTING_SPAWN_RANDOM RETURN "PM_SPAWN_R"
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE MP_SETTING_PLAYER_TITLES
|
|
SWITCH GET_MP_CHARACTER_TITLE_SETTING()
|
|
CASE MP_SETTING_TITLE_PERSONAL RETURN "PM_PERSONAL"
|
|
CASE MP_SETTING_TITLE_CREW RETURN "PM_CREW"
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE MP_SETTING_BETTING_ODDS
|
|
SWITCH GET_MP_BETTING_ODDS_SETTING()
|
|
CASE MP_SETTING_ODDS_FRACTIONAL RETURN "PM_ODD_F"
|
|
CASE MP_SETTING_ODDS_DECIMAL RETURN "PM_ODD_D"
|
|
CASE MP_SETTING_ODDS_MONEYLINE RETURN "PM_ODD_M"
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE MP_SETTING_AW_JOIN_FROM_SPECTATOR_BOX
|
|
IF NOT GET_MP_BOOL_PLAYER_STAT(MPPLY_AW_JOINSPEC)
|
|
RETURN "PM_JOIN"
|
|
ELSE
|
|
RETURN "PM_DONTJOIN"
|
|
ENDIF
|
|
BREAK
|
|
CASE MP_SETTING_ALLOW_SPECTATORS
|
|
IF GET_MP_BOOL_PLAYER_STAT(MPPLY_CAN_SPECTATE)
|
|
RETURN "PM_ON"
|
|
ELSE
|
|
RETURN "PM_OFF"
|
|
ENDIF
|
|
BREAK
|
|
// CASE MP_SETTING_EXPANDED_RADAR
|
|
// IF GET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_EXPANDED_RADAR)
|
|
// RETURN "PM_ON"
|
|
// ELSE
|
|
// RETURN "PM_OFF"
|
|
// ENDIF
|
|
// BREAK
|
|
// CASE MP_SETTING_EXPANDED_RADAR_NAMES
|
|
// IF GET_MP_BOOL_PLAYER_STAT(MPPLY_TOGGLE_OFF_BIG_RADAR)
|
|
// RETURN "PM_OFF"
|
|
// ELSE
|
|
// RETURN "PM_ON"
|
|
// ENDIF
|
|
// BREAK
|
|
CASE MP_SETTING_MARKER_DISPLAY
|
|
SWITCH GET_PACKED_STAT_INT(PACKED_MP_PLAYER_MARKER_DISPLAY)
|
|
CASE 0 RETURN "PM_DISPLAY_0"
|
|
CASE 1 RETURN "PM_DISPLAY_1"
|
|
CASE 2 RETURN "PM_DISPLAY_2"
|
|
CASE 3 RETURN "PM_DISPLAY_3"
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE MP_SETTING_MATCH_AFTER_NJVS
|
|
IF IS_PC_VERSION()
|
|
IF GET_MP_BOOL_CHARACTER_STAT(MP_STAT_REMAINHOSTOPTION_PC)
|
|
RETURN "PM_ON"
|
|
ELSE
|
|
RETURN "PM_OFF"
|
|
ENDIF
|
|
ELSE
|
|
IF GET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_MATCHMAKING_AFTER_NJVS)
|
|
RETURN "PM_ON"
|
|
ELSE
|
|
RETURN "PM_OFF"
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE MP_SETTING_CONTENT_FILTER
|
|
SWITCH GET_PACKED_STAT_INT(PACKED_MP_CHAR_CONTENT_FILTERING)
|
|
CASE ciPAUSE_MENU_CONTENT_TYPE_ALL RETURN "PM_CF_ALL"
|
|
CASE ciPAUSE_MENU_CONTENT_TYPE_ROCKSTAR RETURN "PM_CF_RSTAR"
|
|
CASE ciPAUSE_MENU_CONTENT_TYPE_USER RETURN "PM_CF_USER"
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE MP_SETTING_ONE_ON_ONE_DM
|
|
SWITCH GET_MP_INT_CHARACTER_STAT(MP_STAT_TIME_FOR_ONE_ON_ONE_DM)
|
|
CASE 0 RETURN "PIM_IDMT0" //5 minutes
|
|
CASE 1 RETURN "PIM_IDMT1" //10 minutes
|
|
CASE 2 RETURN "PIM_IDMT2" //15 minutes
|
|
CASE 3 RETURN "PIM_IDMT3" //20 minutes
|
|
CASE 4 RETURN "PIM_IDMT4" //30 minutes
|
|
CASE 5 RETURN "PIM_IDMT5" //45 minutes
|
|
CASE 6 RETURN "PIM_IDMT6" //60 minutes
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE MP_SETTING_MP_VERSION
|
|
RETURN GET_ONLINE_VERSION()
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_LOCAL_PLAYER_IN_ACTIVE_CREW()
|
|
GAMER_HANDLE GamerHandle = GET_LOCAL_GAMER_HANDLE()
|
|
|
|
|
|
|
|
IF IS_PLAYER_ONLINE()
|
|
IF NETWORK_CLAN_SERVICE_IS_VALID() AND NETWORK_CLAN_PLAYER_IS_ACTIVE(GamerHandle)
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
//FUNC BOOL IS_LOCAL_PLAYER_ANIM_VALID(INT iAnim)
|
|
//
|
|
// //Check if Blow Kiss is Active
|
|
// IF g_sMPTunables.bvalentine_blow_kiss_anim_active = FALSE
|
|
// IF iAnim = ENUM_TO_INT(PASSENGER_INTERACTION_BLOW_KISS)
|
|
// OR iAnim = ENUM_TO_INT(PLAYER_INTERACTION_BLOW_KISS)
|
|
// CPRINTLN(DEBUG_PAUSE_MENU, "IS_LOCAL_PLAYER_ANIM_VALID - FALSE - BLOW KISS - ON FOOT")
|
|
// RETURN FALSE
|
|
// ENDIF
|
|
// ELSE
|
|
// CPRINTLN(DEBUG_PAUSE_MENU, "IS_CORONA_PLAYER_ANIM_VALID - g_sMPTunables.bvalentine_blow_kiss_anim_active = TRUE")
|
|
// ENDIF
|
|
// CPRINTLN(DEBUG_PAUSE_MENU, "IS_CORONA_PLAYER_ANIM_VALID - TRUE")
|
|
// RETURN TRUE
|
|
//ENDFUNC
|
|
|
|
//Purpose: Check if the spawn selection needs to skip any property or garage options (Incrementing)
|
|
PROC INCREMENT_SPAWN_LOCATION()
|
|
//Property
|
|
IF iMenuSpawnLocation = SPAWN_APT_1
|
|
IF mpProperties[GET_OWNED_PROPERTY(0)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(0) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 1 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_2
|
|
IF mpProperties[GET_OWNED_PROPERTY(1)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(1) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 2 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_3
|
|
IF mpProperties[GET_OWNED_PROPERTY(2)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(2) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 3 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_4
|
|
IF mpProperties[GET_OWNED_PROPERTY(3)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(3) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 4 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_5
|
|
IF mpProperties[GET_OWNED_PROPERTY(4)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(4) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 5 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
iMenuSpawnLocation = SPAWN_APT_6
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_APT_6
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_6)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_6) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 6 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_7
|
|
ENDIF
|
|
ENDIF
|
|
|
|
#IF FEATURE_SUMMER_2020
|
|
IF iMenuSpawnLocation = SPAWN_APT_7
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 7 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_8
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_8
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 8 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_9
|
|
ENDIF
|
|
ENDIF
|
|
#ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_9
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_9)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_9) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 9 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_10
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_10 //MAX_OWNED_PROPERTIES //OLD PROPERTIES
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_10)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_10) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP PROPERTY 10 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_1
|
|
ENDIF
|
|
ENDIF
|
|
//Garage
|
|
IF iMenuSpawnLocation = SPAWN_GAR_1
|
|
IF GET_OWNED_PROPERTY(0) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 1 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_2
|
|
IF GET_OWNED_PROPERTY(1) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 2 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_3
|
|
IF GET_OWNED_PROPERTY(2) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 3 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_4
|
|
IF GET_OWNED_PROPERTY(3) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 4 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_5
|
|
IF GET_OWNED_PROPERTY(4) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 5 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
iMenuSpawnLocation = SPAWN_GAR_6
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_6
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_6) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 6 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_7
|
|
ENDIF
|
|
ENDIF
|
|
#IF FEATURE_SUMMER_2020
|
|
IF iMenuSpawnLocation = SPAWN_GAR_7
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 7 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_8
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_8
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 8 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_9
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_GAR_9
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_9) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 9 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_10
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_10 //MAX_OWNED_PROPERTIES //CDM PROPERTY STAT UPDATE //OLD PROPERTIES
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_10) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP GARAGE 10 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_PRIVATE_YACHT
|
|
ENDIF
|
|
ENDIF
|
|
|
|
#ENDIF
|
|
|
|
//Yacht
|
|
IF iMenuSpawnLocation = SPAWN_PRIVATE_YACHT
|
|
IF NOT DOES_PLAYER_OWN_PRIVATE_YACHT(PLAYER_ID())
|
|
OR g_sMPTunables.byacht_disable_yacht_as_spawn_location
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP YACHT = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_OFFICE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0) = 0
|
|
OR NOT DOES_PROPERTY_HAVE_LIVING_QUATERS_ENABLED(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0))
|
|
OR g_sMPTunables.bexec_disable_office_spawn
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP OFFICE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_CLUBHOUSE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_CLUBHOUSE) = 0
|
|
OR BLOCK_CLUBHOUSE_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP CLUBHOUSE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_IE_WAREHOUSE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_IE_WAREHOUSE) = 0
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_IE_WAREHOUSE_INTRO_CUTSCENE()
|
|
OR BLOCK_IE_WAREHOUSE_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP VEH WAREHOUSE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_BUNKER
|
|
IF GET_OWNED_BUNKER(PLAYER_ID()) = FACTORY_ID_INVALID
|
|
OR NOT IS_BUNKER_SAVEBED_PURCHASED()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_INTERIOR_CUTSCENE(biFmCut_Bunker_Intro_Cutscene)
|
|
OR BLOCK_BUNKER_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP BUNKER = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_HANGAR
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_HANGAR) = 0
|
|
OR NOT IS_HANGAR_PERSONAL_QUARTERS_PURCHASED()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_INTERIOR_CUTSCENE(biFmCut_Hangar_Intro_Cutscene)
|
|
OR BLOCK_HANGAR_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP HANGAR = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_DEFUNCT_BASE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_DEFUNCBASE) = 0
|
|
OR NOT HAS_LOCAL_PLAYER_PURCHASED_DEFUNCT_BASE_PERSONAL_QUARTERS()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_INTERIOR_CUTSCENE(biFmCut_Base_Intro_Cutscene)
|
|
OR BLOCK_DEFUNCT_BASE_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP DEFUNCT BASE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_NIGHTCLUB
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_NIGHTCLUB) = 0
|
|
OR NOT DOES_PLAYER_OWN_A_NIGHTCLUB(PLAYER_ID())
|
|
OR NOT IS_BIT_SET(GlobalplayerBD_FM[NATIVE_TO_INT(PLAYER_ID())].propertyDetails.bdBusinessHubData.iBSSetupMissionCompleted, PROPERTY_BROADCAST_BS_SETUP_COMPLETE_COLLECT_DJ) //HAS_PLAYER_COMPLETED_NIGHTCLUB_SETUP_MISSION(PLAYER_ID(), MBV_COLLECT_DJ_CRASH)
|
|
OR BLOCK_NIGHTCLUB_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP NIGHTCLUB = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_ARENA_GARAGE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_ARENAWARS_GARAGE_LVL1) = 0
|
|
OR NOT DOES_PLAYER_OWN_AN_ARENA_GARAGE(PLAYER_ID())
|
|
OR NOT HAS_LOCAL_PLAYER_PURCHASED_ARENA_GARAGE_PERSONAL_QUARTERS()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_ARENA_MOCAP_SCENE_2()
|
|
OR BLOCK_ARENA_GARAGE_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP ARENA GARAGE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_CASINO_APARTMENT
|
|
IF NOT DOES_PLAYER_OWN_A_CASINO_APARTMENT(PLAYER_ID())
|
|
OR BLOCK_CASINO_APARTMENT_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_CASINO_PENTHOUSE_MOCAP()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP CASINO APARTMENT = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_ARCADE
|
|
IF NOT DOES_PLAYER_OWN_AN_ARCADE_PROPERTY(PLAYER_ID())
|
|
OR BLOCK_ARCADE_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_PURCHASED_ARCADE_PERSONAL_QUARTERS()
|
|
OR NOT HAS_LOCAL_PLAYER_COMPLETE_FULL_ARCADE_SETUP()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_ARCADE_MOCAP()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP ARCADE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_SUBMARINE
|
|
IF NOT IS_SUBMARINE_OWNED_BY_CHARACTER()
|
|
OR BLOCK_SUBMARINE_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_HS4_SUBMARINE_MOCAP()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP SUBMARINE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_CAR_MEET
|
|
IF BLOCK_CAR_MEET_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_CAR_MEET_MOCAP()
|
|
OR NOT HAS_PLAYER_PURCHASED_CAR_CLUB_MEMBERSHIP(PLAYER_ID())
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP CAR MEET = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_AUTO_SHOP
|
|
IF NOT IS_AUTO_SHOP_OWNED_BY_CHARACTER()
|
|
OR BLOCK_AUTO_SHOP_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_PURCHASED_AUTO_SHOP_PERSONAL_QUARTERS(TRUE)
|
|
OR NOT HAS_LOCAL_PLAYER_COMPLETED_AUTO_SHOP_SETUP_MISSION(TRUE)
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_AUTO_SHOP_SETUP_CUTSCENE()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_AUTO_SHOP_FINISHED_SETUP_CUTSCENE()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP AUTO SHOP = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
|
|
#IF FEATURE_FIXER
|
|
IF iMenuSpawnLocation = SPAWN_FIXER_HQ
|
|
IF NOT IS_FIXER_HQ_OWNED_BY_CHARACTER()
|
|
OR BLOCK_FIXER_HQ_SPAWNING()
|
|
OR NOT HAS_PLAYER_PURCHASED_FIXER_HQ_UPGRADE_PERSONAL_QUARTERS(PLAYER_ID())
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_FIXER_HQ_INTRO_CUTSCENE()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP FIXER_HQ = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//Purpose: Check if the spawn selection needs to skip any property or garage options (Decrement)
|
|
PROC DECREMENT_SPAWN_LOCATION()
|
|
#IF FEATURE_FIXER
|
|
IF iMenuSpawnLocation = SPAWN_FIXER_HQ
|
|
IF NOT IS_FIXER_HQ_OWNED_BY_CHARACTER()
|
|
OR BLOCK_FIXER_HQ_SPAWNING()
|
|
OR NOT HAS_PLAYER_PURCHASED_FIXER_HQ_UPGRADE_PERSONAL_QUARTERS(PLAYER_ID())
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_FIXER_HQ_INTRO_CUTSCENE()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN RIGHT - SKIP FIXER_HQ = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_CAR_MEET
|
|
IF BLOCK_CAR_MEET_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_CAR_MEET_MOCAP()
|
|
OR NOT HAS_PLAYER_PURCHASED_CAR_CLUB_MEMBERSHIP(PLAYER_ID())
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP CAR MEET = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_AUTO_SHOP
|
|
IF NOT IS_AUTO_SHOP_OWNED_BY_CHARACTER()
|
|
OR BLOCK_AUTO_SHOP_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_PURCHASED_AUTO_SHOP_PERSONAL_QUARTERS(TRUE)
|
|
OR NOT HAS_LOCAL_PLAYER_COMPLETED_AUTO_SHOP_SETUP_MISSION(TRUE)
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_AUTO_SHOP_SETUP_CUTSCENE()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_AUTO_SHOP_FINISHED_SETUP_CUTSCENE()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP CAR MEET = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_SUBMARINE
|
|
IF NOT IS_SUBMARINE_OWNED_BY_CHARACTER()
|
|
OR BLOCK_SUBMARINE_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_HS4_SUBMARINE_MOCAP()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP SUBMARINE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_ARCADE
|
|
IF NOT DOES_PLAYER_OWN_AN_ARCADE_PROPERTY(PLAYER_ID())
|
|
OR BLOCK_ARCADE_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_PURCHASED_ARCADE_PERSONAL_QUARTERS()
|
|
OR NOT HAS_LOCAL_PLAYER_COMPLETE_FULL_ARCADE_SETUP()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_ARCADE_MOCAP()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP ARCADE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_CASINO_APARTMENT
|
|
IF NOT DOES_PLAYER_OWN_A_CASINO_APARTMENT(PLAYER_ID())
|
|
OR BLOCK_CASINO_APARTMENT_SPAWNING()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_CASINO_PENTHOUSE_MOCAP()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] INCREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP CASINO APARTMENT = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_ARENA_GARAGE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_ARENAWARS_GARAGE_LVL1) = 0
|
|
OR NOT HAS_LOCAL_PLAYER_PURCHASED_ARENA_GARAGE_PERSONAL_QUARTERS()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_ARENA_MOCAP_SCENE_2()
|
|
OR BLOCK_ARENA_GARAGE_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP ARENA GARAGE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_NIGHTCLUB
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_NIGHTCLUB) = 0
|
|
OR NOT IS_BIT_SET(GlobalplayerBD_FM[NATIVE_TO_INT(PLAYER_ID())].propertyDetails.bdBusinessHubData.iBSSetupMissionCompleted, PROPERTY_BROADCAST_BS_SETUP_COMPLETE_COLLECT_DJ) //HAS_PLAYER_COMPLETED_NIGHTCLUB_SETUP_MISSION(PLAYER_ID(), MBV_COLLECT_DJ_CRASH)
|
|
OR BLOCK_NIGHTCLUB_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP NIGHTCLUB = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_DEFUNCT_BASE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_DEFUNCBASE) = 0
|
|
OR NOT HAS_LOCAL_PLAYER_PURCHASED_DEFUNCT_BASE_PERSONAL_QUARTERS()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_INTERIOR_CUTSCENE(biFmCut_Base_Intro_Cutscene)
|
|
OR BLOCK_DEFUNCT_BASE_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP DEFUNCT BASE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_HANGAR
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_HANGAR) = 0
|
|
OR NOT IS_HANGAR_PERSONAL_QUARTERS_PURCHASED()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_INTERIOR_CUTSCENE(biFmCut_Hangar_Intro_Cutscene)
|
|
OR BLOCK_HANGAR_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP HANGAR = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_BUNKER
|
|
IF GET_OWNED_BUNKER(PLAYER_ID()) = FACTORY_ID_INVALID
|
|
OR NOT IS_BUNKER_SAVEBED_PURCHASED()
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_INTERIOR_CUTSCENE(biFmCut_Bunker_Intro_Cutscene)
|
|
OR BLOCK_BUNKER_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP BUNKER = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_IE_WAREHOUSE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_IE_WAREHOUSE) = 0
|
|
OR NOT HAS_LOCAL_PLAYER_VIEWED_IE_WAREHOUSE_INTRO_CUTSCENE()
|
|
OR BLOCK_IE_WAREHOUSE_SPAWNING()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP VEH WAREHOUSE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_CLUBHOUSE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_CLUBHOUSE) = 0
|
|
OR BLOCK_CLUBHOUSE_SPAWNING()
|
|
//OR NOT DOES_PROPERTY_HAVE_LIVING_QUATERS_ENABLED(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0))
|
|
//OR g_sMPTunables.bexec_disable_office_spawn
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP CLUBHOUSE = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_OFFICE
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0) = 0
|
|
OR NOT DOES_PROPERTY_HAVE_LIVING_QUATERS_ENABLED(GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_OFFICE_0))
|
|
OR g_sMPTunables.bexec_disable_office_spawn
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP OFFICE= ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
//Yacht
|
|
IF iMenuSpawnLocation = SPAWN_PRIVATE_YACHT
|
|
IF NOT DOES_PLAYER_OWN_PRIVATE_YACHT(PLAYER_ID())
|
|
OR g_sMPTunables.byacht_disable_yacht_as_spawn_location
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP YACHT = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
iMenuSpawnLocation = SPAWN_GAR_6
|
|
ENDIF
|
|
ENDIF
|
|
//Garage
|
|
IF iMenuSpawnLocation = SPAWN_GAR_10 //MAX_OWNED_PROPERTIES //CDM PROPERTY STAT UPDATE //OLD PROPERTIES
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_10) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 10 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_9
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_GAR_9
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_9) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 9 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_8
|
|
ENDIF
|
|
ENDIF
|
|
#IF FEATURE_SUMMER_2020
|
|
IF iMenuSpawnLocation = SPAWN_GAR_8
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 8 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_7
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_GAR_7
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 7 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_6
|
|
ENDIF
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_GAR_6
|
|
IF GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_6) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 6 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_5
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_GAR_5
|
|
IF GET_OWNED_PROPERTY(4) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 5 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_GAR_4
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_4
|
|
IF GET_OWNED_PROPERTY(3) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 4 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_3
|
|
IF GET_OWNED_PROPERTY(2) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 3 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_2
|
|
IF GET_OWNED_PROPERTY(1) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 2 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_GAR_1
|
|
IF GET_OWNED_PROPERTY(0) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP GARAGE 1 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_6
|
|
#IF FEATURE_SUMMER_2020
|
|
iMenuSpawnLocation = SPAWN_APT_8
|
|
#ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
//Property
|
|
IF iMenuSpawnLocation = SPAWN_APT_10 //MAX_OWNED_PROPERTIES //CDM PROPERTY STAT UPDATE //OLD PROPERTIES
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_10)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_10) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 10 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_9
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_APT_9
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_9)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_9) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 9 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_8
|
|
ENDIF
|
|
ENDIF
|
|
#IF FEATURE_SUMMER_2020
|
|
IF iMenuSpawnLocation = SPAWN_APT_8
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_8) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 8 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_7
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_APT_7
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_7) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 7 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_6
|
|
ENDIF
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_APT_6
|
|
IF mpProperties[GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_6)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(PROPERTY_OWNED_SLOT_APT_6) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 6 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_5
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMenuSpawnLocation = SPAWN_APT_5
|
|
IF mpProperties[GET_OWNED_PROPERTY(4)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(4) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 5 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_APT_4
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_4
|
|
IF mpProperties[GET_OWNED_PROPERTY(3)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(3) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 4 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_3
|
|
IF mpProperties[GET_OWNED_PROPERTY(2)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(2) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 3 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_2
|
|
IF mpProperties[GET_OWNED_PROPERTY(1)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(1) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 2 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
IF iMenuSpawnLocation = SPAWN_APT_1
|
|
IF mpProperties[GET_OWNED_PROPERTY(0)].iType = PROPERTY_TYPE_GARAGE
|
|
OR GET_OWNED_PROPERTY(0) = 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - SKIP PROPERTY 1 = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF iMenuSpawnLocation < 0
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "[PM_MissionCreator_Public] DECREMENT_SPAWN_LOCATION - SPAWN LEFT - INVALID = ", iMenuSpawnLocation)
|
|
iMenuSpawnLocation = SPAWN_RANDOM
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
FUNC BOOL PLAYER_CAN_CHANGE_ANIM_MISS_CREATOR(PED_INDEX pedId)
|
|
IF NETWORK_IS_ACTIVITY_SESSION()
|
|
|
|
IF IS_LOCAL_PLAYER_IN_ARENA_SPECTATOR_BOX()
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF IS_THIS_ROCKSTAR_MISSION_NEW_VS_VEHICULAR_VENDETTA(g_FMMC_STRUCT.iAdversaryModeType)
|
|
OR IS_THIS_ROCKSTAR_MISSION_NEW_VS_DCTL(g_FMMC_STRUCT.iAdversaryModeType)
|
|
OR IS_THIS_ROCKSTAR_MISSION_NEW_VS_TURF_WARZONE(g_FMMC_STRUCT.iAdversaryModeType)
|
|
RETURN FALSE
|
|
ENDIF
|
|
IF IS_THIS_AN_ADVERSARY_MODE_MISSION(g_FMMC_STRUCT.iRootContentIDHash, g_FMMC_STRUCT.iAdversaryModeType)
|
|
RETURN FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
UNUSED_PARAMETER(pedId)
|
|
RETURN TRUE
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Increments setting option in direction passed
|
|
PROC INCREMENT_PAUSE_MENU_SETTING(INT iSetting, BOOL nextSetting)
|
|
|
|
MULTIPLAYER_SETTINGS_ENUM aSetting = INT_TO_ENUM(MULTIPLAYER_SETTINGS_ENUM, iSetting)
|
|
INT iCurrentSetting
|
|
// INT iLoop
|
|
|
|
SWITCH aSetting
|
|
// CASE MP_SETTING_PASSIVE_MODE
|
|
// IF IS_MP_PASSIVE_MODE_ENABLED()
|
|
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISABLE_MP_PASSIVE_MODE 2")
|
|
// DISABLE_MP_PASSIVE_MODE()
|
|
// ELSE
|
|
// IF CAN_USE_PASSIVE_MODE() = 0
|
|
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] ENABLE_MP_PASSIVE_MODE 2")
|
|
// ENABLE_MP_PASSIVE_MODE()
|
|
// ENDIF
|
|
// ENDIF
|
|
// BREAK
|
|
|
|
CASE MP_SETTING_QUICK_ANIM_ON_FOOT
|
|
IF IS_NET_PLAYER_OK(PLAYER_ID())
|
|
AND IS_SAFE_TO_PLAY_ON_FOOT_INTERACTION()
|
|
AND PLAYER_CAN_CHANGE_ANIM_MISS_CREATOR(player_ped_id())
|
|
AND !SHOULD_BLOCK_QUICK_ACTION_INTERACTION()
|
|
iCurrentSetting = GET_MP_PLAYER_ANIM_SETTING()
|
|
INT iAnimType
|
|
iAnimType = GET_MP_PLAYER_ANIM_TYPE()
|
|
|
|
IF iAnimType = ENUM_TO_INT(INTERACTION_ANIM_TYPE_CREW)
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MP_SETTING_QUICK_ANIM_ON_FOOT - iAnimType = INTERACTION_ANIM_TYPE_CREW")
|
|
IF nextSetting
|
|
iCurrentSetting = 0
|
|
ELSE
|
|
iCurrentSetting = (GET_MAX_PLAYER_INTERACTIONS()-1)
|
|
ENDIF
|
|
iAnimType = ENUM_TO_INT(INTERACTION_ANIM_TYPE_PLAYER)
|
|
|
|
ELSE
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MP_SETTING_QUICK_ANIM_ON_FOOT - iAnimType = INTERACTION_ANIM_TYPE_PLAYER")
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
IF MPGlobalsInteractions.iMyCrewInteractionAnim != -1
|
|
AND IS_LOCAL_PLAYER_IN_ACTIVE_CREW()
|
|
iCurrentSetting = MPGlobalsInteractions.iMyCrewInteractionAnim //MP_SETTING_QUICK_ANIM_CREW
|
|
iAnimType = ENUM_TO_INT(INTERACTION_ANIM_TYPE_CREW)
|
|
ELSE
|
|
iCurrentSetting = (GET_MAX_PLAYER_INTERACTIONS()-1)
|
|
iAnimType = ENUM_TO_INT(INTERACTION_ANIM_TYPE_PLAYER)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iCurrentSetting > GET_MAX_PLAYER_INTERACTIONS()-1
|
|
IF MPGlobalsInteractions.iMyCrewInteractionAnim != -1
|
|
AND IS_LOCAL_PLAYER_IN_ACTIVE_CREW()
|
|
iCurrentSetting = MPGlobalsInteractions.iMyCrewInteractionAnim //MP_SETTING_QUICK_ANIM_CREW
|
|
iAnimType = ENUM_TO_INT(INTERACTION_ANIM_TYPE_CREW)
|
|
ELSE
|
|
iCurrentSetting = 0
|
|
iAnimType = ENUM_TO_INT(INTERACTION_ANIM_TYPE_PLAYER)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
SET_MP_PLAYER_ANIM_SETTING(iAnimType, iCurrentSetting)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE MP_SETTING_QUICK_ANIM_IN_VEH
|
|
IF IS_NET_PLAYER_OK(PLAYER_ID())
|
|
AND IS_SAFE_TO_PLAY_IN_CAR_INTERACTION()
|
|
AND PLAYER_CAN_CHANGE_ANIM_MISS_CREATOR(player_ped_id())
|
|
AND !SHOULD_BLOCK_QUICK_ACTION_INTERACTION()
|
|
iCurrentSetting = GET_MP_PLAYER_VEH_ANIM_SETTING()
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = (GET_MAX_PASSENGER_INTERACTIONS()-1)
|
|
ENDIF
|
|
|
|
IF iCurrentSetting > GET_MAX_PASSENGER_INTERACTIONS()-1
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
SET_MP_PLAYER_VEH_ANIM_SETTING(iCurrentSetting)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE MP_SETTING_JOINT_CELEBRATION
|
|
|
|
iCurrentSetting = GET_MP_INT_CHARACTER_STAT(MP_STAT_MP_CHAR_STAT_RALLY_ANIM)
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = 6
|
|
ENDIF
|
|
|
|
IF iCurrentSetting > 6
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_MP_CHAR_STAT_RALLY_ANIM, iCurrentSetting)
|
|
|
|
BREAK
|
|
|
|
CASE MP_SETTING_PL_MOOD_RACE
|
|
iCurrentSetting = GET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_RACES)
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = (MAX_PLAYER_MOODS-1)
|
|
ENDIF
|
|
|
|
IF iCurrentSetting >= MAX_PLAYER_MOODS
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_RACES, iCurrentSetting)
|
|
MPGlobalsAmbience.bUpdatePlayerMoodRace = TRUE
|
|
BREAK
|
|
|
|
CASE MP_SETTING_PL_MOOD_NORMAL
|
|
iCurrentSetting = GET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_NORMAL)
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = (MAX_PLAYER_MOODS-1)
|
|
ENDIF
|
|
|
|
IF iCurrentSetting >= MAX_PLAYER_MOODS
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_NORMAL, iCurrentSetting)
|
|
MPGlobalsAmbience.bUpdatePlayerMoodNormal = TRUE
|
|
BREAK
|
|
|
|
CASE MP_SETTING_PL_MOOD_DM
|
|
iCurrentSetting = GET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_DM)
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = (MAX_PLAYER_MOODS-1)
|
|
ENDIF
|
|
|
|
IF iCurrentSetting >= MAX_PLAYER_MOODS
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_CHAR_MOOD_DM, iCurrentSetting)
|
|
MPGlobalsAmbience.bUpdatePlayerMoodDM = TRUE
|
|
BREAK
|
|
|
|
CASE MP_SETTING_MATCHMAKING
|
|
IF GET_PACKED_STAT_BOOL(PACKED_MP_MATCHMAKING_IS_PRIVATE)
|
|
iCurrentSetting = 0
|
|
SET_PACKED_STAT_BOOL(PACKED_MP_MATCHMAKING_IS_PRIVATE, FALSE)
|
|
ELSE
|
|
iCurrentSetting = 1
|
|
SET_PACKED_STAT_BOOL(PACKED_MP_MATCHMAKING_IS_PRIVATE, TRUE)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE MP_SETTING_SPAWN_LOCATION
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MP_SETTING_SPAWN_LOCATION - OLD iMenuSpawnLocation = ", iMenuSpawnLocation)
|
|
|
|
IF nextSetting
|
|
//Jump to the begining of the menu
|
|
IF iMenuSpawnLocation = SPAWN_RANDOM
|
|
iMenuSpawnLocation = SPAWN_APT_1
|
|
ELSE
|
|
iMenuSpawnLocation++
|
|
ENDIF
|
|
|
|
INCREMENT_SPAWN_LOCATION()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MP_SETTING_SPAWN_LOCATION - NEW iMenuSpawnLocation = ", iMenuSpawnLocation)
|
|
ELSE
|
|
IF iMenuSpawnLocation = SPAWN_APT_1
|
|
//Jump to the begining of the menu
|
|
iMenuSpawnLocation = SPAWN_RANDOM
|
|
ELSE
|
|
iMenuSpawnLocation--
|
|
ENDIF
|
|
DECREMENT_SPAWN_LOCATION()
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "MP_SETTING_SPAWN_LOCATION - NEW iMenuSpawnLocation = ", iMenuSpawnLocation)
|
|
ENDIF
|
|
|
|
//Set the globals based on the new option
|
|
SET_MP_SPAWN_POINT_FROM_MENU_OPTION()
|
|
SET_LAST_USED_PROPERTY_FROM_MENU_SELECTION()
|
|
BREAK
|
|
|
|
CASE MP_SETTING_PLAYER_TITLES
|
|
iCurrentSetting = ENUM_TO_INT(GET_MP_CHARACTER_TITLE_SETTING())
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = ENUM_TO_INT(MP_SETTING_TITLE_MAX) - 1
|
|
ENDIF
|
|
|
|
IF iCurrentSetting >= ENUM_TO_INT(MP_SETTING_TITLE_MAX)
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
SET_MP_CHARACTER_TITLE_SETTING(INT_TO_ENUM(MULTIPLAYER_SETTING_TITLE, iCurrentSetting))
|
|
BREAK
|
|
|
|
CASE MP_SETTING_BETTING_ODDS
|
|
iCurrentSetting = ENUM_TO_INT(GET_MP_BETTING_ODDS_SETTING())
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = ENUM_TO_INT(MP_SETTING_ODDS_MAX) - 1
|
|
ENDIF
|
|
|
|
IF iCurrentSetting >= ENUM_TO_INT(MP_SETTING_ODDS_MAX)
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
SET_MP_PLAYER_BETTING_ODDS_SETTING(INT_TO_ENUM(MULTIPLAYER_SETTING_BETTING_ODDS, iCurrentSetting))
|
|
BREAK
|
|
|
|
CASE MP_SETTING_SUICIDE
|
|
//IF GET_PLAYER_CASH(PLAYER_ID()) >= KILL_YOURSELF_COST
|
|
// GIVE_LOCAL_PLAYER_CASH(-KILL_YOURSELF_COST, TRUE)
|
|
g_MultiplayerSettings.g_bSuicide = TRUE
|
|
CPRINTLN(DEBUG_PAUSE_MENU, "PAUSE MENU - MP_SETTING_SUICIDE - DONE")
|
|
//ELSE
|
|
// CPRINTLN(DEBUG_PAUSE_MENU, "PAUSE MENU - MP_SETTING_SUICIDE - PLAYER CAN'T AFFORD $", KILL_YOURSELF_COST)
|
|
//ENDIF
|
|
BREAK
|
|
|
|
CASE MP_SETTING_AW_JOIN_FROM_SPECTATOR_BOX
|
|
IF NOT GET_MP_BOOL_PLAYER_STAT(MPPLY_AW_JOINSPEC)
|
|
// Don't Join
|
|
iCurrentSetting = 0
|
|
IF DOES_PLAYER_OWN_AN_ARENA_GARAGE(PLAYER_ID())
|
|
SET_MP_BOOL_PLAYER_STAT(MPPLY_AW_JOINSPEC, TRUE)
|
|
SET_LOCAL_PLAYER_STAYS_IN_ARENA_BOX_BETWEEN_ROUNDS(TRUE)
|
|
ENDIF
|
|
ELSE
|
|
// Join
|
|
iCurrentSetting = 1
|
|
IF DOES_PLAYER_OWN_AN_ARENA_GARAGE(PLAYER_ID())
|
|
SET_MP_BOOL_PLAYER_STAT(MPPLY_AW_JOINSPEC, FALSE)
|
|
SET_LOCAL_PLAYER_STAYS_IN_ARENA_BOX_BETWEEN_ROUNDS(FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE MP_SETTING_ALLOW_SPECTATORS
|
|
IF GET_MP_BOOL_PLAYER_STAT(MPPLY_CAN_SPECTATE)
|
|
iCurrentSetting = 0
|
|
SET_MP_BOOL_PLAYER_STAT(MPPLY_CAN_SPECTATE, FALSE)
|
|
ELSE
|
|
iCurrentSetting = 1
|
|
SET_MP_BOOL_PLAYER_STAT(MPPLY_CAN_SPECTATE, TRUE)
|
|
ENDIF
|
|
BREAK
|
|
//
|
|
// CASE MP_SETTING_EXPANDED_RADAR
|
|
// IF GET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_EXPANDED_RADAR)
|
|
// iCurrentSetting = 0
|
|
// SET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_EXPANDED_RADAR, FALSE)
|
|
// ELSE
|
|
// iCurrentSetting = 1
|
|
// SET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_EXPANDED_RADAR, TRUE)
|
|
// ENDIF
|
|
// BREAK
|
|
//
|
|
// CASE MP_SETTING_EXPANDED_RADAR_NAMES
|
|
// IF GET_MP_BOOL_PLAYER_STAT(MPPLY_TOGGLE_OFF_BIG_RADAR)
|
|
// iCurrentSetting = 0
|
|
// SET_MP_BOOL_PLAYER_STAT(MPPLY_TOGGLE_OFF_BIG_RADAR, FALSE)
|
|
// ELSE
|
|
// iCurrentSetting = 1
|
|
// SET_MP_BOOL_PLAYER_STAT(MPPLY_TOGGLE_OFF_BIG_RADAR, TRUE)
|
|
// ENDIF
|
|
// BREAK
|
|
|
|
CASE MP_SETTING_MARKER_DISPLAY
|
|
iCurrentSetting = GET_PACKED_STAT_INT(PACKED_MP_PLAYER_MARKER_DISPLAY)
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = 3
|
|
ENDIF
|
|
|
|
IF iCurrentSetting > 3
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
IF iCurrentSetting = 1 // Name & Crew Tag
|
|
IF IS_PLAYSTATION_PLATFORM()
|
|
IF !NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_EVERYONE)
|
|
OR !NETWORK_HAVE_SCS_PRIVATE_MSG_PRIV()
|
|
iCurrentSetting = 2
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_PACKED_STAT_INT(PACKED_MP_PLAYER_MARKER_DISPLAY, iCurrentSetting)
|
|
BREAK
|
|
|
|
CASE MP_SETTING_SESSION_CREWS
|
|
iCurrentSetting = GET_MP_SESSION_CREWS_NUM()
|
|
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < PAUSE_MENU_MIN_SESSION_CREWS
|
|
iCurrentSetting = PAUSE_MENU_MAX_SESSION_CREWS
|
|
ENDIF
|
|
|
|
IF iCurrentSetting > PAUSE_MENU_MAX_SESSION_CREWS
|
|
iCurrentSetting = PAUSE_MENU_MIN_SESSION_CREWS
|
|
ENDIF
|
|
|
|
SET_MP_SESSION_CREWS_NUM(iCurrentSetting)
|
|
// SET_MP_SESSION_CREWS_NUM(0)
|
|
BREAK
|
|
|
|
CASE MP_SETTING_MATCH_AFTER_NJVS
|
|
IF !g_sMPTunables.bDisableNjvsQuickMatch
|
|
IF IS_PC_VERSION()
|
|
IF GET_MP_BOOL_CHARACTER_STAT(MP_STAT_REMAINHOSTOPTION_PC)
|
|
iCurrentSetting = 1
|
|
SET_MP_BOOL_CHARACTER_STAT(MP_STAT_REMAINHOSTOPTION_PC, FALSE)
|
|
PRINTLN("[TS] SET_MP_BOOL_CHARACTER_STAT(MP_STAT_REMAINHOSTOPTION_PC, FALSE)")
|
|
ELSE
|
|
iCurrentSetting = 0
|
|
SET_MP_BOOL_CHARACTER_STAT(MP_STAT_REMAINHOSTOPTION_PC, TRUE)
|
|
PRINTLN("[TS] SET_MP_BOOL_CHARACTER_STAT(MP_STAT_REMAINHOSTOPTION_PC, TRUE)")
|
|
ENDIF
|
|
ELSE
|
|
IF GET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_MATCHMAKING_AFTER_NJVS)
|
|
iCurrentSetting = 1
|
|
SET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_MATCHMAKING_AFTER_NJVS, FALSE)
|
|
PRINTLN("[TS] SET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_MATCHMAKING_AFTER_NJVS, FALSE)")
|
|
ELSE
|
|
iCurrentSetting = 0
|
|
SET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_MATCHMAKING_AFTER_NJVS, TRUE)
|
|
PRINTLN("[TS] SET_PACKED_STAT_BOOL(PACKED_MP_TOGGLE_MATCHMAKING_AFTER_NJVS, TRUE)")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE MP_SETTING_CONTENT_FILTER
|
|
|
|
iCurrentSetting = GET_PACKED_STAT_INT(PACKED_MP_CHAR_CONTENT_FILTERING)
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = (PAUSE_MENU_MAX_CONTENT_FILTER_OPTIONS-1)
|
|
ENDIF
|
|
|
|
IF IS_ACCOUNT_OVER_17_FOR_UGC()
|
|
AND NETWORK_HAVE_USER_CONTENT_PRIVILEGES()
|
|
IF iCurrentSetting >= PAUSE_MENU_MAX_CONTENT_FILTER_OPTIONS
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
ELSE
|
|
IF iCurrentSetting >= PAUSE_MENU_MAX_CONTENT_FILTER_OPTIONS-1
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
ENDIF
|
|
|
|
PRINTLN("[TS] SET_PACKED_STAT_INT(SET_PACKED_STAT_INT, ", iCurrentSetting, ")")
|
|
SET_PACKED_STAT_INT(PACKED_MP_CHAR_CONTENT_FILTERING, iCurrentSetting)
|
|
BREAK
|
|
|
|
CASE MP_SETTING_ONE_ON_ONE_DM
|
|
iCurrentSetting = GET_MP_INT_CHARACTER_STAT(MP_STAT_TIME_FOR_ONE_ON_ONE_DM)
|
|
iCurrentSetting += PICK_INT(nextSetting, 1, -1)
|
|
|
|
IF iCurrentSetting < 0
|
|
iCurrentSetting = (PAUSE_MENU_MAX_ONE_ON_ONE_DM-1)
|
|
ENDIF
|
|
|
|
IF iCurrentSetting >= PAUSE_MENU_MAX_ONE_ON_ONE_DM
|
|
iCurrentSetting = 0
|
|
ENDIF
|
|
|
|
PRINTLN("[TS] SET_PACKED_STAT_INT(SET_PACKED_STAT_INT, ", iCurrentSetting, ")")
|
|
SET_MP_INT_CHARACTER_STAT(MP_STAT_TIME_FOR_ONE_ON_ONE_DM, iCurrentSetting)
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|