Показать сообщение отдельно
Старый 31.08.2006, 11:50   #45
WorM
Занятой мадер
 
Регистрация: 21.11.2004
Адрес: Питер
Сообщений: 131
По умолчанию

Цитата:
Сообщение от Казуал Посмотреть сообщение
У меня еще один вопрос: как реализовать в скрипте:
#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.
WorM вне форума   Ответить с цитированием