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