Register for your free account! | Forgot your password?

You last visited: Today at 03:16

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



TT6 MoveTo engine public

Discussion on TT6 MoveTo engine public within the GW Exploits, Hacks, Bots, Tools & Macros forum part of the Guild Wars category.

Closed Thread
 
Old 03/31/2009, 22:22   #661
 
elite*gold: 0
Join Date: Jan 2008
Posts: 1,098
Received Thanks: 198
Bei mir dreht sich alles nur noch im Kreis
Edit: OK einfach Camcourseb in Camcourse umschreiben
i4mSoH34Vy is offline  
Old 04/02/2009, 13:06   #662
 
elite*gold: 0
Join Date: May 2008
Posts: 145
Received Thanks: 23
Hab die Read Me der tt6 v1.6 mal in Deutsch gefasst:
Code:
TT6 V1.6 by Tonitush666 - kurze Einführung  -  Übersetzung von Read Me    -    01.04.2009
---------------------------

Was ist die TT6?:
 - Von größtem Interesse ist die MoveTo()-Engine, welche die Implementation von
   vordefinierten Laufwegen in Bots vereinfacht.
 - Sie enthält eine Sammlung von Funktionen wie Resign(),Collectloot() etc., welche
   auch teils von ePvP-Mitlgiedern bereitgestellt wurden.
 - Abstraktion von konfigurierbaren Maus -und Tastaturaktionen, welche ohne Veränderung
   des gesamten Codes eingesetzt werden können


