myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Нерабочий скрипт ВИПа по шаре

Теги
Нет тегов для показа
Damaks
сообщение 25.8.2010, 9:19
Сообщение #1


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Пробовал не так давно скрипт BestShareKey. Из подобных выбрал именно его, т.к. другие устраивали ещё меньше. Критерии были такие: випа должны получать и реги, и анреги. Статус не прописывается в настройках птохи, он должен сохраняться лишь либо во время работы скрипта, либо в время нахождения юзера на хабе. Это как раз должно дать возможность создавать временного випа из незарегистрированного юзера. Иначе придётся либо вписывать ему пароль, что не так удобно, либо под его ником сможет зайти каждый, и при любой шаре будет випом.

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

Цитата
К хабу подключается юзер с шарой выше указанной и становится ВИПом. Всё отлично. Далее, если заходит другой юзер с шарой больше положенной, то тут уже два варианта. Первый: если у него шара больше или равна шаре первого, то он тоже становится ВИПом, теперь на хабе два ВИПа. Второй: если у него шара меньше шары первого, то ВИПом он не становится. Следовательно, при работе в результате подключений, отключений и реконнектов на хабе бедт всего один ВИП с самой большой шарой. Остальные с шарой выше прописанной всё равно не будут ВИПами.

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

P.S. Не надо спрашивать "а зачем тебе енто надо?" Такие вопросы есть уже в других темах.
Go to the top of the page
+Quote Post
Strannik
сообщение 25.8.2010, 21:26
Сообщение #2


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 226
Регистрация: 24.6.2008
Пользователь №: 77
Спасибо сказали: 34 раза




Попробуй этот повышает профель на 1 или уменьшает работает как часы без проблем выставлен порог 1000Gb работает только для зарегеных, для обычных невижу смысла делать випом
Прикрепленные файлы
Прикрепленный файл  ShareCheck.rar ( 1.73 килобайт ) Кол-во скачиваний: 13
 
Go to the top of the page
+Quote Post
Damaks
сообщение 26.8.2010, 8:04
Сообщение #3


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




В том-то и дело, что этот скрипт повышает профиль на постоянной основе, к тому же только для зарегенных. На хабе не так много юзеров с шарой более 3 ТБ, преференции не напрягают.
Go to the top of the page
+Quote Post
Артём
сообщение 26.8.2010, 14:02
Сообщение #4


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




Цитата(Damaks @ 26.8.2010, 8:04) *
к тому же только для зарегенных.

а как ты хочешь чтобы UnReg стал VIP , чтобы его скрипт сам регистрировал и пароль в лс отправлял?
Скрипт выше только повышает профиль.
Go to the top of the page
+Quote Post
Damaks
сообщение 26.8.2010, 14:22
Сообщение #5


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Цитата(Артём @ 26.8.2010, 15:02) *
а как ты хочешь чтобы UnReg стал VIP , чтобы его скрипт сам регистрировал и пароль в лс отправлял?
Скрипт выше только повышает профиль.

Скрипт в шапке ставит профиль випа даже незарегенным, при этом они не регятся в птохе.
Go to the top of the page
+Quote Post
Артём
сообщение 26.8.2010, 14:26
Сообщение #6


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




да ну... такого быть не может...
Код
RegMan.ChangeReg(tUser.sNick, tUserProf.sPassword, iVipProfile)
Go to the top of the page
+Quote Post
Damaks
сообщение 26.8.2010, 18:21
Сообщение #7


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Артём,
Пользователь является випом лишь при нахождении на хабе и работе скрипта, нигде не прописываясь. Заходя на хаб, он проверяется и делается випом (если удовлетворяет условиям). При выключении скрипта он становится тем, кем был до этого (рег/анрег). При перезапуске он опять проверяется. В этом суть дела. Во время работы скрипта и нахождения в випах даже незарегенный в юзерах не прописыватся никаким способом, его там вообще нет.
Но становится випом лишь юзер с самой большой шарой, а не все выше определённой. Тут вся загвоздка.
Go to the top of the page
+Quote Post
Ksan
сообщение 26.8.2010, 18:22
Сообщение #8


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




1. Судя по скрипту, он даёт випа только регенным. Прочитай его внимательнее.
Код
local tUserProf = RegMan.GetReg(tUser.sNick)
        if tUserProf then
            RegMan.ChangeReg(tUser.sNick, tUserProf.sPassword, tMadeVIPs[tUser.sNick])
        end
и
Код
local tUserProf = RegMan.GetReg(tUser.sNick)
        if tUserProf and tMakableProfiles[tUserProf.iProfile] then
            tMadeVIPs[tUser.sNick] = tUserProf.iProfile
            RegMan.ChangeReg(tUser.sNick, tUserProf.sPassword, iVipProfile)
        end
Тут в обоих участках проверка на принадлежность к зарегенным и далее при положительном результате дается ему вип с использованием его пароля из таблицы зарегенных.
2. Что до изначальной твоей проблемы, она должна решаться манипулированием результатов сравнений больше, больше или равно, меньше, меньше или равно...Думаю, тебе это по силам, насколько я знаю
Go to the top of the page
+Quote Post
Damaks
сообщение 26.8.2010, 18:39
Сообщение #9


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Цитата(Ksan @ 26.8.2010, 19:22) *
1. Судя по скрипту, он даёт випа только регенным. Прочитай его внимательнее.

Сделал скрин списка юзеров и окна зарегистрированных юзеров.
ВИП-шара задана на 10 ГБ. Test-nik незарегистрирован. это не мешает ему быть в випах.

Прикрепленный файл  2010_08_26_193521.png ( 9.44 килобайт ) Кол-во скачиваний: 115
Go to the top of the page
+Quote Post
Ksan
сообщение 26.8.2010, 18:50
Сообщение #10


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Так, вопрос - а как ты узнаешь, что он в випах?
Go to the top of the page
+Quote Post
Damaks
сообщение 26.8.2010, 19:11
Сообщение #11


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Хороший вопрос. Проверил профиль через скрипт - не зарегистрирован. Проверил скриптом, получает ли возможности профиля ВИП - нет. Однако находится наверху. В чём же дело тогда.

А вот зарегенные становятся випами, профиль в птохе изменяется, не углядел. Но в этом случае всё равно действует закон большей шары.
Go to the top of the page
+Quote Post
Nickolya
сообщение 26.8.2010, 19:48
Сообщение #12


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Любой ник можно сделать красным (ОПом) отправив $OpList с его ником клиенту, что и делает скрипт big_smile.gif
Логика выбора юзеров находится здесь:
Код
        iShare = tOnlineNonOps[1].iShareSize
        for i = 1, #tOnlineNonOps do
            if tOnlineNonOps[i].iShareSize == iShare then
                tUsers[tOnlineNonOps[i].sNick] = true
            else
                break
            end
        end

Берется самая большая шара и еще смотрится есть ли юзеры с такой же шарой (вдруг таких два или больше) и они заносятся в таблицу. Плюс по всему скрипту идут проверки на то что превышена лучшая шара. Для занесения всех юзеров с шарой для випов надо изменить условие
Код
if tOnlineNonOps[i].iShareSize == iShare then
на
Код
if tOnlineNonOps[i].iShareSize >= iVipShare then
И дальше по всему коду еще пройтись и посмотреть на проверки, поправить их там, пробуйте...
Go to the top of the page
+Quote Post
Damaks
сообщение 26.8.2010, 19:59
Сообщение #13


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Nickolya,
Спасибо за разъяснения. На днях буду кромсать.
Go to the top of the page
+Quote Post
Damaks
сообщение 29.8.2010, 18:17
Сообщение #14


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Справился. Работает правильно, за исключением одной мелочи: когда юзеру меняется профиль (или просто перемещается вверх), то все випы и уже помеченные пользователи становятся на какое-то время обычными, затем обратно согласно статусу и шаре. Мигает список. Как с этим можно справиться?

После редактирования скрипт получился такой:
Прикрепленный файл  best_share_to_vip_api2.lua ( 4.81 килобайт ) Кол-во скачиваний: 14
Go to the top of the page
+Quote Post
Nickolya
сообщение 29.8.2010, 18:52
Сообщение #15


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Во всем виновата эта строчка, попробуй ее убрать:
Код
        iRemoveTimer = TmrMan.AddTimer(2000, "RemoveMadeOps") or iRemoveTimer
Go to the top of the page
+Quote Post
Damaks
сообщение 30.8.2010, 13:43
Сообщение #16


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Если убрать эту строчку, то из випов обратно в реги при уменьшении шары не переносит.
Нужно было всего лишь слегка изменить местами строчки. Делал так до вопроса, но тогда ничего не получилось, возможно невнимательность.

Заменил это:
Код
    if iShare >= iVipShare then
        iSendTimer2 = TmrMan.AddTimer(3000, "SendNewMadeOpList") or iSendTimer2
        iRemoveTimer = TmrMan.AddTimer(2000, "RemoveMadeOps") or iRemoveTimer
    elseif iShare >= iVipShare then
        if not tBest[tUser.sNick] then
            tBest[tUser.sNick] = true
            iSendTimer = TmrMan.AddTimer(2000, "SendMadeOpList") or iSendTimer
        end
    end

на это:
Код
    if iShare >= iVipShare then
        if not tBest[tUser.sNick] then
            tBest[tUser.sNick] = true
            iSendTimer = TmrMan.AddTimer(2000, "SendMadeOpList") or iSendTimer
        else
        iSendTimer2 = TmrMan.AddTimer(3000, "SendNewMadeOpList") or iSendTimer2
        end
    elseif iShare < iVipShare then
        iRemoveTimer = TmrMan.AddTimer(2000, "RemoveMadeOps") or iRemoveTimer
    end

На тестах работает. В ближайшие дни опробирую на практике.
Go to the top of the page
+Quote Post
mod
сообщение 23.2.2023, 7:16
Сообщение #17


Активный участник
***

Группа: Пользователи
Сообщений: 65
Регистрация: 16.7.2010
Пользователь №: 7 288
Спасибо сказали: 0 раз




Не работает 0.5.3.0 \ 5.1.5

