[RakBot]Вопрос по lua.

Gafask

Участник
Автор темы
137
13
Версия MoonLoader
Другое
Дратути снова и мой мозг либо не хочет правильно работать или я тупой или просто не понял что я делаю и как мне объясняли . ( возможно я тупой но не факт )
Юзаю функцию - onPrintLog(str) -- вызывается когда новое лог строка приходит от рак бота в окно лог-чата .
Пытаюсь для начала вывести определенное значение в лог и потом уже попытаться сохранить его в какуето переменную (local)
[RAKBOT] 152 * 19132 * 23 * 0,11 * (2574,09; -1703,44; 21,86) -- это строка как раз которую я ищу и пытаюсь выдрать из нее значение ( цифры ) .



Пример как я пытался это реализовать .
Попытка вывести в лог:
function onPrintLog(str)
        if str:find('[RAKBOT] (%d+) * 19132 * 23 * 0,11 * (2574,09; -1703,44; 21,86)') then -- это уже сма проверка основная
        printLog("вижу") -- написал для теста что-бы видеть проходит ли проверка if или нет
        printLog(str:match("(%d+)")) -- а тут я пытаюсь вывести значение для начала ) .                                                                        
        end
end

Делал по разному но как помне это самый более менее приближеный вариант как правде но он не рабочий .
Если не сложно подскажите еще как (%d+) сохранить в local , в роде полазил по инету не нашел не чего похоже или просто плохо искал .
 

Gafask

Участник
Автор темы
137
13
Lua:
local text = str:match('[RAKBOT] (%d-) %* 19132 %* 23 %* 0,11 %* %(2574,09; -1703,44; 21,86%)')
printLog('Вижу '..text)
Что-то не так , рак выдает ошибку свзянанную с выводом в лог .
attempt to concatenate local 'text' (a nil value)
 

Gafask

Участник
Автор темы
137
13
ты уверен что событие срабатывает и регулярка в правильном месте?
Твой способ не помг , помучившись чучуть почекав как я раньше делал в других , и попытавшись что-то воспользоватся знаниями с++ то все прокатило .)