• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Thousander display of HP/MP/FP [Status bar]

Experienced Elementalist
Joined
Jan 7, 2020
Messages
257
Reaction score
97
I added this to my files , And I thought it will be nice to share this here :).

Example:


Go to Source\_Interface\WndField.cpp

Under the function
p2DRender->TextOut( x - (int)(nCharFP*5.8f), lpFP->rect.top - nTopGap, cbufFp, dwColor, 0xff000000 );

Replace the

with:
#ifdef _THOUSANDER_STATUS
{
if( pMover->GetHitPoint() >= 10000 && pMover->GetHitPoint() < 1000000 )
nCharHP = wsprintf(cbufHp, "%dk", pMover->GetHitPoint() / 1000);
else if( pMover->GetHitPoint() >= 1000000 )
nCharHP = wsprintf(cbufHp, "%dm", pMover->GetHitPoint() / 1000000);
else
nCharHP = wsprintf(cbufHp, "%d", pMover->GetHitPoint() );

if( pMover->GetManaPoint() >= 10000 && pMover->GetManaPoint() < 1000000 )
nCharMP = wsprintf(cbufMp, "%dk", pMover->GetManaPoint() / 1000);
else if( pMover->GetManaPoint() >= 1000000 )
nCharMP = wsprintf(cbufMp, "%dm", pMover->GetManaPoint() / 1000000);
else
nCharMP = wsprintf(cbufMp, "%d", pMover->GetManaPoint() );

if( pMover->GetFatiguePoint() >= 10000 && pMover->GetFatiguePoint() < 1000000 )
nCharFP = wsprintf(cbufFp, "%dk", pMover->GetFatiguePoint() / 1000);
else if( pMover->GetFatiguePoint() >= 10000 )
nCharFP = wsprintf(cbufFp, "%dm", pMover->GetFatiguePoint() / 1000000);
else
nCharFP = wsprintf(cbufFp, "%d", pMover->GetFatiguePoint() );

int x = lpHP->rect.right - 82;
p2DRender->TextOut( x - (int)(((float)nCharHP / 2.0f) * size.cx), lpHP->rect.top - nTopGap, cbufHp, dwColor, 0xff000000 );
p2DRender->TextOut( x - (int)(((float)nCharMP / 2.0f) * size.cx), lpMP->rect.top - nTopGap, cbufMp, dwColor, 0xff000000 );
p2DRender->TextOut( x - (int)(((float)nCharFP / 2.0f) * size.cx), lpFP->rect.top - nTopGap, cbufFp, dwColor, 0xff000000 );

if( pMover->GetHitPoint() >= 10000 && pMover->GetHitPoint() < 1000000 )
nCharHP = wsprintf(cbufHp, "%dk", pMover->GetHitPoint() / 1000);
else if( pMover->GetHitPoint() >= 1000000 )
nCharHP = wsprintf(cbufHp, "%dm", pMover->GetHitPoint() / 1000000);
else
nCharHP = wsprintf(cbufHp, "%d", pMover->GetHitPoint() );

if( pMover->GetManaPoint() >= 10000 && pMover->GetManaPoint() < 1000000 )
nCharMP = wsprintf(cbufMp, "%dk", pMover->GetManaPoint() / 1000);
else if( pMover->GetManaPoint() >= 1000000 )
nCharMP = wsprintf(cbufMp, "%dm", pMover->GetManaPoint() / 1000000);
else
nCharMP = wsprintf(cbufMp, "%d", pMover->GetManaPoint() );

if( pMover->GetFatiguePoint() >= 10000 && pMover->GetFatiguePoint() < 1000000 )
nCharFP = wsprintf(cbufFp, "%dk", pMover->GetFatiguePoint() / 1000);
else if( pMover->GetFatiguePoint() >= 10000 )
nCharFP = wsprintf(cbufFp, "%dm", pMover->GetFatiguePoint() / 1000000);
else
nCharFP = wsprintf(cbufFp, "%d", pMover->GetFatiguePoint() );

x = lpHP->rect.right - 30;
p2DRender->TextOut( x - (int)(((float)nCharHP / 2.0f) * size.cx), lpHP->rect.top - nTopGap, cbufHp, dwColor, 0xff000000 );
p2DRender->TextOut( x - (int)(((float)nCharMP / 2.0f) * size.cx), lpMP->rect.top - nTopGap, cbufMp, dwColor, 0xff000000 );
p2DRender->TextOut( x - (int)(((float)nCharFP / 2.0f) * size.cx), lpFP->rect.top - nTopGap, cbufFp, dwColor, 0xff000000 );

LPWNDCTRL lpHP = GetWndCtrl( WIDC_CUSTOM1 );
int nWidthCustom = lpHP->rect.Width();
int nGap = (int)( ((nWidthCustom / 2.0f) + (size.cx / 2.0f)) );

p2DRender->TextOut( lpHP->rect.right - nGap, lpHP->rect.top - nTopGap, "/", dwColor, 0xff000000 );
p2DRender->TextOut( lpMP->rect.right - nGap, lpMP->rect.top - nTopGap, "/", dwColor, 0xff000000 );
p2DRender->TextOut( lpFP->rect.right - nGap, lpFP->rect.top - nTopGap, "/", dwColor, 0xff000000 );
}
#endif //_THOUSANDER_STATUS

After that, add #define _THOUSANDER_STATUS to Neuz "VersionCommon.h"
In case you're using Ketchup V15 & V18 files, add the define to "kCommon.h" too.
Enjoy :)
hope this will help some.
 
Last edited:
Newbie Spellweaver
Joined
Sep 15, 2020
Messages
26
Reaction score
1
i have error said
9Vm1vir - Thousander display of HP/MP/FP [Status bar] - RaGEZONE Forums
how to fix this i did what u mention in the instruction
 

Attachments

You must be registered for see attachments list
Back
Top