PDA

Просмотр полной версии : [Trinity RP] Авто-добавлялка в друзья / Флудер статусами


astynk
24.10.2018, 01:40
Форум является важной частью любого SAMP-сервера, так почему бы не написать что-то ориентированное именно на форум, а не на игру?

1. Авто-добавление онлайн игроков

Принцип работы: открывает ссылки на профили игроков из списка онлайн, нажимает на кнопку "Добавить в друзья".




Код:






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&max_results=60&name_box=begins&st=" + poffset);
setTimeout(function () {
var g = nw.document.getElementsByTagName("A");
for (var i = 0; i






3. Флудер статусами

Когда вы меняете свой статус на форуме, всем вашим друзьям приходит оповещение об этом. Меняя статус скриптом сотни раз, можно создать некоторый эффект.

Принцип работы: открывает окошко смены статуса, меняет его на рандомные цифры.




Код:





[CODE]
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_title");
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").click(); setTimeout(function () {
tick_wnd.close();
if (tick






Пошаговая инструкция для тех, кто чужд к JavaScript и не знает, как запустить вышеуказанные скрипты:



1. Ставим старый браузер Opera 9.64 (у каждого разные браузеры, у меня нет возможности писать инструкцию под каждый случай)

2. Авторизуемся под акком, открываем главную страницу форума

3. Жмём Ctrl-U - открывается исходный код страницы, затем ищем при помощи поиска (Ctrl-F)

4. Перед пишем ...

5. Вместо многоточия вставляем нужный скрипт, нажимаем "Применить изменения"

astynk
24.10.2018, 01:42
Флудер сообщениями - в процессе написания. Имеются некоторые проблемы с отправкой сообщения.

upd: добавлено

r4nx
24.10.2018, 11:15
Почему нельзя просто консоль в браузере использовать?

astynk
24.10.2018, 15:39
Потому что я в рот ебал по одной строчке дрочить.

Как через консоль вообще можно написать что-то

molimawka
24.10.2018, 16:05
Потому что я в рот ебал по одной строчке дрочить.
Как через консоль вообще можно написать что-то


Раскрою страшную тайну, но эти скрипты и в консоли работают

И зачем писать setTimeout(addf, 1000) если можно весь скрипт обгорнуть setInterval(#func#, 6000)

astynk
25.10.2018, 17:32
Переписал авто-добавлялку в друзья. Теперь:

1 - работает на ajax. Никаких всплывающих окон и т.д.

2 - добавлена статистика работы. Пишет сколько друзей добавлено и т.д.

3 - изменен принцип поиска профилей. Сортирует по кол-ву сообщений, от большего к меньшему. В этом есть смысл, т.к. большинство профилей заброшено и на них не заходили годами.

В самом начале pageN = 0 - с какой страницы начинать.




Код:





[CODE]
var pageN=0;function fixn(n){return(n0
Времени прошло: 00:00

";var logw=document.createElement("DIV");logw.style.cssText="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").innerHTML++}function toSM(n){n=Math.round(n/1000);return n0/"+urls.length);var C=0;for(var i=0;i









https://i.imgur.com/F1daTQX.png

astynk
04.11.2018, 11:47
Функция для отправки сообщения, наконец-то на ajax'е. Скорость флуда впечатляет, создавая по 30 параллельных запросов можно добиться скорости более 100 сообщений в минуту.




Код:






function SendMessage(threadID, forumID, text, callback) {
var xhr = new XMLHttpRequest();
xhr.open("POST", ipb.vars['base_url'] + 'app=forums&module=ajax&section=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);
};
}