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

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

MyDC.ru _ Готовые скрипты для PtokaX _ HelpForProfiles

Автор: Unterlink(X-Sky) 12.1.2010, 18:41

Название скрипта: HelpForProfiles
Версия API: API2
Автор: alex82
Описание скрипта:
Всем доброго времени суток, хотелось бы выложить очередной скрипт, который был написан по моей просьбе.
Может он кому-то покажется бесполезным, но всё же.
В общем суть заключается в том, что по команде !help / +help выводится, написанный вами, список команд хаба.
У меня на хабе стоит множество скриптов, многие из них доступны к использованию юзерам, почему бы им не показать список всех команд big_smile.gif

Прикрепленный скрипт
sBot = SetMan.GetString(21)
tFiles = {
[0] = Core.GetPtokaXPath().."texts/master.txt", --Пишем путь хелпа для Master
[1] = Core.GetPtokaXPath().."texts/op.txt", --Пишем путь хелпа для OP
[2] = Core.GetPtokaXPath().."texts/vip.txt", --Пишем путь хелпа для VIP
[3] = Core.GetPtokaXPath().."texts/reg.txt", --Пишем путь хелпа для Reg
[-1] = Core.GetPtokaXPath().."texts/unreg.txt", --Пишем путь хелпа для Unreg
}

function OnStartup()
tMessage = {}
for i,v in pairs(tFiles) do
local f = io.open(v,"r")
if f then
tMessage[i] = f:read("*all")
f:close()
end
end
end

function ChatArrival(user,data)
if data:match("%b<>%s+[!%+]help|") and tMessage[user.iProfile] then
Core.SendToUser(user,"<"..sBot.."> "..tMessage[user.iProfile])
return true
end
end

function ToArrival(user,data)
local sTo, sFrom, sMsg = data:match"^%$To:%s(%S+)%sFrom:%s(%S+)%s%$%b<>(.*)|"
if sTo == sBot then
if data:match("%b<>%s+[!%+]help|") and tMessage[user.iProfile] then
Core.SendPmToUser(user,sBot,tMessage[user.iProfile])
return true
end
end
end

function UserConnected(tUser)
Core.SendToUser(tUser,"$UserCommand 1 3 Меню хаба\\Список команд хаба$<%[mynick]> !help||")
end
RegConnected,OpConnected=UserConnected,UserConnected


Сорри за спойлер, не могу прикреплять файлы.

Автор: Nickolya 12.1.2010, 21:28

Цитата(Unterlink(X-Sky) @ 12.1.2010, 18:41) *
Сорри за спойлер, не могу прикреплять файлы.

Тогда в конце этой строки
Код
Core.SendToUser(tUser,"$UserCommand 1 3 Меню хаба\\Список команд хаба$<%[mynick]> !help||")
не забудьте поменять хвост big_smile.gif

Автор: MIKHAIL 19.11.2011, 4:23

Оптимальным вариантом была бы возможность выводить не весь хелп за один раз, а частями. Например, по команде "!help" определённое кол-во строк хелпа – 10, а внизу (после самого хелпа) системное сообщение "Help: 1-10/20. Введите повторно команду !help для вывода оставшегося хелпа".

Или ещё лучший вариант вывода хелпа с указанием выборки. Например, всего строк хелпа 30. И вводя любой диапазон, например, с 5-ой строки командой "!help_5" будет выведен хелп в десять строк, начиная с 5-ой: "Help: 5-15/30. Введите повторно команду !help для вывода продолжения хелпа, или введите диапазон выборки".

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

Помогите, скриптеры, пожалуйста с реализацией. Ведь идею, взятую из AMX Mod X, считаю интересной и очень полезной,)