[Src Release] Awake User Befehl Stackfixxed

01/06/2013 10:12 Blader1974#31
wo kommt das obere hin

CItemElem* pItem = pUser->m_Inventory.GetAtId( nItem );
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItem );

if( nRandomOptionKind != CRandomOptionProperty::eAwakening )
//item ist nicht awakable
else
//item isit awakable

das hier
01/06/2013 16:29 yannick2008#32
Nimm einfach das hier >.<

Code:
BOOL TextCmd_AwakeItem( 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 );

[B][COLOR="Red"]    if( nRandomOptionKind != CRandomOptionProperty::eAwakening )
    {
	pUser->AddText( "Dieses Item kannst du nicht erwecken!" );
	return FALSE;
    }[/COLOR][/B]
    if( 0 < nCost )    
    {
         if( pItemElem->GetProp()->dwItemKind1 == IK1_WEAPON ||                    
             pItemElem->GetProp()->dwItemKind1 == IK1_ARMOR ||
             pItemElem->GetProp()->dwItemKind3 == IK3_PET ||
             pItemElem->GetProp()->dwItemKind3 == IK3_EGG )
            {
                if( !pItemElem->IsEgg( ) )        
                {
                if( !pItemElem->GetProp()->IsBaruna() )        //Baruna
                {                                            //Baruna
                if( pUser->GetGold() >= nCost )
                    {    
                    if ( !pUser->HasActivatedEatPet() && !pUser->HasPet() )
                        {    
                        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 musst dein Pet zum erwecken einpacken." );
                        }
                    }
                else    
                    {
                    pUser->AddText( "Du hast nicht genug Geld um ein Item zu erwecken." );
                    }
                }
                else                                                                                        //Baruna
                    {                                                                                        //Baruna
                    pUser->AddText( "Sorry aber Baruna Waffen kann man zurzeit nicht erwecken." );            //Baruna
                    }                                                                                        //Baruna
                }                                                                                            //Baruna
            else
                {
                pUser->AddText( "Du kannst das Pet erst erwecken wenn es geschlüpft ist." );
                }
            }
        else
            {
            pUser->AddText( "Du kannst dieses Item nicht erwecken." );
            pUser->AddText( "Lege ein Erweckbares Item in den ersten Slot deines Inventars um es zu erwecken!" );
            }
        }
    }
    else
        {
        pUser->AddText( "Das zu erweckende Item muss im ersten Slot deines Inventars liegen!" );
        }
#endif //__WORLDSERVER
    return TRUE;
}
01/29/2013 18:40 - DK#33
Quote:
Originally Posted by yannick2008 View Post
Nimm einfach das hier >.<

Code:
BOOL TextCmd_AwakeItem( 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 );

[B][COLOR="Red"]    if( nRandomOptionKind != CRandomOptionProperty::eAwakening )
    {
	pUser->AddText( "Dieses Item kannst du nicht erwecken!" );
	return FALSE;
    }[/COLOR][/B]
    if( 0 < nCost )    
    {
         if( pItemElem->GetProp()->dwItemKind1 == IK1_WEAPON ||                    
             pItemElem->GetProp()->dwItemKind1 == IK1_ARMOR ||
             pItemElem->GetProp()->dwItemKind3 == IK3_PET ||
             pItemElem->GetProp()->dwItemKind3 == IK3_EGG )
            {
                if( !pItemElem->IsEgg( ) )        
                {
                if( !pItemElem->GetProp()->IsBaruna() )        //Baruna
                {                                            //Baruna
                if( pUser->GetGold() >= nCost )
                    {    
                    if ( !pUser->HasActivatedEatPet() && !pUser->HasPet() )
                        {    
                        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 musst dein Pet zum erwecken einpacken." );
                        }
                    }
                else    
                    {
                    pUser->AddText( "Du hast nicht genug Geld um ein Item zu erwecken." );
                    }
                }
                else                                                                                        //Baruna
                    {                                                                                        //Baruna
                    pUser->AddText( "Sorry aber Baruna Waffen kann man zurzeit nicht erwecken." );            //Baruna
                    }                                                                                        //Baruna
                }                                                                                            //Baruna
            else
                {
                pUser->AddText( "Du kannst das Pet erst erwecken wenn es geschlüpft ist." );
                }
            }
        else
            {
            pUser->AddText( "Du kannst dieses Item nicht erwecken." );
            pUser->AddText( "Lege ein Erweckbares Item in den ersten Slot deines Inventars um es zu erwecken!" );
            }
        }
    }
    else
        {
        pUser->AddText( "Das zu erweckende Item muss im ersten Slot deines Inventars liegen!" );
        }
#endif //__WORLDSERVER
    return TRUE;
}
Damit wird ,aber das Pet Awaking auch nicht funktionieren ^^
Weil damit werden auch Pets Awaking geblockt .. Nicht erwecktbar :P

Hat jemand dazu eine Lösung ?
01/29/2013 21:06 Sedrika#34
Wieso ? Du musst nur dein Pet einziehen, dann geht es damit.
01/29/2013 23:56 - DK#35
Quote:
Originally Posted by Sedrika View Post
Wieso ? Du musst nur dein Pet einziehen, dann geht es damit.
Es geht bei mir nicht .. Gehe Ingame ,will mein S Löwen (eigezogen) erwecken und es ist nicht möglich ...
01/30/2013 00:23 Мentus#36
Schau dir den enum mal richtig an, dann solltest du merken das Yannick shit geposted hat.
[Only registered and activated users can see links. Click Here To Register...]

eAwakening steht nur für normale Awakenings d.h keine Pets, kein CS und und..
01/30/2013 01:14 - DK#37
Quote:
Originally Posted by Мentus View Post
Schau dir den enum mal richtig an, dann solltest du merken das Yannick shit geposted hat.
[Only registered and activated users can see links. Click Here To Register...]

eAwakening steht nur für normale Awakenings d.h keine Pets, kein CS und und..
Danke habe jetzt wenigstens schonmal gepillt ,why das mit den Pets dann nicht funktioniert ;o Mentus hast vieleicht dazu noch den Mit den Fix mit den Brillen dabei ,weil dann muss ich jetzt net extra schreiben .. Habe noch bissel zu tun und sow ,deswegen wäre das einfach Hilfreich ^^

Habe es jetzt Danke Tobi.Lap richtig drine :D