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

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

MyDC.ru _ Боты "все в одном" [PtokaX] _ Karmabot

Автор: Wariner 10.1.2009, 11:07

Название скрипта: KarmaBot
Версия скрипта: 1.0b
Версия API: API 2
Автор: Wariner, при участии Berkut`а(автор встроенной антирекламы\антимата)
Описание скрипта: Скрипт виртуальных очков(кармы). При входе на хаб карма составляет 0, после чего происходят изменения в ту или иную сторону.

На данный момент карма повышается:

1. За шару(при первом срабатывании начисляется за шару которая есть у юзера при следующих за изменение шары.)
2. За сообщения
3. За время проведенное на хабе!

Понижается:

1. За мат
2. За рекламу

Функционал скрипта:

1. Главная задача измерение(изменение) кармы юзеров(при этом следит за рекламой и матом) и записи её в таблицу. По вашему выбору таблица строится по IP или по никам юзеров
2. Соответственно за низкое количество кармы вводятся ограничения
3. Показывать юзеру принадлежащую ему карму
4. Показывать изменение кармы в течении времени
5. Топ кармы(если таблица строится по IP то онлайн юзеров, если по ника то общий топ)
6. Реализованно дарение кармы.

Последние изменения:

1. Настройки вынесены в один файл(позже ещё доработаю)
2. Исправлено дарение кармы.
3. Исправлена ошибка описанная в теме запросов скриптов
4. Теперь за кармой можно следить в реальном времени(а не раз в 10 минут)

PS: аккуратнее с коэффициентами! расставляйте их в зависимости от быстроты роста кармы!
PPS: дабы не изобретать велосипед прикрутил к карме уже готовый скрипт антимата-антирекамы Janus_HS_light v1.01 by Berkut, да простит меня автор
PPPS: чтобы юзеры не путались вынес пока ещё не совсем законченный скрипт в отдельную тему!


12.01.09:

 KarmaBot.rar ( 5.85 килобайт ) : 865
 

Автор: Andrey_SHANDERA 10.1.2009, 14:01

KarmaBot.lua:51: attempt to index field '?' (a nil value) :P

Автор: Wariner 10.1.2009, 14:21

Возможно в настройках что то поменял(к примеру раньше таблица строилась по никам а щас по ip). Попробуй очистить базу.

Автор: Wariner 11.1.2009, 18:45

Последние изменения:

1. Исправлена ошибка описанная в теме запросов скриптов
2. Теперь за кармой можно следить в реальном времени(а не раз в 10 минут)
3. Теперь карму нельзя дарить самому себе.

Автор: Артём 12.1.2009, 0:30

Вроде пока ошибок нету но только одно НО! beat_brick.gif как карму дарить? сколько бне дал пишет
<KarmaBot> Вы не ввели колличество кормы которое хотите подарить!
Как её дарить?? :( пожно добавить в меню !help,а то не всё ясно что и как

Автор: Wariner 12.1.2009, 13:07

В последней версии дарение кармы протестировано! Всё работает! Качай из первого поста!

Автор: dimetrius 12.1.2009, 23:25

мелочь, но...
не Подорить, а Подарить big_smile.gif

А вообще очень интересная идея создания скрипта!!!

Автор: Артём 13.1.2009, 1:33

beat_brick.gif блин да как же правельно дарить карму,напишите подсказку или !help допишите в скрипте beat_plaster.gif ну не всё же ясно как делать

Автор: KauH 13.1.2009, 4:38

Цитата(Wariner @ 10.1.2009, 11:07) *
PPS: дабы не изобретать велосипед прикрутил к карме уже готовый скрипт антимата-антирекамы Janus_HS_light v1.01 by Berkut

Core.TempBan ??? Core.Ban ??? return 1 ???
Цитата
BanMan.
-------------------
Ban(tUser, sReason, sBy, bFull) - Perm ban user. Return nil when failed, true if success.
BanIP(sIP, sReason, sBy, bFull) - Perm ban given ip. Return nil when failed, true if success.
BanNick(sNick, sReason, sBy) - Perm ban given nick. Return nil when failed, true if success.

TempBan(tUser, nTime, sReason, sBy, bFull) - Temp ban user. nTime is in minutes (0 = default tempban time from settings) ! Return nil when failed, true if success.
TempBanIP(sIP, nTime, sReason, sBy, bFull) - Temp ban given ip. nTime is in minutes (0 = default tempban time from settings) ! Return nil when failed, true if success.
TempBanNick(sNick, nTime, sReason, sBy) - Temp ban given nick. nTime is in minutes (0 = default tempban time from settings) ! Return nil when failed, true if success.

стандартные ошибки при переводе скрипта антирекламы конвертером

Автор: Setuper 13.1.2009, 16:40

не понятно какой отношение предыдущий пост имеет к данной теме?

Автор: Wariner 13.1.2009, 18:09

Я впихнул антирекламу не глядя первую какая попалась подруку! возможно там есть ошибки, но их пока я не смотрел.
2Артём чего тебе не понятно?! В старой версии была ошибка, я её исправил. Теперь всё должно работать через менюшку.

Автор: Артём 13.1.2009, 22:16

Цитата(Wariner @ 13.1.2009, 18:09) *
Я впихнул антирекламу не глядя первую какая попалась подруку! возможно там есть ошибки, но их пока я не смотрел.
2Артём чего тебе не понятно?! В старой версии была ошибка, я её исправил. Теперь всё должно работать через менюшку.

shame.gif Прошу прощение,я немного прогнал , still_dreaming.gif работает нормально.

Автор: Артём 19.1.2009, 18:44

У меня вопрос... Карма может сама понижатся?А то было 5.1.... ,а стало 3.17793 eyes_droped.gif

Автор: Wariner 19.1.2009, 19:32

Цитата(Wariner @ 10.1.2009, 11:07) *
Понижается:

1. За мат
2. За рекламу


Но поидеи если ты админ и всё правильно настроил то не должна.

Автор: Артём 19.1.2009, 21:46

Цитата(Wariner @ 19.1.2009, 19:32) *
Но поидеи если ты админ и всё правильно настроил то не должна.

куда же она тогда девается horror.gif

Автор: Wariner 19.1.2009, 22:04

Хз проверь все настройки! Плюс не выключался ли случайно хаб?

Автор: Артём 20.1.2009, 0:38

Цитата(Wariner @ 19.1.2009, 22:04) *
Хз проверь все настройки! Плюс не выключался ли случайно хаб?

eyes_droped.gif а разве оно не сохраняет карму когда хаб выключаетса????(Просто у меня не круглосуточный,с самого утра и до ночи,4 часа спит)

Автор: Wariner 20.1.2009, 12:58

под выключался я имел ввиду случайное выключение(типо свет погас) bad_smile.gif

Автор: Артём 20.1.2009, 18:52

Цитата(Wariner @ 20.1.2009, 12:58) *
под выключался я имел ввиду случайное выключение(типо свет погас) bad_smile.gif

Нет,такого небыло! bad_smile.gif

Автор: yMka 23.1.2009, 9:04

Скажите как сильно будет грузить птоку с количеством 1500 юзеров ведь база будет большая, тем более просмотр кармы в реальном времени ??? еще и антиреклама с антиматом чем больше слов исключений тем больше нагрузка
напишите плиз примерную нагрузку памяти на скрипт и количество пользователей у вас на хабе

Автор: Wariner 23.1.2009, 15:38

поставь и проверь...... думаю 30 минутного теста достаточно будет(может меньше)

Автор: Al-j® 27.1.2009, 23:53

А у меня вопрос по карме... В неё будут добавлены "казино" и "подарки", которые были описаны в, удалённых в корзину, темах?
Сам нихрена не рублю и времени нет рубить в LUA, но хотелось бы иметь такую фишку на своём хабе big_smile.gif

Автор: Wariner 28.1.2009, 17:02

будут, как у меня будет время

Автор: Maxd 30.1.2009, 19:36

было б классно ручное понижение Опами, и возможность отключить антимат и антирикламу по желанию. а так мего респект

Автор: Wariner 30.1.2009, 20:12

по поводу антирекламы и антимата их можно отключить правильно настроив таблицу профилей в скрипте

Автор: Maxd 31.1.2009, 2:11

спасиб. действительно. Попробовал посмотреть как повремени идет начисление что то много натикивает. Вот что у меня:
за 35 минут натикало 0.02111 кармы, стоит KarmaForTime = 0.00001.
начил писать это сообщение и тута осенило исчисление то идет не в минутах, а в секундах big_smile.gif так должно быть?

Автор: Maxd 3.2.2009, 0:43

как то у меня у многих карма перемножилась на двое. странно

Автор: Wariner 3.2.2009, 10:48

Цитата(Maxd @ 3.2.2009, 0:43) *
как то у меня у многих карма перемножилась на двое. странно

если получается что на хабе сидит два человека с одного IP то карма за проведённое время у них получается двойная......

Автор: Maxd 6.2.2009, 1:12

Цитата(Wariner @ 3.2.2009, 9:48) *
если получается что на хабе сидит два человека с одного IP то карма за проведённое время у них получается двойная......

да это я тож заметил но вот только оно сразу 40 человекам удвоило и я знаю точно что у них на одном айпи один клиент. был сбой со светом в этот день возможно он повлиял. хотя зная как скрипт работает такого не должно происходить

Автор: Stifler 9.2.2009, 14:52

помогите пожалуйста не хочет дарить карму ((

Цитата
[13:51:15] <Администратор> Вы не ввели колличество кармы которое хотите подарить!

Автор: Al-j® 14.3.2009, 10:17

Цитата(Wariner @ 28.1.2009, 19:02) *
будут, как у меня будет время


У тебя ещё не появилось время? confuse.gif

Автор: Angel_D 18.3.2009, 21:08

Бот интересен.
За рекламу, как ни пытался, никого он не забанил.
"Внимание! Реклама хабов категорически запрещена." говорит, карму вычитает, но не банит.
RekAllMode=2 и RekPmMode=2 , при попытке рекламы говорит KarmaBot.lua:215: attempt to call field 'TempBan' (a nil value) , если ставлю в режим 1 (временный бан на время, установленное в настройках хаба), то "KarmaBot.lua:215: attempt to call field 'TempBan' (a nil value)".

Из пожеланий - у антимата можно сделать режим, в котором ему по боку на личку или хотя бы просто заменял и никого не информировал?
Антимат, кстати... Когда-то тут выкопал некий antimat2.lua (честно говоря уже точно не помню в какой теме)... В общем у него мне больше понравились базы поиска матерных корней... Нет. Не так. Мне в нем больше понравилось то, что в базу маты не надо было добавлять и исключения. big_smile.gif
Если интересно - могу кинуть код.

Кстати... В менюшках не нашел как можно посмотреть карму выделенного пользователя...
Тоже штука не бесполезная.

Автор: Angel_D 19.3.2009, 20:29

Сейчас нашел одну проблемку...
На хабе 1200 юзверей. Выпираю "топ кармы он-лайн юзверей" - 100% проца съедены секунд на 10.
Повторил секунт через 5 - снова... Можно что-нибудь придумать?

Автор: Wariner 19.3.2009, 20:58

Сейчас активно идёт изучение БД я считаю этот бот заслуживает перенаписание для работы с БД. как смогу что то сделать выложу

Автор: Angel_D 19.3.2009, 22:53

Супер. Ибо идея бота просто гениальна.
Разве что антимат таки туповат. Ибо коль уж за маты карма понижается - "прошареность" ему не помешает - день исключения добавлял и чую непоследний. big_smile.gif

Автор: Parad0x 10.4.2009, 3:31

Идея хорошая. Но когда юзер в режиме /away то его начинает просто дисконэктить с хаба

Автор: Wariner 10.4.2009, 8:19

в скрипте нет кода реагирующего на это! копайте другие скрипты!

Автор: Parad0x 10.4.2009, 20:59

Цитата(Wariner @ 10.4.2009, 11:19) *
в скрипте нет кода реагирующего на это! копайте другие скрипты!

Происходит это не увсех юзеров. А происходит из-за этого скрипта потому что, дисконэктит при запросе просмотра собственной кармы и когда среагирует антимат скрипта.
З.Ы. просто писал рано утром - полностью неописал суть проблемы

Автор: PRIZrak 24.5.2009, 0:54

Возможно, глупый запрос.. но всё же. У меня на хабе народ жалуется, что они много шарят и много времени проводят на хабе, а другие "сочкуют".

Есть такое предложение - добавить возможность регулирования скорости скачки в зависимости от кармы пользователя. Т.е. чем выше карма - тем быстрее ты можешь со всех качать. Причём, чтобы таблицу "карма-скорость" задавал админ хаба big_smile.gif

Автор: Setuper 24.5.2009, 1:13

Бред, бред, бред! Невозможно контролировать скорость. Скачивание не происходит через хаб, а происходит напрямую!!! Скорость зависит от ширины канала, настроек клиента и от загруженности сети!!!

Автор: Артём 24.5.2009, 11:47

Нащёд скорости скачки не знаю....зато знаю что есть такое...
<Падлюка> Ваша карма: +291
Получить справку можно через меню или по команде !karma
<Падлюка> У вас недостаточно кармы для соединения с пользователем ...
(вот адресс хаба dchub://internet.dcworld.com.ua:4899 ))))

Автор: Setuper 24.5.2009, 12:46

Мда...
Скорость скачивания и попытка соединиться с пользователем - для тебя это одно и тоже? Раскрой глаза и включи мозги big_smile.gif

Автор: PRIZrak 24.5.2009, 13:24

А такой вариант, можно реализовать:

1) если у пользователя карма, например, ниже 50 - он не может качать с пользователей у которых размер шары более 500Гиг
2) если у пользователя карма, например, =50, он может качать только с такой же кармой или ниже.

Автор: PRIZrak 27.5.2009, 21:34

Просто если б выполнялись данные условия, он бы получил высокую значимость на хабе. А так он скорее для развлечения..

Автор: skonda 27.5.2009, 23:02

Как то странно. Выбираю подарить карму, пишу число, жму ок, пишет [00:58:26] <Bot> Вы не ввели колличество кормы которое хотите подарить!

Автор: PRIZrak 9.6.2009, 21:44

Wariner будет ли осуществляться дальнейшая поддержка данного бота? или стоит пока от него отказаться?

Автор: West 6.11.2009, 16:08

Так ёё дарить? И зделайт казино. И зделайте что бы не командой вы водилась она в чат. а Привходе на хаб было написанно число кармы!!

спасибо.

Автор: Uncle_Dif 7.11.2009, 12:01

377 скачавших, скажите:

1. Как часто приходится объяснять юзерам - что такое карма и прочее, связанное с ней?
2. Как нравится юзерам эта карма?
3. Народу меньше не стало на хабе вашем?

Критики на пост не надо- сам пойму, меня интересуют только ответы (кому невлом ответить)

Автор: serrrios 7.11.2009, 12:24

Цитата(Uncle_Dif @ 7.11.2009, 13:01) *
377 скачавших, скажите:

1. Как часто приходится объяснять юзерам - что такое карма и прочее, связанное с ней?
2. Как нравится юзерам эта карма?
3. Народу меньше не стало на хабе вашем?

Критики на пост не надо- сам пойму, меня интересуют только ответы (кому невлом ответить)

1. Только когда карма уменьшается до гаг'а.
2. Строго пофег.
3. Меньше не стало.....

Автор: West 7.11.2009, 15:14

Цитата(Uncle_Dif @ 7.11.2009, 12:01) *
377 скачавших, скажите:

1. Как часто приходится объяснять юзерам - что такое карма и прочее, связанное с ней?
2. Как нравится юзерам эта карма?
3. Народу меньше не стало на хабе вашем?

Критики на пост не надо- сам пойму, меня интересуют только ответы (кому невлом ответить)



1. Не чего не надо не кому обеснять
2. Нравиться и требують что бы были игры на карму
3. Народу всё больше и больше

Автор: Артём 19.11.2009, 1:09

Хотелось Бы чтоб Админы/операторы могли отбирать карму у юзеров. big_smile.gif

Автор: West 21.11.2009, 13:21

Цитата(Артём @ 19.11.2009, 1:09) *
Хотелось Бы чтоб Админы/операторы могли отбирать карму у юзеров. big_smile.gif


согласен ;)

Автор: PRIZrak 27.11.2009, 19:58

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

Автор: Marc 16.2.2010, 6:41

Помогите перевести KarmaBot.rar (5.85 kb) с первого поста для птохи 0.3.6.0 API 1
Сам попробовал, как было описано в http://mydc.ru/topic605.html но не получилось.
Галочка стоит, скрипт двигал, но менюшка не появляется, а на команду "!karma" получаю:
<HUBBABOT> *** Ошибка: Неизвестная команда
пишет такую ошибку: ...scripts\KarmaBot.lua:46: attempt to call global 'CreatTable' (a nil value)
и самое главное, что сделать, чтобы появилось меню?
Помогите!

Автор: Nickolya 16.2.2010, 14:01

Выложи то что ты сделал, так будет нам понятней. И скорее всего ты дописал перед всеми фукнциями Core. а это надо сделать только перед функциями хаба, попробуй убрать это перед CreatTable

Автор: Marc 16.2.2010, 20:37

Цитата(Nickolya @ 16.2.2010, 14:01) *
Выложи то что ты сделал, так будет нам понятней. И скорее всего ты дописал перед всеми фукнциями Core. а это надо сделать только перед функциями хаба, попробуй убрать это перед CreatTable


Да! Я везде после "function" поставил "Core." и в некоторых других...(Core.OpConnected = Core.UserConnected
Core.RegConnected = Core.UserConnected, Core.MultiSearchArrival = Core.SearchArrival, Core.MultiConnectToMeArrival = Core.ConnectToMeArrival Core.RevConnectToMeArrival = Core.ConnectToMeArrival)
Наверное переборщил!))
Убрал "Core." это перед CreatTable, но теперь скрипт не запускается (не ставится галочка), пишет такую ошибку:
"Syntax cannot open ...\scripts\KarmaBot.lua: No such file or directory"
Особо меня волнует то, что вот это не работает совсем:

Код
function Core.UserConnected(tUser)
    local sM = ""
    CreatTable(tUser)
    tStatKarma[tUser[sType]].TimeTemp = os.time()
    if sType == "sIP" then
        sM = "%[userI4]"
        Core.SendToUser(tUser,"$UserCommand 1 3 Карма\\Топ кармы он-лай юзеров$<%[mynick]> !karmatop|")    
    else
        sM = "%[nick]"    
        Core.SendToUser(tUser,"$UserCommand 1 3 Карма\\Топ кармы$<%[mynick]> !karmatop|")
    end        
    Core.SendToUser(tUser,"$UserCommand 1 3 Карма\\Посмотреть свою текущую карму$<%[mynick]> !showmykarma|")    
    Core.SendToUser(tUser,"$UserCommand 1 3 Карма\\Посмотреть изменение кармы$<%[mynick]> !showmytempkarma|")    
    Core.SendToUser(tUser,"$UserCommand 1 2 Карма\\Подорить карму этому юзеру$<%[mynick]> !presentkarma "..sM.." %[line:Задайте колличество кармы]|")    
end

Core.OpConnected = Core.UserConnected
Core.RegConnected = Core.UserConnected


А отсюда, как я понял, не открывается и не показывается меню скрипта на Хабе!
Nickolya! Помогите!

Автор: Ольга 3.4.2010, 23:35

У меня на хабе много юзеров однодневок. База по карме будет расти и расти. Для меня это не варинт. Со временем будет глючить хаб. Вот если бы эта карма была доступна только зарегистрированнм пользователям, хотя бы..

Автор: TommyKaira 23.8.2010, 0:19

У меня карма вообще не прибавляется ...

Появилась карма..сразу 275.95397 вписал мне, по какому принципу она работает и как часто обновляется?

Автор: Артём 23.8.2010, 0:28

TommyKaira, читай первый пост!!! Там написано за что повышает и за что понижает.

Автор: TommyKaira 23.8.2010, 1:33

У меня в клиенте запущено на этом хабе 2 пользователя, один сидит через инет, другой через локал, шара одинаковая 2.7TB время препровождения одинаковая, карма разная ! сообщений не писалось.

Автор: perre 17.9.2010, 10:34

http://mydc.ru/r/?http://dcworld.com.ua уже живёт в скриптах, молодцы feel_good.gif
на DCWorld`e уже http://mydc.ru/r/?http://dcworld.com.ua/users/ (главное найти).

Автор: Sergey613 9.10.2012, 12:52

Работает под PtokaX 0.4.2.0-x64 Lua 5.2.1

Автор: Sergey613 10.10.2012, 9:24

Искренне не понимаю, почему gsg выводится правильно, а остальные - нет.



Вот код:

Код
    disp = disp.."\t»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«\r\n"
    for i = 1,MaxShowed do
        if tTemp[i]
         then disp = disp.."\t"..i..".\t"..tTemp[i][2].."\t\t"..tTemp[i][1].."\r\n"
        end
    end
    disp = disp.."\t»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«\r\n"

Подозреваю, что дело тут не в коде, он скорее всего верный!
Если тупо копирнуть из клиента, то вот:
[10:27:12] <KarmaBot> ¤ Текущий Toп ранжирования ¤

№: Карма Ник:
»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«
1. 46.60135 gsg
2. 11.86699 Merv
3. 6.64768 Liru
»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«

Вот в этом месте: .."\t\t"..tTemp[i][1] нужно вместо \t\t вставить функцию, которая умеет отсчитывать символы от начала строки!

Автор: Артём 10.10.2012, 15:13

Sergey613, что тебе там не понравилось и что значит ?

Цитата
gsg выводится правильно, а остальные - нет.