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.