194 lines
6.1 KiB
Python
Executable File
194 lines
6.1 KiB
Python
Executable File
|
|
|
|
//Compile out Title Update changes to header functions.
|
|
//Must be before includes.
|
|
//CONST_INT USE_TU_CHANGES 0 // Removed by Kenneth R.
|
|
|
|
|
|
USING "commands_ped.sch"
|
|
USING "script_player.sch"
|
|
USING "player_ped_public.sch"
|
|
USING "dialogue_public.sch"
|
|
USING "commands_debug.sch"
|
|
USING "commands_replay.sch"
|
|
//USING "charsheet_global.sch"
|
|
|
|
int iped
|
|
enumCharacterList ePed
|
|
|
|
ped_index nearbyBuddy
|
|
|
|
FUNC BOOL GET_NEARBY_BUDDY(ped_index &pNeabyBuddy)
|
|
|
|
REPEAT NUM_PLAYER_PED_IDS iPed
|
|
IF DOES_ENTITY_EXIST(g_piCreatedPlayerPedIDs[iPed])
|
|
AND NOT IS_PED_INJURED(g_piCreatedPlayerPedIDs[iPed])
|
|
// cprintln(debug_Trevor3,"ped: ",iped)
|
|
IF g_piCreatedPlayerPedIDs[iPed] != PLAYER_PED_ID()
|
|
IF NOT IS_ENTITY_A_MISSION_ENTITY(g_piCreatedPlayerPedIDs[iPed])
|
|
// cprintln(debug_Trevor3,"not mission ped")
|
|
IF IS_PED_IN_ANY_VEHICLE(g_piCreatedPlayerPedIDs[iPed])
|
|
OR NOT IS_ENTITY_ATTACHED(g_piCreatedPlayerPedIDs[iPed])
|
|
// cprintln(debug_Trevor3,"not player")
|
|
IF GET_DISTANCE_BETWEEN_COORDS(GET_ENTITY_COORDS(g_piCreatedPlayerPedIDs[iPed]),GET_ENTITY_COORDS(player_ped_id(),false)) < 10
|
|
// cprintln(debug_Trevor3,"close")
|
|
|
|
ePed = GET_PLAYER_PED_ENUM(g_piCreatedPlayerPedIDs[iPed])
|
|
// cprintln(debug_Trevor3,"ePed = ",ePed)
|
|
IF ePed = CHAR_MICHAEL
|
|
OR ePed = CHAR_TREVOR
|
|
OR ePed = CHAR_FRANKLIN
|
|
// cprintln(debug_Trevor3,"is a player character")
|
|
IF ePed != GET_CURRENT_PLAYER_PED_ENUM()
|
|
IF HAS_ENTITY_CLEAR_LOS_TO_ENTITY(g_piCreatedPlayerPedIDs[iPed],PLAYER_PED_ID())
|
|
vehicle_index aVeh
|
|
IF IS_PED_IN_ANY_VEHICLE(g_piCreatedPlayerPedIDs[iPed])
|
|
aVeh = GET_VEHICLE_PED_IS_IN(g_piCreatedPlayerPedIDs[iPed])
|
|
ENDIF
|
|
|
|
IF (DOES_ENTITY_EXIST(aVeh) AND IS_VEHICLE_DRIVEABLE(aveh))
|
|
OR NOT DOES_ENTITY_EXIST(aVeh)
|
|
pNeabyBuddy = g_piCreatedPlayerPedIDs[iPed]
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
// cprintln(debug_Trevor3,"Exit cos screenfaded")
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
/*GET_PED_NEARBY_PEDS(player_ped_id(),pedArray,PEDTYPE_INVALID)
|
|
|
|
REPEAT COUNT_OF(pedArray) i
|
|
IF NOT IS_PED_INJURED(pedArray[i])
|
|
THIS_MODEL = GET_ENTITY_MODEL(pedArray[i])
|
|
|
|
IF THIS_MODEL = MODEL_FRANKLIN
|
|
OR THIS_MODEL = MODEL_TREVOR
|
|
OR THIS_MODEL = MODEL_MICHAEL
|
|
IF GET_DISTANCE_BETWEEN_COORDS(GET_ENTITY_COORDS(pedArray[i]),GET_ENTITY_COORDS(player_ped_id(),false)) < 10
|
|
pNeabyBuddy = pedArray[i]
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
RETURN FALSE
|
|
ENDFUNC*/
|
|
|
|
PROC DO_DEATH_COMMENT(ped_index speakingPed)
|
|
// cprintln(debug_trevor3,"DO_DEATH_COMMENT wait")
|
|
int iPauseTime = GET_GAME_TIMER() + 1000
|
|
WHILE GET_GAME_TIMER() < iPauseTime
|
|
AND NOT IS_SCREEN_FADED_OUT() //force skip this bit if screem fades out
|
|
wait(0)
|
|
ENDWHILE
|
|
// cprintln(debug_trevor3,"DO_DEATH_COMMENT go")
|
|
IF NOT IS_PED_INJURED(speakingPed)
|
|
// cprintln(debug_trevor3,"Play speaking line")
|
|
IF ePed = CHAR_FRANKLIN
|
|
SWITCH GET_PLAYER_PED_ENUM(player_ped_id())
|
|
CASE CHAR_TREVOR
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(speakingPed, "BUDDY_SEES_TREVOR_DEATH", "FRANKLIN_NORMAL",SPEECH_PARAMS_FORCE)//SPEECH_PARAMS_ALLOW_REPEAT) // | SPEECH_PARAMS_FORCE_FRONTEND)
|
|
BREAK
|
|
CASE CHAR_MICHAEL
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(speakingPed, "BUDDY_SEES_MICHAEL_DEATH", "FRANKLIN_NORMAL",SPEECH_PARAMS_FORCE)
|
|
BREAK
|
|
ENDSWITCH
|
|
ELIF ePed = CHAR_TREVOR
|
|
SWITCH GET_PLAYER_PED_ENUM(player_ped_id())
|
|
CASE CHAR_FRANKLIN
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(speakingPed, "BUDDY_SEES_FRANKLIN_DEATH", "TREVOR_NORMAL",SPEECH_PARAMS_FORCE)//SPEECH_PARAMS_ALLOW_REPEAT) // | SPEECH_PARAMS_FORCE_FRONTEND)
|
|
BREAK
|
|
CASE CHAR_MICHAEL
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(speakingPed, "BUDDY_SEES_MICHAEL_DEATH", "TREVOR_NORMAL",SPEECH_PARAMS_FORCE)
|
|
BREAK
|
|
ENDSWITCH
|
|
//,SPEECH_PARAMS_ALLOW_REPEAT)// | SPEECH_PARAMS_FORCE_FRONTEND)
|
|
ELIF ePed = CHAR_MICHAEL
|
|
SWITCH GET_PLAYER_PED_ENUM(player_ped_id())
|
|
CASE CHAR_TREVOR
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(speakingPed, "BUDDY_SEES_TREVOR_DEATH", "MICHAEL_NORMAL",SPEECH_PARAMS_FORCE)//SPEECH_PARAMS_ALLOW_REPEAT) // | SPEECH_PARAMS_FORCE_FRONTEND)
|
|
BREAK
|
|
CASE CHAR_FRANKLIN
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(speakingPed, "BUDDY_SEES_FRANKLIN_DEATH", "MICHAEL_NORMAL",SPEECH_PARAMS_FORCE)
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROc
|
|
|
|
PROC DEATH_RESPONSE()
|
|
|
|
WHILE NOT GET_NEARBY_BUDDY(nearbyBuddy)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
IF NOT IS_PED_INJURED(nearbyBuddy)
|
|
IF NOT g_bDontLetBuddiesReactToNextPlayerDeath
|
|
SET_ENTITY_AS_MISSION_ENTITY(nearbyBuddy,TRUE,TRUE)
|
|
|
|
IF GET_SCRIPT_TASK_STATUS(nearbyBuddy,SCRIPT_TASK_ANY) != FINISHED_TASK
|
|
CLEAR_PED_TASKS(nearbyBuddy)
|
|
ENDIf
|
|
|
|
|
|
vector vTemp = GET_ENTITY_COORDS(player_ped_id(),false)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(nearbyBuddy,TRUE)
|
|
|
|
sequence_index seq
|
|
OPEN_SEQUENCE_TASK(seq)
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(nearbyBuddy)
|
|
IF NOT IS_PED_IN_COMBAT(nearbyBuddy)
|
|
AND NOT IS_PED_IN_ANY_VEHICLE(nearbyBuddy)
|
|
TASK_TURN_PED_TO_FACE_COORD(null,vTemp,6000)
|
|
ENDIF
|
|
ENDIF
|
|
TASK_LOOK_AT_COORD(null,vTemp,6000)
|
|
CLOSE_SEQUENCE_TASK(seq)
|
|
TASK_PERFORM_SEQUENCE(nearbyBuddy,seq)
|
|
|
|
ENDIF
|
|
DO_DEATH_COMMENT(nearbyBuddy)
|
|
ENDIF
|
|
|
|
WHILE NOT IS_SCREEN_FADED_OUT()
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
//cleanup grabbed ped
|
|
|
|
IF DOES_ENTITY_EXIST(nearbyBuddy)
|
|
IF NOT IS_PED_INJURED(nearbyBuddy)
|
|
SET_PED_KEEP_TASK(nearbyBuddy,TRUE)
|
|
ENDIF
|
|
SET_PED_AS_NO_LONGER_NEEDED(nearbyBuddy)
|
|
ENDIF
|
|
g_bDontLetBuddiesReactToNextPlayerDeath = FALSE
|
|
|
|
TERMINATE_THIS_THREAD()
|
|
ENDPROC
|
|
|
|
|
|
SCRIPT
|
|
|
|
IF HAS_FORCE_CLEANUP_OCCURRED(FORCE_CLEANUP_FLAG_SP_TO_MP)
|
|
OR REPLAY_SYSTEM_HAS_REQUESTED_A_SCRIPT_CLEANUP()
|
|
TERMINATE_THIS_THREAD()
|
|
ENDIF
|
|
|
|
DEATH_RESPONSE()
|
|
|
|
ENDSCRIPT
|