319 lines
15 KiB
Scheme
Executable File
319 lines
15 KiB
Scheme
Executable File
USING "ambience_run_checks.sch"
|
|
|
|
FUNC BOOL IS_THERE_A_CAR_BLOCKING_THIS_CAR(VEHICLE_INDEX InCar)
|
|
VEHICLE_INDEX TempCarID
|
|
|
|
|
|
TempCarID = GET_RANDOM_VEHICLE_IN_SPHERE(GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(InCar, <<0.0, 5.0, 0.0>>), 1.5, DUMMY_MODEL_FOR_SCRIPT, VEHICLE_SEARCH_FLAG_RETURN_RANDOM_VEHICLES)
|
|
IF DOES_ENTITY_EXIST(TempCarID)
|
|
IF NOT (TempCarID = InCar)
|
|
// is the vehicle infront moving?
|
|
IF IS_VEHICLE_DRIVEABLE(TempCarID)
|
|
IF IS_VEHICLE_STOPPED(TempCarID)
|
|
RETURN(TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
RETURN(FALSE)
|
|
ENDFUNC
|
|
|
|
//FUNC BOOL IS_TAXI_SAFE_TO_MOVE(VEHICLE_INDEX InCar)
|
|
// // we don't want to hail taxi's that are in a rank or traffic jam
|
|
// IF NOT IS_CAR_STOPPED_AT_TRAFFIC_LIGHTS(InCar)
|
|
// IF NOT IS_THERE_A_CAR_BLOCKING_THIS_CAR(InCar)
|
|
// OR NOT IS_CAR_STOPPED(InCar)
|
|
// RETURN(TRUE)
|
|
// ENDIF
|
|
// ENDIF
|
|
// RETURN(FALSE)
|
|
//ENDFUNC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// cleanup the globals g_WaitingTaxiDriver & g_WaitingTaxi to NULL
|
|
/// sets driver ai up
|
|
/// resets globals - g_sTaxiEntitiesOwnedByThisScript / g_iTaxiHailedTime
|
|
PROC CLEANUP_WAITING_TAXI()
|
|
|
|
// set driver's behaviour
|
|
IF DOES_ENTITY_EXIST(g_WaitingTaxiDriver)
|
|
IF NOT IS_PED_INJURED(g_WaitingTaxiDriver)
|
|
|
|
// RESET FLAG for cleanup B*1536974 - Press to enter taxi as passenger hold to jack driver - opposite to how it worked on IV
|
|
// to get IV behaviour you have to ensur this flag is false then task the player in script to enter as rear passenger when input detected
|
|
SET_PED_CONFIG_FLAG(g_WaitingTaxiDriver, PCF_AICanDrivePlayerAsRearPassenger, FALSE)
|
|
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(g_WaitingTaxiDriver, FALSE)
|
|
|
|
IF NOT IS_PED_FLEEING(g_WaitingTaxiDriver)
|
|
AND NOT IS_PED_IN_COMBAT(g_WaitingTaxiDriver)
|
|
IF IS_PED_IN_ANY_VEHICLE(g_WaitingTaxiDriver)
|
|
IF DOES_ENTITY_EXIST(g_WaitingTaxi)
|
|
IF IS_VEHICLE_DRIVEABLE(g_WaitingTaxi)
|
|
IF IS_PED_SITTING_IN_VEHICLE(g_WaitingTaxiDriver, g_WaitingTaxi)
|
|
IF (GET_SCRIPT_TASK_STATUS(g_WaitingTaxiDriver, SCRIPT_TASK_VEHICLE_DRIVE_WANDER) != PERFORMING_TASK)
|
|
AND (GET_SCRIPT_TASK_STATUS(g_WaitingTaxiDriver, SCRIPT_TASK_VEHICLE_DRIVE_WANDER) != WAITING_TO_START_TASK)
|
|
SEQUENCE_INDEX seq
|
|
OPEN_SEQUENCE_TASK(seq)
|
|
// if any of the players buddies are in the taxi then wait for then to get out
|
|
IF NOT IS_VEHICLE_SEAT_FREE(g_WaitingTaxi, VS_BACK_LEFT)
|
|
OR NOT IS_VEHICLE_SEAT_FREE(g_WaitingTaxi, VS_BACK_RIGHT)
|
|
OR NOT IS_VEHICLE_SEAT_FREE(g_WaitingTaxi, VS_FRONT_RIGHT)
|
|
TASK_PAUSE(NULL, 2000)
|
|
ELSE
|
|
TASK_PAUSE(NULL, 500)
|
|
ENDIF
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL, g_WaitingTaxi, 12.0, DRIVINGMODE_STOPFORCARS | DF_AvoidRestrictedAreas)
|
|
CLOSE_SEQUENCE_TASK(seq)
|
|
TASK_PERFORM_SEQUENCE(g_WaitingTaxiDriver, seq)
|
|
CLEAR_SEQUENCE_TASK(seq)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI g_WaitingTaxiDriver to TASK_VEHICLE_DRIVE_WANDER")
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : g_WaitingTaxiDriver already performing TASK_VEHICLE_DRIVE_WANDER")
|
|
ENDIF
|
|
ELSE
|
|
TASK_SMART_FLEE_PED(g_WaitingTaxiDriver, PLAYER_PED_ID(), 500, -1)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : tasked g_WaitingTaxiDriver driver to flee as not sat in g_WaitingTaxi")
|
|
ENDIF
|
|
ELSE
|
|
TASK_SMART_FLEE_PED(g_WaitingTaxiDriver, PLAYER_PED_ID(), 500, -1)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : tasked g_WaitingTaxiDriver driver to flee as g_WaitingTaxi was not driverable")
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
// just walk off not fleeing but on foot
|
|
IF (GET_SCRIPT_TASK_STATUS(g_WaitingTaxiDriver, SCRIPT_TASK_WANDER_STANDARD) != PERFORMING_TASK)
|
|
AND (GET_SCRIPT_TASK_STATUS(g_WaitingTaxiDriver, SCRIPT_TASK_WANDER_STANDARD) != WAITING_TO_START_TASK)
|
|
TASK_WANDER_STANDARD(g_WaitingTaxiDriver)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : tasked g_WaitingTaxiDriver to TASK_WANDER_STANDARD on foot")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Release driver
|
|
IF DOES_ENTITY_EXIST(g_WaitingTaxiDriver)
|
|
IF IS_ENTITY_A_MISSION_ENTITY(g_WaitingTaxiDriver)
|
|
IF DOES_ENTITY_BELONG_TO_THIS_SCRIPT(g_WaitingTaxiDriver, FALSE)
|
|
IF NOT IS_PED_INJURED(g_WaitingTaxiDriver)
|
|
SET_ENTITY_LOAD_COLLISION_FLAG(g_WaitingTaxiDriver, FALSE)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(g_WaitingTaxiDriver, FALSE)
|
|
ENDIF
|
|
SET_PED_AS_NO_LONGER_NEEDED(g_WaitingTaxiDriver)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : set g_WaitingTaxiDriver as no longer needed")
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : set g_WaitingTaxiDriver as no longer needed Failed! belong to this script check")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : set g_WaitingTaxiDriver as no longer needed Failed! mission entity check")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Release taxi
|
|
IF DOES_ENTITY_EXIST(g_WaitingTaxi)
|
|
IF IS_ENTITY_A_MISSION_ENTITY(g_WaitingTaxi)
|
|
IF DOES_ENTITY_BELONG_TO_THIS_SCRIPT(g_WaitingTaxi, FALSE)
|
|
IF IS_VEHICLE_DRIVEABLE(g_WaitingTaxi)
|
|
SET_VEHICLE_HAS_BEEN_OWNED_BY_PLAYER(g_WaitingTaxi, FALSE)
|
|
SET_VEHICLE_AUTOMATICALLY_ATTACHES(g_WaitingTaxi, TRUE)
|
|
SET_VEHICLE_WILL_FORCE_OTHER_VEHICLES_TO_STOP(g_WaitingTaxi, FALSE)
|
|
//SET_LAST_DRIVEN_VEHICLE(NULL) //Asserts if NULL is passed in! // B*1555065 - stop taxi getting returned as GET_PLAYERS_LAST_VEHICLE()
|
|
ENDIF
|
|
SET_VEHICLE_AS_NO_LONGER_NEEDED(g_WaitingTaxi)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : set g_WaitingTaxi as no longer needed")
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " CLEANUP_WAITING_TAXI() : set g_WaitingTaxi as no longer needed Failed! belong to this script check")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " TAXI_SERVICE_SCRIPT_CLEANUP() : set g_WaitingTaxi as no longer needed Failed! mission entity check")
|
|
ENDIF
|
|
ENDIF
|
|
g_WaitingTaxiDriver = NULL
|
|
g_WaitingTaxi = NULL
|
|
g_sTaxiEntitiesOwnedByThisScript = "NULL"
|
|
g_iTaxiHailedTime = -1
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Setup taxi for player to usee
|
|
/// Sets g_WaitingTaxi & g_WaitingTaxiDriver handles
|
|
/// PARAMS:
|
|
/// vehicleIndex - the taxi vehicle
|
|
/// pedIndex - the vehicleIndex driver
|
|
/// bGrabFromOtherScript - if TRUE entities are force grabbed from other script (used by taxiService.sc to take full ownership)
|
|
FUNC BOOL STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER(VEHICLE_INDEX &vehicleIndex, PED_INDEX &pedIndex, BOOL bGrabFromOtherScript = FALSE)
|
|
|
|
// if there is already a waiting taxi, tell it to bugger off
|
|
IF NOT (vehicleIndex = g_WaitingTaxi)
|
|
AND NOT (g_WaitingTaxi = NULL)
|
|
CLEANUP_WAITING_TAXI()
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : vehicleIndex didn't match existing g_WaitingTaxi so removed")
|
|
ENDIF
|
|
|
|
// store this car as the new waiting taxi
|
|
IF DOES_ENTITY_EXIST(vehicleIndex)
|
|
AND DOES_ENTITY_EXIST(pedIndex)
|
|
|
|
IF IS_VEHICLE_DRIVEABLE(vehicleIndex)
|
|
IF NOT IS_PED_INJURED(pedIndex)
|
|
IF IS_PED_SITTING_IN_VEHICLE(pedIndex, vehicleIndex)
|
|
|
|
g_WaitingTaxi = vehicleIndex
|
|
g_WaitingTaxiDriver = pedIndex
|
|
|
|
g_bTaxiIsWaiting = TRUE
|
|
|
|
IF bGrabFromOtherScript
|
|
SET_ENTITY_AS_MISSION_ENTITY(g_WaitingTaxiDriver, TRUE, TRUE)
|
|
SET_ENTITY_AS_MISSION_ENTITY(g_WaitingTaxi, TRUE, TRUE)
|
|
g_sTaxiEntitiesOwnedByThisScript = GET_THIS_SCRIPT_NAME()
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : bGrabFromOtherScript - set g_WaitingTaxi & g_WaitingTaxiDriver as mission entity")
|
|
ELSE
|
|
IF NOT IS_ENTITY_A_MISSION_ENTITY(g_WaitingTaxiDriver)
|
|
SET_ENTITY_AS_MISSION_ENTITY(g_WaitingTaxiDriver)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : set g_WaitingTaxiDriver as mission entity")
|
|
ENDIF
|
|
|
|
IF NOT IS_ENTITY_A_MISSION_ENTITY(g_WaitingTaxi)
|
|
SET_ENTITY_AS_MISSION_ENTITY(g_WaitingTaxi)
|
|
g_sTaxiEntitiesOwnedByThisScript = GET_THIS_SCRIPT_NAME()
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : set g_WaitingTaxi as mission entity")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// B*1536974 - Press to enter taxi as passenger hold to jack driver - opposite to how it worked on IV
|
|
// to get IV behaviour you have to ensur this flag is false then task the player in script to enter as rear passenger when input detected
|
|
SET_PED_CONFIG_FLAG(g_WaitingTaxiDriver, PCF_AICanDrivePlayerAsRearPassenger, TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(g_WaitingTaxiDriver, CA_ALWAYS_FIGHT, FALSE)
|
|
SET_PED_COMBAT_ATTRIBUTES(g_WaitingTaxiDriver, CA_ALWAYS_FLEE, TRUE)
|
|
SET_PED_FLEE_ATTRIBUTES(g_WaitingTaxiDriver, FA_NEVER_FLEE, FALSE)
|
|
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(g_WaitingTaxiDriver, TRUE)
|
|
SET_AMBIENT_VOICE_NAME(g_WaitingTaxiDriver, "A_M_M_EASTSA_02_LATINO_FULL_01")
|
|
// alternative coming soon -
|
|
// SET_AMBIENT_VOICE_NAME(g_WaitingTaxiDriver, "S_M_M_BOUNCER_01_LATINO_FULL_01")
|
|
|
|
SET_VEHICLE_DOORS_LOCKED(g_WaitingTaxi, VEHICLELOCK_UNLOCKED)
|
|
SET_VEHICLE_HAS_BEEN_OWNED_BY_PLAYER(g_WaitingTaxi, TRUE)
|
|
SET_VEHICLE_AUTOMATICALLY_ATTACHES(g_WaitingTaxi, FALSE)
|
|
SET_VEHICLE_WILL_FORCE_OTHER_VEHICLES_TO_STOP(g_WaitingTaxi, TRUE)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : return TRUE")
|
|
RETURN TRUE
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : return FALSE driver was sitting in vehicle")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : return FALSE driver is injured")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : return FALSE vehicle isn't driverable")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : STORE_CAR_AS_TAXI_WAITING_FOR_PLAYER : return FALSE driver or vehicle don't exist")
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
PROC SET_JACKED_PED_TO_FLEE()
|
|
PED_INDEX tempPed
|
|
IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
tempPed = GET_RANDOM_PED_AT_COORD(GET_ENTITY_COORDS(PLAYER_PED_ID()), <<1.5,1.5,1.5>>)
|
|
IF NOT IS_PED_INJURED(tempPed)
|
|
IF IS_PED_ON_FOOT(tempPed)
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " SET_JACKED_PED_TO_FLEE(), ped is alive and should be fleeing.")
|
|
TASK_SMART_FLEE_PED(tempPed, PLAYER_PED_ID(), 150, -1)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC NON_GROUPED_PASSENGERS_SHOULD_FLEE()
|
|
PED_INDEX pedTemp
|
|
IF IS_VEHICLE_DRIVEABLE(g_WaitingTaxi)
|
|
IF NOT IS_VEHICLE_SEAT_FREE(g_WaitingTaxi, VS_BACK_LEFT)
|
|
pedTemp = GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi, VS_BACK_LEFT)
|
|
IF PLAYER_PED_ID() != pedTemp
|
|
IF NOT IS_PED_GROUP_MEMBER(pedTemp, GET_PLAYER_GROUP(PLAYER_ID()))
|
|
TASK_SMART_FLEE_PED(pedTemp, PLAYER_PED_ID(), 200, -1)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_VEHICLE_SEAT_FREE(g_WaitingTaxi, VS_BACK_RIGHT)
|
|
pedTemp = GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi, VS_BACK_RIGHT)
|
|
IF PLAYER_PED_ID() != pedTemp
|
|
IF NOT IS_PED_GROUP_MEMBER(pedTemp, GET_PLAYER_GROUP(PLAYER_ID()))
|
|
TASK_SMART_FLEE_PED(pedTemp, PLAYER_PED_ID(), 200, -1)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER()
|
|
PED_INDEX TempPedID
|
|
IF DOES_ENTITY_EXIST(g_WaitingTaxi)
|
|
IF IS_VEHICLE_DRIVEABLE(g_WaitingTaxi)
|
|
IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
//IF GET_INTERIOR_FROM_ENTITY(g_WaitingTaxi) = GET_INTERIOR_FROM_ENTITY(PLAYER_PED_ID())
|
|
// check driver is alive and in the driver seat
|
|
TempPedID = GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi)
|
|
IF DOES_ENTITY_EXIST(g_WaitingTaxiDriver)
|
|
IF NOT IS_PED_INJURED(TempPedID)
|
|
IF(TempPedID = g_WaitingTaxiDriver)
|
|
|
|
/* // allow player to jack passengers
|
|
// check there are no passengers in the car
|
|
IF NOT IS_VEHICLE_SEAT_FREE(g_WaitingTaxi, VS_BACK_LEFT)
|
|
IF NOT (GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi, VS_BACK_LEFT) = PLAYER_PED_ID())
|
|
IF NOT IS_PED_GROUP_MEMBER(GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi, VS_BACK_LEFT), PLAYER_GROUP_ID())
|
|
//PRINTSTRING("IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER - fail 1")
|
|
RETURN(FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_VEHICLE_SEAT_FREE(g_WaitingTaxi, VS_BACK_RIGHT)
|
|
IF NOT (GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi, VS_BACK_RIGHT) = PLAYER_PED_ID())
|
|
IF NOT IS_PED_GROUP_MEMBER(GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi, VS_BACK_RIGHT), PLAYER_GROUP_ID())
|
|
//PRINTSTRING("IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER - fail 2")
|
|
RETURN(FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_VEHICLE_SEAT_FREE(g_WaitingTaxi, VS_FRONT_RIGHT)
|
|
IF NOT (GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi, VS_FRONT_RIGHT) = PLAYER_PED_ID())
|
|
IF NOT IS_PED_GROUP_MEMBER(GET_PED_IN_VEHICLE_SEAT(g_WaitingTaxi, VS_FRONT_RIGHT), PLAYER_GROUP_ID())
|
|
//PRINTSTRING("IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER - fail 3")
|
|
RETURN(FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF */
|
|
|
|
RETURN(TRUE)
|
|
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER return FALSE IS_PED_INJURED(TempPedID)")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER return FALSE DOES_ENTITY_EXIST(g_WaitingTaxiDriver)")
|
|
ENDIF
|
|
// ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER return FALSE IS_PED_INJURED(PLAYER_PED_ID())")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER return FALSE IS_VEHICLE_DRIVEABLE(g_WaitingTaxi)")
|
|
ENDIF
|
|
ELSE
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER return FALSE DOES_ENTITY_EXIST(g_WaitingTaxi)")
|
|
ENDIF
|
|
|
|
CPRINTLN(DEBUG_TAXI_SERVICE, GET_THIS_SCRIPT_NAME(), " : IS_THERE_A_HAILED_TAXI_WAITING_FOR_PLAYER return FALSE ")
|
|
RETURN(FALSE)
|
|
|
|
ENDFUNC
|
|
|