Zeichenerkennung in Bildern?



  • Lustiger Zufall, habe gestern noch ein Programm geschrieben um CJ zu steuern (Mein persönliches Multiplayer-Projekt ;)).

    Es gibt inoffizielle Speicheradressen-Spezifikationen für GTA SA. Sag mir einfach was für ein Wert das sein soll (Munition, Geld!?) und ich schreibe dir eben das Programm wenn ich die Adresse finde.



  • Also die 4 Zahlen sind IMMER gleich groß, es gibt nur Zahlen von 0 bis 9 davon 4 Stück die per Zufall kommen also z.B 4564 oder 8974 etc.

    Die Farbe, Größe und Position der 4 Zufallszahlen sind IMMER Indentisch! 😉

    @Kóyaánasqatsi:
    Das bringt nichts, ich scripte selbst für SA:MP in der Pawn Sprache, ich hab aufm Server ein Anti Money Cheat da bringts dir nichts das GTA Geld zu verändern.. das Geld wird auf einer MySQL Datenbank gespeichert vom User in einer Variable und immer abgerufen wenn er Geld ausgibt/einnimmt und wenn er nichts einnimmt trotzdem Geld erhält wird es wieder zurückgesetzt. Das ist aber ein anderes Thema hier rum gehts es garnicht.. und CJ Laufen lassen kann ich auch mit nem Autohotkey Keybinder.. 🙄



  • Sorry wegen Doppelpost:

    @JaykopX:
    Da kann man ruhig nen Bot schreiben bringt einem kein Vorteil. Achja auf dem Screen den ich dort habe im Beitrag genau DORT sind IMMER die Zahlen und genau diese Größe/Farbe etc. das Schwarze ist dann der rest uninteressant den man sieht.. aber genau DA ist es.

    Kann mir wer sowas machen? :p



  • ΨPushen erlaubt?Ψ



  • Ich denke einige hier könnten das lösen, da das Problem schon stark spezialisiert ist. Aber keiner hat Lust das nur für ein Dankeschön von dir zu machen.

    Kannst du Programmieren? Wenn ja, dann zeige uns Ansätze und guten Willen, dann bekommst du bestimmt Hilfe. Wenn nicht, dann musst du diesen Thread ins Projekte-unterforum verlagern und einen Anreiz bieten.

    Zum groben Vorgehen würde ich sagen:
    1. Mache einen Screenshot vom Ziffernbereich.
    2. Erstelle eine Bitmap, mit den Ziffern 1-9, im GTA-Grafikstil.
    3. Vergleiche die einzelnen Ziffern aus dem Screenshot mit denen in Der Bitmap. Da die Ziffern IMMER an derselben stelle stehen und KEINE abweichung haben könntest du sogar 100%tige Übereinstimmungen erreichen. Das ist aber nicht unbedingt notwendig.
    4. Simuliere Tastenanschläge

    Die Winapi-Funktionen werden einem da schon viel Arbeit abnehmen.



  • Du hast nicht gesagt das es sich dabei um SA:MP handelt. Ich habe es so verstanden, dass du den Zahlenwert auslesen möchtest und ihn irgendwo im Chatfenster posten möchtest. Und doch, den Wert kann man selbst im Multiplayer-Modus abändern. Thema dynamische Datenpaketmanipulation.

    Aber jetzt helfe ich dir erst Recht nicht mehr.



  • Und warum nicht, war ich unfreundlich oder irgendwas?

    @ wie kann ich meinen Thread verschieben?

    Würde natürlich was bieten (Geld, PSC what ever) muss nur halt wissen was verlangt wird. Und nein Programmieren kann ich nicht behersche nur die Scriptsprache Pawn mehr nicht, und die hilft hier eher nicht.



  • Junge, junge... ist es so schwer zu antworten? Ich habe ganz normal gefragt was für eine Zuordnung der Betrag hat. Wie dem auch sei, hier bitte:

    #include <iostream>
    #include <windows.h>
    #include <conio.h>
    
    int main()
    {
    	DWORD WindowProcessID;
    	HWND WindowHandle = FindWindow(NULL, L"GTA: San Andreas");
    
    	unsigned int Money(0);
    
    	if(WindowHandle == NULL)
    		std::cout<<"Spiel nicht gefunden!"<<std::endl;
    	else
    	{   
    		GetWindowThreadProcessId(WindowHandle, &WindowProcessID);
    
    		HANDLE Process = OpenProcess(STANDARD_RIGHTS_REQUIRED | PROCESS_ALL_ACCESS | SYNCHRONIZE | 0xFFF, FALSE, WindowProcessID);
    
    		DWORD address = 0xB7CE50;
    		ReadProcessMemory(Process, (LPCVOID)address, &Money, sizeof(Money), 0);
    
    		for(;;)
    		{
    			if(GetAsyncKeyState(VK_F5))
    			{
    				ReadProcessMemory(Process, (LPCVOID)address, &Money, sizeof(Money), 0);
    
    				std::cout<< Money <<std::endl;
    
    				Sleep(500);
    			}
    		}
    	}
    
    	getch();
    }
    


  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • @Kóyaánasqatsi:
    Sorry ich hab das voll verlesen, deswegen kam so eine dumme Antwort von mir.

    Trotzdem Danke für deine schnelle Antwort.

    Achja, ich verstehe die Frage nicht ganz:

    Ich habe ganz normal gefragt was für eine Zuordnung der Betrag hat. Wie dem auch sei, hier bitte:

    Was meinst du damit? Was für ein Betrag, es geht hier nicht um das Geld oder iwas sondern im Multiplayer das dort eine Zahl eingeblendet wird im Script per TextDrawShowForPlayer. Sorry falls ich dich falsch verstehe...

    Könntest du mir das rein theoretisch machen für eine Gegenleistung kommt drauf an was du verlangst..?



  • Inwiefern soll das Geld im Spiel eingeblendet werden?

    Ich würde es an deiner Stelle eher so machen; es gibt ne (wie bereits gesagt) inoffizelle Liste mit den wichtigsten Memory-function-addresses.

    Oder du debuggst (disassemblierst) das Spiel, gibst Text im Spiel ein und suchst nach dem eingegebenem String im Debugger. Mit etwas Bemühung findest du dann auch die passende Funktion zum Text ausgeben. Dann ist das alles gar kein Problem mehr. Mehr werde ich aber nicht dazu sagen, da es schon unter Game-Hacking fällt... 😉



  • Du verstehst mich falsch, es geht hier NICHT um Geld sondern um eine Zahl (4 Stellig) die im Multiplayer vom Server aus eingeblendet wird, man kann das nicht wie das Geld auslesen das ist einfach nur ein Bild was eingeblendet wird mit Zahlen sozusagen. Doch dafür brauch ich die erkennung der Zahlen, sobald ein Prog. diese erkennt soll das Prog in den Spielchat etwas schreiben wie z.B "tDie Heutige Zufallszahl lautet: %d" das t am Anfang um den Chat zu öffnen und %d für den Charackter Wert der Zahl.

    Nochmal, es geht NICHT um das Geld was man oben in GTA sieht.

    Mit Geld meinte ich lediglich, was du oder jemd. verlangen würde mir so ein Programm zu machen 🙂



  • Niemand² schrieb:

    Mit Geld meinte ich lediglich, was du oder jemd. verlangen würde mir so ein Programm zu machen 🙂

    ich würds für 'n appel und 'n ei machen, kann aber leider keine winapi 😃



  • Achso okay, dann haben wir wohl aneinander vorbeigebabbelt. Man müsste mal gucken wie das Programm mit den Datenpaketen umgeht die vom Server kommen. Wie in den meisten Fällen lässt sich aber selbst dies auslesen. Dürfte kein Problem sein, schreib mir mal ne E-Mail.



  • Ich kann mich hier nicht reggen im Forum hab paar AddOns Installiert die das blockieren muss den Fehler ma finden..

    Damit will ich sagen ich seh dein Profil => Deine E-Mail nicht..

    Achja und ist es nicht auch ohne auslesen der Server Daten what ever möglich sondern einfach das, das Programm ein Bild macht und dann überprüft ob eine Zahl an der Position, in Farbe etc. ist und dann den Befehl tDie Zufalls Zahl ist ... im Chat sendet?



  • Klar geht das, aber was macht das für einen Unterschied? 🙂



  • Naja egal, kannst du mir deine E-Mail Adresse hinterlassen hier kann mich nicht registrieren..

    Mir ist eigentlich egal wie es angestellt wird, nur das wichtigste ist mir das es funktioniert und evtl. das ich etwas lerne dafür bleche ich auch gerne Geld. 😋



  • Ahh hab noch eine Sache die alles warscheinlich erleichtert..

    Man kann nun jede Minute /nummer 1234 schreiben lassen, und dann im Ordner Eigene Datein/GTA San Andreas Userfiles/SAMP gehen und die Datei chatlog.txd dort öffnen in der Steht dann etwas so:

    [11:26:52] Sollnummer: 8455

    Das heißt man kann doch daraus den Wert dann nehmen nach Sollnummer: und diese Zahl im Spiel dann wiedergeben per /nummer 8455 oder? Naja wenns anders geht besser aber so ist es leichter und auch gut. 😋



  • Jo klar geht auch... holger.bertel@gmx.de.



  • Hast ne E-Mail..


Anmelden zum Antworten