Funktioniert das auf jedem Server?
So change the parameter ?Quote:
and it is by 1,9 mrd, it s better than 500 million ;D;D
Kleine Frage, bei mir werden die Penya abgezogen, aber erhalte keine Perin.Quote:
EDIT besser wäre noch this->m_Inventory.GetEmptyCount() < 1 anstatt ::GetCount().Code:void CUser::AddGoldText( int nPlus ) { char szPlus[64]; char szGold[64]; sprintf( szPlus, "%d", nPlus ); sprintf( szGold, "%d", GetGold() ); CString strPlus = GetNumberFormatEx( szPlus ); CString strGold = GetNumberFormatEx( szGold ); if( GetGold() > 1900000000 && this->m_Inventory.GetEmptyCount() < 1 ) { CItemElem pItem; pItem.m_nItemNum = 19; pItem.m_bCharged = TRUE; pItem.m_dwItemId = II_SYS_SYS_SCR_PERIN; BYTE nID; CreateItem( &pItem, &nID ); AddGold( -1900000000 ); } AddDefinedText( TID_GAME_REAPMONEY, "%s %s", strPlus, strGold ); }
void CUser::AddGoldText( int nPlus )
{
char szPlus[64];
char szGold[64];
sprintf( szPlus, "%d", nPlus );
sprintf( szGold, "%d", GetGold() );
CString strPlus = GetNumberFormatEx( szPlus );
CString strGold = GetNumberFormatEx( szGold );
if( GetGold() > 2100000000 && this->m_Inventory.GetEmptyCount() == 0 && CMover::GetPerinNum() > 0 )
{
CItemElem pItem;
pItem.m_nItemNum = CMover::GetPerinNum() + 21;
pItem.m_bCharged = TRUE;
pItem.m_dwItemId = II_SYS_SYS_SCR_PERIN;
BYTE nID;
CMover::RemovePerin( CMover::GetPerinNum() );
CreateItem( &pItem, &nID );
AddGold( -2100000000 );
AddDefinedText( TID_GAME_MAKEPERIN );
}
else if (GetGold() > 2100000000 && this->m_Inventory.GetEmptyCount() > 0 && CMover::GetPerinNum() == 0)
{
CItemElem pItem;
pItem.m_nItemNum = 21;
pItem.m_bCharged = TRUE;
pItem.m_dwItemId = II_SYS_SYS_SCR_PERIN;
BYTE nID;
CreateItem( &pItem, &nID );
AddGold( -2100000000 );
AddDefinedText( TID_GAME_MAKEPERIN );
}
else if (GetGold() > 2100000000 && this->m_Inventory.GetEmptyCount() > 0 && CMover::GetPerinNum() > 1)
{
CItemElem pItem;
pItem.m_nItemNum = 21;
pItem.m_bCharged = TRUE;
pItem.m_dwItemId = II_SYS_SYS_SCR_PERIN;
BYTE nID;
CreateItem( &pItem, &nID );
AddGold( -2100000000 );
AddDefinedText( TID_GAME_MAKEPERIN );
}
else if (GetGold() > 2100000000 && this->m_Inventory.GetEmptyCount() == 0 && CMover::GetPerinNum() == 0)
{
AddDefinedText( TID_GAME_MAKEPERIN_FAILURE );
}
AddDefinedText( TID_GAME_REAPMONEY, "%s %s", strPlus, strGold );
}
TID_GAME_MAKEPERIN 0xffbb00
{
IDS_TEXTCLIENT_INC_100000
}
TID_GAME_MAKEPERIN_FAILURE 0xff0000
{
IDS_TEXTCLIENT_INC_100001
}
TID_GAME_MAKEPERIN 0xffbb00
{
IDS_TEXTCLIENT_INC_100000
}
TID_GAME_MAKEPERIN_FAILURE 0xff0000
{
IDS_TEXTCLIENT_INC_100001
}
IDS_TEXTCLIENT_INC_100000 Es wurden 21 Perins erstellt. Der Betrag wurde von deinen Penya abgezogen. IDS_TEXTCLIENT_INC_100001 Es konnten keine Perins erstellt werden, bitte prüfe dein Inventar.
Also die defineText.h muss doch anders sein oder ?Quote:
defineText.h (Im Resource Ordner der Source / im Resource)
Code:TID_GAME_MAKEPERIN 0xffbb00 { IDS_TEXTCLIENT_INC_100000 } TID_GAME_MAKEPERIN_FAILURE 0xff0000 { IDS_TEXTCLIENT_INC_100001 }
Quote:
Hier eine komplett Bugfreie Version :
User.cpp :
defineText.h (Im Resource Ordner der Source / im Resource)Code:void CUser::AddGoldText( int nPlus ) { char szPlus[64]; char szGold[64]; sprintf( szPlus, "%d", nPlus ); sprintf( szGold, "%d", GetGold() ); CString strPlus = GetNumberFormatEx( szPlus ); CString strGold = GetNumberFormatEx( szGold ); if( GetGold() > 2100000000 && this->m_Inventory.GetEmptyCount() == 0 && CMover::GetPerinNum() > 0 ) { CItemElem pItem; pItem.m_nItemNum = CMover::GetPerinNum() + 21; pItem.m_bCharged = TRUE; pItem.m_dwItemId = II_SYS_SYS_SCR_PERIN; BYTE nID; CMover::RemovePerin( CMover::GetPerinNum() ); CreateItem( &pItem, &nID ); AddGold( -2100000000 ); AddDefinedText( TID_GAME_MAKEPERIN ); } else if (GetGold() > 2100000000 && this->m_Inventory.GetEmptyCount() > 0 && CMover::GetPerinNum() == 0) { CItemElem pItem; pItem.m_nItemNum = 21; pItem.m_bCharged = TRUE; pItem.m_dwItemId = II_SYS_SYS_SCR_PERIN; BYTE nID; CreateItem( &pItem, &nID ); AddGold( -2100000000 ); AddDefinedText( TID_GAME_MAKEPERIN ); } else if (GetGold() > 2100000000 && this->m_Inventory.GetEmptyCount() > 0 && CMover::GetPerinNum() > 1) { CItemElem pItem; pItem.m_nItemNum = 21; pItem.m_bCharged = TRUE; pItem.m_dwItemId = II_SYS_SYS_SCR_PERIN; BYTE nID; CreateItem( &pItem, &nID ); AddGold( -2100000000 ); AddDefinedText( TID_GAME_MAKEPERIN ); } else if (GetGold() > 2100000000 && this->m_Inventory.GetEmptyCount() == 0 && CMover::GetPerinNum() == 0) { AddDefinedText( TID_GAME_MAKEPERIN_FAILURE ); } AddDefinedText( TID_GAME_REAPMONEY, "%s %s", strPlus, strGold ); }
textClient.inc (Im Resource)Code:TID_GAME_MAKEPERIN 0xffbb00 { IDS_TEXTCLIENT_INC_100000 } TID_GAME_MAKEPERIN_FAILURE 0xff0000 { IDS_TEXTCLIENT_INC_100001 }
textClient.txt.txt (Im Resource)Code:TID_GAME_MAKEPERIN 0xffbb00 { IDS_TEXTCLIENT_INC_100000 } TID_GAME_MAKEPERIN_FAILURE 0xff0000 { IDS_TEXTCLIENT_INC_100001 }
Perin Stacks werden beibehalten, es werden nur Perins erstellt / Penya abgezogen wenn Inventar Platz hat, oder ein Perin Stack vorhanden ist. Es wird eine (goldene xD) Nachricht ausgegeben, wenn die Perins erstellt wurden, oder eine (rote) ausgegeben, wenn kein Platz im Inventar ist.Code:IDS_TEXTCLIENT_INC_100000 Es wurden 21 Perins erstellt. Der Betrag wurde von deinen Penya abgezogen. IDS_TEXTCLIENT_INC_100001 Es konnten keine Perins erstellt werden, bitte prüfe dein Inventar.