Jump to content
  • 0
Sign in to follow this  
X Seifador X

[Resolvido] Ajudante de aprendiz

Question

Opa Boa Madrugada rsrs, Eu aqui de novo. Bom estou tendo um erro nesse script na hora dele invoca o mob ele não aparece apenas o announce. alguém poderia me ajuda ?  

grato por qual quer ajuda <3s

Spoiler

//////////////////////////////////////////////////
//Traduzido por:                //
//                        //
//     ////////  ////////  ////////   ///////    //
//    ///       ///       ///  ///   ///  ///    //
//   ///////   ////////  ////////   ///   ///    //
//  ///       ///       /// \\\    ///  ///    //
// ///       ////////  ///   \\\  ///////    //
//                                              //
//////////////////////////////////////////////////

new_1-1.gat,57,108,5    script    Ajudante de aprendiz    702,{

// === Configs ===
set @MonsterID, 1002;
set @MonsterQuant, 5;
// ===============
           
if(JobLevel >= 10) goto L_Noob;
if(Job != Job_Novice) goto L_Noob;
mes "[Summoner]";
mes "Olá "+strcharinfo(O)+"!";
mes "Eu posso invocar alguns Porings para você upar!";
next;
mes "Você Gostaria ?!?";
next;
menu "Sim, Por que não !.",L_Yes,"Não Obrigado.",L_Exit;
           
           
L_Yes:
mes "[Summoner]";
mes "Vamos lá";
next;
atcommand strcharinfo(0)+":@Monster " + @MonsterID +" "+@MonsterQuant;
announce "Ouçam! " + strcharinfo(0) + " Sumonou 3 Porings, só ele está autorizado a Mata-los!!",0;
close;
           
L_Exit:
mes "[Summoner]";
mes "Ok, Volte quando quiser!";
close;

L_Noob:
mes "[Summoner]";
mes "Sinto Muito mas você não pode mais sumonar porings!";
close;
}

 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Algum erro no emulador?

Provavelmente seja o atcomand que você está tentando utilizar, aconselho a usar o comando de script para invocação de monstro:

Spoiler

*monster     "<nome do mapa>",<x>,<y>,"<name to show>",<mob id>,<quantidade>{,"<rótulo de evento>"};
*areamonster "<nome do mapa>",<x1>,<y1>,<x2>,<y2>,"<name to show>",<mob id>,<quantidade>{,"<rótulo de evento>"};

Esse comando vai invocar um monstro especificadom no mapa especificado e nas
coordenadas especificadas, se o script for invocado por um char, um nome especial
"this" será definido como o nome do mapa que esse jogador está. Esse comando
funciona perfeitamente em scripts de items.

Os mesmos argumentos de comandos usados para invocar um monstro permanentemente
no começo do documento são usados aqui. Monstros invocados aqui não serão permanentes.

Não como no monstro invocados permanentes, se o id do mob for -1, um monstro randômico
será escolhido do banco de dado de monstros ('db\mod_db') de acordo com as regras
configuradas no servidor para o galho seco. Isso vai funcionar para todos os tipos
de monstros não invocados permanentemente.

A única coisa especial sobre esse comando é o rótulo de evento, que é dado como
um parâmetro opcional, esse rótulo de evento segue a seguinte regra:

		"<nome_do_npc>::<Onnome_do_rótulo>"

Esse rótulo será executado quando esse monstro invocado morrer, o rótulo
terá anexado o RID do jogador que matou o monstro, ou seja, é como se ele
tivesse clicado no NPC depois de ter matado o monstro, só que ele será
redirecionado para o rótulo especificado.

O Comando 'areamonster' funciona como 'monster' a diferença é que os monstros
serão invocado no quadrado feito por suas coordenadas especificadas por 
<x1/y1-x2/y2>.

Exemplo:

prontera,174,215,6	script	TecnoCronus	718,{

		mes "[Invocador]";
		mes "vou invocar um poring quando você";
		mes "matálo eu falarei com você novamente";
		close2;
		getmapxy(@m$,@x,@y,0);
		monster @m$,@x,@y,"Poring Teste",1002,1,"TecnoCronus::OnQuandoPoringMorrer";
		end;

		OnQuandoPoringMorrer:
		mes "[Invocador]";
		mes "Parabéns você acabou de matar o poring que eu invoquei";
		close;
}

Esse exemplo acima vai invocar um poring, mas com o nome "Poring Teste", nas coordenadas que o jogador está
e quando ele morrer o jogador que o matou será anexado ao script e redirecionado para o rótulo especificado
ele não "irá" para o começo do script.

 

Fiz esse script otimizado, não o testei.

