Jump to content
  • 0
Sign in to follow this  
Like it~*

Npcs simples não funcionam e não apresentam erros no mapserver

Question

Olá.

 

Estou tentando utilizar os seguintes NPCS, e cansei de quebrar a cabeça tentando fazê-los funcionar, mas não consegui. Nenhum apresenta erro no map-server, mas não funciona

 

 

Esse é pra criar um túmulo quando um mvp morrer.

OBS: sistema de túmulos está ligado em conf/battle/monster

// Utilizar ou não sistema de túmulos de MvP
// Veja http://irowiki.org/wiki/MVP#Gravestone
mvp_tomb_enabled: on-    script    Tumulo::TOMBSTONE    565,{
mes "[ ^FF0000" + getmonsterinfo(atoi(strnpcinfo(2)),0) + "^000000 ]";
mes "Sua curta vida acabou.";
mes "Horário da Derrota : ^FF0000"+getd(".h"+strnpcinfo(3)+"")+":"+getd(".m"+strnpcinfo(3)+"")+"^000000";
mes "Herói que derrotou o MVP";
set .@b, (atoi(strnpcinfo(3))/ pow(10,(getstrlen(strnpcinfo(3)) - 6)));
query_sql "SELECT `name` FROM `char` WHERE `char_id` = "+ .@b +"",.@charname$;
mes "[^FF0000" + .@charname$ + "^000000]";
close;
OnTombstone:
setd ".h"+strnpcinfo(3)+"",gettime(3);
setd ".m"+strnpcinfo(3)+"",gettime(2);
sleep2 10000;
setnpcdisplay(strnpcinfo(3),565);
end;
} 

Essse para teleportar o jogador ao ponto de retorno automaticamente qdo morrer.

-    script    noress    -1,{

setarray .mapas$,"bossnia_01"; // Adicione os mapas. ,"",""
set .mapa_r$,"SavePoint"; // Mapa de retorno.
OnPCDieEvent:
for (set @i,0; @i < getarraysize(.mapas$); set @i,@i+1) {
if (strcharinfo(3) == .mapas$) {
sleep 1;
warp .mapa_r$,0,0;
}
}
end ();
} 

E esse para kickar automaticamente, quanto o comando agitstart e agitstart2 forem ligados.

-    script    autokick    -1,{
if (agitcheck() == 1 | agitcheck2() == 1 ) {
dispbottom "Desabilitada em WOE!";
mapwarp "bossnia_01","SavePoint",0,0;
end;
}
} 
  • 0

 

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Primeiro NPC

 

O Hercules já possui um sistema de Túmulos, não entendo o que quer fazer com isso.

 

Caso queira usar seu próprio sistema tudo bem...
 

O evento OnTombstone está sendo chamado onde?

Você que fez?

 

Segundo NPC

 

O setarray e o set antes do evento OnPCDieEvent, não irão funcionar até que o script seja executado do início (click no npc).

O que você deve fazer é adicionar um evento para que ele configure essas variáveis, se não elas estarão vazias e o npc não fará nada.

 

antes do setarray, coloque um OnInit:

 

Assim elas serão definidas assim que o npc for carregado.

 

Terceiro NPC

 

O mesmo que o segundo npc, não há nenhum evento à ser disparado, quando os comandos agitstart() ou agitstart2() são utilizados, eles disparam eventos OnAgitInit e OnAgitInit2, antes das condições coloque as labels de evento, OnAgitInit e OnAgitInit2, desse modo:

OnAgitInit:
OnAgitInit2:
 if(agitcheck() == 1 || agitcheck2() == 1){
  // code...
 }
 end();

 

Outra observação, sua comparação está incorreta, você está usando | ao invés de ||.

 

 

Espero ter ajudado :D

Share this post


Link to post
Share on other sites
  • 0

Primeiro NPC

 

O Hercules já possui um sistema de Túmulos, não entendo o que quer fazer com isso.

 

Caso queira usar seu próprio sistema tudo bem...

 

O evento OnTombstone está sendo chamado onde?

Você que fez?

 

Segundo NPC

 

O setarray e o set antes do evento OnPCDieEvent, não irão funcionar até que o script seja executado do início (click no npc).

O que você deve fazer é adicionar um evento para que ele configure essas variáveis, se não elas estarão vazias e o npc não fará nada.

 

antes do setarray, coloque um OnInit:

 

Assim elas serão definidas assim que o npc for carregado.

 

Terceiro NPC

 

O mesmo que o segundo npc, não há nenhum evento à ser disparado, quando os comandos agitstart() ou agitstart2() são utilizados, eles disparam eventos OnAgitInit e OnAgitInit2, antes das condições coloque as labels de evento, OnAgitInit e OnAgitInit2, desse modo:

OnAgitInit:
OnAgitInit2:
 if(agitcheck() == 1 || agitcheck2() == 1){
  // code...
 }
 end();

 

Outra observação, sua comparação está incorreta, você está usando | ao invés de ||.

 

 

Espero ter ajudado :D

 

Olá, eu já havia conseguido resolver. Mas sua resposta foi de grande importância. muito obrigado! Abraços!

Share this post


Link to post
Share on other sites

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.   Restore formatting

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.