96 lines
3.3 KiB
Scheme
Executable File
96 lines
3.3 KiB
Scheme
Executable File
// launcher_globals.sch
|
|
|
|
USING "minigame_globals.sch"
|
|
USING "commands_brains.sch"
|
|
|
|
BOOL g_MG_Bypass_Respawn_Cutscene = FALSE
|
|
BOOL g_MG_Slash_Showing = FALSE
|
|
|
|
ENUM LAUNCHED_SCRIPT_FLAGS
|
|
LAUNCHED_SCRIPT_MinigameFailed = 0,
|
|
LAUNCHED_SCRIPT_AirTraffickingFailed,
|
|
LAUNCHED_SCRIPT_GroundTraffickingFailed,
|
|
LAUNCHED_SCRIPT_TowingFailed
|
|
ENDENUM
|
|
|
|
STRUCT LauncherDataSaved
|
|
INT iLauncherFlags
|
|
ENDSTRUCT
|
|
|
|
// Launcher data. Does not need to be saved.
|
|
LauncherDataSaved sLauncherData
|
|
|
|
PROC Store_Launcher_Flag_Data(LAUNCHED_SCRIPT_FLAGS flagToSet)
|
|
sLauncherData.iLauncherFlags = ENUM_TO_INT(flagToSet)
|
|
ENDPROC
|
|
|
|
PROC SET_CURRENT_MINIGAME_TO_BYPASS_RESPAWN_CUTSCENE(BOOL thisBool)
|
|
IF g_OnMissionState = MISSION_TYPE_MINIGAME OR g_OnMissionState = MISSION_TYPE_MINIGAME_FRIENDS OR g_OnMissionState = MISSION_TYPE_RANDOM_EVENT
|
|
g_MG_Bypass_Respawn_Cutscene = thisBool
|
|
IF thisBool
|
|
PRINTLN("SUCESSFUL CALLING SET_CURRENT_MINIGAME_TO_BYPASS_RESPAWN_CUTSCENE(TRUE)")
|
|
ELSE
|
|
PRINTLN("SUCESSFUL CALLING SET_CURRENT_MINIGAME_TO_BYPASS_RESPAWN_CUTSCENE(FALSE)")
|
|
ENDIF
|
|
ELSE
|
|
IF thisBool
|
|
PRINTLN("UNSUCCESSFUL CALLING SET_CURRENT_MINIGAME_TO_BYPASS_RESPAWN_CUTSCENE(TRUE)")
|
|
ELSE
|
|
PRINTLN("SUCESSFUL CALLING SET_CURRENT_MINIGAME_TO_BYPASS_RESPAWN_CUTSCENE(FALSE)")
|
|
ENDIF
|
|
g_MG_Bypass_Respawn_Cutscene = FALSE
|
|
ENDIF
|
|
PRINTLN("g_MG_Bypass_Respawn_Cutscene is (1 for true)", g_MG_Bypass_Respawn_Cutscene)
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_CURRENT_MINIGAME_SET_TO_BYPASS_RESPAWN_CUTSCENE()
|
|
IF g_OnMissionState = MISSION_TYPE_MINIGAME OR g_OnMissionState = MISSION_TYPE_MINIGAME_FRIENDS OR g_OnMissionState = MISSION_TYPE_RANDOM_EVENT
|
|
RETURN g_MG_Bypass_Respawn_Cutscene
|
|
ELSE
|
|
g_MG_Bypass_Respawn_Cutscene = FALSE
|
|
RETURN FALSE
|
|
ENDIF
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_MINIGAME_SPLASH_SHOWING()
|
|
IF g_OnMissionState = MISSION_TYPE_MINIGAME OR g_OnMissionState = MISSION_TYPE_MINIGAME_FRIENDS
|
|
RETURN g_MG_Slash_Showing
|
|
ELSE
|
|
//PRINTLN("We're not in a MINIGAME")
|
|
g_MG_Slash_Showing = FALSE
|
|
RETURN FALSE
|
|
ENDIF
|
|
ENDFUNC
|
|
|
|
PROC SET_MINIGAME_SPLASH_SHOWING(BOOL thisBool)
|
|
IF g_OnMissionState = MISSION_TYPE_MINIGAME OR g_OnMissionState = MISSION_TYPE_MINIGAME_FRIENDS
|
|
g_MG_Slash_Showing = thisBool
|
|
ELSE
|
|
g_MG_Slash_Showing = FALSE
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC RESET_MINI_GAME_TENNIS_LAUNCHERS()
|
|
VECTOR vMyCurrentPlayerCoords
|
|
STRING launcherScriptName = "launcher_tennis"
|
|
IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
vMyCurrentPlayerCoords = GET_ENTITY_COORDS(PLAYER_PED_ID())
|
|
ELSE
|
|
EXIT //leave if the ped is injured.
|
|
ENDIF
|
|
|
|
CPRINTLN(DEBUG_SCRIPT_LAUNCH, "Checking promximity to ", launcherScriptName)
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("launcher_tennis")) = 0
|
|
//check if im in range of one of the points
|
|
IF IS_PLAYER_WITHIN_RANGE_OF_TENNIS_LAUNCHER(vMyCurrentPlayerCoords, MG_BRAIN_ACTIVATION_RANGE_MEDIUM)
|
|
CPRINTLN(DEBUG_SCRIPT_LAUNCH, "Reactivating script brains for", launcherScriptName)
|
|
REACTIVATE_NAMED_WORLD_BRAINS_WAITING_TILL_OUT_OF_RANGE(launcherScriptName)
|
|
ELSE
|
|
CPRINTLN(DEBUG_SCRIPT_LAUNCH, "player isn't within range of any ", launcherScriptName, " points")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_SCRIPT_LAUNCH, launcherScriptName, " currently has at least one script already running")
|
|
ENDIF
|
|
ENDPROC
|