.| Autor | Beitrag |
|---|---|
|
000 23.09.2004, 20:02 Ratman2000 |
Kann mir einer sagen, wo im HLSDK die OFFSET`s declariert sind? Gefunden habe ich in Sourcecodes von Mods z.B. dieses: #define OFFSET_TEAM 114 + EXTRAOFFSET Nur woher wissen die, dass die 114 das Team Offset Flag ist? Kann mir einer sagen, wo das declariert ist? Vielen Dank! -- |
|
Profil || Suche |
|
001 26.09.2004, 15:54 oxff |
Das musst du selber ausrechnen, indem du die Klassendefinitionen in den Headern betrachtest. --mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik |
|
Profil || Suche |
|
002 27.09.2004, 03:36 Ratman2000 |
Hallo, Danke erst mal für deine Antwort ! Könntest du mir evtl sagen, in welchem Header ich die definition für das Team finde ? (damit ich so ca sehe, wie es aussieht wonach ich suche) Danke ! -- |
|
Profil || Suche |
|
003 28.09.2004, 12:39 oxff |
Das geht auch über entvars_t.team mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik Dieser Beitrag wurde am 28.09.2004 um 12:49 von 0xFF bearbeitet. |
|
Profil || Suche |
|
004 28.09.2004, 14:57 Ratman2000 |
Der wert ist aber leider immer = 0 :( Nur leider funktionieren die normalen Offsets nicht unter einer AMD64 Architektur Maschine... Da kommt immer irgent ein müll zurück... Wo mir ein i386 oder i686 Compile ne 1 oder ne 2 liefert wird unter der AMD64 Maschine nen ca 6 stelliger int wert zurück geliefert der bei T und CT gleich ist leider -- |
|
Profil || Suche |
|
005 28.09.2004, 22:57 oxff |
Compile für 32bit. mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik Dieser Beitrag wurde am 28.09.2004 um 22:58 von 0xFF bearbeitet. |
|
Profil || Suche |
|
006 29.09.2004, 11:23 Ratman2000 |
Wenn ichs für 32 bit Compiliere rennt es aber nicht auf einer AMD64 Maschine.... -- |
|
Profil || Suche |
|
007 29.09.2004, 18:45 oxff |
Natürlich, frag mal TTT, 'der kennt sich damit aus'. mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik |
|
Profil || Suche |
|
008 29.09.2004, 20:17 Ratman2000 |
Ja es geht das ich dann HL als 32 bit version laufen lasse... und dann kann ich auch die 32 bit plugins schreiben... Ich möchte aber mit absicht auf 64 bit arbeiten :) -- |
|
Profil || Suche |
|
009 30.09.2004, 01:23 TheTinySteini |
Vergiss es... mal ganz davon abgesehen, welches OS benutzt du eigentlich? Falls Windows, würde es mich doch schwer wundern, wenn du überhaupt nen 64bit Compiler hast. Anyways... 32bit und 64bit mixen sich nicht gut. Da du Half-Life an sich nicht neu kompilieren kannst (falls doch, zeig ich dich an =P), musst du also deine Plugins/Mods/wasauchimmer ebenfalls als 32bit kompilieren. --TheTinySteini |
|
Profil || Suche |
|
010 30.09.2004, 04:15 Ratman2000 |
Hö ? Wieso sollte ich den HL neu compilieren wenn schon ne hlds_amd64 dabei iss ????? Somit ist HL AMD64 (64 bit) fähig... es funzt dann auch nur das AMD64 Compile von Metamod... Und genau deswegen schreib ich meinen mod auch auf AMD64 Architektur... Weil ich auf dem rechner ken 32 bit mehr nutzen will... Und laufen tuht ein 64 bit Suse Linux... (Ne Spezial version) -- |
|
Profil || Suche |
|
011 30.09.2004, 07:49 WareWolf |
..und der Rest der HL Gemeinde? oder wirds ne Private_Mod? --Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
012 30.09.2004, 12:09 TheTinySteini |
Ok, so ist das... wusste nicht, dass es nen amd64-enabled HLDS gibt. Spielen können da alle anderen ja trotzdem - Netzwerkdaten sind ja eh von Valve zusammengepackt worden. Aber ich versteh überhaupt nicht, an welche Offsets du warum und wie rankommen willst? Sieht mir nach MetaMod oder sowas aus - das ist mal überhaupt nicht meine Welt (ich versteh nichtmal, wofür man den Kram überhaupt braucht...). Aber... dies hier kennst du? Ich weiß nicht genau, woher die die Offsets haben (eventuell hat Valve mal nen Header veröffentlicht, aber vermutlich hatten die einfach zu viel Zeit...) - aber wenn du irgendwie ne Ahnung hast, wie die Klasse aussieht, musst du für jeden Pointer 8 statt 4 Byte rechnen, ebenso für longs. Bei int und float bleibt alles beim alten. --TheTinySteini |
|
Profil || Suche |
|
013 01.10.2004, 03:08 Ratman2000 |
Danke dir TheTinySteini ! Ja die Seite kannte ich schon nur die Einträge kenne ich leider alle schon. Die Offsets brauch man z.b. um ganz einfach das Spieler Team zu bekommen... Die meisten Mods fragen das Team ab, indem sie jedes mal das Model auslesen und dann zuordnen... aber das iss völliger mist... Das geht ganz einfach so: Kanst du mir den auch sagen, wie ich z.b. die 114 in nen 8 Byte int umrechnen kann ? Also dass ich den Offset wieder nutzen kann halt ;) DANKE ! -- |
|
Profil || Suche |
|
014 01.10.2004, 15:18 theDon |
http://predef.sourceforge.net/preos.html __linux__ ist schwachfug. --\o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
015 01.10.2004, 23:12 TheTinySteini |
Nein, genau das meinte ich mit "wenn du Ahnung hast, wie die Klasse aussieht"... die Offsets dort richten sich ja nach der Klasse, die benutzt wird. Wenn vor der Speicherstelle, an der das Team steht, nur ints kommen, dann würde sich der Offset unter amd64 nicht ändern. Offensichtlich ist das aber nicht der Fall... also werden vorher wohl z.b. Pointer kommen, und die verschieben den Offset, weil sie 8 Byte statt 4 Byte lang sind. Aber nun müsstest du wissen, _wieviele_ Pointer und/oder longs vor der Speicherstelle mit deinem Team kommen. Das kannst du aber nicht wissen, ohne die Klassendefinition zu haben (und selbst dann ist es... naja... mit raten verbunden). Deine Möglichkeit jetzt: eine Speicherstelle höher (115) scheint ja bei CS das Geld zu liegen. Also wirfst du nen Debugger an, holst dir $x Geld, machst nen Speicherdump, holst dir dann etwas mehr Geld und machst wieder nen Speicherdump. Dann vergleichst du, wo sich was geändert hat, usw... eventuell kannst du damit das neue Offset vom Geld rekonstruieren, und damit auf das vom Team zurückschließen. Der Umweg über's Geld einfach deswegen, weil man das schneller herbeicheaten kann, bei nem Teamwechsel ändert sich sicher deutlich mehr und die Speicherdump unterscheiden sich zu sehr als dass man fündig werden würde. -- TheTinySteini |
|
Profil || Suche |

