Elimdeki Script'i İstediğim Gibi Nasıl Düzenleyeceğim?

kene31

Yeni üye
2 May 2013
50
1
Kod:
// ==UserScript==
// [USER=71471]@name[/USER]                Scavenging
// [USER=423072]@version[/USER]             1.0.4
// [USER=239098]@Description[/USER]         Scavenge for resources automatically
// [USER=585213]@author[/USER]              joaovperin
// [USER=406695]@icon[/USER]                [MEDIA=imgur]7WgHTT8[/MEDIA]
// [USER=620246]@Match[/USER]                Klasik Tarayıcı Oyunu Klanlar - ücretsiz ve çevrimiçi!
// @downloadURL         https://raw.githubusercontent.com/joaovperin/TribalWars/master/UserScripts/Scavenging.user.js
// @updateURL           https://raw.githubusercontent.com/joaovperin/TribalWars/master/UserScripts/Scavenging.user.js
//
// [USER=911592]@GranT[/USER] GM_setValue
// [USER=911592]@GranT[/USER] GM_getValue
// [USER=911592]@GranT[/USER] GM_listValues
// [USER=911592]@GranT[/USER] GM_deleteValue
// [USER=911592]@GranT[/USER] GM_addStyle
// [USER=911592]@GranT[/USER] GM_xmlhttpRequest
// ==/UserScript==

/**
 * THIS SCRIPT WAS FORKED FROM TavinhuTurbinator!! Turbinando TW. All credits to him!
 */
