Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 14:34

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

Advertisement



Nostale Map Viewer

Discussion on Nostale Map Viewer within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Post Nostale Map Viewer

Hallo, wie kann man einen Autoit Nostale Map Viewer machen wo man:
NPC´s , Spieler und Items sieht?
Weiß einer wie man sowas in Autoit aufbaut.
Brauche hilfe komme nicht weiter.
BladeTiger12 is offline  
Old 09/12/2012, 17:33   #2
 
Tekuzo's Avatar
 
elite*gold: 127
Join Date: Dec 2009
Posts: 4,077
Received Thanks: 1,081
Falsche Sektion.
Das gehört rein.
Tekuzo is offline  
Thanks
1 User
Old 09/12/2012, 17:34   #3
 
elite*gold: 113
The Black Market: 133/2/0
Join Date: Dec 2009
Posts: 16,685
Received Thanks: 4,450
Arrow Nostale -> AutoIt

#moved
Rorc is offline  
Thanks
1 User
Old 09/12/2012, 17:40   #4

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Entschuldigung wusste ich nicht.
BladeTiger12 is offline  
Old 09/12/2012, 17:50   #5


 
Lawliet's Avatar
 
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
Hast du ein Beispiel in irgendeiner anderen Sprache?
Lawliet is offline  
Old 09/12/2012, 17:53   #6

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Nein leider nicht.
Wie den auch ist mein erstes mal
das ich sowas mache.
Mit Pointern und so kenne mich mich aus
aber damit garnicht.
Und ich glaube auch kaum das einer so eine Source gibt.
BladeTiger12 is offline  
Old 09/12/2012, 21:21   #7
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
du musst die map einfach als bild nehmen, und kannst dann ja einfach eine verhältnisgleichung zu deinem aktuellen maßstab der karte (bzw des kartenausschnitts) erstellen.

wenn du das fertig hast, sollte es ein leichtes sein, die koordinaten auf der karte zb durch farbige punkte zu markieren.
lolkop is offline  
Old 09/12/2012, 22:18   #8

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Also die GUI mit dem Bild habe ich schon.
Aber wie kriege ich die koordinaten.
Und wie kann ich die koordinaten in der
Autoit-Map anzeigen.
Das sind meine Fragen.
Aber ich kriege das irgendwie nicht hin.
Deswegen suche ich Hilfe.
BladeTiger12 is offline  
Old 09/13/2012, 11:05   #9
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by BladeTiger12 View Post
Also die GUI mit dem Bild habe ich schon.
Aber wie kriege ich die koordinaten.
Und wie kann ich die koordinaten in der
Autoit-Map anzeigen.
Das sind meine Fragen.
Aber ich kriege das irgendwie nicht hin.
Deswegen suche ich Hilfe.
nach deinen posts war ich davon ausgegangen, das du bereits viel über reverse engineering weist, und diesbezüglich keine hilfe mehr benötigst.

wenn es um objekte in spielen geht, welche man versucht zu finden, hält man sich in der regel an gegebene funktionen. die meisten mmo's beinhalten von haus aus autoselect oder autopick funktionen. diese im client zu finden, sollte mit grundlegenden vorkenntnissen kein problem darstellen.

sobald man eine dieser funktionen gefunden hat, sollte es auch kein problem mehr sein, diese in autoit nach zu bauen...
hier mal ein , welches ich vor langer zeit einmal für silkroad online geschrieben habe.

sollte es tatsächlich keine derartigen vom spiel vorgegebenen funktionen geben, so muss gibt es meist noch eine minimap oder ähnliches, auf welcher die objekte (mobs, npcs, items, ...) eingezeichnet sind. die funktion der aktualisierung der minimap im speicher zu finden ist in der regel aber deutlich schwerer, da aktualisierungen nicht über user-aktionen ablaufen.

sollte selbst eine derartige minimap nicht existieren, so muss man sich an die aktualisierung der spieloberfläche halten. da dies aber in wohl jedem spiel mit abstand die umfangreichste klasse ist, ist hier das filtern der benötigten informationen auch mit abstand am schwersten.

