Jump to content
  • 0
Sign in to follow this  
Creek

Bug Complicado

Question

Pessoal estou com um problema , estou usando um refinador com sucesso até o + 6... porem se o cara for refinar +4 fora deste npc e depois usar o npc de refine com sucesso total ele faz +10   :o

 

 

Teria como bloquear um equipamento ja refinado ? só aceitaria refinar um equipamento sem nenhum refinamento?

 

Me ajudem por favor.

 

 

 

////////////////////////////////////////////////////////////////|
// Npc criado por Rafael - www.cronus-emulator.com/forum |
// Refiner +10 a +100 |
// Favor nao retirar os devidos creditos |
////////////////////////////////////////////////////////////////|
prontera,275,218,4 script Refinador + 813,{
 
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Configurações =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
set @npc$,"[ ^008000Refiner^000000 ]"; // Nome do Npc.
set @refinemax,6; // Ate +Quanto pode refinar. (Default: 10)
set @price,5000000; // Preço por cada +1 no item.
set @pode,1; // Pode Refinar qualquer item? (0: Não | 1: Sim)
set @next,1; // Precisa dar next a cada +1 no ekip? (0: Não | 1: Sim)
set @plano,0; // Pode refinar quando quiser, semanal, ou mensal? (0: Quando Quiser | 1: Semanal | 2: Mensal)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
mes @npc$;
mes "Olá ^0000FF"+ strcharinfo(0) +"^000000!";
mes "Eu posso deixar um dos seus itens +"+@refinemax+"!";
mes "Cobro ^FF0000"+@price+"z^000000, por cada +1 em seu equipamento.";
menu "Refinar",refine,"Cancelar",cancelando;
 
cancelando:
next;
mes @npc$;
mes "Ok, volte quando precisar de mim!";
close;
 
refine:
next;
mes @npc$;
mes "Escolha qual equipamento quer que eu refine!";
next;
menu getequipname(1),equip1,getequipname(2),equip2,getequipname(3),equip3,getequipname(4),equip4,getequipname(5),equip5,getequipname(6),equip6,getequipname(7),equip7,
getequipname(8),equip8,getequipname(9),equip9,getequipname(10),equip10;
 
equip1:
set @equip,1;
if(getequipisequiped(1))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip2:
set @equip,2;
if(getequipisequiped(2))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip3:
set @equip,3;
if(getequipisequiped(3))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip4:
set @equip,4;
if(getequipisequiped(4))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip5:
set @equip,5;
if(getequipisequiped(5))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip6:
set @equip,6;
if(getequipisequiped(6))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip7:
set @equip,7;
if(getequipisequiped(7))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip8:
set @equip,8;
if(getequipisequiped(8))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip9:
set @equip,9;
if(getequipisequiped(9))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refine;
 
equip10:
set @equip,10;
if(getequipisequiped(10))goto equipado;
mes @npc$;
mes "Você precisa equipar o Equipamento!";
next;
goto refinar;
 
equipado:
if(@pode >= 1) goto continua1;
if(getequipisenableref(@equip)) goto continua1;
mes @npc;
mes "Eu não posso trabalhar com este item...";
close;
 
continua1:
if(getequiprefinerycnt(@equip) < @refinemax) goto refinar;
mes @npc$;
mes "Desculpe, mas seu item já está "+@refinemax+"!!";
close;
 
refinar:
next;
mes @npc$;
mes "Digite o numero de vezes que você gostaria de refinar este item!";
input @refineitem;
if (@refineitem > (@refinemax - getequiprefinerycnt(@equip))) goto invalido;
if (@refineitem <= 0) goto invalido;
set @pzeny,@refineitem*@price;
mes "Custa "+@pzeny+"zeny!";
next;
menu "Continuar!",-,"Cnacelar!",cancelando;
next;
if(Zeny < @pzeny) goto semzeny;
set Zeny, Zeny - @pzeny;
next;
set @vezes,0;
mes @npc$;
mes "Vou refinar seu equipamento!";
goto refinar2;
 
semzeny:
mes @npc$; mes "Você não tem zeny suficiente!"; close;
 
invalido:
mes @npc; mes "Quantidade inválida, tente novamente."; goto refine;
 
refinar2:
successrefitem @equip;
mes @npc$;
mes "Clang! Clang! Clang!";
if(@next >= 1) next;
set @vezes2,@vezes +1;
set @vezes,@vezes2;
if(@vezes < @refinemax) goto refinar2;
mes @npc$;
mes "Volte quando precisar de mim novamente!!";
close;
}
 
