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

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

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

Автор: Wariner 5.9.2008, 19:57

Название скрипта: TopTen
Версия скрипта: 1.0
Версия API: LUA 5.1x [Strict][API 2]
Автор: Mutor
Язык: английский

Описание: выводит статистику(10 лучших) по нескольким категориям: сообщения, смайлы, кики, редиректы, шары и т.д.

 Топ_10.lua ( 12.22 килобайт ) : 364
 Топ_10_Rus_by_SCALOlaz.lua ( 12.99 килобайт ) : 197
 Топ_10__Rus_by_Wariner.lua ( 14.92 килобайт ) : 356
 

Автор: RApiD 14.9.2008, 11:10

переведите плз под API1

Автор: FallenAngel 12.10.2008, 21:02

хех..а может все таки кто нить смжет перевести его под 0,3,6,0???так хочется....наверняка не только один я буду благодарен!:)

Автор: SCALOlaz 27.12.2008, 0:44

Господа! Не парьтесь с локалями!!! Я вам все перевел. Ну почти все.
 Топ_10.lua ( 12.99 килобайт ) : 49

Цитата
local Order = {"HubShare","Users","UpTimes","UserShare","Logins","Chat","ChatChars","Pms","PmChars","Cmds",
"Smilies","Lols","CTMs","Searches","Kicks","Redirs","Pingers","Unknowns"}

Пришлось прикрутить табличку дополнительную и похимичить с функциями, но:
- непонятно, что означает пункт Lols... То-ли придурок, то-ли еще что.
- непонятно пока что такое CTMs. В код не вдавался, поэтому уж необессудьте.
- Смайлы вроде должны быть смайлами. Но сколько не флудил ими - в топ не идут. Хз вобщем
feel_good.gif

...и вообще заманчивый механизм у скрипта!

Чуть не забыл!!!
Скрипту нужна папка scripts/Top
Создайте папочку по этому пути или переместите в scripts то что насрал скрипт изначально в корне сервера и переименуйте папку в Top.
Раньше TopTen чтоле ее звали... Вобщем делаем сервер почище. Лублу порядоГ ))

На всякий случай:
Цитата
Top = {
HubSare = {{os.time(),Core.GetCurrentSharedSize()},},
Users = {{os.time(),Core.GetUsersCount()},},
UserShare = GetValue(16,1024),
...
...
Это описание функций, которые выполнятся по конкретной команде. Если описания нет, юзается функция хаба собсна.
Цитата
local Order = {"HubShare","Users",...
...
Это список функций и команд в одном лице. Они раньше выводились в цикле в меню хаба и в цикле же распознавались
Цитата
UserCmds = UserCmds.."$UserCommand 1 3 "..Scp.."\\"..OrderName[s].."$<%[mynick]> "..Pfx..s.."||"
Эта строка готовит весь список команд к выводу. Убрано имя хаба.
Цитата
OrderName = {
HubShare = "Общая шара",
Users = "Пользователей",
UserShare = "Шара пользователей",
UpTimes = "Время онлайн",
...
Это соответствие имени функции (команды) и написания в меню, отображения в таблице.
В функцию вывода самого топа добавлен операнд, отвечающий за русский текст.

Вот собственно и вся макулатура.

Автору темы - Если есть желание, поместите прикрепленный файл в ваш пост, а этот флуд можно удалить. Думаю следующие правки будут относительно локализованной версии

Всем спасибо. ))

Автор: Wariner 27.12.2008, 11:05

Цитата(SCALOlaz @ 27.12.2008, 0:44) *
Пришлось прикрутить табличку дополнительную и похимичить с функциями, но:
- непонятно, что означает пункт Lols... То-ли придурок, то-ли еще что.
- непонятно пока что такое CTMs. В код не вдавался, поэтому уж необессудьте.
- Смайлы вроде должны быть смайлами. Но сколько не флудил ими - в топ не идут. Хз вобщем
feel_good.gif


Как я понял смайлы это то что есть в таблице у скрипта и пишится символами
Код
:)
, Lols это смайлы которые пишутся буквами
Код
LOL
а вот что такое CTMs я тоже слабо понял...

Цитата(SCALOlaz @ 27.12.2008, 0:44) *
Чуть не забыл!!!
Скрипту нужна папка scripts/Top
Создайте папочку по этому пути или переместите в scripts то что насрал скрипт изначально в корне сервера и переименуйте папку в Top.
Раньше TopTen чтоле ее звали... Вобщем делаем сервер почище. Лублу порядоГ ))

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

PS: сам вчера тоже перевёл(правда как говорилось с англ. я не дружу) так что оба скрипта в первом посте))))

Автор: Setuper 27.12.2008, 12:17

CTM - это команда запроса на активное соединение: $ConnectToMe, сокращённо (по заглавным буквам) CTM
RCTM - это команда запроса на пассивное соединение: $RevConnectToMe, сокращённо (по заглавным буквам) RCTM

Автор: Infernus-pro 27.12.2008, 12:35

А для чего Шара хаба и Шара юзеров чето немойму..Посмотрел, вроде одно и то же.

Цитата
[14:33:18] <[TopTen]>

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Топ 10 шары хаба Общее количество: 0 Минимум:
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

=============================================
#) шара хаба Проценты Ник юзера
=============================================

Цитата
[14:33:22] <[TopTen]>

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Топ 10 шар юзеров Общее количество: 329.49 GB. Минимум: 329.49 GB.
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

=============================================
#) шара юзера Проценты Ник юзера
=============================================

1) 329.49 GB. 100.00% Infernus-pro
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Автор: Wariner 27.12.2008, 13:08

по идеи задумывалось как шара хаба(т.е топ по суммарному колличеству шары хабы по разным датам) а шары юзеров это обычный шаратоп

Автор: SCALOlaz 27.12.2008, 15:44

Цитата
Топ 10 шары хаба Общее количество: 0 Минимум:
Если это цитата из второго перевода, посмею заметить, что после "Топ","названия" и "Общее" (что по идее должно быть как "В сумме") идет не "Минимум", а "Середнее" или "В среднем". т.к. по сути и по скрипту является X=Общ\к-во
Ну это не суть важно.
Потестил скрипт как следует, поизвращался над выводом. В итоге полностью переписал системную ##:rep для вывода процентного соотношения не ПОД ником в списке, а справа, после цифрового. Вобщем почти натуральный прогрессбар, который у всех пунктов имеет одинаковую длину, но заполнен 1-ми символами до %, другими - до полного.
Блин, опять не в тот лес.
Переделал порядок Названия, даты, проценты. Несколько раз в разных вариантах. Туда-сюда. Все что можно пытался выровнять, накатал функцию дополнения параметра до заданной длинны... Фу...


Вобщем отображение РАЗНЫХ таблиц лажовое.
Интересен скрипт только потому, как реализован. Ибо асболютно никакого форматирования, для выравнивания ВСЕХ таблиц не придумаешь!!!
Лично я так и не придумал.

Если непонятно, - объясню: в хабе могут находиться пользователи, с длинными никами и с никами из 3-5 букв. Тоесть уже длина параметра разная. Так-же время онлайн, может быть 1-20 часов, а может быть год с мелочами, отчего длина параметра увеличивается в разы.
На выводе строки, для создания промежутков между столбцами используется табулятор \t, а у разных параметров разная ширина в пикселах, никакие пробелы и прочие ухищрения не помогают. Некоторые таблицы - красивые, четкие и ровные. Другие - корявые и страшные. Смотреть страшно, не то что статистику вести.

Если у кого-то есть идеи......

Автор: Setuper 27.12.2008, 16:17

По поводу выравниваний - решить это проблему никаким образом нельзя! Ко всем проблемам с выравниванием, о которых сказано выше хочу добавить, что выравнивание также зависит от стиля шрифта в клиенте и от размера шрифта. Подо все клиенты подогнать невозможно, тем более, что некоторые в своих клиентах могут настраивать шрифты на определённые слова или словосочетания, и оформление этих слов может иметь отличный от основного стиля.

Попробуйте поиграть хотя бы с размером шрифта в своих клиентах и посмотреть форматируемые таблицы, вы убедитесь, что от размера шрифта колоссальная зависимость. Кто-то использует, допустим, 12-й шрифт, а кто-то 14-й - как не старайся, но у этих людей будет всё по разному отображаться!!!

Автор: Wariner 27.12.2008, 18:06

2SCALOlaz: я когда то(хотя это было не так давно) написал функцию заполнения не хватающих символов пробелами.... но Setuper оказался прав... Если что вот код:

Цитата
function getLenght(Nick)
sLength = string.len(Nick)
if sLength < 20 then
tLength = 20 - sLength
end
Nick = Nick..string.rep(" ", tLength)
return Nick
end

Автор: Andrey_SHANDERA 4.1.2009, 8:26

Друзья, с новым годом Вас! Здоровья, счастья, любви и всего самого наилучшего! (простите что здесь). Тут у меня Кляйне (маленькая big_smile.gif ) проблемка образовалась, помогите найти причину.
В общем скачал я скрипт Top10_RUS_by_Wfriner. И нашёл не большую проблему. В меню много пунктов, но один у меня дублируется и что бы, я ни делал, он всё равно дублируется, хотя при этом, выводит правильную информации. Вот более точное разъяснение:

В меню должно быть так:______________У меня вот так:
шары хаба___________________________шары хаба
кол. юзеров на хабе__________________кол. юзеров на хабе
шар юзеров__________________________шар юзеров
времени он-лайн хаба_________________времени он-лайн хаба
подключений юзеров_________________подключений юзеров
сообщений в чате_____________________сообщений в чате
букв в чате__________________________сообщений в чате
сообщений в привате__________________сообщений в привате
букв в привате_______________________букв в привате
и т.д.________________________________и т.д.

Как можно увидеть, пункт меню "сообщений в чате" дублируется 2 раза. При этом, при нажатии на второй, всё таки выводиться верная информация о количестве букв в чате. При попытки изменить название пункта "букв в чате" , ни чего не происходит. А вот если меняешь пункт "сообщений в чате", то он меняется в месте с пунктом "букв в чате". Надеюсь объяснил понятно, просьба не пинать .

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

Поправил ещё одну мелочь и выложил в первый пост

Автор: Vizunchik 13.1.2009, 14:25

народ можно как нить в этом скрипте убрать вот эти сообщения, которые он выдаёт при входе на хаб

Код
[16:22:08] <Системные>Master's TopTen 1.0 commands enabled. Right click hub tab or user list for menu. 18 listings available.

[16:22:13] <Системные> Operator's TopTen 1.0 commands enabled. Right click hub tab or user list for menu. 18 listings available.

[16:22:49] <Системные> VIP's TopTen 1.0 commands enabled. Right click hub tab or user list for menu. 18 listings available.

[16:23:27] <Системные> Reg's TopTen 1.0 commands enabled. Right click hub tab or user list for menu. 18 listings available.

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

А зачем постить файл из первого поста?! Находишь фразу и удаляешь вместе с со словами Core.SendToUser

Автор: AnSan 19.3.2009, 20:36

в меню пользователя появляется менюшка с таким названием Hub, как переименовать в чтото другое ????

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

найти строчку

Код
UserCmds = UserCmds.."$UserCommand 1 3 "..Hub.."\\"..Scp.."\\"..s.."$<%[mynick]> "..Pfx..s.."||"

и заменить на
Код
UserCmds = UserCmds.."$UserCommand 1 3 "..Scp.."\\"..s.."$<%[mynick]> "..Pfx..s.."||"

Автор: AnSan 19.3.2009, 23:09

спс

Автор: Wariner 19.3.2009, 23:13

ты хоть посмотри что это за ошибка, точнее в каком она скрипте!!!

Автор: alcorp 1.10.2009, 20:09

Топ_10__Rus_by_Wariner.lua

Глючит: attempt to index local 'hFile' (a nil value)

Автор: Wariner 1.10.2009, 22:36

хм, а файл(папка) скрипта создана?

Автор: FallenAngel 3.10.2009, 12:32

