Re: beam me up, scotty

From: Phillip A. Ames (kirk47@JUNO.COM)
Date: 08/29/98


okie...  Have a bit more info now.

32000H/32000H 32000M/32000M 32000V/32000V > beamup
You beam up to the test ship.

[ 3000] The Bridge, test ship [ NOBITS ]
You are in a test ship.
[ Exits: None! ]
A viewscreen is here, allowing you to see the outside of the ship.
A transporter pad is here, waiting to beam people to and from the ship.
..It emits a faint humming sound!
A control panel is here, allowing access to the ships systems. ..It emits
a faint humming sound!
Grathol the Newbie is standing here.

32000H/32000H 32000M/32000M 32000V/32000V > beamdown
You beam down from the test ship.

You've managed to screw things up pretty bad.
You quickly abort your beamdown from the test ship as you realize you
aren't going anywhere.

[ SYSERR: **BAD** Beamdown room is equal to nowhere! ]

... and the code ...


 else if (CMD_IS("beamdown")) {

if (!GET_EQ(ch, WEAR_COMM)) {
        return 0;
} else {
        vehicle = find_vehicle_by_vnum(GET_OBJ_VAL(badge, 0));
                if (!vehicle) {
                        send_to_char("ERROR!  Vehicle doesn't exist.
Someone's been screwing around...", ch);
                        mudlog("SYSERR: **BAD** Vehicle doesn't exist!
Purged?", BRF, LVL_IMMORT, TRUE);
                } else if (GET_OBJ_VAL(badge, 2) == 0) {
                        send_to_char("You cannot beam down if you aren't
already aboard a starship!\r\n", ch);
                        send_to_char("However, if you are aboard a
starship, contact an immortal for assistance.\r\n", ch);
                } else {
                        beamdown_room = GET_OBJ_VAL(badge, 2);
                        GET_OBJ_VAL(badge, 2) = 0;
                        act("$n beams down from $p.\r\n", TRUE, ch,
vehicle, 0, TO_ROOM);
                        act("You beam down from $p.\r\n", TRUE, ch,
vehicle, 0, TO_CHAR);
                        if (real_room(beamdown_room) == NOWHERE) {
                                send_to_char("You've managed to screw
things up pretty bad.\r\n", ch);
                                act("You quickly abort your beamdown from
$p as you realize you aren't going anywhere.\r\n", TRUE, ch, vehicle, 0,
TO_CHAR);
                                act("$n aborts beaming down from $p,
realizing the futility of the effort.", TRUE, ch, vehicle, 0, TO_ROOM);
                                mudlog("SYSERR: **BAD** Beamdown room is
equal to nowhere!", BRF, LVL_IMMORT, TRUE);
                        } else {
                                char_from_room(ch);
                                char_to_room(ch, GET_OBJ_VAL(badge, 2));
                                look_at_room(ch, 0);
                                act ("$n leaves in a sparkling
transporter beam.", TRUE, ch, 0, 0, TO_ROOM);
                        }
                }
                return 1;
        }
}
}

The weird thing is this...  After they type beamdown, and they've already
beamed up, with a value set in the value 2 slot, it will CLEAR that
value, then abort it.  Anyone know what might be wrong?  I'd never
thought this would be so complicated, but then again, that's just me.

-Phillip

Phillip Ames    | Satisfaction is not guaranteed.
kirk47@juno.com | -Ferengi Rule of Acquisition #19
ICQ: 8778335    | AOL IM: Grathol
http://members.xoom.com/Gowron/index.html(Unfinished)

_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST