Версия для печати темы
MyDC.ru _ Развлекательные скрипты [PtokaX] _ Fans
Автор: rus.region78 18.8.2008, 2:49
Нашёл на офф форуме PokaX,
Скрипт добавляет меню где можно фанатеть по какомунить юзеру и это будут видеть все желающие, в своём роде как уважаемый человек чтоли, если по нему многие фанатеют
Бестолковый скрипт но на хабе поставил, перевёл наобум поэтому поправте что нетак, переконвертировал с API1 в API2
Fans_API2.ZIP ( 2.06 килобайт )
: 422
Автор: DEM0N 18.8.2008, 10:27
а нельзяли добавить в скрипт как в скрипт ChatRanks чтобы можно было смотреть у кого больше фанатов?
Автор: rus.region78 18.8.2008, 13:03
Боюсь если кто воспользуется этой командой то список будет слишком большой думаю не стоит этого делать, темболие на общительных хабах
Автор: *FoxMalder* 18.8.2008, 13:31
можно сделать маленький топ где то 20 ников, а если ник не попал в топ то по личной стате
а так скрипт довольно интересный
Автор: rus.region78 18.8.2008, 14:05
Цитата(*FoxMalder* @ 18.8.2008, 14:31)
можно сделать маленький топ где то 20 ников, а если ник не попал в топ то по личной стате
а так скрипт довольно интересный
Отличная задумка ;) ктобы взялся её воплотить...
Автор: Andrey_SHANDERA 20.8.2008, 16:08
Да и зоодно, переведите под птоку 3.6.0 пожалуйста!
Автор: Sephiroth_Lukaw 20.8.2008, 22:58
Я на каком-то англоязычном форуме отрыл, как раз под API 1, с Английского переводил сам, на скорую руку...так что не обессудь.
Автор: DEM0N 21.8.2008, 10:49
а можно под Api2?
Автор: Wariner 21.8.2008, 23:55
Цитата(DEM0N @ 21.8.2008, 11:49)
а можно под Api2? По внимательнее в первом посте под API2!!!
Ну вот по вашей просьбе добавил топ 20)))))
PS: вот тут подумал, может этот скрипт переделать и назвать его по другому? Типо "Друзья". Смысл как в контакте))) Еслли кому то идея понравилась, пишите, я займусь))))
Автор: *FoxMalder* 22.8.2008, 9:27
ты делай делай а если нам не понравится спасибо мы не скажем :P
и кстати можно тоже самое токо под 360 птоку
Автор: Andrey_SHANDERA 23.8.2008, 10:09
Цитата(Sephiroth_Lukaw @ 20.8.2008, 23:58)
Я на каком-то англоязычном форуме отрыл, как раз под API 1, с Английского переводил сам, на скорую руку...так что не обессудь.
Спасибо тебе огромное, вопрос к специалистам, в этом скрипте, при выборе стать фанатом, необходимо в вести ник того юзера. А можно попросить сделать, что бы на юзера тыкнул и стал фанатом, но и меню написать кого, то же оставить. И хорошо бы, добавить Топ 20, друзья, помогите пожалуйста.
Автор: Sephiroth_Lukaw 23.8.2008, 13:19
Цитата(Andrey_SHANDERA)
А можно попросить сделать, что бы на юзера тыкнул и стал фанатом, но и меню написать кого, то же оставить.
Код
NewUserConnected = function(user)
if tCommands[Addfan].tLevels[user.iProfile] then
SendToNick(user.sName,"$UserCommand 1 3 Фанаты\\Стать фанатом Юзера$<%[mynick]> +"..Addfan.." %[line:Nick]& #124;|")
SendToNick(user.sName, "$UserCommand 1 3 Фанаты\\Стать фанатом Выделенного Юзера$<%[mynick]> +"..Addfan.." %[nick]& #124;|")
end
if tCommands[Showfans].tLevels[user.iProfile] then
SendToNick(user.sName,"$UserCommand 1 3 Фанаты\\Показать фанатов Юзера$<%[mynick]> +"..Showfans.." %[line:Nick]& #124;|")
SendToNick(user.sName, "$UserCommand 1 3 Фанаты\\Показать фанатов Выделенного Юзера$<%[mynick]> +"..Showfans.." %[nick]& #124;|")
end
if tCommands[Delfan].tLevels[user.iProfile] then
SendToNick(user.sName,"$UserCommand 1 3 Фанаты\\Перестать быть фанатом Юзера$<%[mynick]> +"..Delfan.." %[line:Nick]& #124;|")
SendToNick(user.sName, "$UserCommand 1 3 Фанаты\\Перестать быть фанатом Выделенного Юзера$<%[mynick]> +"..Delfan.." %[nick]& #124;|")
end
end
OpConnected = NewUserConnected
RegConnected = NewUserConnected
Между & # убери пробел
upd. Делать было нечего, немного поманьячил над топом Wariner'а(копипастил куски его кода в скрипт под API 1), может быть, перевелось под API1, может и нет...короче вот...прикреплено.У меня, пока что, работает.
upd.
Цитата("Setuper")
все верно, но есть несколько мелких недочетов...
Перезалил. Спасибо.
Автор: Setuper 23.8.2008, 16:06
все верно, но есть несколько мелких недочетов:
в функции getLenght лишняя переменная Nick только забивает стек
более оптимизированно будет так:
Код
function getLenght(Nick) -- функция длинны ника
sLength = string.len(Nick)
if sLength < 20 then
tLength = 20 - sLength
end
Nick = Nick..string.rep(" ", tLength)
return Nick
end
также лишнее повторение действия 2 раза подряд: SaveToFile(fFansFile, Fans, "Fans")
Автор: Andrey_SHANDERA 24.8.2008, 5:20
Всем, ОГРОМНОЕ при огромное спасибо! Всё супер, всё работает на ура!!!!
Автор: Al-j® 28.8.2008, 0:53
Цитата(Wariner @ 22.8.2008, 1:55)
По внимательнее в первом посте под API2!!!
Ну вот по вашей просьбе добавил топ 20)))))
PS: вот тут подумал, может этот скрипт переделать и назвать его по другому? Типо "Друзья". Смысл как в контакте))) Еслли кому то идея понравилась, пишите, я займусь))))
я пишу
суть понял только примерно,расскажи об идее или сразу выложи,а мы дружно оценим ;)
оценим,люди???
З.Ы.: мне пишет ошибку на этой строке(API2 Pt. 0.4.0.0) hFile:write(sTab %[nick] = {\n");
..........attemp to index global hFile (a nil value)
кратко объясню,не добавляет он в фанатов,просто команду в чат кидает
[03:58:11 | 89.113.28.76] <Al-j®> !Addfan [E-burg]Kent.
а за тем вылазит ошибка в скрипте. Думал везде так,но ранг работает (он пуст
)
[03:36:28] ¤ Текущий Toп ранжирования ¤
№: Ник: Колл. фанов
»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
Автор: Wariner 28.8.2008, 9:29
Цитата(Al-j® @ 28.8.2008, 1:53)
суть понял только примерно,расскажи об идее или сразу выложи,а мы дружно оценим ;)
Скрипты будут похожи... главное отличие что при попытке добавить пользователя в друзья будет требоваться подттверждение от этого пользователя и при положительном ответе первый юзер добавляется в список второго и второй в список первого.
Цитата(Al-j® @ 28.8.2008, 1:53)
З.Ы.: мне пишет ошибку на этой строке(API2 Pt. 0.4.0.0) hFile:write(sTab %[nick] = {\n");
..........attemp to index global hFile (a nil value)
проверь есть ли файлы в папке Fans(создал ли ты её вообще?!) Если папка есть но файлов нет, то попробуй в скрипте убрать абсалютные пути.
ЗЫ:тестил скрипт на птоке 0400 всё работало!!!
Автор: Al-j® 28.8.2008, 14:45
Цитата(Wariner @ 28.8.2008, 11:29)
проверь есть ли файлы в папке Fans(создал ли ты её вообще?!) Если папка есть но файлов нет, то попробуй в скрипте убрать абсалютные пути.
ЗЫ:тестил скрипт на птоке 0400 всё работало!!!
как всё просто)))я ваще об этом не подумал
СПАСИБО!!!
Цитата(Wariner @ 28.8.2008, 11:29)
Скрипты будут похожи... главное отличие что при попытке добавить пользователя в друзья будет требоваться подттверждение от этого пользователя и при положительном ответе первый юзер добавляется в список второго и второй в список первого.
эта идея мне оч нравится)))
Автор: СТУДЕНТ 3.9.2008, 23:51
Спасибо за скрипт
Автор: li4nost 8.3.2009, 23:07
скажите, а можно как нить переделать этот скрипт, чтоб стало похоже на форумную репутацию?
не фанатеть по 1 пользователю 1 раз и на все время, а говорить "пасибо" столько раз, сколько нужно.
только чтоб самому себе нельзя говорить было (в этом скрипте фанатеть за себя можно)
очень нужно
Автор: ART8150 16.9.2009, 13:54
Кто сделал это скрипт под API2 пожалуста выложите у кого рабочий или киньте в личику мне заранее спасибо !!!
Автор: Wariner 16.9.2009, 17:35
почему то на такие изрречения хочется всегда ответить грубостью....
качай отсюда http://mydc.ru/index.html?showtopic=292&view=findpost&p=1843
Автор: Gate001 12.10.2009, 19:44
Wariner? обращаюсь к вам и ко всем пользователям, кто имеет дело с unix-данный скрипт "гадит в корне".
Прочитал тему (http://mydc.ru/topic539.html), но пока исправить не удалось. Можно ли поправить данный скрипт под nix?
С горем пополам поправил сам.
Изменил в начале скрипта переменные, отвечающие за пути к файлу. У меня на дебиане работает.
Если кому нужно-забирайте.
Автор: Gate001 13.10.2009, 19:06
Еще одна просьба, если кому не сложно.
Взять скрипт из поста выше и переделать его так, чтобы возможность "фанатеть" была только у зарегистрированых пользователей и выше (вип, ОП, админ).
Иными словами, чтобы у гостей не было возможности добавляться в список фанатов кому-то. Опционально-чтобы и к гостям в список нельзя было добавляться.
Автор: Wariner 13.10.2009, 19:51
для того чтоб незарег не могли пользовать команды надо сделать с каждой так так
Код
if cmd == "!Addfan" then
if user.iProfile ~= -1 then
...
end
return true
end
надеюсь понятно написал
Автор: Gate001 13.10.2009, 21:03
Да, спасибо. Сработало. Попробую этим же кодом "отобрать" у гостей менюшки для добавления в фанаты. А то неудобно-меню осталось, хотя и не действует.
Автор: Wariner 13.10.2009, 22:09
конечно же меню скрывается этим же кодом))))
Автор: Gate001 15.10.2009, 8:30
Вот, переделал под себя.
Из переделок:
Корректно работает под *nix (не гадит файлами в корне)
У гостей отобрал права на добавление/удаление фанатов. Теперь они могут только смотреть топ рангов и списки фанатов у пользователей
Убрал менюшки, требующие ввода ника (Типа добавиться в список фанатов-введите ник). Добавление и удаление доступно при правом клике на юзера.
Делал для себя. Если кому пригодится-берите.
Автор: Wariner 15.10.2009, 19:21
твоё последние сообщение я оставлю, но на будущее не надо прикладывать скрипт с незначительными переделками! Каждый настроит под себя сам!
Автор: Gate001 19.10.2009, 19:20
Хорошо, понял.
Кстати, можно ли добавить след. сообщения типа
Цитата
Пользователь такой то добавился в фанаты пользователя
Пользователь такой то ушел из фанатов пользователя
Я в принципе вроде как понимаю как добавить такое, но не знаю куда... Вот
Код
if cmd == "!Addfan" then
if user.iProfile ~= -1 then
local _,_,nick = string.find(sData, "%b<>%s+%S+%s+(%S+)")
if nick then
if nick ~= user.sNick then
if not Fans[nick] then
Fans[nick] = {}
end
if Fans[nick][user.sNick] == 1 then
Core.SendToNick(user.sNick,"Вы уже добавляли себя в список фанатов к "..nick)
else
Fans[nick][user.sNick] = 1
SaveToFile(fFansFile, Fans, "Fans")
if not FansTop[nick] then
FansTop[nick] = 1
SaveToFile(fFansTopFile, FansTop, "FansTop")
else
FansTop[nick] = FansTop[nick] + 1
SaveToFile(fFansTopFile, FansTop, "FansTop")
end
Core.SendToNick(user.sNick,"Вы создали фан-лист для "..nick)
end
else
Core.SendToNick(user.sNick,"Вы не можете быть фанатом самому себе :P")
end
else
Core.SendToNick(user.sNick,"Пожалуйста вводите верный НИК")
end
end
return true
end
А для удаления:
Код
if cmd == "!Delfan" then
if user.iProfile ~= -1 then
local _,_,nick = string.find(sData, "%b<>%s+%S+%s+(%S+)")
if nick then
if not Fans[nick] then
Core.SendToNick(user.sNick, nick.." нет в базе данных")
end
if Fans[nick][user.sNick] then
Fans[nick][user.sNick] = nil
SaveToFile(fFansFile, Fans, "Fans")
FansTop[nick] = FansTop[nick] - 1
SaveToFile(fFansTopFile, FansTop, "FansTop")
Core.SendToNick(user.sNick,"Вы удалили себя из списка фанатов у "..nick)
else
Core.SendToNick(user.sNick,"Вас нет в списке фанатов у "..nick)
end
else
Core.SendToNick(user.sNick,"Пожалуйста вводите верный НИК")
end
return true
end
Здесь вроде как строку нужно приписывать после
Код
Core.SendToNick(user.sNick,"Вы удалили себя из списка фанатов у "..nick)
. Верно?
Т.е что то типа:
Код
Core.SendToAll(user.sNick," ушел из фанатов пользователя "..nick)
А вот куда пихать строку для добавления в фанаты-ума не приложу.
Автор: Wariner 19.10.2009, 19:24
можно просто сменить строчку
Код
Core.SendToNick(user.sNick,"Вы удалили себя из списка фанатов у "..nick)
на
Код
Core.SendToAll(user.sNick..", ушел из фанатов пользователя "..nick)
ну или просто добавить :
Код
Core.SendToNick(user.sNick,"Вы удалили себя из списка фанатов у "..nick)
Core.SendToAll(user.sNick..", ушел из фанатов пользователя "..nick)
Автор: Gate001 19.10.2009, 20:31
Спасибо, работает.
А код для добавления?
Нужно что-то заменить вот на это, а что?
Код
Core.SendToAll(user.sNick.."записался в фанаты пользователя "..nick)
UPD: Очевидно вместо этого:
Код
Core.SendToNick(user.sNick,"Вы создали фан-лист для "..nick)
Вопрос снят.
Автор: Плюшевая_мишка 10.12.2013, 21:03
А можно попросить выложить конечный вариант скрипта с добавленными фразами?.. Если, конечно не жалко)) На API2 пойдет?