OldSchoolHack

Registrieren / Anmelden Deutsch

Text zeichnen (DX9)


icon Text zeichnen (DX9) #1

Anmeldungsdatum: Apr 2014

Beiträge: 3

Benutzer-Bewertung:

0 positiv
1 negativ
Hallo OSH!

Nach ein paar Tutorials etc bin ich zu dem hier gekommen:

TEXT Code:
  1. void DrawRect (LPDIRECT3DDEVICE9 Device_t, int X, int Y, int L, int H, D3DCOLOR color)
  2. {
  3. D3DRECT rect = {X, Y, X+L, Y+H};
  4. Device_t->Clear(1, &rect, D3DCLEAR_TARGET, color, 0, 0);
  5. }
  6.  
  7. void DrawFont (int X, int Y, D3DCOLOR Color, char *format, ...)
  8. {
  9. char buffer[256];
  10.  
  11. RECT FontRect = { X, Y, X + 120, Y + 16 };
  12. g_font->DrawText(NULL,      
  13.                               (LPCWSTR) buffer,  
  14.                                -1,          
  15.                                &FontRect,  
  16.                                DT_NOCLIP,
  17.                                Color);
  18.  
  19. }
  20.  
  21.  
  22.  
  23. HRESULT __stdcall hkEndScene(LPDIRECT3DDEVICE9 pDevice)
  24. {
  25. DrawRect(pDevice, 3, 10, 130, 130, txtBlack);
  26.  
  27. if (g_font == 0)
  28. {
  29. D3DXCreateFont(pDevice, 14, 0, FW_NORMAL, 1, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, L"Arial", &g_font );
  30. }
  31. else
  32. {
  33. DrawFont ( 20, 50, txtRed, "Red" );
  34. g_font->OnLostDevice();
  35. g_font->OnResetDevice();
  36.  
  37. }
  38.  
  39. DrawFont(50,50,txtBlack,"Black");
  40.  
  41.  
  42. return pEndScene(pDevice);
  43. }

Allerdings kann kein Text gezeichnet werden ._.
Also es kommt nix, compilieren geht schon und mit Quadraten geht es auch.

Definiert ist alles (Farben etc) wo ist da mein fehler?

mfg

Zuletzt geändert von xthakingx (Di 8. Apr 2014, 14:12)

Grund: kein Grund angegeben

icon #2

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
woher habt ihr diesen failcopypaste code, vor 2 tagen erst genau so nen failbob mit dem gleichen problem auf epvp die gleiche frage gestellt:
Um Links zu sehen, musst du dich registrieren

hört auf mit dem scheiß copypasten und programmiert erstmal etwas selber, muss ja kein hack sein.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Zitat von xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Zitat von Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
Zuletzt geändert von SilverFire (Mi 9. Apr 2014, 19:21)

Grund: kein Grund angegeben

2 positiv
0 negativ
Dieser Beitrag wurde bewertet von:
Olmoody (Di 8. Apr 2014, 17:13), xthakingx (Di 8. Apr 2014, 20:11)
icon #3

Anmeldungsdatum: Apr 2014

Beiträge: 3

Benutzer-Bewertung:

0 positiv
1 negativ
das is kein copypast sondern eigener code -,-
kommt zusammen von purple.d1amond und von nem tutorial von silverfire mit hooking.

und ich kann nich viel selber programmieren, wenn ich nicht viel ahnung von directx hab...
icon #4

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
ich muss mal dringend nen ordentliches tutorial zu strings allg und directx in dem zusammenhang machen...

paar fehler drin:
1.
g_font->OnLostDevice();
g_font->OnResetDevice();
hat da absolut nix zu suchen
2.
char buffer[256];
den buffer in DrawFont musste mit z.b. vsprintf aus den parametern füllen.
3. das rect kannste dir korrekt ausrechnen anstatt es mit hardcoded values zu machen.

google "how to draw text directx c++" liefert übrigens direkt mehrere tutorials zu dem ganzen.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Zitat von xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Zitat von Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
icon #5

Anmeldungsdatum: Apr 2014

Beiträge: 3

Benutzer-Bewertung:

0 positiv
1 negativ
TEXT Code:
  1. void DrawRect (LPDIRECT3DDEVICE9 Device_t, int X, int Y, int L, int H, D3DCOLOR color)
  2. {
  3. D3DRECT rect = {X, Y, X+L, Y+H};
  4. Device_t->Clear(1, &rect, D3DCLEAR_TARGET, color, 0, 0);
  5. }
  6.  
  7. void DrawFont (int X, int Y, D3DCOLOR Color, char *format, ...)
  8. {
  9. char buffer[256];
  10. va_list args;
  11. va_start (args, format);
  12. vsprintf (buffer,"Test", args);
  13. RECT FontRect = { X, Y, X + 120, Y + 16 };
  14. pFont->DrawText( NULL, (LPCWSTR)buffer, -1, &FontRect, DT_NOCLIP , Color );
  15. va_end (args);
  16. }
  17.  
  18.  
  19.  
  20. HRESULT __stdcall hkEndScene(LPDIRECT3DDEVICE9 pDevice)
  21. {
  22. DrawRect (pDevice, 10, 10, 200, 200, txtRed);
  23.  
  24. D3DXCreateFont(pDevice, 14, 0, FW_NORMAL, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
  25. ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, L"Arial", &pFont);
  26.  
  27.  
  28. DrawFont(300, 50, txtRed, "Test");
  29.  
  30.  
  31. return pEndScene(pDevice);
  32. }

D3DXCreateFont könnte ich mit einer if-Schleife ja notfalls nur einmal abrufen.

Allerdings wird nur das rote Rechteck gezeichnet und dann hängt sich das D3D9-Testfenster auf.
Dann eine Frage zu der va_list:
Müssen zwingend optionale Argumente angegeben werden?
Das Format bzw. mein Text steht da ja jetzt drinnen also sollte buffer gefüllt sein...
0 positiv
1 negativ
Dieser Beitrag wurde bewertet von:
capo1337 (So 20. Apr 2014, 00:50)