[REQUEST] Raised Pet Scroll to 1/3/5/7/9 or 9/9/9/9/9

05/27/2017 13:24 yazuka21#1
Someone teach me how to make Scroll of Perfect Raised Pet or Donate Pet

This image will explain clearly.
[Only registered and activated users can see links. Click Here To Register...]

Thanks in Advance.


#I_Am_Noob
05/27/2017 21:27 fastdxbuy#2
just add a new item with a GM command.
/plvl what ever
05/27/2017 21:31 Lumi#3
Quote:
Originally Posted by fastdxbuy View Post
just add a new item with a GM command.
/plvl what ever
but you need char and pet name for this command. How will you handle this?
05/27/2017 22:17 fastdxbuy#4
Quote:
Originally Posted by ​Lumi View Post
but you need char and pet name for this command. How will you handle this?
you don't need char name sir just try it urself ;)
05/28/2017 09:34 Xeylou#5
Ingame Command: /Pet UserName 0 100 99999 100
Result: Str Pet (Tiger) lv 9/9/9/9/9 (Str +180 i think)...
You Need to Change something at the code.
05/28/2017 13:41 yazuka21#6
Quote:
Originally Posted by Xeylou View Post
Ingame Command: /Pet UserName 0 100 99999 100
Result: Str Pet (Tiger) lv 9/9/9/9/9 (Str +180 i think)...
You Need to Change something at the code.
I know what are those command, but I just like that only the player could do that... they don't need me to make their D.Pet..
05/28/2017 16:31 banktakung#7
PHP Code:

#ifdef __RAISED_PET
BOOL CDPSrvr::DoUseItemTarget_PerfectPetCUserpUserCItemElempMaterialCItemElempTarget )
{
#ifdef __SYSSECURITY
try{
#endif    
    
BOOL bPet;
    
BYTE nKind;
    
BYTE nExpRate 99//EXP RATE
    
BYTE nLevel 5;// S KLASSE
    
BYTE nLife 25;//Life is 25
    
CPetpPet pUser->GetPet();
    
    if(
pUser->HasPet())
    {
        if( 
pTarget->GetProp()->dwItemKind1 == IK1_GENERAL && pTarget->GetProp()->dwItemKind3 == IK3_EGG )
        {
            if( 
pUser->GetPet()->GetLevel() != PL_EGG )
            {
                
pUser->AddText"Only use with egg." );
                return 
FALSE;
            }

            switch( 
pMaterial->m_dwItemId )
            {
                case 
II_SYS_SYS_SCR_TOPPET_LION:
                
nKind 1;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_RABBIT:
                
nKind 2;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_TIGER:
                
nKind 0;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_UNICORN:
                
nKind 6;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_DRAGON:
                
nKind 4;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_EAGLE:
                
nKind 5;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_NINEFOX:
                
nKind 3;
                
bPet TRUE;
                break;

                default:
                break;
            }
            if( 
bPet == TRUE)
            {
                if( 
nLevel PL_S )
                return 
TRUE;

                
CItemElempItemElem2 pUser->GetPetItem();
                
pPet->SetKindnKind );
                
pPet->SetLevelnLevel );
                
pItemElem2->m_dwItemId pPet->GetItemId();
                
pPet->SetEnergypPet->GetMaxEnergy() );
                
DWORD dwExp pPet->GetMaxExp() * nExpRate 100;
                
pPet->SetExpdwExp );

                
//for( int i = 0; i < 6; i++ )
                
pPet->SetAvailLevel1);
                
pPet->SetAvailLevel2);
                
pPet->SetAvailLevel3);
                
pPet->SetAvailLevel4);
                
pPet->SetAvailLevel5);

                
pPet->SetLifenLife );

                if( 
pUser->HasPet() )
                
pUser->RemovePet();

                
g_dpDBClient.CalluspPetLogpUser->m_idPlayerpItemElem2->GetSerialNumber(), 0PETLOGTYPE_LEVELUPpPet ); //Log the change into database

                
pUser->AddPetpPetPF_PET_GET_AVAIL ); // 
                
g_UserMng.AddPetLeveluppUserMAKELONG( (WORD)pPet->GetIndex(), (WORD)pPet->GetLevel() ) );
                
pUser->UpdateItem( (BYTE)pMaterial->m_dwObjIdUI_NUM);//Remove the scroll
                //return TRUE;

            
}
        }
    }
    else
    {
        
pUser->AddDiagTextprj.GetTextTID_USE_PET_FOR_RISE ) );
        return 
TRUE;
    }
    return 
TRUE;

#ifdef __SYSSECURITY
}
catch(...)
{
    
Error("Error on Line %d in %s",__LINE__,__FILE__);
}
#endif
}
#endif __RAISED_PET 
05/29/2017 09:26 alfredico#8
Quote:
Originally Posted by naruto66620 View Post
add after

