At the top of update.c put void random_quest args( ( void ) ); then somewhere else in update.c put this: void random_quest( void ) { OBJ_DATA *pill; ROOM_INDEX_DATA *room; if ((time_info.hour == 2) || (time_info.hour == 6) || (time_info.hour == 14) || (time_info.hour == 18)) { for ( ; ; ) { room = get_room_index( number_range(0, 65535) ); if (room != NULL) if (!IS_SET(room->room_flags, ROOM_PRIVATE) && !IS_SET(room->room_flags, ROOM_SOLITARY) && !IS_SET(room->room_flags, ROOM_LOCKED) && !IS_SET(room->room_flags, ROOM_SAFE) && !IS_SET(room->room_flags,ROOM_LAW)) break; } pill = create_object(get_obj_index(OBJ_VNUM_QUEST_PILL), 0); pill->timer = 50; obj_to_room(pill,room); } } IN void update_handler under weather_update put random_quest ( ); there this allows a quest pill to be loaded every so often in a random place Bah thats all this allows a quest pill to be loaded in a random place every so often