Luca wrote: > > Anyone can tell me what this thing do? > spec_procs.c > SPECIAL(mayor) > { > const char open_path[] = > "W3a3003b33000c111d0d111Oe333333Oe22c222112212111a1S."; > const char close_path[] = > "W3a3003b33000c111d0d111CE333333CE22c222112212111a1S."; > I have no clue... Here is your clue: It sets the variables 'open_path' and 'close path' to those strings of characters. Then if you follow the code down, you notice: if (time_info.hours == 6) { move = TRUE; path = open_path; index = 0; } else if (time_info.hours == 20) { move = TRUE; path = close_path; index = 0; } This section tells the code what times during a mud day to work on which open/close path to use. Again, further down there is a section of code that looks like: switch (path[index]) { case '0': case '1': case '2': case '3': perform_move(ch, path[index] - '0', 1); break; case 'W': GET_POS(ch) = POS_STANDING; act("$n awakens and groans loudly.", FALSE, ch, 0, 0, TO_ROOM); break; case 'S': GET_POS(ch) = POS_SLEEPING; act("$n lies down and instantly falls asleep.", FALSE, ch, 0, 0, TO_ROOM); break; case 'a': act("$n says 'Hello Honey!'", FALSE, ch, 0, 0, TO_ROOM); act("$n smirks.", FALSE, ch, 0, 0, TO_ROOM); break; case 'b': act("$n says 'What a view! I must get something done about that dump!'", FALSE, ch, 0, 0, TO_ROOM); break; case 'c': act("$n says 'Vandals! Youngsters nowadays have no respect for anything!'", FALSE, ch, 0, 0, TO_ROOM); break; <sniped the remaining> To put it all togather each letter/number is evaluated one at a time every few seconds to 'move', talk, open/lock doors, etc. The numbers move him in that direction (see directions in structs.h) and the other letters perform the functions in the spec_proc. -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST