Версия для печати темы
MyDC.ru _ Готовые скрипты для PtokaX _ Sharatop
Автор: Wariner 12.11.2008, 10:38
Название скрипта: SharaTop
Версия скрипта: 2.0
Версия API: API2
Автор: Wariner
Описание скрипта: Показывает топ по шаре, при каждом заходе юзера обновляет его данные, если юзер не был на хабе заданное количество дней его шара удаляется из топа.
Автор: Setuper 12.11.2008, 11:12
Да уж... Не универсально ты пишешь скрипты! Представь ситуацию, появляется новая версия PtokaX, все скачивают её, все скрипты не ней пашут, а этот скрипт не пашет. Спрашивается из-за чего, а из-за того, что в скрипте присутствуют следующие строчки:
Код
if (Core.Version == "0.4.0.0") or (Core.Version == "0.4.1.0") then
sPath = "SharaTop\\"
elseif Core.Version == "0.4.1.1" then
sPath = Core.GetPtokaXPath():gsub("/", "\\").."scripts\\SharaTop\\"
end
Советую писать лучше уж тогда так:
Код
if (Core.Version == "0.4.0.0") or (Core.Version == "0.4.1.0") then
sPath = "SharaTop\\"
else
sPath = Core.GetPtokaXPath():gsub("/", "\\").."scripts\\SharaTop\\"
end
А если ты читал вот эту тему: http://mydc.ru/topic539.html, то лучше вообще писать так:
Код
if (Core.Version == "0.4.0.0") or (Core.Version == "0.4.1.0") then
sPath = "SharaTop/"
else
sPath = Core.GetPtokaXPath().."scripts/SharaTop/"
end
И ещё!!! Этот код вообще можно выбросить, потому что существует универсальный для всех версий код: Код
sPath = Core.GetPtokaXPath().."scripts/SharaTop/"
попробуй сам, на любой версии с новым API этот код работает!!!
Автор: Wariner 12.11.2008, 11:14
хех... перезалил
Автор: M.a.r.s.e.l 12.11.2008, 11:54
Спасибо! Скрипт нормально работает Респект
Автор: =TuRoK= 12.11.2008, 18:21
Цитата(Wariner @ 12.11.2008, 11:38)
Название скрипта: SharaTop
Версия скрипта: 2.0
Версия API: API2
Автор: Wariner
Описание скрипта: Показывает топ по шаре, при каждом заходе юзера обновляет его данные, если юзер не был на хабе заданное количество дней его шара удаляется из топа.
Возможно ли такую фишку по обновлению и удалению шары из топа сделать в прошлом твоём скрипте статистки?
Автор: Wariner 12.11.2008, 22:44
Возможно я займусь этим, но этот скрипт писал токо ради тренировки и как то не думал что его кто то будет юзать... Если сделаю выложу в теме где его просили...
Цитата(Setuper @ 12.11.2008, 11:12)
И ещё!!! Этот код вообще можно выбросить, потому что существует универсальный для всех версий код: Код
sPath = Core.GetPtokaXPath().."scripts/SharaTop/"
попробуй сам, на любой версии с новым API этот код работает!!! как показывает практика не фига он не универсальный... Почему то когда пишешь только эту строчку начинаются жалобы на пути(даже если у меня всё работает)
Автор: Setuper 13.11.2008, 1:01
Кто жалуется? Возможно раньше писали не так, а вот так: sPath = "SharaTop/"
Поэтому и получалось, что для 0.4.0.0 надо писать: sPath = "SharaTop/", а для 0.4.1.1 надо писать: sPath = "scripts/SharaTop/", но и для первого и для второго случая можно написать так: sPath = Core.GetPtokaXPath().."scripts/SharaTop/"
В версии 0.4.0.0 если не указан полный путь до файла, то предполагается, что файл находится в папке scripts.
В версии 0.4.1.1 если не указан полный путь до файла, то предполагается, что файл находится в папке с PtokaX.
Но повторяю ещё раз - это если не указан полный путь до файла!
Функция Core.GetPtokaXPath() в любом случае возвращает путь до папки с PtokaX
Поэтому этот путь является универсальным путём для всех версий
Можешь проверять сотню раз - всегда будет работать.
Автор: Wariner 13.11.2008, 20:57
ок теперь писать буду так.
Нашёл ещё ошибку и поправил пути как советовал Setuper. Скрипт перезалил
Автор: SCALOlaz 13.12.2008, 16:51
Хм...
local Shara = Core.GetUserValue(tUser, 16) -- 16 ИД Шары
Кто-нить знает остальные ИД?
Особенно интересует возможность подсчета рейтинга, полагаю ИД рейтинга не существует... (?)
Автор: Wariner 13.12.2008, 17:17
пологаю надо скрипт интерфейс смотреть:
Цитата
User data IDs for Core.GetUserData call.
-------------------
0 - sMode
1 - sMyInfoString
2 - sDescription
3 - sTag
4 - sConnection
5 - sEmail
6 - sClient
7 - sClientVersion
8 - sVersion
9 - bConnected
10 - bActive
11 - bOperator
12 - bUserCommand
13 - bQuickList
14 - bSuspiciousTag
15 - iProfile
16 - iShareSize
17 - iHubs
18 - iNormalHubs
19 - iRegHubs
20 - iOpHubs
21 - iSlots
22 - iLlimit
23 - iDefloodWarns
24 - iMagicByte
25 - iLoginTime
Автор: NikseR 3.1.2009, 23:54
Хороший скриптик А нельзя ли сделать какое-то фиксирование по IP, чтобы в топе не попадались юзеры с одинаковым айпишником? Вот сегодня, например, юзер с самой большой шарой сменил за день 10 ников - в итоге в топе все 10 позиций заняты только им.
Автор: Music 13.11.2010, 9:37
выдаёт
Код
[08:34] Синтаксис x:\xxxx\0.4.1.0\scripts\SharaTop.lua:126: attempt to index local 'hFile' (a nil value)
Автор: Артём 13.11.2010, 12:06
Music, в папке scripts создай папку SharaTop
Автор: ЕгО_ТенЬ 28.2.2011, 15:00
как сделать в скрипте ,так что бы он не считал пользователей которые незарегины .
Автор: Артём 28.2.2011, 16:17
ЕгО_ТенЬ, попробуй
SharaTop.lua ( 4.84 килобайт )
: 26
вроде работает
Автор: SergSat 17.12.2013, 19:58
Итак, перенес с винды на unix, и понеслось /home/**/PtokaX/scripts/SharaTop.lua:126: attempt to index local 'hFile' (a nil value) сразу пишу, папка SharaTop присутствует, и в ней есть нулевой файл sharatop.tbl , я подозреваю что вся возня из-за прав на папку или файл, так? Ибо ptoka запускается не из под root. Есть решение этой проблемы?
Автор: Alexey 22.12.2013, 18:56
Цитата(SergSat @ 17.12.2013, 19:58)
я подозреваю что вся возня из-за прав на папку или файл, так?
Возможно.
Цитата(SergSat @ 17.12.2013, 19:58)
Есть решение этой проблемы?
Мало информации о проблеме.