//===== Cronus Script ======================================== //= Mestra das Classes //===== Por: ================================================= //= Reply. //===== Versão: ============================================== //= 1.3e //===== Descrição: =========================================== //= Muda a classe do personagem. //===== Changelog: =========================================== //= 1.0 - NPC Criado. [Reply.] //= 1.1 - Corrigido alguns erros. [Reply.] //= 1.2 - Corrigido a checagem de job para Baby Aprendiz. [RoM] //= - Corrigido onde mostra o nome na função. //= 1.3 - Adicionada uma verificação de peso ao rebornar para não perder itens. [RoM] //= 1.3a - Algumas correções de gramática. [Puncker] //= 1.3b - Uma pequena correção. [RoM] //= 1.3c - Corrigido erro de "Frase desnecessária" [Heaven] //= 1.3d - Não há necessidade de usar uma variável no nome do npc, retirado. [Mooka] //= 1.3e - Corrição no if() da função checkconditions(), problema com classes baby. [Mooka] //============================================================ prontera,153,193,6 script Mestra das Classes::mcl 123,{ mes "[Mestra das Classes]"; callfunc "checkconditions"; if(!Class) { mes "Olá "+strcharinfo(0)+"."; mes "Por favor, escolha qual profissão deseja seguir."; switch(select("Espadachim","Mago","Arqueiro","Noviço","Mercador","Gatuno","Super Aprendiz","Taekwon","Justiceiro","Ninja")) { default: callfunc "nextmesname"; callfunc "changejob",@menu; break; case 7: if(BaseLevel < 45) { next; mes "[Mestra das Classes]"; mes "Você não tem nível suficiente para mudar para Super Aprendiz."; close; } callfunc "nextmesname"; callfunc "changejob",@menu + 16; break; case 8: callfunc "nextmesname"; callfunc "changejob",4046; break; case 9: case 10: callfunc "nextmesname"; callfunc "changejob",@menu + 15; break; } } else if((Class > 0) && (Class < 7) || (Class == 4046)) { mes "Olá "+strcharinfo(0)+"."; mes "Vejo que você voltou!"; mes "E então, qual classe deseja seguir agora?"; switch(Class) { case 1: if(select("Cavaleiro:Templário") == 1){ callfunc "nextmesname"; callfunc "changejob",7; }else{ callfunc "nextmesname"; callfunc "changejob",14; } break; case 2: if(select("Bruxo:Sábio") == 1){ callfunc "nextmesname"; callfunc "changejob",9; }else{ callfunc "nextmesname"; callfunc "changejob",16; } break; case 3: if(Sex){ if(select("Caçador:Bardo") == 1){ callfunc "nextmesname"; callfunc "changejob",11; }else{ callfunc "nextmesname"; callfunc "changejob",19; } }else{ if(select("Caçadora:Odalisca") == 1){ callfunc "nextmesname"; callfunc "changejob",11; }else{ callfunc "nextmesname"; callfunc "changejob",20; } break; } case 4: if(select("Sacerdote:Monge") == 1){ callfunc "nextmesname"; callfunc "changejob",8; }else{ callfunc "nextmesname"; callfunc "changejob",15; } break; case 5: if(select("Ferreiro:Alquimista") == 1){ callfunc "nextmesname"; callfunc "changejob",10; }else{ callfunc "nextmesname"; callfunc "changejob",18; } break; case 6: if(select("Mercenário:Arruaceiro") == 1){ callfunc "nextmesname"; callfunc "changejob",12; }else{ callfunc "nextmesname"; callfunc "changejob",17; } break; case 4046: if(select("Mestre Taekwon:Espiritualista") == 1){ callfunc "nextmesname"; callfunc "changejob",4047; }else{ callfunc "nextmesname"; callfunc "changejob",4049; } break; } } else if((Class > Job_Thief) && (Class < 22)) { mes "Olá "+strcharinfo(0)+"."; mes "Vejo que já está bem forte."; mes "Gostaria de renascer agora?"; if(select("Sim:Não") == 2) close; next; mes "[Mestra das Classes]"; if(Weight >= 1935){ mes "Você está acima do peso permitido, guarde alguns itens e volte mais tarde."; close; } set lastjob, Class; jobchange Job_Novice_High; resetlvl(1); mes "Certo, vai ganhar 100 pontos de atributos"; mes "para lhe ajudar nessa nova jornada"; mes "e mais algumas habilidades."; close; } else if(Class == Job_Novice_High) { switch(lastjob) { case 7: case 14: set @job, 4002; break; case 9: case 16: set @job, 4003; break; case 11: case 19: case 20: set @job, 4004; break; case 8: case 15: set @job, 4005; break; case 10: case 18: set @job, 4006; break; case 12: case 17: set @job, 4007; break; } mes "Olá "+strcharinfo(0)+"."; mes "Que bom que já retornou."; mes "Deseja se tornar um "+jobname(@job)+"?"; if(select("- Sim, claro:- Não, obrigado") == 2) close; next; jobchange @job; mes "[Mestra das Classes]"; mes "Parabéns "+strcharinfo(0)+"."; close; } else if(Class > 4001 && Class < 4008) { mes "Olá "+strcharinfo(0)+"."; mes "Que bom que já retornou."; set @job, lastjob + 4001; callfunc "nextmesname"; callfunc "changejob", @job; } else if(Class == 4023) { mes "Olá "+strcharinfo(0)+"."; mes "Por favor, escolha qual profissão deseja seguir."; switch(select("Bebê Espadachim","Bebê Mago","Bebê Arqueiro","Bebê Noviço","Bebê Mercador","Bebê Gatuno","Super Bebê")) { default: callfunc "nextmesname"; callfunc "changejob",@menu + 4023; break; case 7: callfunc "nextmesname"; callfunc "changejob", 4045; break; } } else if(Class > 4023 && Class < 4030) { mes "Olá "+strcharinfo(0)+"."; mes "Vejo que você voltou!"; mes "E então, qual classe deseja seguir agora?"; switch(Class) { case 4024: if(select("Bebê Cavaleiro:Bebê Templário") == 1){ callfunc "nextmesname"; callfunc "changejob", 4030; }else{ callfunc "nextmesname"; callfunc "changejob", 4037; } break; case 4025: if(select("Bebê Bruxo:Bêbe Sábio") == 1){ callfunc "nextmesname"; callfunc "changejob", 4032; }else{ callfunc "nextmesname"; callfunc "changejob", 4039; } break; case 4026: if(Sex){ if(select("Bebê Caçador:Bebê Bardo") == 1){ callfunc "nextmesname"; callfunc "changejob", 4034; }else{ callfunc "nextmesname"; callfunc "changejob", 4042; } }else{ if(select("Bebê Caçador:Bebê Odalisca") == 1){ callfunc "nextmesname"; callfunc "changejob", 4034; }else{ callfunc "nextmesname"; callfunc "changejob", 4043; } break; } case 4027: if(select("Bebê Sacerdote:Bebê Monge") == 1){ callfunc "nextmesname"; callfunc "changejob", 4031; }else{ callfunc "nextmesname"; callfunc "changejob", 4038; } break; case 4028: if(select("Bebê Ferreiro:Bebê Alquimista") == 1){ callfunc "nextmesname"; callfunc "changejob", 4033; }else{ callfunc "nextmesname"; callfunc "changejob", 4041; } break; case 4029: if(select("Bebê Mercenário:Bebê Arruaceiro") == 1){ callfunc "nextmesname"; callfunc "changejob", 4035; }else{ callfunc "nextmesname"; callfunc "changejob", 4040; } break; } } } function script checkconditions { if(Class > 22 && Class < 26 || Class > 4007 && Class < 4023 || Class > 4029 && Class < 4046 || Class > 4046 && Class <= 4049) { mes "Você já chegou ao limite de mudança de classe."; mes "Sinto muito, mas não posso mais lhe ajudar."; close; } if(Class == 0 && JobLevel < 10 || Class == 4001 && JobLevel < 10 || Class == 4023 && JobLevel < 10 || Class > 4023 && Class <= 4043 && JobLevel < 40 || Class > 0 && Class < 7 && JobLevel < 40 || Class > 4001 && Class < 4008 && JobLevel < 40 || Class == 4046 && JobLevel < 40) { mes "Você não está apto a mudar de classe ainda."; mes "Volte quando estiver mais forte."; close; } if(checkcart() || checkfalcon() || checkriding()) { mes "Sinto muito mas você não pode mudar de classe se estiver com falcão, carrinho ou peco-peco."; close; } if(Class > 6 && Class < 22 && BaseLevel < 99) { mes "Sinto muito, mas você não está apto a mudar de classe ainda."; mes "Volte quando estiver mais forte."; close; } if(SkillPoint) { mes "Por favor utilize todos seus pontos de habilidade antes de mudar de classe."; close; } return; } function script changejob { set @jobc, getarg(0); mes "Você tem certeza que quer se tornar um ^FF0000"+jobname(@jobc)+"^000000?"; if(select("Sim:Não") == 2) close; next; mes "[Mestra das Classes]"; jobchange @jobc; mes "Muito bem "+strcharinfo(0); mes "Você agora é um ^FF0000"+jobname(@jobc)+"^000000"; close; } function script nextmesname { next; mes "[Mestra das Classes]"; return; }