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

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

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

Автор: Jaska 14.7.2008, 19:14

Название скрипта: Warnings
Версия скрипта: v1.4
Версия API: API 2
Автор: Jaska
Описание:



 Warnings_v1.4.lua ( 21.76 килобайт ) : 265

Автор: Infernus-pro 14.7.2008, 20:23

Замечательно работает спасибо за скрипт! big_smile.gif

Автор: Andrey_SHANDERA 15.7.2008, 10:32

Доброго Вам Дня! Ну что же, в первые минуты тестиования на Птоке 3.6.0 нашёл баги! Перечесляю:
Первое предупрежени, прошло нармально, жаль что в чат не вывелось что такой то предупреждён для всех. Второе предупреждение, у же с багом! Юзеру которого предупредил, пришло вот такое сообщение: - [14:30:58] <[Dr.Diablo]> [14:20:51] <Свободный> Вы вы получили повторное предупреждение от Оператора [Dr.Diablo] по причине: проверка2 Как мы видим, что предупреждённому пришла инормация с не большой опечаткой"Вы вы два раза", но это не страшно, а так же, что он предупреждён от самого себя! Далее вроде все в порядке! Но когда дело доходит до бана! То юзера не банит! Кик проходит усешно, заглушка то же! Но вот временный бан не работает! И хотелось бы, что бы время заглушки, то же можно было выставить! Не возможно отослать разное начало меню! Хотелось бы, что бы начало меню, было разным для операторов, мастеров и простых смертных! То есть, например так! Опции оператара-предупреждения... И для протых: опции пользователя-предупредения-мои предупреждения. Ну вот вроде бы пока и всё! Ты просил, я написал! Спасибо тебе за твою работу!

Автор: Infernus-pro 25.7.2008, 16:13

А как понять вот эту ошибку:

Цитата
25.07.2008 18:51:11 - ...1\33A7~1\0016~1\PTOKX0~1.1\scripts\Warnings_v1.2.lua:360: attempt to index field '?' (a nil value)

PtokaX 0.4.1.1

Автор: Nickolya 25.7.2008, 16:43

Попытка доступа к неуществующей части сложной таблицы. У разработчика сейчас интернета нема, как появится - поправит всё что накосячил, так что ждемс...

Автор: derSpinner 7.8.2008, 4:31

разработчик планирует "обновить" скрипть?=)

и как с нагрузкой? ведь тож использует файлы, записывает все и т.п. уф

Автор: nelsone 24.8.2008, 23:15

а я его скачатть не могу((

Автор: Infernus-pro 25.8.2008, 10:10

Вообще непонятно что ошибка вылезает:

Цитата
[13:08] Синтаксис ...Рабочий стол\PtokX 0.4.1.1\scripts\Warnings_v1.3.lua:215: attempt to call global 'SendToAll' (a nil value)

К тому же в чат сообщения проходят.

Автор: Setuper 25.8.2008, 12:00

Core.SendToAll вместо SendToAll

Автор: Infernus-pro 25.8.2008, 15:37

Цитата
Core.SendToAll вместо SendToAll

Спасибо большое! Опять не подумал.

Автор: Al-j® 29.8.2008, 23:44

хммм
я поменял,но команды всё равно идут в чат+поменялась ошибка [16:59] Синтаксис Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)
ЗЫ: API 2 Pt.0.4.0.0

Разобрался чё к чему (все SendTo...(не только SendToAll) заменил на Core.SendTo...)команды не пропускает,но работает,но выдаёт ошибки,может кто подскажет?
[02:25] Синтаксис Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)
[02:25] Синтаксис Warnings_v1.3.lua:399: attempt to index field '?' (a nil value)
[02:25] Синтаксис Warnings_v1.3.lua:399: attempt to index field '?' (a nil value)
[02:25] Синтаксис Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)
[02:25] Синтаксис Warnings_v1.3.lua:399: attempt to index field '?' (a nil value)
[02:26] Синтаксис Warnings_v1.3.lua:399: attempt to index field '?' (a nil value)
[02:26] Синтаксис Warnings_v1.3.lua:521: attempt to call global 'SendUserMenu' (a nil value)
[02:26] Синтаксис Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)
[02:26] Синтаксис Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)
[02:27] Синтаксис Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)
[02:27] Синтаксис Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)
ща буду проверять логи предупреждений:будет ли запрещать чат и приват,скачку и т.д...

Автор: Infernus-pro 31.8.2008, 17:56

Что то с путями, те же самые ошибки...

Автор: Goblin 6.9.2008, 9:28

Разработчик умер? а то хотелось бы этот скрипт без ошибок.

Автор: Ма сель 7.9.2008, 9:19

Респект Жаске! Кульный скрипт! big_smile.gif

Автор: Al-j® 14.9.2008, 13:04

доисправлялся,дык ваще весь скрипт завалил...
РАЗРАБОТЧИК ПОМОГИ!!! big_smile.gif

