April,
You should make an attempt to look at the code completely before
asking such questions. Many imps decide to run a mud, and end up
asking very newbie-ish questions because they either don't know
enough C to understand the code, or don't sift through the whole
code at least ONCE just to experience the majesty of CircleMUD.
If you look in db.c, you'll see a neat subroutine called parse_object
which basically loads each and every object in the files listed in
the index. In the scanf's, the function loads the numbers/letters.
The function asciiflag_conv() basically converts the letters into
usable numbers.
BTW, looking in structs.h:
(1 << 0) is not A, but a.
(1 << 1) is b
(1 << 2) is c
.
.
.
(1 << 24) is y
(1 << 25) is z
(1 << 26) is A
(1 << 27) is B
.
etc.
I hope this helps you, but my point is that you could have answered your
own question if you spend a little more time looking at the whole src
directory and attempt to make some links of the various functions and
subroutines in the game.
linc
PS: I'm using Ultrix 4.4 and gcc 2.6.3 and found this problem. It might
be a system wide bug: act.informative.c ACMD(do_look);
I don't think you want to do a (is_abbrev(arg, "in")) boolean check
because...what if someone is called "InXXXXXX" such as "Inherent".
This, of course, applies to (is_abbrev(arg, "at")) as well. I fixed
the problem in my subroutine by replacing is_abbrev with !str_cmp.
Hope this helps some people.
This archive was generated by hypermail 2b30 : 12/07/00 PST