Jump to content
  • 0
Sign in to follow this  
Abadd0n

[Resolvido] erro npc mestra das classes

Question

tarde galera, no meu emulador esta acusando esse erro,

[Error]: script error in file 'npc/personalizado/job_changer.txt' line 37 column 49
    script:add_word: invalid word. A word consists of undercores and/or alphanumeric characters, and valid variable prefixes/postfixes.
    34: mes "VocÛ precisa utilizar todos os seus pontos de habilidade antes de mudar de classe.";
    35: close;
    36: }
*   37: if (checkcart() && checkfalcon() && checkriding))
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    38: {
    39: mes "VocÛ nÒo pode mudar de classe enquanto estiver utilizando FalcÒo, Carrinho ou PecoPeco.";
    40: close;

meu npc 

//===== Cronus Script ========================================
//= Mestre das Classes
//===== Por: =================================================
//= Reply.
//===== Versão: ==============================================
//= 1.4
//===== 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]
//= 1.3f - Removido show [Keoy]
//= 1.4 - Refeito NPC. [Mara]
//============================================================
prontera,158,193,4    script    Mestre das Classes        834,{
 
mes "[Mestre das Classes]";
if (Class > 22 && Class < 26 || Class > 4007 && Class < 4023 || Class > 4029 && Class < 4046 || Class > 4046 && Class <= 4049)
{
mes "Que bom te ver de novo "+strcharinfo(0)+"!";
mes "O dia está lindo, não acha?";
close;
}
if (SkillPoint)
{
mes "Você precisa utilizar todos os seus pontos de habilidade antes de mudar de classe.";
close;
}
if (checkcart() && checkfalcon() && checkriding))
{
mes "Você não pode mudar de classe enquanto estiver utilizando Falcão, Carrinho ou PecoPeco.";
close;
}
if (!Class || Class == 4023)
{
callsub F_ReqBaseJobLevel, 10, 0;
mes "Olá "+strcharinfo(0)+", vejo que você é apenas um "+jobname(Class)+"!";
mes "Você está apto a mudar de classe. Qual deseja se tornar?";
next;
if (!Class)
{
select ("Espadachim:Mago:Arqueiro:Noviço:Mercador:Gatuno:Taekwon:Justiceiro:Ninja:Super Aprendiz");
set .@chg, ((@menu == 7) ? 4046 : ((@menu == 8 || @menu == 9) ? (16+@menu) : ((@menu == 10) ? 23 : @menu)));
}
else
{
select ("Mini Espadachim:Mini Mago:Mini Arqueiro:Mini Noviço:Mini Mercador:Mini Gatuno:Mini Super Aprendiz");
set .@chg, ((@menu == 7) ? 4045 : (4023+@menu));
}
callsub F_ChangeJob, set (lastjob1, .@chg);
}
else if (Class > 0 && (Class < 7 || Class == 4046))
{
callsub F_ReqBaseJobLevel, 40, 0;
mes "Vejo que você voltou; e mais forte!";
mes "Pois bem, que classe deseja seguir agora?";
switch (Class)
{
case 1:
setarray .@c[0],7,14;
break;
 
case 2:
setarray .@c[0],9,16;
break;
 
case 3:
if (Sex)
setarray .@c[0],11,19;
else
setarray .@c[0],11,20;
break;
 
case 4:
setarray .@c[0],8,15;
break;
 
case 5:
setarray .@c[0],10,18;
break;
 
case 6:
setarray .@c[0],12,17;
break;
 
case 4046:
setarray .@c[0],4047,4049;
break;
}
next;
select (jobname(.@c[0])+"",""+jobname(.@c[1]));
callsub F_ChangeJob, set(lastjob, .@c[(@menu-1)]);
}
else if (Class > 6 && Class < 22)
{
callsub F_ReqBaseJobLevel, 50, 1;
mes "Vejo que você está bastante forte!";
mes "Gostaria de renascer?";
next;
if (select ("Não:Sim") == 1)
close;
mes "[Mestre das Classes]";
if (Weight > 1500)
{
mes "Você está acima do peso permitido, você precisa ter menos que 1500.";
close;
}
jobchange 4001;
resetlvl(1);
mes "Você ganhará 100 Pontos de Atributo, e algumas habilidades";
mes "para ajudar-lhe em sua jornada.";
close;
}
else if (Class == 4001)
{
callsub F_ReqBaseJobLevel, 10, 0;
mes "Você voltou tão rápido e está evoluindo muito ^^ ...";
next;
callsub F_ChangeJob, (lastjob1+4001);
}
else if (Class > 4001 && Class < 4008)
{
callsub F_ReqBaseJobLevel, 40, 0;
mes "Você está quase chegando ao grau máximo de evolução.";
mes "E então...";
next;
callsub F_ChangeJob, (lastjob+4001);
}
 
if (Class > 4023 && Class < 4030)
{
callsub F_ReqBaseJobLevel, 40, 0;
mes "Vejo que você voltou; e mais forte!";
mes "Pois bem, que classe deseja seguir agora?";
next;
switch (Class)
{
case 4024:
setarray .@c[0], 4030, 4037;
break;
 
case 4025:
setarray .@c[0], 4032, 4039;
break;
 
case 4026:
if (Sex)
setarray .@c[0], 4034, 4042;
else
setarray .@c[0], 4034, 4043;
break;
 
case 4027:
setarray .@c[0], 4031, 4038;
break;
 
case 4028:
setarray .@c[0], 4033, 4041;
break;
 
case 4029:
setarray .@c[0], 4035, 4040;
break;
}
select (jobname(.@c[0])+"",""+jobname(.@c[1]));
callsub F_ChangeJob, .@c[@menu-1];
}
 
F_ChangeJob:
mes "[Mestre das Classes]";
if (BaseLevel < 45 && (getarg(0) == 23 || getarg(0) == 4045))
{
mes "Você precisa ter pelo menos Nível de Base 45 para poder mudar de classe.";
close;
}
mes "Você tem certeza que deseja se tornar "+jobname(getarg(0))+"?";
if (select ("Não:Sim") == 1)
close;
next;
jobchange getarg(0);
mes "[Mestre das Classes]";
mes "Parabéns, agora você é um ^0000cd"+jobname(getarg(0))+"^000000!";
close;
return;
 
F_ReqBaseJobLevel:
if (((getarg(1))?BaseLevel:150) < 150 || JobLevel < getarg(0))
{
mes "Você precisa ter pelo menos "+((getarg(1,0))?"Nível de Base 150 e ":"")+"Nível de Classe "+getarg(0)+" para poder mudar de classe.";
close;
}
return;
}

