Aller au contenu

Photo

Replacing String


  • Veuillez vous connecter pour répondre
2 réponses à ce sujet

#1
4Pop

4Pop
  • Members
  • 14 messages

I am looking for on player chat to replace each letter of a string he speaks to be converted to numbers. So, for example..

 

1234 = abcd.

 

I want to accomplish this using the SetPCChatMessage function, and everything. I know how to script everything else, just not taking what he says and converting it to numbers. The number of the letter in the alphabet is equal to its numeric value, so a = 1, b = 2, c = 3, etc. Thanks!

 

One more thing, I want to make this a custom function that can be included. Can that be done? Thanks!



#2
Lightfoot8

Lightfoot8
  • Members
  • 2 535 messages

nwn script did not give any of the standard ways of converting a letter to a number.   The simplest way that I think most people are using currently is something like: 

 

    string sLetterArray = "abcdefghijklmnopqrstuvwxyz";
    sLetter = GetStringLowerCase(sLetter);
    nLetterNumber = FindSubString ( sLetterArray,sLetter);


#3
Lightfoot8

Lightfoot8
  • Members
  • 2 535 messages

As a function to add to an include.  it would look something this untested function;

 

string ConvertStringToNumbers(string sOriginal)
{
    string sLetterArray = " abcdefghijklmnopqrstuvwxyz";
    int nLength = GetStringLength(sOriginal);
    string sNewString;
    string sLetter;
    int nLetterNumber;
    int x;
    for(x=0;x<nLength;x++)
    {


      sLetter=  GetSubString(sOriginal,x,1);
      nLetterNumber = FindSubString ( sLetterArray,GetStringLowerCase(sLetter));
      if ( nLetterNumber != -1) sNewString += IntToString(nLetterNumber) + ".";
      else  sNewString += sLetter;
    }
    return sNewString;
}