Newbie hat Frage ;P

06/18/2007 17:21 qwert1234#1
Hoi ihrse ;)
Also ichhab mir zur Aufgabe gemacht ein kleines Programm zu schreiben. Und mir fehlt der Anfang dafür.
So werden wir mal genauer:
Ich möchte gerne ein Programm schreiben , was einen bestimmten Wert aus einem Onlinegame anzeigt. Ich erklärs mal genauer. In einem Egoshooter spielen 2 Partein gegeneinander und beide haben eine Spawnzeit. Ich möchte gern diese Spawnzeit auslesen und von einem Programm anzeigen lassen. Das Problem was ich dabei hab ist, dass ich ned weiß wie ich den Wert auslesen soll. Ich hab es mit nem Memory searcher probiert, was ja nur klappt wenn der Wert wirklich clientside ist. Ne andere Methode wäre ja die Packets abzufangen die vom Server gesendet werden. Was meint ihr? Wie sollte man am besten anfangen? Und wie oben beschrieben wil ich den Wert nur ausgeben und nicht verändern. Vlt wisst ihr ja was und hättet Tipps für mich.

mfg
06/19/2007 20:43 wiz#2
Wenn der Client den Wert irgendwo anzeigt, muss der Wert auch im Speicher zu finden sein. Wenn der Wert allerdings nirgends auftaucht, kann es wirklich sein, dass der Server dir quasi nur ein "Spawn jetzt!" sendet. Da hilft dann auch kein Packetsniffer.

Frage am Rande - geht es zufällig um ET? Spawntimer? ;)
06/19/2007 22:10 qwert1234#3
ja geht es ;) das selbe hab ich mri auch gedacht, dass es im spawn leigen müsste, allerdings konnte ich da nix finden und wenns mitm packetsniffer auch ned geht wirds problematisch, sehr problematisch :)
06/21/2007 19:36 wiz#4
Ich hab das damals so gelöst, dass man halt einfach mal die Spawntime der Gegenr mitbekomment, entweder wenn man zu Beginn mal kurz spectatet oder eben wenn man es sieht und dann einfach per Tastenkombination signalisiert "Spawn jetzt". Dann musst du nur noch für die jeweilige Map usw das Interval wissen und gut ist. Bisschen mühsam, aber hat damals wunderbar funktioniert ;)
06/21/2007 20:55 qwert1234#5
ja klar funktioniert das ^^ aba es gibt ja faule leute, die wollen dann auf einem knopf drücken und dann is gut ;) da wär son programm ganz gut, denn das wäre ja mapunabhängig, vorallem weil die anfangsspawnzeit ja immer unterschiedlich is
07/02/2007 02:25 nehl#6
Entweder du sniffst den eingehenden Traffic( Stichwort: Raw-Socket ), kontrollierst jedes Paket nach etwas typisches für den Spawntime - was sehr aufwendig wäre - und gibst es dann aus.

Oder aber du durchsuchst den Speicher nach einem ständich wechselnden Wert, der hinterher ( wahrscheinlich ) dem Wert 0 entspricht.
Nun hast du die Addresse und kannst die Zeit ablesen.

Eine Frage am Rande: Wieso willst du die Spawntime? Reicht dir die Anzeige im Spiel nicht? *gg*
07/02/2007 16:44 qwert1234#7
naja es geht ja eher um die spawnzeit der anderen. nur find ich ja nedmal die eigene spawnzeit im speicher, deswegen hatte ich gegrübelt
07/05/2007 14:13 nehl#8
Quote:
Originally posted by qwert1234@Jul 2 2007, 16:44
naja es geht ja eher um die spawnzeit der anderen. nur find ich ja nedmal die eigene spawnzeit im speicher, deswegen hatte ich gegrübelt
Ist die nicht gleich?
Wenn nicht, dann musst du dich wohl damit abfinden oder du musst herausfinden wie z.B. die abfrage vom gegnerischen Team aus ist um dann eine Anzeige des Gegners zu empfangen.