HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 24.10.2018, 01:40
astynk
Постоянный
Регистрация: 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. Вместо многоточия вставляем нужный скрипт, нажимаем "Применить изменения"
 
Ответить с цитированием

  #2  
Старый 24.10.2018, 01:42
astynk
Постоянный
Регистрация: 22.10.2018
Сообщений: 740
С нами: 3979792

Репутация: 113


По умолчанию

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

upd: добавлено
 
Ответить с цитированием

  #3  
Старый 24.10.2018, 11:15
r4nx
Участник форума
Регистрация: 12.03.2015
Сообщений: 201
С нами: 5879736

Репутация: 128
По умолчанию

Почему нельзя просто консоль в браузере использовать?
 
Ответить с цитированием

  #4  
Старый 24.10.2018, 15:39
astynk
Постоянный
Регистрация: 22.10.2018
Сообщений: 740
С нами: 3979792

Репутация: 113


По умолчанию

Потому что я в рот ебал по одной строчке дрочить.

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

  #5  
Старый 24.10.2018, 16:05
molimawka
Постоянный
Регистрация: 22.02.2015
Сообщений: 443
С нами: 5905314

Репутация: 163
По умолчанию

Цитата:
Сообщение от astynk  

Потому что я в рот ебал по одной строчке дрочить.
Как через консоль вообще можно написать что-то
Раскрою страшную тайну, но эти скрипты и в консоли работают

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

  #6  
Старый 25.10.2018, 17:32
astynk
Постоянный
Регистрация: 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



Цитата:
Сообщение от Спойлер  




 
Ответить с цитированием

  #7  
Старый 04.11.2018, 11:47
astynk
Постоянный
Регистрация: 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&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);
    };
}


 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.