move to func.

10/17/2008 09:25 xSharkoonX#31
Quote:
Originally Posted by xninja View Post
Erm seine 2. Version ging nur wenn man zu schnell hintereinander die Funktion gecallt hat is GW abschnur gegangen. Ich habe mit ihm dadrueber gesprochen, er hatte auch schon eine Loesung und wollte das ganze am gleichen Tag nochmal updaten doch irgentwie ist er nicht mehr anzutreffen.
ja iwie schade wäre richtig geil wenn er das noch zu ender macht bzw. wieder zum laufen bekommt
10/17/2008 15:09 Borega#32
Quote:
Originally Posted by xninja View Post
So ein Script gibts ja auch schon im Sub... aber das is ja keine richtige Alternative zu der move_to func. Naja ich werde mich mal bissel mit asm beschaeftigen aber ich denke nicht das man als Anfaenger da viel machen kann.
das is ja gut und schön aber das ding is das so leute wie ich da ja keinen zugrif drauf haben und ich daher auch nichts damit machen kann :(
@sharkoon ja das wäre die lösung für mein problem^^
10/17/2008 22:19 Atheuz#33
Quote:
Originally Posted by | Moep | View Post
nur über x/y werte.. mein progi drückt w und richtet sich dann im 200ms takt aus.. solange nix zwischen dem bot und dem ziel steht kein problem...soviel kann ich verraten...jedoch wirkt die ganze sache teilweise noch sehr unrealistisch... hab auch schon mehrere ideen wie is des verbessern könnte... nur halt keine zeit/lust dass umzusetzen...
Also bei mir Funktioniert das ohne Probleme mit einem 250 Intervall.
Kleine Hindernisse sind auch kein Problem, nur eben sehr große oder komplexe strukturen. Ich mach das einfach so das ich berechne ob mein nächster punkt erreicht wurde bzw ob ich irgendwo stecken bleibe und dann mit (Winkel + Pi) automatisch Wegpunkte außenrum erstelle die der Bot, falls er immer noch blockiert wird noch erweitert. Nur läuft er mal eben nicht durch ein Labyrinth ohne überall hängen zu bleiben, dann müsste man die Wegpunktezahl erhöhen was dann blöd aussieht.
10/18/2008 07:18 | Moep |#34
genau so läuft es auch bei mir... so wie wenn man n hero ne flag gibt... nur halt dass er falls ein hindernis im weg steht nicht von alleine dran vorbei kommt...
dass problem mit den wegpunkten is halt, dass du bei umfangreicheren strecken trotzdem ertma grob einen weg definieren musst... ich will es aber so hinbekomm dass er in echtzeit seinen weg berechnet, dann ists auch egal wo du stehst..
hab schon überlegungen angestellt die orte zu "vermessen" und inne ini die "bösen" coords zu schreiben an denne er nicht vorbei kann...
10/18/2008 16:22 Atheuz#35
Quote:
Originally Posted by | Moep | View Post
genau so läuft es auch bei mir... so wie wenn man n hero ne flag gibt... nur halt dass er falls ein hindernis im weg steht nicht von alleine dran vorbei kommt...
dass problem mit den wegpunkten is halt, dass du bei umfangreicheren strecken trotzdem ertma grob einen weg definieren musst... ich will es aber so hinbekomm dass er in echtzeit seinen weg berechnet, dann ists auch egal wo du stehst..
hab schon überlegungen angestellt die orte zu "vermessen" und inne ini die "bösen" coords zu schreiben an denne er nicht vorbei kann...
Dann hast du wahrscheinlich an deinen Berechnungen irgendwas vergessen, normalerweise sollte er den nächsten Punkt anzielen mit den relativen Koordinaten, um dann z.B Wegpunkt unabhänig grindet und hinterher mit den relativen Koordinaten zum nahsten Punkt läuft. Überprüfst du eventuell den neuen Wegpunkt mit den Koordinaten des letzten Wegpunktes?
10/18/2008 17:30 | Moep |#36
Vielleicht hast mich falsch verstanden.. dass mit den wegpunkten geben und dann hinlaufen funzt schon...sieht aber nich so geschmeidig aus. will aber dass er sich selber den weg berechnet, indem ich nur ein absoluten wegpunkt setze und er dann dahin läuft und wärend er auf den weg ist guckt dass die hindernisse umgangen werden. Mit anderen Worten will ich ihn beibringen zu "sehen" wo er lang kann und wo nicht. dass mit mehreren wegpunkten erfüllt zwar auch seinen zweck, aber möchte des halt anders lösen um zu sehen ob ichs kann ;)
10/18/2008 20:50 Atheuz#37
Quote:
Originally Posted by | Moep | View Post
Vielleicht hast mich falsch verstanden.. dass mit den wegpunkten geben und dann hinlaufen funzt schon...sieht aber nich so geschmeidig aus. will aber dass er sich selber den weg berechnet, indem ich nur ein absoluten wegpunkt setze und er dann dahin läuft und wärend er auf den weg ist guckt dass die hindernisse umgangen werden. Mit anderen Worten will ich ihn beibringen zu "sehen" wo er lang kann und wo nicht. dass mit mehreren wegpunkten erfüllt zwar auch seinen zweck, aber möchte des halt anders lösen um zu sehen ob ichs kann ;)
Sowas umzusetzen ohne vorberechnete Vektoren und einer schnellen Geschwindigkeit ist unmöglich. Das würde ja total aszozial aussehen :P

