 |

24.10.2018, 01:40
|
|
Постоянный
Регистрация: 22.10.2018
Сообщений: 740
С нами:
3979792
Репутация:
113
|
|
Форум является важной частью любого SAMP-сервера, так почему бы не написать что-то ориентированное именно на форум, а не на игру?
1. Авто-добавление онлайн игроков
Принцип работы: открывает ссылки на профили игроков из списка онлайн, нажимает на кнопку "Добавить в друзья".
Сообщение от Спойлер
Код:
[CODE]
var links = document.getElementsByTagName("A"),
profiles = [],
tick = 0;
for (var i = 0; i
2. Автодобавление оффлайн игроков
Принцип работы: открывает полный список игроков, нажимает на кнопку "Добавить в друзья" напротив каждого профиля.
Сообщение от Спойлер
Код:
[CODE]
var poffset = 0;
function addf() {
var nw = window.open("http://gta-trinity.ru/forum/index.php?/members/?sort_key=members_l_display_name&sort_order=asc&ma x_results=60&name_box=begins&st=" + poffset);
setTimeout(function () {
var g = nw.document.getElementsByTagName("A");
for (var i = 0; i
3. Флудер статусами
Когда вы меняете свой статус на форуме, всем вашим друзьям приходит оповещение об этом. Меняя статус скриптом сотни раз, можно создать некоторый эффект.
Принцип работы: открывает окошко смены статуса, меняет его на рандомные цифры.
Сообщение от Спойлер
Код:
Код:
function byid(id) {
return document.getElementById(id);
}
function floodstatustick() {
byid("user_link").click();
setTimeout(function () {
byid("statusUpdateGlobal").value = Math.random();
}, 3000);
setTimeout(function () {
byid("statusSubmitGlobal").click();
}, 5000);
setTimeout(floodstatustick, 10000);
}
setTimeout(floodstatustick, 5000);
Для работы первых двух скриптов потребуется разрешить все всплывающие окна в настройках браузера.
4. Флудер сообщениями
(в FORUM_LNK вставляем ссылку на раздел, который надо зафлудить)
Скорость отправки - 9-10 сообщений в секунду, вероятность того что сообщение не отправилось - менее 5%.
Сообщение от Спойлер
Код:
[CODE]
var FORUM_LNK = "http://gta-trinity.ru/forum/index.php?/forum/185-obedineniia/";
var C_PAGE = 1;
(function bigshit() {
var forum_wnd = window.open(FORUM_LNK + "/page-" + C_PAGE);
setTimeout(function () {
var threads = forum_wnd.document.getElementsByClassName("topic_t itle");
var tick = 0;
setTimeout(function lala() {
var tick_wnd = window.open(threads[tick].href);
setTimeout(function () {
var txtr = tick_wnd.document.getElementsByTagName("textarea")[1];
if (!txtr) return setTimeout(arguments.callee, 1000);
txtr.value = new Date().getTime();
setTimeout(function () { tick_wnd.document.getElementById("submit_post").cl ick(); setTimeout(function () {
tick_wnd.close();
if (tick
Пошаговая инструкция для тех, кто чужд к JavaScript и не знает, как запустить вышеуказанные скрипты:
Сообщение от Спойлер
1. Ставим старый браузер Opera 9.64 (у каждого разные браузеры, у меня нет возможности писать инструкцию под каждый случай)
2. Авторизуемся под акком, открываем главную страницу форума
3. Жмём Ctrl-U - открывается исходный код страницы, затем ищем при помощи поиска (Ctrl-F)
4. Перед пишем ...
5. Вместо многоточия вставляем нужный скрипт, нажимаем "Применить изменения"
|
|
|

24.10.2018, 01:42
|
|
Постоянный
Регистрация: 22.10.2018
Сообщений: 740
С нами:
3979792
Репутация:
113
|
|
Флудер сообщениями - в процессе написания. Имеются некоторые проблемы с отправкой сообщения.
upd: добавлено
|
|
|

24.10.2018, 11:15
|
|
Участник форума
Регистрация: 12.03.2015
Сообщений: 201
С нами:
5879736
Репутация:
128
|
|
Почему нельзя просто консоль в браузере использовать?
|
|
|

24.10.2018, 15:39
|
|
Постоянный
Регистрация: 22.10.2018
Сообщений: 740
С нами:
3979792
Репутация:
113
|
|
Потому что я в рот ебал по одной строчке дрочить.
Как через консоль вообще можно написать что-то
|
|
|

24.10.2018, 16:05
|
|
Постоянный
Регистрация: 22.02.2015
Сообщений: 443
С нами:
5905314
Репутация:
163
|
|
Сообщение от astynk
Потому что я в рот ебал по одной строчке дрочить.
Как через консоль вообще можно написать что-то
Раскрою страшную тайну, но эти скрипты и в консоли работают
И зачем писать setTimeout(addf, 1000) если можно весь скрипт обгорнуть setInterval(#func#, 6000)
|
|
|

25.10.2018, 17:32
|
|
Постоянный
Регистрация: 22.10.2018
Сообщений: 740
С нами:
3979792
Репутация:
113
|
|
Переписал авто-добавлялку в друзья. Теперь:
1 - работает на ajax. Никаких всплывающих окон и т.д.
2 - добавлена статистика работы. Пишет сколько друзей добавлено и т.д.
3 - изменен принцип поиска профилей. Сортирует по кол-ву сообщений, от большего к меньшему. В этом есть смысл, т.к. большинство профилей заброшено и на них не заходили годами.
В самом начале pageN = 0 - с какой страницы начинать.
Сообщение от Спойлер
Код:
[CODE]
var pageN=0;function fixn(n){return(n0
Времени прошло: 00:00
";var logw=document.createElement("DIV");logw.style.cssT ext="height: 195px; overflow-y: scroll; font-size: 10px";stats.appendChild(logw);logw.innerHTML="> Лог работы. Время начала: "+gtime();function writeIntoLog(text){logw.innerHTML+="
"+gtime()+" ::: "+text;logw.scrollTop=9999}function incrAddFInfo(){var a=document.getElementsByClassName("addfinfo");a[a.length-1].innerHTML++;document.getElementById("count").inne rHTML++}function toSM(n){n=Math.round(n/1000);return n0/"+urls.length);var C=0;for(var i=0;i
|
|
|

04.11.2018, 11:47
|
|
Постоянный
Регистрация: 22.10.2018
Сообщений: 740
С нами:
3979792
Репутация:
113
|
|
Функция для отправки сообщения, наконец-то на ajax'е. Скорость флуда впечатляет, создавая по 30 параллельных запросов можно добиться скорости более 100 сообщений в минуту.
Сообщение от Спойлер
Код:
Код:
function SendMessage(threadID, forumID, text, callback) {
var xhr = new XMLHttpRequest();
xhr.open("POST", ipb.vars['base_url'] + 'app=forums&module=ajax§ion=topics&do=reply&t=' +threadID + '&f=' + forumID, true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("X-Prototype-Version", "1.7.1");
xhr.setRequestHeader("Accept", "text/javascript, text/html, application/xml, text/xml, */*");
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.send("md5check=" + ipb.vars['secure_hash'] + "&Post=" + text + "&isRte=0&noSmilies=0");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) callback && callback(xhr.responseText);
};
}
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|