I recently downloaded the language patch for circle, but it's not quite
what I'm looking for. I wonder if someone out there could help?
The problem is this: Unless everyone in the room is fluent in that
language, and they are set to speak in that language, then the system
garbels the text. I could see that if they were not fluent in the
language, but really... If someone actually knows a language, should it
really matter if they are speaking in it? Just because I'm speaking englih
doesn't mean I couldn't understand another language I knew if I heard
someone speak it. How would you accompilsh that? Here's the do_say routine
as I have hacked it to work:
-----------------
ACMD(do_say)
{
char ibuf[MAX_INPUT_LENGTH];
char obuf[MAX_INPUT_LENGTH];
char *buf2;
struct char_data *tch;
skip_spaces(&argument);
if(!*argument) {
send_to_char("Yes, but WHAT do you want to say?\r\n", ch);
return;
strcpy(ibuf, argument); /* preserve original text */
if (!IS_NPC(ch))
garble_text(ibuf, GET_SKILL(ch, SPEAKING(ch)));
for (tch = world[ch->in_room].people; tch; tch = tch->next_in_room) {
if (tch != ch && AWAKE(tch) && tch->desc) {
strcpy(obuf, ibuf); /* preserve the first garble */
if (!IS_NPC(ch) && !IS_NPC(tch) && GET_LEVEL(ch) > LVL_IMMORT)
sprintf(buf, "$n says, '%s'", argument);
else sprintf(buf, "$n says, '%s'", ibuf);
CAP(buf);
act(buf, TRUE, ch, 0, tch, TO_VICT);
}
}
sprintf(buf, "You say, '%s'", argument);
act(buf, TRUE, ch, 0, 0, TO_CHAR);
}
That USUALLY allows immortals to understand period, but I want the system
to display normally to ANYONE who is fluent in that language. Languages
are defined as skills currently. Here's the garble_text function:
void garble_text(char *string, int percent)
{
char letters[] = "aeiousthpwxyz";
int i;
for (i = 0; i < strlen(string); ++i)
if (isalpha(string[i]) && number(0, 1) && number(0, 100) > percent)
string[i] = letters[number(0, 12)];
}
Anyone? Thanks in advance! (I'm really terrible in C. I understand basics,
and thats about it)
+------------------------------------------------------------+
| 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 : 12/15/00 PST