I have put in a remort command so people can remort. I am having trouble
getting a single letter input from the player, they run the command and
it executes fine, no crashes, and then 6 screens with their stats whiz
by, obviously I have done something wrong. Any help from you code gurus?
I am calling this function with remort_stat(ch);
/******** REMORT CODE ********/
void remort_stat(struct char_data * ch)
{
int a;
send_to_char("\r\nCongratulations on your remort!\r\n", ch);
send_to_char("To add to your stats simply type the letter of the
stat.\r\n", ch);
send_to_char("There is no changing the stat once you add to it.\r\n",
ch);
sprintf(buf, " (S)tr: %d/%d\r\n (I)nt: %d\r\n (W)is: %d\r\n (D)ex:
%d\r\n (C)on: %d\r\n C(h)a: %d\r\n",
ch->real_abils.str, ch->real_abils.str_add, ch->real_abils.intel,
ch->real_abils.wis, ch->real_abils.dex, ch->real_abils.con,
ch->real_abils.cha);
send_to_char(buf, ch);
switch(a) {
case 's':
case 'S':
if (ch->real_abils.str >= 25)
break;
ch->real_abils.str = ch->real_abils.str + 1;
return;
case 'i':
case 'I':
if (ch->real_abils.intel >= 25)
break;
ch->real_abils.intel = ch->real_abils.intel + 1;
return;
case 'w':
case 'W':
if (ch->real_abils.wis >= 25)
break;
ch->real_abils.wis = ch->real_abils.wis + 1;
return;
case 'd':
case 'D':
if (ch->real_abils.dex >= 25)
break;
ch->real_abils.dex = ch->real_abils.dex + 1;
return;
case 'c':
case 'C':
if (ch->real_abils.con >= 25)
break;
ch->real_abils.con = ch->real_abils.con + 1;
return;
case 'h':
case 'H':
if (ch->real_abils.cha >= 25)
break;
ch->real_abils.cha = ch->real_abils.cha + 1;
return;
default:
remort_stat(ch);
return;
}
}
/******** END OF CODE ********/
--
Leonard Burns IV
lburns@continet.com
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST