Ok this code is probably -very- newbie-ish, because it's my first. :)
Anyway it's designed for those people with ASCII patches because the one on
the ftp site doesn't work. This isn't entirely my own work, I stole a bit
of the code from do_set in act.wizard.c.
<-----Snip-------[
/* WHOIS command for Circle 3.0 b pl 18 with any ASCII pfiles
* patch. This code is not guaranteed to work with your MUD, it was
* tested on stock Circle with an ASCII patch installed. It *should*
* work for you.
* Questions/Comments: neostar@inorbit.com
* Flames/Hate mail: bill@microsoft.com ;)
*/
void whois_char(struct char_data * ch, struct char_data * v)
{
int classnum;
const char *vclass[5] = {
"a Warrior", // 0
"a Thief", // 1
"a Magic User", // 2
"a Cleric", // 3
"a bug?!"}; // 4
if(GET_CLASS(v) == CLASS_WARRIOR) classnum = 0;
else if(GET_CLASS(v) == CLASS_THIEF) classnum = 1;
else if(GET_CLASS(v) == CLASS_MAGIC_USER) classnum = 2;
else if(GET_CLASS(v) == CLASS_CLERIC) classnum = 3;
else classnum = 4
sprintf(buf, "%s %s is a %s, at level: %d.\r\n", GET_NAME(k),
GET_TITLE(k), vclass[classnum], GET_LEVEL(v))
send_to_char(buf, ch);
}
ACMD(do_whois)
{
struct char_data *victim;
one_argument(argument, buf1);
if (!*buf1) {
send_to_char("Who?\r\n", ch);
return;
} else {
if ((victim = get_player_vis(ch, buf1, NULL, FIND_CHAR_WORLD)) !=
NULL)
whois_char(ch, victim);
else {
CREATE(victim, struct char_data, 1);
clear_char(victim);
CREATE(victim->player_specials, struct player_special_data, 1);
if (load_char(buf1, victim) > -1) {
char_to_room(victim, 0);
whois_char(ch, victim);
extract_char_final(victim);
} else {
send_to_char("There is no such player.\r\n", ch);
free_char(victim);
}}}}
]---------Snip------->
If you have any modifications to make this code more efficient please
inform me :)
-Neostar
--
+---------------------------------------------------------------+
| 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