[How To] Non-Master reaktivieren (BFlyff Source)

11/15/2011 19:06 .Insane#16
Bei mir funzt alles ohne Probleme
Danke dir

Wenn .Monster einverstanden ist, lad ich die MoverParam.cpp hoch!
Dann muss man sie nur in die Src klatschen und rebuilden.
11/15/2011 19:18 .Monster#17
Joa vonmiraus
11/15/2011 21:33 Jopsi332#18
bei deinem tut der automaster funktioniert aufjedenfall nicht da du nur den job updates.
daraus musstu das machen

geht in Mover.h und added
PHP Code:
untervoid            InitLevelint nJobLONG nLevelBOOL bGamma TRUE );            // °´Ã¼¸¦ nLevel·Î ¹Ù²ãÁÜ

dasvoid            InitLevelPumbaaaint nJobLONG nLevelBOOL bGamma TRUE ) ; 
dann geht ihr und mover.cpp und added
PHP Code:
void CMover::InitLevelPumbaaaint nJobLONG nLevelBOOL bGamma )
{
#ifdef __WORLDSERVER
    // ¿î¿µÀÚ ¸í·ÉÀ¸·Î ·¹º§¾÷ Çϴ°÷ÀÓ
    
MoverProppProp GetProp();
    if( 
pProp )
    {
        if( 
nJob && nJob MAX_LEGEND_HERO )
        {
            
AddChangeJobnJob );
        }else{
            return;
        }
        
int nPoint 0;
        if( 
m_nJob == JOB_MERCENARY )
            
nPoint += 40;
        else if( 
m_nJob == JOB_ACROBAT )
            
nPoint += 50;
        else if( 
m_nJob == JOB_ASSIST )
            
nPoint += 60;
        else if( 
m_nJob == JOB_MAGICIAN )
            
nPoint += 90;
        else if( 
m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
            
nPoint += 120;
        else if( 
m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
            
nPoint += 150;
        else if( 
m_nJob ==  JOB_RINGMASTER )
            
nPoint += 160;
        else if( 
m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
            
nPoint += 180;
        else if( 
m_nJob ==  JOB_ELEMENTOR )
            
nPoint += 390;
        else if( 
nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
            
nPoint += 120;
        else if( 
nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
            
nPoint += 150;
        else if( 
nJob ==  JOB_FLORIST_HERO )
            
nPoint += 160;
        else if( 
nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
            
nPoint += 180;
        else if( 
nJob ==  JOB_ELEMENTORLORD_HERO )
            
nPoint += 390;

        
AddSkillPointnPoint );
        
m_nLevel nLevel;

        
SetJobLevelnLevelnJob );
        
m_nDeathLevel nLevel;
#if __VER >= 10 // __LEGEND    //    10Â÷ Àü½Â½Ã½ºÅÛ    Neuz, World, Trans
        
if(IsMaster())
        {
            
int dwTmpSkLevel 1;//60, 72, 84, 96, 108
            
if( nLevel 59 && nLevel 72 )
                
dwTmpSkLevel 1;
            else if( 
nLevel 71 && nLevel 84 )
                
dwTmpSkLevel 2;
            else if( 
nLevel 83 && nLevel 96 )
                
dwTmpSkLevel 3;
            else if( 
nLevel 95 && nLevel 108 )
                
dwTmpSkLevel 4;
            else if( 
nLevel 107 && nLevel 120 )
                
dwTmpSkLevel 5;
            for( 
int i 0MAX_SKILL_JOBi++ ) 
            {                
                
LPSKILL lpSkill = &(m_aJobSkill[i]);
                if( 
lpSkill && lpSkill->dwSkill != NULL_ID )
                {
                    
ItemProppSkillProp    prj.GetSkillProplpSkill->dwSkill );            
                    if( 
pSkillProp == NULL )
                        continue;
                    if( 
pSkillProp->dwItemKind1 != JTYPE_MASTER)
                        continue;
                    
lpSkill->dwLevel dwTmpSkLevel;
                }
            }
        }
        else if(
IsHero())
        {
            for( 
int i 0MAX_SKILL_JOBi++ ) 
            {                
                
LPSKILL lpSkill = &(m_aJobSkill[i]);
                if( 
lpSkill && lpSkill->dwSkill != NULL_ID )
                {
                    
ItemProppSkillProp    prj.GetSkillProplpSkill->dwSkill );            
                    if( 
pSkillProp == NULL )
                        continue;
                    if( 
pSkillProp->dwItemKind1 != JTYPE_MASTER)
                        continue;
                    
lpSkill->dwLevel 5;
                }
            }
        }
        else if(
IsLegendHero())
        {
            for( 
int i 0MAX_SKILL_JOBi++ ) 
            {                
                
LPSKILL lpSkill = &(m_aJobSkill[i]);
                if( 
lpSkill && lpSkill->dwSkill != NULL_ID )
                {
                    
ItemProppSkillProp    prj.GetSkillProplpSkill->dwSkill );            
                    if( 
pSkillProp == NULL )
                        continue;
                    if( 
pSkillProp->dwItemKind1 != JTYPE_MASTER)
                        continue;
                    
lpSkill->dwLevel 5;
                }
            }
        }
#endif    //     __LEGEND    //    10Â÷ Àü½Â½Ã½ºÅÛ    Neuz, World, Trans
        
if( bGamma )
        {
            
m_nExp1 0;
        }
        
        ( (
CUser*)this )->AddSetChangeJobnJob );
        
g_UserMng.AddNearSetChangeJobthisnJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
        

#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
        
SetHitPointGetMaxHitPoint() );
        
