Проблемы с выводом курсов валют через шаблоны поведения
Добавлено: Вс сен 04, 2016 8:09 pm
Добрый день, надеюсь написал в нужную ветку форума.
Создал курсы валют. Сценарий MoneyCBR, прописал в сценарии вот такой код:
Далее создал новый класс MoneyCBR, в нем создал объект CBRnew, далее запустил сценарий и у объекта CBRnew прописались свойства CBRnew.USD, CBRnew.EURO, CBRnew.CNY, CBRnew.uptime, в который выводятся округленные курсы и дата последнего обновления, далее в объект onNewHour прописал чтоб мой курс обновлялся каждый час
в шаблонах поведения сделал 4 шаблона вывода курса валют по команде:
общий курс валют
курс доллара
курс евро
курс юаня
Вроде все работает, курс обновляется, округляется, выводится с сценах и в меню управления, все по примерам из ваших тем.
Далее создал сцену с онлайн радио вот по этому видео https://www.youtube.com/watch?v=jGAkwhln0mM (за что автору огромное спасибо). Вроде все хорошо, курсы обновляются, радио работает, но есть 2 непонятные ошибки
1. когда я включаю радио Европа плюс из сцены или по команде, радио включается, но перед этим проговаривается курс юаня, как будто я из шаблонов поведения вызвал команду. Причем при включении других радиостанций проблем нет, сделаны они по этому же коду.
код в сценарии радио Европа плюс
2. когда проговаривает общий курс валют, то называет курс доллара, затем евро, юаня и второй раз повторяет курс юаня. В чем ошибка? Почему 2 раза повторяет последнюю команду say и как связаны радиостанция Европа плюс и курс юаня?
Заранее спасибо за ответ!
Создал курсы валют. Сценарий MoneyCBR, прописал в сценарии вот такой код:
Код: Выделить всё
$file = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".date("d/m/Y"));
// USD
$xml = $file->xpath("//Valute[@ID='R01235']");
$valute = strval($xml[0]->Value);
$USD = round(str_replace(",",".",$valute)*100)/100;
echo $USD;
sg("CBRnew.USD",$USD);
// EURO
$xml = $file->xpath("//Valute[@ID='R01239']");
$valute = strval($xml[0]->Value);
$EURO = round(str_replace(",",".",$valute)*100)/100;
echo $EURO;
sg("CBRnew.EURO",$EURO);
// Китайский юань
$xml = $file->xpath("//Valute[@ID='R01375']");
$valute = strval($xml[0]->Value);
$CNY = round(str_replace(",",".",$valute)*100)/100;
echo $CNY;
sg("CBRnew.CNY",$CNY);
$uptime = date("d m Y H:i:s",time());
echo $uptime;
sg("CBRnew.uptime",$uptime);
say("Обновлены курсы валют",0);
Код: Выделить всё
// обновим курс валюты каждый час
runScript('MoneyCBR');
общий курс валют
Код: Выделить всё
$usd=gg("CBRnew.USD");
say("Курс доллара $usd",2);
$euro=gg("CBRnew.EURO");
say("Курс евро $euro",2);
$cny=gg("CBRnew.CNY");
say("Курс юаня $cny",2);
Код: Выделить всё
$usd=gg("CBRnew.USD");
say("Курс доллара $usd",2);
Код: Выделить всё
$euro=gg("CBRnew.EURO");
say("Курс евро $euro",2);
Код: Выделить всё
$cny=gg("CBRnew.CNY");
say("Курс юаня $cny",2);
Далее создал сцену с онлайн радио вот по этому видео https://www.youtube.com/watch?v=jGAkwhln0mM (за что автору огромное спасибо). Вроде все хорошо, курсы обновляются, радио работает, но есть 2 непонятные ошибки
1. когда я включаю радио Европа плюс из сцены или по команде, радио включается, но перед этим проговаривается курс юаня, как будто я из шаблонов поведения вызвал команду. Причем при включении других радиостанций проблем нет, сделаны они по этому же коду.
код в сценарии радио Европа плюс
Код: Выделить всё
cm('RadioSetting.Control','stop');
say('Включаю радио Европа плюс');
cm('RadioSetting.Control','sta:Европа плюс');
cm('RadioSetting.Control','play');
setGlobal("RadioSetting.RadioLedOn",1);
Заранее спасибо за ответ!