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

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

MyDC.ru _ Готовые скрипты для PtokaX _ Recordbot

Автор: Wariner 14.11.2008, 9:43

Название скрипта: RecordBot
Версия скрипта: 5.5.1
Версия API: API 1 и 2
Авторы: bonki
Так же в написании скрипта принимали участие: (uk)jay, XPMAN, jiten, NRJ, district
Перевод под API2: Wariner
Описание скрипта: Скрипт рекордов.

 RecordBot_API_2.lua ( 10.24 килобайт ) : 879
 RecordBot_API_1.lua ( 9.52 килобайт ) : 253
 

Автор: Mol 14.11.2008, 10:13

Спасибо, классный скрипт, видно с душой.. даже менюшку для вкл/выкл. показа сообщения в моде.) Спасибо) Вечером ещё потерстирую..

Автор: DEM0N 14.11.2008, 14:09

как зделать чтобы не спамил личку?

Автор: *FoxMalder* 14.11.2008, 15:50

почитать !rbhelp

Автор: DEM0N 14.11.2008, 18:32

там только

Общие команды:

rbshow Посмотреть рекорды хаба.
rbhelp Показать этот файл помощи.

Автор: Wariner 14.11.2008, 20:05

Это команды для пользователей! Скрипт реагирует на ключик(наверно ты просто убрал этот параметр у себя на хабе)!

Автор: KauH 17.11.2008, 0:02

версия под API2 работала не совсем корректно (по крайней мере у меня), выкладываю свой вариант подчищенный и подправленный

 RecordBot_API_2_fixed.lua ( 10.8 килобайт ) : 289
 

Автор: Perspect 19.11.2008, 21:42

Подскажите, где подправить, чтобы не частил с рекордами шары. Флудит подлец!

И ещё...
Я отключил выведение информации при входе, но после перегрузки скриптов настройки обнуляются и инфо снова вываливается в чат.

Автор: KauH 19.11.2008, 23:02

Цитата(Perspect @ 19.11.2008, 21:42) *
Подскажите, где подправить, чтобы не частил с рекордами шары. Флудит подлец!

И ещё...
Я отключил выведение информации при входе, но после перегрузки скриптов настройки обнуляются и инфо снова вываливается в чат.

по второму вопросу смотри здесь
Код
    if mSet.doRegBot == 1 then Core.RegBot(mSet.bot.name,mSet.bot.desc,mSet.bot.mail,true) end
    if mSet.Config.main == nil then mSet.Config.main = 1 end
    if mSet.Config.PM == nil then mSet.Config.PM = 1 end
    if mSet.Config.Login == nil then mSet.Config.Login= 1 end

Автор: Strannik 27.11.2008, 0:47

Цитата(KauH @ 17.11.2008, 1:02) *
версия под API2 работала не совсем корректно (по крайней мере у меня), выкладываю свой вариант подчищенный и подправленный


Спс все нормально

Автор: King 13.12.2008, 14:19

можете сделать чтобы в таблицу помимо ника и IP записывался? (но не выдавался в чат) когда надо сам буду заходить смотреть. Читеры достали...

Автор: SereJka 4.1.2009, 2:19

Возможно, я немного не по теме, но почему-то для данного бота не работают команды (напр, !rbshow). Т.е. не происходит никакой реакции при вводе их в чате. В чем может быть проблема, просто команды того же скрипта регистрации нормально обрабатываются... (API1, сам скрипт работает нормально)

Автор: Wariner 4.1.2009, 10:39

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

Автор: SereJka 4.1.2009, 18:35

Wariner, спасибо, помогло. Не знал об этой фишке big_smile.gif

Автор: Berkut 5.1.2009, 0:45

Да это не фишка. Просто один из твоих скриптов кривой. Он тупо блокирует команды, которые не знает. Перестановка как раз и позволяет сделать "финт ушами".

Автор: BeSeR 7.3.2009, 16:05

скрипт под API 1 по чему то не работает unhappy.gif

Автор: *FoxMalder* 7.3.2009, 22:39

господа хорошие.. уже маленько под надоедает.. проблема в максимальной шаре
у меня максимальная шара такая * как написано в базе *
["Share"] = 3.234855029104e+14,

потом скрипт что-то мудрит и максимальная шара меняется на
["Share"] = 2.5377696461942e+15,

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

Код
RecordBot 1.5a_ 5.1.lua:181: bad argument #3 to 'format' (string expected, got nil)


исправьте пожалуйста

вылечите скрипт плиииз)

Автор: Heil 23.3.2009, 14:34

Как иправить ошибку:

Код
[17:21] Синтаксис ...\Server\DC\PtokaX0.4.1.1\scripts\RecordBot_API_2.lua:156: bad argument #3 to 'SendPmToNick' (string expected, got nil)

Автор: alcorp 11.9.2009, 13:29

Цитата(KauH @ 17.11.2008, 1:02) *
версия под API2 работала не совсем корректно (по крайней мере у меня), выкладываю свой вариант подчищенный и подправленный

Что-то как-то странно работал сначала, потом вроде бы заработал. big_smile.gif

Автор: DriverZX-10 30.11.2009, 15:03

Ребят,а почЯму при перезагрузке серва все рекорды сбрасываются?Это мона как-та исправить?
Серв перезагружается автоматом раз в неделю ночью прогой poweroff.

Автор: ART8150 6.2.2010, 20:59

У меня вот такая ошибка
[20:22] Синтаксис C:\хаб\scripts\5_Рекорды хаба.lua:208: attempt to index local 'hFile' (a nil value) помогите или дайте нармальный который коректно работает и чтобы его на хабе не было видно

Автор: DriverZX-10 6.2.2010, 21:24

Цитата(ART8150 @ 6.2.2010, 18:59) *
У меня вот такая ошибка
[20:22] Синтаксис C:\хаб\scripts\5_Рекорды хаба.lua:208: attempt to index local 'hFile' (a nil value) помогите или дайте нармальный который коректно работает и чтобы его на хабе не было видно

у меня скрипт из первого поста RecordBot_API_2.lua через некоторое время также посыпал ошибки в разных строках,а потом и вовсе перестал пахать,поставил версию RecordBot_API_2_fixed.lua из поста http://mydc.ru/topic629.html?view=findpost&p=4841 - полёт уже больше месяца нормальный,ни одной АПшиПкЕ,тьфу-тьфу-тьфу)))
И кстати пофиксенный бот не мозолит глаза в списке Юзеров справа,что уже само по себе неплоха.

Автор: Saymon 6.2.2010, 21:40

Качаем скрипт из http://mydc.ru/topic629.html?view=findpost&p=4841. Протестил ошибка
[21:04] Синтаксис [string "--/----------------------------------------..."]:22: attempt to index global 'SetMan' (a nil value)
но на работу не влияет, всё отлично робит big_smile.gif

Автор: ART8150 9.2.2010, 13:09

Он работает ну выдает ошибку [20:22] Синтаксис C:\хаб\scripts\5_Рекорды хаба.lua:208: attempt to index local 'hFile' (a nil value) и отключается
Кто сможет помогите

 5_____________.lua ( 10.83 килобайт ) : 6
 

Автор: Saymon 9.2.2010, 13:43

Покажи 208 строку. Мы не телепаты big_smile.gif

Автор: Артём 9.2.2010, 14:12

Цитата(Saymon @ 9.2.2010, 12:43) *
Покажи 208 строку.

'hFile' - что-то с путями, телепат)))

Автор: Jaska 9.2.2010, 18:53

Ошибка возникает при записи данных в файл. Проблема в том, что скрипт по указанному пути не может открыть файл. Замени функцию WriteTable на

CODE
WriteTable = function(table,tablename,file)
local hFile = io.open(file,"w+")
if hFile then
Serialize(table,tablename,hFile)
hFile:close()
else
Core.SendToOpChat("*** RecordBot: Невозможно открыть файл для записи ("..file..")")
end
end

Автор: DriverZX-10 9.2.2010, 19:35

да этот бот почему то при установке кидает свои файлы records.tbl и config.tbl не в папку scripts,где они должны быть и даже по описанию самого скрипта,а в корневую папку хаба,оттого и возникают ошибки указанных путей.
Для устранения данной ошибки нужно просто ручками перекинуть сие файлы в папку scripts и кстати этот же трюк исправляет ошибки сохранения наработанных данных,которые при первоначальной конфигурации он есесена не сохраняет при перезагрузке хаба.

Автор: Jaska 9.2.2010, 19:41

Чтобы не было проблем с путями (для линуксоидов тоже важно) нужно использовать вместо относительных, абсолютные пути.

Код
fRecord = Core.GetPtokaXPath().."scripts/records.tbl",
fConfig = Core.GetPtokaXPath().."scripts/config.tbl",

Автор: Артём 21.2.2010, 1:37

Не стал создавать новую тему, решил выложить здесь.
 RecordBot.lua ( 14.64 килобайт ) : 51

P.S надеюсь вы не против, перевёл на русский, протестил, рабочий скрипт big_smile.gif

Автор: prokazzza 16.6.2010, 8:58

Скрипт из первого поста постоянно вываливается если юзер устанавливает новый рекорд.

[10:56] Синтаксис C:\0.4.1.2\scripts\RecordBot_API_2.lua:156: bad argument #3 to 'SendPmToNick' (string expected, got nil)

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

