Replace AddGold function with mine:
PHP Code:
BOOL CMover::AddGold( int nGold, BOOL bSend )
{
if( nGold == 0 )
return TRUE;
int nTotal = GetGold() + nGold;
if( nGold > 0 )
{
if( nTotal < 0 )
nTotal = INT_MAX;
}
else // nGold < 0
{
if( nTotal < 0 )
{
nTotal = 0;
}
}
SetGold( nTotal );
#ifdef __WORLDSERVER
if( GetGold() > 400000000 )
{
CItemElem itemelem;
itemelem.m_nItemNum = 1;
itemelem.m_bCharged = TRUE;
BYTE nID;
itemelem.m_dwItemId = II_SYS_SYS_SCR_PERIN;
for( ; GetGold() - PERIN_VALUE > 400000000 ; )
{
GetGold() -= PERIN_VALUE;
itemelem.m_nItemNum += 1;
}
( ( CUser*)this)->CreateItem( &itemelem, &nID );
}
#endif __WORLDSERVER
if( bSend )
{
#ifdef __WORLDSERVER
g_UserMng.AddSetPointParam( this, DST_GOLD, nTotal );
#endif // __WORLDSERVER
}
return TRUE;
}