Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Last Chaos
You last visited: Today at 16:41

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

Advertisement



Radar auslesen

Discussion on Radar auslesen within the Last Chaos forum part of the MMORPGs category.

Reply
 
Old   #1
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Radar auslesen

Ich bräuchte für meinen Bot eine Funktion, mit der ich die Koordinaten aller Monster im Radar auslesen kann. So eine Funktion hat zB. auch der .NET Trainer.
Ich habe bereits die Adressen für die GUID und ID der NPCs. Diese beginnen bei der Adresse 0x0120004C für die GUID des ersten NPCs (0x01200050 für die ID des NPCs). Die jeweils nächste ist je 368 Bytes weiter (0x012003B4 für den 2. NPC).
So weit so gut, allerdings finde ich einfach nicht die Adresse für die Koordinaten, wo sich die NPCs grade befinden. Ich kann die zwar mit CE auslesen, allerdings scheint sich ihre Speicheradresse immer zu ändern, sobald der NPC einmal aus dem Radar verschwunden ist und wieder auftaucht. Auch lässt sich kein Zusammenhang mit den anderen Koordinaten erkennen, da diese Speicheradressen manchmal einfach unmögliche Werte anzeigen...

Weiß jemand Rat, wie ich an die Koordinaten komme?

Ich habe dsfgd schon eine PM geschrieben und gefragt,wie er das in seinem Trainer hinbekommen hat, allerdings hat er sich seit Tagen nicht in diesem Forum blicken lassen und ich bräuchte die Kordinaten wirklich dringend...
Nulpe123 is offline  
Old 08/25/2010, 23:09   #2



 
Elongate's Avatar
 
elite*gold: 0
The Black Market: 258/0/0
Join Date: Jan 2010
Posts: 8,985
Received Thanks: 3,457
Immer wieder Radar auslesen...? Wozu brauchst du das denn?
Elongate is offline  
Old 08/25/2010, 23:20   #3
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Damit kann man den Bereich gut eingrenzen. Gibt noch weitere Beispiele, ich habe huberhans
mal ein Code geschickt, ich kram den mal raus und lösch das unnötige.

Hat zwar etwas gedauert, aber ich habs gefunden. Es ist zwar nur ein AutoIt Script und für die Items,
aber du solltest was damit anfangen können:
PHP Code:
#include <GUIConstantsEx.au3>
#include <GuiListView.au3> ; ListView UDF
#include <ListViewConstants.au3>
#include <NomadMemory.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("KDRadar"370368)
GUISetBkColor(0xFFFFFF)
$LV_Items GUICtrlCreateListView("X|Y|Z|Rotation"1010350350)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH075)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH175)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH275)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH375)
$ListViewHandle GUICtrlGetHandle($LV_Items)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$Handle _MemoryOpen(ProcessExists("Nksp.exe")) ;vereinfacht
$Base 
0x10643528
$mDataSize 
0x90

$Address 
_MemoryRead($Base$Handle) ;_pNetwork
$GameAddress 
_MemoryRead($Address 0x1C$Handle) ;_pNetwork 0x1C
$ItemsPointer 
_MemoryRead($GameAddress 0x48$Handle) ;(_pNetwork 0x1C) + 0x48
$ItemsCount 
_MemoryRead($GameAddress 0x4C$Handle) ;(_pNetwork 0x1C) + 0x4C

$Time 
10000 ;10 Sekunden

While True
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

    EndSwitch

    If 
TimerDiff($Time) >= 10000 Then ;aktuallisiert das ListView alle 10 Sekunden
        _GUICtrlListView_DeleteAllItems
($ListViewHandle); löscht alle Einträge der ListView
        
For $x 0 To $ItemsCount ;Array beginnt bei 0
            $ItemDataPointer 
_MemoryRead($ItemsPointer + ($x $mDataSize) + 0xC$Handle)

            
$ItemX _MemoryRead($ItemDataPointer 0x54$Handle"float")
            
$ItemY _MemoryRead($ItemDataPointer 0x5C$Handle"float")
            
$ItemZ _MemoryRead($ItemDataPointer 0x58$Handle"float")
            
$ItemRot _MemoryRead($ItemDataPointer 0x60$Handle"float")

            ;
Daten in das ListView einfügen
            $ItemsAddListView 
_GUICtrlListView_GetItemCount($LV_Items)
            
_GUICtrlListView_AddItem($ListViewHandleRound($ItemX4), 0)
            