Из включенных скриптов тока рекордбот и StatPX

Автор: Nickolya 16.6.2010, 9:44

Замени

Код
Core.SendPmToNick(nick.sNick, mSet.bot.name, sNewSharePMResponse);
на
Код
Core.SendPmToNick(nick.sNick, mSet.bot.name, nick.sNick.." - вы улучшили рекорд максимальной шары, спасибо: "..DoShareUnits(Record.Share));

И после этого отпишись будет ли выкидывать юзера, вообще это странно. Попробуй отключить остальные скрипты и посмотреть будет этот эффект. И какая птока? Если под виндой - лучше 0.4.1.1.

Автор: -Alex- 6.10.2010, 9:53

Артём,
как в твоём скрипте можно подредактировать отображение число-месяц-год? по умолчанию там отображается месяц-число-год. shocked.gif

Автор: Nickolya 6.10.2010, 10:38

Код
os.date("%x")
заменить по всему скрипту (2 раза) на
Код
os.date("%d-%m-%Y")

Автор: -Alex- 6.10.2010, 10:51

Nickolya, а можно поподробнее? sweet_kiss.gif какие номера строк?
и ещё почему то команды из меню- не работают...

Автор: Артём 6.10.2010, 11:36

Цитата(-Alex- @ 6.10.2010, 10:51) *
какие номера строк?

Сtrl + F в помощь big_smile.gif ( 284; 292 )
Цитата
и ещё почему то команды из меню- не работают...

я выкладывал скрипт рабочий big_smile.gif все команды работают!
P.S. Nickolya может скрипт который я выложил выше в отдельную тему ... или пусть тут? big_smile.gif

Автор: -Alex- 6.10.2010, 12:19

Nickolya, заменил. тоже самое и осталось.. tire.gif

Цитата(Артём @ 6.10.2010, 13:36) *
я выкладывал скрипт рабочий big_smile.gif все команды работают!

не работают команды.. пробовал менять местами скрипты- тоже самое

Автор: Артём 6.10.2010, 12:27

Цитата(-Alex- @ 6.10.2010, 12:19) *
Nickolya, заменил. тоже самое и осталось.. tire.gif

перезапускал скрипт?
Цитата(-Alex- @ 6.10.2010, 12:19) *
не работают команды.. пробовал менять местами скрипты- тоже самое

отключи все скрипты и посмотри, работает всё! big_smile.gif

Автор: -Alex- 6.10.2010, 12:52

Артём, перезапускал канешно! не хотит работать... может есть ещё наподобии этого скрипт-статистики? tire.gif

Автор: Артём 6.10.2010, 12:55

-Alex-, у меня он рабочий!!!

Автор: -Alex- 9.10.2010, 17:34

установил скрипт из 7-го поста, вроде работает нормально.. exciting.gif только я не понял- там вот менюшка появлятся на хабе-"рекорды хаба" с возможностью отключать сообщения при входе и т.д.. эта менюшка для каждого юзера индивидуальна или как? то бишь- если мастер хаба изменит в ней настройки- то они повлияют на всех или нет?

Автор: ZeFein 4.3.2012, 12:37

А как исключения добавить??

Автор: Артём 4.3.2012, 13:09

ZeFein, какие исключения в скрипте рекордов можно добавить?

Автор: ZeFein 6.3.2012, 1:15

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

Автор: Артём 6.3.2012, 2:01

ZeFein, а ты скрипт из первого поста открывал, смотрел настройки?

Показываю для тех, кому лень скрипт открыть.
Цитата
mSet = {
bot = { name = "RecordBot", mail = "iluhi@uzhe.net", desc = "Бот рекордов хаба", },
fRecord = "records.tbl",
fConfig = "config.tbl",
Config = {},
doRegBot = 1, -- 1 = Register Bot, 0 = Don't Register
tIgnore = { ["jiten"] = 1, ["yournick"] = 1, } -- Ignore List (["nick"] = 1)
}

Автор: ZeFein 6.3.2012, 10:39

Спасибо большое, Добрый человек.

Автор: Sergey613 9.10.2012, 11:54

Вот немного подправил вывод данных и дат.
Работает под PtokaX 0.4.2.0-x64 Lua 5.2.1

 RecordBot.lua ( 14.71 килобайт ) : 4
 

Автор: Артём 9.10.2012, 14:05

Цитата(Sergey613 @ 9.10.2012, 11:54) *
Вот немного подправил вывод данных и дат.

А именно, что подправил и как это выглядит?

Автор: Sergey613 9.10.2012, 19:13

упс

 

Автор: Артём 9.10.2012, 23:39