////
 

 

 

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Nem manjo de script, mas pelo o que vi, esse script custom não ta reconhecendo que o item já esta refinado

Share this post


Link to post
Share on other sites
  • 0

meio antigo mais vamo lá:

 

// .----------------------------------------------------------.// .  		    SoulBlaker Scripts Apresenta:             .// .		    ___________________ 		      .// .		   /   _____/______                         .// .		   _____    |    |  _/		      .// .		   /         |    |   		      .// .		  /_______  / |______  /		      .// .			  /         /		              .// .           	[ eAthena Advanced Scripts ]                  .// .							v1.0  .// .----------------------------------------------------------.// ;   http://www.eathena.ws/board/SoulBlaker-m271867.html    ;// .----------------------------------------------------------.// . Script:                                                  .// .  Refiner +10                                             .// .----------------------------------------------------------.// . Por: SoulBlaker   Compátivel: eAthena SVN	 versão: 1.1  .// .----------------------------------------------------------.// . Descrição:                                               .// .  Criado a pedido de um membro do fórum eAthena.          .// . Data:                                                    .// .  11/10/2008                                              .// .----------------------------------------------------------.// . Changelog da Versão:                                     .// .   - 1.0 Iniciado o NPC. [SoulBlaker]                     .// .   - 1.1 Fixado erro da checagem de refine. [SoulBlaker]  .// *----------------------------------------------------------*function	script	FerreiroItem	52,{	set .@headtop, 1;		// Habilitar refinamento do topo da cabeça?	set .@armor, 1;			// Habilitar refinamento de Armaduras?	set .@hand_l, 1;		// Habilitar refinamento da mão esquerda? (arma)	set .@hand_r, 1;		// Habilitar refinamento da mão direita? (arma)	set .@garment, 1;		// Habilitar refinamento de vestimentos?	set .@shoes, 1;			// Habilitar refinamento dos sapatos?	set .@acc_l, 1;			// Habilitar refinamento dos acessórios esquerdo?	set .@acc_r, 1;			// Habilitar refinamento dos acessórios direito?	set .@head_mid, 1;		// Habilitar refinamento da cabeça (meio)?	set .@head_low, 1;		// Habilitar refinamento da cabeça (baixo)?	set .@zeny, 1000;		// Quantidade de Zeny para refinar um item. (Ponha 0 para desabilitar esta opção)	set .@item, 985;		// Item requerido para refinar um item. (Ponha 0 para desabilitar esta opção)	set .@item_amount, 10;		// Quantidade do item requerido para refinar um item.	set .@ref, 1;			// Quantas vezes o npc pode refinar por vez? (Se você por 2 ele irá refinar +2 por exemplo)	cleararray .@MENU$[0],11,"";	if( .@headtop ) {		if( getequipisequiped(1) )			set .@MENU$[0],getequipname(1);		else			set .@MENU$[0],"Head Top Unequiped";	}	if( .@armor ) {		if( getequipisequiped(2) )			set .@MENU$[1],getequipname(2);		else			set .@MENU$[1],"Armor Unequiped";	}	if( .@hand_l ) {		if( getequipisequiped(3) )			set .@MENU$[2],getequipname(3);		else			set .@MENU$[2],"Hand Left Unequiped";	}	if( .@hand_r ) {		if( getequipisequiped(4) )			set .@MENU$[3],getequipname(4);		else			set .@MENU$[3],"Hand Right Unequiped";	}	if( .@garment ) {		if( getequipisequiped(5) )			set .@MENU$[4],getequipname(5);		else			set .@MENU$[4],"Garment Unequiped";	}	if( .@shoes ) {		if( getequipisequiped(6) )			set .@MENU$[5],getequipname(6);		else			set .@MENU$[5],"Shoes Unequiped";	}	if( .@acc_l ) {		if( getequipisequiped(7) )			set .@MENU$[6],getequipname(7);		else			set .@MENU$[6],"Accessorys Left Unequiped";	}	if( .@acc_r ) {		if( getequipisequiped(8) )			set .@MENU$[7],getequipname(8);		else			set .@MENU$[7],"Accessorys Right Unequiped";	}	if( .@head_mid ) {		if( getequipisequiped(9) )			set .@MENU$[8],getequipname(9);		else			set .@MENU$[8],"Middle Headgear Unequiped";	}	if( .@head_low) {		if( getequipisequiped(10) )			set .@MENU$[9],getequipname(10);		else			set .@MEMU$[9],"Lower Headgear Unequiped";	}	mes "[Super Ferreiro]";	mes "Olá ^0000CD" + strcharinfo(0) + "^000000,";	mes "gostária de forjar algum equipamento?";	next;	set .@Choose,Select(.@MENU$[0],.@MENU$[1],.@MENU$[2],.@MENU$[3],.@MENU$[4],.@MENU$[5],.@MENU$[6],.@MENU$[7],.@MENU$[8],.@MENU$[9],"Requerimentos","Cancelar");	if( .@Choose == 11 ) {		mes "[Super Ferreiro]";		mes "Para forjar este equipamento você precisa de:";		mes "10 Elunium";		mes "2.000.000 Zenys.";	}	else if( .@Choose == 12 ) {		mes "[Super Ferreiro]";		mes "Muito bem, volte quando desejar forjar alguma arma...";	}	else {		if( !getequipisequiped(.@Choose) ) {			mes "[Super Ferreiro]";			mes "Você não tem nenhum item equipado neste slot de equipamento...";		}		else if( .@item && countitem(985) < 10 ) {			mes "[Super Ferreiro]";			mes "Você não tem todos Elunium com você, preciso de somente 10.";		}		else if( .@zeny && Zeny < .@zeny ) {			mes "[Super Ferreiro]";			mes "Você não tem Zeny suficiente, me traga 2.000.000 Zenys.";		}		else if( getequiprefinerycnt(.@Choose) >= 10) {			mes "[Super Ferreiro]";			mes "Me desculpe, mais este item já foi refinado +10 vezes.";		}		else {			for( set .@num,0; .@num < 10; set .@num, .@num + 1 ) {				if( getequiprefinerycnt(.@Choose) <= 10 )					successrefitem .@Choose;			}			if( .@item ) delitem .@item,.@item_amount;			if( .@zeny ) set Zeny,Zeny-.@zeny;			mes "[Super Ferreiro]";			mes "Muito obrigado e volte sempre!!";		}	}	close;}