Цитата(Andrey_SHANDERA @ 15.7.2008, 12:32) *
Но вот временный бан не работает! И хотелось бы, что бы время заглушки, то же можно было выставить!

Бан прекрасно работает, с заглушкой согласен big_smile.gif

Ещё баг спалил. Нет адреса для файла логов!!!

sMainPath = "Warnings\\" -- Главная папка
sLogPath = sMainPath.."Logs\\" -- Папка с логами
------------------------------------------------------------------------------------------
sWarningUserTable = sMainPath.."WarningUsers.tbl" -- Путь к таблице с пред. юзерами
sBadUserTable = sMainPath.."BadUsers.tbl" -- Путь к таблице с инфо о пред юзерах
------------------------------------------------------------------------------------------
sGiveWarningCmd = "!givewarning" -- Дать предупреждение

Цитата(Nickolya @ 25.7.2008, 18:43) *
Попытка доступа к неуществующей части сложной таблицы. У разработчика сейчас интернета нема, как появится - поправит всё что накосячил, так что ждемс...



а у разработчика долго инет нема будет или мы можем расчитывать на скорое лечение скрипта?

Автор: Wariner 14.9.2008, 14:16

Читай внимательнее!!!!!

CODE
--[[ Этот скрипт и не только можно найти на портале для администратора хаба: http://mydc.ru/
---------------------------------------------------------------------------------------
• Основная функция - ставить предупреждения. Предупреждения ставится оператором
(есть таблица так что все настраивается под вашу систему профилей)
• Первое предупреждение - усное, второе - карается по определенной системе которой
задаете вы (есть таблица наказаний допустим 1 раз - дроп 2 - кик итп). Накопительная
система наказаний действует в течении 24 часов с получения первого предупреждения.
• Существует ранговая система для предупрежденных - "звездочки". Кол-во звезд зависит
от кол-ва предупреждений. Больше нарушений - больше звезд. Кол-во нарушений фиксируется
и раз в неделю обнуляется. Ранговая система "звездочки" накладывает ограничение на
общение в общем чате. Все настраивается в таблице
• Все действия логируются и записываются в папке Logs. Файлы собираются по дням (как в IpGag).
----------------------------------------------------------------------------------------
]]--

Обрати внимание на последнюю строчку! Путь к файлу с логами не указан потому что скрипт каждый день должен создавать новый файл с названием дня!

Автор: Al-j® 14.9.2008, 16:33

не прочёл бывает big_smile.gif
простите

Автор: Setuper 15.9.2008, 16:30

начал переделывать скрипт, но последнее время чтото руки не дойдут доделать. Скрипт действительно немного левый. Автор не предусмотрел множество важных моментов для обобщения api.

Автор: Al-j® 15.9.2008, 22:04

Цитата(Setuper @ 15.9.2008, 18:30) *
начал переделывать скрипт, но последнее время чтото руки не дойдут доделать. Скрипт действительно немного левый. Автор не предусмотрел множество важных моментов для обобщения api.

Меня заинтересовал следующий момент (трогать не рискнул big_smile.gif если вылезет ошибка - не буду менять обратно, а стану икать ошибки и в итоге ппц скрипту :( )

if Core and type(Core) == "table" then
sNewPtokaX = 1
else
sOldPtokaX = 1
end
Заинтересовали собственно слова "sOldPtokaX" и "sNewPtokaX"
Объясните чё это и к чему плиз big_smile.gif

Автор: Setuper 15.9.2008, 22:08

данная фишка вот для этой реализации: Версия API: API 1,API 2 (универсальный)

Автор: Al-j® 16.9.2008, 10:42

типа если API2 то в это должно выглядеть так:

if Core and type(Core) == "table" then
sNewPtokaX = 1
else
sOldPtokaX = 0
end

или её ваще не надо трогать?

Автор: Setuper 16.9.2008, 12:22

не надо это трогать если не знаешь что это))))
скрипт должен работать на обеих апи без каких-либо специальных параметров настроек.

Автор: DemoN 17.9.2008, 0:05

У мя вот такая байда: [01:04] Syntax ...3.5.2.LUA.5.1.1.RUS.by.NRJ\scripts\Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)

птоха 0.3.5.2 =(

Автор: Setuper 17.9.2008, 0:10

он ни у кого не работает, так как полевому написан)

Автор: DemoN 17.9.2008, 1:16

Мде) А антиматюгальник чтобы умел вот так вот собирать статистику и давать бана больше чем в прошлий скажем раз есть для первого АПИ?) Мне нать) А то юзеры уже жалуются) Да и мне надоело матюги читать)

Автор: Al-j® 18.9.2008, 22:51

Цитата(Setuper @ 16.9.2008, 14:22) *
не надо это трогать если не знаешь что это))))
скрипт должен работать на обеих апи без каких-либо специальных параметров настроек.


