|
Главная | Клиентские скрипты (greylink) - Страница 4 - Форум | Пятница, 29.03.2024, 08:06
Клиентские скрипты (greylink)
| |
hmury | Дата: Воскресенье, 05.10.2008, 10:58 | Сообщение # 1 |
Генерал-лейтенант
Сообщений: 599
Репутация: 32
Статус: Offline
| Сайт посвященный Луа http://www.lua.ru Форум с готовыми скриптами на http://mydc.ru Еще один форум на http://adrium.ipbfree.com мой знакомый, Chaser, написал скрипт "объявление на хабе" Code dcpp = {} spamtable = {} -- spamtable= { ["dc.ru"] = { 0, 10, "sample" } , ["localhost"] = { 0, 12, "hello there!" } }
function spam(hubname, timeout, text) spamtable[hubname] = { 0, timeout, text } end
function dcpp.OnTimer() for hubname, hubentry in pairs(spamtable) do if (hubentry[1] == 0) and (hubentry[3] ~= "") then hubentry[1] = hubentry[2] DC():SendPublicMessage(hubname, hubentry[3]) else hubentry[1] = hubentry[1] - 1 end end return nil end
text = "Спам-бот. Запуск спама на хабе с периодом 600 секунд:\r\n" text = text .. "/lua spam(\"dc.ufanet.ru\", 600, \" ТУТ ВАШЕ СООБЩЕНИЕ \")\r\n" text = text .. "\r\n" text = text .. "Чтобы отключить спам на хабе, наберите\r\n" text = text .. "/lua spam(\"dc.ufanet.ru\", 0, \"\")\r\n" text = text .. "\r\n" text = text .. "Адрес хаба надо писать в точности, как в столбце 'Сервер'\r\n" text = text .. "в списке 'Избранных хабов'\r\n"
DC():MessageBox(text, "spam.lua", "ok", "info") DC():RunTimer(1) это надо вставить в блокнот и сохранить в папку Scripts с именем spam.lua, обязательно в кодировке utf-8. запуск командой
Сообщение отредактировал livedc - Четверг, 19.03.2009, 20:19 |
|
|
|
deity | Дата: Понедельник, 26.01.2009, 19:29 | Сообщение # 46 |
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
| SMT, спасибо, но к сожалению не срабатывает -на висте скрипт не запускается -на хр ругается и файл нулевой
|
|
|
|
SMT | Дата: Понедельник, 26.01.2009, 21:58 | Сообщение # 47 |
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
| надо скачать и установить msxml.msi с официальной страницы http://www.microsoft.com/downloa....lang=enДобавлено (26.01.2009, 21:58) --------------------------------------------- ещё заметил странность: из консоли cmd.exe скрипт нормально запускается (конмандой run). а из проводника не очень. можно попробовать написать run.bat с одной командой start run.js
Сообщение отредактировал SMT - Понедельник, 26.01.2009, 21:52 |
|
|
|
deity | Дата: Понедельник, 26.01.2009, 22:05 | Сообщение # 48 |
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
| у меня уже стоят эти пакеты - аж 4 штуки ...и через cmd таже ошибка ....
|
|
|
|
SMT | Дата: Понедельник, 26.01.2009, 22:49 | Сообщение # 49 |
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
| оказывается, у меня тоже никак не запускается из проводника даже через bat-файл. но когда запускаю Far Manager, нажимаю Enter на файле, то появляется hublist.xml какая-та странность с настройками безопасности IE, что запрещены ActiveX в скриптах
|
|
|
|
Ukito | Дата: Суббота, 31.01.2009, 23:30 | Сообщение # 50 |
Рядовой
Сообщений: 9
Репутация: 0
Статус: Offline
| существует ли ткое: GetHubAddress() что б возвращало значение адреса где выполнена команда /luafile xxx.lua
|
|
|
|
SMT | Дата: Воскресенье, 01.02.2009, 00:34 | Сообщение # 51 |
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
| в текущей версии нет. lua давно не обновлялся, похоже это направление заброшено
|
|
|
|
Ukito | Дата: Воскресенье, 01.02.2009, 01:52 | Сообщение # 52 |
Рядовой
Сообщений: 9
Репутация: 0
Статус: Offline
| =( жаль, толькочто обновился, но ето некто так и не розвивает ((( а еще у меня неработает самый простой екзампл http://www.evilmana.com/tutorials/lua_tutorial_09.php хочу вывести в общий чат первую строку в текстовом файле.. file:read()
|
|
|
|
SMT | Дата: Воскресенье, 01.02.2009, 09:19 | Сообщение # 53 |
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
| скрипт печатает файл Favorites.xml в чат хаба 127.0.0.1 Code file = io.open(DC():GetAppPath() .. "Settings/Favorites.xml", "r")
for line in file:lines() do DC():SendPublicMessage("127.0.0.1", line) end Добавлено (01.02.2009, 09:19) --------------------------------------------- пример посложнее выкидывает в чат случайную строку из файла Code file = io.open(DC():GetAppPath() .. "Settings/Favorites.xml", "r") messages = { } i = 1
for line in file:lines() do messages[i] = line i=i+1 end
DC():SendPublicMessage("127.0.0.1", messages[math.random(i-1)])
|
|
|
|
Ukito | Дата: Воскресенье, 01.02.2009, 12:21 | Сообщение # 54 |
Рядовой
Сообщений: 9
Репутация: 0
Статус: Offline
| SMT, Спасибо!.. а если в моем тектовом файле откуда я беру текст, все на русском, и иногда попадаются англ словечки... У меня в чате непишет по русски... =(
|
|
|
|
Setuper | Дата: Воскресенье, 01.02.2009, 13:06 | Сообщение # 55 |
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
| Для этого существуют функции: ToUtf8(str) и FromUtf8(str)
lua master
|
|
|
|
SMT | Дата: Воскресенье, 01.02.2009, 13:07 | Сообщение # 56 |
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
| Quote (Ukito) а если в моем тектовом файле откуда я беру текст, все на русском, и иногда попадаются англ словечки... У меня в чате непишет по русски... =( клиент использует кодировку UTF-8. нужно или 1) в блокноте пересохранить скрипт (если там есть русские сообщения) и файл с цитатами, указав принудительно кодировку UTF-8 [мне такой способ больше нравится], или же 2) оставить файлы в привычной тебе кодировке и пользоваться функциями DC():ToUtf8 перед отправкой на хаб и DC():FromUtf8, если принимаешь строки от клиента. примеры, как перекодировать из кодировки windows в UTF-8 и обратно, были в этой теме
|
|
|
|
Ukito | Дата: Воскресенье, 01.02.2009, 15:09 | Сообщение # 57 |
Рядовой
Сообщений: 9
Репутация: 0
Статус: Offline
| SMT, спасибо, я пересохранил файл в итф8 и заработало как мне хочется... Но теперь я хочу услложнить задачу, выполнять скрипт через определенный промежуток времени например каждый час. тоесть через каждые 60 мин, в чат будет писатся случайная строка из тектового файла.
|
|
|
|
SMT | Дата: Воскресенье, 01.02.2009, 16:30 | Сообщение # 58 |
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
| посмотри, как сделан скрипт "объявление на хабе", spam.lua, из стандартной поставки клиента Добавлено (01.02.2009, 16:30) ---------------------------------------------
Quote (deity) спасибо, но к сожалению не срабатывает -на висте скрипт не запускается -на хр ругается и файл нулевой на странице http://www.netcrucible.com/xslt/xslt-tool.htm есть бесплатная windows-программа для преобразования XML http://www.netcrucible.com/xslt/xslt.zip из архива нужно достать xslt.exe и Richtx32.ocx запускаем. указываем File -> XSLT -> Open -> fav2hublist.xsl File -> XML -> Open -> Favorites.xml нажимаем Process -> XForm в правом окне получается файл hublist.xml
|
|
|
|
Ukito | Дата: Воскресенье, 01.02.2009, 17:14 | Сообщение # 59 |
Рядовой
Сообщений: 9
Репутация: 0
Статус: Offline
| Я так и непонял как работает функцыя DC():RunTimer(1) Добавлено (01.02.2009, 17:14) --------------------------------------------- особенно по тому как ето офрмлено в spam.lua
|
|
|
|
Setuper | Дата: Воскресенье, 01.02.2009, 17:55 | Сообщение # 60 |
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
| Функция DC():RunTimer(1) устанавливает своим параметром временной интервал выполнения функции dcpp.OnTimer() Code dcpp = {} iCounter = 0 -- счётчик iTime = 30 -- интервал между отсылками (в сек) sHub = "localhost:411" sMsg = "Сообщение в чат"
function dcpp.OnTimer() iCounter = iCounter + 1 if iCounter == iTime then iCounter = 0 DC():SendPublicMessage(sHub, sMsg) end end DC():RunTimer(1)
lua master
|
|
|
|
|
|
|