|
You last visited: Today at 16:30
Advertisement
d3d hook, texte einblenden
Discussion on d3d hook, texte einblenden within the General Coding forum part of the Coders Den category.
02/22/2009, 14:03
|
#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?
|
|
|
02/22/2009, 14:26
|
#2
|
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
|
Quote:
Originally Posted by __wadim
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?
|
|
|
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.
|
|
|
02/22/2009, 15:07
|
#4
|
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
|
Quote:
Originally Posted by __wadim
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();
|
|
|
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!
|
|
|
 |
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.
|
|