Quote:
Originally Posted by Malibux33
Nimm aber lieber das:
Code:
[COLOR=#000000][COLOR=#0000BB]BOOL TextCmd_GenRandomOption[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]CScanner [/COLOR][COLOR=#007700]& [/COLOR][COLOR=#0000BB]s [/COLOR][COLOR=#007700])
{
[/COLOR][COLOR=#FF8000]#ifdef __WORLDSERVER
[/COLOR][COLOR=#0000BB]CUser[/COLOR][COLOR=#007700]* [/COLOR][COLOR=#0000BB]pUser [/COLOR][COLOR=#007700]= ([/COLOR][COLOR=#0000BB]CUser[/COLOR][COLOR=#007700]*)[/COLOR][COLOR=#0000BB]s[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]dwValue[/COLOR][COLOR=#007700];
[/COLOR][COLOR=#FF8000]// int i = s.GetNumber();
[/COLOR][COLOR=#0000BB]CItemElem[/COLOR][COLOR=#007700]* [/COLOR][COLOR=#0000BB]pItemElem [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]pUser[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]m_Inventory[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]GetAt[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]0 [/COLOR][COLOR=#007700]);
if( [/COLOR][COLOR=#0000BB]pItemElem [/COLOR][COLOR=#007700])
{
[/COLOR][COLOR=#0000BB]int nRandomOptionKind [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]g_xRandomOptionProperty[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GetRandomOptionKind[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]pItemElem [/COLOR][COLOR=#007700]);
if( [/COLOR][COLOR=#0000BB]nRandomOptionKind [/COLOR][COLOR=#007700]>= [/COLOR][COLOR=#0000BB]0 [/COLOR][COLOR=#007700]) [/COLOR][COLOR=#FF8000]// ¾ÆÀÌÅÛ °¢¼º, ¿©½ÅÀÇ ÃູÀÌ °¡´ÉÇÑ ´ë»ó
[/COLOR][COLOR=#007700]{
if([/COLOR][COLOR=#0000BB]pUser[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]HasActivatedSystemPet[/COLOR][COLOR=#007700]() && [/COLOR][COLOR=#0000BB]pItemElem[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GetProp[/COLOR][COLOR=#007700]()->[/COLOR][COLOR=#0000BB]dwItemKind3 [/COLOR][COLOR=#007700]== [/COLOR][COLOR=#0000BB]IK3_EGG[/COLOR][COLOR=#007700])
{
[/COLOR][COLOR=#0000BB]char chMessage[/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]100[/COLOR][COLOR=#007700]];
[/COLOR][COLOR=#0000BB]sprintf[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]chMessage[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"Du musst dein Pet reinholen um es zu erwecken!" [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]pUser[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]AddText[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]chMessage [/COLOR][COLOR=#007700]);
}
else
{
[/COLOR][COLOR=#0000BB]g_xRandomOptionProperty[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]InitializeRandomOption[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]pItemElem[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GetRandomOptItemIdPtr[/COLOR][COLOR=#007700]() );
[/COLOR][COLOR=#0000BB]g_xRandomOptionProperty[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GenRandomOption[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]pItemElem[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GetRandomOptItemIdPtr[/COLOR][COLOR=#007700](), [/COLOR][COLOR=#0000BB]nRandomOptionKind[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]pItemElem[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GetProp[/COLOR][COLOR=#007700]()->[/COLOR][COLOR=#0000BB]dwParts [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]pUser[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]UpdateItemEx[/COLOR][COLOR=#007700]( ([/COLOR][COLOR=#0000BB]BYTE[/COLOR][COLOR=#007700])( [/COLOR][COLOR=#0000BB]pItemElem[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]m_dwObjId [/COLOR][COLOR=#007700]), [/COLOR][COLOR=#0000BB]UI_RANDOMOPTITEMID[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]pItemElem[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GetRandomOptItemId[/COLOR][COLOR=#007700]() );
}
}
}
[/COLOR][COLOR=#FF8000]#endif // __WORLDSERVER
[/COLOR][COLOR=#007700]return [/COLOR][COLOR=#0000BB]TRUE[/COLOR][COLOR=#007700];
}
[/COLOR][/COLOR]
Anstatt Jopsis Crap..
|
PHP Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
// int i = s.GetNumber();
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
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)
pUser->AddText( "Du musst dein Pet reinholen um es zu erwecken!" );
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 // __WORLDSERVER
return TRUE;
}
Musst das Eatpet auch drin haben, sonst kannste damit dupen.
Sollte funzen hab es nit probiert