myDC.ru

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

 
2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему

> меню

Теги
Нет тегов для показа
Saymon21
сообщение 8.2.2010, 2:35
Сообщение #1


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Видел на хабе озерки такое меню захотел к себе прикрутить. Скажите пожалуйста как сделать его.

пример
Меню хаба\\Информация для "..user.sNick.."\\Прислать меню
Нажимаешь - приходит сообщение "Меню было выслано"
И потом без переподключения на хаб уже это меню
Меню хаба\\Информация для "..user.sNick.."\\Партнёры
Меню хаба\\Информация для "..user.sNick.."\\FAQ
И тд..
Go to the top of the page
+Quote Post
evg
сообщение 8.2.2010, 6:56
Сообщение #2


Участник
**

Группа: Пользователи
Сообщений: 33
Регистрация: 18.8.2008
Пользователь №: 397
Спасибо сказали: 13 раз




поидее при нажатии на "Прислать меню" выполняется команда
Цитата
Core.SendToNick(user.sNick, "$UserCommand 1 3 Меню хаба\\Информация для "..user.sNick.."\\Партнёры"||"))
и так далее.
За правильность не отвечаю, не проверял


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 8.2.2010, 12:43
Сообщение #3


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Да. Всё верно именно так и сделано. Очень грамотно сделано - отсылка меню по востребованию, а не каждый раз при входе.
Go to the top of the page
+Quote Post
Saymon21
сообщение 8.2.2010, 13:19
Сообщение #4


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Попробовал не получилось shame.gif
Парни обьясните плиз как к этому прикрутить
Раскрывающийся текст
Код
sBot = SetMan.GetString(21)
HubName = SetMan.GetString(0)
tProfile = {
[-1] = 1, [0] = 1, [1] = 1, [2] = 1, [3] = 1, [4] = 1,
}

function UserConnected(user)
    Core.GetUserAllData(user)
    if tProfile[user.iProfile] == 1 then
          Core.SendToNick(user.sNick,"$UserCommand 0 3|")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\Поддержи наш проект\\Спонсоры$<%[mynick]> !спонсоры||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\Поддержи наш проект\\Реквизиты$<%[mynick]> !реквизиты||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\Администрация хаба$<%[mynick]> !admins||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\Благодарности юзерам$<%[mynick]> !благодарности||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\О хабе$<%[mynick]> !хабинфо||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\Сообщение от хаба$<%[mynick]> !meshub||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\Правая оговорка$<%[mynick]> !pog||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\Правила хаба$<%[mynick]> !правила||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\История чата хаба$<%[mynick]> !weblog||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\Статистика хаба$<%[mynick]> !webstat||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\"..HubName.."\\Сайт хаба$<%[mynick]> !сайт хаба||")
          Core.SendToNick(user.sNick,"$UserCommand 1 3 Информация для "..user.sNick.."\\Партнёры / Друзья$<%[mynick]> !партнёры||")
    end
end
OpConnected = UserConnected
RegConnected = UserConnected
Go to the top of the page
+Quote Post
Nickolya
сообщение 8.2.2010, 13:42
Сообщение #5


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

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




1. Прикладывайте код в виде файла, так он не искажается
2. Я так понимаю меню удаляется и отправлется новое, подумайте над этим
3. Банальное логическое задание
4. Нужен обработчик команды отсылки меню
5. И простая функция работающая по получению команды от юзеру, аналогичная отправке меню при входе
6. Все просто, попробуйте сами сделать, давно уже в этом деле, надо лишь подумать как сделать
Go to the top of the page
+Quote Post
Saymon21
сообщение 8.2.2010, 16:12
Сообщение #6


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Nickolya, Не ругайся big_smile.gif

Повозился и вот что вышло Прикрепленный файл  menu.lua ( 7.18 килобайт ) Кол-во скачиваний: 41

Вроде как работает big_smile.gif
К сожелению в каждом из нас есть такая зараза - лень.
Go to the top of the page
+Quote Post
Артём
сообщение 8.2.2010, 16:37
Сообщение #7


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 773 раза




Saymon всё бы хорошо, но если ещё пару раз отослать менюшку то получается матрёшка, а нужно чтоб только один раз отсылало, а во второй раз "Вы уже получили меню"
Go to the top of the page
+Quote Post
Saymon21
сообщение 8.2.2010, 16:45
Сообщение #8


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




оу.. а вот с этим... я честно говоря не знаю beat_plaster.gif shame.gif
С матрёшкой ты к сожелению прав. Не заметил но после нескольких отсылок белеберда
Раскрывающийся текст
Прикрепленный файл  0.jpg ( 147.7 килобайт ) Кол-во скачиваний: 153

Вот как бы теперь сделать чтобы нельзя было несколько раз тыкать или на последующие разы выходило типа "Ошибка, Меню уже было вам выслано."
Что бы снова можно было воспользоватся командой получить меню нужно переподключится на хаб.
И странно заметил что меню то высылается то нет.
Go to the top of the page
+Quote Post
ustas
сообщение 8.2.2010, 20:24
Сообщение #9


Продвинутый участник
****

Группа: Пользователи
Сообщений: 177
Регистрация: 20.5.2008
Пользователь №: 5
Спасибо сказали: 26 раз




пробуй
Прикрепленный файл  tset1.lua ( 6.02 килобайт ) Кол-во скачиваний: 30


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 8.2.2010, 20:36
Сообщение #10


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Спасибо но это тоже самое что и пару постами выше.

Код
Core.SendToUser(user, "<"..sBot.."> Меню уже было отправлено.")
это сообщение не выводится
И меню несколько раз отправляется big_smile.gif
Go to the top of the page
+Quote Post
Wariner
сообщение 8.2.2010, 22:01
Сообщение #11


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




ещё одна мазня на пробу)))
Прикрепленные файлы
Прикрепленный файл  menu.lua ( 6.01 килобайт ) Кол-во скачиваний: 32
 
