myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> BanMe, API1, API2

Теги
Нет тегов для показа
Wariner
сообщение 13.8.2008, 22:33
Сообщение #21


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Название скрипта: BanMe
Версия скрипта: 1.1
Версия API: API1,API2 (универсальный)
Автор: Wariner
Описание:

v 1.1
- Теперь под оба API
- Случайное время бана из заданного промежутка
- Дороботаны несколько мелочей
v 1.0
- Банит юзера нажавшего на менюшку
- Рандомное сообщение о том что юзер забанил сам себя
Прикрепленные файлы
Прикрепленный файл  BanMe.lua ( 2.38 килобайт ) Кол-во скачиваний: 406
 


Спасибо сказали:
Go to the top of the page
+Quote Post
4 страниц V  < 1 2 3 4 >  
Начать новую тему
Ответов
Артём
сообщение 18.3.2009, 0:18
Сообщение #22


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 773 раза




bad_smile.gif Поставь скрипт Cmd_to_owner и будешь знать кто жал на менюшку эту...
Go to the top of the page
+Quote Post
yaDroLLL
сообщение 19.3.2009, 3:21
Сообщение #23


Начинающий
*

Группа: Пользователи
Сообщений: 18
Регистрация: 20.2.2009
Пользователь №: 2 287
Спасибо сказали: 1 раз




Цитата(li4nost @ 17.3.2009, 23:10) *
не думаю, что каждый день себя будут банить одни и те же пользователи... на недельку посмеяться...
или каждый раз его называть по разному...

Да нет вообще то, бывают у меня по 1-3 раз за день одни и те же нажимают big_smile1.gif
Go to the top of the page
+Quote Post
Alexey
сообщение 7.5.2009, 23:17
Сообщение #24


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




!banme ищется во всей строке, непорядок.
Сделал время бана случайным из диапазона 5-30 минут, вроде веселее стало ;)
Go to the top of the page
+Quote Post
NikseR
сообщение 8.5.2009, 1:39
Сообщение #25


Продвинутый участник
****

Группа: Пользователи
Сообщений: 135
Регистрация: 18.7.2008
Из: г. Москва
Пользователь №: 219
Спасибо сказали: 25 раз




Цитата(Alexey @ 8.5.2009, 0:17) *
Сделал время бана случайным из диапазона 5-30 минут, вроде веселее стало ;)

О, вот это то, что мне не хватало! =) А то все одна минута, да одна минута. Не подскажешь, как диапазон сделать? Или скриптик свой кинь feel_good.gif
Go to the top of the page
+Quote Post
Wariner
сообщение 8.5.2009, 14:23
Сообщение #26


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




скрипт поправил, немного доработал(интервал времени), теперь о под оба API! Пробуем))))
Go to the top of the page
+Quote Post
NikseR
сообщение 8.5.2009, 17:00
Сообщение #27


Продвинутый участник
****

Группа: Пользователи
Сообщений: 135
Регистрация: 18.7.2008
Из: г. Москва
Пользователь №: 219
Спасибо сказали: 25 раз




Цитата(Wariner @ 8.5.2009, 15:23) *
скрипт поправил, немного доработал(интервал времени), теперь о под оба API! Пробуем))))

Класс! Спасибо, все работает. Ты супер! victory.gif
Go to the top of the page
+Quote Post
Alexey
сообщение 8.5.2009, 22:35
Сообщение #28


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Цитата(Wariner @ 8.5.2009, 14:23) *
скрипт поправил, немного доработал(интервал времени), теперь о под оба API! Пробуем))))

Угу, поглядел, у меня там ещё образовалась local nTime = math.random(tTime[1], tTime[2]), которая используется при выдаче бана и в сообщении в общий о бане, а так-же Reason в бане указан. Править всего ничего, но не все осилят.
Go to the top of the page
+Quote Post
Drakula
сообщение 11.5.2009, 19:44
Сообщение #29


PtokaX DC Hub 0.4.1.2
*****

Группа: Пользователи
Сообщений: 203
Регистрация: 20.1.2009
Из: Republic of Belarus, Minsk, Uruchie, Avalon.
Пользователь №: 1 890
Спасибо сказали: 4 раза




Если ты взялся за этот скрипт то сделай так что бы писало кем забанен, то есть писало ник того, кто нажал на менюшку и причину которую также можно было бы указать в настройках скрипта. Буду очень благодарен. А то не все дорубают кто и за что его забанил, а так буит ясно что он сам себя и за что=)
Go to the top of the page
+Quote Post
Alexey
сообщение 11.5.2009, 21:41
Сообщение #30


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Цитата(Drakula @ 11.5.2009, 20:44) *
Если ты взялся за этот скрипт то сделай так что бы писало кем забанен, то есть писало ник того, кто нажал на менюшку и причину которую также можно было бы указать в настройках скрипта. Буду очень благодарен. А то не все дорубают кто и за что его забанил, а так буит ясно что он сам себя и за что=)

