GetMatchedSubstringsCount
Contents |
[edit] GetMatchedSubstringsCount()
Get the number of listen pattern substrings matched.
[edit] Description
Returns the number of substrings that have been matched to a listen pattern set using a wildcard in the function SetListenPattern. The return value can be any valid integer; it will return a â1 if there is no matched substring. This function should only be run in a OnConversation script.
As an example, consider the listen pattern specified by SetListenPattern(OBJECT_SELF, "FOO**", 500) (matching "FOO", "FOOTER", "FOOBAR", and "FOOT", as well as âFoOBaRâ and âfooBARâ, as the patterns are case insensitive).
In this example, if an NPC heard the string "foobar" GetMatchedSubstringsCount would determine the number of substrings, returning 2 (âfooâ and âbarâ). You could then use the returned value (2) with GetMatchedSubstring to return the matched substrings.
[edit] Remarks
Special thanks to Temple for the HOW TO of this function. If you want your real name posted comment on this page.
[edit] Version
1.22
[edit] Example
// This program will cause an npc to listen out for woot and then respond. // 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++; } }
[edit] See Also
functions: | |
events: |
author: GoLeM, editor: Kristian Markon