Jump to content
  • 0
Sign in to follow this  
gabrielkss

Encantamento

Question

prontera,194,188,4	script	Enchant Expert	712,{
	mes .npc$;
	mes "Hello there!";
	mes "I can enchant your items,";
	mes "for a small fee of "+.pric+"z.";
	emotion e_no1,0; next;
	if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
	if(Zeny<.pric) { mes .npc$; mes "I'm sorry you don't have enough Zeny, please come back later."; close; }
	
	mes .npc$;
	mes "Which item would you like to enchant?"; next;
	while(set(.@a,.@a+1)<=.e_len) {
		if(getequipid(.@a)>-1)
			set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.@a))+"^000000]:";
		else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:";
	}
		
	select(.@menu$);
	set .@eq_loc, @menu;
	set .@eq_itm, getequipid(.@eq_loc);
	if(.@eq_itm<0) {
		mes .npc$;
		mes "Hmm, I don't think you have anything equipped there.";
		close;
	}
	
	set .@menu$, "";
	set .@a, .en_orb[0];
	while((set(.@a,.@a+1)-1)<=.en_orb[1])
		if(getiteminfo(.@a-1,2)>-1)
			if(set(.@c,countitem(.@a-1))) {
				set .@menu$, .@menu$+getitemname(.@a-1)+" x"+.@c+":";
				set .@b,.@b+1; set .@item[.@b], .@a-1;
			}
			
	if(.@menu$=="") {
		mes .npc$;
		mes "Hmm, you don't seem to have any enchantment orbs.";
		close;
	}

	mes .npc$;
	mes "Please, select an enchantment from the menu."; next;
	select(.@menu$);
	set .@itm, .@item[@menu];

	set .@menu$, ""; set .@a, 0;
	while((set(.@a,.@a+1))<4) {
		if(getequipcardid(.@eq_loc,.@a))
			set .@menu$, .@menu$+(.@a+1)+.crd_c$[.@a]+" Slot- [^a92435"+getitemname(getequipcardid(.@eq_loc,.@a))+"^000000]:";
		else set .@menu$, .@menu$+(.@a+1)+.crd_c$[.@a]+" Slot- [^30ad25Empty^000000]:";
	}
	
	setarray .@card, getequipcardid(.@eq_loc,0), getequipcardid(.@eq_loc,1), getequipcardid(.@eq_loc,2), getequipcardid(.@eq_loc,3);
	
	mes .npc$;
	mes "Select a slot."; next;
	set .@men, select(.@menu$);
	set .@eqrf,	getequiprefinerycnt(.@eq_loc);
	if(getequipcardid(.@eq_loc,@menu)) {
		mes .npc$;
		mes "Would you like me to remove this card?"; next;
		if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
		getitem getequipcardid(.@eq_loc,.@men),1;
		unequip(.@eq_loc);
		delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@card[0], .@card[1], .@card[2], .@card[3];
		set .@card[.@men], 0;
		getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@card[0], .@card[1], .@card[2], .@card[3];
	}

	if(rand(100)>.perc) {
		mes .npc$;
		mes "I'm sorry but I've failed you!";
		misceffect 155; emotion e_sob,0;
		set Zeny,Zeny-.pric;
		close;
	}
	
	set Zeny,Zeny-.pric;
	delitem .@itm,1;
	delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@card[0], .@card[1], .@card[2], .@card[3];
	set .@card[.@men], .@itm;
	getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@card[0], .@card[1], .@card[2], .@card[3];
	misceffect .efet;
	emotion e_no1,0;
	mes .npc$;
	mes "All done!";
	equip .@eq_itm;
	close;

//NPC Constants
	OnInit:
		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
		set      .npc$  ,	"[^0000FFEnchant Expert^000000]"; // NPC Name
		set      .pric  ,	1000000;                          // Price
		set      .efet  ,	154;                              // Effect Number
		set      .perc  ,	rand(50,80);                      // Percent
		setarray .crd_c$,	"st", "nd", "rd", "th";           // Count
		setarray .en_orb,	4700, 4862;                       // Range of IDs selected for enchanting.
		setarray .eqp$  ,	"Upper Headgear", "Armor", "Left Hand", "Right Hand", "Garment",
		                	"Shoes", "Accessory1", "Accessory2", "Mid Headgear", "Low Headgear";
		set      .e_len ,	getarraysize(.eqp$);
		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
}

Gostaria de alguém que conseguisse mudar esse script. eu gostaria apenas que o npc reconhecesse Weapons/Shields. E que só encante o ultimo slot no caso o 4 slot

Edited by gabrielkss
  • UnLike 1

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Prontinho mano (adicionei um check para não deixar encantar o mesmo item assim removendo o antigo encanto).

