bug in char listing

From: Kras Kresh (kras_kresh@hotmail.com)
Date: 10/29/00


uh u people ever notice when u look at a room with people in it without
titles?
well i have a fix for that.. not sure if there already is one
well here is what i did
i made the first character in the title a space
isn't that cool? :)
uh i already removed the auto-title thing, so i'm not sure if this thing
will work for u people if u didn't
i think this fix is just so damn long for such a small bug...
oh well here goes

in act.informative.c:
search for the uh 'void list_one_char'
in line where u have the GET_TITLE(i)
put 'sprintf(buf, "%s%s", i->player.name, GET_TITLE(i));

there should be this before it-
  if (IS_NPC(i)) {
    strcpy(buf, i->player.short_descr);
    CAP(buf);
  }
  else

if u don't then its not my fault

in stock circle do_score:
it will tell u 'This ranks u as %s %s.'
get rid of the space in there

search for-  ACMD(do_who)
where u have the '%s %s' for the GET_NAME(tch) and GET_TITLE(tch)
remove the space

search for-  SCMD_WHOAMI
delete the stuff in there and put
sprintf(buf, "%s%s.\r\n", GET_TITLE(ch));
send_to_char(buf, ch);
break;

in act.other.c:
search for-  set_title(ch, argument);
put these 3 lines before it

if (!*argument)
set_title(ch, NULL);
else

after that get rid of the space u know where

in act.wizard.c:
search for:
Title: %s
remove the space there

search for-  do_who:
search for-  case 2:
replace the thing with:
if (!*val_arg)
set_title(vict, NULL);
else
set_title(vict, val_arg);
sprintf(output, "%s's title is now:%s", GET_NAME(vict),GET_TITLE(vict));
break;

in limits.c:
search for-  void set_title
(I have bpl17 so check if yours is the same if not u'll have to change this,
maybe)
replace whatever u have in there with--

  char tmp[MAX_STRING_LENGTH];
  *tmp = '\0';
  if (title != NULL)
    sprintf(tmp, " %s", title);

  if (strlen(tmp) >= MAX_TITLE_LENGTH)
    tmp[MAX_TITLE_LENGTH] = '\0';

  if (GET_TITLE(ch) != NULL)
    free(GET_TITLE(ch));

  GET_TITLE(ch) = str_dup(tmp);

i uh.. player wipe a lot and i did that before i did this
so.. uh u might want to put this in something like this somewhere like
interpreter.c
search for-  act("$n has entered the game.",
after that put
set_title(d->character, GET_TITLE(d->character));
i have no idea if that works so dont blame me if it crashes your game
there might be other places where your title gets shown, but u go search for
that if this thing works
remember to BACK UP FIRST!!!
i never did... but then i player wipe alot
i didn't seem to screw up and files cuz if this don't work... then it'll
crash the mud once u do something with title like type title

hey if this works for u tell me about it :)


_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at
http://profiles.msn.com.


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT