myDC.ru

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

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

> Нормальная автозамена, Автозамена в PtokaX

Теги
Нет тегов для показа
JlёJluK
сообщение 7.7.2009, 16:23
Сообщение #1


Начинающий
*

Группа: Пользователи
Сообщений: 20
Регистрация: 2.6.2009
Из: Тосно
Пользователь №: 3 494
Спасибо сказали: 1 раз




Ищу нормальный скрипт автозамены на птоку!
который будет реагировать на все слова в предложении (сообщении) а не заменять только одно слово!

Кому не сложно - напишите под апи2 !
Go to the top of the page
+Quote Post
Serx
сообщение 7.7.2009, 16:33
Сообщение #2


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

Группа: Пользователи
Сообщений: 153
Регистрация: 21.9.2008
Из: Челябинск
Пользователь №: 574
Спасибо сказали: 54 раза




что заменять? в каких предложениях? Антимат с Антирекламой есть такие на этом форуме.
Go to the top of the page
+Quote Post
JlёJluK
сообщение 7.7.2009, 17:10
Сообщение #3


Начинающий
*

Группа: Пользователи
Сообщений: 20
Регистрация: 2.6.2009
Из: Тосно
Пользователь №: 3 494
Спасибо сказали: 1 раз




А если я не хочу антирекламуи автозамену?

заменять все слова, которые булдт в списке!
Go to the top of the page
+Quote Post
степашка
сообщение 7.7.2009, 17:27
Сообщение #4


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

Группа: Пользователи
Сообщений: 133
Регистрация: 18.9.2008
Из: Москва
Пользователь №: 555
Спасибо сказали: 5 раз




ну так антиреклама и заменяет слова, которые имеются в списке. например, если в автозамене прописаны слова ЗАЯЦ и КАПУСТА, то при попытке ввести в чат или личку фразу ЗАЙЦЫ ЛЮБЯТ КАПУСТУ выведется фраза автозамены. или я не правильно понимаю твою фразу "заменять все слова, которые булдт в списке!"? скажи тогда какую ты цель преследуешь, может станет понятнее
Go to the top of the page
+Quote Post
Wariner
сообщение 7.7.2009, 17:28
Сообщение #5


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

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




когда просите написать скрипт извольте подробнее излагать идею и цель!


Спасибо сказали:
Go to the top of the page
+Quote Post
JlёJluK
сообщение 7.7.2009, 17:46
Сообщение #6


Начинающий
*

Группа: Пользователи
Сообщений: 20
Регистрация: 2.6.2009
Из: Тосно
Пользователь №: 3 494
Спасибо сказали: 1 раз




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

например:

бля=replaceпарам пам пам

=replace - Замена слова


Спасибо сказали:
Go to the top of the page
+Quote Post
Wariner
сообщение 7.7.2009, 18:12
Сообщение #7


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

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




Код
local tGsub = {
       ["один"] = "1",
       ["бабки"] = "деньги",
}

function ChatArrival(tUser, sData)
    sData = sData:sub(1,-2)
    for i,v in pairs(tGsub) do
         sData = sData:gsub(i,v)
    end
    Core.SendToAll(sData)
    return true
end


Спасибо сказали:
Go to the top of the page
+Quote Post
JlёJluK
сообщение 7.7.2009, 20:12
Сообщение #8


Начинающий
*

Группа: Пользователи
Сообщений: 20
Регистрация: 2.6.2009
Из: Тосно
Пользователь №: 3 494
Спасибо сказали: 1 раз




[21:12:08] <keeper> <keeper> 1
[21:12:14] <keeper> <keeper> деньги

Почему ник вылезает?
Go to the top of the page
+Quote Post
Wariner
сообщение 7.7.2009, 20:29
Сообщение #9


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

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




поправил код
Go to the top of the page
+Quote Post
district
сообщение 8.7.2009, 0:58
Сообщение #10


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Геноссе Wariner !
Есть один подводный камень в таком простом методе, когда не вычленяется непосредственный текст сообщения, а гсабится ( или "парсится") вся сДата оптом. Был у меня один момент, когда то, зашел юзер с ником "хулиганище" и что-то написал в чате, а скрипт анимата, который тогда стоял, прогсабил вот так : ( была замена "хули" на "почему")
Цитата
<почемуганище> .... бла бла

big_smile1.gif
поэтому по-хорошему надо бы, так сказать, добавить в реализацию толику избирательности.
Go to the top of the page
+Quote Post
Wariner
сообщение 8.7.2009, 5:53
Сообщение #11


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

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