А если знаешь что это?..))))))))
скрипт и так робит,просто непонятные ошибки (всё-таки видимо в адресах...) и бывает не сохраняется список предупреждённых юзверей :(

Автор: Setuper 19.9.2008, 19:01

ну и что это раз знаешь может объяснишь?

Автор: Al-j® 21.9.2008, 21:00

ты не понял вопроса,если знаешь что это,то можно трогать?)))да забей,это просто маленький офтоп)))

Автор: Infernus-pro 23.9.2008, 14:23

ну так что кто нибудь возьметься за скрипт? big_smile.gif

Автор: Al-j® 29.9.2008, 13:11

видимо нет...

Автор: Артём 10.11.2008, 23:50

feel_good.gif На PtokaX 0.3.6.0 замечательно работает,а вот на PtokaX 0.4.1.0 предупреждать то предупреждает но не наказует,просто идут предупреждения без наказания и вместе с наказанием в чат выдаёт команду..... anger.gif помогите что нужно сделать,уже и конвектировал и орегинал нефига не помогает

Автор: Andrey_SHANDERA 11.11.2008, 8:46

Он и на птоке 3.6.0 работает с ошибками... так что помоч тебе я думаю можно написанием нового.!

Автор: Артём 11.11.2008, 22:16

На PtokaX 0.3.6.0 работает прелестно greedy.gif

Автор: Vizunchik 23.11.2008, 20:50

Выдает ошибку на 0.4.1.1 как её исправить

[22:45] Синтаксис C:\Users\Радмир\Desktop\0\scripts\Warnings_v1.3.lua:399: attempt to index field '?' (a nil value)

Автор: Vizunchik 29.11.2008, 9:34

Народ помоогите плиз . Выдаёт ошибку beat_plaster.gif

Код
[11:28] Синтаксис C:\Users\Радмир\Desktop\0\scripts\Warnings_v1.3.lua:419: attempt to index field '?' (a nil value)

Вот в этой страке
Код
    if tBadUser[sNick].Download == "off" then


 Warnings_v1.3.lua ( 20.95 килобайт ) : 14
 

Автор: Sephiroth_Lukaw 29.11.2008, 11:39

Vizunchik, перечитай тему и всё станет ясно.

Автор: Vizunchik 29.11.2008, 13:30

Всё заработал не туда Core поставил :P

Автор: Vizunchik 2.12.2008, 18:43

народ подскажите как эту ошибку исправить beat_brick.gif

Код
[02:26] Синтаксис Warnings_v1.3.lua:399: attempt to index field '?' (a nil value)

Выдаёт по ходу работы.

 Warnings_v1.3.lua ( 20.83 килобайт ) : 10
 

Автор: Артём 6.12.2008, 14:34

:P Скрипт стоит на API 1 выдаё ощибку
[13:32] Синтакс ...рогать!!!\Клубнячковый хаб\scripts\Warnings_v1.3.lua:414: attempt to index field '?' (a nil value)
(Не могу понять причину Warnings_v1.3.lua: 414: попытка индексировать поле '? " (ноль стоимость) )

Автор: MEXAHuK 8.12.2008, 19:03

идея скрипта отлична. но в погоне угодить всем автор написал для двух АПИ сразу... это испоганило скрипт.
автору на заметку: пиши один и тот же скрипт в разных АПИ, в разных файлах и не гонись за универсальностью... универсальность многое погубила

Автор: Vizunchik 8.12.2008, 19:46

народ помогите с этой ошибкой Апи 2 PtokaX 0,4,1,1

Цитата
[02:26] Синтаксис Warnings_v1.3.lua:399: attempt to index field '?' (a nil value)

вот в этой строке

Код
f tBadUser[sNick].Pm == "off" then


 Warnings_v1.3.lua ( 20.83 килобайт ) : 12
 

Автор: Артём 10.12.2008, 20:11

:P Скрипт стоит на API 1 выдаё ощибку
[13:32] Синтакс ...рогать!!!\Клубнячковый хаб\scripts\Warnings_v1.3.lua:414: attempt to index field '?' (a nil value)
(Не могу понять причину Warnings_v1.3.lua: 414: попытка индексировать поле '? " (ноль стоимость) )
big_smile.gif Пожалуйста помогите избавится от ошибки!!!

Автор: Setuper 10.12.2008, 20:38

Индексы бывают только у таблиц, следовательно в строчки 414 какой-то из индексов какой-то таблицы не существует. Методом замены или удаления можно попробовать избавиться от этой ошибки. Больше экспериментов, иначе так и будешь сидеть на скамье запасных))

Автор: Артём 10.12.2008, 22:53

Цитата(Setuper @ 10.12.2008, 20:38) *
Индексы бывают только у таблиц, следовательно в строчки 414 какой-то из индексов какой-то таблицы не существует. Методом замены или удаления можно попробовать избавиться от этой ошибки. Больше экспериментов, иначе так и будешь сидеть на скамье запасных))


:P удалил 411,потом выдало ошибку в 415 удалил и 415,вроде пока не выдаёт ошибку big_smile1.gif

