64f @verb #7353:"push press" any none none rdo #9921 @program #7353:"push press" any none none if (!args) return player:tell("Usage: push [floor number]") elseif (this.in_motion_to > -1) return player:tell("The elevator is already moving, please don't be a little bratty kid and press all the buttons.") endif x = toint(argstr) if (x < 0 || x > $MCA.top_floor || (!x && !(argstr in {"lobby", "0", "ground"}))) return player:tell("Invalid button.") elseif (x == this.floor || !x && this.floor == 0) return player:tell("The elevator is already there.") endif this:announce_all(player:title(), " hits the button for the ", !x ? "lobby" | tostr($string_utils:english_ordinal(x), " floor"), ".") this.exit.dest:announce_all("The elevator door slides closed.") "#8084:tell(toliteral(this.exit.dest));" this.exit.dest.elev.dest = #-1 this.exit.dest = #-1 this.in_motion_to = x this:announce_all("The elevator door slides closed and it lurches towards it's destination.") "Exits unlinked, we're stuck here." suspend(3) this:announce_all("The elevator humms in motion..") suspend(3) this:announce_all("You hear a Ding! as the elevator stops at the ", !x ? "lobby" | tostr($string_utils:english_ordinal(x), " floor"), ".") suspend(1) this.exit.dest = `$MCA.floors[listiassoc(x, $MCA.floors)][2] ! E_RANGE => this.lobby' this.exit.dest.elev.dest = this this.floor = x ? x | 0 "Exits relinked." this:announce_all("The door slides open.") this.exit.dest:announce_all("The elevator door slides open.") this.in_motion_to = -1 "Last modified by Dax (#789) on Tue May 3 14:09:36 2005 MDT." . 0