(async (ModuleLoader) => {
    'use strict';

    // Dependency loading
    await ModuleLoader.loadModule('utils/notify-utils');

    // Controls the window title
    TwFramework.setIdleTitlePreffix('SCAVENGING', document.title);

    const gameData = TribalWars.getGameData();
    const tag = gameData.world + '' + gameData.player.name + '' + gameData.screen + '_' + gameData.mode;
    const nLoop = 5;
    unsafeWindow.window.name = tag;

    if (unsafeWindow.window.name === tag) {
        iniciar();
        loop(nLoop);
        recarregar(60);
    }

    function iniciar() {
        logica();
    }

    function aleatorio(menor, maior) {
        var intervalo = Math.round(maior - menor);
        return Math.floor(Math.random() * intervalo) + menor + Timing.offset_to_server;
    }

    // Loop no inicar a cada X segundos. nLoop = 0 para o loop
    function loop(segundos) {
        var timer = setInterval(function () {
            if (nLoop === 0) {
                clearInterval(timer);
            } else {
                setTimeout(function () {
                    iniciar();
                }, aleatorio(segundos * 1000 * 0.01, segundos * 1000 * 0.10));
            }
        }, segundos * 1000);
    }

    // Recarrega a pagina a cada X minutos
    function recarregar(minutos) {
        setInterval(function () {
            setTimeout(function () {
                window.location.reload();
            }, aleatorio(minutos * 60000 * 0.01, minutos * 60000 * 0.10));
        }, minutos * 60000);
    }

    // Buscar e Validar Objeto
    function buscarObjeto(sObj) {
        var objeto = document.querySelectorAll(sObj);
        if (objeto !== undefined && objeto[0] !== undefined) {
            return objeto;
        } else {
            return undefined;
        }
    }

    function parseAsInteger(txt, divisor) {
        var retInt = 0;
        var valor = parseInt(txt.replace('(', '').replace(')', ''));
        if (valor > 0 && divisor > 0) {
            retInt = Math.trunc(valor / divisor);
        }
        return retInt;
    }

    function selecionarTropas(botoesDisponiveis) {
        if (botoesDisponiveis <= 0) {
            return;
        }

        var divisor = 0;

        var lanca = document.getElementsByName("spear")[0];
        var espada = document.getElementsByName("sword")[0];
        var machado = document.getElementsByName("light")[0];

        if (botoesDisponiveis == 4) {
            divisor = 13;
            lanca.value = parseAsInteger($("a.units-entry-all[data-unit='spear']")[0].innerText, divisor);
            lanca.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));

            espada.value = parseAsInteger($("a.units-entry-all[data-unit='sword']")[0].innerText, divisor);
            espada.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));

            machado.value = parseAsInteger($("a.units-entry-all[data-unit='light']")[0].innerText, divisor);
            machado.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));

        } else if (botoesDisponiveis == 3) {
            divisor = 8;
            lanca.value = parseAsInteger($("a.units-entry-all[data-unit='spear']")[0].innerText, divisor);
            lanca.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));

            espada.value = parseAsInteger($("a.units-entry-all[data-unit='sword']")[0].innerText, divisor);
            espada.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));

            machado.value = parseAsInteger($("a.units-entry-all[data-unit='light']")[0].innerText, divisor);
            machado.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));
        } else if (botoesDisponiveis == 2) {
            divisor = 3.5;
            lanca.value = parseAsInteger($("a.units-entry-all[data-unit='spear']")[0].innerText, divisor);
            lanca.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));

            espada.value = parseAsInteger($("a.units-entry-all[data-unit='sword']")[0].innerText, divisor);
            espada.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));

            machado.value = parseAsInteger($("a.units-entry-all[data-unit='light']")[0].innerText, divisor);
            machado.dispatchEvent(new KeyboardEvent('keyup', {
                'key': '0'
            }));
        } else {
            var nrLanca = $("a.units-entry-all[data-unit='spear']")[0];
            var nrEspada = $("a.units-entry-all[data-unit='sword']")[0];
            var nrMachado = $("a.units-entry-all[data-unit='light']")[0];

            nrLanca.click();
            nrEspada.click();
            nrMachado.click();
        }
    }

    function timeOver() {
        var tempo = document.getElementsByClassName('return-countdown');
        var lRecarregar = false;
        for (var i = 0; i < 4; i++) {
            if (tempo !== undefined && parseInt(tempo.innerText.split(":")[1]) < 1) {
                lRecarregar = true;
            }
        }
        if (lRecarregar) {
            recarregar(2);
        }
    }

    /**
     * Get button count on the container
     *
     * @param {HtmlElement} obj
     */
    function getButtonCount(obj) {
        var objRet = {};
        var cont = 0;
        for (var i = 0; i < 4; i++) {
            if (obj !== undefined) {
                cont = cont + 1;
                objRet.btn = obj;
            }
        }
        objRet.cont = cont;
        return objRet;
    }

    function logica() {
        var btns = buscarObjeto("a.btn.btn-default.free_send_button:not(.btn-disabled)");
        if (btns !== undefined) {
            var disp = getButtonCount(btns);
            if (disp.cont > 0) {
                selecionarTropas(disp.cont);
                setTimeout(function () {
                    disp.btn.click();
                }, aleatorio(700, 1500));
            }
        }
        timeOver();
    }

})({
    // ModuleLoader functions
    loadModule: moduleName => {
        return new Promise((resolve, reject) => {
            const modulePath = moduleName.replace('.', '/');
            const moduleUrl = `https://raw.githubusercontent.com/joaovperin/TribalWars/master/Modules/${modulePath}.js`;
            console.debug('[TwScripts] Loading ', modulePath, ' from URL ', moduleUrl, '...');
            return $.ajax({
                    method: "GET",
                    url: moduleUrl,
                    dataType: "text"
                }).done(res => resolve(eval(res)))
                .fail(req => reject(console.error("[TwScripts] Fail loading module '", moduleName, "'.")));
        })
    }
});





elimde bu şekilde bir kod var kodun işlevi klanlar.org da temizlik yağma yapmaya yarıyor yanlız bunu tek köyden yapıyor. Ayrı ayrı köylerin url si girersem ve sekme açarsam hepsinde yapıyor ama 30 köyüm var mesela 30 sekme açmak sıkıntı oluyor.
Bu kodu aynı anda hepsini yada tek tek köyleri değişicek şekilde nasıl ayarlayabilirim mesela köy değişince köyün id side değişiyor oyunun köy değiştirme tuşu d mesela onu ekleyince algılamıyor yapamadım bir türlü yardımcı olabilcek varmı
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.