API:

 * die MoveTo()-Engine:

 Die Bewegung muss durch einen Aufruf von "PrepMoveTo()" vorbereitet werden.

 Eines der folgenden API muss nach einer Bewegungssequenz aufgerufen werden:
  - StopMoveTo()
  - KeepMoveTo()

 Der Unterschied zwischen "StopMoveTo()" und "KeepMoveTo()" ist, dass "StopMoveTo()"
 die Bewegungssequenz richtig stoppt und "KeepMoveTo()" diese nur logisch anhält, aber
 solange weiterläuft, bis der Wegpunkt erreicht ist.
 "KeepMoveTo()" wird z.B. benutzt, wenn man durch ein Portal laufen will; dabei muss
 der dazugehörige Wegpunkt kurz vor dem Portal liegen.


 MoveTo($mode, $x, $y, $random = False, $dcheck = False)
  
 MoveTo(...):
  Ist das Herz der TT6; du definierst deine Wegpunkte durch die Riehenfolge der Aufrufe. 
  Es gibt eigentlich keine Werte zurück (return), solange es die gewünschte Position noch
  nicht erreicht hat; allerdings gibt es einige Zusatzparameter, welche in speziellen
  Sietuation genutzt werden können.

  mode = 0 : - nur eine Bewegung zum Ziel + Rückgabewert
	     - der interne Aufrufintervall ist 10ms (Aufruf-10ms warten-Aufruf-10ms warten...)
	     - wenn eine Funktion keinen Rückgabewert gibt, kann man Folgendes tun:

              InitDest(...)
              "Irgendetwas, nachdem wir uns in Richtung Ziel gedreht haben."
		While Not MoveTo(0,0,0)
		  Sleep(10)
		  "Wenn du irgendetwas überprüfen willst, kannst du das hier tun,
	    	   aber achte darauf, dass du dich an die 10ms hältst!"
		WEnd 

  mode = 1 : "standard mode":
	     - Ziel initalisieren und hinlaufen

  mode = 2 : "autorun mode":
             Wenn ein Bewegungsstop(durch z.B. Knockdown, Wirken einer Fertigkeit) erkannt wird,
             welchen du über "AdLibEnable()" parallel zur Bewegung ausgeführt hast, versucht die
	     MoveTo nach 500ms automatisch weiter zu laufen.
	     Um sicher zu stellen, dass das Wirken von Fertigkeiten nicht während dieses Prozesses
	     unterbrochen wird, musst du den Stopcheck vorübergehend abschalten, z.B.:
              DisableStopCheck()
               "wirke deine Schattenform"
               "warte, solange du castest (+ etwas Extrazeit zu Sicherheit)"
              EnableStopCheck()
           
  mode = 3 : "block mode":
             Manchmal kann es passieren, dass du während der Bewegung geblockt wirst.
             Im "standard mode" würde deine Funktion nie einen Rückgabewert leifern und 
	     "sich aufhängen". Um das zu vermeiden, kannst du den "block mode" bentuzen,
	     wenn nötig.
             Wird ein Block erkannt, wird eine globale Flagge($gotBlocked = True) gesetzt und die MoveTo beendet.
             Die Bewegung würde nicht fortgesetzt werden, wenn nicht:
              - die Flagge auf "$blocked = False" gesetzt wird oder
              - eine neue Bewegungssequenz mit "PrepMoveTo()" eingeleitet wird
           
             Beispiel:          
              PrepMoveTo()
              MoveTo(3,...)
              MoveTo(3,...)
              MoveTo(3,...)
              if $gotBlocked Then
              "wirke einen Schattenschritt"
               ;lauf' zu einem neuen Startpunkt und schließe zu dem Pfad wieder auf
	          MoveTo(3,...)
	          MoveTo(3,...)
	          MoveTo(3,...)        
              Endif
           
              MoveTo(3,...)
              MoveTo(3,...)
              StopMoveTo()
              if $gotBlocked Then
               "Falls nichts geht, einfach Resign()."
              Endif
              .... weiter geht's ...
            
              So kannst du einem Block über eine Exception (Ausnahmebehandlung) entgegenwirken.

  Flags:
   dcheck - Ermöglicht dir die Todesabfrage ein -oder auszuschalten.($dcheck = true/false). 
            Um herauszufinden, ob du noch lebst oder tot bist, musst du $isDead überprüfen.(True = tot, False = lebend)
            Nachdem du über eine Exception den Tod deines Charakters erkannt hast, musst du $isDead wieder auf "False" setzen.
            $isDead wird nicht durch "PrepMoveTo()" zurückgesetzt!

   random - Fügt den Koordinaten der MoveTo Zufallswerte (+/- 100) hinzu, um die Bewegungen deines Bots 
            menschlicher wirken zu lasen. Trotzdem ist es keine 100%ige Garantie, dass dein Bot nie
            entdeckt wird!

   okdist - Definiert den Abstand zur gewünschten Position. Wird benötigt, wenn man GENAU an diese Position möchte.
            Das Ganze kann natürlich starke Nebenwirkunge haben, da die MoveTo versuchen wird, sich immer neu auf
	    diese Position auszurichten, bis sie erreicht ist. 
            (teilweise permanentes "im Kreis laufen, weil ich mich nicht zum Ziel ausrichten kann").


  InitDest($dx, $dy, $dcheck = False) - Wird intern verwendet und ist nur in Verbindung mit dem "standard mode" wichtig.


  DisableStopCheck()
  EnableStopCheck() - de-/aktiviert die Abfrage, ob wir ungewollt die Bewegung unterbrochen haben (Knockdown, Wirken v. Fertigk.)
                      Hinweis: Muss zum "beschützen" von Fertigkeitsanwendungen im "auto mode" benutzt werden.


