Skip to content

Instantly share code, notes, and snippets.

@VIRUXE
Created July 13, 2025 11:03
Show Gist options
  • Save VIRUXE/a64339fd7b3d0e8a182ec0b984acc86d to your computer and use it in GitHub Desktop.
Save VIRUXE/a64339fd7b3d0e8a182ec0b984acc86d to your computer and use it in GitHub Desktop.
A concise guide to audio, speech, UI, particle effects, and animation commands from decompiled GTA IV scripts.

GTA IV Script Commands Reference

A concise guide to audio, speech, UI, particle effects, and animation commands from decompiled GTA IV scripts.

Sound Effects

Trigger sounds with PLAY_SOUND_* commands. Use GET_SOUND_ID() for unique IDs or -1 for defaults.

Frontend Sounds

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.

Object-Based Sounds

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.

Position-Based Sounds

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.

Audio Events

Gameplay-triggered sounds.

  • PLAY_AUDIO_EVENT("MOBILE_PHONE_SMS_RECIEVE") - SMS received.
  • PLAY_AUDIO_EVENT("FRONTEND_OTHER_RACE_321") - Race countdown.

Music & Streams

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()

Ambient Speech

Use SAY_AMBIENT_SPEECH(ped, "line", params) for NPC dialogue.

Voice Setup

  • SET_AMBIENT_VOICE_NAME(ped, "VOICE_NAME") - e.g., "STRIPPER_1".
  • SET_VOICE_ID_FROM_HEAD_COMPONENT(ped, comp, id) - Voice by head component.

Speech Categories

  • 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".

Ambient Rants

Rant arrays (e.g., l_U156[0][0] = "RANT_A_01").

  • Example: SAY_AMBIENT_SPEECH(ped, l_U156[list][line], 1, 1, 2).

UI Helper Text

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).

Particle Effects (PTFX)

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".

Animations

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).

Blip Names

Update blips with CHANGE_BLIP_NAME_FROM_TEXT_FILE(blip, "name").

  • "BINCO", "ZIP", "PERSEUS".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment