Rather than use a special procedure, change it a more specialized
function, and call it from char_to_room. Or, add it to one of the update
functions, that cycle every few ticks.
On Fri, 8 Nov 1996, Haddixx wrote:
> from the dead during the night if a player walks into the square. The special
> procedure is placed on a corpse object and whenever a player enters the room
> it checks to see if a) it is buried and b) if it is in a GRAVEYARD room.
> The basic special procedure works the only problem it isn't activated
> until a player does something in the room. For example, if a player walks
> into the room and then just sits there and does nothing then the special
> prcocedure isn't activated. If the players types anything, then it gets
> activated. Here is the basic code:
>
> #define UNDEAD_BASE 50
>
> SPECIAL(graveyard)
> {
> struct char_data *mob;
> struct obj_data *obj = (struct obj_data *) me;
> int mob_num, fall_ch;
>
> if(ROOM_FLAGGED(ch->in_room, ROOM_GRAVEYARD))
> {
> if(IS_BURIED(obj) && weather_info.sunlight == SUN_DARK)
> {
> mob_num = UNDEAD_BASE;
> mob = read_mobile(mob_num, VIRTUAL);
> act("$p pushes up through the frozen soil!", FALSE, mob, obj, NULL,
> TO_ROOM);
> IS_CARRYING_W(mob) = 0;
> IS_CARRYING_N(mob) = 0;
> extract_obj(obj);
> return(FALSE);
> }
> }
> return(FALSE);
> }
>
> My question is how can I make the special procedure activate itself whenever
> the player enters the room and not relay on them entering a command?
>
> -Haddixx
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> | -=-=- AVALANCHE MUD -=-=- | Haddixx |
> + Running at: 143.207.31.45 port 8000 + Brian M. Menges +
> | Imps: Haddixx [haddixx@megamed.com] | |
> + Devon [cthompso@chat.carleton.ca] + +
> | Web Site: http://www.megamed.com/~haddixx | |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
>
> +-----------------------------------------------------------+
> | Ensure that you have read the CircleMUD Mailing List FAQ: |
> | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
> +-----------------------------------------------------------+
>
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST