1

Тема: WaitChat() for SAMP

Доброго времени суток.
Делаю функцию которая искала бы в чате нужную строку и при достижении выполняла иструкции.
С эти проблем нет, но есть проблема с "зацикливанием" так как находит строку постоянно. Поиск идет по всему чату.

WaitChat(text, callFuncChatWait, timeout = 0)
{
    global
    if(timeout > 0)
    {
        WaitChatOffEx := false
        OffWaitChat(timeout)
    }
    dwAddrr1 := readDWORD(hGTA, dwSAMP +ADDR_SAMP_CHATMSG_PTR)
    Loop
    {
        i := 0
        loop 99
        {
            if(WaitChatOffEx)
            {
                ErrorLevel := 1
                return
            }
            if(RegExMatch(GetChatLineEx(i), text, result))
            {
                ErrorLevel := 0
                %callFuncChatWait%(result)
                return
            }
            i++
        }
    }
    return
}

Решение: Сохранять УНИКАЛЬНОЕ значение сроки и при достижении этого значения - обрывать поиск.
Посоветуйте как реализовать. Пробывать в структуре найти уникальные данные.
Так же хотелось бы реализовать многопоточность. Чтобы небыло "зацикливаний".
Спасибо.