Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_snd_play_random

(view raw script w/o annotations or w/e)
1
function snd_play_random(arg0 = true, arg1 = 1, arg2 = 1)
2
{
3
    var soundbank = [];
4
    for (var i = 3; i < argument_count; i++)
5
    {
6
        if (is_array(argument[i]))
7
        {
8
            for (var j = 0; j < array_length(argument[i]); j++)
9
            {
10
                if (audio_exists(argument[i][j]))
11
                    array_push(soundbank, argument[i][j]);
12
            }
13
        }
14
        else if (audio_exists(argument[i]))
15
        {
16
            array_push(soundbank, argument[i]);
17
        }
18
    }
19
    var sndlength = array_length(soundbank);
20
    if (sndlength > 0)
21
    {
22
        if (arg0)
23
        {
24
            for (var i = 0; i < sndlength; i++)
25
                snd_stop(soundbank[i]);
26
        }
27
        var sound = audio_play_sound(soundbank[irandom_range(0, sndlength - 1)], 50, false);
28
        audio_sound_gain(sound, arg1, 0);
29
        audio_sound_pitch(sound, arg2);
30
        return sound;
31
    }
32
    else
33
    {
34
        show_debug_message_concat("snd_play_random() failed, no real sounds included");
35
        return -4;
36
    }
37
}