Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
26.8.2010, 13:35 |
Официальная страничка RusHUB Внимание - вопрос |
Теперь прикручен и |
Ksan, Accelerator, Saymon21 | ||
25.8.2010, 6:10 |
Setting Saver API2 | Сохраняет настройки хаба |
Отправляет по таймеру только указанному нику. Смотри в настройках Код local sReportNick = "Tsd" -- Отправлять нику сообщение о сохранении по таймеру. Оставьте пустые кавычки если не надо |
xXx-Portal | ||
23.8.2010, 12:47 |
Полоса в меню |
Поправил, и не забывайте что || надо заменить на & #124;| без пробела, естественно. |
random name | ||
18.8.2010, 11:49 |
Помогите ! со скриптом ) |
Надо всего-то удалить Код tCommands["lifetime"].fFunction(user) Старайся выражаться яснее, чтобы твоя просьба была понятна всем! На непонятные темы ответов не жди. P.S.: за следующую названную ТАК тему будут вешаться предупреждения, после бана мог бы и ознакомиться с правилами форума. |
Don_Kocha | ||
16.8.2010, 16:58 |
Ваши Вопросы И Предложения По Поводу Форума |
Вернул назад форму быстрого ответа и ее закрытость. Проблема с неработающим быстрым редактированием сообщений в теме устранилась. |
Ksan, alex82 | ||
12.8.2010, 17:51 |
Поиск по TTH на MySQL |
Мы уже немного обкатали скрипт с Saymon'ом, оказывается для нормальных ответов надо в файле Searcher.lua выставить настройку Код -- Адрес программы-клиента: таким образом, что ее значением будет ваш внешний айпи, на который присоединяются юзеры, именно айпи! К примеруcfg.sServerAddress = "127.0.0.1" Код -- Адрес программы-клиента: Плюс еще можно в скрипте lua.lua уменьшить интервал поиска, для более быстрой работы программы, сейчас там 15 секунд, попробуйте 10 или 5. Если что - заходите на хаб, спросите там, общаться в онлайне как-то оперативнее Да и в фильтре тоже меняется адрес на ваш внешний, пока это недоработки, исправлю по возможности.cfg.sServerAddress = "93.125.40.40" |
Saymon21 | ||
12.8.2010, 12:14 |
Поиск по TTH на MySQL |
Итак, давайте попробуем 1 версию в действии Первым делом дополняем бд: Код ALTER TABLE `tbl_link` ADD `DATEUP` DATETIME NULL DEFAULT NULL , ADD `DATEFIRST` DATETIME NULL DEFAULT NULL , ADD `USERSEEDER` INT( 11 ) NOT NULL DEFAULT 0 , ADD `USER` TEXT NOT NULL; Теперь надо скачать программу, обрабатывающую поисковые ответы и работающую с бд, качаем из этого поста Searcher_server.rar и распаковываем куда-нибудь, теперь заходим в папке этого "сервера" в файл lua.lua и видим там конфиг, правим его как надо, указываем правильные юзера и пароль к бд, задаем порты, интервалы поиска и прочее. Сохраняем этот файл. Теперь создаем ярлык для lua.exe и в параметрах запуска добавляем ключ -d чтобы вышло что-то типа Цитата C:\Server\luaaio_2.0_windows\lua.exe -d Теперь запускаем этот ярлык и сворачиваем получившееся окно.Далее загружаем и кладем скрипт Searcher.lua в папку скриптов птоки, для работы скрипта потребуется библиотека сокетов. Запускаем скрипт в птоке и теперь можно посмотреть как пошел процесс в отладочном окне программы-поисковика (она свернулась в трей). Пока все, если что-то непонятно - спрашивайте. Функций поиска с сайта пока нет, проверьте на баги первую версию... P.S.: мне кажется понадобится пробросить порты программы в случае с роутером, их 2 штуки. P.P.S.: результаты работы находятся в базе данных, не думаю что в отладочных сообщениях вам будет по-кайфу разбираться, они, в принципе, только для меня. P.P.P.S.: от вас жду хака на магнето, выложенного так же публично P.P.P.P.S.: при использовании скриптов было бы очень любезно сделать активную ссылку (хотя бы у копирайтов движка внизу) на этот форум. |
Lesh™, Saymon21 | ||
11.8.2010, 23:56 |
Помогите реализовать скрипт с PtokaX для Verlihub |
Вернее будет так: Код local _,sIP = VH:GetUserIP(user) Верли еще возвращает переменную результата выполнения запроса, которая нам обычно не нужна и ее можно опустить пустым значением. + не забываем делать переменные локальными Плюс в верли есть такая штука, почти все вызываемые функции имеют обратимость, но для этого не как в птоке надо сделать return true, а вернуть отличное от 1 значение, если мы не хотим останавливать выполнение функции, то необходимо вернуть 1, Код function VH_OnUserLogin(user) VH:SendDataToUser("<"..Bot.."> Тема: '"..tTopic.Topic.."', установил "..tTopic.SetUser.." ("..tTopic.sDate..")|", user) local _,sIP = VH:GetUserIP(user) VH:SendDataToUser("<"..Bot.."> Привет "..user..", добро пожаловать на Дом.ru P2P сервис. Ваш IP: "..sIP.."|", user) return 1 end function VH_OnParsedMsgChat(user,data) local cmd = data:match"%b<>%s+(%S+)" if cmd and cmd == "!topic" then local sMsg = data:match"%b<>%s+%S+%s+(.*)" if not sMsg then VH:SendDataToUser("<"..Bot.."> Вы не ввели текст топика|", user) return 0 end tTopic = { sDate = os.date"%H:%M:%S / %d.%m.%y", SetUser = user, Topic = sMsg } SaveToFile(filename, tTopic, "tTopic") end return 1 end |
Herurg | ||
7.8.2010, 19:52 |
Хочу провести на хабе жеребьевку ФИФА Чемп мира или лигу чемп всеравно |
Держи, ники и команды надо вписывать руками... Результат выдается по запуску скрипта. |
van21 | ||
4.8.2010, 19:00 |
Ваши Вопросы И Предложения По Поводу Форума |
Setuper, вставляется в форум быстрого ответа. Обнови кеш, скорее всего проблема в нем т.к. обновлялись некоторые жаваскритпы. Не так уж и много добавилось, а левая панель скрывается. По-моему так удобней с некоторыми дополнительными функциями из основного редактора. |
Saymon21 | ||
4.8.2010, 18:52 |
Ваши Вопросы И Предложения По Поводу Форума |
Пока добавил кнопку для цитирования ника, сделал расширенным и всегда открытым быстрый ответ. Для основного скина добавил расширение для красивого отображения увеличенных картинок (по нажатию на миниатюре). |
Ksan, Saymon21, X-Sky | ||
3.8.2010, 16:08 |
IP Info API2 | Информация об IP-адресах, отправленных в главный чат |
По просьбе одного из участников форума добавил кое-какой функционал, протестируйте... Цитата Версия 1.01 by Nickolya: - если в сообщении несколько ip - отображается информация по каждому - добавлен вывод информации о доменных именах, теперь необходима еще и бибилиотека socket - добавлена опция вывода сообщений об адресах для всех юзеров Вот результат работы: Цитата <IP-Info> Информация об адресе mydc.ru ( 79.174.78.92 ) : Форум администраторов хабов ( Сервер mydc.ru ) <Nickolya> http://mydc.ru/ http://mydc.ru/ http://mydc.ru/ <IP-Info> Информация об IP-адресе 79.174.78.92: Сервер mydc.ru <Nickolya> 79.174.78.92 <IP-Info> Информация об адресе www.ya.ru ( 93.158.134.3 ) : Поисковая система Яндекс <Nickolya> www.ya.ru P.S.: скрипт может сильно тормозить хаб из-за работы библиотеки сокетов... |
intlive, rus.region78, Invisible, Saymon21, Chimera, Cyber_voodoo | ||
2.8.2010, 23:06 |
С Днюхой Тебя! поздравления |
А сегодня поздравляем нашего повсеместного модератора, администратора и просто хорошего человека X-Sky! Всего хорошего, развития твоих проектов, успехов во всех остальных начинаниях и конечно же оставаться и совершенствоваться в нашем сообществе! |
X-Sky | ||
30.7.2010, 12:59 |
Нужен скрипт ставящий люб приставку перед ником! Чтоб она везде отображался на хабе |
Уже обсуждалось что не надо делать какие-либо приписки к никам в юзер-листе. Пусть ставят сами, а если не дано - пусть не суются... Либо берись писать инструкцию в картинках что да куда нажимать чтобы сменить ник. |
van21 | ||
27.7.2010, 23:27 |
HubTopic Скрипт показывающий ваш текст в строке состояния |
Скрипт менюшек выполняет функцию OnUserEnter при отсылке меню, чтобы не было повторной отправки надо заменить Код function OnUserEnter(UID) на if tAccess[UID.iProfile] then Core.SendToUser(UID,"$UserCommand 1 3 "..tCfg.Menu.."\\Установить тему$<%[mynick]> !хабтопик %[line:Введите тему чата]|") Core.SendToUser(UID,"$UserCommand 0 3") Core.SendToUser(UID,"$UserCommand 1 3 "..tCfg.Menu.."\\Удалить тему$<%[mynick]> !хабтопик офф|") end if sHubTopic then Core.SendToUser(UID,"$HubTopic "..sHubTopic) end end Код function OnUserEnter(UID) if sHubTopic then Core.SendToUser(UID,"$HubTopic "..sHubTopic) end ContextMenu(UID) end function ContextMenu(UID) if tAccess[UID.iProfile] then Core.SendToUser(UID,"$UserCommand 1 3 "..tCfg.Menu.."\\Установить тему$<%[mynick]> !хабтопик %[line:Введите тему чата]|") Core.SendToUser(UID,"$UserCommand 0 3") Core.SendToUser(UID,"$UserCommand 1 3 "..tCfg.Menu.."\\Удалить тему$<%[mynick]> !хабтопик офф|") end end А чтобы сменить топик надо отправлять еще и $HubName, но надо не забыть в нем имя хаба |
Saymon21 | ||
27.7.2010, 22:38 |
Скрипт статистики для админов Статистические данные о посещаемости |
valdis73, если надо скрипт можно сделать так чтобы он считал только определенных пользователей. Опиши тут как лучше, по приставке в нике или по диапазону адресов и мы тебе скажем что сделать чтобы получить желаемое тобой. |
valdis73, мамин_парень | ||
26.7.2010, 21:54 |
Trans API1, API2 |
Сделал проверку слова на ник юзера, может кривовато работать... |
Invisible | ||
26.7.2010, 18:33 |
Cleanreg API2 | Скрипт чистки регистраций |
Если скрипт работает, то его синтаксис тебя не должен заботить, прекращай заниматься ерундой. Не уверен что внятно и правильно объяснил, но если интересно - попробуй вникнуть А ошибка из-за того что к таблице 'SetMan' идет обращение в основной части программы, а не в функции, а существует таблица только когда хаб включен и скрипт запущен. |
striker | ||
26.7.2010, 17:02 |
Скрипт статистики для админов Статистические данные о посещаемости |
Приделать функцию работы исключительно с определенным диапазоном адресов можно, не думаю что это будет проблемой, тем более код очень хорошо прокомментирован. Тем более все упирается в одну строку в скрипте)))) Код local iUC = Core.GetUsersCount() -- текущее кол-во юзеров |
valdis73, мамин_парень | ||
26.7.2010, 10:05 |
Ваши Вопросы И Предложения По Поводу Форума |
"Архив" создал, перенес в него все что было, по тому посту выше о перемещении тоже все сделано, теперь ищите всю информацию в соответствующих разделах Если у модераторов есть мысли по разделам и/или перемещению/удалению тем - пишите, разложим все по полкам, ведь отдельный форум для этого и создавался. |
Setuper, Saymon21 | ||
26.7.2010, 1:07 |
Ваши Вопросы И Предложения По Поводу Форума |
А пока тихо и незаметно появились разделы Скрипты для Eximus, Библиотеки и модули, Сетевые скрипты и Безопасность. Первые 2 раздела я заполнил перенесенными темами, последние два возлагаю на ваши плечи. Все замечания, как всегда, обсуждаются здесь. |
Otshelnik-Fm, Saymon21 | ||
24.7.2010, 19:44 |
Сообщение юзерам с нулевой шарой Сообщение юзерам с нулевой шарой |
Если ты про скрипт Артема - то надо сделать все то что я описывал выше и добавить еще в самом конце Код ChatArrival = UserConnected |
Perspect | ||
23.7.2010, 23:22 |
Логотип для RusHub'а ваши варианты и предложения |
Продолжим творческий марафон Жду Ваших оценок... |
KT315, Saymon21, X-Sky | ||
23.7.2010, 10:41 |
С Днюхой Тебя! поздравления |
Хочу поздравить Илью (он же наш модератор Wariner) с Днем Рождения! Всех благ, светлой головы, доброго настроения, чистой души и конечно же правильного кода Лично от меня - спасибо за то что состоялось такое знакомство |
Wariner | ||
20.7.2010, 14:00 |
Запрет пустого сообщения API 2 |
Да, не позволит, но он не учитывает неразрывный пробел, поэтому будет достаточно вот такого кода Код function ChatArrival(tUser, sData) if sData:find("^%b<>[%s"..string.char(160).."]+|$") then return true end end |
Serx, Saymon21, RoL, WINS, мамин_парень | ||
15.7.2010, 16:18 |
ChatNickChanger by Nickolya API2 | Скрипт смены ников выводимых в чат |
Чтобы не палиться при использовании команды кика через клиента (при отправке <nick> is kicking ... because: ...) необходимо перед Код local tChangedNickTable = tChangedChatNicks[tUser.sNick] or false добавить Код if sData:match "^%b<>%s+is%s+kicking%s+.+$" then return end |
Milena, Saymon21 | ||
9.7.2010, 10:47 |
Часто задаваемые вопросы Eximius | Читать всем без исключения! |
Я так понимаю это изложение своими словами и опытом вот этой темы? Спасибо тебе Тём! Надеюсь тут для новичка понятнее. |
sania | ||
6.7.2010, 9:56 |
Help Возможноли зделать RSS парсинг с UCOZ сайта |
Берем тогда обычный скрипт рсс, можно отсюда: RSS Ленты, API2 | Скрипт для просмотра новостных лент, конфигурируем, можно допилить как надо. Все что я сделал - добавил перекодирование из утф8 и указал адрес ленты + поправил косяк с сохранением файла. |
Wan | ||
5.7.2010, 17:50 |
Fuck2UnReg API1, API2 | Скрипт ограничений для незарегистрированных юзеров |
Надо конечно. В самое начало тогда добавляй таблицу с профилями блокируемых: Код tLockProfiles = { [3] = true, [-1] = true, } И 3 раза в скрипте заменяй Код if tUser.iProfile == -1 and на Код if tLockProfiles[tUser.iProfile] and |
truth, мамин_парень | ||
5.7.2010, 17:14 |
Eximius Windows |
Создал я отдельный форум. От вас жду наполнения информацией по данному хабу. Артём, ты модерируешь этот форум. |
Артём, Saymon21 | ||
5.7.2010, 14:37 |
Домены Для Вашего Хаба Как думаете? |
Домены есть, не было меня Домен оформил: sinsei.mydc.ru |
Sinsei | ||
5.7.2010, 11:45 |
Помогите со скриптом для птоки который удалялбы неиспользуемые реги Помогите со скриптом для птоки который удалялбы неиспользуемые реги |
Темы я кое-как совместил. Автору - сначала изучай форум, потом пиши, ок? |
X-Sky, bot9ra | ||
28.6.2010, 9:14 |
Джинглы "русского Радио" API2 | Вывод случайного джингла из текст.базы |
В Код function UserConnected(user) удалить Core.GetUserAllData(user) INFUserRightclicker(user,data) INFTMR(user, true) end Код INFTMR(user, true) |
GangstaR, prokazzza | ||
25.6.2010, 20:59 |
Пустые строки в тригерах |
Открываешь файл в Notepad++, там выбираешь "Правка"->"EOL Конверсия"->"Преобразовать в UNIX-формат" |
переподвыподверт | ||
25.6.2010, 20:50 |
Радио для хаба информационный скрипт |
Изучи эти 3 темы: Winamp Server Radio, API1 | Радио для пользователей хаба через Winamp Срипт ON AIR Скрипт для icecast Затем еще хотелось бы видеть ссылку на информацию что тебе нужна. Мы же не знаем какой у тебя формат данных чтобы сделать анализ реально ли это или нет. |
Saymon21, мамин_парень | ||
24.6.2010, 11:03 |
Elf Girls API2 | Бот-болтун |
Удали Код TimerR = TmrMan.AddTimer(math.random(math.mintime,math.maxtime)) -- this timer works it gives a nice interval between chat Код chatter = convos[math.random(1,#convos)] Код if tID == TimerR then Core.SendToAll("<"..prefix..elf.."> ".. chatter) for i,v in pairs(BotTrig) do for a,b in pairs(v) do if(string.find(string.lower(chatter),string.lower(i))) then --// start a new timer after the trigger --// this shld give different delays on answer questions from bot to bot TimerD = TmrMan.AddTimer(ChatDelay[math.random(1,table.getn(ChatDelay))]) reply = reply..""..string.gsub(v[math.random(1,table.getn(v))], "%b[]",v) return true end end end end |
prokazzza | ||
24.6.2010, 9:38 |
PM при подключении |
Можно и вот так попробовать: Код iTimerInterval = 60*60 -- время в секундах на рассылку сообщений никам tNicksToSend = { -- ники для отправки ["Nickolya"] = true, ["Nick2"] = true, } -- само сообщение: sMsg = "*** Сообщение от администрации..." function OnStartup() sBot = SetMan.GetString(21) TmrMan.AddTimer(iTimerInterval * 1000, "Send") end function Send() for sNick in pairs(tNicksToSend) do Core.SendPmToNick(sNick, sBot, sMsg) end end function UserConnected(tUser) if tNicksToSend[tUser.sNick] then Core.SendPmToUser(tUser, sBot, sMsg) end end OpConnected = UserConnected RegConnected = UserConnected |
мамин_парень | ||
23.6.2010, 19:08 |
Скрипт для отключения скрипта Нужен скрипт для отключения скрипта по времени |
А скрипт у тебя так и называется? Код sName = "antimat.lua" Надо сменить эту настройку на имя твоего файла для работы скрипта. + Я внес 1 правку, скопируй код их поста alex82'а выше заново. |
Dan Claimant, Тёмич | ||
23.6.2010, 18:53 |
Weather [ Api 1&2 ] [ By Nickolya ] API2 | Расширенная погода с rp5.ru |
Может фиксы были только во 2 апи ввиду его текущей поддержки как основного. Попробуй поправить скрипт в соответствии с моими правками в середине этой темы. Ни у кого больше таких проблем сейчас нет?? |
7up | ||
20.6.2010, 17:57 |
Freshstuff3 5.0.1 API2 | Русская версия | Скрипт релизов и заказов |
Я лишь предположу что это код из файла freshstuff/ptokaxnew.lua в котором надо удалить: Код if #AllStuff > 0 then -- to avoid sync errors and unnecessary function calls/tanle lookups -- declare the local variable local stuff = WhenAndWhatToShow[os.date("%H:%M")] if stuff then if Types[stuff] then Core.SendToAll("<"..Bot.name.."> "..ShowRelType(stuff)) else if stuff == "new" then Core.SendToAll("<"..Bot.name.."> "..MsgNew) elseif stuff == "all" then Core.SendToAll("<"..Bot.name.."> "..MsgAll) else Core.SendToOps("<"..Bot.name.."> В таймер лист была добавлена категория, которой не существует. Нечего выводить. :-)") end end end end |
prokazzza | ||
19.6.2010, 14:04 |
Админка че то не понятно! |
И конечно лучше еще воспользоваться RusRC. |
voronf4 | ||
17.6.2010, 20:27 |
Скрипт Release для PtokaX 0.4.1.x нужен скрипт аля Release or Request (by jiten) под API2 |
По-быстрому перевел, проверил только поверхностно. Базы можно взять старые. А команды скрипта может блокировать скрипт выше этого, попробуй запустить его одного на хабе. |
foralls, мамин_парень | ||
17.6.2010, 9:31 |
Antibot API2 | Скрипт против ботов |
В принципе сумма 2 чисел - арифметическая задачка, решение которой в флуд-боте реализовать не сложно. Но решение задачи можно реализовать во всех вариантах, надо что-то конкретно человекозависимое, капчу мы не берем т.к. это дц. Можно выводить произвольный ряд чисел и просить выбрать большее/меньшее, это интуитивно проще чем складывать числа, к примеру: Цитата Выберите меньшее из чисел: 463, 23567, 45, 57213, 49, 730, 358 Еще хочу вам предложить пару идей для скрипта, если одобрите - реализуем: если юзер возвращается на хаб под тем же айпи, что был у него при вводе команды, то ему не надо вводить код, можно к этому ввести ограничение по времени для действия этой функции, 1 день, к примеру. И еще можно не переспрашивать код если человек вернулся на хаб в течении 5 минут вне зависимости от айпи. |
Drakula | ||
15.6.2010, 16:26 |
ChatLogsMySQL версия 4.3d |
Accelerator, а экранирование данных в запросах ты вообще не применяешь? Получается огромная брешь в скрипте... |
Accelerator | ||
10.6.2010, 19:44 |
Weather [ Api 1&2 ] [ By Nickolya ] API2 | Расширенная погода с rp5.ru |
Да, скрипт полностью ориентирован на интернет, без него смысла не имеет. Чтобы убрать зависания на минуту выстави сам максимальное время на ожидание ответа от библиотеки. Для этого после Код http = require("socket.http") -- loads the HTTP module and any libraries it requires (загружаем библиотечку) добавляй Код http.TIMEOUT = 2 Где 2 - время в секундах на "зависание" хаба. |
prokazzza | ||
9.6.2010, 9:43 |
Открытие хаба |
-=FugeN=- 2, по-моему все справедливо, не прикидывайся идиотом. Перечитай причину бана и перестань заниматься дурью в нашем сообществе. |
Maximum, Berkut, Saymon21, andromed | ||
7.6.2010, 18:46 |
Запрет снятия банов, поставленных другими людьми |
Попробовал учесть ваши пожелания, доработав набросок Alexey'а. Добавил таблицу ников, на которые не будет действовать скрипт: Код local tSuperUsers = { ["Nickolya"] = true, } P.S.: не тестил... |
Saymon21, bot9ra, AndreiDC | ||
7.6.2010, 13:44 |
Запрет снятия банов, поставленных другими людьми |
Перечисли список команд, которые должен проверять скрипт. + еще есть команда очистки всех банов, которую я думаю надо запретить ОПам... |
bot9ra | ||
7.6.2010, 13:01 |
Ipgag V.3.01 API1 | навороченная заглушка юзеров |
В файле Ip.gag.3.0.functions.lua найди Код local data = string.sub(data,1,-2) затем вырежи этот код и помести сразу за local _,_,cmd = string.find(data,"%b<>%s"..prefix.."(%S+)") if cmd and cmdlist[cmd] then if CheckRights(user,cmd) == 1 then return cmdlist[cmd]["Function"](user,data) else user:SendData(BOT,"У вас нет прав, для использования данной команды") end end Код function ChatArrival(user, data) тогда команды будут работать. А вообще мой тебе совет - уволь дурацких ОПов и проблема исчезнет сама по себе. |
Kocha | ||
7.6.2010, 10:04 |
Проблемка с малюсеньким скриптиком для экзекутора! Кто поможит? Проблемка с малюсеньким скриптиком для экзекутора! Кто поможит? |
Поменяй Код ChatArrival = function(tUser,sData) на local s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)") if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды") return true end S1 = string.sub(S1,1,string.len(S1)-1) if cmd == "!экшн" then Core.SendToAll("## "..tUser.sNick.." "..S1.." ##") return true end if cmd == "!action" then Core.SendToAll(">> "..tUser.sNick.." "..S1.." <<") return true end end Код ChatArrival = function(tUser,sData) local s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)") if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды") return true end if S1 then S1 = string.sub(S1,1,string.len(S1)-1) if cmd == "!экшн" then Core.SendToAll("## "..tUser.sNick.." "..S1.." ##") return true end if cmd == "!action" then Core.SendToAll(">> "..tUser.sNick.." "..S1.." <<") return true end end end |
bot9ra, sania | ||
6.6.2010, 14:51 |
Проблемка с малюсеньким скриптиком для экзекутора! Кто поможит? Проблемка с малюсеньким скриптиком для экзекутора! Кто поможит? |
Может стоит выложить твою "дописку" (можно околоошибочный код)? Без этого тебе никто не подскажет какая ошибка в коде. Или ищи на форуме решение частых проблем. |
bot9ra | ||
4.6.2010, 14:29 |
Антиреклама для PtokaX API1, API2 | Скрипт антирекламы для чата и лички |
Спасибо за скрипт, но будьте добры его прикладывать к сообщению, ссылки на сторонние хранилища не приветствуются. |
мамин_парень | ||
4.6.2010, 10:01 |
Домены Для Вашего Хаба Как думаете? |
4eBA, если на второй хаб - можно, на 1 хаб 2 домена не делаем. |
Чебурашка | ||
2.6.2010, 12:27 |
Скрипт для icecast |
А... В принципе можно сделать команду вывода того что выводится по таймеру. Не более, для остального просто нет информации. Как будет возможность - добавлю. |
belradio | ||
2.6.2010, 10:16 |
От: Экзекутор (ekzekutor) От темы с ID: 1403 |
Конечно поможем! Если что - мы часто на хабе, да и на форуме стараемся оперативно отвечать. |
Saymon21 | ||
2.6.2010, 9:58 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
А если сделать вот так? Код function GetNickListArrival(tUser) $GetNickList же отсылается в любом случае Однако надо контролировать зашел ли юзер на хаб, иначе при каждом обновлении юзерлиста будет выполняться код.if not Core.GetUserValue(tUser, 9) then -- bConnected Core.SendToUser(tUser,"<"..sBot.."> Загрузка...") end end |
VNoName | ||
30.5.2010, 23:37 |
Скрипт для icecast |
В пхп коде разбираться не охота, но такую страницу пропарсить - плевое дело. Вот пример кода который выдает в чат с заданными интервалом информацию о станции в виде Цитата <PtokaX> *** 0 человек сейчас слушают на BelRadio [ Учел возможность данных в утф и еще кое-какие приятные мелочи, смотрите в настройках Для работы понадобится библиотека LuaSocket. Сейчас заметил что количество слушателей не показыватся, поэтому это можно опустить заменив Код Core.SendToAll(sBot..""..iListeners.." человек сейчас слушают на "..sServer.." [ "..sSendUrl.." ] "..sWeListen) на Код Core.SendToAll(sBot.."На "..sServer.." [ "..sSendUrl.." ] сейчас играет: "..sWeListen) И еще вижу что русские буквы выводятся в непоймикакой кодировке... :( Скрипт выводит их как нижнее подчеркивание. У вас там вывод идет в CP1252 вместо CP1251, хотя вообще должно быть в утф, с этой кодировкой мы вообще не работали, может кто скажет как перевести средствами скрипта по аналогии с этими функциями? Вот таблицы кодировок: |
HackFresse, Saymon21, dj_crazy_joker | ||
29.5.2010, 15:16 |
Antibot API2 | Скрипт против ботов |
Код * Версия 1.2 by Nickolya * + сообщения отсылаются от ника бота хаба * + при сообщении от бота в привате указывается что сообщение доставлено не было * + блокировка юзера на заданное время при заданном количестве неправильных ответов на вопрос: опции iBlockNumbers и iBlockTime * + если юзер, которому разрешено писать, напишет тому, кому это запрещено, то на вопрос отвечать не придется, но только в привате написавшего юзера |
Артём, Drakula, stone | ||
29.5.2010, 14:16 |
От: StatPX От темы с ID: 1269 |
Попробуй отсюда скачать. Запаковал в rar. |
Wan | ||
29.5.2010, 14:02 |
TopicManager API2 | Управление заголовком хаба |
Чтобы не вылетала ошибка в 220 строке замените Код Core.SendPmToNick(tControlNicks[i], sBot,("%s пытался сменить топик на: %s"):format(tUser.sNick, sTopic)) на Код Core.SendPmToNick(tControlNicks[i], sBot,("%s пытался сменить топик на: %s"):format(tUser.sNick, sTopic or "[пустая команда]")) X-Sky, чтобы дополнить топик не надо вписывать еще 1 аргумент, надо дополнить строку: Код SetMan.SetString(10, sTopic.." ("..tUser.sNick..")") С обновлением топика ты заморочал конечно, тебе надо чтобы при определенной команде в топике было 2 топика? |
X-Sky | ||
29.5.2010, 13:42 |
Textfiles_manager_and_updater API1, API2 | Обновление TXT файлов по интервалу |
Добавил нужную тебе фишку в скрипт, надеюсь все как надо, плюс совместил апи 1 и 2 в одном скрипте и профиксил один глюк там. |
Invisible, Kingston, TiGRpp, ramzes | ||
26.5.2010, 10:48 |
InfoMenu API2 | Скрипт показывающий информацию о хабе и о юзере в меню |
Заменить Код a,b,c = tonumber(a),tonumber(b),tonumber(c) на Код a,b,c = tonumber(a or 0),tonumber(b or 0),tonumber(c or 0) |
Saymon21, TiGRpp, ™Wizard™, sania | ||
23.5.2010, 20:53 |
Нужен скрипт описания. |
Может проще отключить его в принципе своем? Или там необходимо у всех что-то писать??? Подобные скрипты для птоки - сущий изврат. |
intlive, forZejkee | ||
23.5.2010, 19:06 |
BanLogger API2 | Логирование банов, вывод в чат по команде |
Обрезанный донельзя скрипт: CODE tBanCmds = { ban = true, banip = true, fullban = true, fullbanip = true, nickban = true, tempban = true, tempbanip = true, fulltempban = true, } function OnStartup() sBot = SetMan.GetString(21) tWhomWeSee = {} tBansLog = {} tMasterBansLog = {} sPath = Core.GetPtokaXPath().."scripts/" if loadfile(sPath.."tBansLog.tbl") then dofile(sPath.."tBansLog.tbl") end if loadfile(sPath.."tMasterBansLog.tbl") then dofile(sPath.."tMasterBansLog.tbl") end TmrMan.AddTimer(1000, "OnTimer1") end function OnTimer1() local tRemove = {} for i, tData in ipairs(tWhomWeSee) do local tBan = BanMan.GetBan(tData[1]) if tBan then if tBan[1] then tBan = tBan[#tBan] end local tBanTbl = { sBy = tBan.sBy or tData[2], iTime = tData[3], iExpireTime = tBan.iExpireTime, sIP = tBan.sIP, sNick = tBan.sNick, bIpBan = tBan.bIpBan, bNickBan = tBan.bNickBan, bFullIpBan = tBan.bFullIpBan, sReason = tBan.sReason, } if tBanTbl.sNick then if not tBansLog[tBanTbl.sNick] then tBansLog[tBanTbl.sNick] = {} end table.insert(tBansLog[tBanTbl.sNick], tBanTbl) end if tBanTbl.sIP then if not tBansLog[tBanTbl.sIP] then tBansLog[tBanTbl.sIP] = {} end table.insert(tBansLog[tBanTbl.sIP], tBanTbl) end if not tMasterBansLog[tData[2]] then tMasterBansLog[tData[2]] = {} end table.insert(tMasterBansLog[tData[2]], tBanTbl) SaveToFile(sPath.."tBansLog.tbl", tBansLog, "tBansLog") SaveToFile(sPath.."tMasterBansLog.tbl", tMasterBansLog, "tMasterBansLog") table.insert(tRemove, 1, i) elseif tData[3] + 5 > os.time() then table.insert(tRemove, 1, i) end end for _, i in ipairs(tRemove) do table.remove(tWhomWeSee, i) end end function ChatArrival(tUser, sData) local _,_, sCmd, sWhoBanned = string.find(sData, "%b<>%s+%p(%S+)%s+(%S+).*|$") if sCmd then sCmd = sCmd:lower() if sWhoBanned and tBanCmds[sCmd] then-- and not BanMan.GetBan(sWhoBanned) then table.insert(tWhomWeSee, {sWhoBanned, tUser.sNick, os.time()}) end end end ToArrival = ChatArrival function SaveToFile(sFileWay, tTable, sTableName) local sHandle = io.open(sFileWay,"w+") Serialize(tTable, sTableName, sHandle) sHandle:flush() sHandle:close() end function Serialize(tTable, sTableName, sHandle, sTab) local sTab = sTab or "" sHandle:write(sTab..sTableName.." = {\n") for key, value in pairs(tTable) do local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key) if type(value) == "table" then Serialize(value, sKey, sHandle, sTab.."\t") else local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value) sHandle:write(sTab.."\t"..sKey.." = "..sValue) end sHandle:write(",\n") end sHandle:write(sTab.."}") end |
X-Sky | ||
23.5.2010, 18:19 |
Вопрос по Командам PtokaX 0.4.1.1 хочу узнать |
Ответ тут. Надеюсь найдешь в ответе и осознаешь. Для полной уверенности покопайся в менеджере профилей. |
-=FugeN=- 2 | ||
21.5.2010, 15:17 |
С Днюхой Тебя! поздравления |
Спасибо! Заодно можно считать что и форуму исполнился еще 1 год По моим скромным подсчетам, если я ничего не упустил, это 2 года! Всем преданным читающим админам - СПАСИБО! |
Saymon21 | ||
20.5.2010, 12:11 |
Редирект по времени |
Если еще актуально - вот, набросал по-быстрому: Код -- Профили для перенаправления: tRedirectProfiles = { [3] = true, [-1] = true, } -- Таблица редиректов: tRedirects = { "mydc.ru", "localhost", } -- Время в секундах на смену сервера iChangeTime = 1*60*60 -- Минимальная для входа шара, в байтах: iMinShare = 100*1024^3 -- 100 Gb -- Причина редиректа: sRedirectReason = "Маленькая шара, минимальная шара - 100 Гигабайт!" function OnStartup() iTimeToChange = os.time() + iChangeTime iRedirectHub = 1 end function UserConnected(tUser) if tRedirectProfiles[tUser.iProfile] and (Core.GetUserValue(tUser, 16) or 0) < iMinShare then if os.time() > iTimeToChange then iTimeToChange = os.time() + iChangeTime iRedirectHub = iRedirectHub + 1 if not tRedirects[iRedirectHub] then iRedirectHub = 1 end end Core.Redirect(tUser, tRedirects[iRedirectHub], sRedirectReason) Core.Disconnect(tUser) end end RegConnected = UserConnected OpConnected = UserConnected |
Exodus, мамин_парень | ||
19.5.2010, 23:22 |
Подправьте скриптик регистрации Нужно подправить скрипт регистрации |
Если у тебя Код tProfiles = { -- кому будут доступны команды то для доступа Operator, Moderator, Admin, VipAdmin надо сделать таблицу такой:[5] = 1, -- [Reg] [4] = 1, -- [ViP] [3] = 1, -- [Operator] [2] = 1, -- [Moderator] [1] = 1, -- [Admin] [0] = 1, -- [VipAdmin] [-1] = 0, -- [UnReg] } Код local CanDo ={[3]=1,[2]=1,[1]=1,[0]=1,} Разбирайся и пробуй или излагай то, что ты хочешь в понятной для всех форме и, что главное, в полном объеме. |
sania | ||
19.5.2010, 22:57 |
Проблемы скрипта действий! Исправьте Проблемы скрипта действий! Исправьте |
Код ChatArrival = function(tUser,sData) замени наlocal s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)") if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды") return true end S1 = string.sub(S1,1,string.len(S1)-1) if cmd == "!экшн" then Core.SendToAll("## "..tUser.sNick.." "..S1.." ##") return true end if cmd == "!action" then Core.SendToAll(">> "..tUser.sNick.." "..S1.." <<") return true end end Код ChatArrival = function(tUser,sData) local cmd, S1 = sData:match "^%b<>%s(%S+)%s(.+)$" if cmd then if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды") return true end S1 = string.sub(S1,1,string.len(S1)-1) if cmd == "!экшн" then Core.SendToAll("## "..tUser.sNick.." "..S1.." ##") return true end if cmd == "!action" then Core.SendToAll(">> "..tUser.sNick.." "..S1.." <<") return true end end end |
sania | ||
19.5.2010, 9:41 |
слоты хаба проблема на ptokax 0.4.1.1 |
Ищи в этой области, если галка не стоит, то информация отправляется, и поставить надо "Всем юзерам". |
baralgin | ||
18.5.2010, 18:44 |
слоты хаба проблема на ptokax 0.4.1.1 |
Скорее всего его клиент завязывает какой-нибудь параметр, типа автобана, на слотах, поэтому надо либо включить отображение тегов для всех в хабе, что рекомендуется для нормального файлообмена, либо копать настройки его апекса, либо ему сменить клиент. |
baralgin | ||
17.5.2010, 22:58 |
Kinozal_tv API2 | Скрипт новостей с трекера |
Добавь после Код UserConnected = function(user) следующий код:Код if os.time() > iLastTime then Проще некуда и никаких финансовых вложений GetInfo() end Core.SendPmToUser(user, sBot, sMsg) |
serrrios, Greeck, ImDim | ||
16.5.2010, 18:39 |
BashMySQL API2 | Цитатник рунета |
Отваливается соединение с БД, сделай как я писал чуть выше, и, если надо, сделай меньше интервал переподключения. |
Parad0x | ||
14.5.2010, 9:53 |
DC++ FAQ Часто Задаваемые Вопросы |
2alex82: [attachment=4496:_____________.png] 2=FugeN=- 2: поправил бы информацию и выделил все как надо чтобы было наглядно. |
alex82, Alexey, мамин_парень | ||
13.5.2010, 20:06 |
Ник нужна помощь |
Цитата Настройки -> Общие -> Вид -> Показывать статусные сообщения в главном чате Включи эту опцию и зайди на хаб со стандартным ником. Потом к автору сборки с просьбой не морочать мозги юзерам и включить эту опцию по умолчанию... А так все пишется в статусной строке: [attachment=4495:Olimpus_shit.png] |
voronf4 | ||
13.5.2010, 19:38 |
StatPX API1, API2 | Статистика хаба |
А база данных - не выход из ситуации? Хочешь пользоваться хорошей статистикой - ставь мускл и точка. |
shullz | ||
11.5.2010, 18:52 |
CheckPreFix API2 | контролирует приставку перед ником |
Странно что об этой ошибке не сообщили ранее... Замени строку 66 Код return Net_ISP, Net наКод return Net_ISP.tPrefs, Net FallenAngel, ты сам разобрался с этой ошибкой? |
FallenAngel, Drakula | ||
11.5.2010, 11:39 |
Фидонет? |
Запарено как-то это в интернете написано, может кто на пальцах рассказать?! |
X-Sky | ||
11.5.2010, 10:31 |
FirstRusHubBot приводим RusHub к рабочему виду функционалом скриптов |
Понятия ID нету в протоколе NMDC, так что банить по нему нельзя, по маку банить можно только в пределах сети где стоит хаб, это уже обсуждалось неоднократно, в птоке это не реализуемо. Если интересно - поищи по форуму. |
Drakula | ||
5.5.2010, 13:39 |
Функции Для Разработчиков склад полезных функций |
А смысл тасовать локали? При старте скрипта обозначил на русскую и пользуйся себе чисто string.lower и string.upper |
Ksan | ||
3.5.2010, 20:48 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
К примеру так: Код sWay = "D:/somefile.html?#34; sHTML = [[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Какая-то инфа...</title> </head> <body> <table border="1" cellspacing="0" cellpadding="10"> <tr> <td>Ник Забаненого</td> <td>Ip Забаненого</td> <td>Кем забанен</td> <td>Причина бана</td> <td>Разбан</td> </tr> [BODY] </table> </body> </html>]] sTableSell = [[ <tr> <td>[1]</td> <td>[2]</td> <td>[3]</td> <td>[4]</td> <td>[5]</td> </tr>]] function OnStartup() SaveToHtml() end function SaveToHtml() local tTable = BanMan.GetBans() local sData = {} for i,v in pairs(tTable) do local tData = { ["1"] = tostring(v.sNick or " "), ["2"] = tostring(v.sIP or "Бан по нику"), ["3"] = tostring(v.sBy or "Неопределена"), ["4"] = tostring(v.sReason or "Не указана"), ["5"] = tostring(v.iExpireTime or "<постоянный>"), } local sSell = sTableSell:gsub("%[(%S-)%]", tData) table.insert(sData, sSell) end sData = table.concat(sData) local sHTML = sHTML:gsub("%[BODY%]", sData) SaveDataToFile(sWay, sHTML) end function SaveDataToFile(sFileWay, sData) local sHandle = io.open(sFileWay, "w+") sHandle:write(sData) sHandle:flush() sHandle:close() end |
intlive | ||
3.5.2010, 20:32 |
Блок по тегу Скрипт блокировки по тегу |
Попробуй второй из предложенных в 12 посту темы, может он будет работать, написан он по аналогии с тем что предлагали тебе первым. |
valdis73 | ||
3.5.2010, 20:00 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
Видимо ты плохо знаешь html, вот пример таблицы, которая тебе нужна, строка идет в структуре таблицы значениями друг за другом, так что трудности вывести все баны в такую таблицу - минимум: Код <table border="1" cellspacing="0" cellpadding="10"> <tr> <td>Ip Забаненого</td> <td>Кем забанен</td> <td>Причина бана</td> <td>Разбан</td> </tr> <tr> <td>127.0.0.1</td> <td>Nickolya</td> <td>просто так</td> <td>никогда...</td> </tr> <tr> <td>10.0.10.3</td> <td>неизвестно</td> <td>аналогично</td> <td>через 14 минут</td> </tr> </table> |
intlive | ||
2.5.2010, 11:23 |
User Info 1.0 (русская Версия) API2 | Скрипт для просмотра информации о юзерах |
Чтобы понимало и кириллические буквы надо Код local _,_,nick = string.find(data,"%p%S+ (%w+)") заменить наКод local _,_,nick = string.find(data,"%p%S+ (%S+)") |
Invisible, DrakonSP, Saymon21, TiGRpp | ||
30.4.2010, 13:55 |
Логотип для RusHub'а ваши варианты и предложения |
Вот еще вариант... |
X-Sky, bot9ra | ||
29.4.2010, 21:55 |
Логотип для RusHub'а ваши варианты и предложения |
Уффффф... Никто и не обижается, тут все-таки идет обсуждение и выдвижение своих вариантов. Что касается дизайна... У нас нет порядка 5к долларов на логотип, а изучив тех кто занимается именно логотипами на самом популярном портале фрилансеров, лично я не пришел в восторг. Дизайном я занимаюсь этим уже более года, в тандеме с очень опытным редактором, которая работала с десятком дизайнеров, правда моя направленность - печатное издание (CMYK - наше все)). Не скажу что я профи, лишь самоучка, как и во всем, кроме экономических наук и английского языка, но кое-что умею. Попробую немного покритиковать, надеюсь никто не обидится. У нас есть продукт - новейший российский хаб-софт, работающий ооочень быстро Не думаю что нечто старое нам подойдет. Потом делать огромный акцент на страну происхождения тоже не стоит, в глобальных планах - распространение программы по всему миру, а для того чтобы узнавать иконку софта среди сотни-другой в трее (папке, баре, на рабочем столее...) нужна определенная оригинальность. Про то что разработчик из России будет известно всем по пришествию популярности, которая заслуживается качеством продукта. А теперь давайте отвлечемся от всего и взглянем в папку где у вас лежат ярлыки, на рабочий стол, в трей, и посмотрим, что именно Вам приятней и узнаваемей, лично я вижу логотипы Оперы, ФФокса, Хрома, Фотошопа, Индизайна, Иллюстратора, Дримвейвера, Акробата (Адобе не такие уж и простаки чтобы делать такие иконки), Корела, Касперского, Квипа, ЗеБата, Вебмани-кипера, Ворда, Экселя, Птоки, Унхаба, Ноутпада, уТоррента и так далее, вдумайтесь в смысл, что несет в себе иконка, она же логотип... Исходя из этих мыслей, стремящаяся вперед фигурка человечка, она же буква R, вполне удволетворяет требованиям, Wariner, я сам увидел этот "поршень" минут 30 назад, наверно сказывается все-таки увлечение агрегатом "машина") А теперь давайте включать воображение, без него все грустно, уныло, не креативно, допустим поршень, пусть, это движение, мощь, скорость, что угодно. Правда от этого исполнения в уже изменившемся видении логотипа мы ушли. Давайте продолжим обсуждение дабы найти все-таки истину, ведь она где-то рядом Любая, даже самая бредовая идея будет в плюс, так что смелее! Выкладывайте сочетания цветов, формы, шрифты, что пожелаете... Спасибо за внимание, ваш покорный слуга, N ;) Вот более старый вариант, может тут кто-то найдет долю интересной идеи. |
Saymon21, X-Sky | ||
29.4.2010, 17:02 |
Логотип для RusHub'а ваши варианты и предложения |
Немного пополнив базу знаний о логотипах и потрудившись в перерывах пару дней получили вот что, оцените |
X-Sky | ||
28.4.2010, 12:51 |
Antibot API2 | Скрипт против ботов |
Пробуй... Опция в самом начале Код local iBlockType = 3 -- Тип блокировки, 1 - блокировать только чат, 2 - приват, 3 - все сразу |
*FoxMalder* | ||
28.4.2010, 10:03 |
Нужен скрипт тотализатор для гонок Проводим гонки по лок сети ф1 |
Ты нашел немного не тот скрипт, хорошо, подумаю как сделать все красиво, получится типа скрипта голосований, возможно его и возьму за основу. А отсылать всем юзерам с определенным префиксом можно вот таким способом: Код local tOnlineUsers = Core.GetOnlineUsers() если сам запихнешь в функцию и приделаешь таймер - молодец for _, tUser in ipairs(tOnlineUsers) do if tUser.sNick:match "^%[FI4%]" then Core.SendToUser("*** Сообщение...") end end |
van21 | ||
28.4.2010, 8:56 |
Можно ли банить по мак-адресу? |
Птокой это никак не реализуется, вот в русхабе - можно, но красивого скрипта банов так и нет, если перейдешь на русхаб - только скажи, напишу как сделать чтобы забанить твоего "урода". |
li4nost | ||
22.4.2010, 9:13 |
Новая социальная сеть "Всибири" |
Если всего 17 человек, то один может дружить с другими 16, значит теоретически там может быть цифра в 17*16=272, может быть логика такова |
X-Sky | ||
15.4.2010, 9:01 |
Guess Country ; Страны API2 |
Прости меня Тём, это я скосячил. Там где Код return ChkGuess(user.sNick) надо сделать конструкцию вида Код local a1 = ChkGuess(user.sNick) без возвращения truereturn a1 Т.е. получается вот такой код: Код allguess = {function(user,data,cmd) if user then if not Players[Gc.Bot] then Players[Gc.Bot] = {1,os.time(),GetCn()} end if not Tmr then Tmr = TmrMan.AddTimer(1000) end local a1 = ChkGuess(Gc.Bot,_,user.sNick) return a1, true else return "Угадайте страну ( всем хабом )", "", "", "" end end, {[-1] = false,[0] = true,[1] = true,[2] = true,[3] = true} }, guess = {function(user,data,cmd,to) if user then if not Players[user.sNick] then Players[user.sNick] = {1,os.time(),GetCn(),to} end if not Tmr then Tmr = TmrMan.AddTimer(1000) end local a1 = ChkGuess(user.sNick) return a1 else return "Угадайте страну ( сами )", "", "", "" end end, {[-1] = false,[0] = true,[1] = true,[2] = true,[3] = true} }, |
Артём, TiGRpp | ||
14.4.2010, 13:45 |
Guess Country ; Страны API2 |
Хм, у меня такого глюка нету... Попробуй заменить Код return ChkGuess(Gc.Bot,_,user.sNick),true на Код local a1 = ChkGuess(Gc.Bot,_,user.sNick) return a1,true |
Артём | ||
12.4.2010, 16:45 |
От: StatPX От темы с ID: 1269 |
Вот, наша любимая библиотека luasocket это позволяет, |
evg, Saymon21 | ||
12.4.2010, 16:28 |
NoLimit 1.3 API1, API2 | Скрипт запрета определенных ограничений скорости отдачи |
Замените Код local Limit = tCurUser.iLlimit на Код local Limit = tCurUser.iLlimit or false if not Limit then return end |
Артём | ||
10.4.2010, 9:53 |
BashMySQL API2 | Цитатник рунета |
Cjay, размер скорее всего в байтах, а переподключение к базе делается так: в конец функции OnStartup дописываешь Код TmrMan.AddTimer(3600000, "ReConnect") А в самый конец скрипта вот такую функцию: Код function ReConnect() con:close() con = assert (env:connect(sNameDB, sUserDB, sPasswordDB, sAdressDB, sPortDB)) end |
Parad0x | ||
9.4.2010, 8:45 |
Support API2 | Комната техподдержки |
Это комната технической поддержки, тут пароля для входа нет и, я думаю, никогда не будет, тебе надо воспользоваться каким-нибудь другим скриптом, к примеру этим, но с такой функцией пароля я лично скрипта не видел. |
van21 | ||
6.4.2010, 12:51 |
Плагин экзекутора Poddelki.FakeList как отдельный скрипт |
Замени chatdata на data |
Saymon21, demondroid | ||
4.4.2010, 22:19 |
CountryStats API2 | Статистика местоположения пользователей по странам |
Да ничего, привет тебе тоже огромный, рады видеть! Да, база загружается хабом, на сколько я помню, так что перегружать хаб просто необходимо, к твоему сожалению... |
Ksan | ||
4.4.2010, 21:48 |
Плагин экзекутора Poddelki.FakeList как отдельный скрипт |
Попробуй |
Saymon21 | ||
2.4.2010, 9:16 |
Registration_1_.v2 API1, API2 | Скрипт регистрации |
Если у тебя запущен хаб при этом - проблем быть не должно, проверь это... |
Milena | ||
1.4.2010, 19:50 |
Помогите пожалуйста со скриптом |
Скрипты отличались только папками... Но да ладно, вот переделанный. Папка \scripts\MOTDbot должна существовать! |
Ольга | ||
1.4.2010, 18:43 |
Помогите пожалуйста со скриптом |
В вашем случае будет достаточно удалить сохранение при входе каждого юзера + заменить функцию сохранения на более оптимальную, держите. Если по-прежнему будет тормозить - пишите. |
Ольга | ||
31.3.2010, 11:41 |
Домены Для Вашего Хаба Как думаете? |
Saymon, добавил на тот же айпи (что и у cheb-p2p.mydc.ru) домен magnet.hub.mydc.ru, старый удалил. |
Saymon21 | ||
26.3.2010, 10:13 |
PtokaX не сохраняются баны сервис/консоль |
Вот такой мегаскрипт будет сохранять баны каждую минуту: Код iSeconds = 60*1 function OnStartup() TmrMan.AddTimer(iSeconds*1000, "Save") end function Save() BanMan.Save() end |
Enyby | ||
25.3.2010, 12:08 |
Вопросы по скриптам Мелкие вопросы |
1. Да, дело в этой строке Код if tUser.sNick~=sAdminNick then замени ее наКод if not Core.GetUserValue(tUser, 11) then 2. По поводу этого скрипта могу лишь сказать что это скрипт создающий меню в соответствии с правами пользователя, а уже ранговая система это совсем другая область. Так что либо писать скрипт чтобы опы не могли применять команды друг на друга, либо же поговорить с этими раздолбаями и сказать что так делать нельзя. |
DrakonSP | ||
25.3.2010, 12:00 |
Помогите с Talkingbot |
Добавь проверку на команду в сообщении, перед Код for key in pairs(trigs) do добавьКод if mess:find("^%s*(%p)") then return end |
CraZy | ||
25.3.2010, 11:35 |
Kinozal_tv API2 | Скрипт новостей с трекера |
Вполне ожидаемо, пока оно закачает эти 25 мегабайт уйдет вечность, есть у меня задумка сделать отдельную маленькую софтину на luaaio которая будет по запросу как раз и работать с интернетом, в виде отдельной программы которая работает отдельно от хаба. Как вам такая задумка? |
ramzes | ||
23.3.2010, 16:39 |
Kinozal_tv API2 | Скрипт новостей с трекера |
Скрипт конечно по логике туповат т.к. не кеширует запросы юзеров. Я переделал в своем видении немного скрипт, убрал пережитки прошлого апи, и теперь он хранит кеш запроса, за это отвечает настройка Код iExpired = 30 -- время в минутах на хранение в кеше ответа от сервера Попробуйте его, уверен что останетесь довольны |
serrrios, Greeck, ramzes | ||
22.3.2010, 10:05 |
Переделка скрипта. Help. |
В том скрипте что я приложил такой фразы вообще нет, скачай заново и убедись что ты заменил скрипт и выключил старый. Айпи админа задается в настройке: Код local sAdminIp = "127.0.0.1" В том скрипте что выше отсылать когда админ онлайн нельзя, к этому сообщению прикладываю скрипт без такой проверки. У меня все работает:Цитата <HUBABOT> *** Сообщение успешно отправлено! Сообщения сам под себя переделай в скрипте...Адресат получит его при следующем входе на хаб. |
dinamit | ||
22.3.2010, 9:53 |
Скрипт, скрывающий ник в чате |
Код tNicks = { ["bot1"] = true, ["nick2"] = true, } function ChatArrival(tUser, sData) if tNicks[tUser.sNick] then local sMsg = sData:match "^%b<>%s(.*)|$" Core.SendToAll(sMsg) return true end end Но возможно что мультичат уйдет в бесконечный цикл повторения своих же сообщений, чтобы этого не случилось надо отправлять сообщение всем на хабе за исключением тех ников что вписаны в таблицу, но для этого надо пробегаться по всей таблице пользователей каждый раз, что на больших хабах будет жутко тормозить. Попробуй пока так... |
SAG | ||
21.3.2010, 16:58 |
Нужен скрипт |
Ну как что делать? Открываешь скрипт, там видишь адрес откуда берутся новорсти, теперь надо вписать адрес тех новостей что тебе интересны, к примеру: Код http://www.sovsport.ru/sport_rss/2 Теперь переделываем скрипт чтобы было так: Код -- Set your feed's URL и... получаем в чат полностью все новости. С остальными настройками надеюсь разберешься.local Feed = "http://www.sovsport.ru/sport_rss/2" |
jumshut | ||
21.3.2010, 14:56 |
Помогите ! как это убрать ??? |
Код Core.SendToNick(user.sNick,"<"..tSettings.sBot.."> Добро пожаловать на "..(SetMan.GetString(0) or "Неизвестный хаб").." !"); tCommands["lifetime"].fFunction(user) замени на Код tCommands["lifetime"].fFunction(user) Мог бы и сам хоть раз залезть в код скрипта и глянуть где похожий текст или еще что, учти, терпение тут у всех не железное. |
Kocha | ||
20.3.2010, 20:21 |
CheckPreFix API2 | контролирует приставку перед ником |
Попробовал сделать то что ты хотел... |
FallenAngel, Drakula | ||
20.3.2010, 19:51 |
Добавить функцию Апи2 |
Держи, таблица с никами в самом начале скрипта: Код tWeSendNicks = { "nick1", "Nickolya", } |
FallenAngel, Pro009, мамин_парень | ||
19.3.2010, 14:50 |
BanMe API1, API2 |
Значит птокой не предусмотрены такие баны, в справке так: Код BanMan.TempBan(tUser, nTime, sReason, sBy, bFull) - Temp ban user IP and Nick. nTime is in minutes (0 = default tempban time from settings) ! Return nil when failed, true if success. т.е. минуты и все, речи о секундах не идет.Чтобы юзера кикало замени Код BanMan.TempBan(tUser, iTime, sReason, sBy, bFull) наКод Core.Disconnect(tUser) |
foXDEvil | ||
18.3.2010, 16:57 |
Помогите ! Есть ли такой скрипт ? |
Тебе в этот раздел, а точнее я бы сказал сюда. |
Kocha | ||
18.3.2010, 13:30 |
скрипт регестриции для Dr_Pilulkin™ |
Я скачал - поставил, регистрирует и правда без вопросов и прочего. Ищите проблему в себе, скрипт выполняет то что вы хотите. А копаться в его содержимом не надо, он ПРИВЕДЕН В БИНАРНЫЙ ВИД, настройки очень тонко правятся в ФАЙЛАХ НАСТРОЙКИ. И поставь notepad++, он хорошо все редактирует, дримвейвер все-таки не для этого сделан. |
Dr_Pilulkin™ | ||
18.3.2010, 10:31 |
Hub 3000 Online 100% Загрузки |
А на сетевуху ты не хочешь погрешить, к примеру? Если она встроенная или не очень хорошая, может старая, то попробуй заменить на новую нормального качества... И ХР совсем не серверная ОС, может попробовать вин сервер? |
Unians | ||
17.3.2010, 22:29 |
Домены Для Вашего Хаба Как думаете? |
TROJAN, готово |
random name | ||
17.3.2010, 19:32 |
Официальная страничка RusHUB Внимание - вопрос |
Господа, вы слегка не о том разговариваете, код всегда можно убрать в файл или достать оттуда, нам нужно немного другое, так что давайте не будем, хорошо? По моему мнению, статичные скрипты которые не изменяются в ходе работы надо убирать в файл ввиду того что они при следующем открытии страницы берутся браузером из кеша, что облегчает и страницу и работу веб-сервера. |
bot9ra | ||
17.3.2010, 16:45 |
Ipgag V.3.01 API1 | навороченная заглушка юзеров |
Это уже красивости... 1 значит 1, это минуты, в цифрах нули не пишутся в начале, вы ко всему будете придираться? Попробуй заменить Код tRESULT = ""..Hours..":"..Minutes..", "..Days.." "..Months.." 2"..string.rep("0",3-string.len(Years))..""..Years.." года" наКод tRESULT = ""..Hours..":"..(Minutes:len() ~= 1 and Minutes or "0"..Minutes)..", "..Days.." "..Months.." 2"..string.rep("0",3-string.len(Years))..""..Years.." года" |
Kocha | ||
17.3.2010, 11:22 |
Hub 3000 Online 100% Загрузки |
Нет хуже засранного компа, на нем любой софт работает плохо, а домашний компьютер по определению является загаженым. Надо методом проб и ошибок выявить в чем проблема - может у тебя в винде стоит фаервол что блокирует все, может заражен вирусами, да много чего может быть, точно без диагностики тебе ничего не скажут. Я бы посоветовал попробовать поставить на другой раздел виндоус и запустить на нем только необходимое ПО - драйверы, фаервол и хаб + отключить все ненужные компоненты винды и посмотреть как будет вести себя унхаб. |
Unians | ||
14.3.2010, 23:33 |
Support API2 | Комната техподдержки |
Так допиши после Код SendToRoom(bot,user.sNick.." вошёл в комнату") вот такой код:Код Core.SendPmToUser(user, bot, "Для того что бы добавить хаб в избранное наберите в чат то то, регистрация находится там то, ну и тд") |
Exodus | ||
14.3.2010, 20:50 |
Курсы Валют Цб API2 | Скрипт-информатор. 18 валют на выбор. |
Чтобы убрать сообщение "Данные устарели, запрашиваю сервер..." удали строку Код Core.SendToUser(user, "<"..sBotName.."> Данные устарели, запрашиваю сервер...") А чтобы выводить данные в приват замени Код Core.SendToUser(user, "<"..sBotName.."> \n"..sMsg) наКод Core.SendPmToUser(user, sBotName, "\n"..sMsg) |
AfLc | ||
14.3.2010, 18:49 |
Временные Операторы API2 | Модерирование по графику |
Немного переделал скрипт, попробуй. Он мог не срабатывать из-за торможения компа или странной работы хаба со временем, сейчас должен работать как было задумано. |
Артём, rival, iimedia | ||
14.3.2010, 17:13 |
Курсы Валют Цб API2 | Скрипт-информатор. 18 валют на выбор. |
Решение проблемы с ошибкой: 1. Заменить два раза Код while string.find(fd,"<Value>") do на Код while string.find(fd,"<Valute ID=\".-\">") do 2. Заменить Код sMsg=sMsg..val[i].CharCode.."\t"..val[i].Nominal.." "..val[i].Name..string.rep("\t",math.floor((MaxLen-string.len(val[i].Name)-string.len(val[i].Nominal)+1)/8+1))..val[i].Value.."\t"..((val[i].Diff<0) and "" or "+")..val[i].Diff.."\n" наif sMidChar~="" and x<table.getn(Currency) then sMsg = sMsg..string.rep(sMidChar,iMidChar).."\n" end Код if val[i] then sMsg=sMsg..val[i].CharCode.."\t"..val[i].Nominal.." "..val[i].Name..string.rep("\t",math.floor((MaxLen-string.len(val[i].Name)-string.len(val[i].Nominal)+1)/8+1))..val[i].Value.."\t"..((val[i].Diff<0) and "" or "+")..val[i].Diff.."\n" if sMidChar~="" and x<table.getn(Currency) then sMsg = sMsg..string.rep(sMidChar,iMidChar).."\n" end end |
Invisible, Ksandor, Kar@bas, AfLc | ||
14.3.2010, 16:23 |
Regme API1, API2 | Скрипт регистрации |
Попробуй править файлы в notepad++, это хороший редактор, в котором все правится как надо. Файл с измененными настройками что ты делал прикладываю, ошибок у меня не выдает... |
Streter | ||
14.3.2010, 16:16 |
Ipgag V.3.01 API1 | навороченная заглушка юзеров |
На своем же компьютере стоит хаб? Если нет - могут быть различия во времени сервера и твоего клиента (винды), я проверил, все работает как надо: Цитата [16:12:43] <PtokaX> Вы были заглушены по IP до 16:21, 14 Марта 2010 года на приват и общий чат. Причина: "тест ( by Nickolya )" Еще возможно ты пишешь 8m, а это гаг на 1 месяц и меняется только месяц, а время сохраняется, что правильно, а 8 минут будет как 8M, проверь все еще раз, в английском ли варианте ты вводишь время и напиши сюда что ты вписываешь во все поля. |
Kocha | ||
13.3.2010, 21:58 |
chat detector |
Во-первых скрипт надо было сюда прикрепить, так удобней, это сделаю я: CODE sBot = " † X-Files™ Paranormal Reality † " RankFile = "RankingScript\\ranksusers.tbl" iNumb = 3000 Main = function() dofile(RankFile) end ChatArrival = function(user, data) local data = string.sub(data,1,-2) local s,e,prefix =string.find(data, "%b<>%s+(%S+)") if prefix == "!merecord" then if tRankingTable[user.sName] then if tRankingTable[user.sName] > iNumb then user:SendPM(sBot, " \r\n\ ..-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°*•-.,_,.-•*°`*•-.,_,.-•*°°*•-.,_,.-•*°*•-.. \r\n\ \r\n\ "..user.sName.." \r\n\ Вы написали в чате "..tRankingTable[user.sName].." сообщений. \r\n\ Это превосходит нужное число в "..(iNumb-tRankingTable[user.sName]).." сообщений, поздравляем! \r\n\ Теперь, если вы хотите, вы можете добавить к своему нику ''Погоны'' \r\n\ К Примеру ваш ник <Коля> а в чате он будет выглядеть как < *** <Коля> *** > \r\n\ Вы сами выбираете что себе поставить! \r\n\ \r\n\ Небольшие правила. \r\n\ \r\n\ 1. Ваш ник должен быть не длиннее 10 символов. \r\n\ 2. ''Погоны'' не должны быть суммарно длиннее 10 символов. \r\n\ 3. Ваш ник должен быть без [Префикса]. \r\n\ 4. Суммарно измененный ник может быть не длиннее 25 символов. \r\n\ 5. Если вы придумали как будет выглядеть ваш ник пишите мне < » » »^† Fox Malder †^« « « > \r\n\ \r\n\ Администрация хаба. \r\n\ ") else user:SendPM(sBot, " \r\n\ ..-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°`*•-.,_,.-•*°*•-.,_,.-•*°`*•-.,_,.-•*°°*•-.,_,.-•*°*•-.. \r\n\ \r\n\ "..user.sName.." \r\n\ \r\n\ Вы наговорили всего "..tRankingTable[user.sName].." сообщений. \r\n\ До нужного числа вам не хватает "..(iNumb-tRankingTable[user.sName]).." сообщений. \r\n\ Удачи! \r\n\ Администрация хаба. \r\n\ ") end else user:SendData("<"..sBot.."> Учёт ваших сообщений не найден.") end return 1 end end А переделанный под 2 апи и работу с бд скрипт в прикреплении. |
*FoxMalder* | ||
13.3.2010, 17:52 |
Скрипт для шары |
Раскрывающийся текст Простите за флуд конечно, давайте еще научим скрипты варить кофе и стирать рубашки, как вам идея? Чем тебя не устраивает включенный клиент? Если держать его чисто для шары, как бота, то можно оставить 1 хаб и необходимую шару. А через любой другой клиент уже сидеть на хабах и скачивать файлы... |
Wariner | ||
11.3.2010, 20:48 |
Скрипт меню администрации Менюшка админов для отдельной группы (API2) |
Как что делать? Настроить эту таблицу под свои профили. Если не можешь сам - пиши в каком порядке они у тебя в хабе и кому нужен доступ. Извиняюсь, я еще накосячил, перезалил исправленный скрипт в пост выше. |
RoL | ||
11.3.2010, 12:06 |
Вопросы по RusHub Технические вопросы |
Итак, прикладываю скрипт который создаст базу для РусХаба, если таковая уже имеется, то кладем ее рядом со скриптом, который надо положить в папку scripts птоки, запускаем скрипт и если файл с регистрациями лежит, то он перезапишется, при этом совпадающие регистрации не будут перезаписаны. В случае если вы не положили базу с регистрациями, создастся новая, пригодная для скрипта FirstRusHubBot под РусХаб. |
Accelerator, Saymon21 | ||
10.3.2010, 23:19 |
Подскажите как посадить птоху на хост |
Лучше поищи в интернете статьи о покупке доменов, там должно быть написано, и почитай еще обязательно А птока по-моему сидит на всех сетевых интерфейсах, лучше ее не "переконфигурировать", в поле адрес в самом хабе сделать 0.0.0.0 и не париться. А домен просто возвращает айпи после запроса на сервер DNS. Надеюсь доступно объяснил, что будет не понятно - спрашивай. |
Wan | ||
10.3.2010, 12:31 |
Официальная страничка RusHUB Внимание - вопрос |
bot9ra | |||
9.3.2010, 14:13 |
Официальная страничка RusHUB Внимание - вопрос |
Шаблона пока нет, это лишь наработки Как будет достойный логотип и шаблон - все выложим. Хочу предложить вот такой шаблон. Для Артема и всех нелюбителей "цветочков" сделаю кнопку чтобы эти "цветочки" убирались. Оцените... |
Артём, bot9ra | ||
9.3.2010, 13:53 |
Trivia Mod API2 | Игра "Викторина" |
Сорри, перезалил еще раз, теперь точно новый вариант. |
steppnov | ||
9.3.2010, 12:10 |
Trivia Mod API2 | Игра "Викторина" |
Добавь вот такой скрипт, только не забудь настроить как надо. Банально, но тебе думаю подойдет |
steppnov | ||
9.3.2010, 11:38 |
ChatGuard ChatGuard v1.2 API 2 Nickolya s fix |
Используй скрипт из этой темы. |
Invisible | ||
9.3.2010, 11:30 |
Редирект для диапазона |
Код Core.Redirect(sAddress, sMsg) замени на Код Core.Redirect(tUser, sAddress, sMsg) и вообще скрипт должен был выдавать ошибку о которой стоило написать сюда. |
truth | ||
7.3.2010, 11:43 |
Домены Для Вашего Хаба Как думаете? |
Нет, luxemat, для этого айпи нельзя. Почему же?! По причине того что домен завязывается на айпи, по айпи может находтиться не только хаб, но и веб-сайт, а твой сайт мое сайтолюбие не одобряет. И вообще, люди, которые занимаются подобным "Заработком в интернете" мне не очень приятны... Делай выводы |
Wan | ||
6.3.2010, 14:11 |
Trivia Mod API2 | Игра "Викторина" |
Не воспринимает ответы регистра отличного от того что в файле В конец скрипта добавляй функцию Код string.String2Lower = function(s) for i = 192, 223 do s = s:gsub(_G.string.char(i), _G.string.char(i + 32)) end s = s:gsub(_G.string.char(168), _G.string.char(184)) return s:lower() end И в скрипте замени все Код string.lower на Код string.String2Lower |
Kingston, dj hoodo | ||
3.3.2010, 11:46 |
Скрипт запрета в никах заглавных букв |
Блин, вам все разжевывать надо как детям? Я переделал этот скрипт под одного человека из антикапса за 3 минуты, а вы придераетесь к комментариям... Займитесь чем-нибудь пополезнее лучше. |
Wariner, Артём | ||
2.3.2010, 15:31 |
WebServer скрипт создающий веб-интерфейс для хаба |
Выложил в 1 пост "новую" версию, постарался все по-быстрому описать, если что непонятно будет - спрашивайте. |
Setuper, Saymon21 | ||
1.3.2010, 17:10 |
Trivia Mod API2 | Игра "Викторина" |
В моем посте 3 блока кода. Первый для примера, его трогать не надо! Второй блок - функция полностью, которую и надо польностью заменить в основном файле скрипта. Третий же блок показывает изменения в функции по отношении к ее старому варианту. Если все сделать правильно ошибок быть не должно. И читайте внимательней что написано, пожалуйста |
RomanGTe | ||
1.3.2010, 16:38 |
Trivia Mod API2 | Игра "Викторина" |
По аналогии с Код [TrivUserStart] = function(curUser) добавляем в ParseData некоторый код и получаем вот такую функцию, ее надо польностью заменить в скрипте:if tConf.allowuserstart == 1 then if Started then SendMsgToUser(curUser,"Ошибка: Викторина уже запущена.") else UserAutostop = tCfg.UserAutostop TriviaStart() SendMsgToPlayers("Игра Викторина была запущена! Запустил: "..curUser.sNick..". Игра будет автоматически остановлена, если на "..UserAutostop.." вопросов подряд не будет дан правильный ответ.") end else SendMsgToUser(curUser,"Извините, у Вас нет доступа к этой команде.") end end Код function ParseData(curUser,data) тут кусокdata = string.sub(data,1,string.len(data)-1) local _,_,sdata = string.find( data, "^%b<>%s(.*)$") local _,_,pre,cmd = string.find( data, "^%b<>%s*(%p)(%S+)") if (pre and cmd) and pre == CPrefix then cmd = string.lower(cmd) if tProfiles[curUser.iProfile] == 1 and tFuncCmd[cmd] then tFuncCmd[cmd](curUser,data) return true end if tProfilesConfig[curUser.iProfile] == 1 and tFuncConfig[cmd] then tFuncConfig[cmd](curUser,data) return true end if tProfilesConfigPlus[curUser.iProfile] == 1 and tFuncConfigPlus[cmd] then tFuncConfigPlus[cmd](curUser,data) return true end elseif sdata then if sdata == "Викторина" or sdata == "викторина" then if tConf.allowuserstart == 1 then if Started then SendMsgToUser(curUser,"Ошибка: Викторина уже запущена.") else UserAutostop = tCfg.UserAutostop TriviaStart() SendMsgToPlayers("Игра Викторина была запущена! Запустил: "..curUser.sNick..". Игра будет автоматически остановлена, если на "..UserAutostop.." вопросов подряд не будет дан правильный ответ.") end else SendMsgToUser(curUser,"Извините, у Вас нет доступа к этой команде.") end end local corrans = nil for _,v in ipairs(TrivData.Answers) do if string.lower(sdata) == string.lower(v) then corrans = v end end if corrans and (not TrivData.GetQuestion) then TrivData.GetQuestion = true local ansTime = string.format("%.2f",(os.clock()-TrivData.Start)) -- Get Answering Time in sec. local talked = nil if string.lower(sdata) == string.lower(corrans) then talked = corrans end if talked then if tConf.mode ~= "pm" then if tCfg.maintoall then Core.SendToAll("<"..curUser.sNick.."> "..corrans) else SendMsgToPlayers(corrans,curUser) end end local tmpstring = "" if (tCfg.showcorrectanswer == 1) then tmpstring = " Время: "..ansTime.." секунд(ы)." end SendMsgToPlayers("На этот вопрос правильно ответил: "..curUser.sNick..", Ответ был: \""..corrans.."\". Очки: "..TrivData.Points.."."..tmpstring) if _Scores[curUser.sNick] then _Scores[curUser.sNick].Score = _Scores[curUser.sNick].Score + TrivData.Points _Scores[curUser.sNick].AvTime[1] = _Scores[curUser.sNick].AvTime[1] + ansTime _Scores[curUser.sNick].AvTime[2] = _Scores[curUser.sNick].AvTime[2] + 1 _Scores[curUser.sNick].AvTime[3] = tonumber(string.format("%.2f",_Scores[curUser.sNick].AvTime[1]/_Scores[curUser.sNick].AvTime[2])) else _Scores[curUser.sNick] = {} _Scores[curUser.sNick].Score = TrivData.Points _Scores[curUser.sNick].Streak = 1 _Scores[curUser.sNick].AvTime = { tonumber(ansTime),1,tonumber(ansTime) } end if (tCfg.showcorrectanswer == 1) then SendMsgToPlayers(curUser.sNick..": Всего очков: ".._Scores[curUser.sNick].Score..", Правильных ответов: ".._Scores[curUser.sNick].AvTime[2]..", Среднее время на ответ: "..string.format("%.2f",_Scores[curUser.sNick].AvTime[3]).." секунд(ы).") end if TrivData.Availans > 1 then ShowAnswer() end UpdateStreak(curUser) if not CheckAutostop() then ResetMainTimer() end return true end end end end Код if sdata == "Викторина" or sdata == "викторина" then отвечает за команду в чате, меняйте сами как хотитеif tConf.allowuserstart == 1 then if Started then SendMsgToUser(curUser,"Ошибка: Викторина уже запущена.") else UserAutostop = tCfg.UserAutostop TriviaStart() SendMsgToPlayers("Игра Викторина была запущена! Запустил: "..curUser.sNick..". Игра будет автоматически остановлена, если на "..UserAutostop.." вопросов подряд не будет дан правильный ответ.") end else SendMsgToUser(curUser,"Извините, у Вас нет доступа к этой команде.") end end |
RomanGTe, TiGRpp | ||
1.3.2010, 12:57 |
WebModule RusHub | Модуль для встроенного web-сервера |
Для картинки отправляется заголовок Content-Type: тут_тип_данных Для JPGи к примеру будет Цитата Content-Type: image/jpg А вообще ответ сервера выглядит примерно так (это наш форум такое отправляет тело страницы я написал сам для наглядности):Код HTTP/1.1 200 OK Server: nginx/0.5.33 Date: Mon, 01 Mar 2010 09:56:00 GMT Content-Type: text/html; charset=windows-1251 Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=20 X-Powered-By: PHP/5.2.4-2ubuntu5 Set-Cookie: session_id=0fffb2dabc4079d55874a47231ea0ee2; path=/; httponly <html> <head> </head> <body> </body> </html> |
Setuper | ||
27.2.2010, 14:07 |
Ptokax Как Системная Служба. Фоновая работа PtokaX |
Дублирую инфу с ссылки выше для Вашего удобства: Цитата У вас когда-нибудь возникало желание запустить приложение как системную службу? Думаю, что да, учитывая, что в некоторые программы такая возможность встроена по-умолчанию. А знаете ли вы, что приложение запущенное как служба, работает гораздо быстрее и занимает меньше места в памяти? В этой статье мы рассмотрим небольшую утилиту Any Service (приложена к этому посту в архиве), которая в два щелчка мышки, поможет запустить любое приложение как системную службу. Any Service является оболочкой двух стандартных утилит srvinstw и instsrv из комплекта Windows 2000 Server и для ее нормальной работы вам будут необходимы права Администратора. Программа полностью бесплатна, занимает всего 49Кб и не требует установки. Интерфейс интуитивно понятен и снабжен детальными пояснениями в виде всплывающих подсказок. Главное окно программы позволяет произвести первичные настройки вашей будущей службы: [attachment=4134:anyservice1.gif] В первом поле вводим полный путь к исполнительному файлу приложения, которое будет запускаться как служба. В графе "Имя службы" указываем, как будет называться наша служба. В "Описание службы" - любое понятное вам описание нового сервиса. Далее можно проставить нужные галочки:
Известные проблемы: перед первым запуском, желательно отключить антивирусную программу иначе дальнейшая работа программы будет невозможна, т.к. при первом запуске, она ищет обе утилиты (srvinstw и instsrv) в папке %WINDIR%\System32\ и если не находит, копирует их из собственного ресурса. |
Tsd | ||
26.2.2010, 11:19 |
NoLimit 1.3 API1, API2 | Скрипт запрета определенных ограничений скорости отдачи |
Лимит узнается только тогда когда юзер отправит строку майинфо, в принципе все будет так как вы хотите если заменить Код if tCurUser.bConnected then наCheckLimit(tCurUser) end Код CheckLimit(tCurUser) |
thehawk | ||
26.2.2010, 11:01 |
Функции Для Разработчиков склад полезных функций |
В библиотеке LuaSocket есть модуль URL в котором есть функция заменяющая URICoding: Цитата url.escape(content) Applies the URL escaping content coding to a string Each byte is encoded as a percent character followed by the two byte hexadecimal representation of its integer value. Content is the string to be encoded. The function returns the encoded string. Код -- load url module url = require("socket.url") code = url.escape("/#?;") -- code = "%2f%23%3f%3b" Аналогично можно перевести из полученной строки в обычный текст, надо перекодировать из утф, заменить + на пробел и применить к строке функцию url.unescape |
Setuper, Serx, Kingston, MIKHAIL | ||
|
Сейчас: 26.11.2024, 21:01 |