Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 16:30

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



d3d hook, texte einblenden

Discussion on d3d hook, texte einblenden within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2008
Posts: 576
Received Thanks: 191
d3d hook, texte einblenden

ich benutze den basehook von azorbix 3.0b mit dem ich in guild wars nun einen text einblenden möchte. es funktioniert, nur leider noch nicht so wie ich es haben möchte.

hier mein font (ID3DXFont *dFont):
Code:
	if(!fontCreated){
		D3DXCreateFont( m_pD3Ddev, 16, 0, FW_BOLD, false, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &dFont);
	}
und die funktion:
Code:
void _DrawText( char pString[], int x, int y, D3DCOLOR col)
{
	RECT FontRect = { x, y, x+120, y+16 };
	dFont->DrawTextA(NULL, pString, -1, &FontRect, DT_LEFT, col);
}
dann ruf ich das in der endscene auf:
_DrawText("123", 5, 5, greent);

ich weiss nicht genau wo ich font erstellen soll.

also nun zum eigentlichen problem. der text wird mir im spiel angezeigt, wenn ich aber jetzt in ein gebiet reise, sehe ich nur den ladebildschirm der nicht mehr weggeht. was mach ich falsch?
__wadim is offline  
Old 02/22/2009, 14:26   #2
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by __wadim View Post
ich benutze den basehook von azorbix 3.0b mit dem ich in guild wars nun einen text einblenden möchte. es funktioniert, nur leider noch nicht so wie ich es haben möchte.

hier mein font (ID3DXFont *dFont):
Code:
	if(!fontCreated){
		D3DXCreateFont( m_pD3Ddev, 16, 0, FW_BOLD, false, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &dFont);
	}
und die funktion:
Code:
void _DrawText( char pString[], int x, int y, D3DCOLOR col)
{
	RECT FontRect = { x, y, x+120, y+16 };
	dFont->DrawTextA(NULL, pString, -1, &FontRect, DT_LEFT, col);
}
dann ruf ich das in der endscene auf:
_DrawText("123", 5, 5, greent);

ich weiss nicht genau wo ich font erstellen soll.

also nun zum eigentlichen problem. der text wird mir im spiel angezeigt, wenn ich aber jetzt in ein gebiet reise, sehe ich nur den ladebildschirm der nicht mehr weggeht. was mach ich falsch?
tatnium log aufmachen und schauen ob Reset aufgerufen wird, wenn ja dann die Font auch in Reset löschen & initiliasieren. Oder in welcher Funktion rufst du überhaupt den ersten Codeschnippsel auf?
Atheuz is offline  
Old 02/22/2009, 14:50   #3
 
elite*gold: 0
Join Date: Nov 2008
Posts: 576
Received Thanks: 191
Quote:
Direct3DCreate9(32) succeeded...
Hooked Direct3D9 interface: 0x159da0 -> 0x21a24d8
Direct3DCreate9(32) succeeded...
Hooked Direct3D9 interface: 0x17e100 -> 0x21a2510
Hooked Direct3D9 device: 0x17fc20 -> 0x21a2548
ich weis nicht wo ich font erstellen soll, ich habs in beginscene.
__wadim is offline  
Old 02/22/2009, 15:07   #4
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by __wadim View Post
ich weis nicht wo ich font erstellen soll, ich habs in beginscene.
Ich würde dir empfehlen erstmal über DirectX sich schlau zu machen, Ich meins damit nicht böse. Oder du besorgst dir eine gut dokumentierte font Klasse.

Normalerweise Initialisiert du ein Fontobjekt während Initialize().
Dann während PreReset löscht du es z.B mit Invalidate() und nach
dem PreReset folgt PostReset (Alternativ bietet sich auch Release an) und dort einfach wieder durch deine Initialize Funktion erstellen lassen.

Beispiel:

Initialize
---
fontobject.Initialize();


PreReset
---
fontobject.Invalidate();


PostReset
---
fontobject.Initialize();
Atheuz is offline  
Thanks
1 User
Old 02/22/2009, 19:11   #5
 
elite*gold: 0
Join Date: Nov 2008
Posts: 576
Received Thanks: 191
danke @atheuz, funktioniert bestens!

für die die das selbe problem haben(eigentlich kein problem, sondern nur mein unwissen :P)

Code:
//globals
LPD3DXFONT oFont;
bool bCreateFont = true;

void _DrawText( char pString[], int x, int y, D3DCOLOR col )
{
	RECT FontRect = { x, y, x+120, y+16 };
	oFont->DrawText( NULL, pString, -1, &FontRect, DT_LEFT | DT_WORDBREAK, col);
}
Initialize()
Code:
  if(bCreateFont == true)
  {
    bCreateFont = false;
	D3DXCreateFont( m_pD3Ddev, 16, 0, FW_BOLD, false, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &oFont);
  }
Reset
Code:
  if(oFont)
  oFont->OnLostDevice();

	HRESULT hRet = m_pD3Ddev->Reset(pPresentationParameters);

  if(oFont)
  oFont->OnLostDevice();
gute hilfe habe ich gefunden.

kann geschlossen werden!
__wadim is offline  
Reply


Similar Threads Similar Threads
NPC Texte
06/06/2010 - Metin2 Private Server - 2 Replies
Wie kann man das was die NPC´s sagen auf dem eigenen Server umändern? Wer mir helfen kann bekommt auch n Thx.
Profilbild einblenden
03/29/2010 - Main - 3 Replies
Hi, Bin jetzt schon länger hier aber weiß nciht wie man das Profilbild einblendet. Kann mir das wer sagen?:o:o:o Hat sich geklärt man muss E*PVPERS Gold Kaufen #Closed
NPC texte
03/15/2010 - Metin2 Private Server - 4 Replies
hey leute, ich will auf meinem hamachi p-server das z.B.: man das ändern kann was beim wächter des dorfplatzes über dem namen steht.... geht das mit filezilla oder navicat oder wie geht des??? Bei hilfreicher Antwort gibts THX :handsdown: :handsdown: :handsdown: Meine Ziele:
Npc und Mob Texte
12/22/2009 - Metin2 Private Server - 7 Replies
;)Hey epvp :D ich wollte mal fragen ob man das ändern kann was die NPCS bsp die mobs nach und nach sagen ... wenns jemand weiß pls posten und sagen wo :handsdown:
NPC Texte
10/09/2009 - Metin2 Private Server - 1 Replies
Hallo liebe Communtiy, Also ich habe eine frage an euch... ich will z.b. von dem Schmied den say Text ändern... Welche datei? Also der Pfad ist doch: /usr/rain/channel/share_data/locale/hongkong/ques t/object/20016/chat



All times are GMT +1. The time now is 16:30.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.