* Funktionssammlung - nach Bedarf verwenden

 ; prüfen, ob wir uns an den angegeben Koordinaten befinden (500 by 500)
 CheckArea($xval, $yval)

 ; zufällige Pausezeiten (+/- 5% von $val)
 RndSleep($val)

 ; Gebiet aus nicht-einsammelbare Gegenstände prüfen (Truhen, Wegweiser etc.)
 BuildCLBlackList()

 ; collect loot
 ; $max - max. Anzahl aufzuhebender Gegenstände
 ; $checkblack - aktiviert die Nutzung der ItemBlacklist, die mit "BuildCLBlackList()" erstellt wurde
 ; $retrytime - definiert die Zeit (in ms), nach der ein weiterer Versuch unternommen wird, einen Gegenstand zu erreichen
 ; $retrycount - definiert die Anzahl der Versuche, die utnernommen werden, um einen Gegenstand zu erreichen, bis dieser
 ;               auf der Blacklist landet und somit nicht mehr aufgehoben wird (z.B.: Block durch Gegner) 
 CollectLoot($max, $checkblack = False, $retrytime = 200, $retrycount = 0)

 ; aufgeben
 Resign()

 ; bis zum Tod und der anschließenden Wiederbelebung warten
 WaitRezz()

 ; zur Gildenhalle -oder von ihr zurückreisen
 TransferGH()

 ; zu einem anderen Gebiet reisen
 ; $toID - definiert das Gebiet, das wir betreten wollen
 ; $timeout - Zeit (in Sekunden), nach der das Script mit einem Fehler beendet wird
 TransferArea($toID, $timeout = 20)

 ; alle Gegenstände von Zeile (0..8) identifizieren; Identifizierungs-Werkzeug row/col(0..4)
 IdentItems($StartRow, $EndRow, $IdentCol, $IdentRow)

 ; Mausaktionen an ein inaktives Fenster senden
 ; button = left, right, none
 ; event = down, up, click, dclick, move
 MouseSend($btn, $evt, $xpos, $ypos)

 ; eine einzelne Tastaturaktion an ein inaktives Fenster senden
 ; event = pressed, down, up
 ; Hinweis: unterstützt nur Kleisnchreibung, F(1-12), NUM(0-9) und einige spezielle Tasten:
 ; RETURN, SPACE, TAB, BACK, END, HOME, SNAPSHOT, INSERT, DELETE, LEFT, RIGHT, UP, DOWN, @
 Hinweis: Auf manchen Tastatur-Layouts funktionieren einige Tasten nicht. Überprüft also
 zuerst, ob die Tasten mit "Controlsend()" in Guild Wars funktionieren. 
 KeySend($inkey, $evt ="pressed")

 Anmerkung: 
  Nützlich, um Tastaturaktionen an ein inaktives Fenster zu senden, ohne eine automatische
  Groß-/Kleinumschaltung wie bei "Controlsend" zu haben.
  Die aktuelle Version ist recht simpel und funktioniert nur mit einem kleinen Umfang an Tasten.
  Wenn man etwas im Ingame-Chat schreiben möchte, so setzt man "Sleep(50)" zwischen
  jedes "Keysend()".


 Allgemeines:
  Alle Eisntellungen und Variablen können in der tt6.au3 überschieben werden,
  aber sei dir sicher, dass du verstehst, was du da tust.
  Beispiele:
   #include "tt6.au3"
   ; Ich möchte in meinem Bot ein anderes Koordinatensystem benutzen...
   Opt("MouseCoordMode", 0)
   ; ...oder in einem anderen Guild Wars-Fenster botten...
   $client = "Guild Wars1"
   $PID = WinGetProcess($client)
   Global $hprocess = _MemoryOpen($PID)
   Global $hwnd = WinGetHandle($client)
   ; ...oder die Rotation verlangsamen/beschleunigen.
   $accelmul = 0.9

  Schaut euch doch die beigelegten, fertigen Beispiele an und startet erst einmal mit kleineren
  Copy+Paste-Projekten, um sicher zu stellen, dass diese funktionieren.
  
  
 abschließende Worte:
   Die Engine wurde mit Quellcode veröffentlicht, um sie in Projekte jeglicher Art integrieren zu können und
   um zu verstehen, wie die Mechanismen, die dahinter stecken,funktionieren.
   Veränderungen und Hiwneise zur Verbesserung der TT6 sind willkommen.
   Ich kann keine Garantie für zukünftigen Support -oder Verbesserungen geben. 
   Wie gewohnt ist die ePvP-Community sehr hilfreich für Leute, die ihre Software-projekte umsetzen.
   So ist es eine gute Idee, dort nachzufragen.
   Schlussendlich möchte ich der ePvP-Community für das Feedback und die Inspiration danken, 
   die tt6.au3 als mein kleines Fun-Projekt in meiner Freizeit umzusetzen.
   
   Besucht und doch einmal!

   www.epvp.de