anger.gif борода совсем настала скрипту (совсем с ума сошёл).... scorn.gif

Автор: Setuper 10.12.2008, 23:09

Удалять надо с умом или ради эксперимента. И не надо удалять полностью строку, надо всего-лишь удалить таблицу с индексом (ито не навсегда, а только на время экспериментального обучения).

Автор: Артём 11.12.2008, 0:00

Цитата(Setuper @ 10.12.2008, 23:09) *
Удалять надо с умом или ради эксперимента. И не надо удалять полностью строку, надо всего-лишь удалить таблицу с индексом (ито не навсегда, а только на время экспериментального обучения).


big_smile1.gif уже до эксперементировался ... laughing.gif ,а чего родоначальник скрипта не исправит ошибку? ops.gif

Автор: kav 18.12.2008, 12:36

а у меня вообще не пашет

Автор: Артём 18.12.2008, 14:35

Цитата(kav @ 18.12.2008, 13:36) *
а у меня вообще не пашет

На какую версию PtokaX ставил?

Автор: MEXAHuK 4.1.2009, 16:56

[18:50] Синтаксис D:\_hubs\0.4.1.1\scripts\Warnings_v1.312.lua:428: attempt to index field '?' (a nil value)
[18:50] Синтаксис D:\_hubs\0.4.1.1\scripts\Warnings_v1.312.lua:416: attempt to index field '?' (a nil value)
раз в 3-4 секунды

Автор: Vizunchik 12.1.2009, 23:42

народ помогите исправить ошибки в этом скрипте:'-(

вот ошибка

Код
0.4.1.1\scripts\Warnings_v1.3.lua:399: attempt to index field '?' (a nil value)

Автор: Vizunchik 13.1.2009, 12:48

я исправил ошибку но почему то не кикает юзера. Но пишет в чат, что кикнул его

Помогите плизз исправить эту ошибку

 Warnings_v1.3.lua ( 21.03 килобайт ) : 12
 

Автор: maxwell 19.2.2009, 21:55

Код
[21:52] Синтаксис D:\PtokaX\scripts\Warnings_v1.3.lua:411: attempt to index field '?' (a nil value)
так как же исправить данную ошибку? PtokaX 0.4.1.0

Автор: Vizunchik 23.2.2009, 18:00

Специалисты помогите с этим скриптом

Автор: d00ker 22.3.2009, 16:57

а почему после предупреждения юзера, когда этот юзер смотри свои нарушения, ему пишет "За вами не замечано нарушений." ??

и ошибка вылетает Синтаксис ...\Птоха\scripts\предупреждение.lua:411: attempt to index field '?' (a nil value)

Автор: Setuper 22.3.2009, 19:50

нужно в 411 строке написать так:

Код
if tBadUser[sNick] and tBadUser[sNick].Download == "off" then

Автор: d00ker 22.3.2009, 22:12

Цитата
а почему после предупреждения юзера, когда этот юзер смотри свои нарушения, ему пишет "За вами не замечано нарушений." ??


вот этот еще вопросик меняинтересует ?!

Автор: maxwell 27.3.2009, 18:15

Цитата(Setuper @ 22.3.2009, 19:50) *
нужно в 411 строке написать так:
Код
if tBadUser[sNick] and tBadUser[sNick].Download == "off" then

Спасибо большое

Автор: Vizunchik 28.3.2009, 14:17

Помогите Исправить вот эту ошибку

Код
[20:41] Синтаксис ... ВИНДЕ\Сервак хаба\0.4.1.1\scripts\Warnings_v1.3.lua:472: attempt to index local 'sUser' (a nil value)


 Warnings_v1.3.lua ( 20.63 килобайт ) : 6
 

Автор: THE STRELOK 28.3.2009, 14:22

Попробуй подправить на 472

Код
    if sNewPtokaX then
        sUserNick = sUser.sNick
    elseif sOldPtokaX then
        sUserNick = sUser.sName


на:
Код
    if sNewPtokaX then
        tUserNick = tUser.sNick
    elseif sOldPtokaX then
        tUserNick = tUser.sName

Автор: Артём 30.3.2009, 18:58

У меня вопрос....

