Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

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 килобайт ) : 25

API 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 и скрипт отправит это сообщение повторно, но уже транслированное в нормальную раскладку.


baffle.gif Срадостью сделалбы,НО! не знаю как,я и так как мог так и переделал,а то Орегинал ФЛУД не реальный выдавал в чат unhappy.gif

Автор: Артём 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) *
Я ничего не просил, дабы сам могу это сделать. Я просто указывал как будет лучше.


waaaht.gif beat_brick.gif choler.gif

Автор: 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) *
че делать?



big_smile.gif ctrl+стрелка_вверх и alt+r

Автор: MIXER 9.12.2009, 4:59

Цитата(Uncle_Dif @ 8.12.2009, 17:59) *
big_smile.gif 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 килобайт ) : 194



5-ое сообщение этого топика.

Автор: Артём 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

Сделал проверку слова на ник юзера, может кривовато работать...

 trans_amod2.lua ( 2.5 килобайт ) : 21
 

Автор: 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

команту = команду
Я так думаю.