Hoffe, dass sie vielleicht jemandem Hilft.
Attached Files
File Type: txt TT6 v1.6.txt (9.4 KB, 22 views)
Read Me is offline  
Thanks
1 User
Old 04/02/2009, 17:37   #663
 
elite*gold: 0
Join Date: Nov 2008
Posts: 27
Received Thanks: 4
mühe umsonst, es gibt nämlich schon eine deutsche übersetzung..
Deagles is offline  
Old 04/02/2009, 19:45   #664
 
elite*gold: 0
Join Date: Feb 2009
Posts: 71
Received Thanks: 2
Hi all, I'm not too sure how to use the buildblacklist and collectloot funcs. All it does is pass from one item to the next including the teleports and chests.
Here's how I've used it:

Quote:
;check for teleport and collect all loot
BuildCLBlackList()
RndSleep(800)
CollectLoot(3,True)
sweetlady is offline  
Old 04/03/2009, 07:30   #665
 
elite*gold: 0
Join Date: May 2008
Posts: 145
Received Thanks: 23
Das von NBA? Das kann man ja nicht Deutsch nennen^^
Außerdem waren da paar Übersetzungsfehler und es fehlten noch die Flags sowie
der andere Kram, der noch dazu kam.
Read Me is offline  
Old 04/03/2009, 11:41   #666
 
Moppel123's Avatar
 
elite*gold: 134
The Black Market: 161/0/0
Join Date: Jan 2009
Posts: 2,082
Received Thanks: 266
Quote:
Originally Posted by Read Me View Post
Das von NBA? Das kann man ja nicht Deutsch nennen^^
Außerdem waren da paar Übersetzungsfehler und es fehlten noch die Flags sowie
der andere Kram, der noch dazu kam.
Hab ich auch gedacht.. aber ich les es einfach auf englisch; viel bessere ausdrucksweise
Moppel123 is offline  
Old 04/03/2009, 19:10   #667
 
NBA's Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,874
Received Thanks: 213
I have warned you....

Wie gesagt, bei mir wuerde(n) einige Lehrer ne 6 druf geben
NBA is offline  
Old 04/04/2009, 20:16   #668
 
N.E.O.'s Avatar
 
elite*gold: 45
Join Date: Nov 2008
Posts: 4,308
Received Thanks: 991
Irgendwie kommt bei der Funktion:

Func GetCourse($val)

Immer der Error, woran liegt das?
N.E.O. is offline  
Old 04/04/2009, 22:04   #669
 
tonitusch666's Avatar
 
elite*gold: 0
Join Date: Feb 2008
Posts: 147
Received Thanks: 184
tritt auf, wenn man nach gebietswechsel zu schnell loslaufen will, da ist eine zeit lang der course wert noch "unendlich", entweder länger warten oder prüfen, dass der wert <= 2*pi ist, so wie in TransferArea...

mfg
tonitusch666 is offline  
Old 04/05/2009, 11:25   #670
 
N.E.O.'s Avatar
 
elite*gold: 45
Join Date: Nov 2008
Posts: 4,308
Received Thanks: 991
Quote:
Originally Posted by tonitusch666 View Post
tritt auf, wenn man nach gebietswechsel zu schnell loslaufen will, da ist eine zeit lang der course wert noch "unendlich", entweder länger warten oder prüfen, dass der wert <= 2*pi ist, so wie in TransferArea...

mfg
OK, danke =)
N.E.O. is offline  
Old 04/05/2009, 19:49   #671
 
cab_killer's Avatar
 
elite*gold: 9
Join Date: Jan 2009
Posts: 206
Received Thanks: 24
Hi,
super ding was du hier gescriptet hast.
Aber ich habe da mal ein Problem und wüsste gerne eine Lösung.
Also ich habe Probleme mit der CollectLoot Funktion.
Normal "CollectLoot(7)" klapp eigentloch ohne Probleme
aber wenn ich die Blacklist einbeziehen will geht es irgendwie nicht.
ich habe das so in meinem Script gepackt