_GUICtrlListView_AddSubItem($ListViewHandle$ItemsAddListViewRound($ItemY4), 1)
            
_GUICtrlListView_AddSubItem($ListViewHandle$ItemsAddListViewRound($ItemZ4), 2)
            
_GUICtrlListView_AddSubItem($ListViewHandle$ItemsAddListViewRound($ItemRot4), 3)
        
Next

        $Time 
TimerInit() ;resettet den Timer
    
EndIf
WEnd 
Ist nicht mehr aktuell.
KDeluxe is offline  
Thanks
1 User
Old 08/26/2010, 14:31   #4
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Quote:
Originally Posted by KillerDeluxe View Post
Damit kann man den Bereich gut eingrenzen. Gibt noch weitere Beispiele, ich habe huberhans
mal ein Code geschickt, ich kram den mal raus und lösch das unnötige.

Hat zwar etwas gedauert, aber ich habs gefunden. Es ist zwar nur ein AutoIt Script und für die Items,
aber du solltest was damit anfangen können:
PHP Code:
#include <GUIConstantsEx.au3>
#include <GuiListView.au3> ; ListView UDF
#include <ListViewConstants.au3>
#include <NomadMemory.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("KDRadar"370368)
GUISetBkColor(0xFFFFFF)
$LV_Items GUICtrlCreateListView("X|Y|Z|Rotation"1010350350)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH075)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH175)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH275)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH375)
$ListViewHandle GUICtrlGetHandle($LV_Items)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$Handle _MemoryOpen(ProcessExists("Nksp.exe")) ;vereinfacht
$Base 
0x10643528
$mDataSize 
0x90

$Address 
_MemoryRead($Base$Handle) ;_pNetwork
$GameAddress 
_MemoryRead($Address 0x1C$Handle) ;_pNetwork 0x1C
$ItemsPointer 
_MemoryRead($GameAddress 0x48$Handle) ;(_pNetwork 0x1C) + 0x48
$ItemsCount 
_MemoryRead($GameAddress 0x4C$Handle) ;(_pNetwork 0x1C) + 0x4C

$Time 
10000 ;10 Sekunden

While True
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

    EndSwitch

    If 
TimerDiff($Time) >= 10000 Then ;aktuallisiert das ListView alle 10 Sekunden
        _GUICtrlListView_DeleteAllItems
($ListViewHandle); löscht alle Einträge der ListView
        
For $x 0 To $ItemsCount ;Array beginnt bei 0
            $ItemDataPointer 
_MemoryRead($ItemsPointer + ($x $mDataSize) + 0xC$Handle)

            
$ItemX _MemoryRead($ItemDataPointer 0x54$Handle"float")
            
$ItemY _MemoryRead($ItemDataPointer 0x5C$Handle"float")
            
$ItemZ _MemoryRead($ItemDataPointer 0x58$Handle"float")
            
$ItemRot _MemoryRead($ItemDataPointer 0x60$Handle"float")

            ;
Daten in das ListView einfügen
            $ItemsAddListView 
_GUICtrlListView_GetItemCount($LV_Items)
            
_GUICtrlListView_AddItem($ListViewHandleRound($ItemX4), 0)
            
_GUICtrlListView_AddSubItem($ListViewHandle$ItemsAddListViewRound($ItemY4), 1)
            
_GUICtrlListView_AddSubItem($ListViewHandle$ItemsAddListViewRound($ItemZ4), 2)
            
_GUICtrlListView_AddSubItem($ListViewHandle$ItemsAddListViewRound($ItemRot4), 3)
        
Next

        $Time 
TimerInit() ;resettet den Timer
    
EndIf
WEnd 
Ist nicht mehr aktuell.

Ein dickes Thanks von mir

Bei den Items habe ich das jetzt geschafft, aber bei den Monstern komm ich leider nicht weiter. Bei den Offsets überspringt der einfach das, was bei dir der $ItemsPointer (bei den Monstern warscheinlich der MonsterPointer) ist und geht direkt zur $GameAddress. Das endet natürlich in einer komplett falschen Endadresse...

Hat jemand eine Ahnung, wie ich an die Offset für den "MonsterPointer" komme?
Nulpe123 is offline  
Old 08/26/2010, 18:19   #5
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Da ist mir ein kleiner Fehler unterlaufen. Ich hab das ganze aber mal etwas verbessert und für die Monster angepasst.
PHP Code:
#include <GUIConstantsEx.au3>
#include <GuiListView.au3> ; ListView UDF
#include <ListViewConstants.au3>
#include <NomadMemory.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("KDRadar"370368)
GUISetBkColor(0xFFFFFF)
$LV_Monster GUICtrlCreateListView("X|Y|Z|Rotation"1010350350)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH075)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH175)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH275)
GUICtrlSendMsg(-1$LVM_SETCOLUMNWIDTH375)
$ListViewHandle GUICtrlGetHandle($LV_Monster)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


