//===== Cronus Script ======================================== //= Mestra das Classes //===== Por: ================================================= //= Kamper //= Mehah(Atualizações) //===== Versão Atual: ======================================== //= 1.7.1 //===== Descrição: =========================================== //= Muda a classe do personagem //===== Changelog: =========================================== //= 1.0 Iniciado o Npc [Kamper] //= 1.1 Corrigido o erro de Dup Label //= 1.2 Corrigido o mes //= 1.3 Corrigido o label L_mer [Kamper] //= 1.3.1 Adaptado para o novo sistema de classes [Mehah] //= 1.4 Adaptado as transclasses [Kamper] //= 1.5 Adicionado o a função mc_job [Kamper] //= 1.5.1 Otimizado Script [Mehah] //= 1.6b Corrigido Todos os Bugs Visto [Mehah] //= - Novo Sistema de checagem de Renters e Classe //= - Novo Sistema de Leitura das variaveis e Label //= 1.7 Script Revisado, corrigido erros de label e level [Pudim] //= 1.7.1 Corrigido bugs [Mehah] //= - Ao sair da escolha de job //= - Ao Escolher a Odalisca //= - Checagem de lvl e joblvl //============================================================ function script mc_job { show "[Mestra das Classes]"; show "Você tem certeza?"; if(getarg(1) > 0) show "Custa "+ getarg(1) +" Zeny!"; if(Zeny < getarg(1)) goto ZenyErro; menu "Não",L_sair,"Sim",-; setjob getarg(0); set zeny, Zeny - getarg(1); L_sair: close; } prontera.gat,153,186,5 script Mestra das Classes 101,{ // ======================================== Configuração ============================================= set @SupAprLvl, 45; // Nível de Base necessário para se transformar em Super aprendiz (Default : 45) set @ZenyReq1, 0; // Dinheiro necessário para pagar a transformação de classes 1-1 (Default : 0) set @ZenyReq2, 0; // Dinheiro necessário para pagar a transformação de classes 2-1 e 2-2 (Default : 0) set @ZenyReqS, 0; // Dinheiro necessário para pagar a transformação de Super Aprendiz (Default : 0) set @ZenyReqR, 0; // Dinheiro necessário para pagar a transformação de Aprendiz T (Default: 0) // =================================================================================================== if(Sex == 0) set @mc_sex$, "F"; if(Sex == 1) set @mc_sex$, "M"; if(BaseJob != Job_Novice){set @njob,40;}else{set @njob,10;}; if(Class == 0) goto L_Aprendiz; if(Class > 4007 && Class < 4023){ show "[Mestra das Classes]"; show "Você já chegou ao final das classes, me desculpa mas não posso fazer nada por você."; close; } if(Class > 0 && Class < 7) goto L_Prim; if(Class > 6 && Class <= 20) goto L_Prim2; if(Class == 4001) goto L_AprendizT; if(Class > 4001 && Class < 4008) goto L_PrimT; show "[Mestra das Classes]"; show "Desculpe, mas não há nada que eu possa fazer por você."; close; L_Aprendiz: if(JobLevel < @njob) goto JobError; if(SkillPoint != 0) goto SkillError; show "Qual classe deseja se transformar?"; next; menu ""+callfunc("classname",3,"S",@mc_sex$)+"",L_arq,""+callfunc("classname",6,"S",@mc_sex$)+"",L_gat,""+callfunc("classname",1,"S",@mc_sex$)+"",L_esp,""+callfunc("classname",5,"S",@mc_sex$)+"",L_mer,""+callfunc("classname",4,"S",@mc_sex$)+"",L_Nov,""+callfunc("classname",2,"S",@mc_sex$)+"",L_mag,""+callfunc("classname",23,"S",@mc_sex$)+"",L_sup; L_Prim: if(JobLevel < @njob) goto JobError; if(SkillPoint != 0) goto SkillError; show "Qual classe deseja se transformar?"; next; if(BaseJob == Job_Archer){ menu ""+callfunc("classname",11,"S",@mc_sex$)+"",L_cac,""+callfunc("classname",19,"S",@mc_sex$)+"",L_bar; }else{ if(BaseJob == Job_Thief){ menu ""+callfunc("classname",12,"S",@mc_sex$)+"",L_mer2,""+callfunc("classname",17,"S",@mc_sex$)+"",L_arr; }else{ if(BaseJob == Job_Swordman){ menu ""+callfunc("classname",7,"S",@mc_sex$)+"",L_cav,""+callfunc("classname",14,"S",@mc_sex$)+"",L_tem; }else{ if(BaseJob == Job_Merchant){ menu ""+callfunc("classname",10,"S",@mc_sex$)+"",L_fer,""+callfunc("classname",18,"S",@mc_sex$)+"",L_alq; }else{ if(BaseJob == Job_Acolyte){ menu ""+callfunc("classname",8,"S",@mc_sex$)+"",L_sac,""+callfunc("classname",15,"S",@mc_sex$)+"",L_mon; }else{ if(BaseJob == Job_Mage){ menu ""+callfunc("classname",9,"S",@mc_sex$)+"",L_bru,""+callfunc("classname",16,"S",@mc_sex$)+"",L_sab; } }}}}} L_Prim2: callsub GravSkill; show "[Mestra das Classes]"; show "Você tem certeza que deseja se transforma em Aprendiz T.?"; if(@ZenyReqR > 0) show "Custa "+ @ZenyReqR +" Zeny!"; if(Zeny < @ZenyReqR) goto ZenyErro; next; menu "Não",L_Sair,"Sim",-; set zeny, Zeny - @ZenyReqR; if(BaseLevel < 99 || JobLevel < 50) goto LevelError; if(Zeny || Weight) goto ZenyItensError; if(checkcart() || checkfalcon() || checkmount() ) goto CheckRenter; if(SkillPoint != 0) goto SkillError; set MC_ULTJOB, Class; setjob 4001; resetlvl(1); if(@QSK144 != 0) skill 144,1,0; if(@QSK156 != 0) skill 156,1,0; if(@QSK157 != 0) skill 157,1,0; if(@QSK153 != 0) skill 153,1,0; if(@QSK147 != 0) skill 147,1,0; if(@QSK149 != 0) skill 149,1,0; if(@QSK145 != 0) skill 145,1,0; if(@QSK154 != 0) skill 154,1,0; if(@QSK148 != 0) skill 148,1,0; if(@QSK150 != 0) skill 150,1,0; if(@QSK146 != 0) skill 146,1,0; if(@QSK155 != 0) skill 155,1,0; if(@QSK151 != 0) skill 151,1,0; if(@QSK152 != 0) skill 152,1,0; close; L_AprendizT: if(JobLevel < @njob) goto JobError; if(SkillPoint != 0) goto SkillError; if(MC_ULTJOB == 7 || MC_ULTJOB == 14) set @mc_class, 4002; if(MC_ULTJOB == 8 || MC_ULTJOB == 15) set @mc_class, 4005; if(MC_ULTJOB == 9 || MC_ULTJOB == 16) set @mc_class, 4003; if(MC_ULTJOB == 10 || MC_ULTJOB == 18)set @mc_class, 4006; if(MC_ULTJOB == 11 || MC_ULTJOB == 19 || MC_ULTJOB == 20) set @mc_class, 4004; if(MC_ULTJOB == 12 || MC_ULTJOB == 17) set @mc_class, 4007; show "[Mestra das Classes]"; show "Deseja se transformar em "+callfunc("classname",@mc_class,"S",@mc_sex$)+"?"; if(@ZenyReq1 > 0) show "Custa "+ @ZenyReq1 +" Zeny!"; if(Zeny < @ZenyReq1) goto ZenyErro; next; menu "Não",L_Sair,"Sim",-; if(MC_ULTJOB == 7 || MC_ULTJOB == 14) setjob 4002; if(MC_ULTJOB == 8 || MC_ULTJOB == 15) setjob 4005; if(MC_ULTJOB == 9 || MC_ULTJOB == 16) setjob 4003; if(MC_ULTJOB == 10 || MC_ULTJOB == 18) setjob 4006; if(MC_ULTJOB == 11 || MC_ULTJOB == 19 || MC_ULTJOB == 20) setjob 4004; if(MC_ULTJOB == 12 || MC_ULTJOB == 17) setjob 4007; set zeny, Zeny - @ZenyReq1; close; L_PrimT: if(JobLevel < @njob) goto JobError; if(SkillPoint != 0) goto SkillError; if(MC_ULTJOB != 20){set @mc_class, MC_ULTJOB + 4001;}else{set @mc_class, MC_ULTJOB + 4000;} show "[Mestra das Classes]"; show "Deseja se transformar em "+callfunc("classname",@mc_class,"S",@mc_sex$)+"?"; if(@ZenyReq2 > 0) show "Custa "+ @ZenyReq2 +" Zeny!"; if(Zeny < @ZenyReq2) goto ZenyErro; menu "Não",L_Sair,"Sim",-; if(MC_ULTJOB == 7) setjob 4008; if(MC_ULTJOB == 8) setjob 4009; if(MC_ULTJOB == 9) setjob 4010; if(MC_ULTJOB == 10) setjob 4011; if(MC_ULTJOB == 11) setjob 4012; if(MC_ULTJOB == 12) setjob 4013; if(MC_ULTJOB == 14) setjob 4015; if(MC_ULTJOB == 15) setjob 4016; if(MC_ULTJOB == 16) setjob 4017; if(MC_ULTJOB == 17) setjob 4018; if(MC_ULTJOB == 18) setjob 4019; if(MC_ULTJOB == 19) setjob 4020; if(MC_ULTJOB == 20) setjob 4021; set zeny, Zeny - @ZenyReq2; set MC_ULTJOB, 0; close; // Classes 1-1 L_esp: callfunc "mc_job",1,@ZenyReq1; L_mag: callfunc "mc_job",2,@ZenyReq1; L_arq: callfunc "mc_job",3,@ZenyReq1; L_Nov: callfunc "mc_job",4,@ZenyReq1; L_mer: callfunc "mc_job",5,@ZenyReq1; L_gat: callfunc "mc_job",6,@ZenyReq1; // Classe Super Aprendiz L_sup: if(BaseLevel < @SupAprLvl) goto LevelError; callfunc "mc_job",23,@ZenyReqS; // Classes 2-1 L_cav: callfunc "mc_job",7,@ZenyReq2; L_sac: callfunc "mc_job",8,@ZenyReq2; L_bru: callfunc "mc_job",9,@ZenyReq2; L_fer: callfunc "mc_job",10,@ZenyReq2; L_cac: callfunc "mc_job",11,@ZenyReq2; L_mer2: callfunc "mc_job",12,@ZenyReq2; // Classes 2-2 L_tem: callfunc "mc_job",14,@ZenyReq2; L_mon: callfunc "mc_job",15,@ZenyReq2; L_sab: callfunc "mc_job",16,@ZenyReq2; L_arr: callfunc "mc_job",17,@ZenyReq2; L_alq: callfunc "mc_job",18,@ZenyReq2; L_bar: if(sex == 1){callfunc "mc_job",19,@ZenyReq2;}else{callfunc "mc_job",20,@ZenyReq2;} GravSkill: if(getskilllv(144)) set @QSK144,1; if(getskilllv(156)) set @QSK156,1; if(getskilllv(157)) set @QSK157,1; if(getskilllv(153)) set @QSK153,1; if(getskilllv(147)) set @QSK147,1; if(getskilllv(149)) set @QSK149,1; if(getskilllv(145)) set @QSK145,1; if(getskilllv(154)) set @QSK154,1; if(getskilllv(148)) set @QSK148,1; if(getskilllv(150)) set @QSK150,1; if(getskilllv(146)) set @QSK146,1; if(getskilllv(155)) set @QSK155,1; if(getskilllv(151)) set @QSK151,1; if(getskilllv(152)) set @QSK152,1; return; LevelError: show "[Mestra das Classes]"; if(BaseJob == Job_SuperNovice){show "Desculpe, mas você precisa de Nível Base "+ @SupAprLvl +"!";}else{ show "Desculpe, mas você precisa de Nível Base 99 e Nível de Classe 50!"; } close; ZenyItensError: show "[Mestra das Classes]"; show "Seu dinheiro e seus itens te ligam ao mundo material."; show "Se livre deles para que eu possa lhe transformar em Aprendiz T."; close; CheckRenter: show "[Mestra das Classes]"; if(checkcart()){show "Por favor, se livre de seu carrinho apra continuarmos.";}else{ if(checkfalcon()){set @ChRent$,"falcão";}else{ if(checkmount()) set @ChRent$,"PecoPeco";} show "Desculpe, mas você deve retirar seu "+@ChRent$+"."; close; } JobError: show "[Mestra das Classes]"; show "Desculpe, mas você precisa chegar ao nível de classe "+@njob+"!"; close; SkillError: show "[Mestra das Classes]"; show "Desculpe, mas você precisa gastar todos os seus pontos de habilidades..."; close; ZenyErro: show "[Mestra das Classes]"; show "Desculpe, mas você não tem o dinheiro necessário!"; close; L_Sair: close; }