PHP Code:
RandomSleep(10002000)
    
BuildCLBlackList()
    
RandomSleep(5001000)
    
CollectLoot(7$checkblack False)
    
RandomSleep(50006000
Aber er sagt mir das $ceckblack nicht definiert ist.
Er ruft doch alles in der tt6 auf warum erkennt er da dann nix ?

Danke euch schonmal

MFG
cab_killer is offline  
Old 04/05/2009, 19:52   #672
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
dann lass es weg wenn du es eh auf false stehen lassen willst o_O

btw nur false sollte reichen.
kknb is offline  
Old 04/05/2009, 19:56   #673
 
cab_killer's Avatar
 
elite*gold: 9
Join Date: Jan 2009
Posts: 206
Received Thanks: 24
Nein nein natürlich will ich es auf True stehen haben
Habe es ebedn nur schnell aus der tt6 rauskopiert und garnicht wirklich drauf geachtet.
Aber auch wenn ich True da stehen habe funktioniert es nicht weil er mir sagt die variabel ist nicht dekladiert.
Aber warum macht er das nicht ?

Danke

MFG
cab_killer is offline  
Old 04/05/2009, 20:00   #674
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
CollectLoot(7, true,200, 2) oder
CollectLoot(7, true)

funktioniert bei mir tadellos
kknb is offline  
Thanks
1 User
Old 04/06/2009, 00:31   #675
 
elite*gold: 0
Join Date: Feb 2009
Posts: 71
Received Thanks: 2
Quote:
Originally Posted by kknb View Post
CollectLoot(7, true,200, 2) oder
CollectLoot(7, true)

funktioniert bei mir tadellos
Ich werde versuchen Danke. Muss ich BuildCLBlackList() vor wie:

BuildCLBlackList()
CollectLoot(7, True)
sweetlady is offline  
Closed Thread


Similar Threads Similar Threads
MoveTo Engine gibt keine Charakterkoordinaten aus
05/27/2010 - AutoIt - 2 Replies
Hallo, habe mir tt6 1.7 geladen und wollte gleich die koordinaten vom charakter in Guild Wars rausfinden. Aber mir wurden lediglich die koordinaten meiner maus angezeigt. Kann mir jemand helfen?
MoveTo Engine funktioniert nicht
04/01/2010 - GW Bots - 16 Replies
Nachdem ich heute mehrere Stunden damit verbracht habe die MoveTo Engine bei mir ans Laufen zu bringen habe ich mich entschlossen mein Problem zu posten. Ich benutze die MoveTo Engine von tonitusch666 mit dem dazugehörigen Dumper. Ich habe die Update.ini auf den neuesten Stand gebracht (copy&paste aus diesem Thread) und selbst mit CE überprüft. Das seltsame ist, das die Funktion CheckArea() aus der tt6.au3 einwandfrei funktioniert! Das heißt die Mems sind OK, jedoch funktioniert dieser...
Moveto
01/13/2010 - GW Bots - 3 Replies
Ich habe eine Frage, wie macht blauwiggle seine moveto das sie so menschlich aussieht ? weil meine wirken immer so abgehackt wenn ich das mit Moveto (x,y) mache, bzw. weiß jemand wie man es besser macht?
MoveTo Engine Problem.
10/13/2009 - GW Bots - 10 Replies
Hallo Jungs.. Kan mir mal jemand sagen was ich falsche mache und warum meine Move To Engine nich funktioniert? Hier mein bisheriger Source.. Nich wundern wenn noch Sinnloses Zeug drinsteht, ist für später.. :D #RequireAdmin #include "tt6.au3" #include <NomadMemory.au3>
KAhit NAMan HinDi PubLIc Ang Post NG engIne.. mA DeDeteCt pA rin NG GG Yan
09/08/2009 - Grand Chase Philippines - 18 Replies
kasi laging namang nag pa patch GG ng grandchase kahit walang gumaganang engine



All times are GMT +1. The time now is 03:16.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.