Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_factory_04_elevator_Step_0

(view raw script w/o annotations or w/e)
1
switch (scene)
2
{
3
    case 0:
4
        if (scr_interact
scr_interact

function scr_interact() { if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state) { var pl_dir = obj_pl.direction; var pl_x = 0; var pl_y = 0; var check_distance_x = 0; var check_distance_y = 0; switch (pl_dir) { case 0: pl_x = obj_pl.bbox_right; pl_y = obj_pl.bbox_top + 1; check_distance_x = 20; break; case 180: pl_x = obj_pl.bbox_left; pl_y = obj_pl.bbox_top + 1; check_distance_x = -20; break; case 90: pl_x = obj_pl.x; pl_y = obj_pl.bbox_top; check_distance_y = -20; break; case 270: pl_x = obj_pl.x; pl_y = obj_pl.bbox_bottom; check_distance_y = 20; break; } if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false)) return true; } }
() && keyboard_multicheck_pressed(0) && global.sworks_flag[38] >= 3)
5
            cutscene_advance();
6
        break;
7
    case 1:
8
        scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() { global.cutscene = true; obj_pl.state = scr_frozen_state; obj_pl.image_index = 0; obj_pl.image_speed = 0; }
();
9
        audio_play_sound(snd_sliding_door_open, 1, 0);
10
        image_speed = 1;
11
        scene++;
12
        break;
13
    case 2:
14
        if (image_index > (image_number - 1))
15
        {
16
            image_speed = 0;
17
            image_index = image_number - 1;
18
            cutscene_advance();
19
        }
20
        break;
21
    case 3:
22
        instance_create(obj_pl.x, obj_pl.y, obj_player_npc);
23
        cutscene_follower_into_actor();
24
        break;
25
    case 4:
26
        cutscene_npc_walk(1168, 120, 340, 3, "x", "down");
27
        scene++;
28
        break;
29
    case 5:
30
        cutscene_wait(0.25);
31
        break;
32
    case 6:
33
        cutscene_npc_walk(1161, 120, 340, 3, "x", "up");
34
        scene++;
35
        break;
36
    case 7:
37
        cutscene_wait(0.5);
38
        break;
39
    case 8:
40
        cutscene_change_room(209, 160, 108, 0.1);
41
        break;
42
}
43
if (scene >= 4)
44
{
45
    with (obj_actor_npc_base)
46
    {
47
        if (y < 365)
48
        {
49
            if (image_alpha > 0)
50
                image_alpha -= 0.2;
51
        }
52
    }
53
}