CODE
function Connect(tUser)
if tOps[tUser.iProfile] == 1 then
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру 'Написать причину'$<%[mynick]> "..sGiveWarningCmd.." %[nick] %[line: Введите причину]||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Флуд'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Флуд на хабе не приемлем!||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Спор с Администрацией Хаба'$<%[mynick]> "..sGiveWarningCmd.." %[nick] К сожалению спор с Администрацией Хаба не к чему хорошему не приведёт!||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Рекламу'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Реклама Хабов,сайтов,форумов на Клубнячковом Хабе не приемлима!||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Подписуй Магнет ссылки'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Не забываем что не все DC++ могу разпознавать магнет ссылки как текст,потому подписуем любую магнет ссылку кинутую в 'Чат'.Зарание спасибо big_smile.gif)!||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Рекламу Сетевых Игр'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Рекламные сообщения сетевых игр в чате разрешены не чаще, чем 1 раз в 45 минут!||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Нецензурное выражение (Мат)'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Давайте не будем выражатса на хабе нецензурной бранью!!!||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Caps Lock'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Выключаем 'Caps Lock' ибо на хабе 'ОР' не приемлем!||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Выяснение личной неприязности к кому либо'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Выяснение личной неприязности к кому либо нужно выяснять в 'ЛС',а не в чате!||")
SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Выяснение данного вопроса не в чате...'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Выяснение данного вопроса в 'Чате' не приемлимо,переходим в 'ЛС' или молчим!||")
SendOpsMenu(tUser,"Дать предупреждение\\Юзеру под ником$<%[mynick]> "..sGiveWarningCmd.." %[line: Введите ник] %[line: Введите причину]||")
SendOpsMenu(tUser,"Список предупрежденных$<%[mynick]> "..sViewWarningUsersCmd.." ||")
SendOpsMenu(tUser,"Предупреждения\\Этого юзера$<%[mynick]> "..sViewUserWarningInfo.." %[nick]||")
SendOpsMenu(tUser,"Предупреждения\\Юзера под ником$<%[mynick]> "..sViewUserWarningInfo.." %[line: Введите ник]||")
end
SendUserMenu(tUser,"Мои Предупреждения$<%[mynick]> "..sViewMyWarningInfo.." ||")
end

как сделать чтобы каждый пункт был разделён ( наподобие "$UserCommand 1 3" или "$UserCommand 1 2") ,а то при нажатие во вкладке хаба "Дать предупреждение\\Этому юзеру за 'Выяснение данного вопроса не в чате...'" выдало ошибку
<Hub-Security> Вы успешно отправили предупреждение пользователю Выяснение
<(r367)> !givewarning Выяснение данного вопроса в 'Чате' не приемлимо,переходим в 'ЛС' или молчим!
А хочетсо что бы их разделить .... ( $UserCommand 1 3" или "$UserCommand 1 2") тип такого.....
crying.gif надеюсь поняли мою муть...

Автор: Vizunchik 12.4.2009, 21:13

Цитата(THE STRELOK @ 28.3.2009, 16:22) *
Попробуй подправить на 472

Код
    if sNewPtokaX then
        sUserNick = sUser.sNick
    elseif sOldPtokaX then
        sUserNick = sUser.sName


на:
Код
    if sNewPtokaX then
        tUserNick = tUser.sNick
    elseif sOldPtokaX then
        tUserNick = tUser.sName


Не помогло beat_brick.gif

Автор: Vizunchik 22.4.2009, 19:33

Может, кто не будь, поможет

Автор: ClubViper 31.5.2009, 23:35

у меня тоже такая проблема, помогите плиз

Автор: Отшельник 21.6.2009, 17:48

Можно сделать так чтобы скрипт не только на ники привязывал наказания,а на IP тоже,а то надавал предов,а юзер сменил ник и все преды в пустую

Автор: Strannik 3.7.2009, 12:10

Возможно совместить Warnings_v1.3.lua с этим скриптом сказать спасибо http://mydc.ru/topic1529.html и чтоб он снимал нарушение
идея такова админ ставит нарушения и по количеству их запрещяет что то определенное (разговор ,поиск, скачки) типа рангов, а за хорошее от юзеров (спасибо) снимались штрафные санкции.

Автор: Andrew Frost 17.9.2009, 14:59

У меня на PtokaX 0.4.1.1 все работает без ошибок.Не конвертировал скрипт.Исправил только 411 строку :

Код
if tBadUser[sNick] and tBadUser[sNick].Download == "off" then

По достижении опр.кол-ва предупреждений идет бан по ip big_smile.gif

Цитата(Артём @ 30.3.2009, 19:58) *
У меня вопрос....
Раскрывающийся текст
Код
function Connect(tUser)
    if tOps[tUser.iProfile] == 1 then
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру 'Написать причину'$<%[mynick]> "..sGiveWarningCmd.." %[nick] %[line: Введите причину]||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Флуд'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Флуд на хабе не приемлем!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Спор с Администрацией Хаба'$<%[mynick]> "..sGiveWarningCmd.." %[nick] К сожалению спор с Администрацией Хаба не к чему хорошему не приведёт!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Рекламу'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Реклама Хабов,сайтов,форумов на Клубнячковом Хабе не приемлима!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Подписуй Магнет ссылки'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Не забываем что не все DC++ могу разпознавать магнет ссылки как текст,потому подписуем любую магнет ссылку кинутую в 'Чат'.Зарание спасибо :))!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Рекламу Сетевых Игр'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Рекламные сообщения сетевых игр в чате разрешены не чаще, чем 1 раз в 45 минут!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Нецензурное выражение (Мат)'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Давайте не будем выражатса на хабе нецензурной бранью!!!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Caps Lock'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Выключаем 'Caps Lock' ибо на хабе 'ОР' не приемлем!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Выяснение личной неприязности к кому либо'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Выяснение личной неприязности к кому либо нужно выяснять в 'ЛС',а не в чате!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Этому юзеру за 'Выяснение данного вопроса не в чате...'$<%[mynick]> "..sGiveWarningCmd.." %[nick] Выяснение данного вопроса в 'Чате' не приемлимо,переходим  в 'ЛС' или молчим!||")
        SendOpsMenu(tUser,"Дать предупреждение\\Юзеру под ником$<%[mynick]> "..sGiveWarningCmd.." %[line: Введите ник] %[line: Введите причину]||")
        SendOpsMenu(tUser,"Список предупрежденных$<%[mynick]> "..sViewWarningUsersCmd.." ||")
        SendOpsMenu(tUser,"Предупреждения\\Этого юзера$<%[mynick]> "..sViewUserWarningInfo.." %[nick]||")
        SendOpsMenu(tUser,"Предупреждения\\Юзера под ником$<%[mynick]> "..sViewUserWarningInfo.." %[line: Введите ник]||")
    end
    SendUserMenu(tUser,"Мои Предупреждения$<%[mynick]> "..sViewMyWarningInfo.." ||")
