|
Thread |
Forum |
Last Post |
Posts |
Views |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Bin grad total verwirrt Mal Schritt für Schritt: Ich bin in die Localplayer Class gegangen und habe geguckt, welche Bytes sich beim Aufnehemn eines Items ändern. Dort konnte ich eine 4 Byte große Variable finden. In diese Variable wird die Adresse des Items geschrieben. Aber weil sich die Adresse dieser 4 Byte großen Variable andauernd ändert, habe ich alle Pointer davon gesucht. Und um die Pointer zu finden habe ich ja immer geguckt, "was zu dieser Adresse schreibt". Aber jetzt muss ich ja finden, was an die Adresse schreibt...omg bin ich verwirrt
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from SilverFire der code wird dynamisch generiert, bist du dir da sicher? Ist der Code dynamisch generiert, wenn CE ihn (unter anderem) nicht analysieren und/oder keine Referenzen suchen kann? Quote from SilverFire wenn ja, empfehle ich dir entweder nen pointer zu finden, der immer an eine feste stelle im code verweist (z.b. dem entrypoint), oder du machst dir nen searchpattern. Mhm, was meinst mit "immer an eine feste Stelle"? Ich hab die Startadresse, von der alles aus geht. Auch die Offsets der Variable, in die der Pointer reingeschrieben wird. Kann man damit schon was anfangen? Quote from SilverFire Den code kannst du dann ganz einfach korrigieren indem du in CE die entsprechenden hex opcodes abliest und dann per wpm an die entsprechende stelle schreibst. (0xE9 ?? ?? ?? ?? ist z.b. ein jump) Achtung, Code ist meist schreibgeschützt, hol dir also mit virtualprotectex vorher die entsprechenden rechte. Ja, mit wpm geht das echt gut, habe damit auch das andere Zeug gemacht.
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from SilverFire ansonsten mach dir nen searchpattern, wenn du net weißt wies geht dump mal aus CE/olly die ~10-20 umliegenden zeilen um den entsprechenden jump befehl, dann mach ich dir eine.
Wirklich?! Cool, vielen Dank. Ist echt nett von dir!! DumpTEXT Code: CPU Dump Address Hex dump ASCII 0292EBF0 75 F6 8B D3|8B 4C 24 30|89 0C 24 C7|44 24 04 03| u��ӋL$0�.$�D$ 0292EC00 00 00 00 8B|C8 89 44 24|4C 90 90 E8|62 02 00 00| ...�ȉD$L���b.. 0292EC10 8B 74 24 48|3B 06 8B 54|24 4C 8B CE|90 90 90 E8| �t$H;�T$L�ΐ��� 0292EC20 5A 02 00 00|8B 4C 24 30|8B B1 64 01|00 00 83 FE| Z..�L$0��d..�� 0292EC30 00 0F 84 ED|00 00 00 8B|B1 60 01 00|00 81 7E 08| .��...��`..�~ 0292EC40 03 00 00 00|0F 86 91 01|00 00 8B 76|18 8B CE 90| ...��..�v�ΐ 0292EC50 90 90 B8 48|BB 58 0D E8|8A DD CC FF|83 F8 00 0F| ���H�X.������. 0292EC60 85 BF 00 00|00 8B 4C 24|30 8B 91 64|01 00 00 83| ��...�L$0��d..� 0292EC70 FA 00 0F 84|6E 00 00 00|C7 04 24 00|00 00 00 8B| �.�n...�$....� 0292EC80 F1 8B CE 90| �ΐ
Falls du noch das Disasm. brauchst TEXT Code: CPU Disasm Address Hex dump Command 0292EBF0 ^\75 F6 JNE SHORT 0292EBE8 0292EBF2 8BD3 MOV EDX,EBX 0292EBF4 8B4C24 30 MOV ECX,DWORD PTR SS:[ESP+30] 0292EBF8 890C24 MOV DWORD PTR SS:[ESP],ECX 0292EBFB C74424 04 03000 MOV DWORD PTR SS:[ESP+4],3 0292EC03 8BC8 MOV ECX,EAX 0292EC05 894424 4C MOV DWORD PTR SS:[ESP+4C],EAX 0292EC09 90 NOP 0292EC0A 90 NOP 0292EC0B E8 62020000 CALL 0292EE72 0292EC10 8B7424 48 MOV ESI,DWORD PTR SS:[ESP+48] 0292EC14 3B06 CMP EAX,DWORD PTR DS:[ESI] 0292EC16 8B5424 4C MOV EDX,DWORD PTR SS:[ESP+4C] 0292EC1A 8BCE MOV ECX,ESI 0292EC1C 90 NOP 0292EC1D 90 NOP 0292EC1E 90 NOP 0292EC1F E8 5A020000 CALL 0292EE7E 0292EC24 8B4C24 30 MOV ECX,DWORD PTR SS:[ESP+30] 0292EC28 8BB1 64010000 MOV ESI,DWORD PTR DS:[ECX+164] 0292EC2E 83FE 00 CMP ESI,0 0292EC31 0F84 ED000000 JE 0292ED24 0292EC37 8BB1 60010000 MOV ESI,DWORD PTR DS:[ECX+160] 0292EC3D 817E 08 0300000 CMP DWORD PTR DS:[ESI+8],3 0292EC44 0F86 91010000 JBE 0292EDDB 0292EC4A 8B76 18 MOV ESI,DWORD PTR DS:[ESI+18] 0292EC4D 8BCE MOV ECX,ESI 0292EC4F 90 NOP 0292EC50 90 NOP 0292EC51 90 NOP 0292EC52 B8 48BB580D MOV EAX,0D58BB48 0292EC57 E8 8ADDCCFF CALL 025FC9E6 0292EC5C 83F8 00 CMP EAX,0 0292EC5F 0F85 BF000000 JNE 0292ED24 0292EC65 8B4C24 30 MOV ECX,DWORD PTR SS:[ESP+30] 0292EC69 8B91 64010000 MOV EDX,DWORD PTR DS:[ECX+164] 0292EC6F 83FA 00 CMP EDX,0 0292EC72 0F84 6E000000 JE 0292ECE6 0292EC78 C70424 00000000 MOV DWORD PTR SS:[ESP],0 0292EC7F 8BF1 MOV ESI,ECX 0292EC81 8BCE MOV ECX,ESI 0292EC83 90 NOP
Es handelt sich um die vier Bytes ab der Adresse 0292EC31. Quote from SilverFire ne c++ externe searchpattern funktion findest du i-wo @ gamedeception, ansonsten musste ne dll injekten. Auf gamedeception konnte ich keine fkt. finden, wenn nicht mach ich das halt mit der dll.
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Wow, vieeelen Dank! Habe mir gerade nochmal andere Beiträge von dir hier im Forum angeguckt und verstehe nun das Prinzip von den Pattern. Das fertig zusammengesetzte Programm würde so aussehen: CPP Code: #include <iostream> #include <windows.h> using namespace std; bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) { for(;*szMask;++szMask,++pData,++bMask) { if(*szMask=='x' && *pData!=*bMask ) { return false; } } return (*szMask) == NULL; } DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) { for(DWORD i=0; i < dwLen; i++) { if( bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) ) { return (DWORD)(dwAddress+i); } } return 0; } int main(int argc, char *argv[]) { HMODULE StartAdresse; int Size; DWORD Adress; StartAdresse = GetModuleHandle("altitude.exe"); Size = 1212416; Adress = FindPattern((DWORD) StartAdresse, (DWORD) Size, (PBYTE) "\x8B\xCE\x90\x90\x90\xE8\x00\x00\x00\x00\x8B\x4C\x24\x00\x8B\xB1\x00\x00\x00\x00\x83\xFE\x00\x0F\x84\x00\x00\x00\x00\x8B\xB1", "xxxxxx????xxx?xx????xxxxx????xx"); Adress += 21; cout << Adress << endl; system("PAUSE"); return EXIT_SUCCESS; }
Jetzt habe ich noch die Frage, ob das so stimmt? Als Adresse bekomme ich den wert 445617 raus. Und jetzt kommt wahrscheinlich die dümmste Frage...was fange ich mit der an? Das ist ja ein Offset von einer bestimmten Adresse, oder?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Der Code ist an irgendein Spiel angepasst, oder? Müsste da erst alles umschreiben...vllt. wäre deshalb eine DLL Injection einfacher?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Bin nun endlich wieder dazu gekommen, an meinem Projekt weiter zu machen Habe eine DLL gemacht, die dieses FindPattern ausführt. Nur stüzt Altitude leider ab, wenn ich die Fkt. aufrufe Hier die DLL: TEXT Code: #include "windows.h" #include "stdio.h"; bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) { for(;*szMask;++szMask,++pData,++bMask) { if(*szMask=='x' && *pData!=*bMask ) { return false; } } return (*szMask) == NULL; } DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) { for(DWORD i=0; i < dwLen; i++) { if( bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) ) { return (DWORD)(dwAddress+i); } } return 0; } void StartSearching() { HMODULE StartAdresse; int Size; DWORD Adress; StartAdresse = GetModuleHandle(L"altitude.exe"); Size = 1212416; Adress = FindPattern((DWORD) StartAdresse, (DWORD) Size, (PBYTE) "\x8B\xCE\x90\x90\x90\xE8\x00\x00\x00\x00\x8B\x4C\x24\x00\x8B\xB1\x00\x00\x00\x00\x83\xFE\x00\x0F\x84\x00\x00\x00\x00\x8B\xB1", "xxxxxx????xxx?xx????xxxxx????xx"); Adress += 21; WCHAR cResult[10]; swprintf_s(cResult, 10, L"%d", Adress); MessageBox(NULL, cResult, L"TEST", MB_OK); } int WINAPI DllMain(HINSTANCE hInst,DWORD reason,LPVOID reserved) { if(reason==DLL_PROCESS_ATTACH) { CreateThread(0, 0, (LPTHREAD_START_ROUTINE) StartSearching, 0, 0, 0); } return true; }
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from k1u Sicher dass die Size nicht zu groß ist? Bzw. wann stürzt es ab? Oh maaaan, bin ich doof ^^ Das hatte ich zum testen drin und übersehen...Daran lag's, danke!!! EDIT: Aber wirklich was finden tut er nicht... Wirft standartmäßig 21 aus, also das was später auf die gefundene Adresse drauf addiert wird. D.h. ja, dass die Stelle nicht gefunden werden konnte.
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Oh, okay, aber es würde doch reichen, wenn ich nur die Funktion aufrufe? Das mit der Array versuche ich, wenn ich das Erste geschafft hab Aber die Idee ist gut!
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Also irgendwo findet ein Call statt und den muss ich noppen? Wie komm ich zu dieser Stelle?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from SilverFire das sollten mindestens 2 funktionen sein, eine die das item allokiert und in die localplayer class schreibt und eine die genau das gegenteil tut, das item nämlich löscht/entfernt.
Ah, genau. Folgendes passiert beim Aufnehmen bzw. Benutzen: TEXT Code: 025BFC0A - 89 04 19 - mov [ecx+ebx],eax 028F0EAA - C7 81 64010000 00000000 - mov [ecx+00000164],00000000
Quote from SilverFire wenn du diese 2. funktion findest und verhinderst, dass sie das tut was sie tun soll, nämlich das item zu entfernen, hast du ein nicht auslaufbares item geschaffen.
Dafür muss ich doch diese Teil TEXT Code: 028F0EAA - C7 81 64010000 00000000 - mov [ecx+00000164],00000000
noppen? Wenn ich das mache stürzt das Spieler ab.
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
mhm...kann immer noch nichts finden (?) CPP Code: #include "windows.h" #include "stdio.h"; void InjMessage(LPCWSTR Text, LPCWSTR Header) { MessageBox(NULL, Text, Header, MB_OK); } bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) { for(;*szMask;++szMask,++pData,++bMask) { if(*szMask=='x' && *pData!=*bMask ) { return false; } } return (*szMask) == NULL; } DWORD FindPattern(DWORD dwAddress, DWORD dwLen, BYTE *bMask,char * szMask) { for(DWORD i=0; i < dwLen; i++) { if(bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask)) { return (DWORD)(dwAddress+i); } } return 0; } DWORD WINAPI StartSearching() { HMODULE StartAdresse; int Size; DWORD Adress; StartAdresse = GetModuleHandle(NULL); Size = 999999; Adress = FindPattern((DWORD) StartAdresse, (DWORD) Size, (PBYTE) "\x8B\xCE\x90\x90\x90\xE8\x00\x00\x00\x00\x8B\x4C\x24\x00\x8B\xB1\x00\x00\x00\x00\x83\xFE\x00\x0F\x84\x00\x00\x00\x00\x8B\xB1", "xxxxxx????xxx?xx????xxxxx????xx"); Adress += 21; WCHAR cResult[10]; swprintf_s(cResult, 10, L"%X", Adress); InjMessage(cResult,L"Adresse"); return 0; } bool WINAPI DllMain(HINSTANCE hInst, DWORD reason,LPVOID reserved) { if(reason==DLL_PROCESS_ATTACH) { CreateThread(0, 0, (LPTHREAD_START_ROUTINE) StartSearching, 0, 0, 0); } return true; }
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from SilverFire nein
irgendetwas schreibt ja den pointer in deine localplayer objekt. die funktion die dort die funktion reinschreibt musste suchen^^ Stimmt...ich habe ja den Multilevelpointer von der Adresse in der Localplayer Class, die auf den Pointer zeigt, der auf das Item zeigt (mhm, komisch ausgedrückt^^). Nun muss ich finden, was darein schreibt. Das mach ich doch mit "Find out what writes to this address"?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Also ich folge einfach den Multilevelpointer bis zum Schluss? In meinem Fall wäre der 4 Stufig. Wenn das so ist, dann habe ich die Funktion gefunden EDIT: Ich habe die Adresse von dem Pointer, der auf das Item zeigt, gesucht und davon die folgenden Pointer. So richtig?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from SilverFire musst du gucken, was in den pointer reinschreibt. irgendwo wird das neue item allokiert und dir zugewiesen werden, da musste dann ne code injection, oder ne dll injection machen und diese funktion aufrufen. Ahhhh..okay. Die Schwierigkeit besteht jetzt darin, diese Stelle zu finden. Kannst du mir erklären, wie ich am besten vorgehe?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from SilverFire also, du hast jetzt wahrscheinlich einen pointer auf ein item:
wenn du diesem pointer folgst landest du beim item. Jup, das kann ich bestätigen. Wenn ich da hin komm, seh ich ich immer das "gleiche" Muster (also mehrere Items). Das Item von der Lenkrakete sieht so aus: Only registered and activated users can see links.Nur kann ich dort nichts Itemspezifischen finden, da von den Items eigentlich überhaupt nichts bekannt ist. Weder Name, noch Zerstörfaktor. Man sammelt die einfach auf und feuert die einmalig ab. Könnte die Lebenszeit von einem Shield stoppen und in dem Item suchen.(?) Aber alles was ich will ist ja nur per Hotkey eine Rakete zu bekomme. Wie finde ich dazu den richtigen Pointer?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from SilverFire "gleiche" items haben eher unwahrscheinlich den gleichen pointer!
wahrscheinlich werden items wenn sie spawnen neu mit new allokiert und wenn sie auslaufen deleted, deswegen haben "gleiche" items verschiedene adressen!
(und es wird ja bestimmt auch mal vorkommen, dass "gleiche" items mehrmals auf der map vorhanden sind ) Jetzt verstehe ich! Deshalb schmiert das Spiel wahrscheinlich auch ab, wenn ich den Wert einfrier und dann das Item benutze. Es wird dann ja auf etwas zugegriffen, das es nicht mehr gibt. Quote from SilverFire jop, der pointer wird nun vermutlich auf so ein item zeigen, da solltest du dann an i-nem offset (wahrscheinlich eher niedrig) etwas für jeden itemtyp eindeutiges finden. Mhm, das verstehe ich noch nicht so ganz...ich habe jetzt einfach mal den Pointer gesucht, der beim Aufnehmen eines Items in die Variable geschrieben wird. Dann habe ich von der Adresse den Multilevelpointer(4-Stufig) gesucht und gefunden. Ob das hilfreich ist, weiß ich nicht? Kannst du mir das nochmal erklären? Edit: Ach und bei normalen Items ändern sich nur 4 Bytes! Nur bei einem einzigen tritt der Fall ein, den ich ganz am Anfgan erklärt haben.
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Quote from SilverFire 2. float ? (kann man items nur einmal benutzen, und dann ist es weg?)
Wenn man ein Item aufgenommen hat, dann dauert es 10 Sekunden, bis ein neues an der Stelle erscheint. Die Items kann man nur 1. mal benutzen. Z.B hält das Schild einfach 5 Sekunden, dann geht es wieder weg. Also von den Eigenschaften der Items wüsste ich jetzt nichts...ich könnte herausfinden wie viel Schaden eine Rakete anrichtet. Quote from SilverFire 3. was meinst du genau mit "unterscheiden sich jedoch in der Zahl beim Aufsammeln." Die 2x 4 Bytes sind z.B. 4.101632973E-27 bzw. 4.322440071E-27 (Float). Habe keine Ahnung was die aussagen? Können das, wie du schon gesagt hast, Pointer sein? Auch wenn ich immer das gleiche Item aufsammel ist die Zahl verschieden. Quote from SilverFire 3. oder 2. könnte der gesuchte Pointer sein, lass mal als hex anzeigen und guck dich in den adressbereichen was um Ahhh, gute Idee. Werd ich gleich mal ausprobieren! EDIT: Das mit dem Pointer haut voll hin! Wenn ich den Wert mal als Hex anzeigen lasse, dann sehe ich dass die Adresse ganz in der Nähe liegt...mal weiter suche. Werde aber die Arbeit bis morgen unterbrechen.
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Ahh, okay. Also die PlayerLocal class ist die Klasse, in der das ganze Zeug wie koordinaten, Health, Energy und so gespeichert wird? Habe in der Umbegung vom Leben mal geguckt und insgesamt 9 Bytes gefunden, die sich beim Aufnehmen bzw. Benutzen eines Items ändern. Das 1. Byte beinhaltet 1 bzw. 0. An einer anderen Stelle ändern sich 4 Bytes beim Aufsammeln in eine zufällige ziemlich große Zahl und beim benutzen in 0. Die letzten 4 Byte verhalten sich gleich, unterscheiden sich jedoch in der Zahl beim Aufsammeln. Wenn ich das erste Byte in 1 änder passiert überhaupt nichts. Auch wenn ich ein Item habe und das Byte dann auf 0 setze ändert sich nichts. Wenn ich die anderen 8 Bytes von 0 in eine andere Zahl änder, dann stürzt das Spiel sofort ab... Habe ich da etwas falsches gefunden?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Und was ist die LocalPlayer class für eine Klasse? Die Klassen von meinem Flieger?
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |
 |
Unendlich Itmes - Mal wieder Altitude
( 1 2 3)
Posted on: Wed 9. May 2012, 21:56
Littleben
Preview
Go To Post
Guten Abend, es handelt sich schon wieder um das Retro-Videospiel Altitude. Dort kann man Items, wie z.B. Bomben, Schutzschilder etc., einsammel und benutzen (immer nur 1 Item). Ich habe mit CE versucht, die Variable zu finden, die den Index des Items beinhaltet, um mir jederzeit ein beliebiges Item zur verfügung zu stellen. 0 wäre wahrscheinlich nichts, 1 Bombe, 2 Schild, oder so. Konnte so eine Variable jedoch nicht finden, nur die Koordinaten, die beim aufsammeln gespeichert werden (??). Habe auch vesucht, einfach nach true und false zu suchen. Also wenn ich ein Item habe, dann true, wenn ich es benutzt habe, dann false. Auch hier kein Ergebnis... Habt ihr eine Idee, wie ich nach der Variable noch suchen könnte? Ist meine Vorstellung überhaupt richtig? Wäre echt dankbar, wenn mir jemand helfen kann!! Viele Grüße Littleben
|
Other FPS Games |
Tue 22. May 2012, 15:51
by SilverFire
|
46 |
2333 |