Man kann Kliffen usw umgehen, so hab ich es auch gemacht, aber sich mit 1 Wegpunkt durchn Labyrinth durchzuwuschteln dauert zuuuuu lange. Außer du machst eine Map mit 2 Farben die nicht begehbare und begehbare Bereiche ausmalt. Das würde sich automatisieren lassen indem du je nach map größe 500*500 Wegpunkte anlegst und der Bot entscheidet welche sich erreichen lassen und welche nicht, dass dauert aber sehr lange für den Bot. Keine Ahnung ob du das gerne jetzt mit einer Map oder OnTheFly lösen willst.
Indem du die Funktion aus GW aufrufen würdest, könntest du dir so eine Berechnung ersparen, man verwendet ja das interne Pathfinding.
10/18/2008 21:12 Bot_interesierter#38
Die Schwierigkeit beim aufrufen der Moveto Funktion von GW ist ja das Thread Lokale Variablen verwendet werden und man nicht einfach mit einem Remote Thread die Funktion aufrufen kann, man müsste zunächst die Variablen aus dem TLS des MainThreads reversen und diese dann im eigenen TLS richtig speichern vor dem Aufruf der Funktion, der Grund aus dem GW Abgeschmiert ist bei Yesars Methode war das er einfach den EIP von GW geändert hat um seinen Code auszuführen und manchmal kam es dann zu Zugriffsfehlern.
10/19/2008 15:04 | Moep |#39
Quote:
Originally Posted by Atheuz View Post
Sowas umzusetzen ohne vorberechnete Vektoren und einer schnellen Geschwindigkeit ist unmöglich. Das würde ja total aszozial aussehen :P

Man kann Kliffen usw umgehen, so hab ich es auch gemacht, aber sich mit 1 Wegpunkt durchn Labyrinth durchzuwuschteln dauert zuuuuu lange. Außer du machst eine Map mit 2 Farben die nicht begehbare und begehbare Bereiche ausmalt. Das würde sich automatisieren lassen indem du je nach map größe 500*500 Wegpunkte anlegst und der Bot entscheidet welche sich erreichen lassen und welche nicht, dass dauert aber sehr lange für den Bot. Keine Ahnung ob du das gerne jetzt mit einer Map oder OnTheFly lösen willst.
Indem du die Funktion aus GW aufrufen würdest, könntest du dir so eine Berechnung ersparen, man verwendet ja das interne Pathfinding.
Man müsste den Bot natürlich vorher zeigen wo er lang kann und wo nicht. Indem man die Wand abläuft und diese coords dann in eine ini schreibt sollte dass kein Problem darstellen. Aus diesen coord könnte er dann berechnen ob sich etwas zwischen ihm und dem ziel befinden oder nicht. Die befürchtung dass es zu performance problemen kommt habe ich aber auch. Man müsste die Teile der map auf denen sich hindernisse befinden dann vllt so aufteilen dass er den bereich in seiner nähe schnell auf hindernisse checken kann.
Wenn man dass flüssig hinbekommt, hätte man einen algrithmus der sich von alleine durch dass gebiet "bewegt". Man müsste dann "nur" die entsprechenden Orte vorher vermessen, und ihm seine Grenzwerte zu zeigen, so dass er dann weiss wo er lang kann und wo nicht.

@ Bot_interesierter

was heisst TLS un EIP?? kan mir darauf grade nix reimen...:rolleyes:
10/19/2008 16:20 Jacob_G#40
EIP: Extended Instruction Pointer
TLS: Callback Entry
10/20/2008 02:08 Atheuz#41
Quote:
Originally Posted by | Moep | View Post
Man müsste den Bot natürlich vorher zeigen wo er lang kann und wo nicht. Indem man die Wand abläuft und diese coords dann in eine ini schreibt sollte dass kein Problem darstellen. Aus diesen coord könnte er dann berechnen ob sich etwas zwischen ihm und dem ziel befinden oder nicht. Die befürchtung dass es zu performance problemen kommt habe ich aber auch. Man müsste die Teile der map auf denen sich hindernisse befinden dann vllt so aufteilen dass er den bereich in seiner nähe schnell auf hindernisse checken kann.
Wenn man dass flüssig hinbekommt, hätte man einen algrithmus der sich von alleine durch dass gebiet "bewegt". Man müsste dann "nur" die entsprechenden Orte vorher vermessen, und ihm seine Grenzwerte zu zeigen, so dass er dann weiss wo er lang kann und wo nicht.