alternativ kann man in online spielen auch versuchen das ganze über den packetfluss zu lösen. das ganze hat den vorteil, das man weniger mit client-speziefischen problemen zu kämpfen hat, welche beispielsweise durch updates hinzukommen könnten.
lolkop is offline  
Old 09/13/2012, 19:55   #10

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Hmm sicher das man daraus von jedem Mob die Koordinaten bekommt oder nur von einen?
BladeTiger12 is offline  
Old 09/14/2012, 01:00   #11
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by BladeTiger12 View Post
Hmm sicher das man daraus von jedem Mob die Koordinaten bekommt oder nur von einen?
Durch das konkrete Suchen mit AutoPick kriegst du natürlich nur von einem Mob sämtliche Daten. Es sollte dir aber möglich sein die Daten des Mobs hoch auf eine Struct zu rechnen. Wenn du weißt wie viel Speicherplatz pro Mob in der Struct eingenommen wird, kannst du indem du den Anfang und das Ende der Struct findest ganz einfach über jeden beliebigen Mob Informationen bekommen.

Das ganze ist aber etwas kniffelig, dennoch nicht unmöglich.

Alternative wäre ein Code Cave, das beim erstellen der Map die Daten der Mobs rausfiltert, aber ich denke da wirst du noch größere Probleme haben als mit den bloßem Finden der Struct.
Shadow992 is offline  
Thanks
1 User
Old 09/14/2012, 10:35   #12
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by Shadow992 View Post
Durch das konkrete Suchen mit AutoPick kriegst du natürlich nur von einem Mob sämtliche Daten.
in der regel funktionieren die autoselect funktionen der mmos aber so, das sie automatisch den dichtesten mob auswählen.

dafür gibt es nur 2 mögliche wege. der erste wäre, das der server sämtliche in der nähe befindliche mobs durchläuft. hier würden wir dann tatsächlich als antwort nur einen mob bekommen.

viel warscheinlicher ist aber die zweite methode, in der der client sämtliche mobs durchläuft. so funktioniert es zb auch bei den von mir getesteten spielen: silkroad, perferkt world und 4story. eben dieses durchlaufen der mobs braucht man dann ja nur nachzubauen, und hat so bereits die fertige liste aller mobs.
lolkop is offline  
Thanks
2 Users
Old 09/14/2012, 14:24   #13

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Hört sich wirklich schwer an aber ich werde es Probieren.
Danke für die Lösungen
BladeTiger12 is offline  
Old 09/16/2012, 21:39   #14

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Habe es jetzt so lange probiert und am ende
habe ich es nur gepackt meine Pos rauszukriegen
und damit ein Programm zubauen.

Hier mein bisjetziger Code:

PHP Code:
#RequireAdmin
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#include <GDIPlus.au3>
_GDIPlus_Startup()

Global 
$ADD 0x007D53F4$OFFY 0x0E$OFFX 0x0C$OFF2 0x30 $hGraphic
$PID 
_MemoryOpen(ProcessExists("NostaleX.dat"))

$hGUI GUICreate("GDI+"265265)
AdlibRegister("_POS" 1000)
GUISetState()

$hGraphic _GDIPlus_GraphicsCreateFromHWND($hGUI)

While 
1

    $ReadX 
_MemoryRead(_MemoryRead(_MemoryRead($ADD $PID) + $OFF2 $PID) + $OFFX $PID "word")
    
$ReadY _MemoryRead(_MemoryRead(_MemoryRead($ADD $PID) + $OFF2 $PID) + $OFFY $PID "word")

    
$nMsg GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            _GDIPlus_GraphicsDispose
($hGraphic)
            
_GDIPlus_Shutdown()
            Exit

    EndSwitch
WEnd

Func _POS
()
    
_GDIPlus_GraphicsClear($hGraphic 0xFFFFFFFF)
    
_GDIPlus_GraphicsFillEllipse($hGraphic$ReadX$ReadY1010)
EndFunc 
Ich pack das irgendwie nicht.
Bitte um weitere Hilfe.

Skype wäre auch gut:
MrBladeTiger12
BladeTiger12 is offline  
Reply




All times are GMT +1. The time now is 14:34.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

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