After, open it -> Error Ok
If you have 1 free slot
2 free slots:
The box with 4 item is now open and the 2 last items are not created
The function :
Code:
void CUser::DoUsePackItem( CItemElem* pItemElem, PPACKITEMELEM pPackItemElem )
{
time_t t = 0;
if( pPackItemElem->nSpan ) // minutes
{
CTime time = CTime::GetCurrentTime() + CTimeSpan( 0, 0, pPackItemElem->nSpan, 0 );
t = (time_t)( time.GetTime() );
}
if( m_Inventory.GetEmptyCount() >= pPackItemElem->nSize )
{
for( int i = 0; i < pPackItemElem->nSize; i++ )
{
CItemElem itemElem;
itemElem.m_dwItemId = pPackItemElem->adwItem[i];
itemElem.SetAbilityOption( pPackItemElem->anAbilityOption[i] );
itemElem.m_nItemNum = pPackItemElem->anNum[i];
itemElem.m_bCharged = itemElem.GetProp()->bCharged;
itemElem.m_dwKeepTime = (DWORD)t;
// if( pItemElem->IsFlag( CItemElem::binds ) )
if( pItemElem->IsBinds() )
itemElem.SetFlag( CItemElem::binds );
if( CreateItem( &itemElem ) )
{
AddDefinedText( TID_GAME_REAPITEM, "\"%s\"", itemElem.GetProp()->szName );
g_DPSrvr.PutCreateItemLog( this, &itemElem , "E", "PACK" );
// ItemProp* pItemProp = itemElem.GetProp();
// if( pItemProp->dwSfxObj3 != -1 )
// g_UserMng.AddCreateSfxObj( this, pItemProp->dwSfxObj3, GetPos().x, GetPos().y, GetPos().z );
}
}
OnAfterUseItem( pItemElem->GetProp() );
UpdateItem( (BYTE)( pItemElem->m_dwObjId ), UI_NUM, pItemElem->m_nItemNum - 1 );
}
else
AddDefinedText( TID_GAME_LACKSPACE );
}






