Версия для печати темы
MyDC.ru _ Готовые скрипты для PtokaX _ Trans
Автор: Артём 28.10.2008, 11:37
Название скрипта: Trans
Версия API: 1 & 2
Автор: c00Lo ©
Описание скрипта: Скрипт автоматически меняет "абракадабру" с ghbdtn на привет ... если вы писали русский текст в англ. раскладке, скрипт автоматически сменит на русский
Цитата
[10:21:56] «« <Артём> наверно хотел(а) написать»»: привет как дела
[10:21:56] <Артём> ghbdtn rfr ltkf
API 1
trans.lua ( 3.55 килобайт )
: 25API 2
trans_newapi.lua ( 3.68 килобайт )
: 117
Автор: FallenAngel 28.10.2008, 13:37
хм..там вроде готовые уже слова есть...у меня где то лежал-чтото никак не найду-так он сразу переключает раскладку-и уже в чате пишется нормальные слова...только жалко-что он ники может коверкать :(....
Автор: Setuper 28.10.2008, 13:44
Лучше бы сделал командой. Например, пользователь отправил в чат какую то фразу не в той раскладке, скрипт её сохранил и пользователю достаточно отправить какую-нибудь команду, например для крактоски, !r и скрипт отправит это сообщение повторно, но уже транслированное в нормальную раскладку.
Автор: Артём 28.10.2008, 19:42
Цитата(Setuper @ 28.10.2008, 13:44)
Лучше бы сделал командой. Например, пользователь отправил в чат какую то фразу не в той раскладке, скрипт её сохранил и пользователю достаточно отправить какую-нибудь команду, например для крактоски, !r и скрипт отправит это сообщение повторно, но уже транслированное в нормальную раскладку.
Срадостью сделалбы,НО! не знаю как,я и так как мог так и переделал,а то Орегинал ФЛУД не реальный выдавал в чат
Автор: Артём 8.11.2008, 3:36
API 1....
Переводчик.lua ( 4.93 килобайт )
: 52
API 2
Переводчик_newapi.lua ( 5.26 килобайт )
: 194
Автор: Setuper 8.11.2008, 11:46
Я ничего не просил, дабы сам могу это сделать. Я просто указывал как будет лучше.
Автор: Артём 8.11.2008, 12:10
Цитата(Setuper @ 8.11.2008, 12:46)
Я ничего не просил, дабы сам могу это сделать. Я просто указывал как будет лучше.
Автор: Vizunchik 23.11.2008, 18:13
Цитата(Артём @ 8.11.2008, 5:36)
И вот я решил переконвектировать под API 2 может комуто захочется .....
Переводчик_newapi.lua ( 5.26 килобайт )
: 194выдает ошибку \0.4.1.1\scripts\Переводчик_newapi.lua:58: attempt to call global 'NewUserConnected' (a nil value)
Автор: Wariner 23.11.2008, 19:05
исправь NewUserConnected на UserConnected
Автор: rterty 1.7.2009, 11:58
Хм... всегда обходился: ctrl+стрелка_вверх и alt+r
Автор: 1882806 26.8.2009, 8:27
хм...спасибо за инфу..так действительно удобней..чем со скриптом мудрить..
Автор: Setuper 26.8.2009, 12:41
Кстати говоря, комбинации клавиш ctrl+стрелка_вверх и alt+r работают далеко не на всех клиентах, поэтому иметь скрипт трансляции на самом деле удобно.
Автор: MIXER 7.12.2009, 17:24
[17:21] Синтаксис C:\DC\PtokaX\scripts\trans_newapi.lua:122: invalid pattern capture
че делать?
Автор: Uncle_Dif 8.12.2009, 17:59
Цитата(MIXER @ 7.12.2009, 17:24)
че делать?
ctrl+стрелка_вверх и alt+r
Автор: MIXER 9.12.2009, 4:59
Цитата(Uncle_Dif @ 8.12.2009, 17:59)
ctrl+стрелка_вверх и alt+r
У меня обычный ApexDC++ последней версии, я так полагаю следующий твой совет будет поставить какой нибудь "ФлайЛинк ДЦ" ?
Автор: Артём 9.12.2009, 15:31
Цитата(MIXER @ 7.12.2009, 16:24)
[17:21] Синтаксис C:\DC\PtokaX\scripts\trans_newapi.lua:122: invalid pattern capture
Откуда у тебя 122 строчка? В скрипте всего 104 строки
Автор: MIXER 9.12.2009, 16:09
Цитата(Артём @ 9.12.2009, 15:31)
Откуда у тебя 122 строчка? В скрипте всего 104 строки
Я надеюсь это шутка была ?)
Цитата(Артём @ 8.11.2008, 3:36)
API 1....
Переводчик.lua ( 4.93 килобайт )
: 52 API 2
Переводчик_newapi.lua ( 5.26 килобайт )
: 1945-ое сообщение этого топика.
Автор: Артём 9.12.2009, 16:40
MIXER
открой скрипт trans_newapi.lua Notepad 'ом и посмотри что там и близко не может быть ошибка trans_newapi.lua:122 ( тобишь в 122 строчке ) , если конечно ты не добавлял туда что-то.
Автор: whuru 10.1.2010, 19:52
Как сделать, чтобы скрипт на winamp не реагировал?
Автор: ЕВГЕНЧИК 13.1.2010, 22:49
Скрипт абалденный, у нас на хабе частенько с этим запарка была, теперь всё ничтяк, все благодарны за него! Спасибо огромное!
Автор: ART8150 23.1.2010, 0:35
Чета я не пойму как он работает установи его и чета я пойму как он работает как проверит что он работает расскажите
Автор: Артём 23.1.2010, 1:12
ART8150
Напиши .... ghbdtn rfr ltkf? z ye, )))) и увидешь)))
Автор: brauzer84 23.1.2010, 9:33
Птока выдаёт ошибку - 0.4.1.1\scripts\Perevod_newapi.lua:58: attempt to call global 'NewUserConnected' (a nil value)
Автор: Wariner 23.1.2010, 9:40
2brauzer84: неужели сложно прочитать всю тему?! http://mydc.ru/index.html?showtopic=492&view=findpost&p=5279
2Артём: оформи пожалуйста тему как положено!
Автор: brauzer84 23.1.2010, 10:56
Извините провтыкал....походу сплю ещё О_-
Скрипт реагировал на смайлы.
Если у кого-то такая же проблема, то выкладываю скрипт с исключениями для смайлов
Perevod_newapi.lua ( 6.35 килобайт )
: 34
Автор: as91 25.4.2010, 14:29
а как сделать чтобы скрипты не реагировал на слова, спереди кот стоит ! - те команды. А то он у меня реагирует, стоит скрипт из поста выше
Автор: Nickolya 25.4.2010, 22:04
Добавь после
Код
function ChatArrival(user,data)
вот такой код:
Код
if data:match "^%b<>%s+[%!]" then
return
end
Автор: as91 26.4.2010, 22:40
в том месте, где я подставил то, что постом выше скрипт затыкается
лог
/etc/ptokax/scripts/perevod.lua:208: attempt to index global 'data' (a nil value)
Разобрался, надо сделать так
Код
if sData:match "^%b<>%s+[%!]" then
return
end
иногда мне кажеться что я начинаю понимать этот язык
Автор: DEN 007 17.7.2010, 23:18
У меня просьба, а как сделать чтобы было все в скрипте как в первом посте тока можно было бы добавлять исключения типа магнет ссылок и тд...
Прост тот скрипт что в 5 посте слишком уж неудобен... зафлуживает и юзер не понимает нечего(
Автор: Alexey 18.7.2010, 13:12
Типа вот:
trans_amod.lua ( 1.85 килобайт )
: 11
Автор: DEN 007 18.7.2010, 14:36
Спасибо то что надо!!!!
А еще такой вопрос как добавлять исключения? если к примеру начнет переводить еще что то что ненужно...
к примеру в скрипте из 5-того поста
Код
tAntiRaplace = {
"magnet",
"http",
"www",
"dchub",
"ftp",
"lol",
}
сори просто не нашел (точнее нашел, но непонял как добавлять) (( в луа как....
Автор: Ksan 18.7.2010, 15:04
Ну ты же сам показал, как сделано. Трудно догадаться сделать аналогично же и с другими словами-исключениями?
Делаешь как показано, сохраняешь, потом перезапускаешь скрипт.
Автор: Alexey 18.7.2010, 15:47
Держи:
trans_amod2.lua ( 2.12 килобайт )
: 24
Автор: DEN 007 18.7.2010, 19:07
Цитата(Alexey @ 18.7.2010, 16:47)
Держи:
trans_amod2.lua ( 2.12 килобайт )
: 24Мега тебе спасибо!
А теперь вопрос вот к примеру есть теги для грейлинка типа [b] и тд.. бот на них ругается... так вот я где то на форуме видел пост про то как правильно добавлять исключение и т.д.
Автор: DEN 007 21.7.2010, 1:31
еще одна проблема создается бот реагирует на ники((( как это изменить..,
я вот создаю базу исключений если этот скрипт довести до конца это будет класс!!!
Автор: Nickolya 26.7.2010, 21:54
Сделал проверку слова на ник юзера, может кривовато работать...
Автор: absent 16.12.2010, 8:13
Цитата(MIXER @ 9.12.2009, 18:09)
Я надеюсь это шутка была ?)
5-ое сообщение этого топика.
[08:12] Синтаксис D:\d\хабы\0.4.1.2(2)\scripts\Переводчик_newapi.lua:58: attempt to call global 'NewUserConnected' (a nil value)
Автор: Артём 16.12.2010, 12:07
absent, подвигай скрипт вверх вниз, скрипт рабочий!!!
Цитата
[11:06:10] <PtokaX> *** Unreg, давай все-таки переключим язык и будем писать на русском?!? Ок?
[11:06:10] <PtokaX> *** Если Ты имел в виду следующее: "ваыыаыаыва", то воспользуйся командой +tr для быстого перевода Твоей фразы в чате...
[11:06:10] <PtokaX> *** Чтобы перевести какую-то фразу с абра-кадабры на русский используй команду +remake <фраза>...
[11:06:10] <Unreg> dfssfsfsdf
Автор: absent 22.1.2011, 2:02
сделайте плиз чтоббы не писалось что я имею виду
01:58:03] «« <Ckoba> наверно хотел(а) написать»»: привет
[01:58:03] <Ckoba> ghbdtn
а сразу шел перевод
Автор: DEN 007 22.1.2011, 2:17
Это будет не совсем прально так как скрипт может ошибатся. Ну да ладно.
Заменить
Код
Core.SendToAll(" << "..tUser.sNick..", наверное, хотел(а) написать >>: "..sMsg)
на
Код
Core.SendToAll(tUser.sNick," "..sMsg)
P.S. Не проверял
Автор: absent 22.1.2011, 2:51
вот что вышло
[02:39] Синтаксис D:\d\хабы\0.4.1.2(2)\scripts\trans_newapi(2).lua:103: attempt to index global 'tUser' (a nil value)
и хотелось бы чтобы он на мегнеты не реагировал
[02:51:22] «« <Ckoba> наверно хотел(а) написать»»: ьфптуе: ,че=гкт:екуу:ешпук:5H6PAUGPU3J5OJY2ULCY4SHAZTWKLIWZCZTZMXY ,чд=202171 ,вт=BвунюJPG
[02:51:22] <Ckoba> Bdey.JPG (197,43 кБ)
Автор: Ksan 22.1.2011, 3:41
absent, найди в функции
Цитата
function ChatArrival(user, data)
вот эту строку
Код
trans(data)
и змени её на
Код
if not data:find"magnet:%?xt=" then
trans(data)
end
Автор: absent 22.1.2011, 13:13
ничего не поменялось
Автор: Ksan 22.1.2011, 13:25
У меня работает.
Того, что я тебе написал, достаточно для решения твоей просьбы. Просто делай, как я написал, и всё. Больше ничего.
Автор: DEN 007 23.1.2011, 3:17
Цитата(Ksan @ 22.1.2011, 15:25)
У меня работает.
Того, что я тебе написал, достаточно для решения твоей просьбы. Просто делай, как я написал, и всё. Больше ничего.
Ты напиши с какого поста скрипт брал, а то они везде немного переделанные.
Автор: Ksan 23.1.2011, 3:48
Для данной поправки неважно с какого.
Ну если тебе важно, то - с первого.
Автор: MIKHAIL 18.11.2011, 3:27
Скрипт выдаёт в чат сперва сообщение о том, что пользователь, наверное, хотел написать то-то. А затем, строчкой ниже, выдаёт собственно само сообщение пользователя (оригинальное). Порядок, на мой взгляд, не совсем удачный.
Лучший вариант, это когда сперва идёт сообщения пользователя, а затем скрипт должен выдавать сообщение о предположительной опечатке. А то, видите ли, смотрится так, что скрипт знал, что пользователь наберёт неправильное (транслитом) сообщение.
Автор: Ksan 18.11.2011, 4:08
MIKHAIL, переставь, не вижу проблему.
Это всего лишь авторское видение, ты можешь делать как ты хочешь.
Автор: MIKHAIL 20.11.2011, 21:56
Подскажите, пожалуйста, что означает в начале скрипта перед объявлением первой функции данный код:
Код
he="["
Взято из скрипта под API2 на первой странице топика. Предполагаю, что это "мусор".)
Цитата
переставь, не вижу проблему
Для меня, к сожалению, пока проблема. Подскажите, где копать...
Скрипт перехватывает данные пользователя, обрабатывает, выводит "свои" данные по Core.SendToAll.
Здесь работа скрипта заканчивается, далее идёт сообщение пользователя. Понимаю, что сперва необходимо пропустить данные пользователя в чат, а затем сразу же вывести результат обработки скрипта.
Автор: Alexey 28.11.2011, 19:08
Цитата(MIKHAIL @ 20.11.2011, 22:56)
Подскажите, пожалуйста, что означает в начале скрипта перед объявлением первой функции данный код:
Код
he="["
Взято из скрипта под API2 на первой странице топика. Предполагаю, что это "мусор".)
Так и есть.
Сделал тебе задержку отправки сообщения. Заодно таблицу определения неправильной раскладки немного изменил, убрал некоторые сочетания, часто приводившие к ложным срабатываниям.
Этот вариант чуть менее громоздок, но будет пытаться переводить ники пользователей онлайн, встреченные в середине фразы, а не в начале:
trans_amod31.lua ( 2.6 килобайт )
: 4А этот потяжелее, но ники онлайн-пользователей не трогает в любом месте фразы.
trans_amod31n.lua ( 2.89 килобайт )
: 10
Автор: Dani_Filth 29.11.2011, 13:30
Скрипт очень хороший.. Но не предусмотрели одну вещь ! Когда тыкаешь любую команту он её переводит на русский. Как исправить эту проблему ?
Автор: Ksan 29.11.2011, 13:52
Dani_Filth, сделай проверку на наличие в сообщении в первом слове восклицательного знака как первый символ.. (вместо восклицательного можно подставить SetMan.GetString(29))
И при положительном результате игнорируй перевод.
Автор: Alexey 29.11.2011, 18:29
Цитата(Dani_Filth @ 29.11.2011, 14:30)
Когда тыкаешь любую команту он её переводит на русский.
Карету мне! Карету! Цитату мне! Цитату!
У меня кроме опчата нет комнат и мне непонятно, что имеется ввиду под "тыкаешь". Так-что прошу описать проблему более полно. Что делаешь, что должно произойти и что происходит вместо этого? Чем полнее — тем лучше. Не надо экономить буквы.
Автор: Ksan 29.11.2011, 18:33
команту = команду
Я так думаю.