sElevator 0 -1 -90 0 <undefined> <undefined> 1 603 7 0 0 -1 2 self 0 0 1 image_speed = 0.5; global.savexpos = x; active = 1; state = 0; statetime = 0; targety = 0; mysolid = instance_create(x - 16, y, oSolid1); mysolid.image_xscale = 2; elev_dir = 0; target_top = 0; target_bottom = 0; alarm[0] = 1; 1 603 7 0 0 -1 2 self 0 0 1 active = 1; 1 603 7 0 0 -1 2 self 0 0 1 event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 // var canride; if (collision_line(x - 9, y - 2, x + 9, y - 2, oCharacter, false, true)) { canride = 1; } else canride = 0; // if (state == 0 && active && canride && (oCharacter.state == 10 || oCharacter.state == 12) && (elev_dir == 1 && oControl.kUp || elev_dir == 0 && oControl.kDown)) { state = 1; statetime = 0; with (oCharacter) { state = ELEVATOR; statetime = 0; canrun = 0; if (facing == RIGHT) sprite_index = sFrontR; if (facing == LEFT) sprite_index = sFrontL; } } if (state == 1) { if (statetime == 20) sfx_loop(sndElevatorLoop); if (statetime > 20) { if (y < targety) y += 2; if (y > targety) y -= 2; } oCharacter.y = y; mysolid.y = y; if (y == targety) { with (oCharacter) { state = IDLE; statetime = 0; } state = 0; statetime = 0; active = 0; alarm[1] = 60; sfx_stop(sndElevatorLoop); event_user(0); } } // statetime += 1; 1 603 7 0 0 -1 2 self 0 0 1 if (oCharacter.y < room_height / 2) { y = target_top; targety = target_bottom; elev_dir = 0; } else { y = target_bottom; targety = target_top; elev_dir = 1; } mysolid.y = y; 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1