[Source TuT] Auto 3rd Jobchange

10/04/2011 14:04 .Monster#1
HeyHo,



Falls einer Interesse daran hat den 3rd Jobchange Automatisch ausführen zu lassen, der ist hier richtig.

Dann fangen wir mal.



Ihr öffnet die MoverParam.cpp...


und sucht nach der Funktion:
PHP Code:
BOOL CMover::AddExperienceEXPINTEGER nExpBOOL bFirstCallBOOL bMultiPlyBOOL bMonster 

In der Funktion sucht ihr nach

PHP Code:
                if( m_nDeathLevel m_nLevel )
                { 

darunter addet ihr folgendes:

PHP Code:
                    if(m_nLevel >= MAX_LEGEND_LEVEL && IsHero())
                    {
                        if( 
AddChangeJob(m_nJob 8) )
                        {
                            ((
CUser*)this)->AddSetChangeJobm_nJob );
                            
g_UserMng.AddNearSetChangeJobthism_nJob, &this->m_aJobSkill[MAX_JOB_SKILL] );
                            
g_dpDBClient.SendLogLevelUp( (CUser*)this);
#if __VER >= 11 // __SYS_PLAYER_DATA
                            
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
#else    // __SYS_PLAYER_DATA
                            
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
                            
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
                            if( 
m_idGuild != )
                                
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
#endif    // __SYS_PLAYER_DATA
                        
}
                    }

//Credits to BloodyFlyff 


Also schaut das ganze nun so aus:



PHP Code:
if( m_nDeathLevel m_nLevel )
                {
                    if(
m_nLevel >= MAX_LEGEND_LEVEL && IsHero())
                    {
                        if( 
AddChangeJob(m_nJob 8) )
                        {
                            ((
CUser*)this)->AddSetChangeJobm_nJob );
                            
g_UserMng.AddNearSetChangeJobthism_nJob, &this->m_aJobSkill[MAX_JOB_SKILL] );
                            
g_dpDBClient.SendLogLevelUp( (CUser*)this);
#if __VER >= 11 // __SYS_PLAYER_DATA
                            
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
#else    // __SYS_PLAYER_DATA
                            
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
                            
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
                            if( 
m_idGuild != )
                                
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
#endif    // __SYS_PLAYER_DATA
                        
}
                    }



//...funktion geht natürlich noch weiter xD 

Compilen, Server neustarten mit neuen Bins & Neue Neuz nehmen ;)


Also sobald ihr das Maximale Hero Level erreicht hab & Hero seit wird euer Job Automatisch zu eurem passenden 3rd Job geändert.



Hefe Fun


.Monster
10/04/2011 14:20 Schokoladenbaer#2
Aus der BloodyFlyff Source genommen ;D

Trotzdem können sicher viele dies gebrauchen.

Und es hat dich sicher etwas aufwand gekostet :P

Hast ein Thanks dafür.
10/04/2011 14:22 .Haro#3
Credits angeben, ftw.
10/04/2011 14:24 .Monster#4
Oh mein Gott ja ist aus der BFlyff Source, kommt aber jeder Depp selbst drauf :D

#Credits added obwohl unnötig
10/04/2011 21:21 Yakuzai.#5
Quote:
Originally Posted by .Monster View Post
#Credits added obwohl unnötig
Credits sind nie unnötig. Die die es gemacht haben (in dem Fall Tom oder Marvin) haben es euch geschenkt, obwohl es eine große Arbeit war (ich rede jetzt nicht nur von der auto 3rd Jobchange) also kannst du es nicht einfach releasen und es so aussehen lassen, als wäre es deins. Außerdem gibts ja schon dashier : [Only registered and activated users can see links. Click Here To Register...], von daher braucht es wahrscheinlich eh keiner mehr.
10/05/2011 15:19 .Monster#6
Hier, um eins klarzustellen ;) nur weil 3rd Job in der BFlyFF Src ist, heisst es noch lange nicht das das Snippet von dort sein muss.

Man möge in der stinknormalen Src nach "AddChangeJob" suchen & mit ein bisschen Brain hat man das Snippet erstellt (ne Arbeit von maximal 10Minuten)... dennoch anstatt es zu suchen hab ichs halt aus der BFlyff Src genommen, deshalb finde ich Credits unnötig in dem Fall, naja ich bin ein ehrlicher Mensch also n danke an Marvin! bzw. den Dev der BFlyff Src ;)


Mfg
10/06/2011 09:30 19Dani92#7
Quote:
Also sobald ihr das Maximale Hero Level erreicht hab & Hero seit wird euer Job Automatisch zu eurem passenden 3rd Job geändert.
um das maximale hero level erreichen zu können muss man sowieso hero sein, warum dann noch ne abfrage ob man hero is?

EDIT: werds mal testen
10/06/2011 13:59 .Monster#8
Sagen wir mal

PHP Code:
#define MAX_LEGEND_LEVEL 129 
und

PHP Code:
#define MAX_MASTER_LEVEL 129 

Merkst du es?