GetMatchedSubstringsCount()

ListenPatternで指定した文字列と一致した文字列の数を返します。

int GetMatchedSubstringsCount();

Description

SetListenPatternでワイルドカードで指定した文字列と一致した文字列の数を返します。

返される値は有効な整数値です;一致したものがない場合は1を返します。

このファンクションはOnConversationでのみ有効です。


例えば、SetListenPattern(OBJECT_SELF, "FOO**", 500)では"FOO", "FOOTER" "FOOBAR, それに"FOOT"が一致します。

文字列は大文字・小文字の区別はなく"FoOBaR""fooBAR"も同様に一致します。)


この場合、NPCが"foobar"と聞くと、GetMatchedSubstringsCountはサブ文字列を調べ、2を返します("foo"とbar")。そして返された(2)でGetMatchedSubstringを使って一致したサブ文字列を得ることが出来ます。



Remarks

使い方を教えてくださったTemple氏に感謝します。


Version

1.22

Example

// このスクリプトはNPCがwootと聞いたら返答するようにします
// OnSpawn
void main()
{
    SetListening(OBJECT_SELF,TRUE);
    SetListenPattern(OBJECT_SELF,"Woot**",2001);
}

// OnConversation
void main()
{
    int i = 0;
    int nMatch = GetListenPatternNumber();
    if(nMatch == 2001)
        SpeakString("YEAH IT WORKS");

    nMatch = GetMatchedSubstringsCount();
    SpeakString(IntToString(nMatch));
    while(i<nMatch)
    {
        SpeakString(IntToString(i) + ". " + GetMatchedSubstring(i));
        i++;
    }
}

See Also

functions: GetListenPatternNumber | GetMatchedSubstring | SetListening | SetListeningPatterns | SetListenPattern
categories: Conversation Functions | Henchmen/Familiars/Summoned Functions
events: OnConversation Event


author: GoLeM, editor: Kristian Markon, JP team: geshi
Send comments on this topic.