>void elemental_portal(void) >{ > struct obj_data *portal; > struct time_info_data time_info; > int room; > > room = number(4210, 4299); Do all of these rooms exist? Even if they do now, they might not someday. Also you need a real room number for obj_to_room and (I assume) send_to_room. Try something like this: int i = 0; while ((room = real_room(number(4210,4200)) == NOWHERE && i < 100) i++; if (room == NOWHERE) { mudlog("Could not find a valid room after 100 tries", BRF, LVL_IMMORT, TRUE); return; } > portal = read_object(4216, VIRTUAL); You are creating objects and only using them once out of 24 hours, move this inside the time check, and check the result for failure. > > if (time_info.hours == 23) { portal = read_object(4216, VIRTUAL); if (portal == NOTHING) { mudlog("Could not create portal object", BRF, LVL_IMMORT, TRUE); return; } > sprintf(buf, "Elemental Portal appearing in room %d.", room); > mudlog(buf, BRF, LVL_IMMORT, TRUE); > obj_to_room(portal, room); > send_to_room("The very fabric of space is ripped apart as a shimmering portal appears.\r\n", room); > } else > return; >} You probably want better error messages, so you know what and where its trying to do things. Ron +------------------------------------------------------------+ | 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