|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#1
|
|
![]() Абсолютный новичок Группа: Пользователи Сообщений: 8 Регистрация: 28.4.2009 Пользователь №: 3 200 Спасибо сказали: 8 раз ![]() |
На сайте Synergetic DC++ Community
|
|
|
![]()
Сообщение
#2
|
|
![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз ![]() |
Обычно приято выкладывать скрипты сюда, на форум. А не куда-то там на какие-то свои сайты... Ну или хотя-бы github, butbucket etc.
|
|
|
![]()
Сообщение
#3
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
baltica, у вас странная манера написания скриптов.. я даже не уверен, все ли они работают и правильно ли..
Если бы вы выложили на этом форуме, то можно было бы поговорить на эту тему, а так...где-то далеко-далеко лежат какие-то скрипты - а нам-то что до них? тут своих хватает...вот когда они станут частью нашего форума, вот тогда и можно принять всерьёз. Так, навскидку, - нет проверки (или проверок) прав на команду, сомнительные регулярки... пример: Код local nick = sData:match("!gag%s-(%S-)|") Я скрипты на рабочесть не проверял, изучил через Нотепад++ только один (newgag.lua), вот на основании этого и. ![]() Кстати, этот скрипт я бы написал так: Обозначения переменных оставил как есть. Сообщения о разглушке (юзеру и в общий чат) счёл ненужными. Код local bot = "Hub-Security" А вообще, гагать юзеров через эту штатную команду (!gag/!ungag) - позапрошлый век! Писать скрипт под такую команду сейчас - только разве что для тренировки..gg = {} local tProfiles = { [0] = 1, [1] = 1, [2] = 0, [3] = 0, [-1] = 0, } function ChatArrival(tUser, sData) if tProfiles[tUser.iProfile] == 1 and sData:find("!gag") then local nick = sData:match"^%b<>%s+%S+%s+(%S+)|" if not gg[nick] then gg[nick] = true else Core.SendToNick(tUser.sNick, "<"..bot.."> Этот юзер уже заглушен.") end return true elseif tProfiles[tUser.iProfile] == 1 and sData:find("!ungag") then local nick = sData:match"^%b<>%s+%S+%s+(%S+)|" if not gg[nick] then Core.SendToNick(tUser.sNick, "<"..bot.."> Этот юзер и так не заглушен.") else gg[nick] = nil end return true elseif tProfiles[tUser.iProfile] == 0 and gg[tUser.sNick] then return true end end |
|
|
![]()
Сообщение
#4
|
|
![]() Абсолютный новичок Группа: Пользователи Сообщений: 8 Регистрация: 28.4.2009 Пользователь №: 3 200 Спасибо сказали: 8 раз ![]() |
Ksan, спасибо за критику и детальный разбор)) Да, манера написания наверно действительно странная - но я не профессионал в программировании, образование у меня совсем другое - я генетик. Но написание прог всегда было слабостью, сначала - много лет назад писал на С, потом С++, php и lua. Скрипты все работают, и без сбоев - проверено все на нескольких хабах уже. А скрипты здесь долгое время не выкладывал потому, что не хотел лезть к профессионалам со своими пятью копейками)) |
|
|
![]()
Сообщение
#5
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
baltica, и да, кстати, в варианте скрипта newgag.lua, который я показал выше (думаю, и в оригинале так же), командой заглушки/разглушки может служить любое другое !слово, а не только !gag или !ungag, так как по коду достаточным условием заглушки является наличие ника в таблице заглушки.
Поэтому лучше так и сделать, а в дальнейшем попытаться нарастить мощность скрипта дополнительными фишками-удобствами...в частности, добавить меню, сохранение таблицы в файл, возможность добавить срок заглушки, причину заглушки и т.д. и т.п.. То есть, на базе этого скрипта учиться кодировать на Луа.. Все эти фишки уже давно реализованы в полной мере в других скриптах форума (и вы вполне можете ими пользоваться), но вам, раз желаете самостоятельно научиться писать, советую прислушаться и продолжить наращивать этот скрипт. ![]() Удачи! |
|
|
![]() ![]() |
Похожие темы
![]() |
Сейчас: 8.9.2024, 2:18 |