Цитата:
Сообщение от Казуал
У меня еще один вопрос: как реализовать в скрипте:
#action {^Ваш опыт повысился на %0 оч} {гг %0} {5} {default}
т.е. возникли проблемы, как выделить из строки подстроку %0
Я сделал что-то вроде:
var line = jmc.Event;
if (line.search ("^Ваш опыт повысился на ") != -1) {
line=line.replace ("Ваш опыт повысился на ", "");
line=line.replace (" очков.", "");
line=line.replace (" очко.", "");
line=line.replace (" очка.", "");
account += line*1;
}
...но что-то слишком коряво получилось. Да еще пришлось писать account += line*1; - ибо иначе не складывает два числа, а выполняет Concat, т.е. 50+150=50150
|
account += Math.floor(line) так правильней, Math.floor преобразовывает строку в число.
Попробуй вот так
Код:
line=jmc.Event;
var expstr=/^Ваш опыт повысился на (\d+) очк(о|ов|а)\.$/;
if(expstr.test(line))
account+=Math.floor(expstr.exec(line)[1]);
Проверил вроде даже работает +)
ЗЫ Почитай про regexp(регулярные выражения) в JavaScript.