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

Like it~*

New member
Messages
175
Points
0
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


 
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
default_biggrin.png


 
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
default_biggrin.png
Olá, eu já havia conseguido resolver. Mas sua resposta foi de grande importância. muito obrigado! Abraços!

 
Back
Top