oque eu faço para corrigir ?

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 1

Abadd0n,

Basta olhar a linha em que consta o erro, sempre verifique se as funções estão sendo chamadas corretamente. No caso estava faltando um parenteses na função do checkriding. Já adianto que o comando checkriding não é compatível com as versões mais novas do emulador, utilize a checkmount no lugar.

Função com checkriding, caso você esteja usando versões desatualizadas ou customizadas.

if(checkcart() && checkfalcon() && checkriding())

Função com checkmount, caso esteja atualizado.

if(checkcart() && checkfalcon() && checkmount())

  • Love 1

Share this post


Link to post
Share on other sites
  • 0

Deu certo parceiro, faz tempo que não mexo to meio desatualizado, muito obrigado !

 

#Pode fechar, resolvido!

Share this post


Link to post
Share on other sites
  • 0
Aviso Automático
Tópico Fechado! Razão: Dúvida e/ou problema resolvido.

Se você não concorda com esta ação, vá até o Tribunal de Pequenas Causas.

Equipe Cronus Emulator.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

Seja bem vindo ao Cronus-Emulator.
É sempre um prazer te-lo conosco.
Você pode visualizar nossas áreas de suporte para encontrar suas soluções sem a necessidade de se registrar!
Registrando em nossa comunidade, você poderá conhecer mais sobre nosso projeto, criar tópicos, responder tópicos existentes, baixar milhares de recursos em nosso sistema de downloads, participar de nossa comunidade, customizar seu perfil e muito mais... Se você já possui uma conta, faça seu login - ou crie uma conta. Também temos integração com Google+ e Facebook.

×
×
  • Create New...