Вот поправленный для себя вариант скрипта до последней правки Варинера. API2 only. Интервал времени, посылка сообщения в общий и причина бана присутствуют. Захват команды !banme только в начале строки.
Прикрепленные файлы
Прикрепленный файл  Kickme_API_2.lua ( 1.53 килобайт ) Кол-во скачиваний: 22
 
Go to the top of the page
+Quote Post
Wariner
сообщение 11.5.2009, 22:09
Сообщение #31


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




добавил, перезалил.
Go to the top of the page
+Quote Post
Drakula
сообщение 11.5.2009, 23:11
Сообщение #32


PtokaX DC Hub 0.4.1.2
*****

Группа: Пользователи
Сообщений: 203
Регистрация: 20.1.2009
Из: Republic of Belarus, Minsk, Uruchie, Avalon.
Пользователь №: 1 890
Спасибо сказали: 4 раза




Alexey, Wariner Спасибо завтро протестируем.
Go to the top of the page
+Quote Post
Wariner
сообщение 12.5.2009, 7:02
Сообщение #33


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Код
local s,e,msg = string.find(data,"^%b<>%s(%S+).*$")
    if msg then
        if (string.find(msg,"banme") ~= nil) then

Этот вариант тоже не слишком оптимизированный!
Go to the top of the page
+Quote Post
Drakula
сообщение 13.5.2009, 17:02
Сообщение #34


PtokaX DC Hub 0.4.1.2
*****

Группа: Пользователи
Сообщений: 203
Регистрация: 20.1.2009
Из: Republic of Belarus, Minsk, Uruchie, Avalon.
Пользователь №: 1 890
Спасибо сказали: 4 раза




Wariner, Работает отлично, сенк!
Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 4.9.2009, 9:22
Сообщение #35


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз





Прошу прощения за вольное обращение со скриптом. Захотелось как-то его обогатить и руку набить. Хотел к !banme добавить /clear и /close и добавил. Результат- !banme работает, а /clear и /close нет. Галка стоит, ошибок не пишет, в чат идёт- /clear и /close... Скрипт вверх-вниз перемещал.
Что у меня неправильно и как исправить?
CODE
--[[
Название скрипта: BanMe (Stalker)
Версия скрипта: 1.1
Версия API: API2
Автор: Wariner (Unle_Dif)
Специально для портала администраторов http://mydc.ru

Возможности:
v 1.1.Stalker
-добавлено Uncl_Dif:
- !clear
- !close
- изменено меню - юзер не знает что его ждёт, он же Stalker)
v 1.1.
- Теперь под оба API
- Случайное время бана из заданного промежутка
- Дороботаны несколько мелочей
v 1.0
- Банит юзера нажавшего на менюшку
- Рандомное сообщение о том что юзер забанил сам себя

скрипт удобнее будет просматривать в Notepad++
]]--

local sBot = "" -- Ник бота SetMan.GetString(21)
local tTime = {1, 10} -- Интервал времени бана в минутах
local tMsg = { -- Сообщения посылаемые все когда юзер забанил сам себя(не забываем после каждой фразы ставить запятые!!!!)
"играет в Stalker ))",
}
local sReason = "Любопытство"
local bFull = false
local sReturn = true

if not Core then
NewUserConnected = UserConnected
sNick = "sName"
sReturn = 1
bFull = 0
if sBot == "" then
sBot = frmHub:GetHubBotName()
end
else
sNick = "sNick"
if sBot == "" then
sBot = SetMan.GetString(21)
end
end

function UserConnected(tUser)
SendDataToUser(tUser,"$UserCommand 1 3 Меню нашего хаба\\Stalker\\?$<%[mynick]> !banme|")
SendDataToUser(tUser,"$UserCommand 1 3 Меню нашего хаба\\Stalker\\?$<%[mynick]> /clear|")
SendDataToUser(tUser,"$UserCommand 1 3 Меню нашего хаба\\Stalker\\?$<%[mynick]> /close|")
end
OpConnected = UserConnected
RegConnected = UserConnected

