myDC.ru

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

 
 
Ответить в данную темуНачать новую тему

> HelpForProfiles, API2 | Списки команд хаба для разных профилей

Теги
Нет тегов для показа
X-Sky
сообщение 12.1.2010, 18:41
Сообщение #1


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

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




Название скрипта: 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


Сорри за спойлер, не могу прикреплять файлы.
Go to the top of the page
+Quote Post
Nickolya
сообщение 12.1.2010, 21:28
Сообщение #2


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




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

Тогда в конце этой строки
Код
Core.SendToUser(tUser,"$UserCommand 1 3 Меню хаба\\Список команд хаба$<%[mynick]> !help||")
не забудьте поменять хвост big_smile.gif
Go to the top of the page
+Quote Post
MIKHAIL
сообщение 19.11.2011, 4:23
Сообщение #3


KEEP CLEAR AT ALL TIMES
****

Группа: Пользователи
Сообщений: 141
Регистрация: 4.9.2011
Из: Беларусь, Минск
Пользователь №: 9 667
Спасибо сказали: 3 раза




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

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

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

Помогите, скриптеры, пожалуйста с реализацией. Ведь идею, взятую из AMX Mod X, считаю интересной и очень полезной,)
Go to the top of the page
+Quote Post

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

 



RSS Сейчас: 29.3.2024, 11:00