Code:
#ifdef __SYSSECURITY
try{
#endif
Code:
if (!pUser || !pMaterial || !pTarget)
return;
That's not necessary as DoUseItemTarget_ functions are handled by CDPSrvr::OnDoUseItemTarget()

[Only registered and activated users can see links. Click Here To Register...]


On function CDPSrvr::OnDoUseItemTarget() you must add this

case II_SYS_SYS_SCR_TOPPET_LION:
case II_SYS_SYS_SCR_TOPPET_RABBIT:
case II_SYS_SYS_SCR_TOPPET_TIGER:
case II_SYS_SYS_SCR_TOPPET_UNICORN:
case II_SYS_SYS_SCR_TOPPET_DRAGON:
case II_SYS_SYS_SCR_TOPPET_EAGLE:
case II_SYS_SYS_SCR_TOPPET_NINEFOX:
b = DoUseItemTarget_PerfectPet( pUser, pMaterial, pTarget );
break;
06/05/2017 02:40 yazuka21#9
Thank you so much guys.

Quote:
Originally Posted by naruto66620 View Post
add after

Code:
#ifdef __SYSSECURITY
try{
#endif
Code:
if (!pUser || !pMaterial || !pTarget)
return;
Where should I put those codes sir ?

I'm really sorry but I don't know where :/

Thanks again.

Quote:
Originally Posted by banktakung View Post
PHP Code:

#ifdef __RAISED_PET
BOOL CDPSrvr::DoUseItemTarget_PerfectPetCUserpUserCItemElempMaterialCItemElempTarget )
{
#ifdef __SYSSECURITY
try{
#endif    
    
BOOL bPet;
    
BYTE nKind;
    
BYTE nExpRate 99//EXP RATE
    
BYTE nLevel 5;// S KLASSE
    
BYTE nLife 25;//Life is 25
    
CPetpPet pUser->GetPet();
    
    if(
pUser->HasPet())
    {
        if( 
pTarget->GetProp()->dwItemKind1 == IK1_GENERAL && pTarget->GetProp()->dwItemKind3 == IK3_EGG )
        {
            if( 
pUser->GetPet()->GetLevel() != PL_EGG )
            {
                
pUser->AddText"Only use with egg." );
                return 
FALSE;
            }

            switch( 
pMaterial->m_dwItemId )
            {
                case 
II_SYS_SYS_SCR_TOPPET_LION:
                
nKind 1;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_RABBIT:
                
nKind 2;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_TIGER:
                
nKind 0;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_UNICORN:
                
nKind 6;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_DRAGON:
                
nKind 4;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_EAGLE:
                
nKind 5;
                
bPet TRUE;
                break;
                case 
II_SYS_SYS_SCR_TOPPET_NINEFOX:
                
nKind 3;
                
bPet TRUE;
                break;

                default:
                break;
            }
            if( 
bPet == TRUE)
            {
                if( 
nLevel PL_S )
                return 
TRUE;

                
CItemElempItemElem2 pUser->GetPetItem();
                
pPet->SetKindnKind );
                
pPet->SetLevelnLevel );
                
pItemElem2->m_dwItemId pPet->GetItemId();
                
pPet->SetEnergypPet->GetMaxEnergy() );
                
DWORD dwExp pPet->GetMaxExp() * nExpRate 100;
                
pPet->SetExpdwExp );

                
//for( int i = 0; i < 6; i++ )
                
pPet->SetAvailLevel1);
                
pPet->SetAvailLevel2);
                
pPet->SetAvailLevel3);
                
pPet->SetAvailLevel4);
                
pPet->SetAvailLevel5);

                
pPet->SetLifenLife );

                if( 
pUser->HasPet() )
                
pUser->RemovePet();

                
g_dpDBClient.CalluspPetLogpUser->m_idPlayerpItemElem2->GetSerialNumber(), 0PETLOGTYPE_LEVELUPpPet ); //Log the change into database

                
pUser->AddPetpPetPF_PET_GET_AVAIL ); // 
                
g_UserMng.AddPetLeveluppUserMAKELONG( (WORD)pPet->GetIndex(), (WORD)pPet->GetLevel() ) );
                
pUser->UpdateItem( (BYTE)pMaterial->m_dwObjIdUI_NUM);//Remove the scroll
                //return TRUE;

            
}
        }
    }
    else
    {
        
pUser->AddDiagTextprj.GetTextTID_USE_PET_FOR_RISE ) );
        return 
TRUE;
    }
    return 
TRUE;

#ifdef __SYSSECURITY
}
catch(...)
{
    
Error("Error on Line %d in %s",__LINE__,__FILE__);
}
#endif
}
#endif __RAISED_PET 
Where should I put those codes sir ?

I'm really sorry but I don't know where :/

Thanks again.
06/05/2017 19:33 xRageee#10
DPSrvr.cpp
06/07/2017 05:05 yazuka21#11
Quote:
Originally Posted by xRageee View Post
DPSrvr.cpp
How about definitiom at DPSrvr.h ?