change in stat command:

From: Lew/Ryan Guthrie (guthrie@henge1.henge.com)
Date: 02/25/97


Well i am changing around that stat format so i just rewrote it, error
given:

gcc -c -g -O -Wall -fno-strict-prototypes  act.wizard.c
act.wizard.c:969: unterminated character constant
make[1]: *** [act.wizard.o] Error 1

All of coding(so far)(at the end will be lines ~969 where i didn't edit anything):

void do_stat_character(struct char_data * ch, struct char_data * k)
{
  int i, i2, found = 0
  struct obj_data *j;
  struct follow_type *fol;
  struct affected_type *aff;
  extern struct attack_hit_type attack_hit_text[];

   if(!IS_MOB(k)) {
	switch(GET_SEX(k)) {
	case SET_NEUTRAL: strcpy(buf, "(neutral)"); break;
	case SEX_MALE: strcpy(buf, "(male)"); break;
	case SEX_FEMALE: strcpy(buf, "(female)"); break;
	default: strcpy(buf, "(BI-sexual)"); break;
	}
     sprintf(buf2, " %s '%s' ID(%5ld), Room(%5d)\n\r",
	(!IS_NPC(k) ? "PC"), GET_NAME(k), GET_IDNUM(k), world[k->in_room].number);
     send_to_char(strcat(buf, buf2), ch);
     sprintf(buf, "Title:%s %s\n\r", GET_NAME(k), (k->player.title ? k->player.title: "<None>"));
     send_to_char(buf, ch);
     srtcpy(buf, "Class: ");
     sprinttype(k->player.class, pc_class_types, buf2);
     strcat(buf, buf2);
     sprintf(buf2, ", Level: [%s%2d%s], EXP: [%s%7d%s], Align: [%4d]\n\r",
	CCYEL(ch, C_NRM), GET_LEVEL(k), CCNRM(ch, C_NRM),
	CCYEL(ch, C_NRM), GET_EXP(k), CCNRM(ch, C_NRM),
	GET_ALIGNMENT(k));
     sprintf(buf, "[Hit:%s%d(%d)+ %d%s][Mana:%s%d(%d)+ %d%s][Move:%s%d(%d)+ %d%s]\n\r",
	CCGRN(ch, C_NRM), GET_HIT(k), GET_MAX_HIT(k), hit_gain(k), CCNRM(ch, C_NRM),
	CCGRN(ch, C_NRM), GET_MANA(k), GET_MAX_MANA(k), mana_gain(k), CCNRM(ch, C_NRM),
	CCGRN(ch, C_NRM), GET_MOVE(k), GET_MAX_MOVE(k), move_gain(k), CCNRM(ch, C_NRM));
     send_to_char(buf, ch);
     sprintf(buf, "Str: [%s%d/%d%s] Int: [%s%d%s] Wis: [%s%d%s] Dex: [%s%d%s] Con: [%s%d%s] Cha: [%s%d%s]\n\r",
	CCCYN(ch, C_NRM), GET_STR(k), GET_ADD(k), CCNRM(ch, C_NRM),
	CCCYN(ch, C_NRM), GET_INT(k), CCNRM(ch, C_NRM),
	CCCYN(ch, C_NRM), GET_WIS(k), CCNRM(ch, C_NRM),
	CCCYN(ch, C_NRM), GET_DEX, CCNRM(ch, C_NRM),
	CCCYN(ch, C_NRM), GET_CON, CCNRM(ch, C_NRM),
	CCCYN(ch, C_NRM), GET_CHA, CCNRM(ch, C_NRM));
     send_to_char(buf, ch);
     sprintf(buf, "AC: [%d/10], Hitroll: [%2d], Damroll: [%2d], Saving Throws: [%d/%d/%d/%d/%d]\n\r",
	GET_AC(k), k->points.hitroll, k->points.damroll, GET_SAVE(k, 0), GET_SAVE(k, 1), GET_SAVE(k, 2), 
	GET_SAVE(k, 3), GET_SAVE(k, 4));
     send_to_char(buf, ch);
     sprintf(buf, "Coins: [%9d], Bank: [%9d] (Total: %d)\n\r",
	GET_GOLD(k), GET_BANK_GOLD(k), GET_GOLD(k) + GET_BANK_GOLD(k));
     strcpy(buf1, (char *) asctime(localtime(&(k->player.time.birth))));
     strcpy(buf2, (char *) asctime(localtime(&(k->player.time.login))));
     buf1[10] = buf2[10] = '\0';
     
     sprintf(buf, "Created: [%s], Last logon: [%s], Played [%dh %dm], Age [%d]\r\n",
	buf1, buf2, k->player.time.played / 3600, ((k->player.time.played / 3600) % 60, age(k).year);
     send_to_char(buf, ch);
     sprintf(buf, "Hometown: [%d], Speaks: [%d/%d/%d],
(STL[%d]/per[%d]/NSTL[%d])\r\n",
	k->player.hometown, GET_TALK(k, 0), GET_TALK(k, 1), GET_TALK(k, 2), GET_PRATICES(k),
	int_app[GET_INT(k)].learn, wis_app[GET_WIS(k)].bonus);
     send_to_char(buf, ch);
     sprintbit(PLR_FLAGS(k), player_bits, buf2);
     sprintf(buf, "PLR: %s %s %s\r\n",
	CCCYN(ch, C_NRM), buf2, CCNRM(ch, C_NRM));
     send_to_char(buf, ch);
     sprintbit(PLR_FLAGS(k), preference_bits, buf2);
     sprintf(buf, "PRF: %s %s %s\r\n", 
	CCGRN(ch, C_NRM), buf2, CCNRM(ch, C_NRM));
     send_to_char(buf, ch);
     sprintf(buf, "Carrien: weight: %d, items: %d; ",
	IS_CARRYING_W(k), IS_CARRYING_N(k));
     for (i=0, j=k->carrying; j; j=j->next_content, i++);
     sprintf(buf, "%sItems in: inventory: %d, ", buf, i);
     for (i=0, id=0; i< NUM_WEARS; i++)
      if(GET_EQ(k, i))
	i2++;
     sprintf(buf2, "eq: %d\r\n", i2);
     strcat(buf, buf2);
     send_to_char(buf, ch);
     sprintf(buf, Hunger: %d, Thirst %d, Drunk %d\r\n",
	GET_COND(k, FULL), GET_COND(k, THIRST), GET_COND(k, DRUNK));
     send_to_char(buf, ch);
     sprintf(buf, "Master: %s, FOllowers are:",
	((k->master) ? GET_NAME(k->master) : "<none>"));
     for(fol=k->followers; fol; fol-fol->next){
	sprintf(buf2, "%s %s", found++ ? "," : "", PERS(fol->follower, ch));
	strcat(buf, buf2);
	if(strlen(buf) >=62) {
	 send_to_char(strcat(buf, ",\r\n"), ch);
	else
	 send_to_char(strcat(buf, "\r\n"), ch);
	*buf=found=0;
	}
      }
     strcpy(buf, "Default position: ");
     sprinttype((k->mob_specials.default_pos), position_types, buf2);
     strcat(buf, buf2);

     sprintf(buf2, ", Idle Timer (in tics) [%d]\r\n", k->char_specials.timer);
     strcat(buf, buf2);
     send_to_char(buf, ch);
     sprinttype(GET_POS(k), position_types, buf2);
     sprintf(buf, "Pos: %s, Fighting: %s", buf2,
	(FIGHTING(k) ? GET_NAME(FIGHTING(k)) : "Nobody"));
     /* Showing the bitvector */
     sprintbit(AFF_FLAGS(k), affected_bits, buf2);
     sprintf(buf, "AFF: %s%s%s\r\n", CCYEL(ch, C_NRM), buf2, CCNRM(ch, C_NRM));
     send_to_char(buf, ch);

     /* Routine to show what spells a char is affected by */
     if (k->affected) {
      for (aff = k->affected; aff; aff = aff->next) {
       *buf2 = '\0';
       sprintf(buf, "SPL: (%3dhr) %s%-21s%s ", aff->duration + 1,
	CCCYN(ch, C_NRM), spells[aff->type], CCNRM(ch, C_NRM));
       if (aff->modifier) {
         sprintf(buf2, "%+d to %s", aff->modifier, apply_types[(int) aff->location]);
         strcat(buf, buf2);
       }
       if (aff->bitvector) {
         if (*buf2)
           strcat(buf, ", sets ");
         else
           strcat(buf, "sets ");
         sprintbit(aff->bitvector, affected_bits, buf2);
         strcat(buf, buf2);
       }
       send_to_char(strcat(buf, "\r\n"), ch);
    }
  }
 }


Un eddited code from: ACMD(do_stat)

    }
  } else if (is_abbrev(buf1, "file")) {
    if (!*buf2) {
      send_to_char("Stats on which player file?\r\n", ch);
    } else {
      CREATE(victim, struct char_data, 1);
      clear_char(victim);
      if (load_char(buf2, &tmp_store) > -1) {
        store_to_char(&tmp_store, victim);
        if (GET_LEVEL(victim) > GET_LEVEL(ch))
          send_to_char("Sorry, you can't do that.\r\n", ch); <---696
        else
          do_stat_character(ch, victim);
        free_char(victim);
      } else {
        send_to_char("There is no such player file.\r\n", ch);
        free(victim);
      }
    }
  } else if (is_abbrev(buf1, "object")) {




	guthrie@henge.com
	henge.com 4000


+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |
|    Or send 'info circle' to majordomo@cspo.queensu.ca     |
+-----------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/18/00 PST