Hello !
Je vais vous montrer comment permettre au joueurs d'éveiller leur objet via une commande . Dans un premier temps. Nous allons modifier la commande puis la rendre utilisable pour tout les joueurs.
Voila comment modifier la commande "/gro" ( objet en première place ).
Dans FuncTextCmd.cpp
Chercher ceci:
Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
Ranplacer par:
Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( pItemElem )
{
int nCost = 150000;
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 )
{
pUser->AddText( "Vous ne pouvez pas éveiller votre familier pour le moment.." );
}
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( "Vous n'avez pas les penyas pour faire cette action.." );
}
}
}
}
else
{
pUser->AddText( "L'objet doit être en première place dans votre inventaire!" );
}
#endif //__WORLDSERVER
return TRUE;
}
Ensuite chercher:
Code:
ON_TEXTCMDFUNC( TextCmd_GenRandomOption,
Ramplacer toute la ligne par ceci:
Code:
ON_TEXTCMDFUNC( TextCmd_GenRandomOption, "GenRandomOption", "gro", "°¢¼ºÃູ", "°¢Ãà", TCM_BOTH, AUTH_GENERAL, "" )
Credit:
- Forum allemand
- Moi même
Enjoy ===>
Je vais vous montrer comment permettre au joueurs d'éveiller leur objet via une commande . Dans un premier temps. Nous allons modifier la commande puis la rendre utilisable pour tout les joueurs.
Voila comment modifier la commande "/gro" ( objet en première place ).
Dans FuncTextCmd.cpp
Chercher ceci:
Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
Ranplacer par:
Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( pItemElem )
{
int nCost = 150000;
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 )
{
pUser->AddText( "Vous ne pouvez pas éveiller votre familier pour le moment.." );
}
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( "Vous n'avez pas les penyas pour faire cette action.." );
}
}
}
}
else
{
pUser->AddText( "L'objet doit être en première place dans votre inventaire!" );
}
#endif //__WORLDSERVER
return TRUE;
}
Ensuite chercher:
Code:
ON_TEXTCMDFUNC( TextCmd_GenRandomOption,
Ramplacer toute la ligne par ceci:
Code:
ON_TEXTCMDFUNC( TextCmd_GenRandomOption, "GenRandomOption", "gro", "°¢¼ºÃູ", "°¢Ãà", TCM_BOTH, AUTH_GENERAL, "" )
Credit:
- Forum allemand
- Moi même
Enjoy ===>