TimeToNewYear, API2 | Время до нового года |
Здравствуйте, гость ( Вход | Регистрация )
TimeToNewYear, API2 | Время до нового года |
14.12.2009, 23:46
Сообщение
#41
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
Название скрипта: TimeToNewYear
Версия скрипта: 1.0 RC1 Версия API: API2 Автор: Wariner Возможности: v 1.0 RC1 - Показывает отсчёт до нового года в списке юзеров - Показывает отсчёт до НГ по таймеру - Показывает отсчёт до НГ по команде - Показывает отсчёт до НГ в топике - Всё опционально и отключаемо v 1.0 RC2 - Показ отсчёта при входе за заданное колличество дней до даты - Изменён вид показа сообщений(легче настраивать под себя) v 1.0 RC3 - Исправлен показ топика - Настройки вынесены в файл - Изменение настроек из меню - Показ привественного сообщения из файла(опционально) PS: осталось сделать только красивый вывод сообщений... думаю каждый настроит под себя! тестим))))
Прикрепленные файлы
|
|
|
19.12.2009, 16:43
Сообщение
#42
|
|
Освоившийся участник Группа: Пользователи Сообщений: 248 Регистрация: 14.7.2008 Из: Хабаровск Пользователь №: 193 Спасибо сказали: 40 раз |
Nickolya так вот ты о чем ))
|
|
|
19.12.2009, 16:59
Сообщение
#43
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
а будет ли толк?
|
|
|
19.12.2009, 17:36
Сообщение
#44
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Узнаем, сделал пару фиксов, из них: меню теперь собирается при запуске 1 раз а не при каждом заходе, замена функций регистрации бота на отсылку протокольных команд, проверка таймера теперь ведется каждые 200 милисекунд, думаю это исправит все косяки с дубляжом, пробуйте!
Прикрепленные файлы
|
|
|
19.12.2009, 18:31
Сообщение
#45
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Кстати, что касается милисекунд, то меньше 100 мс бестолку ставить. Минимум это 100 мс именно такой минимальный интервал обработки таймеров в птохе
|
|
|
19.12.2009, 22:47
Сообщение
#46
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Спасибо, Setuper, но пока таих извратов с таймерами не приходилось делать, чтобы было меньше 100, да и нагрузка, я думаю, будет большая на скрипт. Что касается фикса - отпишитесь о том как работает и тогда прикрепим в первый пост, да, Wariner?
|
|
|
19.12.2009, 23:07
Сообщение
#47
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
да не вопрос, шеф))))
|
|
|
20.12.2009, 0:27
Сообщение
#48
|
|
Начинающий Группа: Пользователи Сообщений: 19 Регистрация: 17.5.2009 Пользователь №: 3 348 Спасибо сказали: 1 раз |
ппц, два компа, на одном один глюк на втором другой%)
Nickolya, спасибо) |
|
|
20.12.2009, 0:41
Сообщение
#49
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Да, пропустил, поправьте 107-113 строки на
Код local sMsg = "" скрипт перезалил.
if tUser.iProfile == 0 then sMsg = sMsg..sMenu1 end if tConfig.tProfiles[tUser.iProfile] == 1 then sMsg = sMsg..sMenu2 end |
|
|
20.12.2009, 1:01
Сообщение
#50
|
|
Начинающий Группа: Пользователи Сообщений: 19 Регистрация: 17.5.2009 Пользователь №: 3 348 Спасибо сказали: 1 раз |
оп...если отправка по комманде включена то
[00:56] Синтаксис C:\0.4.1.1\scripts\TimeToNewYear_littleFix.lua:115: attempt to concatenate local 'sMsg' (a nil value) а если отключить то [00:59] Синтаксис C:\0.4.1.1\scripts\TimeToNewYear_littleFix.lua:117: bad argument #2 to 'SendToUser' (string expected, got nil) я хз) |
|
|
20.12.2009, 1:20
Сообщение
#51
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Вот полностью функция UserConnected, должна работать правильно:
Код function UserConnected(tUser)
local iDays = GNT().Days or 0 if tConfig.bInEnter == "true" and iDays >= tConfig.iInEnter then Core.SendToUser(tUser, ("<%s> До нового года осталось %sмес. %sд. %sч. %sмин. %sсек."):format(tConfig.sChatBot, GNT().Months or 0, GNT().Days or 0, GNT().Hours or 0, GNT().Minutes or 0, GNT().Seconds or 0)) end local sMsg = "" if tUser.iProfile == 0 then sMsg = sMsg..sMenu1 end if tConfig.tProfiles[tUser.iProfile] == 1 then sMsg = sMsg..sMenu2 end if tConfig.bMsg == "true" then sMsg = sMsg.."$UserCommand 1 3 "..tConfig.sMenu.."\\Сколько до нового года?$<%[mynick]> !newyear|" end Core.SendToUser(tUser, sMsg) end OpConnected = UserConnected RegConnected = UserConnected |
|
|
20.12.2009, 12:05
Сообщение
#52
|
|
Начинающий Группа: Пользователи Сообщений: 19 Регистрация: 17.5.2009 Пользователь №: 3 348 Спасибо сказали: 1 раз |
Nickolya, заметил что просто !newyear| было заменено на !newyear| , ошибок птока не выдает но и сообщение по команде тоже не видно, тока это выкидывает в чат всем на обозрение
[11:58:11] <wasd> !newyear$MyINFO $ALL wasd [10]sochi // HDinside<FlylinkDC++ V r392),M ,H:0/0/1,S:10>$ $100 $[int]@dom.ru$2228793973704$ по старому хоть и ругается на строки, но по команде выдает, буду считать это моим персональным багом. пока клонов не замечено, за что СПАСИБО) |
|
|
20.12.2009, 12:09
Сообщение
#53
|
|
[n00b] Группа: Пользователи Сообщений: 291 Регистрация: 10.7.2008 Из: Россия,Пенза Пользователь №: 168 Спасибо сказали: 24 раза |
Попробуй занова скачать и установить вышеприкрепленный скрипт Николя.
Пашет нормально. Клонов нет. Спасибо |
|
|
20.12.2009, 13:44
Сообщение
#54
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Это форум так искажает код на конце команды, там должно быть не эта палочка |, а код этого символа (&*#124; без *), как с этим бороться пока не придумали, качай лучше скрипт из моего поста выше, сейчас он в рабочем состоянии.
|
|
|
20.12.2009, 15:41
Сообщение
#55
|
|
Начинающий Группа: Пользователи Сообщений: 19 Регистрация: 17.5.2009 Пользователь №: 3 348 Спасибо сказали: 1 раз |
Nickolya, а чего в нем нет исправлений со второй страницы, конечно сообщение наверно ни кто и не увидит но все же=)
|
|
|
20.12.2009, 16:06
Сообщение
#56
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Исправления есть, просто скрипт перезаливался в один пост, вот ссылка: TimeToNewYear_littleFix.lua
Качаем его и тестируем на здоровье, править там ничего не надо. |
|
|
4.1.2010, 12:50
Сообщение
#57
|
|
Освоившийся участник Группа: Пользователи Сообщений: 335 Регистрация: 18.5.2009 Из: Уфа, штат Солнечная Башкирия Пользователь №: 3 353 Спасибо сказали: 7 раз |
В Новый Год не смог проверить работу скрипта, но вот вчера заметил, что топик хаба показывает застывшую информацию - До нового года осталось 0мес. 1д. 9ч. 45мин. 53сек. Сам скрипт был отключен. Пробовал запустить - галка не встает. Поправил скрипт...
local tDate = {year = 2011, month = 1, day = 1, hour = 00, min = 00, sec = 00 } Код local tDate = {year = 2011, month = 1, day = 1, hour = 00, min = 00, sec = 00 } топик и всё остальное запустилось, но и в топике и в чате теперь: [14:47:26] <Santa`МороЗ> До нового года осталось 0мес. 1д. 9ч. 12мин. 34сек. ...явный нонсенс, при этом " Нет синтаксических ошибок в файле скрипта TimeToNewYear_littleFix.lua" Куда бы мне кривые мои рученьки присунуть? а? |
|
|
8.12.2010, 22:58
Сообщение
#58
|
|
Участник Группа: Пользователи Сообщений: 38 Регистрация: 26.8.2009 Пользователь №: 4 274 Спасибо сказали: 0 раз |
Странно, но работает! Спасибо!
|
|
|
14.12.2010, 13:53
Сообщение
#59
|
|
Активный участник Группа: Пользователи Сообщений: 59 Регистрация: 26.10.2008 Пользователь №: 893 Спасибо сказали: 0 раз |
До нового года осталось 0мес. 17д. 10ч. 10мин. 25сек.
Как сделать что если параметр равен 0, то он не отображался До нового года осталось 0мес. 17д. 10ч. 10мин. 25сек. так же когда 0 дней До нового года осталось 0мес. 17д. 10ч. 10мин. 25сек. И так же в списке пользоваетелей |
|
|
14.12.2010, 14:01
Сообщение
#60
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Попробуй так:
Раскрывающийся текст Код function ShowTimeToNewYear() Core.SendToAll(("<%s> До нового года осталось %s %s %s %s %s"):format(tConfig.sChatBot, GNT().Months or "", GNT().Days or "", GNT().Hours or "", GNT().Minutes or "", GNT().Seconds or "")) end function GNT() s=tonumber(os.difftime(os.time(tDate), os.time())) or 0 local r="" local tReturnDate = {} if s>=31104000 then tReturnDate["Years"] = math.floor(s/31104000) s=math.fmod(s,31104000) end if s>=2592000 then tReturnDate["Months"] = math.floor(s/2592000) s=math.fmod(s,2592000).."мес." end if s>=86400 then tReturnDate["Days"] = math.floor(s/86400) s=math.fmod(s,86400).."дн." end if s>=3600 then tReturnDate["Hours"] = math.floor(s/3600) s=math.fmod(s,3600).."час." end if s>=60 then tReturnDate["Minutes"] = math.floor(s/60) s=math.fmod(s,60).."мин." end tReturnDate["Seconds"] = s.."сек." return tReturnDate end Я показал только для function ShowTimeToNewYear(), думаю, для ещё 4-х аналогичных выводов сам сможешь доделать подобным же образом. |
|
|
14.12.2010, 14:42
Сообщение
#61
|
|
Активный участник Группа: Пользователи Сообщений: 59 Регистрация: 26.10.2008 Пользователь №: 893 Спасибо сказали: 0 раз |
Я тупо копипастил 3 раза: 1. все вместе, 2. без месяца, 3. без дней (Ну и все они без секунд)
-- Core.SendToUser(tUser, ("<%s> До нового 2011 года осталось %sмес. %sд. %sч. %sмин. ! 2011 год - год котЭ !"):format(tConfig.sChatBot, GNT().Months or 0, GNT().Days or 0, GNT().Hours or 0, GNT().Minutes or 0)) Core.SendToUser(tUser, ("<%s> До нового 2011 года осталось %sд. %sч. %sмин. %sсек. ! 2011 год - год котЭ !"):format(tConfig.sChatBot,GNT().Days or 0, GNT().Hours or 0, GNT().Minutes or 0,)) -- Core.SendToUser(tUser, ("<%s> До нового 2011 года осталось %sч. %sмин. %sсек. ! 2011 год - год котЭ !"):format(tConfig.sChatBot, GNT().Hours or 0, GNT().Minutes or 0)) =) Глупо , зато сам допер ;) Во всех функция, кроме отображения в описании! |
|
|
|
Сейчас: 23.12.2024, 4:45 |