end

как сделать чтобы каждый пункт был разделён ( наподобие "$UserCommand 1 3" или "$UserCommand 1 2") ,а то при нажатие во вкладке хаба "Дать предупреждение\\Этому юзеру за 'Выяснение данного вопроса не в чате...'" выдало ошибку
<Hub-Security> Вы успешно отправили предупреждение пользователю Выяснение
<(r367)> !givewarning Выяснение данного вопроса в 'Чате' не приемлимо,переходим в 'ЛС' или молчим!
А хочетсо что бы их разделить .... ( $UserCommand 1 3" или "$UserCommand 1 2") тип такого.....
crying.gif надеюсь поняли мою муть...

Я думаю следует отредактировать под свои нужды строки с 196 по 255 big_smile.gif

 Warnings_v1.3.lua ( 20.53 килобайт ) : 12
 

Автор: truth 17.9.2009, 16:35

Помогите прикрутить предупреждения к IP, а не нику, пожалуйста big_smile.gif

И помогите расшифровать вот это:

Цитата
iCleanTime = 60*60*24*7 -- Время до амнистии(в сек. с 1-го преда)
iBanModeCleanTime = 60*60*24 -- Время до обнуления режима наказания за пред.

Как здесь время указывается?

Автор: Andrew Frost 17.9.2009, 17:06

iCleanTime = 60*60*24*7 --Неделя 1(сек.)*60=1(мин.)*60=1(час)*24=1(сутки)*7=1(неделя)
iBanModeCleanTime = 60*60*24 --Сутки

Автор: Jaska 29.1.2010, 6:41

Пофиксил чутка скрипт, ошибок должно быть поменьше, перезалил в первом посте.

Выкладываю на тестирование версию 1.4a

Список изменений:


Автор: Ksandor 6.2.2010, 21:28

Очень странно, может это конечно только у меня, но все же напишу вдруг кому тоже поможет =)

В таком виде, видят меню Мастер, и Вип. Хотя права даны и Опу.

Код
tOps = {                                                            
[0] =  1, -- Master         [1] = 1, -- Op
[2] =  1, -- VIP              [3] = 0, -- Reg
[-1] = 0, -- UnReg
}


Если выстроить так, то тогда видит и оп.

Код
tOps = {                                                            
[0] =  1, -- Master              [-1] = 0, -- UnReg
[1] = 1, -- Op                     [3] = 0, -- Reg
[2] =  1, -- VIP    
}

Автор: Wariner 6.2.2010, 22:49

естественно таблица доступа должна быть

Код
tOps = {                                                            -- Профили которым доступны команды
[0] =  1, -- Master
[1] = 1, -- Op
[2] =  0, -- VIP    
[3] = 0, -- Reg
[-1] = 0, -- UnReg
}

там просто строчки в комментарии попадают

Автор: Ksandor 10.2.2010, 17:09

Цитата
[19:29:27] <-First> Вы успешно отправили предупреждение пользователю Mapф5a
[19:29:27] * Пользователь Mapф5a получил предупреждение по причине: тест


После чего:

Цитата
[19:29] Синтаксис scripts\Warnings_v1.4a.lua:262: attempt to index field '?' (a nil value)


Теперь после каждой попытки предупредить в Чат вылетает команда

Цитата
[23:55:36] <-First> !givewarning Mapф5a потому, что.


А в птоке:

Цитата
[23:55] Синтаксис \scripts\Warnings_v1.4a.lua:102: attempt to call field '?' (a table value)


При этом все другие ники, опробованные мной предупреждает без проблем.

Автор: Andrey_SHANDERA 12.2.2010, 10:52