function ChatArrival(tUser,sData)
local sData = sData:sub(1,-2)
local sCmd = sData:match"%b<>%s+([!+-/*]%S+)"
if sCmd == "!banme" then
SendDataToAll(("<%s> %s %s"):format(sBot, tUser[sNick], tMsg[math.random(1,#tMsg)]))
SendDataToUser(tUser, ("<%s> Ты крутой stalker и забанил сам себя, теперь отдохни...))))"):format(sBot))
BanUser(tUser, math.random(tTime[1], tTime[2]), sReason, tUser.sNick, bFull)
return sReturn
end
end

function SendDataToUser(tUser, sMsg)
if Core then
Core.SendToUser(tUser, sMsg)
else
tUser:SendData(sMsg)
end
end

function SendDataToAll(sMsg)
if Core then
Core.SendToAll(sMsg)
else
SendToAll(sMsg)
end
end

function BanUser(tUser, iTime, sReason, sBy, bFull)
if Core then
BanMan.TempBan(tUser, iTime, sReason, sBy, bFull)
else
tUser:Ban(sReason, sBy, bFull)
end
end


Go to the top of the page
+Quote Post
Wariner
сообщение 4.9.2009, 10:13
Сообщение #36


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




мда... во первых
Цитата
- изменено меню - юзер не знает что его ждёт, он же Stalker)

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

а насчёт скрипта давай уточним ты понимаешь что ты делаешь? Объясняю:
ты добавил менюшку, но нахождение команды и обработку её ты не написал, поэтому у тебя и не работает!
Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 4.9.2009, 11:24
Сообщение #37


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз




а насчёт скрипта давай уточним ты понимаешь что ты делаешь? Объясняю:
ты добавил менюшку, но нахождение команды и обработку её ты не написал, поэтому у тебя и не работает!
======================================
Правильно понимаю?:
чтоб заставить скрипт выполнять команды !close и !clear моих изменений не достаточно.
Надо для каждой дополнительной что-то дописать? Полагаю это "что-то" уже есть в скрипте для "!banme", это можно повторить для "!close" и "!clear"? Укажи и направь мою руку)).
Go to the top of the page
+Quote Post
Wariner
сообщение 4.9.2009, 17:58
Сообщение #38


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Код
function UserConnected(tUser)
    SendDataToUser(tUser,"$UserCommand 1 3 Меню нашего хаба\\Stalker\\?$<%[mynick]> !banme|") -- это всего лишь меню
    ...
end

function ChatArrival(tUser,sData)
    local sData = sData:sub(1,-2)
    local sCmd = sData:match"%b<>%s+([!+-/*]%S+)"   -- нахождение команды
        if sCmd == "!banme" then
              --  обработка команды    
        end
end


Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 4.9.2009, 21:54
Сообщение #39


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз




Сделал так:
CODE

function ChatArrival(tUser,sData)
local sData = sData:sub(1,-2)
local sCmd = sData:match"%b<>%s+([!+-/*]%S+)"
if sCmd == "!banme" then
if sCmd == "!clear" then
if sCmd == "!close" then
end
end

и теперь на !banme отвечает нормально, а на "!clear" и "!close" отвечает переподключением. При этом галка на месте и ошибок не пишет.

Поправимо?
Go to the top of the page
+Quote Post
Wariner
сообщение 4.9.2009, 23:44
Сообщение #40


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




нифига не понял, это полый код?
Код
function ChatArrival(tUser,sData)
      local sData = sData:sub(1,-2)
      local sCmd = sData:match"%b<>%s+([!+-/*]%S+)"
      if sCmd == "!banme" then
            -- какое то действие
      elseif sCmd == "!clear" then
            -- какое то действие
      elseif sCmd == "!close" then
            -- какое то действие
      end
end

так понятнее???


Спасибо сказали:
Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 6.9.2009, 15:13
Сообщение #41


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз




Цитата(Wariner @ 5.9.2009, 0:44) *
нифига не понял, это полый код?
Код
function ChatArrival(tUser,sData)
      local sData = sData:sub(1,-2)
      local sCmd = sData:match"%b<>%s+([!+-/*]%S+)"
      if sCmd == "!banme" then
            -- какое то действие
      elseif sCmd == "!clear" then
            -- какое то действие
      elseif sCmd == "!close" then
            -- какое то действие
      end
end

так понятнее???


Кажется понял... в оригинале скрипта так:
Код
    if sCmd == "!banme" then
        SendDataToAll(("<%s> %s %s"):format(sBot, tUser[sNick], tMsg[math.random(1,#tMsg)]))
        SendDataToUser(tUser, ("<%s> Ты забанил сам себя))))"):format(sBot))      
        BanUser(tUser, math.random(tTime[1], tTime[2]), sReason, tUser.sNick, bFull)
        return sReturn

значит, для !clear и !close надо создать, для каждого своё, что-то вроде этого?:
" if sCmd == "!cleaer" (или "!close) then
SendDataToAll(("<%s> %s %s"):format(sBot, tUser[sNick], tMsg[math.random(1,#tMsg)]))
SendDataToUser(tUser, ("<%s> Ты Stalker и ты попал...))))"):format(sBot))
BanUser(tUser, math.random(tTime[1], tTime[2]), sReason, tUser.sNick, bFull)
return sReturn

Так, да? Не гневись, нуб я....
Go to the top of the page
+Quote Post

4 страниц V  < 1 2 3 4 >
Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



RSS Сейчас: 28.3.2024, 18:02