Go to the top of the page
+Quote Post
Saymon21
сообщение 8.2.2010, 22:24
Сообщение #12


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Wariner
на птоке 0412 ошибка big_smile.gif
[22:21] Синтаксис C:\SERVER\trance\scripts\menu.lua:12: attempt to index global 'user' (a nil value)
Go to the top of the page
+Quote Post
prapor
сообщение 8.2.2010, 23:47
Сообщение #13


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.10.2008
Из: Москва
Пользователь №: 736
Спасибо сказали: 6 раз




Цитата(Saymon @ 8.2.2010, 22:24) *
Wariner
на птоке 0412 ошибка big_smile.gif
[22:21] Синтаксис C:\SERVER\trance\scripts\menu.lua:12: attempt to index global 'user' (a nil value)

Исправь все строчки с user.sNick на tUser.sNick
Go to the top of the page
+Quote Post
Saymon21
сообщение 9.2.2010, 0:15
Сообщение #14


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Это я изначально пробовалbig_smile.gif
[00:15] Синтаксис C:\SERVER\trance\scripts\menu.lua:12: attempt to index global 'tUser' (a nil value)
Go to the top of the page
+Quote Post
prapor
сообщение 9.2.2010, 0:43
Сообщение #15


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.10.2008
Из: Москва
Пользователь №: 736
Спасибо сказали: 6 раз




Я убрал tUser.sNick из меню, скрипт заработал, меню присылается, но после переподключения к хабу меню не присылается, пишет мол уже выслано)

думаю к нему нужно прикрепить функцию OnExit
Go to the top of the page
+Quote Post
Saymon21
сообщение 9.2.2010, 0:47
Сообщение #16


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Странно, я сразу изменил и ошибка!
Go to the top of the page
+Quote Post
Wariner
сообщение 9.2.2010, 9:41
Сообщение #17


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




дубль два
Прикрепленные файлы
Прикрепленный файл  menu.lua ( 5.89 килобайт ) Кол-во скачиваний: 22
 
Go to the top of the page
+Quote Post
Артём
сообщение 9.2.2010, 12:35
Сообщение #18


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 773 раза




и второй дубль не удачный big_smile1.gif , команду в чат пропускает, а ошибок нет. big_smile.gif
Go to the top of the page
+Quote Post
Nickolya
сообщение 9.2.2010, 12:54
Сообщение #19


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

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




1. Спецсимволы в регулярках надо экранировать:
Код
    local sCmd = sData:match"^%b<>%s+[!+-/*](%S+)"
потом действие
Код
    local sData = sData:sub(1,-2)
