Название скрипта: TimeToNewYear
Версия скрипта: 1.0 RC1
Версия API: API2
Автор: Wariner
Возможности:
v 1.0 RC1
- Показывает отсчёт до нового года в списке юзеров
- Показывает отсчёт до НГ по таймеру
- Показывает отсчёт до НГ по команде
- Показывает отсчёт до НГ в топике
- Всё опционально и отключаемо
v 1.0 RC2
- Показ отсчёта при входе за заданное колличество дней до даты
- Изменён вид показа сообщений(легче настраивать под себя)
v 1.0 RC3
- Исправлен показ топика
- Настройки вынесены в файл
- Изменение настроек из меню
- Показ привественного сообщения из файла(опционально)
PS: осталось сделать только красивый вывод сообщений... думаю каждый настроит под себя! тестим))))
А можно добавитьотправку текста при заходе, когда до НГ останется около 2х дней?..)
Wariner Респект, за то что мона под себя натроить ;)
"..эта.. я тожо себе такой паставил... намана... лучче чем раньше было... ага ... 100пудоф... ага... "
Варинер родненький, добавь пожалуйста в скрипт команду на текст-файл с поздравлением в час "00",
я знаю - тыможешь... ну Варинер, ну Варииинер, ну Варииинер... а?
новая версия в первом посту
2Uncle_Dif: от флуда моё желание только уменьшается... как будет время сделаю!
В топике некорректно отображает.
Во-первых, зачем то приплетает ник оператора хаба.
Во-вторых, мне показал, что до нового года осталось 0 дней, 16 минут и т.д. хотя в списке юзеров отображает верно.
whuru странно у меня всё норм.
Wariner вот решил заменить команду "менял на "!новый_год" всё нормально работает, меняю на "!новый год" команда вылетает в чат и сообщение не выводит. почему так?
сваял вот тут новую версию! очень намудрил чё то... пробуйте)))
а изменить как, можно? если да то какую функцию нужно тыкать?
на кой оно тебе надо? команда должна быть одним словом в противном случае это уже чёрт знает что!
ну хорошо, оставлю так. сорри если что
Спасибо, Wariner!
Теперь имею приятно-роскошный скрипт.
Wariner Спасибо! =)
Хм... Спустя пары часов работы в списке слишком много юзеров с никами отсчета... Как избавиться? Обновить список юзеров не выход-не все смогут сделать как такого
И можно, чтобы появлялась надпись в чате через n-ое кол-во времени от начала часа чтоль.. ХЗ как выразиться.. ТО есть чтобы в чате был отсчет ровном в полчаса каждого часа...
Не получилось) Без 1секунды поставил... И писалось в чате не оч красиво.
Кстати, если в отсчете нет лет, то может и месяцы не надо??
И насчет 1го.. А может не через время, а скол-во сообщений в час??
Да и в топике не оч красиво висят секунды то.. Хватило бы часов и минут
ну так настройте самостоятельно. делов то удалить пару символов...
Всетаки посмотри- у тебя есть наверное сикрипты: или ранней версиии, или "похожие"... оставь один, последней версии.
Нет у меня! Я бы уже давно убрал бы если было бы.. И накапливается не 1-2, а значительно больше....
тут вероятно проблема кроется в изменении параметров через меню... возможно при когда скрипт перезагружается он не скидывает старого бота...
PS: при разработке был ещё косяк. скрипт посылал фразу поздравления в двойном варианте! проверьте кто может)))))
[22:35] Синтаксис C:\0.4.1.1\scripts\TimeToNewYear.lua:67: bad argument #1 to 'SendPmToAll' (string expected, got nil)
что-то он поздравление не может вывести
имя бота какое указанно? скрипт пишет что оно отсутствует....
ДэД.мОрОз, запустил только этот скрипт с дефолтными настройками и все равно та же беда
вооооот оно что
было
да пардон мой косяк)))
вот еще микро баг, Сообщение при входе, За сколько дней включить, а оно отключает за стока дней, в строке
Если включить отсчет времени в списке пользователей, то начинает через некоторое время людей кикать за флуд MyINFO... Отключил отображение в списке юзеров, оставил только топик и общий чат.
whuru
скрипт не работает с MyINFO поэтому думаю дело не в нём....
чот у меня он тоже стал клонировацца в списке юзверей, ночь стоит норм вечером домой придешь, а их уже штук пять, ребут скрипту, опять ночь норм, вечером атака клонов%)
и когда скрипт отключаешь бот всеравно в списке, хотя если перезайти на хаб изчезает, мож как то лево проход анрег бота
У меня в меню слишком большой список разных подменю, хотелось бы его сократить.
Как в этом скрипте сделать так, чтобы выглядело как:
Меню нашего хаба / Деда Мороз / Сколько до Нового Года?
Пробовал писать так: Меню нашего хаба / Деда Мороз
В основном меню так и появляется "Меню нашего хаба / Деда Мороз", в подменю- "Сколько до Нового Года?"
через меню изменить название первой вкладки, а потом
'Wariner' через меню изменять название не совсем тот вариант. Допускается название меню из одного слова.
Например фраза "Меню нашего хаба" получается как одно слово "Меню". Я, по дурости, в файле Config.tbl в строчке ["sMenu"] = "Меню нашего хаба\\ Дед мороз", <= так сделал и получил желаемое. Сорри.)
wasd Клон может возникнуть из за твоего компа, если у тя процессор чемто занят подпрыгивает до 100% то это замедляет стабилной работе сервера и скрипта. У меня было такое, я когда ставил проверять на Антивирусы Дефрагментьацию, проверка жесткого диска, иногда когда играю бывают тоже клоны. Так что скрипт тут не причем.
PS. Wariner Респект за скрипт ;)
Может уйти от использования функций регистрации бота и использовать отсылку $OpList и $Quit? Думаю это решит проблему клонов, посмотреть это опять же можно в некоторых моих детских скриптах))
Uncle_Dif можно считать как угодно, но Скрипт не причем что он клонируется) главное на сервере чтоб ЦП не долбил под 100%. И еще, я думаю если секундыубрать [12д][1ч][44мин][56с] то я думаю клонов не будет.
Nickolya
Простой пример тут: http://mydc.ru/topic1535.html
Суть заключается в отсылке подобный сообщений:
Nickolya так вот ты о чем ))
а будет ли толк?
Узнаем, сделал пару фиксов, из них: меню теперь собирается при запуске 1 раз а не при каждом заходе, замена функций регистрации бота на отсылку протокольных команд, проверка таймера теперь ведется каждые 200 милисекунд, думаю это исправит все косяки с дубляжом, пробуйте!
Кстати, что касается милисекунд, то меньше 100 мс бестолку ставить. Минимум это 100 мс именно такой минимальный интервал обработки таймеров в птохе
Спасибо, Setuper, но пока таих извратов с таймерами не приходилось делать, чтобы было меньше 100, да и нагрузка, я думаю, будет большая на скрипт. Что касается фикса - отпишитесь о том как работает и тогда прикрепим в первый пост, да, Wariner?
да не вопрос, шеф))))
ппц, два компа, на одном один глюк на втором другой%)
Nickolya, спасибо)
Да, пропустил, поправьте 107-113 строки на
оп...если отправка по комманде включена то
[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)
я хз)
Вот полностью функция UserConnected, должна работать правильно:
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$
по старому хоть и ругается на строки, но по команде выдает, буду считать это моим персональным багом.
пока клонов не замечено, за что СПАСИБО)
Попробуй занова скачать и установить вышеприкрепленный скрипт Николя.
Пашет нормально. Клонов нет. Спасибо
Это форум так искажает код на конце команды, там должно быть не эта палочка |, а код этого символа (&*#124; без *), как с этим бороться пока не придумали, качай лучше скрипт из моего поста выше, сейчас он в рабочем состоянии.
Nickolya, а чего в нем нет исправлений со второй страницы, конечно сообщение наверно ни кто и не увидит но все же=)
Исправления есть, просто скрипт перезаливался в один пост, вот ссылка: http://mydc.ru/ipb.html?act=attach&type=post&id=3651
Качаем его и тестируем на здоровье, править там ничего не надо.
В Новый Год не смог проверить работу скрипта, но вот вчера заметил, что топик хаба показывает застывшую информацию - До нового года осталось 0мес. 1д. 9ч. 45мин. 53сек. Сам скрипт был отключен. Пробовал запустить - галка не встает. Поправил скрипт...
local tDate = {year = 2011, month = 1, day = 1, hour = 00, min = 00, sec = 00 }
Странно, но работает! Спасибо!
До нового года осталось 0мес. 17д. 10ч. 10мин. 25сек.
Как сделать что если параметр равен 0, то он не отображался
До нового года осталось 0мес. 17д. 10ч. 10мин. 25сек.
так же когда 0 дней
До нового года осталось 0мес. 17д. 10ч. 10мин. 25сек.
И так же в списке пользоваетелей
Попробуй так:
Я тупо копипастил 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))
=) Глупо , зато сам допер ;)
Во всех функция, кроме отображения в описании!
Если ты вместо моего совета решил обойтись этим, то это же не то решение, что ты просил!
Ты хоть попробовал, как я предлагал?
Тем более, 2011-й год - не последний..
так буду просто -- убирать или подставлять ;)
с отображением в описание так же поступил
Скрипт автоматом выключается когда Новый год настает! нужно все равно ручками менять дату следующего!
до нового года осталось 11 дней, а при входе не показывает
все, решил:
надо исправить (строка 78)
у меня изза этого скрипта банит юзеров по MyINFO
Dake, а теперь расскажи нам, Как????
опс причина выяснена) другой бот банит
Вспомнил про этот скрипт 1го декабря, запустил и что-то не понравилось, что он показал остаток месяц, а не 30 дней.
В итоге отвлёкся от диплома немного и:
-Учитывается количество дней каждого месяца, а не просто по 30. В связи с чем адекватно будет считать только до НГ.
-Учтено что в феврале может оказаться лишний день и всё нормально обсчитает.
-Добавлено автоматическое отбрасывание нулей(не так как на 3й странице, заметил после).
-Добавлена настройка включения рассылки в чат по таймеру за Н дней. (просто потому что понял как включается при входе=))
-Добавлена возможность по окончанию отсчёта сразу начать отсчёт до следующего НГ (взбрело что-то в голову).
-Добавлено исправление товарища Jonathan.
-И была исправлена такая штука, что при включенном показе, например за 5 дней, он мог показать и за 1 месяц и 5 дней.
P.S. Не пинайте за индийский код, я и половиный функций скрипта не понимаю=)
С уважением.
UPD_16.12.11: Удалите 166-ю строку. Это я осознавал как функция работает.)
Всем привет!
PtokaX 0.4.2.0
Синтаксис C:\Program Files\PtokaX\scripts\TimeToNewYear.lua:114: attempt to concatenate field 'sMenu' (a nil value)
Что сделать, чтобы скрипт заработал?
Люди-человеки, ну так что делать-то? Встроенный в PtokaX редактор скриптов при проверке ошибок не находит.
Cyber_voodoo, год сменить не пробовал?
10.12.2014 21:34:20 - ...o.by\Avalon\PtokaX 0.5.0.1\scripts\TimeToNewYear.lua:79: bad argument #1 to 'format' (string expected, got nil)
0.5.0.1 mod9