PlaySFX: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Formatting)
m (→‎Example: Added another example, showcasing the "radio" syntax.)
 
(12 intermediate revisions by 7 users not shown)
Line 5: Line 5:
}}
}}


{{Note|There is a tool available which allows you to find bank and sound IDs easily: [[https://community.mtasa.com/index.php?p=resources&s=details&id=7549 sfxBrowser:Download]]}}
{{Note|There is a tool available which allows you to find bank and sound IDs easily: [[https://community.mtasa.com/index.php?p=resources&s=details&id=7549 sfxBrowser:Download]].}}
{{Warning|Many players use versions of GTA:SA (especially pirated versions) that have audio files full of zeros so that they can compresses better in their ''AUDIO\SFX\'' folder. (They lack any data)  
{{Warning|Many players use versions of GTA:SA (especially pirated versions) that have audio files full of zeros so that they can compresses better in their ''AUDIO\SFX\'' folder. (They lack any data)  
In case of these invalid audio files, this function returns ''false''|true}}
In case of these invalid audio files, this function returns ''false''.
 
It also returns ''false'' when trying to play a track deleted in the recent GTA: SA Steam patches (and if the client is using a Steam GTA: SA copy).|true}}
{{Note|PlaySFX sounds are MTA driven sounds, so MTA volume affects the volume.}}


==Syntax==
==Syntax==
Line 24: Line 27:
Returns a [[sound]] element if the sound was successfully created, ''false'' otherwise.
Returns a [[sound]] element if the sound was successfully created, ''false'' otherwise.


 
{{New feature/item|3.0140|1.4|6443|
{{New feature/item|4.0140|1.4|6443|
==Syntax 2==
==Syntax 2==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 33: Line 35:
===Required Arguments===
===Required Arguments===
*'''radio:''' The string "radio" (used to differentiate to the first syntax)  
*'''radio:''' The string "radio" (used to differentiate to the first syntax)  
*'''radioStation:''' The radio station. Possible values are "Adverts", "Ambience", "Police", "Playback FM", "KROSE", "K-DST", "Cutscene", "Beats", "Bounce FM", "SFUR", "Radio Los Santos", "Radio X", "CSR", "K-JAH", "Master Sounds", "WCTR".
*'''radioStation:''' The radio station. Possible values are "Adverts", "Ambience", "Police", "Playback FM", "K-Rose", "K-DST", "Cutscene", "Beats", "Bounce FM", "SF-UR", "Radio Los Santos", "Radio X", "CSR 103.9", "K-Jah West", "Master Sounds 98.3", "WCTR".
*'''trackId :''' The radio track id within the radio station audio file
*'''trackId :''' The radio track id within the radio station audio file


Line 41: Line 43:
Returns a [[sound]] element if the sound was successfully created, ''false'' otherwise.
Returns a [[sound]] element if the sound was successfully created, ''false'' otherwise.
}}
}}


==Example==
==Example==
Line 49: Line 50:
     outputChatBox("You have to install some missing audio files to hear the sound")
     outputChatBox("You have to install some missing audio files to hear the sound")
end
end
</syntaxhighlight>
This example spawns Big Smoke in his Crack Palace and plays one of his screams followed by the mission accomplished sound when he's killed.
<syntaxhighlight lang="lua">
local bigsmoke = createPed(311,2550.53, -1284.81, 1060.98, 270)
setElementInterior(bigsmoke, 2)
function smokeDied()
    playSFX("spc_na", 32, 34)
    setTimer(playSFX, 1000, 1, "radio", "Beats", 9)
end
addEventHandler("onClientPedWasted", bigsmoke, smokeDied)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
{{Client_audio_functions}}
{{Client_audio_functions}}
[[hu:playSFX]]
[[pt-br:playSFX]]

Latest revision as of 06:05, 11 March 2023

This function plays a sound from GTA's big sound containers.


[[{{{image}}}|link=|]] Note: There is a tool available which allows you to find bank and sound IDs easily: [sfxBrowser:Download].
Dialog-warning.png Warning: Many players use versions of GTA:SA (especially pirated versions) that have audio files full of zeros so that they can compresses better in their AUDIO\SFX\ folder. (They lack any data)

In case of these invalid audio files, this function returns false.

It also returns false when trying to play a track deleted in the recent GTA: SA Steam patches (and if the client is using a Steam GTA: SA copy).

[[{{{image}}}|link=|]] Note: PlaySFX sounds are MTA driven sounds, so MTA volume affects the volume.

Syntax

element playSFX ( string containerName, int bankId, int soundId [, bool looped = false ] )

Required Arguments

  • containerName: The name of the audio container. Possible values are: "feet", "genrl", "pain_a", "script", "spc_ea", "spc_fa", "spc_ga", spc_na", "spc_pa"
  • bankId: The audio bank id
  • soundId: The sound id within the audio bank

Optional Arguments

  • looped: A boolean representing whether the sound will be looped

Returns

Returns a sound element if the sound was successfully created, false otherwise.

Syntax 2

element playSFX ( string "radio", string radioStation, int trackId [, bool looped = false ] )

Required Arguments

  • radio: The string "radio" (used to differentiate to the first syntax)
  • radioStation: The radio station. Possible values are "Adverts", "Ambience", "Police", "Playback FM", "K-Rose", "K-DST", "Cutscene", "Beats", "Bounce FM", "SF-UR", "Radio Los Santos", "Radio X", "CSR 103.9", "K-Jah West", "Master Sounds 98.3", "WCTR".
  • trackId : The radio track id within the radio station audio file

Optional Arguments

  • looped: A boolean representing whether the sound will be looped

Returns

Returns a sound element if the sound was successfully created, false otherwise.

Example

The following example plays a firealarm sound (looped).

if not playSFX("script", 7, 1, true) then
    outputChatBox("You have to install some missing audio files to hear the sound")
end


This example spawns Big Smoke in his Crack Palace and plays one of his screams followed by the mission accomplished sound when he's killed.

local bigsmoke = createPed(311,2550.53, -1284.81, 1060.98, 270)
setElementInterior(bigsmoke, 2)

function smokeDied()
    playSFX("spc_na", 32, 34)
    setTimer(playSFX, 1000, 1, "radio", "Beats", 9)
end
addEventHandler("onClientPedWasted", bigsmoke, smokeDied)

See Also