SPECIAL(newbie_guide) { static char tour_path[] = "WAAA2E3J1230D22G032K011110I22M033212L030014R530A00001HBC32222Z."; /* The above is the path that the guide takes. The numbers are the */ /* Directions in which he moves */ /* If you find your guide is getting lost, it's probably because you */ /* don't have the newbie area included in stock bpl11. To fix it, */ /* use this path instead: */ /* static char tour_path[] = "WAAA2E3J1230D22G032K011110I22M033212L030014R530Z."; */ static char *path; static int index; static bool move = FALSE; if (!move) { if (time_info.hours == 1) { /* Tour starts at 1 am*/ move = TRUE; path = tour_path; index = 0; } else if (time_info.hours == 12) { /* And at 12 pm */ move = TRUE; path = tour_path; index = 0; } } if (cmd || !move || (GET_POS(ch) < POS_RESTING) || (GET_POS(ch) == POS_FIGHTING)) return FALSE; switch (path[index]) { case '0': case '1': case '2': case '3': case '4': case '5': perform_move(ch, path[index] - '0', 1); break; case 'W': GET_POS(ch)=POS_STANDING; act("$n stands up and announces 'The tour is going to start soon!'", FALSE, ch, 0, 0, TO_ROOM); break; case 'Z': act("$n sits and rests for his next journey.", FALSE, ch, 0, 0, TO_ROOM); GET_POS(ch)=POS_RESTING; break; case 'M': act("$n says 'This is the enterence to the WARRIORS guild.'", FALSE, ch, 0, 0, TO_ROOM); break; case 'L': act("$n says 'This is the enterence to the THEVES guild.'", FALSE, ch, 0, 0 , TO_ROOM); break; case 'K': act("$n says 'This is the enterence to the MAGES guild.'", FALSE, ch, 0, 0, TO_ROOM); break; case 'J': act("$n says 'This is the enterence to the CLERICS guild.'", FALSE, ch, 0, 0, TO_ROOM); break; case 'H': act("$n says 'Right now, you may find it usefull to type 'WEAR ALL''", FALS E, ch, 0, 0, TO_ROOM); break; case 'A': act("$n says 'Newbies!! Type 'FOLLOW GUIDE' for a guided tour'", FALSE, ch, 0, 0, TO_ROOM); break; case 'B': act("$n says 'This here is the enterence to the newbie area. Please, type ' FOLLOW SELF''", FALSE, ch, 0, 0, TO_ROOM); break; case 'C': act("$n says 'Now have fun out there, and be careful!'", FALSE, ch, 0, 0, T O_ROOM); break; case 'D': act("$n says 'This is our dear friend the baker, to buy bread from him, typ e 'BUY BREAD''", FALSE, ch, 0, 0, TO_ROOM); break; case 'E': act("$n says 'This is the Fountain, to drink from it, type 'DRINK FOUNTAIN' '", FALSE, ch, 0, 0, TO_ROOM); break; case 'F': act("$n says 'This is our dear friend Wally, he will sell you water, type 'LIST' to see a list of what he has.'", FALSE, ch, 0, 0, TO_ROOM); break; case 'G': act("$n says 'This is the Armorer, he makes armor, type LIST to see what he has to sell'", FALSE, ch, 0, 0, TO_ROOM); break; case '.': move = FALSE; break; case 'R': act("$n says 'This is the RECEPTION, in this MUD, you must RENT.'", FALSE, ch, 0, 0, TO_ROOM); act("$n says 'To see how much your rent will cost, type 'OFFER'", FALSE, ch , 0, 0, TO_ROOM); act("$n says 'To rent, type RENT.'", FALSE, ch, 0, 0, TO_ROOM); break; } index++; return FALSE; }