*se quiser remover esse check que adicionei é só apagar isso aqui:

if(getequipcardid(.@eq_loc,3) == .en_orb[0] || getequipcardid(.@eq_loc,3) == .en_orb[1])
	{
		mes .npc$;
		mes "Este equipamento já está encantado!";
		close;
	}

 

prontera,194,188,4	script	Enchant Expert	712,{

	mes .npc$;
	mes "Hello there!";
	mes "I can enchant your items,";
	mes "for a small fee of "+.pric+"z.";
	emotion e_no1,0; next;
	if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
	if(Zeny<.pric) { mes .npc$; mes "I'm sorry you don't have enough Zeny, please come back later."; close; }
		
	mes .npc$;
	mes "Which item would you like to enchant?"; next;

	set .@menu$, .@menu$+"Left Hand- ["+(getitemname(getequipid(EQI_HAND_L)) != "null" ? "^0000FF"+getitemname(getequipid(EQI_HAND_L)):"^adb4be Empty ")+"^000000]:";
	set .@menu$, .@menu$+"Right Hand- ["+(getitemname(getequipid(EQI_HAND_R)) != "null" ? "^0000FF"+getitemname(getequipid(EQI_HAND_R)):"^adb4be Empty ")+"^000000]";

	select(.@menu$);
	set .@eq_loc,(@menu == 1 ? EQI_HAND_L:EQI_HAND_R);
	set .@eq_itm, getequipid(.@eq_loc);
	if(.@eq_itm<0) {
		mes .npc$;
		mes "Hmm, I don't think you have anything equipped there.";
		close;
	}
	
	if(getequipcardid(.@eq_loc,3) == .en_orb[0] || getequipcardid(.@eq_loc,3) == .en_orb[1])
	{
		mes .npc$;
		mes "Este equipamento já está encantado!";
		close;
	}
	
	set .@menu$, "";
	set .@a, .en_orb[0];
	while((set(.@a,.@a+1)-1)<=.en_orb[1])
		if(getiteminfo(.@a-1,2)>-1)
			if(set(.@c,countitem(.@a-1))) {
				set .@menu$, .@menu$+getitemname(.@a-1)+" x"+.@c+":";
				set .@b,.@b+1; set .@item[.@b], .@a-1;
			}
			
	if(.@menu$=="") {
		mes .npc$;
		mes "Hmm, you don't seem to have any enchantment orbs.";
		close;
	}

	mes .npc$;
	mes "Please, select an enchantment from the menu."; next;
	select(.@menu$);
	set .@itm, .@item[@menu];

	set .@menu$, "";	
	set .@menu$,.@menu$+"4th Slot- ["+(getitemname(getequipcardid(.@eq_loc,3)) != "null" ? "^a92435"+getitemname(getequipcardid(.@eq_loc,3)):"^30ad25Empty")+"^000000]:";
	
	setarray .@card, getequipcardid(.@eq_loc,0), getequipcardid(.@eq_loc,1), getequipcardid(.@eq_loc,2), getequipcardid(.@eq_loc,3);
	next;
	mes .npc$;
	mes "Select a slot."; next;
	set .@men, select(.@menu$);
	set .@eqrf,	getequiprefinerycnt(.@eq_loc);
	if(getequipcardid(.@eq_loc,@menu)) {
		mes .npc$;
		mes "Would you like me to remove this card?"; next;
		if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
		getitem getequipcardid(.@eq_loc,.@men),1;
		unequip(.@eq_loc);
		delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@card[0], .@card[1], .@card[2], .@card[3];
		set .@card[.@men], 0;
		getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@card[0], .@card[1], .@card[2], .@card[3];
	}

	if(rand(100)>.perc) {
		mes .npc$;
		mes "I'm sorry but I've failed you!";
		misceffect 155; emotion e_sob,0;
		set Zeny,Zeny-.pric;
		close;
	}
	
	set Zeny,Zeny-.pric;
	delitem .@itm,1;
	delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@card[0], .@card[1], .@card[2], .@card[3];
	set .@card[3],.@itm;
	getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@card[0], .@card[1], .@card[2], .@card[3];
	misceffect .efet;
	emotion e_no1,0;
	mes .npc$;
	mes "All done!";
	equip .@eq_itm;
	close;

//NPC Constants
	OnInit:
		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
		set      .npc$  ,	"[^0000FFEnchant Expert^000000]"; // NPC Name
		set      .pric  ,	1000000;                          // Price
		set      .efet  ,	154;                              // Effect Number
		set      .perc  ,	rand(50,80);                      // Percent
		setarray .en_orb,	4700, 4862;                       // Range of IDs selected for enchanting.
		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
}

 

Share this post


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

ngm ? =/

se der mais algum up, será adivertido.

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.   Paste as plain text instead

  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.

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