Share this post


Link to post
Share on other sites
  • 0

As vezes o erro não é exatamente na linha mostrada, pode ser na linha antes ou depois da mostrada

Share this post


Link to post
Share on other sites
  • 0

Linha 28 é:

 

function	script	FerreiroItem	52,{

ta com erro porque eu tinha trocado pra um amigo aqui, mais o correto seria:

 

// .----------------------------------------------------------.// .  		    SoulBlaker Scripts Apresenta:             .// .		    ___________________ 		      .// .		   /   _____/______                         .// .		   _____    |    |  _/		      .// .		   /         |    |   		      .// .		  /_______  / |______  /		      .// .			  /         /		              .// .           	[ eAthena Advanced Scripts ]                  .// .							v1.0  .// .----------------------------------------------------------.// ;   http://www.eathena.ws/board/SoulBlaker-m271867.html    ;// .----------------------------------------------------------.// . Script:                                                  .// .  Refiner +10                                             .// .----------------------------------------------------------.// . Por: SoulBlaker   Compátivel: eAthena SVN	 versão: 1.1  .// .----------------------------------------------------------.// . Descrição:                                               .// .  Criado a pedido de um membro do fórum eAthena.          .// . Data:                                                    .// .  11/10/2008                                              .// .----------------------------------------------------------.// . Changelog da Versão:                                     .// .   - 1.0 Iniciado o NPC. [SoulBlaker]                     .// .   - 1.1 Fixado erro da checagem de refine. [SoulBlaker]  .// *----------------------------------------------------------*prontera,150,150,5	script	Mestre Ferreiro#m01	52,{	set .@headtop, 1;		// Habilitar refinamento do topo da cabeça?	set .@armor, 1;			// Habilitar refinamento de Armaduras?	set .@hand_l, 1;		// Habilitar refinamento da mão esquerda? (arma)	set .@hand_r, 1;		// Habilitar refinamento da mão direita? (arma)	set .@garment, 1;		// Habilitar refinamento de vestimentos?	set .@shoes, 1;			// Habilitar refinamento dos sapatos?	set .@acc_l, 1;			// Habilitar refinamento dos acessórios esquerdo?	set .@acc_r, 1;			// Habilitar refinamento dos acessórios direito?	set .@head_mid, 1;		// Habilitar refinamento da cabeça (meio)?	set .@head_low, 1;		// Habilitar refinamento da cabeça (baixo)?	set .@zeny, 1000;		// Quantidade de Zeny para refinar um item. (Ponha 0 para desabilitar esta opção)	set .@item, 985;		// Item requerido para refinar um item. (Ponha 0 para desabilitar esta opção)	set .@item_amount, 10;		// Quantidade do item requerido para refinar um item.	set .@ref, 1;			// Quantas vezes o npc pode refinar por vez? (Se você por 2 ele irá refinar +2 por exemplo)	cleararray .@MENU$[0],11,"";	if( .@headtop ) {		if( getequipisequiped(1) )			set .@MENU$[0],getequipname(1);		else			set .@MENU$[0],"Head Top Unequiped";	}	if( .@armor ) {		if( getequipisequiped(2) )			set .@MENU$[1],getequipname(2);		else			set .@MENU$[1],"Armor Unequiped";	}	if( .@hand_l ) {		if( getequipisequiped(3) )			set .@MENU$[2],getequipname(3);		else			set .@MENU$[2],"Hand Left Unequiped";	}	if( .@hand_r ) {		if( getequipisequiped(4) )			set .@MENU$[3],getequipname(4);		else			set .@MENU$[3],"Hand Right Unequiped";	}	if( .@garment ) {		if( getequipisequiped(5) )			set .@MENU$[4],getequipname(5);		else			set .@MENU$[4],"Garment Unequiped";	}	if( .@shoes ) {		if( getequipisequiped(6) )			set .@MENU$[5],getequipname(6);		else			set .@MENU$[5],"Shoes Unequiped";	}	if( .@acc_l ) {		if( getequipisequiped(7) )			set .@MENU$[6],getequipname(7);		else			set .@MENU$[6],"Accessorys Left Unequiped";	}	if( .@acc_r ) {		if( getequipisequiped(8) )			set .@MENU$[7],getequipname(8);		else			set .@MENU$[7],"Accessorys Right Unequiped";	}	if( .@head_mid ) {		if( getequipisequiped(9) )			set .@MENU$[8],getequipname(9);		else			set .@MENU$[8],"Middle Headgear Unequiped";	}	if( .@head_low) {		if( getequipisequiped(10) )			set .@MENU$[9],getequipname(10);		else			set .@MEMU$[9],"Lower Headgear Unequiped";	}	mes "[Super Ferreiro]";	mes "Olá ^0000CD" + strcharinfo(0) + "^000000,";	mes "gostária de forjar algum equipamento?";	next;	set .@Choose,Select(.@MENU$[0],.@MENU$[1],.@MENU$[2],.@MENU$[3],.@MENU$[4],.@MENU$[5],.@MENU$[6],.@MENU$[7],.@MENU$[8],.@MENU$[9],"Requerimentos","Cancelar");	if( .@Choose == 11 ) {		mes "[Super Ferreiro]";		mes "Para forjar este equipamento você precisa de:";		mes "10 Elunium";		mes "2.000.000 Zenys.";	}	else if( .@Choose == 12 ) {		mes "[Super Ferreiro]";		mes "Muito bem, volte quando desejar forjar alguma arma...";	}	else {		if( !getequipisequiped(.@Choose) ) {			mes "[Super Ferreiro]";			mes "Você não tem nenhum item equipado neste slot de equipamento...";		}		else if( .@item && countitem(985) < 10 ) {			mes "[Super Ferreiro]";			mes "Você não tem todos Elunium com você, preciso de somente 10.";		}		else if( .@zeny && Zeny < .@zeny ) {			mes "[Super Ferreiro]";			mes "Você não tem Zeny suficiente, me traga 2.000.000 Zenys.";		}		else if( getequiprefinerycnt(.@Choose) >= 10) {			mes "[Super Ferreiro]";			mes "Me desculpe, mais este item já foi refinado +10 vezes.";		}		else {			for( set .@num,0; .@num < 10; set .@num, .@num + 1 ) {				if( getequiprefinerycnt(.@Choose) <= 10 )					successrefitem .@Choose;			}			if( .@item ) delitem .@item,.@item_amount;			if( .@zeny ) set Zeny,Zeny-.@zeny;			mes "[Super Ferreiro]";			mes "Muito obrigado e volte sempre!!";		}	}	close;}

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

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