Ошибки текст
[11:07:18] Нет синтаксических ошибок в скрипте share_vip_api2.lua
[11:07:18] Синтаксис C:\PtokaX\scripts\share_vip_api2.lua:79: bad argument #1 to 'RemoveTimer' (userdata expected, got number)
stack traceback:
[C]: in function 'RemoveTimer'
C:\PtokaX\scripts\share_vip_api2.lua:79: in function 'SendMadeOpList'
C:\PtokaX\scripts\share_vip_api2.lua:35: in function <C:\PtokaX\scripts\share_vip_api2.lua:27>
[11:07:18] Синтаксис C:\PtokaX\scripts\share_vip_api2.lua:105: bad argument #1 to 'RemoveTimer' (userdata expected, got number)
stack traceback:
[C]: in function 'RemoveTimer'
C:\PtokaX\scripts\share_vip_api2.lua:105: in function 'RemoveMadeOps'
C:\PtokaX\scripts\share_vip_api2.lua:52: in function <C:\PtokaX\scripts\share_vip_api2.lua:51>
[11:07:18] Критическая ошибка в скрипте share_vip_api2.lua ! Скрипт остановлен!
[11:07:18] Скрипт запущен.
[11:07:18] Синтаксис C:\PtokaX\scripts\share_vip_api2.lua:105: bad argument #1 to 'RemoveTimer' (userdata expected, got number)
stack traceback:
[C]: in function 'RemoveTimer'
C:\PtokaX\scripts\share_vip_api2.lua:105: in function 'RemoveMadeOps'
C:\PtokaX\scripts\share_vip_api2.lua:52: in function <C:\PtokaX\scripts\share_vip_api2.lua:51>
[11:07:18] Синтаксис C:\PtokaX\scripts\share_vip_api2.lua:105: bad argument #1 to 'RemoveTimer' (userdata expected, got number)
stack traceback:
[C]: in function 'RemoveTimer'
C:\PtokaX\scripts\share_vip_api2.lua:105: in function 'RemoveMadeOps'
C:\PtokaX\scripts\share_vip_api2.lua:52: in function <C:\PtokaX\scripts\share_vip_api2.lua:51>
[11:07:18] Критическая ошибка в скрипте share_vip_api2.lua ! Скрипт остановлен!


Может кто-нибудь подправит big_smile.gif
Прикрепленные файлы
Прикрепленный файл  share_vip_api2.lua ( 5.01 килобайт ) Кол-во скачиваний: 1
 
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsMagneto - Бесплатный Скрипт Портала Обмена Dc-ссылками Для Локальной Сети
26 UserSide 41 122 27.8.2019, 11:01 Посл. сообщение: CyberGhost404
No New Posts От: Новогодний Скрипт
От темы с ID: 871
0 Евгений 3 167 15.10.2018, 21:44 Посл. сообщение: Евгений
No New Posts А бывают такой скрипт бота?
Скрипт который создает виртуалных юзеров, но с реальными шарами
5 MarkDark 8 091 26.12.2017, 10:47 Посл. сообщение: мамин_парень
No New Posts Скрипт: Бот который отвечает в лс
4 мамин_парень 7 768 11.11.2017, 5:57 Посл. сообщение: мамин_парень
No New Posts как сделать вот этот скрипт
12 мамин_парень 12 452 13.9.2017, 10:51 Посл. сообщение: dimetro
No New Posts Topic has attachmentsИщу скрипт переадресации (redirect)
Переадресация интернет-юзеров
3 AS_Com 7 178 27.8.2017, 8:05 Посл. сообщение: Ksan
No New Posts Topic has attachmentsСкрипт Thunder.lua
7 Евген76 15 267 9.8.2017, 11:48 Посл. сообщение: Ksan
No New Posts Требуется скрипт
Нужен скрипт запрета на подключение
5 Nikolaevich 9 451 20.8.2016, 19:52 Посл. сообщение: Ksan
No new ВАЖНО: Topic has attachmentsСкрипт банов для RusHub
тестим и комменьтруем
79 Wariner 104 251 28.9.2015, 13:34 Посл. сообщение: NeirRon
No New Posts Скрипт загрузки файла
1 FreeNas 6 407 21.7.2015, 10:58 Посл. сообщение: HackFresse
No new Как вызвать bash скрипт из Lua
14 Iskandark 17 205 3.3.2015, 12:42 Посл. сообщение: Iskandark
No new Topic has attachmentsНовогодний Скрипт
API2
22 Tsd 35 538 12.12.2014, 16:28 Посл. сообщение: Tsd
No New Posts Скрипт запрета видеть чат
запрет видеть чат
2 dimetro 7 270 5.12.2014, 17:37 Посл. сообщение: dimetro
No New Posts Topic has attachmentsпеределать скрипт kinozal.tv
6 BOKOREZ 12 963 30.10.2014, 18:29 Посл. сообщение: Dani_Filth
No New Posts Нужен скрипт
mysql, ip filter
2 shadow3c 7 860 20.8.2014, 20:30 Посл. сообщение: shadow3c

 



RSS Сейчас: 22.11.2024, 23:24