17.05.2012, 01:06
(Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2012, 01:08 von Crocotronic.)
Guten Abend,
brauche dringend Hilfe bei meinem Problem und bin deshalb hier gelandet. Die Community scheint mir sehr freundlich zu sein
Nun zum Thema:
Es handelt sich um ein altes 2D Flugzeug-Shooter Game (Java), bei dem man unteranderem Items, wie z.B. Raketen, Leben etc. (wie bei Mariokart) einsammeln kann. Die Items sind nur einmalig zu gebrauchen, d.h. man kann sie nur einmal abfeuern. Nun will ich zu jederzeit ein beliebiges Item zur Verfügung stehen haben. Dazu muss man sagen, dass man nur ein Item im Cache haben kann. Die theoretisch Vorgehensweise, sich ein Item "zu erstellen", wurde mir schon erklärt:
In der Localplayer class, in der sich auch die Koordinaten, HP etc. befinden, sieht man sich die Bytes an, die sich beim Aufsammel eines Item verändern. Das habe ich getan und eine Variable mit der Größe von 4 Bytes gefunden. In diese Variable wird beim Aufnehmen ein Pointer reingeschrieben, der auf das Item zeigt, dass bei jedem Aufnehmen allokiert wird. Beim Benutzen wird das Item wieder gelöscht und der Variable der Wert 0 zugewiesen. Alles, was ich nun tun muss ist zu schauen, welche Funktion den Pointer in die Variable schreibt. Das habe ich mit CE getan und konnte 2 Funktionen finden. Die Erste, die das Item allokiert und die Zweite, die das Item wieder Löscht.
Bis hier hin ist mir alles klar. Mein Problem liegt "nur" bei der Durchfürhung :( Bin nämlich noch relativ neu in diesem Gebiet und verstehe manche Sachen noch nicht ganz.
Mit CE habe ich die Stelle gefunden, wo die Variable beschrieben wird. Diese Stelle befindet sich jedoch in einer Funktion. Nun muss ich herausfinden, wo diese Funktion beginnt und wo sie aufgerufen wird. Das ist erstmal mein Hauptproblem. Ich weiß einfach nicht, wie ich vorgehen muss um den Anfang dieser Funktion zu finden.
Könnt ihr mir weiterhelfen?
Viele Grüße
Crocotronic
brauche dringend Hilfe bei meinem Problem und bin deshalb hier gelandet. Die Community scheint mir sehr freundlich zu sein

Nun zum Thema:
Es handelt sich um ein altes 2D Flugzeug-Shooter Game (Java), bei dem man unteranderem Items, wie z.B. Raketen, Leben etc. (wie bei Mariokart) einsammeln kann. Die Items sind nur einmalig zu gebrauchen, d.h. man kann sie nur einmal abfeuern. Nun will ich zu jederzeit ein beliebiges Item zur Verfügung stehen haben. Dazu muss man sagen, dass man nur ein Item im Cache haben kann. Die theoretisch Vorgehensweise, sich ein Item "zu erstellen", wurde mir schon erklärt:
In der Localplayer class, in der sich auch die Koordinaten, HP etc. befinden, sieht man sich die Bytes an, die sich beim Aufsammel eines Item verändern. Das habe ich getan und eine Variable mit der Größe von 4 Bytes gefunden. In diese Variable wird beim Aufnehmen ein Pointer reingeschrieben, der auf das Item zeigt, dass bei jedem Aufnehmen allokiert wird. Beim Benutzen wird das Item wieder gelöscht und der Variable der Wert 0 zugewiesen. Alles, was ich nun tun muss ist zu schauen, welche Funktion den Pointer in die Variable schreibt. Das habe ich mit CE getan und konnte 2 Funktionen finden. Die Erste, die das Item allokiert und die Zweite, die das Item wieder Löscht.
Bis hier hin ist mir alles klar. Mein Problem liegt "nur" bei der Durchfürhung :( Bin nämlich noch relativ neu in diesem Gebiet und verstehe manche Sachen noch nicht ganz.
Mit CE habe ich die Stelle gefunden, wo die Variable beschrieben wird. Diese Stelle befindet sich jedoch in einer Funktion. Nun muss ich herausfinden, wo diese Funktion beginnt und wo sie aufgerufen wird. Das ist erstmal mein Hauptproblem. Ich weiß einfach nicht, wie ich vorgehen muss um den Anfang dieser Funktion zu finden.
Könnt ihr mir weiterhelfen?
Viele Grüße
Crocotronic