Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Служебные скрипты [PtokaX] _ Setting Saver

Автор: Tsd 15.4.2010, 18:18

Название скрипта: Settings saver
Версия скрипта: 1.1
Версия API: API2
Автор: Tsd
Описание скрипта: Написание скрипта побудило изменение в версии 0.4.1.2 относительно предыдущей:
"Removed: Auto save of regs after add/change/del Reg."
Скрипт сохраняет настройки хаба отдельно через команду (меню), по таймеру и комбинированно.
Доступ по профилям. Есть функция отправки информации о сохранении настроек по таймеру определённому нику.
Протестировано на PtokaX 0.4.1.2 Tsd © 04.2010

Версия 1.1
Скрипт универсальный для API2
Особая благодарность alex82 за помощь.

Версия 1.2
Изменения:
Добавлены встроенные команды хаба и таблица команд для автосохранения.
Сохранение настроек при падении хаба.
Упрощён конфигуратор.
Скрипт ставим первым в списке скриптов.
Протестировано на PtokaX 0.4.1.2 Tsd © 08.2010

 Settings_saver_1.2.lua ( 4.9 килобайт ) : 184
 

Автор: alex82 15.4.2010, 20:48

Малость доработал скрипт - добавил функции сохранения профилей и скриптов.

 Settings_saver.lua ( 3.85 килобайт ) : 109

Автор: xXx-Portal 25.8.2010, 5:50

А должно показываться админам хаба в ЛС что автосохранение прошло или нет?

Просто 10 мин прошло и тишина...
В ЛС ничего не получил вот хочу уточнить, так должно быть?

Автор: Nickolya 25.8.2010, 6:10

Отправляет по таймеру только указанному нику. Смотри в настройках

Код
local sReportNick = "Tsd" -- Отправлять нику сообщение о сохранении по таймеру. Оставьте пустые кавычки если не надо

Автор: xXx-Portal 25.8.2010, 6:18

Nickolya - Благодарю за столь быстрый ответ и за оперативность!

Автор: Tsd 25.8.2010, 8:54

Как бы ещё прикрутить, чтобы автоматически сохранялись настройки при (авто)регистрации, удалении регистрации, изменении пароля или профиля?

Coming soon...

Автор: Ksan 25.8.2010, 16:27

Пусть скрипт за этими тремя командами тоже следит. При нахождении их через 30-60 сек. делать по таймеру сохранение. Скрипт ставить выше всех или хотя бы выше Меню хаба.
Иногда юзеры пишут команду регистрации ошибочно и регистрация не проходит, но это не критичная причина, чтоб лишний раз не сделать сохранку.

Автор: Nickolya 25.8.2010, 17:06

А вы уверены что оно надо? Из-за каждой команды пересохранять такую базу! Если так критична потеря рег за 10 минут - ставьте одну...

Автор: Ksan 25.8.2010, 17:28

Я не сторонник суеты из-за регистрации при штатно работающем скрипте сохранения, но тем не менее....сохранять каждую минуту гораздо напряжнее, чем после каждой регистрации, ведь регистрируются не каждую минуту и даже не каждые 5 минут.

Автор: Tsd 30.8.2010, 11:22

Вышла новая версия скрипта. Подробности в первом посте.

Автор: Osimus 13.8.2011, 15:59

ubuntu 11.04 amd 64 & PtokaX 0.4.1.2

Settings_saver_1.2.lua - постоянные ошибки в логах.
/PtokaX/scripts/Settings_saver_1.2.lua:118: attempt to compare number with userdata

Код
function OnTimer(iTmr)
    if tmr1 and iTmr == tmr1 and tmr1 > 0 then  - 118 строка!
    Save()                
    elseif tmr2 and iTmr == tmr2 then
    Save()
    TmrMan.RemoveTimer(tmr2)
    end
end

Автор: Osimus 14.8.2011, 14:26

поможет кто?

