A concise guide to audio, speech, UI, particle effects, and animation commands from decompiled GTA IV scripts.
Trigger sounds with PLAY_SOUND_*
commands. Use GET_SOUND_ID()
for unique IDs or -1
for defaults.
UI-related sounds (menus, phone, etc.).
PLAY_SOUND_FRONTEND(-1, "POLICE_COMPUTER_BOOTUP")
- Police computer startup.PLAY_SOUND_FRONTEND(-1, "MOUSE_SINGLE_CLICK")
- Menu click.PLAY_SOUND_FRONTEND(-1, "PHONE_TAKE_PICTURE")
- Phone camera snap.
Sounds from in-game objects.
PLAY_SOUND_FROM_OBJECT(id, "STREET_FOOD_GRILL", obj)
- Grill sizzle.PLAY_SOUND_FROM_OBJECT(id, "BOWLING_ALLEY_JINGLES_START_GAME", obj)
- Bowling start jingle.
Sounds at specific coordinates.
PLAY_SOUND_FROM_POSITION(-1, "SHOP_ALARMS_BELL", pos)
- Shop alarm.PLAY_SOUND_FROM_POSITION(id, "BOMB_DA_BASS_2_EXPLOSION_BIG", x, y, z)
- Big explosion.
Gameplay-triggered sounds.
PLAY_AUDIO_EVENT("MOBILE_PHONE_SMS_RECIEVE")
- SMS received.PLAY_AUDIO_EVENT("FRONTEND_OTHER_RACE_321")
- Race countdown.
Preload and play streams.
- QUB3D:
PRELOAD_STREAM("QUB3D_MENU_MUSIC"); PLAY_STREAM_FRONTEND(); STOP_STREAM()
- TV Ad:
PRELOAD_STREAM("TV_ADVERTS_BURGERSHOT"); PLAY_STREAM_FRONTEND()
Use SAY_AMBIENT_SPEECH(ped, "line", params)
for NPC dialogue.
SET_AMBIENT_VOICE_NAME(ped, "VOICE_NAME")
- e.g.,"STRIPPER_1"
.SET_VOICE_ID_FROM_HEAD_COMPONENT(ped, comp, id)
- Voice by head component.
- General:
"GANG_CHASE"
,"GENERIC_HI"
,"ATTRACT_BURGER"
. - Bowling:
"BOWL_GREETING"
,"bowling_Strike"
,"BOWLING_PLAYER_WINS"
. - Pool:
"POOL_PLAYER_MISS"
,"LETS_PLAY_POOL"
. - Police/Emergency:
"PULLED_OVER_SPEEDING"
,"EMERG_ARRIVE_AT_SCENE"
. - Adult Themes:
"SOLICIT_DRIVE_TO_LOC"
,"HOOKER_SEX"
.
Rant arrays (e.g., l_U156[0][0] = "RANT_A_01"
).
- Example:
SAY_AMBIENT_SPEECH(ped, l_U156[list][line], 1, 1, 2)
.
Show prompts with DRAW_FRONTEND_HELPER_TEXT("text", "input", params)
.
- Navigation:
"BACK"
(INPUT_F_CANCEL
),"SCROLL"
(PAD_DPAD_LR
). - Confirmation:
"CONFIRM"
(INPUT_F_ACCEPT
). - Menu:
"PLAYERS"
(INPUT_F_X
),"VEHICLES"
(INPUT_F_RB
). - Game:
"NEW_GAME"
(PAD_BACK
).
Visual effects via TRIGGER_PTFX*
commands.
- Ped:
"blood_stun_punch"
(bone 1205),"fire_chopper_tail"
. - Object:
"ambient_cig_smoke"
(offset 0.125, -0.02, 0.01). - Position:
"fire_plume_large"
,"qub_lg_explode_blue"
.
Load with REQUEST_ANIMS("set")
and play with TASK_PLAY_ANIM_NON_INTERRUPTABLE
.
- Jump:
"jump_std"
,"jump_on_spot"
(speed 8.0, no loop). - Climb:
"climb_std"
,"fall_glide"
(speed 8.0, looped). - Ped:
"ped"
,"run_open_door_shove"
(speed 8.0).
Update blips with CHANGE_BLIP_NAME_FROM_TEXT_FILE(blip, "name")
.
"BINCO"
,"ZIP"
,"PERSEUS"
.