SetManaPointGetMaxManaPoint() );
        
SetFatiguePointGetMaxFatiguePoint() );
        if( 
nJob >= && nJob <= )
        {
            
m_nStr m_nSta m_nDex m_nInt 15;
            
m_nRemainGP 28;
        }
        if( 
nJob >= MAX_PROFESSIONAL && nJob MAX_MASTER )
        {
            
m_nRemainGP 118;
            
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
            
m_nStr m_nSta m_nDex m_nInt 15;
        }
        if( 
nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
        {
            
CItemElem itemelem;
            
itemelem.m_nItemNum 1;
            
itemelem.m_bCharged TRUE;
            
BYTE nID;

            if( 
nJob == JOB_MENTALIST_HERO )
                
itemelem.m_dwItemId II_WEA_BOOK_BOKROMAIN;
            if( 
nJob == JOB_FORCEMASTER_HERO )
                
itemelem.m_dwItemId II_ARM_ARM_SHI_ZEMBATO;

            ( ( 
CUser*)this)->CreateItem( &itemelem, &nID );
        }
        
g_UserMng.AddSetLevelthis, (WORD)m_nLevel );
        ( (
CUser*)this )->AddSetGrowthLearningPointm_nRemainGP );
        ( (
CUser*)this )->AddSetExperienceGetExp1(), (WORD)m_nLevelm_nSkillPointm_nSkillLevel );
        
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
        ( (CUser*)this )->AddTaskBar();*/
        
( (CUser*)this )->AddSetStatem_nStrm_nStam_nDexm_nIntm_nRemainGP );
#if __VER >= 13 // __HONORABLE_TITLE            // ´ÞÀÎ
        
((CUser*)this)->CheckHonorStat();
        ((
CUser*)this)->AddHonorListAck();
        
g_UserMng.AddHonorTitleChangethism_nHonor);
#endif    // __HONORABLE_TITLE            // ´ÞÀÎ
    
}
#endif // __WORLDSERVER

moverparam.cpp
was voher das war
PHP Code:
if(m_nLevel >= 119 && IsPro())
{
if( 
AddChangeJob(m_nJob 10) )
{
((
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
}

wir das
PHP Code:
if(m_nLevel >= 119 && IsPro())
{
InitLevelPumbaaam_nJob+10,60);

11/16/2011 12:41 .Monster#19
Ich adde es mal Jopsi, da ich keine lust hab jetzt was neues zu coden

Automaster funkt wenn man daraus ne kleinere Zahl macht als die define vom Max Master Level, nur bleibts du dann auf dem Level und wirst nicht auf 60 zurückgesetzt.
11/16/2011 14:08 .::*[D][A][N][I]*::.#20

kommt dann ._.
11/16/2011 14:16 .Monster#21
Quote:
Originally Posted by .::*[D][A][N][I]*::. View Post

kommt dann ._.
Dann haste entweder in der Mover.h oder Moverparam.cpp vergessen zu adden ;)
11/16/2011 14:34 .::*[D][A][N][I]*::.#22
nicht wirklich ._. kannst du bitte per tv einen blick drüber werfen?
11/16/2011 14:45 .Monster#23
nein ich geb keinen Privat Support :<

Ich kenne den error und er hat nur 2 Ursachen:

-Funktion einer Klasse zugeordnet in kompletter Funktion aber nicht in der Klasse selbst eingetragen.
- Funktion in der Klasse eingetragen aber keine Funktion dazu (glaube hier kommt kein error, sollte eig nur am 1. liegen)
11/16/2011 15:01 .Insane#24
Also hier habe ich jetzt mal die Dateien hochgeladen. Der Ordner beinhaltet:
-Non Master reaktivieren (3 Dateien)
-Icons reaktivieren (1 Datei)
-ReadMe

Hier Downoad link: [Only registered and activated users can see links. Click Here To Register...]

Thanks wäre nett :D
Lg
01/10/2012 13:35 Source[GER]#25
Hey bei mir ist das rar Archieve kaputt . kannst dus nochmal uploaden bitte ?

lg
01/10/2012 14:20 ocram1095#26
Also ich weiß ja nicht aber ich adde hier einfach mal einen Ausschnitt aus der WorldDialog.dll, allerdings müsst ihr darauf achten, wenn ich den NPC geändert habt, sprich den name, müsst ihr das dann entsprechend ändern.

NpcScript.dll

1. Teil

2. Teil

3. Teil

Dann sollte man theoretisch gesehen, sobald man 2nd Jobchange macht nicht mehr Master werden.

Ich würde evtl. aus einem anderem TuT, das Automaster bzw Hero in der MoverParam.cpp einfügen.

Also wenn es nicht klappen sollte, bitte per PN oder so melden.

mfg Marco
01/10/2012 21:20 dennis4233#27
Kann mir jemand die fertige Daten hochladen allso die .Exe da bei mir das Compilen irgendwie nicht geht.
01/13/2012 16:19 Source[GER]#28
Ich bekomme nach dem ändern immer diesen Error. Obwohl die zeilen in denen es die Errors anzeigt nicht mal dabei geändert wurden... lg

[Only registered and activated users can see links. Click Here To Register...]
01/13/2012 17:17 ocram1095#29
Ich denke mal du hast evtl. eine geschweifte >>{<< klammer vergessen bzw. eine zuviel, schau mal am ende der Funktionen
01/14/2012 14:33 Source[GER]#30
Okay habs nun so dass es ohne Errors geht. aber ab level 120 (normal) werde ich gleich hero ohne master zu werden...

Lg