MyDC.ru _ Сетевые скрипты [PtokaX] _ Курсы Валют Цб
Автор: Fodin 6.8.2008, 3:34
Только что дописал. У меня вроде бы работает. Тестируйте. Поскольку не нашел, когда обновляют курсы, пока обновляется по интервалу. Потом, наверное, как соберу статистику, допишу, чтобы исключались интервалы, когда обновления быть не может. ЗЫ: Библиотек pxluasocket опять не прикладываю. Обнаружил баг неприятный. Залил новую версию.
Только что дописал. У меня вроде бы работает. Тестируйте. Поскольку не нашел, когда обновляют курсы, пока обновляется по интервалу. Потом, наверное, как соберу статистику, допишу, чтобы исключались интервалы, когда обновления быть не может. ЗЫ: Библиотек pxluasocket опять не прикладываю. Обнаружил баг неприятный. Залил новую версию.
Работает
Автор: СТУДЕНТ 5.9.2008, 17:30
Спасибо за скрипт
Автор: Nissan_GT 11.12.2008, 23:26
Плиз сделайте под API 1
Автор: колбаскин 26.12.2008, 22:54
как для Украины смотреть? может кто знает откуда вытянуть можно?
Автор: Setuper 26.12.2008, 23:01
А что на Украине уже не заходит на русские сайты?
Автор: колбаскин 27.12.2008, 2:51
Цитата(Setuper @ 26.12.2008, 22:01)
А что на Украине уже не заходит на русские сайты?
да нет...просто зачем нам ваш курс нацбанка.... у нас все гораздо хуже чем у вас....
поэтому хотелось бы смотреть на Украинский!
Автор: Николай 6.1.2009, 15:42
Народ плз переделайте этот скрипт так чтоб он в мотд выводил курсы валют евро и доллар =) (если это возможно)
Автор: Setuper 7.1.2009, 11:32
В какой мотд? Прямо в основной мотд хаба? Не легче ли сделать свой мотд?
Код
function UserConnected(tUser) Core.SendToUser(tUser,"сообщение") end
Автор: колбаскин 7.1.2009, 17:03
Тут есть кто-то с Украины? как сделать украинский курс?
Автор: Николай 8.1.2009, 23:05
Цитата(Setuper @ 7.1.2009, 11:32)
В какой мотд? Прямо в основной мотд хаба? Не легче ли сделать свой мотд?
Код
function UserConnected(tUser) Core.SendToUser(tUser,"сообщение") end
У мя есть мотд(основной) А как сделать чтоб евро и долар выводились при конекти юзера на хаб сразу после мотд)
Автор: Infinity_Love 16.3.2009, 15:33
Здравствуйте, lua-masters, сделайте, пожалуйста, курс для Украины с НБУ. XML берём вот отсюда http://mydc.ru/r/?http://www.bank-ua.com/export/currrate.xml Пробовал менять просто адрес, но не работает, в укр. XML ещё есть дата, но коды такие же.
Автор: Санёк 16.3.2009, 23:57
И белорусский курс тоже как сделать ?
Автор: li4nost 17.3.2009, 4:20
и я не против белорусского
Автор: Wariner 17.3.2009, 8:03
народ надо впихнуть нужный адрес сайта, самому то скрипту пофигу хоть японские йены показывать...
Автор: Санёк 17.3.2009, 14:51
li4nost вот можно попробывать с сайта Национального банка Беларуси http://mydc.ru/r/?http://www.nbrb.by/
Автор: li4nost 17.3.2009, 18:28
Wariner
вот смотри, я нашел http://mydc.ru/r/?http://www.nbrb.by/statistics/rates/ratesDaily.asp - как ее впихнуть в скрипт?
да да. по ссылке из скрипты идут валюты - их коды и т.п. а здесь просто страница - так не катит - я пробовал
Автор: comua 21.3.2009, 6:34
Переделал парсинг строк спецом для курса валют НБУ. Для меня это все еще на грани фантастики и на уровен инстинкта. Запарился приводить отображение в порядок, удалил следующие строчки, так как выравнения текста на выходе у меня нет и я решил не резать названия валют. И всеравно их надо менять на аналоги
Код
fd=string.gsub(fd,"Соединенного королевства", "") fd=string.gsub(fd,"%(специальные права заимствования%)", "") fd=string.gsub(fd,"Жэньминьби", "")
В итоге выводит в окно чата что-то типа
Цитата
•••••••••••••• Курсы валют НБУ на 23.03.2009 ••••••••••••••
USD 100 доларів США = 770 грн. +0 EUR 100 ЄВРО = 1043.273 грн. +0 RUB 10 російських рублів = 2.3038 грн. +0
•••••••••••••• Курсы валют НБУ на 23.03.2009 ••••••••••••••
Вообщем главная задача выполнена, красоту уже сами наводите. Для добавления еще каких-то валют, смотрите список доступных "Цифровых кодов" http://mydc.ru/r/?http://bank-ua.com/index.php?page=spr_kurs и добавляйте в строчке
Я уже разобрался что ошибка была не в символе разделителе, но благодарю за пример, очень помог. В частности вот это "%d+". Теперь все, держите и для белоруского рубля информер.
Я уже разобрался что ошибка была не в символе разделителе, но благодарю за пример, очень помог. В частности вот это "%d+". Теперь все, держите и для белоруского рубля информер.
Спасибо!! Работает! Вот только:
У меня как всегда куча вопросов и пожеланий по скрипту ))
Курс евро получается немного смещённым! Как сделать что бы по комманде курсы отсылались ботом приватной мессагой? Как убрать подменю "информатор" ? т.е. что бы сразу была менюшка "Курсы валют" Как сделать что бы курс валют периодически отсылался в общий чат и был видим всем пользователям (вообщем наподобие скрипта погоды с rp5.ru)
заранее огромное спс. за помощь
Автор: comua 23.3.2009, 4:44
Выровнять никак не получится, все упирается в шрифт, он у кадого клиента может быть разным. Я вообще привел все к такому вот виду
Цитата
•••••••••••••• Курсы валют НБУ на 23.03.2009 ••••••••••••••
USD 100 доларів США = 770 грн. +0 EUR 100 ЄВРО = 1043.273 грн. +0 RUB 10 російських рублів = 2.3038 грн. +0
•••••••••••••• Курсы валют НБУ на 23.03.2009 ••••••••••••••
по привату. думаю, надо изменить строчки
Код
Core.SendToUser(user, "<"..sBotName.."> Данные устарели, запрашиваю сервер...") Core.SendToUser(user, "<"..sBotName.."> \n"..sMsg)
function OnStartup() if (timeron = 1) then tmr = TmrMan.AddTimer (timer*60*1000) end end
function OnTimer(tmr) local difftime = os.difftime(os.time(), iLastTime) if (difftime > iExpireTime) then table.insert(tReqUsers, user) Core.SendToAll("<"..sBotName.."> Данные устарели, запрашиваю сервер...") GetInfo() iLastTime = os.time() else Core.SendToAll("<"..sBotName.."> \n"..sMsg) end end
Правильную работу не гарантирую, хотелось бы увидеть комментарии более продвинутых пользователей. Просто сам недавно начал разбираться в синтаксисе и принципах.
зы: на этом форуме есть возможность скрыть часть сообщения под спойлер, чтобы не загромождать?
Автор: Санёк 24.3.2009, 17:52
Менюшка действительно изменяется как я хотел, но в общий чат проходит лишь !курсбел и ничего не происходит
Автор: Wariner 24.3.2009, 19:10
ошибки смотри!!!
Автор: whuru 11.4.2009, 22:19
Как реализовать связь птохи с интернетом через прокси, чтобы она знала? Хаб в локальной сети. Сервер, на котором хаб имеет связь с интернетом через прокси.
Спасибо.
Автор: Wariner 11.4.2009, 22:24
через прокси работать не будет!
Автор: lezvik 15.4.2009, 0:56
на первый апи не ожидаетса?
Автор: sergius 24.1.2010, 13:30
[13:28] Синтаксис Currency.lua:96: attempt to index field '?' (a nil value)
после запуска не выводит, делаешь второй раз вывести выводит 2 раза лол
Автор: bonch 13.3.2010, 13:40
Цитата(sergius @ 24.1.2010, 13:30)
[13:28] Синтаксис Currency.lua:96: attempt to index field '?' (a nil value)
после запуска не выводит, делаешь второй раз вывести выводит 2 раза лол
Подтверждаю. PtokaX 0.4.1.2. Аналогичная ошибка вываливается и во второй и в третий-четвёртый раз...Рокировка скрипта вверх-вниз результата не даёт.
Автор: Nickolya 14.3.2010, 17:13
Решение проблемы с ошибкой: 1. Заменить два раза
Код
while string.find(fd,"<Value>") do
на
Код
while string.find(fd,"<Valute ID=\".-\">") do
2. Заменить
Код
sMsg=sMsg..val[i].CharCode.."\t"..val[i].Nominal.." "..val[i].Name..string.rep("\t",math.floor((MaxLen-string.len(val[i].Name)-string.len(val[i].Nominal)+1)/8+1))..val[i].Value.."\t"..((val[i].Diff<0) and "" or "+")..val[i].Diff.."\n" if sMidChar~="" and x<table.getn(Currency) then sMsg = sMsg..string.rep(sMidChar,iMidChar).."\n" end
на
Код
if val[i] then sMsg=sMsg..val[i].CharCode.."\t"..val[i].Nominal.." "..val[i].Name..string.rep("\t",math.floor((MaxLen-string.len(val[i].Name)-string.len(val[i].Nominal)+1)/8+1))..val[i].Value.."\t"..((val[i].Diff<0) and "" or "+")..val[i].Diff.."\n" if sMidChar~="" and x<table.getn(Currency) then sMsg = sMsg..string.rep(sMidChar,iMidChar).."\n" end end
Автор: bonch 14.3.2010, 20:28
Благодарствую. Работает. Осталось корректно увести "Данные устарели, запрашиваю сервер" и сам вывод информации в приват, ибо советы выше в других постах ни к чему, кроме ошибок, не приводят.
Автор: Nickolya 14.3.2010, 20:50
Чтобы убрать сообщение "Данные устарели, запрашиваю сервер..." удали строку
Код
Core.SendToUser(user, "<"..sBotName.."> Данные устарели, запрашиваю сервер...")
scripts\Currency.lua:102: 'end' expected (to close 'for' at line 95) near 'else' вот такая ошибка после замены
Автор: Nickolya 1.4.2010, 13:03
Что на что менял? И можно приложить код того что у тебя вышло в виде вложения. При точной замене все работает как надо.
Автор: JackM 1.4.2010, 13:13
Такая же проблема
Код
/Currency.lua:91: attempt to perform arithmetic on field 'Value' (a nil value)
Исправлял лишь с этого поста http://mydc.ru/topic245.html?view=findpost&p=28226 + удалил
Код
Core.SendToUser(user, "<"..sBotName.."> Данные устарели, запрашиваю сервер...")
Все равно не пашет
Автор: Ольга 5.4.2010, 17:18
Тоже самое, что до что после замены. После попытки вывода курса валют. Вылзит [18:16] Синтаксис ...ers\Ольга\Desktop\Новая птаха\scripts\Currency3.lua:91: attempt to perform arithmetic on field 'Value' (a nil value)
Что делать, помогите, великие умы.
Автор: GASTROLER692 25.7.2010, 19:51
Все поменял в кодах как описал...Скрипт без ошибок заработал!PtokaX 0.4.1.2 .СПАСИБО!
Автор: OLGA 28.8.2010, 3:49
Привет мальчики. Помогите девушке. Переделайте пожалуйста скрипт вывода валют под птаху 0.3.6 в API1 из API2 и выложите его в архивчике со всем что для него надо и скажите куда потом что положить. Зарание всем вам огромное спасибо мои дорогие.
Автор: Артём 28.8.2010, 11:16
OLGA, Currency.rar ( 6.63 килобайт )
: 32 оба файла в папку scripts
Автор: OLGA 28.8.2010, 13:58
Огромное тебе спасибо. Если понадобятся ешё скрипты то я обязательно к тебе обращусь.
Автор: Invisible 28.8.2010, 15:49
Артём, Огромный Респект тебе))) Скрипт написан так, как я хотел =)
Автор: bonch 20.11.2010, 5:08
Одолело совсем...
В чат выходит !курс и проскакивает ошибка: Синтаксис ...\PtokaX 0.4.1.2\scripts\Currency.lua:91: attempt to perform arithmetic on field 'Value' (a nil value)
Если ставить последним в списке, то ошибки нет, но вывод в чат !курс всё равно остаётся... Скрипт из шапки с поправками из постов 37 и 39 отработал с марта без запинки. Описанные ошибки - дело последних двух дней, и непонятно, чем они могут быть вызваны...
У данного варианта скрипта опытным путём обнаружена несовместимость с http://mydc.ru/topic1377.html?view=findpost&p=9981 Независимо от того, куда ты их поставишь - в начало или в конец списка, неважно - Курс валют работает только при выключенной Викторине. Теперь ошибка возникает в другой строке, но с тем же аргументом: Синтаксис ...\PtokaX 0.4.1.2\scripts\Currency.lua:77: attempt to perform arithmetic on field 'Value' (a nil value)
Только Викторину отполировал... Очень жаль...
Автор: Nickolya 22.11.2010, 19:39
Очень странно, всё работает, в том числе с викториной в паре... Попробуй у себя заменить в скрипте
Код
val[NumCode].Value
на
Код
(val[NumCode].Value or 0)
Если не выйдет - выкладывай свой вариант скрипта.
Автор: bonch 22.11.2010, 21:06
Вариант из 51 поста, после твоей замены теперь выдаёт: Синтаксис ...\PtokaX 0.4.1.2\scripts\Currency.lua:77: attempt to perform arithmetic on a nil value Ну и !курс в чате, как и было...
Уже и не помню, что я там в викторине менял, но вот на всякий случай: TriviaMod.lua ( 11.7 килобайт )
: 9
Автор: Nickolya 22.11.2010, 21:42
Вся байда из-за смены локали в викторине:
Код
os.setlocale"Russian_Russia.1251"
из за-этого действа меняется знак, являющийся разделителем целой и дробной части числа. Меняется как раз с точки на запятую...
Чтобы курс валют заработал, надо в скрипте курса валют 2 раза удалить
Код
Value=string.gsub(Value,",",".")
Автор: bonch 22.11.2010, 21:55
Благодарю. Работает.
Автор: Jack 14.12.2010, 11:37
украинский курс перестал работать)
Автор: -slava- 15.1.2011, 10:22
Не большая трабла Синтаксис ....0.4.1.2\scripts\валюта.lua:91: attempt to index field '?' (a nil value) Помогите разобраться!
Автор: Nickolya 15.1.2011, 23:00
-slava-, читай тему, прежде чем в нее писать, пожалуйста.
Автор: WINS 16.1.2011, 19:17
Замена кода с 37 поста не выручает, ошибка остается.
Цитата
scripts\Currency.lua:91: attempt to index field '?' (a nil value)
На этой странице в сообщении 51 есть скрипт валют. В нём надо сделать изменения из 55 сообщения! Вот и всё! Скрипт замечательно работает (без ощибок) Советую Вам использовать скрипт из 51 сообщения.
РС. На этих выходных не был доступен сам сервер данных, но сейчас он работает.
Автор: WINS 19.1.2011, 19:28
сервак виновник знач был все робит опять
Автор: Nikolaevich 24.5.2016, 9:01
Спасибо автору за скрипт все работает на ура, только немножко изменил интерфейс вывода, чтоб было поаккуратнее, а вот цифры так и не получилось в один ряд поставить может кто поможет.