Обнаружил ошибку, когда даёшь предупреждения юзеру, то не ему, а мне в ЛС присылает Вы били предупреждены. Хотя предупреждение записывает ему. Потом второе то же самое мне пресылает вы были предупреждены. А так как работает скрипт мне нравиться. Помогите устранить эту ошибку плиз. Что нужно и где поправить?

Автор: Jaska 12.2.2010, 12:20

Исправил. Перезалил в первом посте.

Автор: Andrey_SHANDERA 12.2.2010, 13:24

Теперь работает. Спасибо. Хорошая идея, хороший скрипт.

P.S. Вот только ещё вопрос, юзеру за частые нарушения отрубает чат и личку, как ему узнать когда чат и личка включаться сного? Спасибо.

Автор: Jaska 12.2.2010, 14:18

Перезалил скрипт. Добавил отображение времени до амнистии при отправлении сообщения, как публичного так и приватного, использовании поиска, скачивании (если возможность отключена конечно) так же все это отображается в списке нарушений пользователя (мои нарушения) а так же, когда было совершено первое нарушение.

Автор: Andrey_SHANDERA 12.2.2010, 19:19

Спасибо. Работает.
Обнаружил не значительную ошибку.
Когда уровень нарушений достигает момента когда юзеру отключает чат и личку, если он посмотрит в меню свои наказания, то увидет следующее:

<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Ваше инфо о нарушениях
<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Количество нарушений: 3
<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Главный чат: выключен
Личка: включен
Поиск: включен
Файлообмен: включен
...

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

<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Ваше инфо о нарушениях
<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Количество нарушений: 3
<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Главный чат и личка: выключен
Поиск: включен
...

Автору спасибо за проделанную и полезную всем, работу.
В принципе второй способ могу воплатить и сам, но вдруг автор сделает первый, тогда прошу сообщить о этом. )))

ДОБАВЛЕНО

Продолжаю тестить и вот обнаружил баг. После того, как предупреждённого заглушило. Прошёл срок и его должно было разглушить, но случилось то, что при попытке написать в чат ему выдало следующие: Ваш уровень нарушений слишком велик для возможности пользоваться чатом. Время до амнистии: 136 г. 1 мес. 5 д. 5 ч. 18 мин. 43 сек. ))) 136 лет он не выдержит )))))

Автор: Goblin 12.2.2010, 20:30

Вот ещё.

sViewOP = 2 --- (2 - показывать только предупрежденному)
Все видят в общем чате "[22:09:44] * Пользователь nick получил предупреждение по причине: test"

Автор: illusive 13.2.2010, 3:11

мне нужно сделать так что бы за предупреждения банило по ip причем начиная уже с второго предупреждения но только на разное время в зависимости от их количесва

где что надо подправить не могу понять.

пытался заменить

BanMan.TempBan(sUser,sTempBanTime,sReason,sBot,true)

на

BanMan.TempBanIP(sUser.sIP,sTempBanTime1,sReason,sBot,true)

но хаб чето не банит

все сообщения нормально проходят только бан не происходит

помогите оч надо

Все разобрался после бана надо пользователя дисконектить!
Core.Disconnect(sNick)

Автор: Jaska 14.2.2010, 11:00

Andrey_SHANDERA

Баг с отображением доступа лички убрал. В текущей версии личка и чат отключаются одновременно, в будущему будет раздельно. Скрипт перезалил в первом посту.
Насчет времени, ты скорее всего неправильно выставил количество секунд до амнистии, у меня все нормально работает. Дай мне значение которое ты выставил, я на всякий случай проверю.

Goblin

Внимательнее читай описание! Показывать ли кто поставил пред. (1 - показывать всем и предупрежденному 2 - показывать только предупрежденному 3 - не показывать никому)

Автор: Andrey_SHANDERA 14.2.2010, 15:34

Цитата(Jaska @ 14.2.2010, 12:00) *
Andrey_SHANDERA
Насчет времени, ты скорее всего неправильно выставил количество секунд до амнистии, у меня все нормально работает. Дай мне значение которое ты выставил, я на всякий случай проверю.


Вот

iCleanTime = 60*60*24*7
iBanModeCleanTime = 60*60*1

Глушит на час, но когда приходит время снимать, он добавляет огромный срок. Буду тестить ещё, может гон.

Автор: Jaska 14.2.2010, 19:02

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

Вроде все вышеописанные баги устранил. Тестируйте. Добавил историю наказаний. Она содержится в папке history, для каждого пользователя будет создаваться отдельный .txt файл с его историей наказаний, предупреждений и амнистий. Пока существует в "сыром" виде (чистка логов производиться не будет, так что особо не усердствуйте)

Автор: Saymon 14.2.2010, 19:21

а можно ещё в него добавить функцию типа если юзер кикнут или забанен то время бана востанавливается при попытке перезайти на хаб big_smile.gif
а сообщение при кике, бане типа такова