Автор: Osimus 24.10.2011, 22:32

может все таки кто поможет а?? crying.gif

Автор: Alexey 25.10.2011, 1:29

Сразу после первой процитированной тобой строки добавь следующую:

Код
Core.SendToOps("iTmr is "..type(iTmr).." and tmr1 is "..type(tmr1))


Постарайся воспроизвести свою ошибку и скажи, что при этом скрипт пишет в чат.

Автор: Osimus 25.10.2011, 4:06

скрипт в роде работает, в хаб чат ничего не выводит, в смысле ошибки.
но, в /PtokaX/logs в файл script.log
каждые 10 мин. флудит вот такими ошибками

Код
25.10.2011 04:14:41 - /home/osimus/PtokaX/scripts/Settings_saver_1.2.lua:118: attempt to compare number with userdata
25.10.2011 04:24:41 - /home/osimus/PtokaX/scripts/Settings_saver_1.2.lua:118: attempt to compare number with userdata
25.10.2011 04:34:41 - /home/osimus/PtokaX/scripts/Settings_saver_1.2.lua:118: attempt to compare number with userdata
25.10.2011 04:44:41 - /home/osimus/PtokaX/scripts/Settings_saver_1.2.lua:118: attempt to compare number with userdata

вот в этом проблема и была.!

добавил строчку как ты и сказал, ничего не изменилось более того, теперь в чате хаба вижу это
Код
[05:00:51] *  iTmr is userdata and tmr1 is userdata

Автор: Tsd 28.10.2011, 9:00

Попробуй строку 118 изменить на
if tmr1 and iTmr == tmr1 and iTimer > 0 then

Действительно - досадная ошибка, не понимаю как при тесте работало. Подправил и перезалил.

Автор: Enyby 30.1.2012, 13:48

Есть концептуальная проблема с этим скриптом. Если у вас утечка памяти в невыгружаемом пуле памяти и машина больше не может выделить память из невыгружаемого пула, указанный скрипт сотрет или испортит все сохраняемые настройки. Наблюдаю не первый раз. Исправить, думаю, это вряд ли возможно, просто стоит иметь в виду.
Я уже пар раз терял все настройки хаба, поэтому советую сделать резервное архивирование, на всякий случай.

Автор: Sergius` 21.3.2012, 21:54

PtokaX 0.4.2.0
Windows Server 2003 R2 Enterprise Edition x64 SP2

Код
D:\PtokaX\scripts\Settings_saver_1.2.lua:118: attempt to compare number with userdata
D:\PtokaX\scripts\Settings_saver_1.2.lua:122: bad argument #1 to 'RemoveTimer' (number expected, got userdata)

Tsd Подскажи пожалуйста, как исправить данные ошибки.

Автор: Артём 21.3.2012, 22:08

тебе вчера отвечали по такой же ошибке, смотри в той же http://mydc.ru/index.html?showtopic=5246&view=findpost&p=43186 и исправляй.

Автор: Alexey 22.3.2012, 9:33

Какая именно из версий 0.4.2.0 используется?

Автор: Sergius` 23.3.2012, 17:09

Цитата(Alexey @ 22.3.2012, 10:33) *
Какая именно из версий 0.4.2.0 используется?

PtokaX 0.4.2.0 build 241 Lua 5.1.4

Автор: Alexey 24.3.2012, 10:48

Попробуй версию из http://mydc.ru/topic19.html?view=findpost&p=41503, в ней исправлены некоторые ошибки.

Автор: Sergey613 10.10.2012, 22:28

Этот скрипт у меня тоже заработал, но вот понять не могу, а куда всё сохраняется?

Автор: Артём 11.10.2012, 1:02

Sergey613, в конфиги

Автор: Дьяволёнок 2.6.2014, 1:06

чтот ничего несоздается одно только сообщение о том что сохранено а что куда фиг поймешь, точнее то оно понятно но ничего несоздается