Скрипт Действий, API1, API2 | Сообщения от 3его лица в чат |
Здравствуйте, гость ( Вход | Регистрация )
Скрипт Действий, API1, API2 | Сообщения от 3его лица в чат |
21.6.2008, 15:16
Сообщение
#61
|
|
Освоившийся участник Группа: Пользователи Сообщений: 280 Регистрация: 4.6.2008 Из: Россия Пользователь №: 10 Спасибо сказали: 42 раза |
Вот выложу скрипт Действий для PtokaX 0.3.6.0 и для PtokaX 0.4.0.0 и выше.
Прикрепленные файлы
действия.lua ( 4.42 килобайт )
Кол-во скачиваний: 691
Actions_newapi.lua ( 44.74 килобайт ) Кол-во скачиваний: 1263 |
|
|
3.7.2010, 20:51
Сообщение
#62
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 6 Регистрация: 21.8.2008 Пользователь №: 403 Спасибо сказали: 0 раз |
Доброго времени суток.
Как бы мне сделать чтобы некоторые фразы выводились общем чате, но исключительно для пользователя? Т.е. чтоб команда Core.SendToNick(user.sNick,"$UserCommand 1 2 Действия\\Приветствие\\Привет$<%[mynick]> +me Привет! %[nick]|") вывела "Привет" в общем чате только для пользователя, выбравшего команду. |
|
|
3.7.2010, 21:19
Сообщение
#63
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
был на форуме где-то такой скрипт, автор Sephiroth_Lukaw
P.S Ошибся, у него скрипт http://mydc.ru/topic848.html?hl=Sephiroth_Lukaw не так как ты хочешь делает |
|
|
3.7.2010, 22:00
Сообщение
#64
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
В скрипте Actions_lx2.lua из 47 поста этой темы достаточно заменить строку
Цитата Core.SendToAll(tActions[sCmd][1]..tUser.sNick.." "..sMsg..tActions[sCmd][2]) на Цитата Core.SendToUser(tUser, tActions[sCmd][1]..tUser.sNick.." "..sMsg..tActions[sCmd][2])
|
|
|
4.9.2010, 17:24
Сообщение
#65
|
|
Начинающий Группа: Пользователи Сообщений: 28 Регистрация: 23.3.2010 Из: Пенза Пользователь №: 6 428 Спасибо сказали: 22 раза |
Будет такой вопрос по этому скрипту и по меню вообще.
Имеет ли смысл посылать пункты меню не по нескольку раз Код Core.SendToNick(tUser.sNick,"$UserCommand 1 2 бла-бла-бла #124;") А единожды?Core.SendToNick(tUser.sNick,"$UserCommand 1 2 бла-бла-бла #124;") Core.SendToNick(tUser.sNick,"$UserCommand 1 2 бла-бла-бла #124;") Код Core.SendToNick(tUser.sNick,"$UserCommand 1 2 бла-бла-бла #124;|".. Или никакой разницы в производительности от этого нет? Всё-таки меню огромное.
"$UserCommand 1 2 бла-бла-бла #124;|".. "$UserCommand 1 2 бла-бла-бла #124;") |
|
|
4.9.2010, 18:23
Сообщение
#66
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Естественно разница большая, лучше соединять меню вообще при старте скрипта, очищать память и юзеру отправлять уже готовую строку, в ней, если надо, можно сделать шаблоны для замены через gsub, тогда это максимально оптимизирует скрипт. Если вы собираете строку по маленьким кусам - это плохо, многоразовый вызов одной функции - тоже не ахти. Да и лучше использовать
Код Core.SendToUser(tUser вместо Код Core.SendToNick(tUser.sNick Это тоже некого рода оптимизация скрипта.Т.е. лучший для вас вариант такой Код -- при старте А еще лучше сделать отправку меню по запросу или через некоторое время после захода пользователя, это дает некую разгрузку и клиенту юзера и хабу.
sMenu = "$UserCommand 1 2 бла-бла-бла #124;|".. "$UserCommand 1 2 бла-бла-бла #124;|".. "$UserCommand 1 2 бла-бла-бла #124;" -- при заходе клиента Core.SendToUser(tUser, sMenu) |
|
|
5.9.2010, 3:42
Сообщение
#67
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Да и лучше использовать Нику посылается быстрее, проверено.Код Core.SendToUser(tUser вместо Код Core.SendToNick(tUser.sNick Это тоже некого рода оптимизация скрипта.Год назад в этой теме выкладывал исправленный скрипт, но кактус такой вкусный... |
|
|
5.9.2010, 9:44
Сообщение
#68
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Ага, как оказалось в птохе отсылка нику происходит быстрее, чем отсылка юзеру, хотя это и не логично с точки зрения здравого смысла, так как по идее отсылка пользователю должна происходить мгновенно, а отсылка нику должна происходить через поиск на хабе пользователя по нику и дальнейшую отсылку найденному пользователю.
Однако в птохе отсылка пользователю сопровождается также поиском ника этого пользователя, то есть делается проверка того, что пользователь с таким ником действительно существует (кроме этого есть ещё рад проверок). Проверка ника конечно нужная, но её можно было сделать и без поиска ника, а использовать некий скрытый флаг во внутренней структуре пользователя (отсутствие флага говорило бы о некорректности пользователя) и, таким образом, можно было бы сделать отсылку пользователю мгновенной, какой по идее она и должны быть. К сожалению в птохе это не продумано, как и не продумано заполнение полей таблицы пользователя, вместо которого следовало бы использовать метатаблицу. |
|
|
13.9.2010, 14:51
Сообщение
#69
|
|
Участник Группа: Пользователи Сообщений: 40 Регистрация: 11.9.2010 Пользователь №: 7 677 Спасибо сказали: 0 раз |
|
|
|
13.9.2010, 14:56
Сообщение
#70
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
А ты скрипт открой. Блин, когда научитесь самые простые проблемы решать самостоятельно??!!!!
|
|
|
13.9.2010, 15:33
Сообщение
#71
|
|
Участник Группа: Пользователи Сообщений: 40 Регистрация: 11.9.2010 Пользователь №: 7 677 Спасибо сказали: 0 раз |
да я нуб в этом.. я тока вчера узнал про Notepad++, а хабом вторую неделю занимаюсь...
|
|
|
13.9.2010, 15:35
Сообщение
#72
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Код if cmd == "!экшн" then
Core.SendToAll("## "..tUser.sNick.." "..S1.." ##") return true end |
|
|
13.9.2010, 15:37
Сообщение
#73
|
|
Участник Группа: Пользователи Сообщений: 40 Регистрация: 11.9.2010 Пользователь №: 7 677 Спасибо сказали: 0 раз |
|
|
|
13.9.2010, 15:39
Сообщение
#74
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Найди то, что я тебе привёл выше. И в
Код Core.SendToAll("## "..tUser.sNick.." "..S1.." ##") убери
|
|
|
13.9.2010, 15:43
Сообщение
#75
|
|
Участник Группа: Пользователи Сообщений: 40 Регистрация: 11.9.2010 Пользователь №: 7 677 Спасибо сказали: 0 раз |
уберать всю строку или только #?
Всё, разобрался уже.. спс! Сообщение отредактировал Saymon - 13.9.2010, 15:49
Причина редактирования: Не надо лишних цитат! Для обращения к конкретному пользователю форума существует кнопка "Вставить ник".
|
|
|
13.9.2010, 15:49
Сообщение
#76
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
ну если тебе убрать # то....
|
|
|
13.9.2010, 16:03
Сообщение
#77
|
|
Участник Группа: Пользователи Сообщений: 40 Регистрация: 11.9.2010 Пользователь №: 7 677 Спасибо сказали: 0 раз |
Saymon, убрал # , всё работает ок! спс!
|
|
|
Похожие темы
|
Сейчас: 27.11.2024, 2:19 |