Sergey613, ты ошибся темой, это не кармабота тема, а рекордера

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

Цитата(Артём @ 10.10.2012, 0:39) *
Sergey613, ты ошибся темой, это не кармабота тема, а рекордера

Упс, сори!
По рекордеру тогда вопросик:
Он статистику в файле каждый раз обнуляет при перезапуске PtokaX ?

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

Sergey613, в смысле обнуляет?)

Автор: Xeroin 5.3.2013, 20:47

Артём поставил твой скрипт, на винде ptokax 0.4 все нормально,на линуксе ptoka 0.5 -пишет
Рекорд шары: 3,2 TB [ Втр 05 Мар 2013 21:23:04 ]
Рекорд пользователей: 6 пользователь (ей) [ Втр 05 Мар 2013 19:47:17 ]
Топ шары: гризли (1,8 TB) [ Втр 05 Мар 2013 21:21:20 ]
Время работы: 0 год (ы), 0 месяц (ы), 0 день (дни), 1 час (ы), 4 минут (ы) [ Втр 05 Мар 2013 20:58:07 ]

подскажи может чего подправить нужно, в файле settings стоит русский язык
с уважением Алексей

Автор: Артём 5.3.2013, 21:51

Xeroin, надо, кодировку на сервере (вроде) big_smile.gif

Автор: Alexey 5.3.2013, 22:17

Это один из способов. А другой — жёстко определять формат даты в скрипте, не полагаясь на умолчания локали.

Автор: Артём 5.3.2013, 23:12

ага, можно в скрипт добавить

Это big_smile.gif
Код
local ANSI = {
    [128]={[147]="\150",[148]="\151",[152]="\145",[153]="\146",[154]="\130",[156]="\147",[157]="\148",[158]="\132",
        [160]="\134",[161]="\135",[162]="\149",[166]="\133",[176]="\137",[185]="\139",[186]="\155"},
    [130]={[172]="\136"},
    [132]={[150]="\185",[162]="\153"},
    [194]={[152]="\152",[160]="\160",[164]="\164",[166]="\166",[167]="\167",[169]="\169",[171]="\171",[172]="\172",
        [173]="\173",[174]="\174",[176]="\176",[177]="\177",[181]="\181",[182]="\182",[183]="\183",[187]="\187"},
    [208]={[129]="\168",[130]="\128",[131]="\129",[132]="\170",[133]="\189",[134]="\178",[135]="\175",[136]="\163",
        [137]="\138",[138]="\140",[139]="\142",[140]="\141",[143]="\143",[144]="\192",[145]="\193",[146]="\194",
        [147]="\195",[148]="\196",[149]="\197",[150]="\198",[151]="\199",[152]="\200",[153]="\201",[154]="\202",
        [155]="\203",[156]="\204",[157]="\205",[158]="\206",[159]="\207",[160]="\208",[161]="\209",[162]="\210",
        [163]="\211",[164]="\212",[165]="\213",[166]="\214",[167]="\215",[168]="\216",[169]="\217",[170]="\218",
        [171]="\219",[172]="\220",[173]="\221",[174]="\222",[175]="\223",[176]="\224",[177]="\225",[178]="\226",
        [179]="\227",[180]="\228",[181]="\229",[182]="\230",[183]="\231",[184]="\232",[185]="\233",[186]="\234",
        [187]="\235",[188]="\236",[189]="\237",[190]="\238",[191]="\239"},
    [209]={[128]="\240",[129]="\241",[130]="\242",[131]="\243",[132]="\244",[133]="\245",[134]="\246",[135]="\247",
        [136]="\248",[137]="\249",[138]="\250",[139]="\251",[140]="\252",[141]="\253",[142]="\254",[143]="\255",
        [144]="\161",[145]="\184",[146]="\144",[147]="\131",[148]="\186",[149]="\190",[150]="\179",[151]="\191",
        [152]="\188",[153]="\154",[154]="\156",[155]="\158",[156]="\157",[158]="\162",[159]="\159"},
    [210]={[144]="\165",[145]="\180"}
}

function string.fromutf8(s)
    local a, j, r, b=0, 0, ""
    for i = 1, s and s:len() or 0 do
        b = s:byte(i)
        if b < 128 then
            r = r..string.char(b)
        elseif a == 2 then
            a, j = a - 1, b
        elseif a == 1 and ANSI[j] and ANSI[j][b] then
            a, r = a - 1, r..ANSI[j][b]
        elseif b == 226 then
            a = 2
        elseif b == 194 or b == 208 or b == 209 or b == 210 then
            j, a = b, 1
        else
            r = r.."_"
        end
    end
    return r
end

Автор: Xeroin 5.3.2013, 23:19

спасибо,сменил локаль на 1251 все запахало