Jump to content
  • 0

star emperor e soul reaper


Geralt

Question


  • Group:  Members
  • Topic Count:  61
  • Topics Per Day:  0.01
  • Content Count:  108
  • Reputation:   0
  • Joined:  12/26/12
  • Last Seen:  

boa noite galera como faço para colocar as duas classes novas nesse script mestra das classes

 

// [Nota 1]: 0 desabilita esta opção.
// [Nota 2]: Tabela de evoluções de classes:
//         0: Habilita as 1ª classes.
//         1: Habilita as 2ª classes.
//         2: Habilita as classes expandidas.
//         3: Habilita as transclasses.
//         4: Habilita as classes expandidas e as transclasses.
//         5: Habilita as evoluções para classes expandidas. (Ninja/Justiceiro/Taekwon)
//         6: Habilita as transclasses e evoluções de classes expandidas.
//         7: Habilita as 3ª classes.
//         8: Habilita as 3ª classes e evoluções de classes expandidas.
//      mini: Classes Babys seguem o grau hierárquico dessas configurações, tenha em mente que pode ser desativado nas configurações.
//
// [Nota 3]: Exigencia de pontos de habilidades:
//         0: Desabilita exigencias em distribuição de pontos ao evoluir.
//         1: Força com que o jogador distribua os pontos para evoluir.
//         2: Remove os pontos restantes do jogador ao evoluir.
//
-    script    JobMasterConfigure    -1,{

OnInit:
    // Configurações Gerais do Script
    //
    // Configurações Gerais
    setarray .MainConfig[0],     8,        // Habilitar hierarquia de evoluções de classes. [Nota 2]
                                  1,        // Exigir que os pontos de habilidades sejam distribuidos para evoluir uma classe. [Nota 3]
                                 0,        // Exigir que o jogador guarde seus itens no iventário ao renascer? [Nota 1]
                                 1,        // Entregar habilidades extras? [Nota 1]
                                 1,        // Habilitar Classes Mini-Classes? [Nota 1]
                                 0,        // Habilitar opção de resetar os atributos. [Nota 1]
                                 5000000,    // Valor de Zeny a ser cobrado para resetar os atributos. [Nota 1]
                                 0,        // Habilitar opção de resetar habilidades. [Nota 1]
                                 5000000,    // Valor de Zeny a ser cobrado para resetar as habilidades. [Nota 1]
                                 1,        // Habilitar montárias. [Nota 1]
                                 0    // Valor de Zeny a ser cobrado de montarias. [Nota 1]
    ;
    
    // Níveis exigidos para evoluções de classes.
    setarray .LevelRequire[0],        10, 10,    // <base_lvl_firstclass>, <job_lvl_firstclass>
                                    10, 40,  // <base_lvl_advclass>, <job_lvl_advclass>
                                    10, 40,  // <base_lvl_expandedclass>, <job_lvl_expandedclass>
                                    99, 50,    // <base_lvl_rebornclass>, <job_lvl_rebornclass>
                                    10, 10,    // <base_lvl_hfirstclass>, <job_lvl_hfirstclass>
                                    40, 40,    // <base_lvl_transclass>, <job_lvl_transclass>
                                    10, 60,    // <base_lvl_3rdclass>, <job_lvl_3rdclass>
                                    10, 10,    // <base_lvl_babyfirstclas>, <job_lvl_babyfirstclass>
                                    10, 30,    // <base_lvl_babyadvclass>, <job_lvl_babyadvclass>
                                    99, 40    // <base_lvl_baby3rdclass>, <job_lvl_baby3rdclass>
    ;
    
    // Comandos.
    bindatcmd "jobmaster", "JobMaster::OnStart";
    end;

}

