Say_script 1.03 - 1.031, API1 | Скрипт, позволяющий писать от любого имени |
Здравствуйте, гость ( Вход | Регистрация )
Say_script 1.03 - 1.031, API1 | Скрипт, позволяющий писать от любого имени |
18.5.2009, 17:53
Сообщение
#21
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
конвертер вам в помощь!
|
|
|
27.10.2009, 23:13
Сообщение
#22
|
|
[n00b] Группа: Пользователи Сообщений: 291 Регистрация: 10.7.2008 Из: Россия,Пенза Пользователь №: 168 Спасибо сказали: 24 раза |
А можно сделать так, чтобы писалось от ника (которого нет на хабе) но в чате появлялось как будто это оператор сказал (то есть чтобы ник был ОПского цвета,а не ботовидного )
|
|
|
12.12.2009, 21:02
Сообщение
#23
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 1 Регистрация: 19.11.2009 Пользователь №: 5 109 Спасибо сказали: 0 раз |
ААА , дайте конвертер!!плиз!!!:)
|
|
|
12.12.2009, 22:08
Сообщение
#24
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
|
|
|
13.12.2009, 12:08
Сообщение
#25
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
А можно сделать так, чтобы писалось от ника (которого нет на хабе) но в чате появлялось как будто это оператор сказал (то есть чтобы ник был ОПского цвета,а не ботовидного ) Если так охота, попробуй такую последовательность действий в скрипт добавить: - в Чат-арривале при получении команды отправки сообщения с какого-то простого (не опского) ника этот ник сначала проверяется на зарегенность, если да, то запоминается его профиль (вип или рег) и пароль (а для захвата пароля надо писать отдельную функцию чтения из таблицы профилей), после всего этого регистрация удаляется. - если нет - то следующий пункт. - этому нику даётся опский статус. - пишется от эт этого ника сообщение в чат. - аккаунт ника удаляется. - если ник раньше был зареген, то нику возвращается его аккаунт (профиль и пароль, запомненные ранее). Если ты готов последовательно написать всё вышеописанное в скрипте, то сможешь получить сомнительное удовольствие написать от чужого ника красного (или какой там у тебя опский цвет) цвета... Второй вариант - аналогично - зарегить нового бота с тем самым ником, написать от его ника сообщение и сделать унрег этого бота и присвоить боту пустой ник (если так позволительно), чтоб не накопилась куча ненужных ботоников (ну либо сразу унрег). Короче, придется огород городить...только надо ли оно? P.S. Всё это я написал только для забавы, чисто теоретически, возможно, кое-что может и не прокатить в реале, но проверять неохота, овчинка выделки не стоит. P.P.S. Написал ответ только сейчас, потому что раньше не попадалась эта тема в глаза. |
|
|
14.12.2009, 20:38
Сообщение
#26
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Не много чести - регать пользователя и удалять регу на каждой фразе? Через $OpList и $Quit лучше делать.
А можно сделать так, чтобы писалось от ника (которого нет на хабе) но в чате появлялось как будто это оператор сказал (то есть чтобы ник был ОПского цвета,а не ботовидного ) Накидал тут, пробуй: a_SayByHiddenOp.lua ( 1.05 килобайт ) Кол-во скачиваний: 24 Использование: !saybyop Реклама Ненавижу рекламу! PS: Если я правильно понял запрос. PPS: Вариант с учтённым предложением ниже: a_SayByHiddenOp.lua ( 1.1 килобайт ) Кол-во скачиваний: 22 Сообщение отредактировал Alexey - 16.12.2009, 1:18 |
|
|
15.12.2009, 9:18
Сообщение
#27
|
|
[n00b] Группа: Пользователи Сообщений: 291 Регистрация: 10.7.2008 Из: Россия,Пенза Пользователь №: 168 Спасибо сказали: 24 раза |
Благодарю. Проверил-пашет как надо. Только цвет фразы-ботовидного увета. ну это уже, как я понимаю,завсит от клиента. Спасибо.
|
|
|
15.12.2009, 13:07
Сообщение
#28
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Только цвет фразы-ботовидного увета. ну это уже, как я понимаю,завсит от клиента. Попробуйте дополнить скрипт отправкой еще и майинфо, перед Код Core.SendToAll("$OpList "..sWho) припишитеКод Core.SendToAll("$MyINFO $ALL "..sWho.." no<SomeDC++ V:(r21),M:A,H:1/0/1,S:10>$ $ $no@mail$255008881124$") тут я не стал вписывать соединение юзера, там идет магический байт, который тут вряд ли отобразиться, если хотите - допишите сами, можно выдрать его из CMD-отладчика в дц, по аналогии с отправляемыми MyINFO. |
|
|
19.5.2010, 14:14
Сообщение
#29
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 3 Регистрация: 21.1.2009 Пользователь №: 1 900 Спасибо сказали: 0 раз |
апи1. функции: сказать от любого ника, сказать от выделенного ника, сказать без ника перевел под апи2 но чета не ворк Цитата [15:21] Нет синтаксических ошибок в файле скрипта Сказать_newapi.lua
[15:21] Синтаксис C:\Ptokax 4.1.1\scripts\Сказать_newapi.lua:6: bad argument #1 to 'pairs' (table expected, got no value) [15:21] Скрипт запущен.
Прикрепленные файлы
|
|
|
19.5.2010, 14:33
Сообщение
#30
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Пишите сами, это же такое плёвое дело...
Вот вам команды для этого: Код Core.SendToAll("<"..Ник.."> Ваше сообщение.") А получить Ник и Сообщение можно отправкой из меню и далее через захват в ChatArrival(): sCmd - (команды), sNick и sMsg - (сообщения), потом их поместить в вышепоказанную строку через конкатенации. Как Ник можно использовать любой, вплоть до ника Бота, можно и вовсе не писать этот ник, будет сообщение без автора. Просто внимательнее изучите любой чужой скрипт, можно даже два. И у вас все получится. |
|
|
20.5.2010, 16:34
Сообщение
#31
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
DemoNX260, Рабочий http://mydc.ru/topic2342.html?view=findpost&p=19748
|
|
|
3.12.2010, 20:11
Сообщение
#32
|
|
Начинающий Группа: Пользователи Сообщений: 25 Регистрация: 27.11.2009 Пользователь №: 5 183 Спасибо сказали: 1 раз |
Помогите разобрать скрипт кто разбирается в луа. Я знаю php, но на php синтаксис lua не похож вообще...
Код 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.sName] == 1 then if sNick == "" then user:SendData(sBot, "Пожалуйста, введите ник, от которого будет послано сообщение") elseif sMsg == "" then user:SendData(sBot, "Пожалуйста, введите сообщение для "..sNick.." , которое он произнесет.") else SendToAll(sNick, sMsg) SendPmToOps(frmHub:GetOpChatName(), "*** "..user.sName.." сказал от ника "..sNick.." сообщение: \""..sMsg.."\"") end return 1 else user:SendData(sBot, "У Вас нет доступа к данной команде!") SendPmToOps(frmHub:GetOpChatName(), "*** "..user.sName.." попытался сказать от ника "..sNick.." сообщение: \""..sMsg.."\", но у него ничего не вышло.") end return 1 end Нужно чтобы перед отправкой текста в общий чат формата: Цитата <Ник> Сообщение| спереди и сздади добавлялись строки: Цитата $MyINFO $ALL [Ник] [Описание][Тэг]$ $[Соедиенние][Флаг]$[E-Mail]$[Шара]$| <Ник> Сообщение| $Quit [Ник]| если пользователя, от чьего имени пишется сообщение - нет на хабе. А если есть, чтобы просто отправлялось Цитата <Ник> Сообщение| Если ник, от которого пишут - оператор и его нет на хабе, должно ещё прибавляться: Цитата $OpList [ОПератор1]$$| Вообще не знаю функций, помогите сделать Ещё насколько я понимаю это регулярка Код string.find(sData, "%b<>%s+%S*%s*(%S*)%s*(.*)") Её использование как бы вобще неприемлемо... Помогите сделать через explode чтоли |
|
|
7.12.2010, 0:24
Сообщение
#33
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
nail, в луа порой можно обойтись без фишек пхп, так что смотря для каких целей тебе регулярка...
Этот скрипт вообще для баловства выложен, как-то мы пробовали делать подобные извращения, пришлось прикручивать таймеры чтобы добиться нормального отображения ника в чате (как у оператора), так что просто отправить команды протокола до сообщения не достаточно (это уже такая обработка у клиентов, что странно конечно). P.S.: вряд ли стоит просить подобное, обсуждение почему находится выше. |
|
|
7.12.2010, 22:55
Сообщение
#34
|
|
Начинающий Группа: Пользователи Сообщений: 25 Регистрация: 27.11.2009 Пользователь №: 5 183 Спасибо сказали: 1 раз |
Не понял ход ваших мыслей, зачем таймеры? По протоколу же всё просто - если есть пользователь на хабе - отсылаем простое сообщение и оно отображается нормально. Если нет - то дописываем спереди ещё MyINFO xxxx| - пользователь пришёл, потом сразу сообщение от его ника и потом Quit name - пользователь ушёл. Ничего мудрить не нужно.
explode - разбивает строку на массив по заданному символу (например пробел - тогда в массиве каждый элемент будет содержать по слову) Регулярные выражения в пшп вообще почти не используются.. в общем то только школьники их используют. Т.ч. не сказал бы что это фишка пшп, в луа тоже должна быть, если есть регулярки... Ну или на крайняк можно через цикл перебирать байты пока не встретится пробел. Я просто не знаю и не выходит понять синтаксис lua. А определять есть ли пользователь на хабе вообще не знаю как, не понимаю как устроено. Список лежит в глобальной переменой или есть функция выдающая параметры пользователя на хабе по нику?... Поможете написать? или м.б. подскажете где lua прогеры водятся? |
|
|
8.12.2010, 1:23
Сообщение
#35
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Цитата Не понял ход ваших мыслей, зачем таймеры? По протоколу же всё просто - если есть пользователь на хабе - отсылаем простое сообщение и оно отображается нормально. Если нет - то дописываем спереди ещё MyINFO xxxx| - пользователь пришёл, потом сразу сообщение от его ника и потом Quit name - пользователь ушёл. Ничего мудрить не нужно. Хм, я же вроде расписал, что подобный код работать не будет, по протоколу всё просто, а на деле всё не так просто, как оказывается, если хватит терпения сделать - попробуйте и убедитесь.Про регулярку, вы так и не сказали, зачем она... Но если ей захватывать слово после команды и остальные данные за этим словом, то всё нормально, регулярки в луа вполне быстро работают, используйте их смело Почитать можно тут: Несколько Слов О Захватах И Регулярных Выражениях, исключительно для разработчиков Цитата А определять есть ли пользователь на хабе вообще не знаю как, не понимаю как устроено. Список лежит в глобальной переменой или есть функция выдающая параметры пользователя на хабе по нику?... есть функции, они описаны в API, почитать можно здесь: Функции ===> Читаем, Дабы Не Задавать Вопросов <===, Скрипт-интерфейс PtokaX Lua. ВСЕ СКРИПТОВЫЕ ФУНКЦИИ PtokaX API и в папке scripting.docs в самой птоке. Вам нужна функция Core.GetUser(sNick)Про поможете написать я тоже вроде сказал, для масс подобный скрипт порой опасен, поэтому не поддерживается и не дорабатывается. Луа прогеры бывают еще на |
|
|
29.12.2017, 13:03
Сообщение
#36
|
|
Активный участник Группа: Пользователи Сообщений: 50 Регистрация: 9.2.2012 Из: СОВЕТСКИЙ СОЮЗ Пользователь №: 10 273 Спасибо сказали: 21 раз |
Ksan, помоги с этим
.lua:24: attempt to index global 'frmHub' (a nil value) http://mydc.ru/topic508.html?hl=say_script |
|
|
29.12.2017, 14:41
Сообщение
#37
|
|
Активный участник Группа: Пользователи Сообщений: 69 Регистрация: 14.9.2009 Пользователь №: 4 440 Спасибо сказали: 19 раз |
Ksan, помоги с этим .lua:24: attempt to index global 'frmHub' (a nil value) http://mydc.ru/topic508.html?hl=say_script API1 тамЮ тебе под API2 надо.. Тут есть на форуме конвертер, скачай его и переведи им в API2 |
|
|
29.12.2017, 14:57
Сообщение
#38
|
|
Активный участник Группа: Пользователи Сообщений: 50 Регистрация: 9.2.2012 Из: СОВЕТСКИЙ СОЮЗ Пользователь №: 10 273 Спасибо сказали: 21 раз |
API1 тамЮ тебе под API2 надо.. Тут есть на форуме конвертер, скачай его и переведи им в API2 Да Бог тебе здоровья, ты очень полезный на этом умирающем форуме, благодаря вам двум он еще живет |
|
|
30.12.2017, 15:49
Сообщение
#39
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Ksan, помоги с этим Сорри, не сразу попал на форум (заглядываю редко), и уже вам ответили.. От себя могу только добавить - там в теме в комментах есть версия и под API 2, ну разве что не будет выдачи сообщений от чужого ника.. Но это и хорошо, ни к чему оно.. |
|
|
31.12.2017, 5:09
Сообщение
#40
|
|
Активный участник Группа: Пользователи Сообщений: 50 Регистрация: 9.2.2012 Из: СОВЕТСКИЙ СОЮЗ Пользователь №: 10 273 Спасибо сказали: 21 раз |
Сорри, не сразу попал на форум (заглядываю редко), и уже вам ответили.. От себя могу только добавить - там в теме в комментах есть версия и под API 2, ну разве что не будет выдачи сообщений от чужого ника.. Но это и хорошо, ни к чему оно.. да |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
От: Say_script 1.03 - 1.031 От темы с ID: 508 |
0 | Voyajer | 4 300 | 27.2.2009, 23:22 Посл. сообщение: Voyajer |
|
Сейчас: 23.11.2024, 0:22 |