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

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

MyDC.ru _ Скрипты для RusHub'а _ 'БАННЕР' для RusHub

Автор: Sekretchik 13.12.2010, 15:57

Название - banner
Описание - Посылает в главный чат оформленное в баннер сообщение
Установка - Поместите banner.lua в папку scripts

Идея этого скрипта позаимствована у - http://mydc.ru/r/?http://board.ptokax.ch/index.php?PHPSESSID=b2bc6b28652169b8c2a27f76542e5c5d&topic=7571.0

screenshot

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

Код
tVIP = {
    ["NICKNAME_01"] = 1,  -- впишите в кавычки ник пользователя, который не наделён правом отправки банера, но своим поведением достоин того  (:
    ["NICKNAME_02"] = 1,
}

P.S.
Убедительная просьба не пинать меня ногами в печень и почки!

 banner.lua ( 3.67 килобайт ) : 59
 

Автор: philoum 14.12.2010, 7:53

hi,
i dont have the rigth menu
i change some thing big_smile.gif

CODE
--###################################################################################
--## this script write Sekretchik aka ][shocked.gif][ livivng in Sosnogorsk Russia ##
--## dchub://sosnogorsk.no-ip.biz ## taduction fr by Philoum
--###################################################################################

sCmdToShowAll = "banner"
MaxSymbol = 5000
Menu = "--> Banner"

local OpNick = "þ††i£øû]v[™" -- Inscrivez le nom qui recevra le message d'erreur

tVIP = {
["NICKNAME_01"] = 1, -- remplir le nick citations, ce qui n'est pas le droit d'envoyer une bannière, mais leur comportement est digne (:
["NICKNAME_02"] = 1,
}

tProfile = {
[-1] = 0, -- L'utilisateur non enregistre
[0] = 1, -- Àdmin
[1] = 1, -- master
[2] = 1, -- moderator
[3] = 1, -- op
[4] = 0, -- vip
[5] = 0, -- reg
}
local sMenu = "$UserCommand 1 3 "..Menu.."$<%[mynick]> !"..sCmdToShowAll.." %[line:Texte de la bannière à envoyer en cc]&#124;"

function OnStartup()
sBot = Config.sHubBot
end

function OnUserEnter(UID)
if tProfile[UID.iProfile] == 1 or tVIP[UID.sNick] == 1 then
Core.SendToUser(UID, sMenu)
--Core.SendToUser(UID, "$UserCommand 1 1 "..Menu.."$<%[mynick]> !"..sCmdToShowAll.." %[line:Texte de la bannière à envoyer en cc]|")
end
end

function OnChat(UID, sData) -- Le message au chat
local _,_, sCmd = string.find(sData, "^%b<>%s+%p(%S+)") --Nous cherchons la commande
local _,_, advert = string.find(sData,"%b<>%s+%S+%s+(.+)")
if (sCmd==sCmdToShowAll) then
if not advert then
local reply1 = "\r\n\r\n"..
"\t"..string.rep("=", 67).."\r\n"..
"\tExcusez, les messages vides au chat, je n'expedie pas. Essayez encore une fois."..
"\t"..string.rep("=", 67).."\r\n"
Core.SendToUser(UID, reply1, sBot)
return true
elseif tProfile[UID.iProfile] == 1 or tVIP[UID.sNick] == 1 then
if sCmd and advert then
if string.len(advert) > MaxSymbol then
local reply2 = "\r\n\r\n"..
"\t"..string.rep("=", 67).."\r\n"..
"\tFait par vous nick comprend de ["..string.len(advert).."] Des symboles.\r\n"..
"\tLa quantite au maximum admissible de symboles dans le message - ["..MaxSymbol.."]\r\n"..
"\t"..string.rep("=", 67).."\r\n"
Core.SendToUser(UID, reply2, sBot)
return true
else
SendBanner(UID, advert)
return true
end
end
else
local reply3 = "\r\n\r\n"..
"\t"..string.rep("=", 75).."\r\n"..
"\tExcusez - "..UID.sNick.." - Mais vous ne pouvez pas utiliser la commande - !"..sCmdToShowAll.."\r\n"..
"\t"..string.rep("=", 75).."\r\n"
Core.SendToUser(UID.sNick, reply3, sBot)
return true
end
end
end

function SendBanner(UID, advert)
local border = "\r\n\r\n"
local border1 = border..string.rep("=",10).." Envoyé par "..UID.sNick.." "..string.rep("=",60).."\r\n\r\n"
local border2 = border..string.rep("=",60).." Envoyé par "..UID.sNick.." "..string.rep("=",10).."\r\n"
if UID and advert then
Core.SendToAll("<"..sBot..">" ..border1..Spacer(advert,string.len(border1))..advert..border2)
return true
end
end

Spacer = function(str,len)
if str then
local tab = ""
if string.len(str) < len then
local count = ((len - string.len(str)) / 2) / 10
if count > 0 then
for x = 1,count do
tab = tab.."\t"
end
end
end
str = nil
return tab
end
end

function OnError(sErrMsg)
local UID = Core.GetUser(OpNick)
if UID then
Core.SendToUser(UID.sNick, sErrMsg, UID.sNick, sBot)
end
end

thanks
greetings

Автор: Sekretchik 14.12.2010, 9:44

Цитата(philoum @ 14.12.2010, 7:53) *
hi, i dont have the rigth menu. i change some thing big_smile.gif
thanks. greetings

You have the right to change the text of the script as you want. The main thing - that the script worked and rejoiced administrator (:

P.S.


Ми слова благодарности:

- Представителю администрации - за "правку" верхнего поста. А именно, за "скрытый текст". Я пытался решить этот вопрос посредством спойлера.
- Разработчикам RusHub'а - за прекрасную работу.
- Всем другим, кто помогает людям сделать их хабы - удобными, надежными и стабильными.

Автор: philoum 15.12.2010, 10:01

Цитата(Sekretchik @ 14.12.2010, 11:44) *
You have the right to change the text of the script as you want. The main thing - that the script worked and rejoiced administrator (:

P.S.


Ми слова благодарности:

- Представителю администрации - за "правку" верхнего поста. А именно, за "скрытый текст". Я пытался решить этот вопрос посредством спойлера.
- Разработчикам RusHub'а - за прекрасную работу.
- Всем другим, кто помогает людям сделать их хабы - удобными, надежными и стабильными.


thanks u so much big_smile.gif
have good day

Автор: Saymon 15.12.2010, 14:49

philoum, To announce thanks man, we can press instead of writing a new post big_smile.gif

Sorry for my bad English

Автор: Sekretchik 15.12.2010, 20:25

Цитата(philoum @ 15.12.2010, 10:01) *
thanks u so much big_smile.gif have good day

Thank you for your words of appreciation. Good luck. big_smile.gif