On Mon, 2 Aug 1999, Alfredo Kengi Kojima wrote: > Hi > > Is it possible to create doors, so that they can only be > entered with the "enter" command? For example, if I want > a room that can only be entered through a "hole" (like "enter hole"), > how do I do that? If thats not possible with stock circle 3.0bpl15, > can you tell me whether there is some patch that does that? You need a room special procedure to do this, an extremely simple example follows. Make sure you assign it in spec_assign.c where all the others are assigned. I deliberately left out arguments for simplicity, but they should be easy enough to add if you feel the need for more than one entryway per room. /* change/add room vnums to to this array. The first number is the room the spec_proc is assigned to. The second is the destination room. The last entries should be left as -1. */ int enter_room_vnums[][2] = { { 1001, 1000 }, { -1, -1 } }; SPECIAL(enter_room) { int i; if (!CMD_IS("enter")) return FALSE; for (i = 0; enter_room_vnums[0][i] != -1; i++) { if (GET_ROOM_VNUM(IN_ROOM(ch)) == enter_room_vnums[0][i]) { char_from_room(ch); char_to_room(ch, real_room(enter_room_vnums[i][1])); look_at_room(ch, 0); act("$n has arrived", TRUE, ch, 0, 0, TO_ROOM); sprintf(buf, "You enter %s.\r\n", world[ch->in_room].name); send_to_char(buf, ch); return TRUE; } } mudlog("Invalid room to enter_room()", BRF, LVL_IMPL, TRUE); return FALSE; } This is of course MailerCode(tm), so use at your own risk. -- "Misery is boundless" -Xual the Torturer, on the Eve of the Sundering. Danathara Online RPG telnet://danathara.dhs.org:4000 +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST