Типа баннера на хабе) для птоки 0.3.6.0
-- Banner 1.0b LUA 5
-- by Wampir 18/05/07
--
-- Send a banner ad to main chat
--
-- +Changes from 1.0 12/23/05
-- +Added centering function
-- +Added border 2
--
--
--«»«»[ User Settings ]«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
--Send command
BannerCmd = "+banner"
--Max length of allowed banner
MaxLength = 1000
--Border charachter for banner ad
BorderChar1 = "="
--Name for bot
--Bot = frmHub:GetHubBotName()
BannerBot = "Наташа"
--Menu name pulled from hub, uses hub name for menu
Menu = "Алатырский хаб"
--Custom submenu
--SubMenu ="General"
--Who may use this command/receive context menu
Profiles = {
[-1] = 0, --Unregistered User
[0] = 1, --Master
[1] = 1, --Operator
[2] = 1, --Vip
[3] = 1, --Registered User
[4] = 0, --Moderator
[5] = 0, --NetFounder
}
--«»«»[ End User Settings ]«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
function Main()
if BannerBot ~= frmHub:GetHubBotName() then
frmHub:RegBot(BannerBot, 1, "Посылаю баннеры", "")
end
end
function NewUserConnected(user)
if Profiles[user.iProfile] == 1 then
user:SendData("$UserCommand 1 3 "..Menu.."\\Ресурсы хаба\\ => Баннер хаба$<mynick> "..BannerCmd.." %[line:тест банера]|")
end
end
OpConnected = NewUserConnected
function ChatArrival(user, data)
data=string.sub(data,1,-2)
local s,e,cmd = string.find(data, "%b<>%s+(%p%w+)")
local s,e,advert = string.find(data,"%b<>%s+%S+%s+(.+)")
if (cmd==BannerCmd) then
if not advert then
local reply1 = "нечего отослать , попробуй снова."
user:SendData(reply1)
return 1
elseif Profiles[user.iProfile] == 1 then
if cmd and advert then
if string.len(advert) > MaxLength then
local reply2 = "\tбаннер имеет слишком много символов ["..string.len(advert).."]. "..
"The maximum number characters allowed is "..MaxLength
user:SendData(reply2)
return 1
else
SendBanner(user,advert)
return 1
end
end
else
SendToNick(user.sName,"извините "..user.sName..", вы не можете использовать "..BannerCmd.." команды.")
return 1
end
end
end
function SendBanner(user,advert)
local border = "\r\n\r\n"
local border1 = border..string.rep("=",10).." баннер "..user.sName.." "..string.rep("=",75).."\r\n\r\n"
local border2 = border..string.rep("=",75).." баннер "..user.sName.." "..string.rep("=",10)..".\r\n."
if user and advert then
SendToAll(BannerBot,border1..Spacer(advert,string.len(border1))..advert..border2)
return 1
end
end
Spacer = function(str,len)
if str then
local tab = ""
if string.len(str) <len> 0 then
for x = 1,count do
tab = tab.."\t"
end
end
end
str = nil
return tab
end
end
|