$Base 0x105F1A58
$mDataSize 
0x368
$Window 
"[CLASS:Nksp]"
$Time 10000 ;10 Sekunden


While True
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

    EndSwitch

    If 
TimerDiff($Time) >= 10000 Then ;aktuallisiert das ListView alle 10 Sekunden
        $Handle 
_MemoryOpen(WinGetProcess($Window)) ;vereinfacht
        
If Not @error Then
            $Address 
_MemoryRead($Base$Handle) ;_pNetwork
            $GameAddress 
_MemoryRead($Address 0x1C$Handle) ;_pNetwork 0x1C
            $MonsterPointer 
_MemoryRead($GameAddress 0x18$Handle) ;(_pNetwork 0x1C) + 0x18
            $MonsterCount 
_MemoryRead($GameAddress 0x1C$Handle) ;(_pNetwork 0x1C) + 0x1C

            _GUICtrlListView_DeleteAllItems
($ListViewHandle); löscht alle Einträge der ListView
            
For $x 0 To $MonsterCount ;Array beginnt bei 0
                $MonsterDataPointer 
_MemoryRead($MonsterPointer + ($x $mDataSize) + 0x14$Handle)

                
$MonsterX _MemoryRead($MonsterDataPointer 0x54$Handle"float")
                
$MonsterY _MemoryRead($MonsterDataPointer 0x5C$Handle"float")
                
$MonsterZ _MemoryRead($MonsterDataPointer 0x58$Handle"float")
                
$MonsterRot _MemoryRead($MonsterDataPointer 0x60$Handle"float")

                ;
Daten in das ListView einfügen
                $MonsterAddListView 
_GUICtrlListView_GetItemCount($LV_Monster)
                
_GUICtrlListView_AddItem($ListViewHandleRound($MonsterX4), 0)
                
_GUICtrlListView_AddSubItem($ListViewHandle$MonsterAddListViewRound($MonsterY4), 1)
                
_GUICtrlListView_AddSubItem($ListViewHandle$MonsterAddListViewRound($MonsterZ4), 2)
                
_GUICtrlListView_AddSubItem($ListViewHandle$MonsterAddListViewRound($MonsterRot4), 3)
            
Next
            _MemoryClose
($Handle)
        EndIf

        
$Time TimerInit() ;resettet den Timer
    
EndIf
WEnd 
KDeluxe is offline  
Thanks
1 User
Old 08/26/2010, 21:05   #6
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Edit: habe meinen Fehler entdeckt, jetzt funktioniert das, was du mir geschrieben hast einwandfrei!

Wenn ich dir nicht schon ein thx gegeben hätte, würde ich dir glatt noch eins geben
Nulpe123 is offline  
Reply


Similar Threads Similar Threads
lf radar, non detectableish like pete's radar
09/25/2010 - Aion - 1 Replies
i tried using pete's 1.05 it shows nothing excpt a crosshair, i checked his settings area , reloged , tp ed......deleted it and reloaded fresh one.....still nothing .....i'm usin vista , and this is after merge and 1.9 aion.....any ideas?
Radar- Post what you know about any and all active, working radar programs for DAOC
06/29/2010 - General Gaming Discussion - 1 Replies
its been years since I was using a working version of AK. I hear people say that there is a current working version of AK, and of another type of radar program. If you know anything about any working radar, please post the info. A link to where it can be downloaded, etc, would be great. And if it can be detected in a passive (not just by tricking you into chasing bait) manner on any live or freeshard servers. Thanks.
WoW Radar ???
02/04/2007 - World of Warcraft - 2 Replies
Hy allo bei www.wowsharp.net gabs doch mal son radar der alles angezeigt hat items quests und so nicht wa??? der funzt nicht mehr seh ich das richtig oder??? hoffe einer kann helfen!
Radar
10/02/2006 - Lineage 2 - 0 Replies
The radar of the dead L2Agent is a very useful tool, because in the private server I play now the mob drop items to the ground. But my old version of L2 with the C5 is out of use. Does anyone know if there is another tool with a good radar?



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


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.