new_1-1,57,108,5    script    Ajudante de aprendiz    702,{

setarray @MonsterID[0],1002,5; //(ID_do_MB,Qtd_do_Mob)
           
	if(JobLevel >= 10 || Job != Job_Novice) {
		mes "[Summoner]";
		mes "Sinto Muito mas você não pode mais sumonar porings!";
		close;
	}
		mes "[Summoner]";
		mes "Olá "+strcharinfo(O)+"!";
		mes "Eu posso invocar alguns Porings para você upar!";
		next;
		mes "[Summoner]";
		mes "Você Gostaria ?!?";
		next;
		if(select("Sim, Por que não?","Não Obrigado.") == 2) {
			mes "[Summoner]";
			mes "Ok, Volte quando quiser!";
			close;
		}       
			mes "[Summoner]";
			mes "Vamos lá!";
			close2;
 			getmapxy @map$,@x,@y,1,strnpcinfo(1);
			for(.@a = 0; .@a < getarraysize(@MonsterID); .@a++){
				monster @map$,@x,@y,getmonsterinfo(@MonsterID[.@a],0),@MonsterID[.@a],@MonsterID[.@a+1];			
				announce "Ouçam! "+strcharinfo(0)+" invocou "+@MonsterID[.@a+1]+" "+getmonsterinfo(@MonsterID[.@a],0)+"s, só ele está autorizado a mata-los!!",0;
			}
}

 

Edited by Evanio
  • Love 1

Share this post


Link to post
Share on other sites
  • 0
5 horas atrás, Evanio disse:

Algum erro no emulador?

Provavelmente seja o atcomand que você está tentando utilizar, aconselho a usar o comando de script para invocação de monstro:

  Ocultar conteúdo


*monster     "<nome do mapa>",<x>,<y>,"<name to show>",<mob id>,<quantidade>{,"<rótulo de evento>"};
*areamonster "<nome do mapa>",<x1>,<y1>,<x2>,<y2>,"<name to show>",<mob id>,<quantidade>{,"<rótulo de evento>"};

Esse comando vai invocar um monstro especificadom no mapa especificado e nas
coordenadas especificadas, se o script for invocado por um char, um nome especial
"this" será definido como o nome do mapa que esse jogador está. Esse comando
funciona perfeitamente em scripts de items.

Os mesmos argumentos de comandos usados para invocar um monstro permanentemente
no começo do documento são usados aqui. Monstros invocados aqui não serão permanentes.

Não como no monstro invocados permanentes, se o id do mob for -1, um monstro randômico
será escolhido do banco de dado de monstros ('db\mod_db') de acordo com as regras
configuradas no servidor para o galho seco. Isso vai funcionar para todos os tipos
de monstros não invocados permanentemente.

A única coisa especial sobre esse comando é o rótulo de evento, que é dado como
um parâmetro opcional, esse rótulo de evento segue a seguinte regra:

		"<nome_do_npc>::<Onnome_do_rótulo>"

Esse rótulo será executado quando esse monstro invocado morrer, o rótulo
terá anexado o RID do jogador que matou o monstro, ou seja, é como se ele
tivesse clicado no NPC depois de ter matado o monstro, só que ele será
redirecionado para o rótulo especificado.

O Comando 'areamonster' funciona como 'monster' a diferença é que os monstros
serão invocado no quadrado feito por suas coordenadas especificadas por 
<x1/y1-x2/y2>.

Exemplo:

prontera,174,215,6	script	TecnoCronus	718,{

		mes "[Invocador]";
		mes "vou invocar um poring quando você";
		mes "matálo eu falarei com você novamente";
		close2;
		getmapxy(@m$,@x,@y,0);
		monster @m$,@x,@y,"Poring Teste",1002,1,"TecnoCronus::OnQuandoPoringMorrer";
		end;

		OnQuandoPoringMorrer:
		mes "[Invocador]";
		mes "Parabéns você acabou de matar o poring que eu invoquei";
		close;
}

Esse exemplo acima vai invocar um poring, mas com o nome "Poring Teste", nas coordenadas que o jogador está
e quando ele morrer o jogador que o matou será anexado ao script e redirecionado para o rótulo especificado
ele não "irá" para o começo do script.

 

Fiz esse script otimizado, não o testei.


new_1-1,57,108,5    script    Ajudante de aprendiz    702,{

setarray @MonsterID[0],1002,5; //(ID_do_MB,Qtd_do_Mob)
           
	if(JobLevel >= 10 || Job != Job_Novice) {
		mes "[Summoner]";
		mes "Sinto Muito mas você não pode mais sumonar porings!";
		close;
	}
		mes "[Summoner]";
		mes "Olá "+strcharinfo(O)+"!";
		mes "Eu posso invocar alguns Porings para você upar!";
		next;
		mes "[Summoner]";
		mes "Você Gostaria ?!?";
		next;
		if(select("Sim, Por que não?","Não Obrigado.") == 2) {
			mes "[Summoner]";
			mes "Ok, Volte quando quiser!";
			close;
		}       
			mes "[Summoner]";
			mes "Vamos lá!";
			close2;
 			getmapxy @map$,@x,@y,1,strnpcinfo(1);
			for(.@a = 0; .@a < getarraysize(@MonsterID); .@a++){
				monster @map$,@x,@y,getmonsterinfo(@MonsterID[.@a],0),@MonsterID[.@a],@MonsterID[.@a+1];			
				announce "Ouçam! "+strcharinfo(0)+" invocou "+@MonsterID[.@a+1]+" "+getmonsterinfo(@MonsterID[.@a],0)+"s, só ele está autorizado a mata-los!!",0;
			}
}

 

vlw manin agora ta dando, mais ainda da um erro mais vou tenta arruma aqui. vlw pela ajuda 

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