Beiträge von r4z3r_TECH

    Gude Leutz hier mal ne vorschau zum Travian Bot den ich grade schreibe




    Uploaded with ImageShack.us




    Uploaded with ImageShack.us


    Welche Funktionen gehen bereits:


    Login
    Manueller bau von 4 Germanischen Truppen : Keulenschwinger,Sperrkämpfer,Axtkämpfer und Späher
    Abfrage von Rohstoffen und anzeige von Rohstoffen.



    Bin grade daran das bauen der ersten 4 Germanischen Truppen zu automatisieren hänge aber zur zeit an nem problem fest hoffe das löse ich in den nexten tagen will nicht wieder nachfragen worans liegt will es selber hinbekommen...


    Was wird noch eingebaut:


    Automatischer Truppenbau jedes Volkes einstellbar auf eine Truppenquote.
    Inaktiven Suche und Automatischer inaktiven Farmer, Aktiven Suche und Aktiven Farmer.
    Automatischer Felder und Gebäude ausbau.
    Erforschen von Truppen.


    ......
    weitere Features folgen




    Wenn der Bot Fertiggestellt ist werde ich auch einen Imperions bot schreiben...


    MFG
    RT



    _________________________________________________________________________________________________________________________________
    NEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEU




    Automatisches bauen von Keulenschwingern hinzugefügt.


    Was kommt als nächstes?


    Morgen wird das Automatische bauen von Sperrkämpfern,Spähern und von Axtkämpfern hinzugefügt.


    danach Folgen die anderen Truppen.



    Truppenquoten einstellung ist noch nicht funktionsfähig folgt aber auch schnellstmöglich



    Morgen wird es Neuigkeiten von mir geben hau mich jetzt erst mal aufs ohr.




    MFG :np:
    RT


    _________________________________________________________________________________________________________________________________
    NEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEUNEU




    Sperrkämpfer
    Kundschafter
    und
    Axtkämpfer


    Wurden zum Automatischen bau hinzugefügt alles noch ein bissel wackelig aber es funktioniert ^^


    ich bastel weiter wenn es neues gibt melde ich mich.


    MFG
    RT

    hab nen buch hier neber mir liegen schmöcker jeden tag drine ich weiss das der code chaotisch aussieht aber wie gesagt das ist einfach nur mal so weil ich die funktion erst mal zum laufen bekommen will danach kommt die funktion dann in mein richtiges project und dort herscht zucht und ordnung ^^

    Gude leutz hab mich ma wieder entschlossen sro nebenbei bissel zu zocken hab aber keinen bock wieder zu leveln deswegen meine frage wo kann ich den mbot kaufen finde leider nix auser so nen forum was mir nicht gerade seriös erscheint..

    Dein Snippet ist ja auch nicht wirklich der Burner. :I
    Vorallem weil man kaum etwas erkennt.

    Was aber sicher falsch ist, dass du dem falschen Timerobjekt einen Intervall gibst (t).

    System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
    t.Interval = 15000;

    Das selbe gilt unterhalb für Timer 't2'.

    Den Timer 't' verwendest du sonst nirgends in deinem Snippet.


    Das ist nur mein Test code das ist noch nicht meine endform.
    ich teste immer erst alle meine codes in einer testform und wenn alles funktioniert geht es weiter und sie werden ordentlich in meine gesamtes projekt eingetragen.

    Ersetz mal das:


    if (checkBox1.Checked)
    {
    System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
    t.Interval = 15000;
    timer1.Enabled = true;
    }

    durch das:


    if (checkBox1.Checked)
    {
    timer1 = new System.Windows.Forms.Timer();
    timer1.Interval = 10000;
    timer1.Start();
    }

    vielen dank für die hilfe werde ich später gleich mal ausprobieren hab das totall übersehen...

    Bitte sehr einmal mit kommentaren ^^
    vielen dank für deine hilfe ich weiss die echt zu schätzen.


    [cs]private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
    /// wenn checkbox1 angekreuzt ist wird timer1 mit einem interval von 15 sekunden aktiviert
    /// wenn checkbox1 nicht angekreuzt ist wird timer1 und timer2 deaktiviert


    if (checkBox1.Checked)
    {
    System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
    t.Interval = 15000;
    timer1.Enabled = true;
    }


    else
    {
    timer1.Enabled = false;
    timer2.Enabled = false;
    }
    }





    private void timer1_Tick(object sender, EventArgs e)
    {
    /// Resourcen die abgerufen werden (Holz,Lehm,Eisen,Getreide)


    String s = webBrowserLogin.Document.GetElementById("l1").InnerText.ToString();


    String ns = s.Remove(s.IndexOf("/"));


    String r = webBrowserLogin.Document.GetElementById("l2").InnerText.ToString();


    String nr = r.Remove(r.IndexOf("/"));


    String w = webBrowserLogin.Document.GetElementById("l3").InnerText.ToString();


    String nw = w.Remove(w.IndexOf("/"));


    String q = webBrowserLogin.Document.GetElementById("l4").InnerText.ToString();


    String nq = q.Remove(q.IndexOf("/"));


    label1.Text = ns;
    label2.Text = nr;


    /// Convertierung der strings in int


    int y = Convert.ToInt32(nr);
    int x = Convert.ToInt32(ns);
    int z = Convert.ToInt32(nw);
    int zz = Convert.ToInt32(nq);



    /// Wenn x,y,z und zz den Werten entsprechen wird der unten Folgende Code ausgeführt
    /// Der untere Code aktiviert Timer2


    if (x > 95)
    if (y > 75)
    if (z > 40)
    if (zz > 40)
    {
    webBrowserLogin.Navigate("http://ts10.travian.de/build.php?id=32");
    System.Windows.Forms.Timer t2 = new System.Windows.Forms.Timer();
    t2.Interval = 8000;
    timer2.Enabled = true;
    }
    /// Fals die werte nicht passen wird Timer2 ausgeschaltet


    else
    {
    timer2.Enabled = false;
    }
    }


    private void timer2_Tick(object sender, EventArgs e)
    {
    /// Timer2 Soll folgenden Code ausführen der per Webbrowsercontrol 1 in die Value vom Name:1 schreibt
    /// kurz gesagt Timmer2 soll 4 sekunden schlafen und dann 1ne Truppe bauen fals die oberen bedingungen erfüllt wurden.


    Thread.Sleep(4000);


    if (webBrowserLogin.Url.ToString() == "http://ts10.travian.de/build.php?id=32")
    {
    foreach (HtmlElement elem in webBrowserLogin.Document.All)
    {


    if (elem.Name == "t1")
    {
    elem.InnerText = "1";
    }


    if (elem.Name == "t2")
    {
    elem.InnerText = "0";
    }


    if (elem.Name == "t3")
    {
    elem.InnerText = "0";
    }


    if (elem.Name == "t4")
    {
    elem.InnerText = "0";
    }


    if (elem.GetAttribute("type") == "submit")
    {


    elem.InvokeMember("Click");






    }
    }
    }
    }



    /// fals noch fragen sind immer her damit ^^[/cs]

    snippet von dir?

    Gibts später hab den Code grade nicht zur hand also der timmer läuft jetzt einigermassen.
    nur macht der auch nicht ganz was ich will ab nem bestimmten teil vom code macht er den befehl auch wieder im ms bereich durchgehend und hängt sich auf.


    Kann leider erst gegen 18 uhr wieder an den Rechner zum Coden ran muss bisdahin arbeiten.
    dann werde ich euch mal nen snnipet hochladen und weiterbasteln...


    2. Post, edited by dongdong


    einer ne ahnung woran es liegt ???

    probier mich mal mit dem timer des hate aber bei mir vorgestern auch nicht geklappt vielleicht habe ich ja nen fehler gemacht gehabt.


    normalerweise schreib ich ja nen code snipe mit rein nur hab vorhin nicht dran gedacht wollte nicht wieder fragen.
    ö
    ja hab bei thread.sleep(5000) eingegeben

    Gude Leutz ich muss mal wieder nerven ich wollte ja eigentlich nicht fragen aber ich bekomm es einfach nicht gebacken.


    Ich habe meinen Code der seine Strings und einen befehl ausführen soll und das soll alle 5-10 Sekunden wiederholt werden, am besten so 10 Sekunden das das bissel realer aussieht.


    Wenn ich das jetzt mit ner while schleife mache, dann haut der ständig die sachen in meinen Browser rein so das der noch nicht einmal zeit hat den befehl komplet auszuführen wie kann ich das machen das die while schleife 5-10 Sekunden jedesmal pausiert....


    thread.sleep hat nix gebracht -.-
    genausowenig wie das alles in einerm neuen thread laufen zu lassen,
    bei google habe ich keine antwort gefunden und in meinerm buch auch nicht arg.....


    Deswegen belästige ich euch mal wieder such schon seit vorgestern abend an ner lösung.

    brauchte ich nicht googlen hatte ich schonma benutzt ^^ aber vielen dank des funktioniert ^^


    also kann der thread hier eigentlich auch wiedermal geclost werden hoffe ich komm morgen nicht wieder mit ner anderen Frage :P

    Hallo Leutz ich mal wieder ich bräuchte nen pause befehl da google mir immer wieder nur thread.sleep() rausgibt muss ich euch mal wieder belästigen.


    Und zwar gehts darum ich muss bei einem befehl zwichen drine einen breack von 5-10 Sekunden machen bis der webbrowser geladen hat das er dann seine daten per webbrowser controll senden kann.


    [cs]if (x > 95)
    if (y > 75)
    if (z > 40)
    if (zz > 40)

    webBrowserLogin.Navigate("http://ts10.travian.de/build.php?id=32");




    if (webBrowserLogin.Url.ToString() == "http://ts10.travian.de/build.php?id=32")
    {
    foreach (HtmlElement elem in webBrowserLogin.Document.All)
    {


    if (elem.Name == "t1")
    {
    elem.InnerText = "1";
    }


    if (elem.Name == "t2")
    {
    elem.InnerText = "0";
    }


    if (elem.Name == "t3")
    {
    elem.InnerText = "0";
    }


    if (elem.Name == "t4")
    {
    elem.InnerText = "0";
    }


    if (elem.GetAttribute("type") == "submit")
    {


    elem.InvokeMember("Click");[/cs]



    Thread.sleep hält ja den ganzen thread an und funktioniert deswegen ja leider nicht wäre genial wenn einer von euch ne andere lösung kennt.

    habs schon hinbekommen ^^


    vielen dank trotzdem.


    ich habs so gemacht: [cs]String ns = s.Remove(s.IndexOf("/"));[/cs]


    hab mich da bei msdn iwie bissel verlessen deswegen kamm meine frage vor deinem post xD


    so jetzt kann der thread aber defenitiv wieder geclost werden mehr fragen zu dem thema kommen keine mehr danke ^^

    bekomm ich im convert den fehler : {"Die Eingabezeichenfolge hat das falsche Format."}

    Du musst den string einfach richtig aufspalten.


    zu 1.)
    spalte doch den string einfach nochmal auf nochmal mit IndexOf("/") rausfinden an welcher stelle das Zeichen liegt und ab da alles hintendran löschen (string.remove).


    2.)
    Dann kannst du auch mit Convert.ToInt32 konvertieren.

    Also wenn ich es richtig verstanden habe mit dem Indexof solte man mit dem index of den string auf so viele zeichen auf wie man die zahl definiert oder liege ich da falsch
    also wenn man sagt zum beispiel "10" hat man die ersten 10 Zeichen oder`?



    Wenn das so seien sollte dann funktioniert das leider bei mir auch nicht xD

    thread wurde nochma geöffnet weil ich leider doch noch mal 2 fragen hab ^^


    Frage1:


    und zwar gibt es ne möglichkeit folgendes aus meiner ausgabe wegzustreichen (das rot makierte)
    847/11800


    Frage2:


    Und wie kann ich es machen das er bei nem wert über den von mir vorgegebenem er trotzdem was sendet und bei einem nidrigeren nicht ?


    Ich habs iwie nicht hinbekommen das richtig zu formuliern hab fast ne stunde in google nach den 2 sachen gesucht.


    Ich sag schonma danke wär genial wenn mir da jemand noch heute abend ne antwort geben kann^^


    wenn ich das weiss also zumindest frage 2 dann werde ich euch erst mal nicht mehr mit fragen nerfen,
    naja jeder hat ja mal klein angefangen...