Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_dialogue_narrator_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
if (local_dialogue_open == false)
4
    instance_destroy();
5
if (letter_array == -1)
6
{
7
    for (var i = 1; i <= string_length(message[message_current]); i++)
8
    {
9
        text_alpha[i] = 0;
10
        letter_array[i] = string_char_at(message[message_current], i);
11
        if (i > 1)
12
            text_x[i] = text_x[clamp(i - 1, 1, 9999)] + str_width;
13
        text_y[i] = text_y[clamp(i - 1, 1, 9999)];
14
        if (letter_array[i] == "#")
15
        {
16
            text_y[i] += 20;
17
            text_x[i] = text_x[1] - str_width;
18
        }
19
    }
20
}
21
if (letter_current < (array_length(letter_array) - 1))
22
{
23
    if (letter_waiter == 0)
24
    {
25
        letter_current += letter_speed;
26
        if (floor(letter_current) == letter_current)
27
        {
28
            switch (letter_array[letter_current])
29
            {
30
                case " ":
31
                case ".":
32
                case "#":
33
                    break;
34
                default:
35
                    break;
36
            }
37
        }
38
    }
39
}
40
else if (!alarm[0] && !message_advance)
41
{
42
    alarm[0] = 30;
43
}
44
if (letter_waiter > 0)
45
    letter_waiter--;
46
if (message_advance == 1)
47
{
48
    draw_alpha -= 0.05;
49
    if (draw_alpha <= 0)
50
    {
51
        for (var i = 0; i <= letter_current; i++)
52
            text_alpha[i] = 0;
53
        draw_alpha = 0;
54
        message_advance += 1;
55
    }
56
    else
57
    {
58
        exit;
59
    }
60
}
61
else if (message_advance == 2)
62
{
63
    message_advance = 0;
64
    if ((message_current + 1) < array_length_1d(message))
65
    {
66
        letter_array = -1;
67
        message_current += 1;
68
        letter_current = 0;
69
    }
70
    else
71
    {
72
        local_dialogue_open = false;
73
    }
74
}
75
if (message_advance != 1)
76
{
77
    if (draw_alpha < 1)
78
        draw_alpha += 0.1;
79
}
80
for (var i = 0; i <= letter_current; i++)
81
{
82
    if (text_alpha[i] < 1)
83
        text_alpha[i] += 0.1;
84
}