/* СТИЛИ СТИЛИ СТИЛИ СТИЛИ СТИЛИ СТИЛИ СТИЛИ СТИЛИ СТИЛИ ССТИЛИ */

[#DCBEELINEKZ] БИЛАЙН ХАБЫ КАЗАХСТАН

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



СКРИПТЫ

Сообщений 21 страница 25 из 25

1

21

Как сделать контекстное меню для команды

Допустим, у вас есть команда !rules, по которой показываются правила хаба, команда !hubs, по которой показываются хабы сети и команда !radio, по которой показываются транслируемые через сеть радиостанции. Вы хотите, чтобы эти команды можно было вызывать из контекстного меню хаба.

Код:
function UserConnected(tUser)
  Core.SendToUser(tUser,"$UserCommand 1 3 Меню хаба\\Правила хаба$<%[mynick]> !rules||"..
  "$UserCommand 1 3 Меню хаба\\Хабы-друзья$<%[mynick]> !hubs||"..
  "$UserCommand 1 3 Меню хаба\\Сетевое радио$<%[mynick]> !radio||")
end
RegConnected,OpConnected=UserConnected,UserConnected

22

Как запретить скачивать и искать на хабе незарегистрированным

Код:
local sMsg="Вы не зарегистрированы. Пользоваться поиском и скачивать запрещено!"
function ConnectToMeArrival(tUser)
  if tUser.iProfile==-1 then
    if Core then
      Core.SendToUser(tUser,sMsg)
    else
      tUser:SendData(sMsg)
    end
    return true
  end
end
RevConnectToMeArrival,SearchArrival=ConnectToMeArrival,ConnectToMeArrival

23

При конекте на хаб выдать юзеру случайную ASCII картинку в чат

Код:
--Конфигурация-----------------------------------------------------------------
sBotName = SetMan.GetString(21)	-- Имя бота

--Профилям = 0 картинка выдаваться не будет
tProfiles = {
[-1] = 1,	-- Unregs
[0] = 1,	-- Masters
[1] = 1,	-- Operators
[2] = 1,	-- Vips
[3] = 1,	-- Regs
[4] = 1,	-- CustomProf1
[5] = 1    -- CustomProf2
}

-------------------------------------------------------------------------------

function OnStartup()
sASCII = {
[1] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII01.txt"),    --Грузим файлы с ASCII при старте скрипта
[2] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII02.txt"),
[3] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII03.txt"),
[4] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII04.txt"),
[5] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII05.txt"),
[6] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII06.txt"),
[7] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII07.txt"),
[8] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII08.txt"),
[9] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII09.txt"),
[10] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII10.txt"),
[11] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII11.txt"),
[12] = loadData(Core.GetPtokaXPath().."scripts/text/ASCII12.txt")
}
end

function UserConnected(sUser)
	if tProfiles[sUser.iProfile] ~= 0 then 
    Core.SendToUser(sUser, "<"..sBotName.."> \r\n" ..sASCII[math.random(12)].."\r\n")
	end
end

OpConnected, RegConnected = UserConnected, UserConnected

function loadData(file)
	local tmp = ""
	local f,e = io.open(file, "r")
	if f then 
    tmp = f:read("*a")
    f:close(f)
    return tmp
            else return "No such file or directory"
	end
end

24

БОТ ЛС МЕНЮ

Код:

bot = "ТЕХ.ПОДДЕРЖКА"
botDesc = " [МЕНЮ]"	--Описание бота
botTag = "RAFA"    	--Тэг бота
botEmail = "DCBEELINEKZ@mail.ru"    --еМайл бота

OnStartup = function()
	Core.RegBot(bot, botDesc.."<"..botTag..">", botEmail, true)
end

ToArrival = function(user, data)
	data = data:sub(1,-2)
	local sBot, nick, msg = data:match"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)"
	if sBot == bot then
    Core.SendPmToUser(user, bot, "\n\t\t МЕНЮ ТЕХ.ПОДДЕРЖКИ [DCBEELINEKZ] \r\n\t\t RAFA")
    return true
	end
end

25

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

Код:
sBot = SetMan.GetString(21)
tProfile = {
	[0] = 1, [1] = 0,
}
tVIP = {
	["][@keRs_Hydrag"] = 1,
}

function ChatArrival(user,sData)
	local sData = string.sub(sData,1,-2)
	local _,_,cmd = string.find(sData, "%b<>%s+(%S*)")
	if cmd == "!say" then
	local _,_,sNick,sMsg = string.find(sData, "%b<>%s+%S*%s*(%S*)%s*(.*)")
    if tProfile[user.iProfile] == 1 or tVIP[user.sNick] == 1 then
    	if sNick == "" then
        Core.SendToUser(user,"<"..sBot.."> Пожалуйста, введите ник, от которого будет послано сообщение")
    	elseif sMsg == "" then
        Core.SendToUser(user,"<"..sBot.."> Пожалуйста, введите сообщение для "..sNick.." , которое он произнесет.")
    	else
        Core.SendToAll("<"..sNick.."> ".. sMsg)
        	Core.SendPmToOps(SetMan.GetString(24), "*** "..user.sNick.." сказал от ника "..sNick.." сообщение: \""..sMsg.."\"")
    	end 
    	return true
    else
    	Core.SendToUser(user,"<"..sBot.."> У Вас нет доступа к данной команде!")
        Core.SendPmToOps(SetMan.GetString(24), "*** "..user.sNick.." попытался сказать от ника "..sNick.." сообщение: \""..sMsg.."\", но у него ничего не вышло.")
    end
	return true
	end
	if cmd == "!sysay" then
	local _,_,sMsg = string.find(sData, "%b<>%s+%S+%s+(.*)")
    if tProfile[user.iProfile] == 1 or tVIP[user.sNick] == 1 then
    	if sMsg == "" then
        Core.SendToUser(user,"<"..sBot.."> Пожалуйста, введите само сообщени!")
        return true
    	else
        Core.SendToAll(sMsg)
        	Core.SendPmToOps(SetMan.GetString(24), "*** "..user.sNick.." сказал без ника сообщение: \""..sMsg.."\"")
    	end 
    	return true
    else
    	Core.SendToUser(user,"<"..sBot.."> У Вас нет доступа к данной команде!")
        Core.SendPmToOps(SetMan.GetString(24), "*** "..user.sNick.." попытался сказать без ника сообщение: \""..sMsg.."\", но у него ничего не вышло")

    end
	return true
	end
	if cmd == "!pm_say" then
	local _,_, to, from, say = string.find(sData, "%b<>%s+%S+%s+(%S*)%s*(%S*)%s*(.*)")
    if tProfile[user.iProfile] == 1 or tVIP[user.sNick] == 1 then
    	if say == "" then
        Core.SendToUser(user,"<"..sBot.."> Пожалуйста, введите само сообщени!")
        return true
    	else
        Core.SendPmToNick(to,from,say)
        	Core.SendPmToOps(SetMan.GetString(24), "*** "..user.sNick.." написал в PM от ника "..from.." для ника "..to.." сообщение: \""..say.."\"")
    	end 
    else
    	Core.SendToUser(user,"<"..sBot.."> У Вас нет доступа к данной команде!")
        Core.SendPmToOps(SetMan.GetString(24), "*** "..user.sNick.." попытался написать в PM от ника "..from.." для ника "..to.." сообщение: \""..say.."\", но у него ничего не вышло")
    end
	return true
	end
end

function UserConnected(user)
	if tProfile[user.iProfile] == 1 or tVIP[user.sNick] == 1 then
    Core.SendToUser(user,"$UserCommand 1 3 Опции модера\\SayScript\\Сказать от ника..$<%[mynick]> !say %[line:Введите ник] %[line:Введите текст]|")
    Core.SendToUser(user,"$UserCommand 1 3 Опции модера\\SayScript\\Сказать без ника..$<%[mynick]> !sysay %[line:Введите текст]|")
    Core.SendToUser(user,"$UserCommand 1 3 Опции модера\\SayScript\\Сказать от ника в PM..$<%[mynick]> !pm_say %[line:Кому] %[line:От кого] %[line:Введите текст сообщения]|")
	end
end
OpConnected = UserConnected
RegConnected = UserConnected