Что-то у вас "детские " проблемы то. big_smile.gif
ВОт мои проблемы...
1. Подключение юзеров... Сколько раз я не переподключался- ни фига не хочет считать.. Как он это вообще посчитал- не известно.

Раскрывающийся текст


••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Топ 10 подключений юзеров Общее количество: 88 Минимум: 9
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

=============================================
#) кол. подключений юзера Проценты Ник юзера
=============================================

1) 22 25.00% [PNZ]Slp
••••••••••••••••••••••••••
2) 15 17.05% [PNZ]Kid
••••••••••••••••••
3) 12 13.64% KNRZb
•••••••••••••••
4) 10 11.36% [PNZ]Nonamyss
••••••••••••
5) 8 9.09% [PNZ][ZAR]Dim985
••••••••••
6) 7 7.95% [PNZ]axesa
•••••••••
7) 5 5.68% [PNZ]Boooze
•••••••
8) 4 4.55% [PNZ]Bastyl
••••••
9) 4 4.55% [PNZ][ZAR]julik
••••••
10) 1 1.14% [PNZ]ktv
••



2. Проценты просиживания на хабе...
Раскрывающийся текст

<[TopTen]>

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Топ 10 времени он-лайн хаба Общее количество: 1 day, 14 hours, 30 minutes Минимум: 3 hours, 51 minutes
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

=============================================
#) время он-лайн хаба Проценты Ник юзера
=============================================

1) 1 month, 2 weeks, 22 hours, 53 minutes 2802.18 [PNZ]Papach
••••••••••••••••• (и тут слииииишком много точек.)
2) 1 month, 2 weeks, 22 hours, 50 minutes 2802.03 [PNZ]Da_Lovelis
••••••••••••
3) 1 month, 2 weeks, 22 hours, 49 minutes 2802.02 [PNZ]_I7cuxoI7aT
••••••••••••••••
4) 1 month, 2 weeks, 22 hours, 49 minutes 2802.02 [A]ИВ@N-TRakcTORiSt
••••••••••••••••
5) 1 month, 2 weeks, 22 hours, 48 minutes 2801.97 NomenNescio
•••••••••••••••••
10) 1 month, 2 weeks, 22 hours, 46 minutes 2801.89 [PNZ]Envin
•••••••••••••



Вспомню еще какие проблемы-отпишусь...
ЗЫ-это все взято из русификации Wariner'a. Но это не значит, что у Скалолаза нет таких же проблем. big_smile.gif

Автор: *FoxMalder* 26.11.2009, 14:46

тестил все три скрипта и у всех 1 и таже проблема..:

если запустить скрипт создается база с весом 64кб и все нормально работает
если скрипт остановить база уменьшается до 4-9кб
и с последующим включением база не увеличивается
те кто успел попасть в топ10 так и остаются у них стата считается и тд
если топ10 не полный.. допустим там 8 юзеров топ дополняется до 10
если юзер занимающий 10 место сказал 1 сообщение а другой юзер который в топе не состоит сказал 3 сообщения он в топ не попадет вообще..

вот так вот.. поправьте)

Автор: TiGRpp 9.6.2010, 4:52

Цитата(FallenAngel @ 3.10.2009, 13:32) *
ВОт мои проблемы...
1. Подключение юзеров... Сколько раз я не переподключался- ни фига не хочет считать.. Как он это вообще посчитал- не известно.
2. ...
Цитата(*FoxMalder* @ 26.11.2009, 15:46) *

тестил все три скрипта и у всех 1 и таже проблема..:

Действительно обновление базы скрипта не работает.

Но эти посты прошлогодние, может у кого есть исправленная версия?

Автор: whuru 4.7.2010, 20:58

Хороший скрипт, но ресурсов кушает немерено... пришлось удалить только из-за этого.

Автор: Dan Claimant 5.8.2010, 21:50

а нет какого-нить похожего скрипта статистики, чтобы он считал сообщения каждого пользователя?
спасибо заранее

Автор: Nickolya 5.8.2010, 22:03

Есть конечно, искать http://mydc.ru/topic2726.html.