@ Bot_interesierter

was heisst TLS un EIP?? kan mir darauf grade nix reimen...:rolleyes:
Genau das habe ich auch gemeint, nur nicht das man selber die Bereich abläuft sondern der Bot selbstständig eine Map baut mit einer bestimmten Genauigkeit die man angeben kann, so kann man auch die Geschwindigkeit nacher gut regulieren (Da man nur bis zu 10-20 Koordinaten berechnet) und es ist auch schneller als den kompletten Weg selber zu berechnen. z.B
[Only registered and activated users can see links. Click Here To Register...]
Je mehr Punkte man setzt desto genauer wird der Weg, aber man braucht auch länger.
10/20/2008 23:21 | Moep |#42
Quote:
Originally Posted by Atheuz View Post
Genau das habe ich auch gemeint, nur nicht das man selber die Bereich abläuft sondern der Bot selbstständig eine Map baut mit einer bestimmten Genauigkeit die man angeben kann, so kann man auch die Geschwindigkeit nacher gut regulieren (Da man nur bis zu 10-20 Koordinaten berechnet) und es ist auch schneller als den kompletten Weg selber zu berechnen. z.B
[Only registered and activated users can see links. Click Here To Register...]
Je mehr Punkte man setzt desto genauer wird der Weg, aber man braucht auch länger.
hmm gefällt mir, wäre sicherlich einfacher als meine idee. Kennst du ne möglichkeit dieses Raster ingame sichtbar zu machen. sowas würde die entwicklung des Proggis sicherlich erleichtern. Vllt mit Texmod...halt ich aber grad nicht viel von..

Edit; hab ma mit texmod rumprobiert, ist abere meiner meinung nach nur bedingt brauchbar, man findet zwar die texturen von der oberfläche, aber die schnipsel sind so klein dass man schon n ganzen haufen davon bräuchte...
10/20/2008 23:24 Borega#43
Quote:
Originally Posted by | Moep | View Post
hmm gefällt mir, wäre sicherlich einfacher als meine idee. Kennst du ne möglichkeit dieses Raster ingame sichtbar zu machen. sowas würde die entwicklung des Proggis sicherlich erleichtern. Vllt mit Texmod...halt ich aber grad nicht viel von..
gibt nen bot für d2 wo sie die minimap dahingehend verändert haben.. funzt super da
denke das geht mit textmod auch müsste man ma sehen.. hab ma für die doa alle texturen schwarz gefärbt und nur portale umgefärbt das war zwar arbeit gehen tuts aber.. daher sollte das punktesystem auch machbar sein
10/21/2008 14:47 Atheuz#44
Quote:
Originally Posted by | Moep | View Post
hmm gefällt mir, wäre sicherlich einfacher als meine idee. Kennst du ne möglichkeit dieses Raster ingame sichtbar zu machen. sowas würde die entwicklung des Proggis sicherlich erleichtern. Vllt mit Texmod...halt ich aber grad nicht viel von..

Edit; hab ma mit texmod rumprobiert, ist abere meiner meinung nach nur bedingt brauchbar, man findet zwar die texturen von der oberfläche, aber die schnipsel sind so klein dass man schon n ganzen haufen davon bräuchte...
Die Raster könnte man ingame darstellen, ich bin aber nicht so gut in Directx.
Theoretisch könnte man ja auch bereits vorhandene models als Sichtbare Punkte anzeigen lassen. Wenn du die Map als Hintergrund haben willst für die Vorlage kannst du ja auch
die Kamera auf die Top Ansicht wechseln und dann später in Photoshop genau skalieren auf deine Punkte. Oder bereits eine vorhandene nehmen. Ich hab sowas allerdings noch nicht wirklich gemacht, da gibt es aber sicherlich mehrere Ansätze die man nehmen könnte. Spotan würde mir deine Idee aber einfacher fallen, obwohl man es auch so machen könnte das man die Unbeweglichen und Beweglichen Bereiche gleich selbst einzeichen kann, dass Problem ist nur die Skalierung und die Rechnung.
<-- Nicht so gut in Mathe.
10/21/2008 16:22 wadimwadim#45
die raster kann man mit texmod nicht darstellen.. du könntest einfach ein gitter über alles legen, es sollte sich ja aber nicht bei jeder deiner bewegungen mitdrehen. also brauchst du einen festen punkt nachdem sich dein raster immerwieder neu anordnen kann.