You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.1 KiB
50 lines
1.1 KiB
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
|