да я всё надеюсь, что юзера сами хоть что то начнут дописывать....
Go to the top of the page
+Quote Post
district
сообщение 8.7.2009, 6:13
Сообщение #12


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Ну пофлудю разок, надеюсь не забанят nothing_to_say.gif
Wariner :
Цитата
да я всё надеюсь, что юзера сами хоть что то начнут дописывать....

М.М.Жванецкий :
Цитата
Ты же и придумаешь, ты же и будешь делать, тебя же и накажут, что плохо сделал.

Вот так и живем big_smile1.gif
Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 8.7.2009, 11:42
Сообщение #13


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз




Стесняюсь спросить, это самостоятельный готовый к употреблению скрипт? или кусок, который надо куда-то вставить?
Причина редактирования: не наджо делать таких цитат!!! последнее предупреждение!!!
Go to the top of the page
+Quote Post
district
сообщение 8.7.2009, 12:36
Сообщение #14


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Если не ошибаюсь, чтобы отрезать из sData ник юзера с прибамбасами ( скобками < > и пробелом), должно быть как-то так :
Код
sData = sData:sub((tUser.sNick):len()+4,-2)


Uncle_Dif
Этот код может и самостоятельно работать, но зачем создавать на хабе кучу мелких скриптиков в которых постепенно и рогатый ногу сломает?
Вот смотри. ChatArrival это "Event (событие)" API2 и одновременно "функция" скрипта. В одном скрипте, насколько я понимаю, не могут быть две функции с таким названием. Чтобы не городить огород, достаточно подумать и добавить приведенный код в какой-нибудь скрипт схожей тематики. Только надо учесть, что если отрезать ник юзера в самом начале ChatArrival, то все нижеследующие обращения к переменной sData внутри функции будут получать усеченный вариант sData.
А информация по событиям API2 тут,
хотя, может есть и более внятный вариант описания, сам буду рад, если кто подскажет.
Go to the top of the page
+Quote Post
Setuper
сообщение 8.7.2009, 12:58
Сообщение #15


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

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




http://mydc.ru/topic118.html
Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 8.7.2009, 13:01
Сообщение #16


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз




Uncle_Dif
Этот код может и самостоятельно работать, но зачем создавать на хабе кучу мелких скриптиков в которых постепенно и рогатый ногу сломает?

Зачем: мне понравилась идея автозамены слов. Мне, как старорежимному человеку, стремно видеть, например, слово "хай" (напоминает "хайль....") и некоторые другие.
Я бы с удовольствием поимел бы такой скриптик. На форуме есть Антимат-антиреклама, я его установил, но:
1. Там много мне ненужного, придется отрезать.
2. Тестирую его словом "хай"- пропускает без замены, вот теперь чешу репу...
Вот такая малая моя проблемка.
Go to the top of the page
+Quote Post
Wariner
сообщение 8.7.2009, 21:45
Сообщение #17


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

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




хз что у теяб там не работает, может внёс не правильно?
Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 8.7.2009, 21:53
Сообщение #18


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз




Цитата(Wariner @ 8.7.2009, 22:45) *
хз что у теяб там не работает, может внёс не правильно?


Тоже чего-то не пойму. Я скачал и установил анти-мат-рекламу в неизменном виде.
Еще один экземпляр этого антиМР (анти-мат-реклама) переименовал и вставил "хай"- не работает. Я еще поюзаю, может сам пойму где и чего непонимаю..
Go to the top of the page
+Quote Post
serrrios
сообщение 9.7.2009, 14:34
Сообщение #19


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

Группа: Пользователи
Сообщений: 67
Регистрация: 12.10.2008
Из: Красноярск
Пользователь №: 784
Спасибо сказали: 9 раз




Цитата(Wariner @ 7.7.2009, 19:12) *
Код
local tGsub = {
       ["один"] = "1",
       ["бабки"] = "деньги",
}

function ChatArrival(tUser, sData)
    sData = sData:sub(1,-2)
    for i,v in pairs(tGsub) do
         sData = sData:gsub(i,v)
    end
    Core.SendToAll(sData)
    return true
end

При включении сей малого кода у меня перестают работать команды (!rules, !nickban и тд)...можно ли поправить?
Go to the top of the page
+Quote Post
Артём
сообщение 9.7.2009, 15:03
Сообщение #20


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

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




2serrrios
А этот скрипт тебе не подойдёт?
Прикрепленный файл  Антимат_автозамена_мата__newapi.lua ( 4.53 килобайт ) Кол-во скачиваний: 30


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

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

 



RSS Сейчас: 2.5.2024, 16:41