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

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.