Ceva ajutor sau sugestii??

Acest forum este dedicat intrebarilor de programare care nu-si au locul in unul din celelalte forumuri

Ceva ajutor sau sugestii??

Mesajde Boris » 26 Ian 2015, 13:49

Salut, sunt un pasionat de programare dar inca la un nivel de amator. Pentru mine e mai mult un mic hobby pe care il fac cu foarte mare placere. Nu am nici un fel de studii sau scoala dar imi place sa invat in stilul meu pas cu pas. Pana acum a fost frumos urmand tutoriale si sfaturi despre cum sa creezi o fereastra sau alte lucruri marunte, dar am nevoie de lucruri putin mai practice si am inceput prin a cauta sa automatizez rutina zilnica,

Pentru asta am inceput cu ceva extrem de banal: un joc in browser. Genul de joc care presupune click aici, click acolo, colect this, start that...si care are tot felul de timere. Pornesti un task care dureaza 3 ore dupa care colectezi si pornesti altul.
Ideea am luato de la un prieten care e cam innebunit dupa tot felul de jocuri de pe FaceBook.( eu unul nu le pot suporta). Dar mi-au oferit un now "playground" plin de provocari.

Pana acum am rezolvat prima parte a procesului: automatizarea. Folosind Portable Chrome + Tampermonkey + un script (nu creeat de mine, este prea complex pentru intelegerea mea). Cu putinele cunostinte care le am,am reusit sa il "personalizez" (daca as putea sa ii spun asa) sa se potriveasca cu nevoile mele si,desi e plin de buguri, isi face treaba destul de bine.(amicul meu se declara foarte multumit)
Partea negativa la tot ansamblul ala este: nevoia constanta de a tine deschis acel browser care multumita unei parti al scriptului care "keeps an active state" consuma destul de multe resurse... Mai ales ca odata cu automatizarea unui singur cont vine ideea folosiri a mai multor conturi..etc

NOUA PROVOCARE: Un program mic ce poate deschide o fereastra de Chrome, preia un timer din acea fereastra si o inchide dupa un anumit timp (timp masurat aproximativ pentru ciclu complet al scriptului)

Ceea ce nu inteleg eu personal este cum preiau acea valoare a timer-ului pentru a seta eu insumi un timer. Am incercat zeci de posibilitati si sfaturi dar sunt total blocat.
Am o luna si 2 saptamani de cand imi storc creierii si nu reusesc nimic....

M-am legat de variabilele create de scriputl rulat cu Tampermonkey pentru ca la un moment dat acesta chiar afiseaza: Next task: xxxx sec in console log.


Cod: Selectaţi tot
 console.log("Switching Characters");

        var chardelay, chardate = null, nowdate = new Date();
        nowdate = nowdate.getTime();
        curdiamonds = 0;
        for (var cc = 0; cc < settings["charcount"]; cc++) {
            if (chartimers[cc] != null) {
                console.log("Date found for " + settings["nw_charname" + cc]);
                if (!chardate || chartimers[cc] < chardate) {
                    chardate = chartimers[cc];
                    charcurrent = cc;
                    chardelay = chardate.getTime() - nowdate - unsafeWindow.client.getServerOffsetSeconds() * 1000;
                    if (chardelay < delay.SHORT) {
                        chardelay = delay.SHORT;
                    }
                }
            } else {
                charcurrent = cc;
                chardelay = delay.SHORT;
                chardate = null;
                console.log("No date found for " + settings["nw_charname" + cc] + ", switching now.");
                break;
            }
            if (chardiamonds[cc] != null) {
                curdiamonds += chardiamonds[cc];
            }
        }
        console.log("Next run for " + settings["nw_charname" + charcurrent] + " in " + parseInt(chardelay / 1000) + " seconds.");
        $("#prinfopane").empty().append("<h3 class='promo-image copy-top prh3'>Professions Robot<br />Next task for " + settings["nw_charname" + charcurrent] + "<br /><span data-timer='" + chardate + "' data-timer-length='2'></span><br />Diamonds: " + curdiamonds.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + "</h3>");
        GM_setValue("charcurrent", charcurrent);
        dfdNextRun.resolve(chardelay);



Cam asta e partea din cod care verifica si stocheaza timpul urmatorului Task...iar in console log apare cam asa:
Cod: Selectaţi tot
Switching Characters
VM1533:1855 Date found for Danutsa
VM1533:1855 Date found for black death
VM1533:1855 Date found for Goddess
VM1533:1855 Date found for George
VM1533:1875 Next run for Danutsa in 1781 seconds.



Va rog sa ma impingeti usor si gentil in directia buna fara remarci urate sau rautacioase. Dupa cum am spus si mai sus NU SUNT INTERESAT de jocuri de genul asta sau de mai stiu eu ce....Dar am ajuns asa departe ...A fost o provocare destul de placuta si ar fi destul de impresionant sa merg si mai departe, pentru ca stiu ca e posibil...nimic nu e imposibil.
:thumbup:
Boris
Junior
Junior
 
Mesaje: 1
Membru din: 26 Ian 2015, 12:38
Judet: Galaţi

Înapoi la Programare generala

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 1 vizitator

cron