You last visited: Today at 16:18
Advertisement
Character Stats Window Problem
Discussion on Character Stats Window Problem within the Flyff Private Server forum part of the Flyff category.
10/01/2019, 16:44
#1
elite*gold: 0
Join Date: Dec 2015
Posts: 30
Received Thanks: 0
Character Stats Window Problem
Need a little help guys on how to remove this logo.
Attached Images
LOGO.png
(57.3 KB, 51 views)
10/01/2019, 17:42
#2
elite*gold: 0
Join Date: Jul 2015
Posts: 28
Received Thanks: 5
Hi rapiskid2, can you give me the whole function?
WndField.cpp
Code:
void CWndCharInfo::OnInitialUpdate()
10/01/2019, 18:04
#3
elite*gold: 0
Join Date: Dec 2015
Posts: 30
Received Thanks: 0
Quote:
Originally Posted by
ryuzakinara
Hi rapiskid2, can you give me the whole function?
WndField.cpp
Code:
void CWndCharInfo::OnInitialUpdate()
Code:
void CWndCharInfo::OnInitialUpdate()
{
CWndBase::OnInitialUpdate();
SetTexture( m_pApp->m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "WndNewCharacter01.tga" ) ), TRUE );
//FitTextureSize();
/*
//SetTexture( m_pApp->m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "WndCharacter2_2.tga" ) ), TRUE );
//FitTextureSize();
int x = m_rectClient.Width() / 2;
int y = m_rectClient.Height() - 30;
CSize size = CSize( 70, 25);
CRect rect1_1( x - ( size.cx / 2), y, ( x - ( size.cx / 2 ) ) + size.cx, y + size.cy );
CRect rect2_1( x - size.cx - 10, y, ( x - size.cx - 10 ) + size.cx, y + size.cy );
CRect rect2_2( x + 10 , y, ( x + 10 ) + size.cx, y + size.cy );
CRect rect3_1( x - ( size.cx / 2) - size.cx - 10, y, (x - ( size.cx / 2) - size.cx - 10) + size.cx, y + size.cy );
CRect rect3_2( x - ( size.cx / 2) , y, (x - ( size.cx / 2) ) + size.cx, y + size.cy );
CRect rect3_3( x + ( size.cx / 2) + 10 , y, (x + ( size.cx / 2) + 10 ) + size.cx, y + size.cy );
*/
// 아래부터 능력치 관련
int nyAdd = 121;
int posY = 49 + nyAdd;
int posX = 128;
m_editStrCount.Create ( g_Neuz.GetSafeHwnd(), 0, CRect( posX - 38, posY, posX - 4, posY + 16 ), this, 100 );
m_wndStrPlus.Create ( "<", 0, CRect( posX, posY + 2, posX + 14, posY + 18 ), this, 101 );
m_wndStrMinus.Create ( "<", 0, CRect( posX + 16, posY + 2, posX + 30, posY + 18 ), this, 102 ); posY += 15;
m_editStaCount.Create ( g_Neuz.GetSafeHwnd(), 0, CRect( posX - 38, posY, posX - 4, posY + 16 ), this, 103 );
m_wndStaPlus.Create ( "<", 0, CRect( posX, posY + 2, posX + 14, posY + 18 ), this, 104 );
m_wndStaMinus.Create ( "<", 0, CRect( posX + 16, posY + 2, posX + 30, posY + 18 ), this, 105 ); posY += 15;
m_editDexCount.Create ( g_Neuz.GetSafeHwnd(), 0, CRect( posX - 38, posY, posX - 4, posY + 16 ), this, 106 );
m_wndDexPlus.Create ( "<", 0, CRect( posX, posY + 2, posX + 14, posY + 18 ), this, 107 );
m_wndDexMinus.Create ( "<", 0, CRect( posX + 16, posY + 2, posX + 30, posY + 18 ), this, 108 ); posY += 15;
m_editIntCount.Create ( g_Neuz.GetSafeHwnd(), 0, CRect( posX - 38, posY, posX - 4, posY + 16 ), this, 109 );
m_wndIntPlus.Create ( "<", 0, CRect( posX, posY + 2, posX + 14, posY + 18 ), this, 110 );
m_wndIntMinus.Create ( "<", 0, CRect( posX + 16, posY + 2, posX + 30, posY + 18 ), this, 111 );
m_wndStrPlus.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharPlus.bmp" ) ), TRUE );
m_wndStrMinus.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharMinus.bmp" ) ), TRUE );
m_wndStaPlus.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharPlus.bmp" ) ), TRUE );
m_wndStaMinus.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharMinus.bmp" ) ), TRUE );
m_wndDexPlus.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharPlus.bmp" ) ), TRUE );
m_wndDexMinus.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharMinus.bmp" ) ), TRUE );
m_wndIntPlus.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharPlus.bmp" ) ), TRUE );
m_wndIntMinus.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharMinus.bmp" ) ), TRUE );
posY += 36;
m_wndApply.Create ( "Apply", 0, CRect( posX - 108, posY, posX - 58, posY + 22 ), this, 112 );
m_wndReset.Create ( "Reset", 0, CRect( posX - 30, posY, posX + 20, posY + 22 ), this, 113 );
if(::GetLanguage() == LANG_FRE)
{
m_wndApply.SetTexture( m_pApp->m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "ButStateOk.tga" ) ), TRUE );
m_wndReset.SetTexture( m_pApp->m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "ButStateCancel.tga" ) ), TRUE );
}
else
{
m_wndApply.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharApply.tga" ) ), TRUE );
m_wndReset.SetTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "ButtCharReset.tga" ) ), TRUE );
}
//모든 스탯의 증가량 1로 고정이므로 아래 삭제
/*
LPJOBABILITY pJobAbillity;
if( g_pPlayer->IsExpert() )
pJobAbillity = &prj.m_aJobAbillity[ g_pPlayer->GetJob() ];
else
pJobAbillity = &prj.m_aJobAbillity[ JOB_VAGRANT ];
m_wndStr.EnableWindow( ( g_pPlayer->GetRemainGP() >= pJobAbillity->dwStr ) ? TRUE : FALSE );
m_wndSta.EnableWindow( ( g_pPlayer->GetRemainGP() >= pJobAbillity->dwSta ) ? TRUE : FALSE );
m_wndDex.EnableWindow( ( g_pPlayer->GetRemainGP() >= pJobAbillity->dwDex ) ? TRUE : FALSE );
m_wndInt.EnableWindow( ( g_pPlayer->GetRemainGP() >= pJobAbillity->dwInt ) ? TRUE : FALSE );
*/
m_nGpPoint = g_pPlayer->GetRemainGP();
//스탯 증가량 한적 없으므로 Minus Button Default는 False
m_wndStrMinus.EnableWindow(FALSE);
m_wndStaMinus.EnableWindow(FALSE);
m_wndDexMinus.EnableWindow(FALSE);
m_wndIntMinus.EnableWindow(FALSE);
if(g_pPlayer->GetRemainGP() <= 0)
{
m_wndStrPlus.EnableWindow(FALSE);
m_wndStaPlus.EnableWindow(FALSE);
m_wndDexPlus.EnableWindow(FALSE);
m_wndIntPlus.EnableWindow(FALSE);
}
int nyAdd2 = 280;
int y = 105 + nyAdd2;
if( g_pPlayer->IsAuthHigher( AUTH_GAMEMASTER ) )
m_wndChangeJob.Create( ">", 0, CRect( 130, y, 135+40, y + 13 ), this, 10 );
//SetTexture(m_pApp->m_pd3dDevice, MakePath( DIR_THEME, _T( "WndTile00.tga")), TRUE);
RefreshStatPoint();
//FitTextureSize();
MakeVertexBuffer();
}
10/01/2019, 18:18
#4
elite*gold: 0
Join Date: Jul 2015
Posts: 28
Received Thanks: 5
The functions of
Code:
void CWndCharInfo::OnDraw
at
void CWndCharInfo::RenderATK
I see nothing in the function "void CWndCharInfo :: OnInitialUpdate ()".
Thanks
10/01/2019, 18:28
#5
elite*gold: 0
Join Date: Dec 2015
Posts: 30
Received Thanks: 0
Quote:
void CWndCharInfo::OnDraw
Code:
void CWndCharInfo::OnDraw(C2DRender* p2DRender)
{
CRect rect = GetClientRect();
rect.bottom -= 30;
int y = 0, nNext = 15, nyAdd3 = 21;
DWORD dwColor = D3DCOLOR_ARGB(255,0,0,0);
#if __VER >= 10 // __CSC_VER9_1
BYTE checkhero = g_pPlayer->GetLegendChar();
int xpos = 0;
int ypos = 0;
CTexture* pTexture;
CString strPath;
CPoint point;
#endif //__CSC_VER9_1
y = 13;
p2DRender->TextOut( 60, y, prj.GetText((TID_APP_CHARACTER_BASE)), dwColor );
y = 10 + nyAdd3;
if( TRUE ) //::GetLanguage() == LANG_JAP )
{
p2DRender->TextOut( 80, y, g_pPlayer->GetName() , dwColor); y += nNext;
p2DRender->TextOut( 80, y, g_pPlayer->GetJobString() , dwColor ); y += nNext;
#if __VER >= 10 // __CSC_VER9_1
ypos = y;
if(checkhero == LEGEND_CLASS_MASTER)
{
if(g_pPlayer->GetLevel() < 100)
xpos = 97;
else
xpos = 103;
}
#if __VER >= 15 // __HERO129_VER15 // 15차 히어로 레벨확장
if(checkhero == LEGEND_CLASS_HERO)
xpos = 103;
#else
if(checkhero == LEGEND_CLASS_HERO)
xpos = 80;
else
#endif // 15차 히어로 레벨확장
p2DRender->TextOut( 80, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#else
p2DRender->TextOut( 80, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#endif //__CSC_VER9_1
y = 81+ nyAdd3;
}
else
{
p2DRender->TextOut( 50, y, g_pPlayer->GetName() , dwColor); y += nNext;
p2DRender->TextOut( 50, y, g_pPlayer->GetJobString() , dwColor ); y += nNext;
#if __VER >= 10 // __CSC_VER9_1
ypos = y;
if(checkhero == LEGEND_CLASS_MASTER)
{
if(g_pPlayer->GetLevel() < 100)
xpos = 67;
else
xpos = 73;
}
#if __VER >= 15 // __HERO129_VER15 // 15차 히어로 레벨확장
if(checkhero == LEGEND_CLASS_HERO)
xpos = 73;
#else
if(checkhero == LEGEND_CLASS_HERO)
xpos = 50;
else
#endif // 15차 히어로 레벨확장
p2DRender->TextOut( 50, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#else
p2DRender->TextOut( 50, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#endif //__CSC_VER9_1
y = 81 + nyAdd3;
}
#if __VER >= 10 // __CSC_VER9_1
point.x = xpos;
point.y = ypos - 2;
if(checkhero == LEGEND_CLASS_MASTER && m_nCampusPoint == 0) //전승을 했을 경우.
{
if(/*g_pPlayer->m_nLevel >= 60 && */g_pPlayer->m_nLevel < 70 ) //Level Down될 경우를 생각해�* 주석처리
strPath = MakePath( DIR_ICON, "Icon_MasterMark1.dds");
else if(g_pPlayer->m_nLevel >= 70 && g_pPlayer->m_nLevel < 80 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark2.dds");
else if(g_pPlayer->m_nLevel >= 80 && g_pPlayer->m_nLevel < 90 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark3.dds");
else if(g_pPlayer->m_nLevel >= 90 && g_pPlayer->m_nLevel < 100 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark4.dds");
else if(g_pPlayer->m_nLevel >= 100 && g_pPlayer->m_nLevel < 110 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark5.dds");
else if(g_pPlayer->m_nLevel >= 110 && g_pPlayer->m_nLevel <= 120 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark6.dds");
// else if(Akerius >= 1 )
// strPath = MakePath( DIR_ICON, "Rebirth_R.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
if(pTexture != NULL)
pTexture->Render( p2DRender, point );
}
else if(checkhero == LEGEND_CLASS_HERO && m_nCampusPoint == 0) //영웅일 경우.
{
if(g_pPlayer->m_nLevel >= 121 && g_pPlayer->m_nLevel )
strPath = MakePath( DIR_ICON, "Icon_HeroMark.dds");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
if(pTexture != NULL)
pTexture->Render( p2DRender, point );
}
#ifdef __3RD_LEGEND16
else if(checkhero == LEGEND_CLASS_LEGENDHERO && m_nCampusPoint == 0) //영웅일 경우.
{
if(g_pPlayer->m_nLevel >= 130 && g_pPlayer->m_nLevel < 176 )
strPath = MakePath( DIR_ICON, "Legend_Mark.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xfff0000f );
if(pTexture != NULL)
pTexture->Render( p2DRender, point );
}
#endif
else if(m_nCampusPoint == 1)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
//pTexture = g_Neuz.m_pHeroIcon;
if(pTexture != NULL)
{
point.y -= pTexture->m_size.cy + 5;
pTexture->Render( &g_Neuz.m_2DRender, point );
}
}
else if(m_nCampusPoint == 2)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark1.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
//pTexture = g_Neuz.m_pHeroIcon;
if(pTexture != NULL)
{
point.y -= pTexture->m_size.cy + 5;
pTexture->Render( &g_Neuz.m_2DRender, point );
}
}
else if(m_nCampusPoint == 3)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark2.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
//pTexture = g_Neuz.m_pHeroIcon;
if(pTexture != NULL)
{
point.y -= pTexture->m_size.cy + 5;
pTexture->Render( &g_Neuz.m_2DRender, point );
}
}
else if(m_nCampusPoint == 4)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark3.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
//pTexture = g_Neuz.m_pHeroIcon;
if(pTexture != NULL)
{
point.y -= pTexture->m_size.cy + 5;
pTexture->Render( &g_Neuz.m_2DRender, point );
}
}
else if(m_nCampusPoint >= 5)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark4.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
//pTexture = g_Neuz.m_pHeroIcon;
if(pTexture != NULL)
{
point.y -= pTexture->m_size.cy + 5;
pTexture->Render( &g_Neuz.m_2DRender, point );
}
}
#endif //__CSC_VER9_1
//�*버 정보
y = 55+ nyAdd3;
CString strServerName;
strServerName.Format( "%s", g_dpCertified.GetServerName(g_Option.m_nSer) );
if( TRUE ) //::GetLanguage() == LANG_JAP )
{
p2DRender->TextOut( 80, y, strServerName, dwColor );
y += nNext;
}
else
{
p2DRender->TextOut( 50, y, strServerName, dwColor );
y += nNext;
}
//채널 정보
LPSERVER_DESC pServerDesc = NULL;
int nCount = 0;
for( int j = 0; j < (int)( g_dpCertified.m_dwSizeofServerset ); j++ )
{
if(g_dpCertified.m_aServerset[j].dwParent == NULL_ID)
{
if(nCount++ == g_Option.m_nSer)
pServerDesc = g_dpCertified.m_aServerset + j;
}
if(g_dpCertified.m_aServerset[j].dwParent != NULL_ID && g_dpCertified.m_aServerset[j].lEnable != 0L)
{
if(pServerDesc != NULL && g_dpCertified.m_aServerset[j].dwParent == pServerDesc->dwID)
{
strServerName.Format( "%s", g_dpCertified.m_aServerset[j+g_Option.m_nMSer].lpName );
if( TRUE ) //::GetLanguage() == LANG_JAP )
p2DRender->TextOut( 80, y, strServerName, dwColor );
else
p2DRender->TextOut( 50, y, strServerName, dwColor );
j = g_dpCertified.m_dwSizeofServerset;
}
}
}
/*
y = 96;
p2DRender->TextOut( 96, y, g_pPlayer->GetFlightLv(), dwColor ); y += nNext;
{
char szBuff[64];
int nMaxFxp = prj.m_aFxpCharacter[ g_pPlayer->GetFlightLv() + 1 ].dwFxp;
sprintf( szBuff, "%5.2f%%", (float)g_pPlayer->GetFxp() * 100.0f / (float)nMaxFxp );
p2DRender->TextOut( 90, y, szBuff, dwColor ); y += nNext;
}
*/
y = 10+ nyAdd3;
dwColor = D3DCOLOR_ARGB(255, 0, 0, 180);
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_01), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_APP_CHARACTER_JOB), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_02), dwColor ); y += nNext;
//p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_03), dwColor ); y += nNext;
//직업레벨 -> �*버/채널 정보
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHAR_SERVER), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHAR_SERVERNAME), dwColor ); y += nNext;
/*
y += 10;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_04), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_05), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_06), dwColor );
*/
p2DRender->TextOut( 60, 113, prj.GetText((TID_APP_CHARACTER_DETAIL)), D3DCOLOR_ARGB(255,0,0,0));
/////////////////////////// detail begin //////////////////////////////////
int nyAdd = 121;
int x = 5, nNextX = 100;
dwColor = D3DCOLOR_ARGB(255,0,0,0);
x = 50; y = 10 + nyAdd;
nNext = 15;
// 공격력
RenderATK( p2DRender, x, y );
y += nNext;
//방어력
if( m_nStaCount != 0 && GetVirtualDEF() != g_pPlayer->GetShowDefense( FALSE ) ) //임의 스탯이 변경되고 현재 능력치랑 다를 경우
{
if( (g_nRenderCnt / 8) & 1 )
{
dwColor = D3DCOLOR_ARGB(255,255,0,0);
}
p2DRender->TextOut( x , y, GetVirtualDEF(), dwColor ); y += nNext;
}
else
p2DRender->TextOut( x , y, g_pPlayer->GetShowDefense( FALSE ), dwColor ); y += nNext;
x = 140; y = 10 + nyAdd;
//크리티컬
CString strMsg;
dwColor = D3DCOLOR_ARGB(255,0,0,0);
if( m_nDexCount != 0 && GetVirtualCritical() != g_pPlayer->GetCriticalProb() ) //임의 스탯이 변경되고 현재 능력치랑 다를 경우
{
if( (g_nRenderCnt / 8) & 1 )
{
dwColor = D3DCOLOR_ARGB(255,255,0,0);
}
strMsg.Format( "%d%%", GetVirtualCritical() );
}
else
strMsg.Format( "%d%%", g_pPlayer->GetCriticalProb() );
p2DRender->TextOut( x , y, strMsg, dwColor ); y += nNext;
//공격속도
float fAttackSpeed;
dwColor = D3DCOLOR_ARGB(255,0,0,0);
if( m_nDexCount != 0 && GetVirtualATKSpeed() != g_pPlayer->GetAttackSpeed() ) //임의 스탯이 변경되고 현재 능력치랑 다를 경우
{
if( (g_nRenderCnt / 8) & 1 )
{
dwColor = D3DCOLOR_ARGB(255,255,0,0);
}
fAttackSpeed = GetVirtualATKSpeed();
}
else
fAttackSpeed = g_pPlayer->GetAttackSpeed();
strMsg.Format( "%d%%", int( fAttackSpeed*100.0f ) /2 );
p2DRender->TextOut( x , y, strMsg, dwColor ); y += nNext;
x =15; nNextX = 60;
// 아래부터 능력치 관련
y = 52 + nyAdd;
int StatYPos = 50;
if( g_pPlayer->m_nStr == g_pPlayer->GetStr() )
dwColor = D3DCOLOR_ARGB(255,0,0,0);
else
if( g_pPlayer->m_nStr < g_pPlayer->GetStr() )
dwColor = D3DCOLOR_ARGB(255,0,0,255);
else
dwColor = D3DCOLOR_ARGB(255,255,0,0);
p2DRender->TextOut( StatYPos, y, g_pPlayer->GetStr(), dwColor ); y += nNext;
if( g_pPlayer->m_nSta == g_pPlayer->GetSta() )
dwColor = D3DCOLOR_ARGB(255,0,0,0);
else
if( g_pPlayer->m_nSta < g_pPlayer->GetSta() )
dwColor = D3DCOLOR_ARGB(255,0,0,255);
else
dwColor = D3DCOLOR_ARGB(255,255,0,0);
p2DRender->TextOut( StatYPos, y, g_pPlayer->GetSta(), dwColor ); y += nNext;
if( g_pPlayer->m_nDex == g_pPlayer->GetDex() )
dwColor = D3DCOLOR_ARGB(255,0,0,0);
else
if( g_pPlayer->m_nDex < g_pPlayer->GetDex() )
dwColor = D3DCOLOR_ARGB(255,0,0,255);
else
dwColor = D3DCOLOR_ARGB(255,255,0,0);
p2DRender->TextOut( StatYPos, y, g_pPlayer->GetDex(), dwColor ); y += nNext;
if( g_pPlayer->m_nInt == g_pPlayer->GetInt() )
dwColor = D3DCOLOR_ARGB(255,0,0,0);
else
if( g_pPlayer->m_nInt < g_pPlayer->GetInt() )
dwColor = D3DCOLOR_ARGB(255,0,0,255);
else
dwColor = D3DCOLOR_ARGB(255,255,0,0);
p2DRender->TextOut( StatYPos, y, g_pPlayer->GetInt(), dwColor ); y += nNext;
if(m_nGpPoint)
{
if( (g_nRenderCnt / 8) & 1 )
{
dwColor = D3DCOLOR_ARGB(255,255,0,0);
}
}
p2DRender->TextOut( 105, y, m_nGpPoint, dwColor ); y += nNext;
CRect rectHittest[5];
rectHittest[0].SetRect( 10, 52+ nyAdd, 80, 65 + nyAdd);
rectHittest[1].SetRect( 10, 67+ nyAdd, 80, 80 + nyAdd);
rectHittest[2].SetRect( 10, 82+ nyAdd, 80, 95 + nyAdd);
rectHittest[3].SetRect( 10, 97+ nyAdd, 80, 110 + nyAdd);
rectHittest[4].SetRect( 10, 112+ nyAdd, 160, 125 + nyAdd);
CRect rectTemp;
CPoint ptTemp;
// 툴팁 나오게 하기( Str, Sta, Dex, Int, GP )
CPoint ptMouse = GetMousePoint();
for( int iC = 0 ; iC < 5 ; ++iC )
{
if( rectHittest[iC].PtInRect( ptMouse ) )
{
ClientToScreen( &ptMouse );
ClientToScreen( &rectHittest[iC] );
CEditString strEdit;
CString szString;
DWORD dwColorName = D3DCOLOR_XRGB( 0, 93, 0 );
DWORD dwColorCommand = D3DCOLOR_XRGB( 180, 0, 0 );
if( iC == 0 ) // STR
{
szString.Format( "%s", prj.GetText( TID_TOOLTIP_STR ) );
strEdit.AddString( szString, dwColorName , ESSTY_BOLD );
szString.Format( " %d\n ", g_pPlayer->GetStr() );
strEdit.AddString( szString, dwColorName , ESSTY_BOLD );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_STR0 ) );
strEdit.AddString( "(" );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_STR1 ), dwColorCommand );
strEdit.AddString( ")" );
}
else if( iC == 1 ) // STA
{
szString.Format( "%s", prj.GetText( TID_TOOLTIP_STA ) );
strEdit.AddString( szString, dwColorName , ESSTY_BOLD );
szString.Format( " %d\n ", g_pPlayer->GetSta() );
strEdit.AddString( szString, dwColorName , ESSTY_BOLD );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_STA0 ) );
strEdit.AddString( "\n " );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_STA1 ) );
}
else if( iC == 2 ) // DEX
{
szString.Format( "%s", prj.GetText( TID_TOOLTIP_DEX ) );
strEdit.AddString( szString, dwColorName , ESSTY_BOLD );
szString.Format( " %d\n ", g_pPlayer->GetDex() );
strEdit.AddString( szString, dwColorName , ESSTY_BOLD );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_DEX0 ) );
strEdit.AddString( "\n " );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_DEX1 ) );
strEdit.AddString( "\n " );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_DEX2 ) );
strEdit.AddString( "\n " );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_DEX3 ), dwColorCommand );
}
else if( iC == 3 ) // INT
{
szString.Format( "%s", prj.GetText( TID_TOOLTIP_INT ) );
strEdit.AddString( szString, dwColorName , ESSTY_BOLD );
szString.Format( " %d\n ", g_pPlayer->GetInt() );
strEdit.AddString( szString, dwColorName , ESSTY_BOLD );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_INT0 ) );
strEdit.AddString( "\n " );
strEdit.AddString( prj.GetText( TID_TOOLTIP_COMMAND_INT1 ) );
}
else // GP
strEdit.AddString( prj.GetText( TID_TOOLTIP_CHARSTATUS_GPPOINT ) );
g_toolTip.PutToolTip( 100, strEdit, rectHittest[iC], ptMouse, 3 );
break;
}
}
y = 10 + nyAdd;
dwColor = D3DCOLOR_ARGB(255, 0, 0, 180);
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_13), dwColor );
p2DRender->TextOut( 85, y, prj.GetText(TID_GAME_CHARACTER_14), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_TOOLTIP_DEFENCE), dwColor );
p2DRender->TextOut( 85, y, prj.GetText(TID_GAME_CHARACTER_15), dwColor ); y += nNext;
y += 12;
p2DRender->TextOut( 7, y, prj.GetText(TID_TOOLTIP_STR), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_TOOLTIP_STA), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_TOOLTIP_DEX), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_TOOLTIP_INT), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_07), dwColor ); y += nNext;
//능력치 상태 Tooltip
rect.SetRect( 7, 10+ nyAdd, 160, 38 + nyAdd);
if( rect.PtInRect( ptMouse ) )
{
ClientToScreen( &ptMouse );
ClientToScreen( &rect );
CEditString strEdit;
if(m_nStrCount != 0 || m_nStaCount != 0 || m_nDexCount != 0 || m_nIntCount != 0)
strEdit.AddString( prj.GetText( TID_TOOLTIP_CHARSTATUS_STATUS1 ) );
else
strEdit.AddString( prj.GetText( TID_TOOLTIP_CHARSTATUS_STATUS2 ) );
g_toolTip.PutToolTip( 100, strEdit, rect, ptMouse, 3 );
}
//Edit Tooltip
rect.SetRect(90, 52+ nyAdd, 160, 110+ nyAdd);
if( rect.PtInRect( ptMouse ) )
{
ClientToScreen( &ptMouse );
ClientToScreen( &rect );
CEditString strEdit;
strEdit.AddString( prj.GetText( TID_TOOLTIP_CHARSTATUS_EDIT ) );
g_toolTip.PutToolTip( 100, strEdit, rect, ptMouse, 3 );
}
//Button Tooltip
rect = m_wndApply.m_rectWindow;
if( rect.PtInRect( ptMouse ) )
{
ClientToScreen( &ptMouse );
ClientToScreen( &rect );
CEditString strEdit;
strEdit.AddString( prj.GetText( TID_TOOLTIP_CHARSTATUS_APPLY ) );
g_toolTip.PutToolTip( 100, strEdit, rect, ptMouse, 3 );
}
rect = m_wndReset.m_rectWindow;
if( rect.PtInRect( ptMouse ) )
{
ClientToScreen( &ptMouse );
ClientToScreen( &rect );
CEditString strEdit;
strEdit.AddString( prj.GetText( TID_TOOLTIP_CHARSTATUS_RESET ) );
g_toolTip.PutToolTip( 100, strEdit, rect, ptMouse, 3 );
}
//////////////// pvp /////////////////////////
if( g_pPlayer->IsBaseJob() )
{
if( g_pPlayer->GetLevel() >= MAX_JOB_LEVEL )
m_wndChangeJob.EnableWindow( TRUE );
else
m_wndChangeJob.EnableWindow( FALSE );
}
else if( g_pPlayer->IsExpert() )
{
if( g_pPlayer->GetLevel() >= MAX_JOB_LEVEL + MAX_EXP_LEVEL )
m_wndChangeJob.EnableWindow( TRUE );
else
m_wndChangeJob.EnableWindow( FALSE );
}
//CRect rect = GetClientRect();
//rect.bottom -= 30;
int nyAdd2 = 284;
y = 15 + nyAdd2, nNext = 15;
dwColor = D3DCOLOR_ARGB(255,0,0,0);
char szBuff[32];
int gap1 = 0;
int gap2 = 0;
gap1 -= 10;
gap2 -= 10;
p2DRender->TextOut( 60, 281, prj.GetText((TID_GAME_CHARACTTER_PVP0)), dwColor );
strcpy( szBuff, g_pPlayer->GetFameName() );
if( IsEmpty(szBuff) ) { szBuff[0] = '-'; szBuff[1] = NULL; }
p2DRender->TextOut( 100+gap1, y, szBuff , dwColor ); y += nNext;
y += 4;
p2DRender->TextOut( 100+gap2, y, g_pPlayer->m_nFame , dwColor ); y += nNext;
#if __VER >= 8 // __S8_PK
y += 20;
p2DRender->TextOut( 100+gap2, y, g_pPlayer->GetPKValue() , dwColor ); y += nNext;
y += 4;
p2DRender->TextOut( 100+gap2, y, g_pPlayer->GetPKPropensity() , dwColor ); y += nNext;
#else // __VER >= 8 // __S8_PK
y += 4;
p2DRender->TextOut( 100+gap2, y, g_pPlayer->m_nNumKill , dwColor ); y += nNext;
y += 4;
p2DRender->TextOut( 100+gap2, y, g_pPlayer->GetSlaughterName(), dwColor ); y += nNext;
y += 4;
p2DRender->TextOut( 100+gap2, y, g_pPlayer->m_nSlaughter , dwColor ); y += nNext;
#endif // __VER >= 8 // __S8_PK
y = 13 + nyAdd2;
nNext = 19;
dwColor = D3DCOLOR_ARGB(255, 0, 0, 180);
#if __VER >= 8 // __S8_PK
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTTER_PVP1), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTTER_PVP2), dwColor ); y += nNext;
y += 20;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTTER_PVP3), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTTER_PVP4), dwColor ); y += nNext;
#else // __VER >= 8 // __S8_PK
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_08), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_09), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_10), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_11), dwColor ); y += nNext;
p2DRender->TextOut( 7, y, prj.GetText(TID_GAME_CHARACTER_12), dwColor ); y += nNext;
#endif // __VER >= 8 // __S8_PK
Quote:
void CWndCharInfo::RenderATK
Code:
void CWndCharInfo::RenderATK( C2DRender* p2DRender, int x, int y )
{
DWORD dwColor = D3DCOLOR_ARGB(255,0,0,0);
char szText[32];
int nMin, nMax;
int nTemp1, nTemp2;
GetVirtualATK(&nTemp1, &nTemp2);
g_pPlayer->GetHitMinMax( &nMin, &nMax );
if( (m_nStrCount != 0 || m_nDexCount != 0 || m_nIntCount != 0) && (nTemp1 != nMin || nTemp2 != nMax) ) //임의 스탯이 변경되고 현재 능력치랑 다를 경우
{
if( (g_nRenderCnt / 8) & 1 )
{
dwColor = D3DCOLOR_ARGB(255,255,0,0);
}
GetVirtualATK(&nMin, &nMax);
}
else
g_pPlayer->GetHitMinMax( &nMin, &nMax );
int nATK = ( nMin + nMax ) / 2;
if( g_pPlayer->IsSMMode( SM_ATTACK_UP1 ) || g_pPlayer->IsSMMode( SM_ATTACK_UP ) )
nATK = (int)( nATK * 1.2f );
if( 0 < g_pPlayer->GetParam( DST_ATKPOWER_RATE, 0 ) )
nATK = nATK + ( nATK * g_pPlayer->GetParam( DST_ATKPOWER_RATE, 0 ) / 100 );
nATK += g_pPlayer->GetWeaponPlusDamage( 1, FALSE );
nATK += g_pPlayer->GetParam( DST_ATKPOWER, 0 );
#ifdef __JEFF_11
if( nATK < 0 )
nATK = 0;
#endif // __JEFF_11
wsprintf( szText, "%d", nATK );
p2DRender->TextOut( x, y, szText, dwColor );
}
Name of the file is Legend_Mark.png
Thanks ryuzakinara!
10/01/2019, 18:45
#6
elite*gold: 0
Join Date: Jul 2015
Posts: 28
Received Thanks: 5
It should work
keep me informed
Exchange :
Code:
void CWndCharInfo::OnDraw(C2DRender* p2DRender)
{
CRect rect = GetClientRect();
rect.bottom -= 30;
int y = 0, nNext = 15, nyAdd3 = 21;
DWORD dwColor = D3DCOLOR_ARGB(255,0,0,0);
#if __VER >= 10 // __CSC_VER9_1
BYTE checkhero = g_pPlayer->GetLegendChar();
int xpos = 0;
int ypos = 0;
CTexture* pTexture;
CString strPath;
CPoint point;
#endif //__CSC_VER9_1
y = 13;
p2DRender->TextOut( 60, y, prj.GetText((TID_APP_CHARACTER_BASE)), dwColor );
y = 10 + nyAdd3;
if( TRUE ) //::GetLanguage() == LANG_JAP )
{
p2DRender->TextOut( 80, y, g_pPlayer->GetName() , dwColor); y += nNext;
p2DRender->TextOut( 80, y, g_pPlayer->GetJobString() , dwColor ); y += nNext;
#if __VER >= 10 // __CSC_VER9_1
ypos = y;
if(checkhero == LEGEND_CLASS_MASTER)
{
if(g_pPlayer->GetLevel() < 100)
xpos = 97;
else
xpos = 103;
}
#if __VER >= 15 // __HERO129_VER15 // 15차 히어로 레벨확장
if(checkhero == LEGEND_CLASS_HERO)
xpos = 103;
#else
if(checkhero == LEGEND_CLASS_HERO)
xpos = 80;
else
#endif // 15차 히어로 레벨확장
p2DRender->TextOut( 80, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#else
p2DRender->TextOut( 80, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#endif //__CSC_VER9_1
y = 81+ nyAdd3;
}
else
{
p2DRender->TextOut( 50, y, g_pPlayer->GetName() , dwColor); y += nNext;
p2DRender->TextOut( 50, y, g_pPlayer->GetJobString() , dwColor ); y += nNext;
#if __VER >= 10 // __CSC_VER9_1
ypos = y;
if(checkhero == LEGEND_CLASS_MASTER)
{
if(g_pPlayer->GetLevel() < 100)
xpos = 67;
else
xpos = 73;
}
#if __VER >= 15 // __HERO129_VER15 // 15차 히어로 레벨확장
if(checkhero == LEGEND_CLASS_HERO)
xpos = 73;
#else
if(checkhero == LEGEND_CLASS_HERO)
xpos = 50;
else
#endif // 15차 히어로 레벨확장
p2DRender->TextOut( 50, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#else
p2DRender->TextOut( 50, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#endif //__CSC_VER9_1
y = 81 + nyAdd3;
}
#if __VER >= 10 // __CSC_VER9_1
point.x = xpos;
point.y = ypos - 2;
if(checkhero == LEGEND_CLASS_MASTER && m_nCampusPoint == 0) //전승을 했을 경우.
{
if(/*g_pPlayer->m_nLevel >= 60 && */g_pPlayer->m_nLevel < 70 ) //Level Down될 경우를 생각해�* 주석처리
strPath = MakePath( DIR_ICON, "Icon_MasterMark1.dds");
else if(g_pPlayer->m_nLevel >= 70 && g_pPlayer->m_nLevel < 80 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark2.dds");
else if(g_pPlayer->m_nLevel >= 80 && g_pPlayer->m_nLevel < 90 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark3.dds");
else if(g_pPlayer->m_nLevel >= 90 && g_pPlayer->m_nLevel < 100 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark4.dds");
else if(g_pPlayer->m_nLevel >= 100 && g_pPlayer->m_nLevel < 110 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark5.dds");
else if(g_pPlayer->m_nLevel >= 110 && g_pPlayer->m_nLevel <= 120 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark6.dds");
// else if(Akerius >= 1 )
// strPath = MakePath( DIR_ICON, "Rebirth_R.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
if(pTexture != NULL)
pTexture->Render( p2DRender, point );
}
else if(checkhero == LEGEND_CLASS_HERO && m_nCampusPoint == 0) //영웅일 경우.
{
if(g_pPlayer->m_nLevel >= 121 && g_pPlayer->m_nLevel )
strPath = MakePath( DIR_ICON, "Icon_HeroMark.dds");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
if(pTexture != NULL)
pTexture->Render( p2DRender, point );
}
#ifdef __3RD_LEGEND16
else if(checkhero == LEGEND_CLASS_LEGENDHERO && m_nCampusPoint == 0) //영웅일 경우.
{
if(g_pPlayer->m_nLevel >= 130 && g_pPlayer->m_nLevel < 176 )
strPath = MakePath( DIR_ICON, "Legend_Mark.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xfff0000f );
if(pTexture != NULL)
pTexture->Render( p2DRender, point );
}
#endif
else if(m_nCampusPoint == 1)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
//pTexture = g_Neuz.m_pHeroIcon;
if(pTexture != NULL)
{
point.y -= pTexture->m_size.cy + 5;
pTexture->Render( &g_Neuz.m_2DRender, point );
}
}
else if(m_nCampusPoint == 2)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark1.png");
by
Code:
void CWndCharInfo::OnDraw(C2DRender* p2DRender)
{
CRect rect = GetClientRect();
rect.bottom -= 30;
int y = 0, nNext = 15, nyAdd3 = 21;
DWORD dwColor = D3DCOLOR_ARGB(255,0,0,0);
#if __VER >= 10 // __CSC_VER9_1
BYTE checkhero = g_pPlayer->GetLegendChar();
int xpos = 0;
int ypos = 0;
CTexture* pTexture;
CString strPath;
CPoint point;
#endif //__CSC_VER9_1
y = 13;
p2DRender->TextOut( 60, y, prj.GetText((TID_APP_CHARACTER_BASE)), dwColor );
y = 10 + nyAdd3;
if( TRUE ) //::GetLanguage() == LANG_JAP )
{
p2DRender->TextOut( 80, y, g_pPlayer->GetName() , dwColor); y += nNext;
p2DRender->TextOut( 80, y, g_pPlayer->GetJobString() , dwColor ); y += nNext;
#if __VER >= 10 // __CSC_VER9_1
ypos = y;
if(checkhero == LEGEND_CLASS_MASTER)
{
if(g_pPlayer->GetLevel() < 100)
xpos = 97;
else
xpos = 103;
}
#if __VER >= 15 // __HERO129_VER15 // 15차 히어로 레벨확장
if(checkhero == LEGEND_CLASS_HERO || checkhero == LEGEND_CLASS_LEGENDHERO)
xpos = 103;
#else
if(checkhero == LEGEND_CLASS_HERO || checkhero == LEGEND_CLASS_LEGENDHERO)
xpos = 80;
else
#endif // 15차 히어로 레벨확장
p2DRender->TextOut( 80, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#else
p2DRender->TextOut( 80, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#endif //__CSC_VER9_1
y = 81+ nyAdd3;
}
else
{
p2DRender->TextOut( 50, y, g_pPlayer->GetName() , dwColor); y += nNext;
p2DRender->TextOut( 50, y, g_pPlayer->GetJobString() , dwColor ); y += nNext;
#if __VER >= 10 // __CSC_VER9_1
ypos = y;
if(checkhero == LEGEND_CLASS_MASTER)
{
if(g_pPlayer->GetLevel() < 100)
xpos = 67;
else
xpos = 73;
}
#if __VER >= 15 // __HERO129_VER15 // 15차 히어로 레벨확장
if(checkhero == LEGEND_CLASS_HERO || checkhero == LEGEND_CLASS_LEGENDHERO )
xpos = 73;
#else
if(checkhero == LEGEND_CLASS_HERO || checkhero == LEGEND_CLASS_LEGENDHERO )
xpos = 50;
else
#endif // 15차 히어로 레벨확장
p2DRender->TextOut( 50, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#else
p2DRender->TextOut( 50, y, g_pPlayer->GetLevel() , dwColor ); y += nNext;
#endif //__CSC_VER9_1
y = 81 + nyAdd3;
}
#if __VER >= 10 // __CSC_VER9_1
point.x = xpos;
point.y = ypos - 2;
if(checkhero == LEGEND_CLASS_MASTER && m_nCampusPoint == 0) //전승을 했을 경우.
{
if(/*g_pPlayer->m_nLevel >= 60 && */g_pPlayer->m_nLevel < 70 ) //Level Down될 경우를 생각해�* 주석처리
strPath = MakePath( DIR_ICON, "Icon_MasterMark1.dds");
else if(g_pPlayer->m_nLevel >= 70 && g_pPlayer->m_nLevel < 80 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark2.dds");
else if(g_pPlayer->m_nLevel >= 80 && g_pPlayer->m_nLevel < 90 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark3.dds");
else if(g_pPlayer->m_nLevel >= 90 && g_pPlayer->m_nLevel < 100 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark4.dds");
else if(g_pPlayer->m_nLevel >= 100 && g_pPlayer->m_nLevel < 110 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark5.dds");
else if(g_pPlayer->m_nLevel >= 110 && g_pPlayer->m_nLevel <= 120 )
strPath = MakePath( DIR_ICON, "Icon_MasterMark6.dds");
// else if(Akerius >= 1 )
// strPath = MakePath( DIR_ICON, "Rebirth_R.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
if(pTexture != NULL)
pTexture->Render( p2DRender, point );
}
else if(checkhero == LEGEND_CLASS_HERO || checkhero == LEGEND_CLASS_LEGENDHERO || m_nCampusPoint == 0 ) //영웅일 경우.
{
strPath = MakePath( DIR_ICON, "Icon_HeroMark.dds");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
if(pTexture != NULL)
pTexture->Render( p2DRender, point );
}
else if(m_nCampusPoint == 1)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark.png");
pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
//pTexture = g_Neuz.m_pHeroIcon;
if(pTexture != NULL)
{
point.y -= pTexture->m_size.cy + 5;
pTexture->Render( &g_Neuz.m_2DRender, point );
}
}
else if(m_nCampusPoint == 2)
{
strPath = MakePath( DIR_ICON, "Rebirth_Mark1.png");
10/01/2019, 19:00
#7
elite*gold: 0
Join Date: Dec 2015
Posts: 30
Received Thanks: 0
#FIXED
Thanks to ryuzakinara, Cheers!
10/01/2019, 19:41
#8
elite*gold: 0
Join Date: Jul 2015
Posts: 28
Received Thanks: 5
You're welcome
Similar Threads
how can i add another attribute to Character stats window?
10/02/2017 - Flyff Private Server - 0 Replies
can someone help guide on adding attribute on the character stats window? for example adding the Hit rate/ADOCH/DCT and more... tnx
Character window stats not raising when I use skill
08/15/2017 - Metin2 Private Server - 2 Replies
Hello.
I have a problem. When I use Aura of Sword, or Enchanted Blade, I don't see raising Attack power in Character window - like nothing happened -, but I get this amount on server, because I checked the damage on mobs with and without skills. If I use something other Selfonly skill for example Berserk or Strong body, i see the real amount on the Character window.
I don't get any syserr, only "USE_SKILL: 4 pkVictim 0x0" for Aura of Sword in syslog, but i guess it's ok.
So somebody could...
[help] How to check if in game character stats and logging character stats?
01/24/2017 - Flyff Private Server - 2 Replies
I found out that when using CE (Cheat Engine) I could hack the stats. I already found the solution to stop hack stats. Now I have check the character logging is different to in game character stats. Can someone help me in source how do I compare it and logs (hack detected) and also kick the player or auto ban etc. Thanks
Respect post, newbie here
Rename CO2 window title (any window actually)
05/13/2006 - CO2 Exploits, Hacks & Tools - 4 Replies
I have seen a few posts requesting this. It is a simple autohotkey macro nothing fancy here. You will notice also that the UPX packer detection is not triggered. If you use autohotkey and want to know how to remove the packer PM me it is rather simple. To use this little tool thingie it is very simple:
Execute the code.
Focus your window.
Press Hotkey CTRL+WIN+w
Change the Title.
Apply
All times are GMT +1. The time now is 16:18 .