немного лишнее если все учесть в регулярке, а вообще надо бы написать проще:
Код
function ChatArrival(tUser, sData)
    local sCmd = sData:match"^%b<>%s+%p(%S+).*|"
    if sCmd == "usermenu" then

Мое замечание о команде удаления меню было проигнорировано, а зряbig_smile.gif
На сколько я помню это команда
Код
$UserCommand 255 15

Единственное, это снесет все меню, но на озерках это грамотно учтено т.к. меню не разбросано по скриптам а все в 1 боте big_smile.gif
Можно попробовать указать меню как аргумент, но не знаю получится ли, протестируйте, потом отпишите как, к примеру
Код
$UserCommand 255 15 Информация для "..tUser.sNick.."\\$|"
или
Код
$UserCommand 255 15 Информация для "..tUser.sNick.."$|"


Спасибо сказали:
Go to the top of the page
+Quote Post
Wariner
сообщение 9.2.2010, 21:28
Сообщение #20


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




насчёт регулярок, просто когда на скорую руку пишешь не углубляешься так))))
а по поводу команды очистки так это надо все скрипты перерывать.....

не знаю почему у вас не работает... у меня всё пашет. подправил вывод ника в меню и проверил работу. двигайте в списке скриптов)))
Прикрепленные файлы
Прикрепленный файл  menu.lua ( 5.77 килобайт ) Кол-во скачиваний: 90
 


Спасибо сказали:
Go to the top of the page
+Quote Post

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

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Меню на хабе Ptoka 0.5.0.0
Свое меню с вызовом функций
4 daslex 8 262 17.11.2013, 15:05 Посл. сообщение: daslex
Closed Topic has attachmentsАдмин меню
Админ меню под API2 для PtokaX 0.4.2.0
8 Strannik 11 996 24.3.2012, 14:36 Посл. сообщение: Strannik
No New Posts Скрипт для открытия сайта через меню хаба.
6 digor22 10 356 31.8.2011, 11:55 Посл. сообщение: Setuper
No New Posts контекстное меню для АДМИНА
12 drkrol 13 295 11.8.2011, 21:29 Посл. сообщение: dimajak
No new Topic has attachmentsМеню По Текстовым Файлам (readercommands_1.0c Русская Версия)
API2 | Скрипт автоматического создания меню по текстовым файлам
17 dimetrius 24 060 2.1.2011, 18:49 Посл. сообщение: mariner
No New Posts Хуббабот и другие меню
Хуббабот и другие меню
1 Ameet 5 303 19.12.2010, 22:56 Посл. сообщение: ustas
No New Posts Topic has attachmentsпомогите сделать меню
9 goncharov08 12 128 12.10.2010, 19:22 Посл. сообщение: Saymon21
No New Posts Полоса в меню
3 random name 6 923 23.8.2010, 12:47 Посл. сообщение: Nickolya
Closed меню
меню
1 Alkonaft 5 313 17.6.2010, 12:15 Посл. сообщение: Accelerator
No new Topic has attachmentsКак сделать меню хаба?
Помогите!Как сделать меню хаба?
23 skorpion97 28 083 12.5.2010, 19:31 Посл. сообщение: Wariner
No New Posts Topic has attachmentsНужен скрипт для Ptokax называется "ваше меню"
В скрипте есть помощь, регистрация, профиль, живопись
6 _brat_ 12 115 2.5.2010, 11:31 Посл. сообщение: _brat_
No New Posts От: Как сделать меню хаба?
От темы с ID: 3284
8 (Steep)_(Boss) 12 123 30.3.2010, 23:55 Посл. сообщение: Saymon21
No New Posts Topic has attachmentsСкрипт меню администрации
Менюшка админов для отдельной группы (API2)
7 M1cr0 11 797 11.3.2010, 23:39 Посл. сообщение: M1cr0
No New Posts Меню Выкинуть юзера
Как его убрать ?
3 Andrey_SHANDERA 7 209 18.2.2010, 17:10 Посл. сообщение: Saymon21
No New Posts Меню ботов на Хабе
Как добавить ботов по меню в Хабе?
4 Marc 8 334 28.1.2010, 10:59 Посл. сообщение: Wariner

 



RSS Сейчас: 29.3.2024, 8:14