-----Original Message-----
From: Andrew <object@ALPHALINK.COM.AU>
To: CIRCLE@post.queensu.ca <CIRCLE@post.queensu.ca>
Date: Saturday, November 07, 1998 12:51 AM
Subject: Re: [code] [NEWBIE] Question about calling GET_CLASS(ch)
>>do_score in act.informative.c The below is what I tried to use:
>> sprintf(buf, "Class: %d", GET_CLASS(ch));
>> if (GET_REMORT(ch) >= 0) {
>> sprintf(buf, " Dual: %d", GET_REMORT(ch));
>> }
>>
<snip>
>/* Start code here */
> sprintf(buf + strlen(buf), "Class: ");
>
> switch(GET_CLASS(ch)) {
> case CLASS_MAGIC_USER:
> sprintf(buf + strlen(buf), "Magic User\r\n");
> break;
> case CLASS_CLERIC:
> sprintf(buf + strlen(buf), "Cleric\r\n");
> break;
<snip>
Actually, since class.c contains a nice constant called pc_class_types[],
you can use that to convert the decimal to string. The include at the top
of act.informative.c gives you the external declaration that you need for
it, so just:
Change your:
sprintf(buf, "Class: %d", GET_CLASS(ch));
to:
sprintf(buf, "Class: %s\r\n", pc_class_types[(int)GET_CLASS(ch)]);
send_to_char(buf, ch);
Rick
P.S. I added the \r\n so you'd go down to another line and send_to_char() so
that you can see it. :)
+------------------------------------------------------------+
| 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