-    script    #jobmaster::JobMaster    -1,{
OnStart:
    function checkjob;            // Operadores de comparações por grupos de classes.
    function checkjobend;        // Operadores de comparações por grupos de modo.
    function checkmode;            // Checagem de modos.
    function classname;            // Nome das classes.
    function mountname;            // Checagem de Montarias.
    function job_menu;            // Menu das classes.
    function job_optional_menu;    // Funções do menu opcional.
    
    copyarray .@Config[0], getvariableofnpc(.MainConfig, "JobMasterConfigure"), getarraysize(getvariableofnpc(.MainConfig, "JobMasterConfigure"));
    if( checkjobend(.@Config[0],Class) || Class == Job_Ninja || Class == Job_Gunslinger || Class == Job_SuperNovice || Class == Job_Baby_Summoner || (!.@Config[4] && 1==2 && Class == Job_Summoner) ) // Temp Disable Baby Summoner
    {
        mes "^4B0082[Mestra das Classes]^000000";
        mes "Muito bem, você conseguiu chegar ao topo de sua classe hierárquica.";
        mes "Seus transcendentes devem estar muito orgulhoso de você ^0000FF" + strcharinfo(0) + "^000000!";
        if( .@Config[5] || .@Config[7] || .@Config[9] )
            job_optional_menu 0, .@Config[5], .@Config[6], .@Config[7], .@Config[8], .@Config[9], .@Config[10], .@Config[3];
        close;
    }
    
    // Fazendo conversão de valores no script.
    set .@base, (!Class||Class==Job_Summoner?0:(checkjob(10,Class)?14:(checkjob(11,Class)?16:(checkjob(12,Class)?18:(checkjob(0,Class)?2:(checkjob(2,Class)?4:(checkjob(1,Class)?6:(Class==Job_Novice_High?8:(checkjob(3,Class)?10:(checkjob(5,Class)?12:-1))))))))));
    set .@BaseLevel, getvariableofnpc(.LevelRequire[.@base], "JobMasterConfigure");
    set .@JobLevel, getvariableofnpc(.LevelRequire[(.@base+1)], "JobMasterConfigure");
    
    if( BaseLevel < .@BaseLevel )
    {
        mes "^4B0082[Mestra das Classes]^000000";
        mes "Você precisa ter o ^0000FFNível " + .@BaseLevel + " de Base^000000 para poder evoluir sua classe.";
        if( .@Config[5] || .@Config[7] || .@Config[9] )
            job_optional_menu 0, .@Config[5], .@Config[6], .@Config[7], .@Config[8], .@Config[9], .@Config[10], .@Config[3];
        close;
    }
    
    if( JobLevel < .@JobLevel )
    {
        mes "^4B0082[Mestra das Classes]^000000";
        mes "Você precisa ter o ^0000FFNível " + .@JobLevel + " de Classe^000000 para poder evoluir sua classe.";
        if( .@Config[5] || .@Config[7] || .@Config[9] )
            job_optional_menu 0, .@Config[5], .@Config[6], .@Config[7], .@Config[8], .@Config[9], .@Config[10], .@Config[3];
        close;
    }
    
    /*if( .@Config[1] && SkillPoint )
    {
        mes "^4B0082[Mestra das Classes]^000000";
        mes "Você precisa utilizar todos seus ^0000FFPontos de Habilidade^000000 para poder evoluir sua classe.";
        mes "Deseja remover seus ^0000FFPontos de Habilidade^000000?";
        next;
        if( select("^0000FF- Sim, por favor.","^FF0000- Não, obrigado.^000000") == 1 )
            set SkillPoint, 0;
        else {
            mes "^4B0082[Mestra das Classes]^000000";
            mes "Tudo bem, utilize os seus ^0000FFPontos de Habilidade^000000 para poder evoluir sua classe.";
            close;
        }
    }*/
    
    if( SkillPoint )
    {
        mes "^4B0082[Mestra das Classes]^000000";
        mes "Você precisa utilizar todos seus ^0000FFPontos de Habilidade^000000 para poder evoluir sua classe.";
        close;
    }
    
    if( checkriding() || checkdragon() || checkcart() || checkwug() || checkmadogear() )
    {
        mes "^4B0082[Mestra das Classes]^000000";
        mes "Você não pode evoluir sua classe utilizando um ^0000FF" + mountname() + "^000000.";
        close;
    }
    
    if( checkjob(8,Class) || checkjob(0,Class) || (checkmode(0,.@Config[0])&&checkjob(2,Class)) || checkjob(11,Class) )
    {
        set .@loop_1, 1;
        while(.@loop_1)
        {
            mes "^4B0082[Mestra das Classes]^000000";
            mes "Selecione a ^0000FFClasse^000000 que você deseja se tornar.";
            next;
            set .@class, job_menu(Class, Sex);
        
            if( !.@class )
                break;
        
            mes "^4B0082[Mestra das Classes]^000000";
            mes "Tem certeza que deseja se tornar um ^0000FF" + classname(.@class,Sex) + "^000000?";
            next;
            switch( select("^0000FF- Sim, por favor.^000000", "^FFA500- Não, desejo mudar a classe.^000000", "^FF0000- Cancelar.^000000") )
            {
                case 1:
                    setlook 7, 0;
                    set clother_color, 0;
                    jobchange .@class;
                    set job_master_alert, 0;
                    mes "^4B0082[Mestra das Classes]^000000";
                    mes "Muito bem, você se tornou um ^0000FF" + classname(.@class,Sex) + "^000000.";
                    close;
                case 2:
                    break;
                case 3:
                    set .@loop_1, 0;
                    break;
            }
        }
    }
    else if( checkjob(1, Class) || checkjob(12,Class) )
    {
        if( checkjob(12,Class) )
        {
            set .@roclass, roclass(eaclass()|EAJL_THIRD);
            mes "^4B0082[Mestra das Classes]^000000";
            mes "Você deseja se tornar um ^FF0000" + classname(.@roclass,Sex) + "^000000?";
            next;
            set .@choose, select("", "^0000FF- Sim, por favor.^000000", "", "^FF0000- Não, obrigado.^000000");
        }
        else if( checkmode(1,.@Config[0]) )
        {
            set .@roclass, roclass(eaclass()|EAJL_THIRD);
            mes "^4B0082[Mestra das Classes]^000000";
            mes "Você deseja ^0000FFRenascer^000000 ou se tornar um ^FF0000" + classname(.@roclass,Sex) + "^000000?";
            next;
            set .@choose, select("^0000FF- Desejo Renaser.^000000", "- Quero me tornar ^FF0000" + classname(.@roclass,Sex) + "^000000.", "^FF0000- Não, obrigado.^000000"); 
        }
        else {
            mes "^4B0082[Mestra das Classes]^000000";
            mes "Você deseja ^0000FFRenascer^000000?";
            next;
            set .@choose, select("^0000FF- Sim, por favor.^000000", "", "^FF0000- Não, obrigado.^000000");
            
        }
        
        switch( .@choose )
        {
            case 1:
                if( .@Config[2] )
                {
                    getinventorylist;
                    if( getarraysize(@inventorylist_id) )
                    {
                        mes "^4B0082[Mestra das Classes]^000000";
                        mes "Você deve guardar todos os seus itens no Armazém para e tornar um ^0000FF" + classname(4001, Sex) + "^000000.";
                        close;
                    }
                }
                
                set jobmaster_reborn, 4001+Class;
                setlook 7, 0;
                set clother_color, 0;
                jobchange 4001;
                set job_master_alert, 0;
                resetlvl 1;
                mes "^4B0082[Mestra das Classes]^000000";
                mes "Muito bem, você se tornou um ^0000FF" + classname(Class, Sex) + "^000000?";
                close;
            case 2:
                setlook 7, 1;
                set clother_color, 0;
                jobchange .@roclass;
                set job_master_alert, 0;
                mes "^4B0082[Mestra das Classes]^000000";
                mes "Muito bem, você se tornou um ^0000FF" + classname(Class, Sex) + "^000000.";
                close;
            case 3:
                break;
        }
    }
    else if( checkjob(5,Class) )
    {
        set .@class, (roclass(eaclass(jobmaster_reborn)&EAJL_THIRD)?jobmaster_reborn:(!checkjob(3,Class)?(roclass(eaclass(jobmaster_reborn)&EAJ_BASEMASK)+4001):jobmaster_reborn));
        mes "^4B0082[Mestra das Classes]^000000";
        mes "Você deseja se tornar um ^0000FF" + classname(.@class,Sex) + "^000000?";
        next;
        if( select("^0000FF- Sim, por favor.^000000", "^FF0000- Não, obrigado.^000000") == 1 )
        {
            setlook 7, 0;
            set clother_color, 0;
            jobchange .@class;
            set job_master_alert, 0;
            if( .@class == jobmaster_reborn ) set jobmaster_reborn,  roclass(eaclass()|EAJL_THIRD);
            mes "^4B0082[Mestra das Classes]^000000";
            mes "Muito bem, você se tornou um ^0000FF" + classname(Class, Sex) + "^000000.";
            close;
        }
    }
    
    mes "^4B0082[Mestra das Classes]^000000";
    mes "Muito bem, volte quando desejar trocar de classe.";
    close;
    
    // Menu de classes.
    function    job_menu    {
        switch( getarg(0) )
        {
            case 0:
                setarray .@jobmenu[0], 1, 2, 3, 4, 5, 6, 23;
                
                // Habilitar Classes Expandidas.
                set .@Mode, getvariableofnpc(.MainConfig[0], "JobMasterConfigure");
                set .@Baby, getvariableofnpc(.MainConfig[4], "JobMasterConfigure");
                if( checkmode(2,.@Mode) ) setarray .@jobmenu[7], 24, 25, 4046;
                if( .@Baby ) setarray .@jobmenu[getarraysize(.@jobmenu)], 4023;
                break;
            case 1:
                setarray .@jobmenu[0], 7, 14;
                break;
            case 2:
                setarray .@jobmenu[0], 9, 16;
                break;
            case 3:
                setarray .@jobmenu[0], 11, 19;
                break;
            case 4:
                setarray .@jobmenu[0], 8, 15;
                break;
            case 5:
                setarray .@jobmenu[0], 10, 18;
                break;
            case 6:
                setarray .@jobmenu[0], 12, 17;
                break;
            case 24:
                setarray .@jobmenu[0], 4215;
                break;
            case 25:
                setarray .@jobmenu[0], 4211, 4212;
                break;
            case 4023:
                setarray .@jobmenu[0], 4024, 4025, 4026, 4027, 4029, 4045;
                break;
            case 4024:
                setarray .@jobmenu[0], 4030, 4037;
                break;
            case 4025:
                setarray .@jobmenu[0], 4032, 4039;
                break;
            case 4026:
                setarray .@jobmenu[0], 4034, 4042;
                break;
            case 4027:
                setarray .@jobmenu[0], 4031, 4038;
                break;
            case 4028:
                setarray .@jobmenu[0], 4033, 4041;
                break;
            case 4029:
                setarray .@jobmenu[0], 4035, 4040;
                break;
            case 4046:
                setarray .@jobmenu[0], 4047, 4049;
                break;
            case 4218:
                setarray .@jobmenu[0], 4220;
                break;
        }
        
        set .@job_menu$, "";
        for( set .@i, 0; .@i < getarraysize(.@jobmenu); set .@i, .@i + 1 )
            set .@job_menu$, .@job_menu$ + "^0000FF- " + classname(.@jobmenu[.@i],getarg(1)) + ".:";
            
        set .@choose_job, select(.@job_menu$+"^FF0000- Cancelar.^000000")-1;
        return (.@choose_job>=getarraysize(.@jobmenu)?0:.@jobmenu[.@choose_job]);
    }
    
    // Checagem de modos.
    function checkmode    {
        switch(getarg(0))
        {
            case 0:
                return (getarg(1)==5||getarg(1)==6||getarg(1)==8?true:false);
            case 1:
                return (getarg(1)==7||getarg(1)==8?true:false);
            case 2:
                return (getarg(1)==2||getarg(1)==4||getarg(1)==5||getarg(1)==6||getarg(1)==8?true:false);
            default:
                break;
        }
        return false;
    }

    // Checagem de classe.
    function    checkjob    {
        set .@eac, eaclass(getarg(1));
        
        switch( getarg(0) )
        {
            // Checar se pertence a uma classe iniciante.
            case 0:
                return (getarg(1)>=Job_Swordman&&getarg(1)<=Job_Thief?true:false);
            // Checa se pertence a uma classe avançada.
            case 1:
                return (.@eac&EAJL_2&&getarg(1)<Job_Novice_High?true:false);
            // Checa se pertence a uma classe Expandida.
            case 2:
                return (getarg(1)>=Job_Gunslinger&&getarg(1)<=Job_Ninja||getarg(1)>=Job_Taekwon&&getarg(1)<=Job_Soul_Linker?true:false);
            // Checa se pertence a uma transclasse iniciante.
            case 3:
                if( getarg(1) >= Job_Swordman_High && getarg(1) <= Job_Thief_High )
                    return true;
                else
                    return false;
            // Checa se pertence a uma transclasse avançada.
            case 4:
                return (getarg(1)>=Job_Lord_Knight&&getarg(1)<=Job_Paladin2?true:false);
            // Checa se pertence a uma transclasse.
            case 5:
                return (.@eac&EAJL_UPPER?true:false);
            // Checa se pertence a uma terceira classe.
            case 6:
                return (.@eac&EAJL_THIRD?true:false);
            // Checa se é evolução de uma classe expandida
            case 7:
                return (getarg(1)>=Job_Kagerou&&getarg(1)<=Job_Rebellion||getarg(1)>=Job_Star_Gladiator&&getarg(1)<=Job_Soul_Linker?true:false);
            // Checa se é um Aprendiz ou Mini Aprendiz
            case 8:
                return (getarg(1)==Job_Novice||getarg(1)==Job_Baby||getarg(1)==Job_Summoner?true:false);
            // Checa se é um Aprendiz.
            case 9:
                return (!getarg(1)?true:false);
            case 10:
            // Checa se é um Mini Aprendiz.
                return (getarg(1)==Job_Baby?true:false);
            // Checa se é uma primeira classe das Mini.
            case 11:
                return (getarg(1)>=Job_Baby_Swordman&&getarg(1)<=Job_Baby_Thief?true:false);
            // Checa se é uma classe avançada das Mini.
            case 12:
                return (getarg(1)>=Job_Baby_Knight&&getarg(1)<=Job_Super_Baby?true:false);
            // Checa se é uma classe que utiliza  um Carrinho de Mão.
            case 13:
                return (BaseClass==Job_Merchant?true:false);
            // Checa se é uma classe que utiliza um Peco-Peco.
            case 14:
                return (getarg(1)!=Job_Swordman&&BaseClass==Job_Swordman&&!checkjob(6,getarg(1))?true:false);
            case 15:
            // Checa se é uma classe que utiliza um Dragão.
                return (getarg(1)==Job_Rune_Knight||getarg(1)==Job_Rune_Knight_T?true:false);
            case 16:
            // Checa se é uma classe que utiliza um Grifo.
                return (getarg(1)==Job_Royal_Guard||getarg(1)==Job_Royal_Guard_T?true:false);
            // Checa se é uma classe que utiliza um M.E.C.H.A.
            case 17:
                return (getarg(1)==Job_Mechanic||getarg(1)==Job_Mechanic_T?true:false);
            // Checa se é uma classe que utiliza um Falcão.
            case 18:
                return (getarg(1)==Job_Archer||getarg(1)==Job_Archer_T||getarg(1)==Job_Hunter||getarg(1)==Job_Sniper||getarg(1)==Job_Ranger||getarg(1)==Job_Ranger_T);
            default:
                break;
        }
        
        return false;
    }
    
    // Checa se a classe chegou a sua evolução final de acordo com a configuração requisitada.
    function checkjobend {
        // Classes Super (Sem transcendentes)
        if( getarg(1) == Job_SuperNovice || getarg(1) == Job_Super_Baby )
            return true;

        set .@eac, eaclass(getarg(1));
        switch( getarg(0) )
        {
            case 0:
                return (checkjob(0,getarg(1))||checkjob(11,getarg(1))?true:false);
            case 1:
                return (checkjob(1,getarg(1))||checkjob(12,getarg(1))?true:false);
            case 2:
                return (checkjob(1,getarg(1))||checkjob(12,getarg(1))||checkjob(2,getarg(1))?true:false);
            case 3:
                return (checkjob(4,getarg(1))||checkjob(12,getarg(1))?true:false);
            case 4:
                return (checkjob(2,getarg(1))||checkjob(12,getarg(1))||checkjob(4,getarg(1))?true:false);
            case 5:
                return (checkjob(1,getarg(1))||checkjob(12,getarg(1))||checkjob(7,getarg(1))?true:false);
            case 6:
                return (checkjob(4,getarg(1))||checkjob(12,getarg(1))||checkjob(7,getarg(1))?true:false);
            case 7:
                return (checkjob(2,getarg(1))||checkjob(6,getarg(1))?true:false);
            case 8:
                return (checkjob(6,getarg(1))||checkjob(7,getarg(1))?true:false);
            default:
                break;
        } 
        return false;
    }
    
    // Opções dos Menus Opcionais.
    function job_optional_menu    {
        switch(getarg(0))
        {
            case 0:
                mes " ";
                mes "Posso te ajudar em mais alguma coisa?";
                next;
                switch( select((getarg(1)?"^0000FF- Resetar Atributos.":""), (getarg(3)?"^0000FF- Resetar Habilidades.":""), (getarg(5)&&checkjob(13,Class)?"^0000FF- Adquirir um Carrinho de Mão.":""), (getarg(5)&&checkjob(14,Class)?"^0000FF- Adquirir um PecoPeco.":""), (getarg(5)&&checkjob(15,Class)?"^0000FF- Adquirir um Dragão.":""), (getarg(5)&&checkjob(16,Class)?"^0000FF- Adquirir um Grifo.":""), (getarg(5)&&checkjob(17,Class)?"^0000FF- Adquirir um M.E.C.H.A.^000000":""), (getarg(5)&&checkjob(18,Class)?"^0000FF- Adquirir um Falcão.^000000":""), (getarg(7)?"^0000FF- Habilidades Extras.^000000":""), "^FF0000- Não, obrigado.^000000") )
                {
                    case 1:
                        job_optional_menu 1, getarg(2);
                        break;
                    case 2:
                        job_optional_menu 2, getarg(4);
                        break;
                    case 3:
                        job_optional_menu 3, 0, getarg(6);
                        break;
                    case 4:
                        job_optional_menu 3, 1, getarg(6);
                        break;
                    case 5:
                        job_optional_menu 3, 2, getarg(6);
                        break;
                    case 6:
                        job_optional_menu 3, 3, getarg(6);
                        break;
                    case 7:
                        job_optional_menu 3, 4, getarg(6);
                        break;
                    case 8:
                        job_optional_menu 3, 5, getarg(6);
                        break;
                    case 9:
                        job_optional_menu 4;
                        break;
                    case 10:
                        mes "^4B0082[Mestra das Classes]^000000";
                        mes "Tudo bem, se precisar de mim estarei aqui!";
                        return;
                }
                break;
            case 1:
                set .@ZenyCost, getarg(1);
                mes "^4B0082[Mestra das Classes]^000000";
                if( .@ZenyCost )
                {
                    mes "Para resetar seus ^0000FFatributos^000000 é nescessário de ^FF0000" + .@ZenyCost + "^000000 Zenys.";
                    if( Zeny < .@ZenyCost )
                    {
                        mes "Você não tem Zeny suficiente para resetar seus atributos!";
                        return;
                    }
                }
                mes "Deseja resetar seus atributos?";
                next;
                if( select("^0000FF- Sim, por favor.^000000", "^FF0000- Não, obrigado.^000000") == 1 )
                {
                    set StatusPoint, 0;
                    resetstatus;
                    if( .@ZenyCost ) set Zeny, Zeny - .@ZenyCost;
                    
                    mes "^4B0082[Mestra das Classes]^000000";
                    mes "Seus ^0000FFatributos^000000 foram resetados.";
                }
                else {
                    mes "^4B0082[Mestra das Classes]^000000";
                    mes "Tudo bem, volte quando desejar resetar seus ^0000FFatributos^000000.";
                }
                break;
            case 2:
                set .@ZenyCost, getarg(1);
                mes "^4B0082[Mestra das Classes]^000000";
                if( .@ZenyCost )
                {
                    mes "Para resetar suas ^0000FFhabilidades^000000 é nescessário de ^FF0000" + .@ZenyCost + "^000000 Zenys.";
                    if( Zeny < .@ZenyCost )
                    {
                        mes "Você não tem Zeny suficiente para resetar suas habilidades!";
                        return;
                    }
                }
                mes "Deseja resetar suas habilidades?";
                next;
                if( select("^0000FF- Sim, por favor.^000000", "^FF0000- Não, obrigado.^000000") == 1 )
                {
                    set SkillPoint, jobmaster_skpoint;
                    resetskill;
                    set jobmaster_skpoint, SkillPoint;
                    if( .@ZenyCost ) set Zeny, Zeny - .@ZenyCost;
                    
                    mes "^4B0082[Mestra das Classes]^000000";
                    mes "Suas ^0000FFhabilidades^000000 foram resetados.";
                }
                else {
                    mes "^4B0082[Mestra das Classes]^000000";
                    mes "Tudo bem, volte quando desejar resetar suas ^0000FFhabilidades^000000.";
                }
                break;
            case 3:
                set .@ZenyCost, getarg(2);
                set .@mount_name$, (getarg(1)==0?mountname(0):(getarg(1)==4?mountname(3):(getarg(1)==5?mountname(1):(getarg(1)==1?mountname(2):(getarg(1)==2?mountname(4):mountname(5))))));
                mes "^4B0082[Mestra das Classes]^000000";
                if( checkriding() || checkdragon() || checkcart() || checkfalcon() )
                    mes "Você não pode adquirir mais um ^0000FF" + .@mount_name$ + "^000000 possuindo um ^FF0000" + mountname() + "^000000.";
                else if( getarg(1) > 0 &&  getarg(1) <= 3 && !getskilllv("KN_RIDING") )
                    mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Montaria^000000.";
                else if( getarg(1) == 2 && !getskilllv("RK_DRAGONTRAINING") )
                    mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Adestrar Dragão^000000.";
                else if( (getarg(1) == 4 || getarg(0)) && checkcart() )
                    mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto estiver utilizando um ^FF0000Carrinho de Mão^000000.";
                else if( getarg(1) == 4 && !getskilllv("NC_MADOLICENCE") )
                    mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Licença de Pilotagem^000000.";
                else if( getarg(1) == 5 && !getskilllv("HT_FALCON") )
                    mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Adestrar Falcão^000000.";
                else if( !getarg(1) && !getskilllv("MC_PUSHCART") )
                    mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Usar Carrinho^000000.";
                else {
                    if( .@ZenyCost )
                    {
                        mes "Para adquirir um ^0000FF" + .@mount_name$ + "^000000 você precisa de ^FF0000" + .@ZenyCost + "^000000 Zenys.";
                        if( Zeny < .@ZenyCost )
                        {
                            mes "Você não tem Zeny suficiente para adquirir um ^0000FF" + .@mount_name$ + "^000000!";
                            return;
                        }
                    }
                    mes "Deseja adquirir um ^0000FF" + .@mount_name$ + "^000000?";
                    next;
                    if( select("^0000FF- Sim, por favor.^000000", "^FF0000- Não, obrigado.^000000") == 1 )
                    {
                        if( !getarg(1) )
                            setcart;
                        else if( getarg(1) == 5 )
                            setfalcon;
                        else
                            setriding;
                            
                        if( .@ZenyCost ) set Zeny, Zeny - .@ZenyCost;
                        mes "^4B0082[Mestra das Classes]^000000";
                        mes "Agora você possue um ^0000FF" + .@mount_name$ + "^000000.";
                    }
                    else {
                        mes "^4B0082[Mestra das Classes]^000000";
                        mes "Volte quando desejar adquirir um ^0000FF" + .@mount_name$ + "^000000.";
                    }
                    break;
                }
                break;
            case 4:
                skill 142,1,0;
                switch(BaseClass) {
                    case 0: if (Class !=23) skill 143,1,0; break;
                    case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;
                    case 2: skill 157,1,0; break;
                    case 3: skill 147,1,0; skill 148,1,0; break;
                    case 4: skill 156,1,0; break;
                    case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
                    case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
                    default: break;
                }
                switch(BaseJob) {
                    case 7: skill 1001,1,0; break;
                    case 8: skill 1014,1,0; break;
                    case 9: skill 1006,1,0; break;
                    case 10: skill 1012,1,0; skill 1013,1,0; break;
                    case 11: skill 1009,1,0; break;
                    case 12: skill 1003,1,0; skill 1004,1,0; break;
                    case 14: skill 1002,1,0; break;
                    case 15: skill 1015,1,0; skill 1016,1,0; break;
                    case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;
                    case 17: skill 1005,1,0; break;
                    case 18: skill 238,1,0; break;
                    case 19: skill 1010,1,0; break;
                    case 20: skill 1011,1,0; break;
                    default: break;
                }
                mes "^4B0082[Mestra das Classes]^000000";
                mes "Aqui está suas ^0000FFHabilidades Extra^000000.";
                close;
            case 5:
                mes "^4B0082[Mestra das Classes]^000000";
                mes "Tudo bem, estarei aqui se precisar dos meus serviços.";
                close;
            default:
                break;
        }
        return;
    }
    
    // Retorna com o Nome da Classe.
    function    classname    {
        switch( getarg(0) )
        {
            case 0: return "Apendiz";
            case 1: return "Espadachim";
            case 2: return (getarg(1)?"Mago":"Maga");
            case 3: return (getarg(1)?"Arqueiro":"Arqueira");
            case 4: return (getarg(1)?"Noviço":"Noviça");
            case 5: return (getarg(1)?"Mercador":"Mercadora");
            case 6: return (getarg(1)?"Gatuno":"Gatuna");
            case 7: case 13: return (getarg(1)?"Cavaleiro":"Cavaleira");
            case 8: return (getarg(1)?"Sacerdote":"Sacerdotisa");
            case 9: return (getarg(1)?"Bruxo":"Bruxa");
            case 10: return (getarg(1)?"Ferreiro":"Ferreira");
            case 11: return (getarg(1)?"Caçador":"Caçadora");
            case 12: return (getarg(1)?"Mercenário":"Mercenária");
            case 14: case 21: return (getarg(1)?"Templário":"Templária");
            case 15: return (getarg(1)?"Monge":"Monja");
            case 16: return (getarg(1)?"Sábio":"Sábia");
            case 17: return (getarg(1)?"Arruaceiro":"Arruaceirá");
            case 18: return "Alquimista";
            case 19: case 20: return (getarg(1)?"Bardo":"Odalisca");
            case 23: return "Super Aprendiz";
            case 24: return (getarg(1)?"Justiceiro":"Justiceira");
            case 25: return "Ninja";
            case 4001: return "Aprendiz T.";
            case 4002: return "Espadachim T.";
            case 4003: return (getarg(1)?"Mago":"Maga")+" T.";
            case 4004: return (getarg(1)?"Arqueiro":"Arqueira")+" T.";
            case 4005: return (getarg(1)?"Noviço":"Noviça")+" T.";
            case 4006: return (getarg(1)?"Mercador":"Mercadora")+" T.";
            case 4007: return (getarg(1)?"Gatuno":"Gatuna")+" T.";
            case 4008: case 4014: return (getarg(1)?"Lorde":"Lady");
            case 4009: return (getarg(1)?"Sumo-Sacerdote":"Sumo-Sacerdotisa");
            case 4010: return (getarg(1)?"Arquimago":"Arquimaga");
            case 4011: return (getarg(1)?"Mestre-Ferreiro":"Mestra-Ferreira");
            case 4012: return (getarg(1)?"Atirador de Elite":"Atiradora de Elite");
            case 4013: return "Algoz";
            case 4015: case 4022: return (getarg(1)?"Paladino":"Paladina");
            case 4016: return (getarg(1)?"Mestre":"Mestra");
            case 4017: return (getarg(1)?"Professor":"Professora");
            case 4018: return (getarg(1)?"Desordeiro":"Desordeira");
            case 4019: return (getarg(1)?"Criador":"Criadora");
            case 4020: case 4021: return (getarg(1)?"Minestrél":"Cigana");
            case 4023: return "Mini Aprendiz";
            case 4024: return "Mini Espadachim";
            case 4025: return "Mini "+(getarg(1)?"Mago":"Maga");
            case 4026: return "Mini "+(getarg(1)?"Arqueiro":"Arqueira");
            case 4027: return "Mini "+(getarg(1)?"Noviço":"Noviça");
            case 4028: return "Mini "+(getarg(1)?"Mercador":"Mercadora");
            case 4029: return "Mini "+(getarg(1)?"Gatuno":"Gatuna");
            case 4030: case 4036: return "Mini "+(getarg(1)?"Cavaleiro":"Cavaleira");
            case 4031: return "Mini "+(getarg(1)?"Sacerdote":"Sacerdotisa");
            case 4032: return "Mini "+(getarg(1)?"Bruxo":"Bruxa");
            case 4033: return "Mini "+(getarg(1)?"Ferreiro":"Ferreira");
            case 4034: return "Mini "+(getarg(1)?"Caçador":"Caçadora");
            case 4035: return "Mini "+(getarg(1)?"Mercenário":"Mercenária");
            case 4037: case 4044: return "Mini "+(getarg(1)?"Templário":"Templária");
            case 4038: return "Mini "+(getarg(1)?"Monje":"Monja");
            case 4039: return "Mini "+(getarg(1)?"Sábio":"Sábia");
            case 4040: return "Mini "+(getarg(1)?"Arruaceiro":"Arruaceira");
            case 4041: return "Mini Alquimista";
            case 4042: case 4043: return "Mini "+(getarg(1)?"Bardo":"Odalisca");
            case 4045: return "Mini Super Aprendiz";
            case 4046: return "Taekwon";
            case 4047: case 4048: return (getarg(1)?"Mestre":"Mestra")+ " Taekwon";
            case 4049: return "Espiritualista";
            case 4054: case 4080: return (getarg(1)?"Cavaleiro Rúnico":"Cavaleira Rúnica");
            case 4055: return (getarg(1)?"Arcano":"Arcana");
            case 4056: case 4084: return "Sentinela";
            case 4057: return (getarg(1)?"Arceispo":"Arcebispa");
            case 4058: case 4086: return (getarg(1)?"Mecânico":"Mecânica");
            case 4059: return "Sicário";
            case 4060: case 4081: return (getarg(1)?"Cavaleiro Rúnico":"Cavaleira Rúnica")+" .T";
            case 4061: return (getarg(1)?"Arcano":"Arcana")+" .T";
            case 4062: case 4085: return "Sentinela"+" .T";
            case 4063: return (getarg(1)?"Arceispo":"Arcebispa")+" .T";
            case 4064: case 4087: return (getarg(1)?"Mecânico":"Mecânica")+" .T";
            case 4065: return "Sicário"+" .T";
            case 4066: case 4082: return (getarg(1)?"Guardião Runico":"Guardiã Runica");
            case 4067: return (getarg(1)?"Feiticeiro":"Feiticeira");
            case 4068: case 4069: return (getarg(1)?"Travador":"Musa");
            case 4070: return "Shura";
            case 4071: return (getarg(1)?"Bioquímico":"Bioquímica");
            case 4072: return (getarg(1)?"Renegado":"Renegada");
            case 4073: case 4083: return (getarg(1)?"Guardião Runico":"Guardiã Runica")+" .T";
            case 4074: return (getarg(1)?"Feiticeiro":"Feiticeira")+" .T";
            case 4075: case 4076: return (getarg(1)?"Travador":"Musa")+" .T";
            case 4077: return "Shura T.";
            case 4078: return (getarg(1)?"Bioquímico":"Bioquímica")+" .T";
            case 4079: return (getarg(1)?"Renegado":"Renegada")+" .T";
            case 4096: case 4109: return "Mini "+(getarg(1)?"Cavaleiro Rúnico":"Cavaleira Rúnica");
            case 4097: return "Mini "+(getarg(1)?"Arcano":"Arcana");
            case 4098: case 4111: return "Mini Sentinela";
            case 4099: return "Mini "+(getarg(1)?"Arceispo":"Arcebispa");
            case 4100: case 4112: return "Mini "+(getarg(1)?"Mecânico":"Mecânica");
            case 4101: return "Mini Sicário";
            case 4102: case 4110: return "Mini "+(getarg(1)?"Guardião Runico":"Guardiã Runica");
            case 4103: return "Mini "+(getarg(1)?"Feiticeiro":"Feiticeira");
            case 4104: case 4105: return "Mini "+(getarg(1)?"Trovador":"Musa");
            case 4106: return "Mini Shura";
            case 4107: return "Mini "+(getarg(1)?"Bioquímico":"Bioquímica");
            case 4108: return "Mini "+(getarg(1)?"Renegado":"Renegada");
            case 4211: return "Kagerou";
            case 4212: return "Oboro";
            case 4215: return "Rebelde";
            case 4218: return "Summoner";
            case 4220: return "Mini Summoner";
            default: return "Desconhecida";
        }
        
        // Retorna com o nome de uma montaria.
        function mountname    {
            if( !getargcount() )
            {
                if( checkcart() )
                    return "Carrinho de Mão";
                if( checkfalcon() )
                    return "Falcão";
                if( checkriding() )
                    return "Falcão";
                if( checkdragon() )
                    return "Dragão";
                if( checkwug() )
                    return "Wug";
                if( checkmadogear() )
                    return "M.E.C.H.A";
                    
                return "Desconhecido";
            }
            else
                return (getarg(0)==0?"Carrinho de Mão":(getarg(0)==1?"Falcão":(getarg(0)==2?"PecoPeco":(getarg(0)==3?"M.E.C.H.A":(getarg(0)==4?"Dragão":"Grifo")))));
        }
    }
    
