How i can put /awak comand for normal players?

09/05/2017 15:04 igorgv#1
Good Morning !

how i can put /awak comand for normal players?
09/06/2017 02:07 Grening#2
FuncTextCmd.cpp

replace the function
PHP Code:
BOOL TextCmd_GenRandomOption( CScanner & s ) 
with
PHP Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER 
    
CUser* pUser = (CUser*)s.dwValue;
    
CItemElem* pItemElem    = pUser->m_Inventory.GetAt( 0 );

#ifdef __AWA_WITH_PENYACOST
    
if( pItemElem )
    {
        
int nCost = 500000;  
        
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, "Unsummon your pet/cs pet or you wont be able to awake it !" );
                        
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( "You dont have enough money!" );
                }
            }
        }
    }
    else
    {
        
pUser->AddText( " To awake an item it has to be in the first slot of your inventory !" );
    }
#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, "Unsummon your pet/cs pet or you wont be able to awake it !" );
                
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

#endif    // __WORLDSERVER
    
return TRUE;
} 
under
PHP Code:
ON_TEXTCMDFUNC( TextCmd_gml,            "gmlist",        "gm",            "",            "",        TCM_SERVER, AUTH_GENERAL  , "" ) 
this
PHP Code:
ON_TEXTCMDFUNC( TextCmd_GenRandomOption,        "Awakening",    "awa",    "각성축복", "각축",    TCM_BOTH,    AUTH_GENERAL, "" ) 
Versioncommon.h from Neuz an Worldserver
PHP Code:
#define    __AWA_WITH_PENYACOST 
10/19/2017 13:27 igorgv#3
thx sir
10/09/2020 00:21 McSpeed#4
Quote:
Originally Posted by Grening View Post
FuncTextCmd.cpp

replace the function
PHP Code:
BOOL TextCmd_GenRandomOption( CScanner & s ) 
with
PHP Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER 
    
CUser* pUser = (CUser*)s.dwValue;
    
CItemElem* pItemElem    = pUser->m_Inventory.GetAt( 0 );

#ifdef __AWA_WITH_PENYACOST
    
if( pItemElem )
    {
        
int nCost = 500000;  
        
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, "Unsummon your pet/cs pet or you wont be able to awake it !" );
                        
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( "You dont have enough money!" );
                }
            }
        }
    }
    else
    {
        
pUser->AddText( " To awake an item it has to be in the first slot of your inventory !" );
    }
#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, "Unsummon your pet/cs pet or you wont be able to awake it !" );
                
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

#endif    // __WORLDSERVER
    
return TRUE;
} 
under
PHP Code:
ON_TEXTCMDFUNC( TextCmd_gml,            "gmlist",        "gm",            "",            "",        TCM_SERVER, AUTH_GENERAL  , "" ) 
this
PHP Code:
ON_TEXTCMDFUNC( TextCmd_GenRandomOption,        "Awakening",    "awa",    "각성축복", "각축",    TCM_BOTH,    AUTH_GENERAL, "" ) 
Versioncommon.h from Neuz an Worldserver
PHP Code:
#define    __AWA_WITH_PENYACOST 
How to /Awakenig use scrolls?