Код
function UserConnected(tUser)
Core.SendToUser(tUser,"<"..sBot.."> Вы были кикнуты администратором "..tUser.sNick.."По причине "..sReason.." (Дата, время разбана). Попытки зайти на хаб будут востанавливать время бана")
Core.Disconnect(tUser)

Дата и время берётся из самой птоки. При попытке зайти снова на хаб дата и время снова записывается в птоку.
вроде правильно написал big_smile.gif
Подобное на официальном хабе нашей сети.

Автор: Jaska 14.2.2010, 19:32

Тоесть как восстанавливается? Не понял суть.

Автор: Saymon 14.2.2010, 19:37

если юзер кикнут или забанен и пытается ещё зайти на хаб, то время бана на которе он был забанен востанавливается.
Вот только не представляю я такой функции востановления времени бана при попытке перезайти.
Возможно ли вооще такое?

Автор: Jaska 14.2.2010, 20:19

Честно говоря я вообще не понял о чем ты. Что еще за восстановление? Чего восстанавливать? Можно увеличивать время бана при реконнектах.

Автор: Saymon 14.2.2010, 20:23

в переменной время бана 60 минут. Юзер забанен на 60 минут
Если он захотел перезайти на хаб через 30 минут то время бана снова 60 минут.
Если он захотел перезайти через 5 минут то время бана не 55 минут, а так же 60 минут.
и тд.

Цитата
а сообщение при бане типа такова
Код
function UserConnected(tUser)
Core.SendToUser(tUser,"<"..sBot.."> Вы были кикнуты администратором "..tUser.sNick.."По причине "..sReason.." (Дата, время разбана). Попытки зайти на хаб будут востанавливать время бана")
Core.Disconnect(tUser)


Дата и время берётся из самой птоки. При попытке зайти снова на хаб дата и время снова записывается в птоку.

Автор: Jaska 14.2.2010, 20:32

Думаю многие будут против такого. Современные клиенты переподключаются через определенный интервал, если пользователь оставит на ночь включенным компьютер то он до утра будет в бане.

Автор: Saymon 14.2.2010, 21:24

Эх, жалко. Ну ладно.

Jaska, а это так и должно быть? big_smile.gif
Core.SendToUser(tUser,"<"..sBot.."> Ошибка! У вас нет правд для использования данной команды")
И ещё команда дать предупреждение проскакивает в чат. Скрипт стоит в самом верху.

[21:35:56] <CooLHuB_BoT> Вы успешно отправили предупреждение пользователю юзер
[21:35:56] * Пользователь юзер был предупреждён по причине: тест. При повторном нарушении возможен кик с хаба.
[21:35:56] 10.128.162.28 | Локалка <Saymon> !givewarning юзер тест
Для всех в чате видно
[21:35] *** * Пользователь юзер был предупреждён по причине: тест. При повторном нарушении возможен кик с хаба.
[21:35] <Saymon> !givewarning юзер тест
[21:38] *** Пришло время аминстии для юзера юзер. Все счетчики предупреждений обнулены.

ошибка в птоке
[21:35] Синтаксис ...хаб\scripts\Warnings предупреждения юзеров.lua:364: attempt to index local 'f' (a nil value)
364 строка f:write(cur_log)

Автор: Jaska 14.2.2010, 21:55

Нет) так быть не должно) исправим)

Автор: Andrey_SHANDERA 19.2.2010, 12:32

Нашол ещё один баг. Так например, когда юзера заглушило. Прошёл срок, его разглушило (теперь) ))) нормально, но ещё одно предупреждение ему дать уже нельзя, так как команда просто проходит в чат и ни чего не происходит !

Автор: Ksandor 11.3.2010, 11:21

Последний баг исправили? Тестировал кто нибудь?

Автор: Saymon 16.3.2010, 0:38

Jaska, как оно? Баги исправлены?

Автор: Kocha 19.3.2010, 13:50

поскажите как убрать это
[16:47:32] <Kocha> !givewarning Kocha надо

Автор: FallenAngel 19.3.2010, 14:07

Цитата(Kocha @ 19.3.2010, 13:50) *
поскажите как убрать это
[16:47:32] <Kocha> !givewarning Kocha надо


Сделай аналогично как тут - http://mydc.ru/index.html?showtopic=3233&view=findpost&p=28409

Автор: Kocha 20.3.2010, 9:35

Цитата(FallenAngel @ 19.3.2010, 17:07) *
Сделай аналогично как тут - http://mydc.ru/index.html?showtopic=3233&view=findpost&p=28409

НЕТ !!!! покажите какие файлы поменять на какие ?

Автор: Wariner 20.3.2010, 9:56

не можешь сделать сам закрывай хаб! тут никто за тебя всё настраивать не будет!

Автор: Kocha 21.3.2010, 18:52

*** зачем тогда форум нужен ?

Автор: Saymon 21.3.2010, 19:13

Тут помогают тем людям кто не ленится так как ты!
И давай без оффтопа!

Автор: Kocha 21.3.2010, 19:20

я стораюсь choler.gif