Item Structure

Experienced Elementalist
Joined
Sep 8, 2009
Messages
296
Reaction score
81
Since I still have this problem persisting, can anyone tell me where the piece of code is in the source that sets up how items are displayed in the bag/bank/guild warehouse. The item on slot 1 of each of these keeps disappearing whilst restarting the database server. I've been relentlessly trying to figure this out. I'm not sure which function is even causing it. I've tried commenting out a lot of functions just to see if it would stop. So far i've had no luck whatsoever.

Help would really be appreciated. I've been trying for the past day and a half.
 
Try to use a new database. Clean v15 perhaps?

anyway i think your /awake system is the problem. Because items keep dissapering off the first slot of your inventory this is the line where it says:

int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );

Full line:

#ifdef __AWA_WITH_PENYACOST
if( pItemElem )
{
int nCost = 1000000;
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );

if( 0 < nCost )
{
if( nRandomOptionKind >= 0 )
{
if( pUser->GetGold() > nCost )
{
if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET )
{
char chMessage[100];
sprintf( chMessage, "Du musst dein aktives Pet einpacken!" );
pUser->AddText( chMessage );
}
else
{
pUser->AddGold( -( nCost ) );
g_xRandomOptionProperty->InitializeRandomOption( pItemElem->GetRandomOptItemIdPtr() );
g_xRandomOptionProperty->GenRandomOption( pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts );
pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
}
}
else
{
pUser->AddText( "Du hast nicht genug Geld!" );
}
}
}
}
else
{
pUser->AddText( "Lege den Gegenstand an den ersten Slot deines Inventars." );
}
#else
if( pItemElem )
{
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );
if( nRandomOptionKind >= 0 ) // ¾ÆÀÌÅÛ °¢¼º, ¿©½ÅÀÇ ÃູÀÌ °¡´ÉÇÑ ´ë»ó
{
if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET )
{
char chMessage[100];
sprintf( chMessage, "Du musst dein aktives Pet einpacken!" );
pUser->AddText( chMessage );
}
else
{
g_xRandomOptionProperty->InitializeRandomOption( pItemElem->GetRandomOptItemIdPtr() );
g_xRandomOptionProperty->GenRandomOption( pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts );
pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
}
}
}
#endif //__AWA_WITH_PENYACOST

somewhere in here is the function you are looking for.

But the problem i think it is is the database server / or linked server / odbc.
 
Back