/Awa ???

05/17/2012 15:51 **._NeuBie_.**#1
Huhu Leute,
Will nur kurz fragen ob wer nen TuT kennt wie man dieses
/awa oder /awake oder /awakening
hinbekommt ... habe schon die SuFu benutzt aber immer aufs falsche Thema gekommen >:<
wäre nett wenn mir wer den Link oder so geben könnte:handsdown:
05/17/2012 16:34 Ryunat#2
Du gehst im Source in die Datei: FuncTextCmd.cpp
und suchst hier nach:

BOOL TextCmd_GenRandomOption( CScanner & s )

Dann ersetzt du die Funktion hierdurch:

Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER 
    CUser* pUser = (CUser*)s.dwValue;
    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 ) 
            {
                char chMessage[100];
                sprintf( chMessage, "Hol dein Pet oder CS Pet rein! Sonst kannst du es nicht erwecken!" );
                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    // __WORLDSERVER
    return TRUE;
}

Dan suchst du hier nach:
Code:
ON_TEXTCMDFUNC( TextCmd_whisper,               "whisper",           "w",              "±Ó¼Ó¸»",         "±Ó",      TCM_SERVER, AUTH_GENERAL      , "±Ó¼Ó¸» [/¸í·É ¾ÆÀ̵𠳻¿ë]" )
und fügst darüber das hier ein:
Code:
ON_TEXTCMDFUNC( TextCmd_GenRandomOption,		"Awakening",	"awa",	"°¢¼ºÃູ", "°¢Ãà",	TCM_BOTH,	AUTH_GENERAL, "" )
Jetzt einfach Compilen und fertig ;)


#Edit:
Wenn du das ganze mit Penya abzug haben willst ersetzt du die oben genannte Funktion durch das hier:

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, "Hol dein Pet oder CS Pet rein! Sonst kannst du es nicht erwecken!" );
					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( "Du hast nicht genug Geld." );
                }
			}
        }
    }
    else
    {
		pUser->AddText( "Das zu erweckende Item muss im ersten Slot deines Inventars liegen!" );
    }
#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, "Hol dein Pet oder CS Pet rein! Sonst kannst du es nicht erwecken!" );
                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;
}
Dann nur noch __AWA_WITH_PENYACOST in der VersionCommon.h von Neuz und WorldServer definieren und fertig =)
05/17/2012 16:35 Kagawa16#3
Andre haste vllt die Chaos Fly exen ?
05/17/2012 16:36 Ryunat#4
Quote:
Originally Posted by Kagawa16 View Post
Andre haste vllt die Chaos Fly exen ?
xD Nein ich habe nur meinen eigenen Source ;)
05/17/2012 16:41 Kagawa16#5
kannst du sie mir vllt erstellen von der Chaos Fly Source bitööö ?
05/17/2012 19:25 **._NeuBie_.**#6
Ok danke :D
Ich teste es sofort ma ^^

Also errors werden net angezeigt also müsste Funzen aber das compilen meines Servers wird angezeigt aber es geschieht nix.
Das ist genauso wie bei meinen Rates und Max lvl (300)
Ich werde zurückgestuft und Rates leben wie normal ... :(
kann mir wer nen kurzen How-to schreiben wie man richtig compilt ???
das verste ich auch in nem anderen TuT net xD ich weiß das das arm ist :D
05/18/2012 15:27 KingKillah#7
Leute ich hab da ein kleines prob bei compilieren :/ Könntet ihr mir helfen?





Ich hoffe ihr könnt mir helfen :) alles hilfreiche bekommt ein thx :)
05/18/2012 15:43 Ryunat#8
Quote:
Originally Posted by KingKillah View Post
Leute ich hab da ein kleines prob bei compilieren :/ Könntet ihr mir helfen?





Ich hoffe ihr könnt mir helfen :) alles hilfreiche bekommt ein thx :)
Also ich würde sagen du hast die Funktion nicht ersetzt sondern i. was anderes damit gemacht^^
05/18/2012 15:47 KingKillah#9
Doch ich hab sie ersetzt, aber ich machs nochma nochmal :D kann ich dich in skype adden?
05/18/2012 15:53 Ryunat#10
Quote:
Originally Posted by KingKillah View Post
Doch ich hab sie ersetzt, aber ich machs nochma nochmal :D kann ich dich in skype adden?
Sicher ;)
Skype Daten stehen ja im Profil^^
Zur not bau ich es dir kurz ein :*
05/18/2012 15:59 KingKillah#11
so hab dich geäddet ^^ kriegst n thx für die source :)

Edit1: So nochma neu eingebaut ^^ thx haste bekommen ^^ aso ja, klappt alles ^^
05/20/2012 10:34 **._NeuBie_.**#12
Andre kannst du mir bitte auch beim compilen helfen ?
Ich versteh das noch net ganz wie ich das machen muss^^
alles andere ist in bester Ordnung :D