OnPCLoginEvent:
OnPCBaseLvUpEvent:
OnPCJobLvUpEvent:
    if( job_master_alert )
        end;
        
    copyarray .@Config[0], getvariableofnpc(.MainConfig, "JobMasterConfigure"), getarraysize(getvariableofnpc(.MainConfig, "JobMasterConfigure"));
    if( checkjobend(.@Config[0],Class) || Class == Job_Ninja || Class == Job_Gunslinger || Class == Job_SuperNovice || Class == Job_Baby_Summoner || (!.@Config[4] && 1==2 && Class == Job_Summoner) ) // Temp Disable Baby Summoner
        end;
        
    sleep2 2000;
    
    if( checkjobend(.@Mode,Class) ) end;
    
    // Fazendo conversão de valores no script.
    set .@base, (!Class?0:(checkjob(10,Class)?14:(checkjob(11,Class)?16:(checkjob(12,Class)?18:(checkjob(0,Class)?2:(checkjob(2,Class)?4:(checkjob(1,Class)?6:(Class==Job_Novice_High?8:(checkjob(3,Class)?10:(checkjob(5,Class)?12:-1))))))))));

    set .@BaseLevel, getvariableofnpc(.LevelRequire[.@base], "JobMasterConfigure");
    set .@JobLevel, getvariableofnpc(.LevelRequire[(.@base+1)], "JobMasterConfigure");
    
    if( BaseLevel >= .@BaseLevel && JobLevel >= .@JobLevel )
    {
        message strcharinfo(0), "Você já tem nível suficiente para trocar de classe.";
        dispbottom "Utilize o comando @jobmaster para acionar a Mestra das Classes.";
        set job_master_alert, 1;
    }
    end;
}

prontera,150,186,5    duplicate(JobMaster)    Mestra das Classes#job1    2_F_MAGICMASTER

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...