OldSchoolHack

Register / Login English

CSS Radarstrukturen Auslesen


icon CSS Radarstrukturen Auslesen #1

Join Date: Sep 2010

Posts: 38

Hey ho, ich habe die letzten Tage auf die Suche nach den Spielerobjekten im Speicher von css begeben. Gefunden habe ich (nach Kn4ckers Meinung) die Radarobjekte.
Ich habe mir einen Pointer zum ersten Objekt gesucht und habe rausgefunden, dass die Objekte in einem Abstand 0x140 im Speicher liegen, ich schnalle mir also den Pointer zum ersten Objekt und addiere immer 0x140, um den nächsten spieler zu erhalten.

Kommen wir zu meinrm Problem. Ich habe 2 Koordinaten rausgefunden. Sie sind hier im Bild rot unterlegt:
http://img706.imageshack.us/img706/8991/51429698.png

Im Bild sieht man jeweils 4 Bits für X und 4 bits für Y (eventuell auch umgekehrt) hab mir ein kleines tool geschrieben, um die Koords jeweils auszulesen und habe Sie mal hier auf der De_Dust2 Map eingetragen:
http://img186.imageshack.us/img186/6783/dedust2a.jpg

Für mich ergeben die Koordinaten nur teils einen Sinn. Vorallem das die Zahlen ab der Mitte negativ werden wundert mich. Ich habe anfangs mit Integer ausgelesen (sind doch 4 bits oda bring ich was durcheinander?), später dann mit Float, überall stoße ich auch ähnliche Ergebnisse.

Könntet ihr mir einen Tipp geben, wie ich weiter machen sollte, bzw das Problem mit den Koords lösen kann ?
Mfg krusty =D

icon #2

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
du darfst die nicht als int interpretieren, sondern musst sie als float interpretieren, dann kommen realistische Zahlen raus. Und die darfst du dann weiterhin nicht einfach als 2D Koordinate nehmen, da sie die 3D Position des Gegners sind. Die per WorldToScreen umgerechnet, ergeben dann die 2D Positionen.

greetz KN4CK3R

__________________

Hallo
icon #3

Join Date: Sep 2010

Posts: 38

hmmm. auch wenn ich sie als float betrachte, wegeben sie keinerlei sinn für mich. Die Z koordinate werde ich mir heute raussuchen. die WorldToScreen Funktion werde ich mich wohl raussuchen müssen. Dummerweise programmiere ich selten in C++, werde versuchen die funktion zu übersetzen, schaden kanns ja nicht.
Noch etwas... Wenn ich mein kleines Programm so betrachte, bemerke ich, dass Spieler, die den server verlassen immer noch immernoch angezeigt werden mit 100% live, team und koords, heißt das, dass der Speicher noch belegt ist ? Sollte sowas nicht eigendlich gelöscht werden ?

Danke nochmal für die Informationen.
icon #4

Join Date: Sep 2010

Posts: 136

Lass einfach die player mit 0 oder weniger HP nicht zeichnen (hab ich gemacht).

Wegen dem - und + Koord.:
Du musst dir ein Koordinatenkreuz vorstellen: Die Mitte des koordinatenkreuzes = die mitte der map (meistens). Wenn also jemand in der links oben ecke steht hat seine x koordinate nat. ein negative Zahl.

Was dich interessieren könnte ist das hier: http://www.luascripts.be/addresslist.html

HF

__________________

[21:43:44] <-> Reita heißt jetzt R|GW2
[21:44:08] <-> Igromanru heißt jetzt Reita
[21:44:20] <-> Cycode2 heißt jetzt Igromanru
[21:44:27] <-> R|GW2 heißt jetzt Cyode2
icon #5

Join Date: Sep 2010

Posts: 38

wooow, danke. haben mir sehr geholfen die infos. ich beschäftige mich weiter mit =D
Edit:
ich habe mich nochmal rangesetzt, Koords in float ausgelesen und bin zu folgendem ergebnis gekommen:
http://img230.imageshack.us/img230/144/dedust22h.jpg
(kleiner Fehler, es soll natürlich min y -2000 heisen.)
Ich habe ein Koordinatensystem (gelb) gezeichnet, welches den Urspring (x=0,y=0) in der unteren Mitte der Map hat. Dort sind X und Y beide ~0.
Vergleicht man den Punkt mit den anderen Koords (die Nachkommastellen habe ich weggemacht, damit man es besser sieht), dann kommt das auch ganz gut hin.
Ich mir nun erstmal ein virtuelles Koordinatensystem zusammenbasteln, dort jeweils die Koords eintragen und das dann erstmal in eine Form o.ä. bringen.
Uff... ich arbeite dran =D
icon #6

Join Date: Sep 2010

Posts: 136

Schön, das du das Problem so angehst: erstmal ein Skizze, überlegen, testen... so wie in der Schule

Wenn du mir sagst in was du coden willst, dann kann ich dir weiter helfen (die Map inklusive Player zu zeichnen).

PS: Kannst du mir sagen woher/wie du das MapOverlay bekommen hast?

__________________

[21:43:44] <-> Reita heißt jetzt R|GW2
[21:44:08] <-> Igromanru heißt jetzt Reita
[21:44:20] <-> Cycode2 heißt jetzt Igromanru
[21:44:27] <-> R|GW2 heißt jetzt Cyode2
icon #7

Join Date: Sep 2010

Posts: 38

ich programmiere für gewöhnlich in vb.net und autoit. Die Vorgehensweise ist denke ich fast die selbe wie in andenren (C-)Sprachen, man arbeitet ja größtenteils mir api funktionen. Ich habe sowohl ein AutoIT Script als auch ein kleines .Net Programm zum Auslesen.
Nach der Map habe ich einfach gegoogelt.
Du darfst mich gerne bei ICQ adden:
230788760
icon #8

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
die Maps sind auch in den GFC Kontainern drin, kann man einfach als Textur entpacken

greetz KN4CK3R

__________________

Hallo