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

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

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

Автор: Wariner 12.11.2008, 10:38

Название скрипта: SharaTop
Версия скрипта: 2.0
Версия API: API2
Автор: Wariner
Описание скрипта: Показывает топ по шаре, при каждом заходе юзера обновляет его данные, если юзер не был на хабе заданное количество дней его шара удаляется из топа.

 SharaTop.lua ( 4.61 килобайт ) : 375
 

Автор: 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

Спасибо! Скрипт нормально работает big_smile.gif Респект

Автор: =TuRoK= 12.11.2008, 18:21

Цитата(Wariner @ 12.11.2008, 11:38) *
Название скрипта: SharaTop
Версия скрипта: 2.0
Версия API: API2
Автор: Wariner
Описание скрипта: Показывает топ по шаре, при каждом заходе юзера обновляет его данные, если юзер не был на хабе заданное количество дней его шара удаляется из топа.

Возможно ли такую фишку по обновлению и удалению шары из топа сделать в прошлом твоём скрипте статистки?

 Statisticka.lua ( 6.93 килобайт ) : 33
 

Автор: 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

Хороший скриптик big_smile.gif А нельзя ли сделать какое-то фиксирование по 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
вроде работает bad_smile.gif

Автор: 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) *
Есть решение этой проблемы?

Мало информации о проблеме.