Jump to content

Utility: sader's Enchantment NPC


sader1992

Recommended Posts


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

sader's Enchantment NPC


Note: it's recommended to not use All-In-One scripts like this one , it's better if you create a npc that does only what you want from it!

 

Information:

with this script you can add any item and any ore to enchant in exchange of zeny/items.

read the configuration carefully 
the configuration start at line 238

 

to remove example: Armor you need to delete Armor and EQI_ARMOR

if you want to remove the weapon tab you may want to remove the shield tab too

etc

 

I did plan to rewrite this script , however I backed out of it

the script work the way it is

I have no plan to rewrite it, and I am impressed by my self writing this script with too many config

If I rewrite this now i would spend 99% of the time just preparing the new config , so i don't see any point of rewriting it

yes the script could be written better , but it's not worth it.

 

 

for any error contact me plz

for faster update https://github.com/sader1992/sader_scripts


  • Submitter
  • Submitted
    08/10/2017
  • Category
  • Video
  • Content Author
    sader1992

 

  • Love 1
  • Like 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  59
  • Reputation:   3
  • Joined:  11/13/16
  • Last Seen:  

is it possible to make only few equipment can be enchant???

Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

13 minutes ago, eirwanda said:

is it possible to make only few equipment can be enchant???

you can remove some option like mid head or armor etc

but you can't put a specific IDs for the items you wanna enchant only

i may add whitelist and blacklist functionality later

you can say it's in my list of things to do with this script

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  59
  • Reputation:   3
  • Joined:  11/13/16
  • Last Seen:  

42 minutes ago, sader1992 said:

you can remove some option like mid head or armor etc

but you can't put a specific IDs for the items you wanna enchant only

i may add whitelist and blacklist functionality later

you can say it's in my list of things to do with this script

ok iam waiting for it /no1 

good luck

Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

@eirwanda i did upload new version

however it would take time to be approved -_-

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  44
  • Topics Per Day:  0.01
  • Content Count:  121
  • Reputation:   7
  • Joined:  04/11/15
  • Last Seen:  

testing on some minutes looking for something like this for a time long xD 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  44
  • Topics Per Day:  0.01
  • Content Count:  121
  • Reputation:   7
  • Joined:  04/11/15
  • Last Seen:  

Tested and worked but... just a question is there a way to put that can "enchant" all equipments ¿? i mean on this part

 

	//--------------------------------------------------------------//
	//if specific put the IDs here
	//--------------------------------------------------------------//
	setarray .Weapons$,1601,1201,1204,1207,1210,1213,1216,1219,1222,1247,1248,1249;	//right handed weapons
	setarray .Armors$,2301,2303,2305,2307,2307,2309,2312,2314,2316,2321,2323,2325,2328,2330,2332;	//Armors
	setarray .Shields$,2101,2103,2105,2107,2113,2117;	//Shields and left hand weapons
	setarray .Germents$,2512,2501,2503,2505;	//Germents
	setarray .Shoses$,2416,2401,2403,2405,2411;	//Shoses
	setarray .Accessarys$,2628,2608,2609,2612,2613,2627;	//Accessarys
	setarray .Uppers$,2206,2208,2211,2216;	//Uppers
	setarray .Middels$,2218,2241;	//Middels
	setarray .Lowers$,2628,2206;	//Lowers

i've to put the ID of the equip that can be able to enchant, but is there a way to put "all equiptments" without taking care this ¿?

Edit: Ok.... my bad... is here:
 

	//--------------------------------------------------------------//
	//if you want to put specific IDs for kind of gear put it to 1
	//--------------------------------------------------------------//
	.specific_Weapons = 1;
	.specific_Armors = 0;
	.specific_Shields = 0;
	.specific_Germents = 0;
	.specific_Shoses = 0;
	.specific_Accessarys = 0;
	.specific_Uppers = 0;
	.specific_Middels = 0;
	.specific_Lowers = 0;

 

Edited by ItsFree
Link to comment
Share on other sites

  • 2 months later...

  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  38
  • Reputation:   3
  • Joined:  04/21/14
  • Last Seen:  

how would you do to instead of remove and the items disappear they go back to the inventory?

Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

53 minutes ago, Kasthiel said:

how would you do to instead of remove and the items disappear they go back to the inventory?

comment this line [210]

delitem .@item,1;

in

s_brack:
	specialeffect2 155;
	mes "I am sorry";
	mes "We did Fail";
	specialeffect2 EF_PHARMACY_FAIL;
	if (rand(100) < .brack_chance){
		set .@item, getequipid(.s_all_loc[s_all_selected]);
		delitem .@item,1;
		mes "and it broke!!";
		specialeffect EF_SUI_EXPLOSION;
	}
	close;
end;

 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  38
  • Reputation:   3
  • Joined:  04/21/14
  • Last Seen:  

3 hours ago, sader1992 said:

comment this line [210]


delitem .@item,1;

in


s_brack:
	specialeffect2 155;
	mes "I am sorry";
	mes "We did Fail";
	specialeffect2 EF_PHARMACY_FAIL;
	if (rand(100) < .brack_chance){
		set .@item, getequipid(.s_all_loc[s_all_selected]);
		delitem .@item,1;
		mes "and it broke!!";
		specialeffect EF_SUI_EXPLOSION;
	}
	close;
end;

 

Hi, thanks, but I do not know if it worked right. My friend and I are trying to use this script, but are fighting with me that I wanted instead of removing everything I could remove the orb I wanted and without ever needing to enchant on it, does it?
Another question, is ... I added many orbs in the script, now when I create the item the npc says that I do not have the item, even if it has been configured its id, is some mistake or something else that I need to leave the map and come back to be able to add a new orb in the same weapon that I just put?
The options to request the item are active, but when I use one and I'm going to sweat again even though I have another inventory, it says I do not have one.

Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

1 hour ago, Kasthiel said:

Hi, thanks, but I do not know if it worked right. My friend and I are trying to use this script, but are fighting with me that I wanted instead of removing everything I could remove the orb I wanted and without ever needing to enchant on it, does it?
Another question, is ... I added many orbs in the script, now when I create the item the npc says that I do not have the item, even if it has been configured its id, is some mistake or something else that I need to leave the map and come back to be able to add a new orb in the same weapon that I just put?
The options to request the item are active, but when I use one and I'm going to sweat again even though I have another inventory, it says I do not have one.

i know that this script not optimized cuz i don't have the time to , but it is working without a problem as far as i know

can you post yours after you added your items ?

and explaining the first question more 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  38
  • Reputation:   3
  • Joined:  04/21/14
  • Last Seen:  

50 minutes ago, sader1992 said:

i know that this script not optimized cuz i don't have the time to , but it is working without a problem as far as i know

can you post yours after you added your items ?

and explaining the first question more 

The function that is configured removes and destroys all orb and cards of the equipment, what would be better, is instead of doing this, could choose and remove only 1 at a time, same when we will select the orb and the slot. We would choose the equipped slot and remove.

//===== rAthena Script =======================================
//= saders enchant npc
//===== By: ==================================================
//= Sader1992
//https://rathena.org/board/profile/30766-sader1992/
//===== Current Version: =====================================
//= 2.0
//===== Compatible With: ===================================== 
//= rAthena Project
//https://rathena.org/board/files/file/3602-saders-enchantment-npc/
//https://github.com/sader1992/sader_scripts
//===== Description: =========================================
//============================================================
//============================================================
sala_vip,80,105,6	script	Encantadora [VIP]	485,{
	callsub s_check_menu;
end;

s_check_menu:
		if(.s_only_vip == 1 && vip_status(1)){
			mes "^A020F0[Encantadora]^000000";
			mes "Este serviço é apenas para VIP!";
			close;
		}
		if (BaseLevel < .s_level_required[0] || BaseLevel > .s_level_required[1]){
			mes "^A020F0[Encantadora]^000000";
			mes "Você não atende os requisitos.";
			mes "   ";
			mes "Nível mínimo: "+.s_level_required[0]+".";
			mes "Nível máximo: "+.s_level_required[1]+".";
			close;
		}
	callsub s_start_menu;
end;

s_start_menu:
	mes "^A020F0[Encantadora]^000000";
	mes "Olá!";
	mes "Você quer encantar seus itens!";
	mes "Eu sou a melhora feiticeira do mundo!";
	next;
	if (.s_zeny  > 0) {
			mes "^A020F0[Encantadora]^000000";
			mes "Isso vai te custar " + .s_zeny + " Zeny!";
		}
	if (.item_is_required == 1) {
			mes "E uma Pedra de Encantamento.";
		}
	mes "Eu farei o meu melhor para encantá-lo com sucesso!";
	mes "Mas lembre-se...";
	mes "Há sorte neste trabalho também.";
	next;
			mes "^A020F0[Encantadora]^000000";
			mes "Preste atenção.";
			mes "Se você tiver itens iguais ao item que deseja encantar.";
			mes "Deposite eles no armazém e volte aqui!";
			next;
			mes "^A020F0[Encantadora]^000000";
			mes "Preste atenção.";
			mes "Se tiver mais de uma Pedra de Encantamento no inventário guarde todas as quais não for usar no seu armazém.";
			mes "Deixe apenas a que for usar  no inventário.";
			next;
			
	set s_all_selected,0;
	set s_orb_selected,0;
	set selected_orb_id ,0;
	set s_slot_selected,0;
	set remove_orbs,0;
	set selected_orb_size,0;
	set s_item_refine,0;
	if(.remove_enchant == 1){
		callsub s_select_menu;
	}else{
		callsub s_select_armor;
		}
close;
end;

s_select_menu:
	mes "^A020F0[Encantadora]^000000";
	mes "Então, o que quer fazer!";
	next;
	if(.enable_the_shop == 1){
		switch(select("Encantar:Remover Encantamento:Os itens que você pode encantar")){
			case 2: remove_orbs = 1; 
			case 3: callsub Q_shop;
		}
	}else{
		switch(select("Encantar:Remover Encantamento")){
			case 2: remove_orbs = 1;
		}
	}
	
	callsub s_select_armor;
end;
	
s_select_armor:
	next;
	mes "^A020F0[Encantadora]^000000";
	mes "Selecione o item que deseja encantar.";
	for(.@i=0; .@i<getarraysize(.s_all$); .@i++)
		if(getequipid(.s_all_loc[.@i])>-1) {
			set .@armor_menu$, .@armor_menu$ + .s_all$[.@i] + " - [ ^E81B02" + getitemname(getequipid(.s_all_loc[.@i])) + "^000000 ]:";
		}else{
			set .@armor_menu$, .@armor_menu$ + .s_all$[.@i] + " - [ ^D6C4E8" + "Slot Vazio" + "^000000 ]:";
		}
	set s_all_selected, select(.@armor_menu$) -1;
	if(getequipid(.s_all_loc[s_all_selected])< 0) {
		mes "^A020F0[Encantadora]^000000";
		mes "Você não tem item equipado neste slot.";
		close;
	}
	if (countitem(getequipid(.s_all_loc[s_all_selected])) > 1){
			mes "^A020F0[Encantadora]^000000";
			mes "Você tem mais de um item que você deseja encantar.";
			close;
	}
	s_item_refine = getequiprefinerycnt(.s_all_loc[s_all_selected]);
	callsub s_specific_gears;
end;

s_specific_gears:
	if( getd(".specific_" + .s_all$[s_all_selected] + "s") ==1){
		for(.@i=0;.@i<getarraysize(getd("." + .s_all$[s_all_selected] + "s$"));.@i++){
			if(getequipid(.s_all_loc[s_all_selected]) == atoi(getd("." + .s_all$[s_all_selected] + "s$["+.@i+"]"))){
				.@good_to_go = 1;
			}
		}
	}else{
		for(.@i=0;.@i<getarraysize(.black_list$);.@i++){
			if(getequipid(.s_all_loc[s_all_selected]) == atoi(.black_list$[.@i])){
				.@black_list_item = 1;
			}
		}
		.@good_to_go = 1;
	}
	if(!.@good_to_go || .@black_list_item == 1){
		mes "Desculpe. Eu não posso encantar este item.";
		close;
	}
	if(remove_orbs == 1){callsub s_select_remove;}
	if(.chosse_orb == 1){callsub s_select_orb;}else{callsub s_random_orb;}
end;

Q_shop:
	switch(select("Armas:Armaduras:Escudos:Vestuários:Calçados:Acessórios:Topo:Meio:Baixo")){
	case 1: callshop "enchantable_items_Weapon",1; break;
	case 2: callshop "enchantable_items_Armor",1; break;
	case 3: callshop "enchantable_items_Shield",1; break;
	case 4: callshop "enchantable_items_Germent",1; break;
	case 5: callshop "enchantable_items_Shose",1; break;
	case 6: callshop "enchantable_items_Accessary",1; break;
	case 7: callshop "enchantable_items_Upper",1; break;
	case 8: callshop "enchantable_items_Middel",1; break;
	case 9: callshop "enchantable_items_Lower",1; break;
	}
end;

s_select_orb:
	next;
	mes "^A020F0[Encantadora]^000000";
	mes "Selecione a Pedra de Encantamento que deseja.";
	for(.@i=0; .@i<getarraysize(getd("." + .s_all$[s_all_selected] + "$")); .@i++)
			set .@orb_menu$, .@orb_menu$ + getitemname(atoi(getd("." + .s_all$[s_all_selected] + "$["+.@i+"]"))) + ":";
	set s_orb_selected, select(.@orb_menu$) -1;
	selected_orb_id = getd("." + .s_all$[s_all_selected] + "$["+s_orb_selected+"]");
		callsub s_select_slot;
end;


s_select_slot:
	next;
	mes "^A020F0[Encantadora]^000000";
	mes "Qual slot?";
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
	for(.@i=getd(".slot_count_" + .s_all$[s_all_selected]); .@i<4; .@i++)
		if(getequipcardid(.s_all_loc[s_all_selected],.@i)!= null) {
			set .@slot_menu$, .@slot_menu$ + " [ ^E81B02" + getitemname(getequipcardid(.s_all_loc[s_all_selected],.@i)) + "^000000 ]:";
		}else{
			set .@slot_menu$, .@slot_menu$ + " [ ^D6C4E8" + "Slot Vazio" + "^000000 ]:";
		}
	set s_slot_selected, select(.@slot_menu$) -1;
	if(.s_enchant_overwrite == 0){
		if(getequipcardid(.s_all_loc[s_all_selected],s_slot_selected) > 0){
			mes "Você já possui Pedra de Encantamento neste slot!";
			close;
		}
	}
	callsub s_enchant_progress;
end;

s_enchant_progress:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
	if (Zeny < .s_zeny) {
			mes "^A020F0[Encantadora]^000000";
			mes "Desculpe, mas você não tem zeny suficiente.";
			close;
		}
	if(.item_is_required == 1){
		if (countitem(selected_orb_id) < 1){
			mes"Você não tem Pedra de Encantamento.";
			close;
		}
	}
	close2;
	specialeffect2 EF_MAPPILLAR;
	progressbar "ffff00",.progress_time;
	set Zeny, Zeny-.s_zeny;
	if(.item_is_required == 1){delitem selected_orb_id,1;}
	if (rand(100) < .success_chanse[s_slot_selected]) callsub s_enchant_success;
	else callsub s_brack;
end;

s_brack:
	specialeffect2 155;
	mes "^A020F0[Encantadora]^000000";
	mes "Sinto muito!";
	mes "Eu... falhei";
	specialeffect2 EF_PHARMACY_FAIL;
	if (rand(100) < .brack_chance){
		set .@item, getequipid(.s_all_loc[s_all_selected]);
		delitem .@item,1;
		mes "e quebrou!!";
		specialeffect EF_SUI_EXPLOSION;
	}
	close;
end;

s_enchant_success:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
	mes "^A020F0[Encantadora]^000000";
	mes "Sucesso ao encatar o item!";
		specialeffect2 154;
		setd(".@card" + s_slot_selected, selected_orb_id);
		set .@item, getequipid(.s_all_loc[s_all_selected]);
		delitem .@item,1;
		getitem2 .@item, 1, 1, s_item_refine, 0, .@card0, .@card1, .@card2, .@card3;
		equip .@item;
	close;
end;	


s_select_remove:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
		next;
		mes "^A020F0[Encantadora]^000000";
		mes "Isso removerá todos as Cartas e Pedra de Encantamento dentro do item!";
		if (.s_zeny_remove > 0) {
			mes "Isso vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
					switch(select("Não:Sim")){
						if (Zeny < .s_zeny_remove) {
							mes "Desculpe, mas você não tem zeny suficiente.";
							close;
						}
					case 2: 
						specialeffect2 EF_REPAIRWEAPON;
						set .@item, getequipid(.s_all_loc[s_all_selected]);
						delitem .@item,1;
						getitem2 .@item, 1, 1, s_item_refine, 0, 0, 0, 0, 0;
						set Zeny, Zeny-.s_zeny_remove;
					}

	close;
end;

s_random_orb:
selected_orb_size = rand(getarraysize(getd("." + .s_all$[s_all_selected] + "$")));
selected_orb_id = getd("." + .s_all$[s_all_selected] + "$["+selected_orb_size+"]");
	callsub s_select_slot;
end;


OnInit:
	//--------------------------------------------------------------//
	//--------------------------------------------------------------//
	//--------------------   configuration   -----------------------//
	//--------------------------------------------------------------//
	//--------------------------------------------------------------//
	
	//--------------------------------------------------------------//
	//Se você deseja remover um do menu, é necessário removê-lo também! / ou adicione
	//--------------------------------------------------------------//
	setarray .s_all$,"Weapon","Armor","Shield","Germent","Shose","Accessary","Upper","Middel","Lower";
	setarray .s_all_loc,EQI_HAND_R,EQI_ARMOR,EQI_HAND_L,EQI_GARMENT,EQI_SHOES,EQI_ACC_L,EQI_HEAD_TOP,EQI_HEAD_MID,EQI_HEAD_LOW;
	
	//--------------------------------------------------------------//
	//IDs de Orbs (Nota: Shield = mão esquerda para que a arma da mão esquerda conta como Shield também!
	//--------------------------------------------------------------//
	//right handed weapons
	setarray .Weapon$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709,
	4710,4711,4712,4713,4714,4715,4716,4717,4718,4719,
	4720,4721,4722,4723,4724,4725,4726,4727,4728,4729,
	4730,4731,4732,4733,4734,4735,4736,4737,4738,4739,
	4740,4741,4742,4743,4744,4745,4746,4747,4748,4749,
	4750,4751,4752,4753,4754,4755,4756,4757,4758,4759,
	4760,4761,4806,
	4883,4896,4897,4898,4899,4906,4907,
	4882,4766,4767,4894,4895,4904,4905,
	4807,4842,
	4791,4792,4793,4794,4893,4902,4903,
	4890,4786,4891,4787,4892,4788,4789,4790,
	4927,4795,4796,4797,4798,4799,
	4928,4870,4871,4800,4801,4802,
	4815,4814,4813,4812,4826,4827,4828,4829,4830,4831,
	4885,4886,4887,4888,4889,
	4811,4810,4809,4808,4820,4821,4822,4823,4824,4825,
	4818,4817,4816,4843,4844,
	4832,4833,4834,4835,4836,4837,4838,4839,4840,4841,
	4861,4862,4867,4868,4900,
	4863,4864,4865,48636,
	4908,4909,4910,
	4911,4912,4913,
	4914,4915,4916,
	4917,4918,4919,
	4920,4921,4922,
	4923,4924,4925,
	4926,4939,4940,4941,4764,4765,
	4859,4860,4762,4763,
	4933,934,4935,
	4994,4995,4996,
	4997,4998,4999,
	4869,4872,4873,4881,
	4942,4943,4944,
	4945,4946,4947,
	4948,4949,4950,
	4850,4851,4852,
	4853,4854,4855,4856,4857,4858,
	4936,4937,4938,
	4803,4804,4805,4819,4845,4846,4847,4848,4849,4875,4876,4877,4878,4879,4880,4884,4929,4930,4931,4932;

	//Armors
	setarray .Armor$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709;
	//Shields and left hand weapons
	setarray .Shield$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709;
	//Germent
	setarray .Germent$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709;
	//Shose
	setarray .Shose$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709;
	//orbs id
	setarray .Accessary$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709,;
	//Accessary
	setarray .Upper$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709;
	//Middel
	setarray .Middel$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709;
	//Lower
	setarray .Lower$,
	4700,4701,4702,4703,4704,4705,4706,4707,4708,4709;
	
	//--------------------------------------------------------------//
	//se você quiser colocar IDs específicos para o tipo de equipamento, coloque-o em 1
	//--------------------------------------------------------------//
	.specific_Weapons = 1;
	.specific_Armors = 1;
	.specific_Shields = 1;
	.specific_Germents = 1;
	.specific_Shoses = 1;
	.specific_Accessarys = 1;
	.specific_Uppers = 1;
	.specific_Middels =1;
	.specific_Lowers = 1;
	
	//--------------------------------------------------------------//
	//se específico colocar as ID aqui
	//--------------------------------------------------------------//
	setarray .Weapons$,1601,1201,1204,1207,1210,1213,1216,1219,1222,1247,1248,1249;	//right handed weapons
	setarray .Armors$,2301,2303,2305,2307,2307,2309,2312,2314,2316,2321,2323,2325,2328,2330,2332;	//Armors
	setarray .Shields$,2101,2103,2105,2107,2113,2117;	//Shields and left hand weapons
	setarray .Germents$,2512,2501,2503,2505;	//Germents
	setarray .Shoses$,2416,2401,2403,2405,2411;	//Shoses
	setarray .Accessarys$,2628,2608,2609,2612,2613,2627;	//Accessarys
	setarray .Uppers$,2206,2208,2211,2216;	//Uppers
	setarray .Middels$,2218,2241;	//Middels
	setarray .Lowers$,2628,2206;	//Lowers
	
	//--------------------------------------------------------------//
	//se não específico, coloque as IDs da lista negra aqui (se desejar
	//--------------------------------------------------------------//
	setarray .black_list$,2335,2338,2340,2341;
	
	//--------------------------------------------------------------//
	//Aqui você pode fazer um número de slot específico para cada tipo
	//0 = all 4 slot ,1 = last 3 slot ,2 = last 2 slot ,3 = last 1 slot
	//--------------------------------------------------------------//
	.slot_count_Weapon = 0;
	.slot_count_Armor = 0;
	.slot_count_Shield = 0;
	.slot_count_Germent = 0;
	.slot_count_Shose = 0;
	.slot_count_Accessary = 0;
	.slot_count_Upper = 0;
	.slot_count_Middel = 0;
	.slot_count_Lower = 0;
	
	//--------------------------------------------------------------//
	//outra configuração
	//--------------------------------------------------------------//
	setarray .s_level_required,100,255;	//the level required to use the npc
	.s_only_vip = 1;	//if you want only vip to use it put it to 1
	setarray .success_chanse,100,75,50,25;	//success chanse [1st_slot_chanse,2nd_slot_chanse,3rd_slot_chanse,4th_slot_chanse]
	.s_zeny = 1000000;	//if you don't want zeny requirment set it to 0
	.s_zeny_remove = 1000000;	//this for enchantment reset
	.item_is_required = 1;	//if you want the orb it self to be required 1 = yes , 0 = no
	.s_enchant_overwrite = 1;	//if 1 then you can overwrite the enchant
	.progress_time = 10;	//the time that needed to wait until the socket end
	.chosse_orb = 0;	//0 = random ,1 = yes
	.brack_chance = 0;	//the chanse that it will brack if it fail
	.remove_enchant = 1;	//0 = no ,1 = yes
	
	//--------------------------------------------------------------//
	//Isso só mostrará os itens que o npc pode encantar em uma loja, mas ninguém pode comprar, contanto que você não lhes dê o valor
	//--------------------------------------------------------------//
	.enable_the_shop = 0;
	
	//--------------------------------------------------------------//
	//Não edite aqui
	//--------------------------------------------------------------//
	npcshopdelitem "enchantable_items_Weapon",512;
	npcshopdelitem "enchantable_items_Armor",512;
	npcshopdelitem "enchantable_items_Shield",512;
	npcshopdelitem "enchantable_items_Germent",512;
	npcshopdelitem "enchantable_items_Shose",512;
	npcshopdelitem "enchantable_items_Accessary",512;
	npcshopdelitem "enchantable_items_Upper",512;
	npcshopdelitem "enchantable_items_Middel",512;
	npcshopdelitem "enchantable_items_Lower",512;
	
	for (.@i = 0; .@i < getarraysize(.Weapons$); .@i++)
			npcshopadditem "enchantable_items_Weapon", atoi(.Weapons$[.@i]),1;
	for (.@i = 0; .@i < getarraysize(.Armors$); .@i++)
			npcshopadditem "enchantable_items_Armor", atoi(.Armors$[.@i]),1;
	for (.@i = 0; .@i < getarraysize(.Shields$); .@i++)
			npcshopadditem "enchantable_items_Shield", atoi(.Shields$[.@i]),1;
	for (.@i = 0; .@i < getarraysize(.Germents$); .@i++)
			npcshopadditem "enchantable_items_Germent", atoi(.Germents$[.@i]),1;	
	for (.@i = 0; .@i < getarraysize(.Shoses$); .@i++)
			npcshopadditem "enchantable_items_Shose", atoi(.Shoses$[.@i]),1;	
	for (.@i = 0; .@i < getarraysize(.Accessarys$); .@i++)
			npcshopadditem "enchantable_items_Accessary", atoi(.Accessarys$[.@i]),1;	
	for (.@i = 0; .@i < getarraysize(.Uppers$); .@i++)
			npcshopadditem "enchantable_items_Upper", atoi(.Uppers$[.@i]),1;		
	for (.@i = 0; .@i < getarraysize(.Middels$); .@i++)
			npcshopadditem "enchantable_items_Middel", atoi(.Middels$[.@i]),1;	
	for (.@i = 0; .@i < getarraysize(.Lowers$); .@i++)
			npcshopadditem "enchantable_items_Lower", atoi(.Lowers$[.@i]),1;	
	end;
}
-	pointshop	enchantable_items_Weapon	-1,#YOU_CAN_ENCHANT_Weapons,512:1;
-	pointshop	enchantable_items_Armor	-1,#YOU_CAN_ENCHANT_Armors,512:1;
-	pointshop	enchantable_items_Shield	-1,#YOU_CAN_ENCHANT_Shields,512:1;
-	pointshop	enchantable_items_Germent	-1,#YOU_CAN_ENCHANT_Germents,512:1;
-	pointshop	enchantable_items_Shose	-1,#YOU_CAN_ENCHANT_Shoses,512:1;
-	pointshop	enchantable_items_Accessary	-1,#YOU_CAN_ENCHANT_Accessarys,512:1;
-	pointshop	enchantable_items_Upper	-1,#YOU_CAN_ENCHANT_Uppers,512:1;
-	pointshop	enchantable_items_Middel	-1,#YOU_CAN_ENCHANT_Middels,512:1;
-	pointshop	enchantable_items_Lower	-1,#YOU_CAN_ENCHANT_Lowers,512:1;

 

Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

21 minutes ago, Kasthiel said:

The function that is configured removes and destroys all orb and cards of the equipment, what would be better, is instead of doing this, could choose and remove only 1 at a time, same when we will select the orb and the slot. We would choose the equipped slot and remove

for the item required

you can't use random orb with it or else the ppl will retry with the orb in there bag it would be the same as select orb

i will clear that when i rewrite it

 

for the orb's removal 

just edit from the line 252

this 

s_select_remove:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
		next;
		mes "^A020F0[Encantadora]^000000";
		mes "Isso removerá todos as Cartas e Pedra de Encantamento dentro do item!";
		if (.s_zeny_remove > 0) {
			mes "Isso vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
					switch(select("Não:Sim")){
						if (Zeny < .s_zeny_remove) {
							mes "Desculpe, mas você não tem zeny suficiente.";
							close;
						}
					case 2: 
						specialeffect2 EF_REPAIRWEAPON;
						set .@item, getequipid(.s_all_loc[s_all_selected]);
						delitem .@item,1;
						getitem2 .@item, 1, 1, s_item_refine, 0, 0, 0, 0, 0;
						set Zeny, Zeny-.s_zeny_remove;
					}

	close;
end;

to

s_select_remove:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
		next;
		mes "^A020F0[Encantadora]^000000";
		mes "Isso removerá todos as Cartas e Pedra de Encantamento dentro do item!";
		if (.s_zeny_remove > 0) {
			mes "Isso vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
					switch(select("Não:Sim")){
						case 1 : end;
						case 2: 
							if (Zeny < .s_zeny_remove) {
								mes "Desculpe, mas você não tem zeny suficiente.";
								close;
							}
							switch(select(getitemname(.@card0),getitemname(.@card1),getitemname(.@card2),getitemname(.@card3))){
								case 1: .@card0 = 0; break;
								case 2: .@card1 = 0; break;
								case 3: .@card2 = 0; break;
								case 4: .@card3 = 0; break;
							}
							specialeffect2 EF_REPAIRWEAPON;
							set .@item, getequipid(.s_all_loc[s_all_selected]);
							delitem .@item,1;
							getitem2 .@item, 1, 1, s_item_refine, 0, .@card0, .@card1, .@card2, .@card3;
							set Zeny, Zeny-.s_zeny_remove;
					}

	close;
end;

and now you can select the enchant you want to remove

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  38
  • Reputation:   3
  • Joined:  04/21/14
  • Last Seen:  

17 minutes ago, sader1992 said:

for the item required

you can't use random orb with it or else the ppl will retry with the orb in there bag it would be the same as select orb

i will clear that when i rewrite it

 

for the orb's removal 

just edit from the line 252

this 


s_select_remove:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
		next;
		mes "^A020F0[Encantadora]^000000";
		mes "Isso removerá todos as Cartas e Pedra de Encantamento dentro do item!";
		if (.s_zeny_remove > 0) {
			mes "Isso vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
					switch(select("Não:Sim")){
						if (Zeny < .s_zeny_remove) {
							mes "Desculpe, mas você não tem zeny suficiente.";
							close;
						}
					case 2: 
						specialeffect2 EF_REPAIRWEAPON;
						set .@item, getequipid(.s_all_loc[s_all_selected]);
						delitem .@item,1;
						getitem2 .@item, 1, 1, s_item_refine, 0, 0, 0, 0, 0;
						set Zeny, Zeny-.s_zeny_remove;
					}

	close;
end;

to


s_select_remove:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
		next;
		mes "^A020F0[Encantadora]^000000";
		mes "Isso removerá todos as Cartas e Pedra de Encantamento dentro do item!";
		if (.s_zeny_remove > 0) {
			mes "Isso vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
					switch(select("Não:Sim")){
						case 1 : end;
						case 2: 
							if (Zeny < .s_zeny_remove) {
								mes "Desculpe, mas você não tem zeny suficiente.";
								close;
							}
							switch(select(getitemname(.@card0),getitemname(.@card1),getitemname(.@card2),getitemname(.@card3))){
								case 1: .@card0 = 0; break;
								case 2: .@card1 = 0; break;
								case 3: .@card2 = 0; break;
								case 4: .@card3 = 0; break;
							}
							specialeffect2 EF_REPAIRWEAPON;
							set .@item, getequipid(.s_all_loc[s_all_selected]);
							delitem .@item,1;
							getitem2 .@item, 1, 1, s_item_refine, 0, .@card0, .@card1, .@card2, .@card3;
							set Zeny, Zeny-.s_zeny_remove;
					}

	close;
end;

and now you can select the enchant you want to remove

Sorry to be disturbing you, she's almost perfect.
Only 2 things are missing. 1ª when the shop is active, I select remove orb it jumps straight to the shop, I believe it is something in that part, I already tried to put a "closed" and "end" but I think I did not find the right place.

 

s_select_menu:
	mes "^A020F0[Encantadora]^000000";
	mes "Então, o que quer fazer!";
	next;
	if(.enable_the_shop == 1){
		switch(select("Encantar:Remover Encantamento:Os itens que você pode encantar")){
			case 2: remove_orbs = 1; 
			case 3: callsub Q_shop;
		}
	}else{
		switch(select("Encantar:Remover Encantamento")){
			case 2: remove_orbs = 1;
		}
	}
	
	callsub s_select_armor;
end;
	

Another is, I wanted it to be pretty even at the time of add, this quay with text [empty slot] instead of null, like the image ...
Only that left over ... And the random option issue, I forgot to disable, but even active or inactive was not working very well, now it worked as it was meant to be. Thank you.

https://imgur.com/a/CNsg1

Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

after case 2: remove_orbs = 1; use break; so it will be case 2: remove_orbs = 1; break;

 

and this for the empty slots

s_select_remove:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
		next;
		mes "^A020F0[Encantadora]^000000";
		mes "Isso removerá todos as Cartas e Pedra de Encantamento dentro do item!";
		if (.s_zeny_remove > 0) {
			mes "Isso vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
					switch(select("Não:Sim")){
						case 1 : end;
						case 2: 
							if (Zeny < .s_zeny_remove) {
								mes "Desculpe, mas você não tem zeny suficiente.";
								close;
							}
							if(.@card0 == 0).@card0$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]:"; else .@card0$ = getitemname(.@card0);
							if(.@card1 == 0).@card1$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]:"; else .@card1$ = getitemname(.@card1);
							if(.@card2 == 0).@card2$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]:"; else .@card2$ = getitemname(.@card2);
							if(.@card3 == 0).@card3$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]:"; else .@card3$ = getitemname(.@card3);
							switch(select(.@card0$,.@card1$,.@card2$,.@card3$)){
								case 1: .@card0 = 0; break;
								case 2: .@card1 = 0; break;
								case 3: .@card2 = 0; break;
								case 4: .@card3 = 0; break;
							}
							specialeffect2 EF_REPAIRWEAPON;
							set .@item, getequipid(.s_all_loc[s_all_selected]);
							delitem .@item,1;
							getitem2 .@item, 1, 1, s_item_refine, 0, .@card0, .@card1, .@card2, .@card3;
							set Zeny, Zeny-.s_zeny_remove;
					}

	close;
end;

 

  • Love 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  38
  • Reputation:   3
  • Joined:  04/21/14
  • Last Seen:  

41 minutes ago, sader1992 said:

after case 2: remove_orbs = 1; use break; so it will be case 2: remove_orbs = 1; break;

 

and this for the empty slots


s_select_remove:
		.@card0 = getequipcardid(.s_all_loc[s_all_selected],0);
		.@card1 = getequipcardid(.s_all_loc[s_all_selected],1);
		.@card2 = getequipcardid(.s_all_loc[s_all_selected],2);
		.@card3 = getequipcardid(.s_all_loc[s_all_selected],3);
		next;
		mes "^A020F0[Encantadora]^000000";
		mes "Isso removerá todos as Cartas e Pedra de Encantamento dentro do item!";
		if (.s_zeny_remove > 0) {
			mes "Isso vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
					switch(select("Não:Sim")){
						case 1 : end;
						case 2: 
							if (Zeny < .s_zeny_remove) {
								mes "Desculpe, mas você não tem zeny suficiente.";
								close;
							}
							if(.@card0 == 0).@card0$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]:"; else .@card0$ = getitemname(.@card0);
							if(.@card1 == 0).@card1$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]:"; else .@card1$ = getitemname(.@card1);
							if(.@card2 == 0).@card2$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]:"; else .@card2$ = getitemname(.@card2);
							if(.@card3 == 0).@card3$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]:"; else .@card3$ = getitemname(.@card3);
							switch(select(.@card0$,.@card1$,.@card2$,.@card3$)){
								case 1: .@card0 = 0; break;
								case 2: .@card1 = 0; break;
								case 3: .@card2 = 0; break;
								case 4: .@card3 = 0; break;
							}
							specialeffect2 EF_REPAIRWEAPON;
							set .@item, getequipid(.s_all_loc[s_all_selected]);
							delitem .@item,1;
							getitem2 .@item, 1, 1, s_item_refine, 0, .@card0, .@card1, .@card2, .@card3;
							set Zeny, Zeny-.s_zeny_remove;
					}

	close;
end;

 

It was 1000% ... The way I wanted it, super top. Thank you.

Link to comment
Share on other sites

  • 7 months later...

  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  24
  • Reputation:   0
  • Joined:  05/21/18
  • Last Seen:  

The chance for breaking the item is not working for me. (im using the 2.5V ALPHA)

And when I fail it just pop up the next message and i cant do anything after this

screenTriumpH004.thumb.jpg.abce91d938ae728fa5820719c2ef8ce8.jpg

And I tried to put all values on 

.brack_chance = 100;	//the chanse that it will brack if it fail

and it never breaks the item.

Could you help? ?

	}else{
		specialeffect2 155;
		mes "I am sorry";
		mes "We did Fail";
		specialeffect2 EF_PHARMACY_FAIL;
		if (rand(100) < .brack_chance){
			set .@item, getequipid(.s_all_loc[s_all_selected]);
			delitem .@item,1;
			mes "and it broke!!";
			specialeffect EF_SUI_EXPLOSION;
		}
		close;
	}
	end;

 

Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

22 hours ago, LordJasz said:

The chance for breaking the item is not working for me. (im using the 2.5V ALPHA)

And when I fail it just pop up the next message and i cant do anything after this

And I tried to put all values on 

and it never breaks the item.

Could you help? ?

as i see there is no problems in the code

can you post the error you see in the terminal ?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  21
  • Reputation:   0
  • Joined:  04/07/16
  • Last Seen:  

@sader1992 Am I doing something wrong, I set the settings for no. of slot which is "1" if last 3 slot only. Everytime I enchant my garment, it goes in the first slot. Another thing doing the 2nd slot enchant will delete all the enhant.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  24
  • Reputation:   0
  • Joined:  05/21/18
  • Last Seen:  

11 hours ago, sader1992 said:

as i see there is no problems in the code

can you post the error you see in the terminal ?

Yeah I agree...
but somehow it doesn't work for me, and doesn't show any kinda error, it just popup the window and i cannot move more.
I put a close behind the brack_chance to at least when it fails i can close the window, but it seems that it is making the break not work:

	}else{
		specialeffect2 155;
		mes "I am sorry";
		mes "We did Fail";
		specialeffect2 EF_PHARMACY_FAIL;
		close; <- [THIS ONE]
		if (rand(100) < .brack_chance){
			set .@item, getequipid(.s_all_loc[s_all_selected]);
			delitem .@item,1;
			mes "and it broke!!";
			specialeffect EF_SUI_EXPLOSION;
		}
		close;
	}
	end;

i actually don't know how it's not working, seems ok for me either.

Imma look for any news and I will post here what I find

Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

1 hour ago, LordJasz said:

Yeah I agree...
but somehow it doesn't work for me, and doesn't show any kinda error, it just popup the window and i cannot move more.
I put a close behind the brack_chance to at least when it fails i can close the window, but it seems that it is making the break not work:


	}else{
		specialeffect2 155;
		mes "I am sorry";
		mes "We did Fail";
		specialeffect2 EF_PHARMACY_FAIL;
		close; <- [THIS ONE]
		if (rand(100) < .brack_chance){
			set .@item, getequipid(.s_all_loc[s_all_selected]);
			delitem .@item,1;
			mes "and it broke!!";
			specialeffect EF_SUI_EXPLOSION;
		}
		close;
	}
	end;

i actually don't know how it's not working, seems ok for me either.

Imma look for any news and I will post here what I find

please try this

from 

if (rand(100) < .brack_chance){
	set .@item, getequipid(.s_all_loc[s_all_selected]); // <<<<<<<<<<<<<<<<<<<<<<<<<
	delitem .@item,1;
	mes "and it broke!!";
	specialeffect EF_SUI_EXPLOSION;
}

to

if (rand(100) < .brack_chance){
	set .@item, getequipid(.s_all_loc[.@s_all_selected]); // <<<<<<<<<<<<<<<<<<<<<<<<<
	delitem .@item,1;
	mes "and it broke!!";
	specialeffect EF_SUI_EXPLOSION;
}

 

Edited by sader1992
  • MVP 1
Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

@vcpoker please download the new version 2.6

 

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  24
  • Reputation:   0
  • Joined:  05/21/18
  • Last Seen:  

50 minutes ago, sader1992 said:

please try this

from 


if (rand(100) < .brack_chance){
	set .@item, getequipid(.s_all_loc[s_all_selected]); // <<<<<<<<<<<<<<<<<<<<<<<<<
	delitem .@item,1;
	mes "and it broke!!";
	specialeffect EF_SUI_EXPLOSION;
}

to


if (rand(100) < .brack_chance){
	set .@item, getequipid(.s_all_loc[.@s_all_selected]); // <<<<<<<<<<<<<<<<<<<<<<<<<
	delitem .@item,1;
	mes "and it broke!!";
	specialeffect EF_SUI_EXPLOSION;
}

 

100% working now!
thank you.

youre a beast o/

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  21
  • Reputation:   0
  • Joined:  04/07/16
  • Last Seen:  

8 hours ago, sader1992 said:

@vcpoker please download the new version 2.6

 

Thanks a lot. It's working, I'll test out other functions. 

Link to comment
Share on other sites

  • 3 weeks later...

  • Group:  Members
  • Topic Count:  107
  • Topics Per Day:  0.02
  • Content Count:  770
  • Reputation:   69
  • Joined:  02/10/12
  • Last Seen:  

hi, @sader1992how about to make when player use this npc need stone to enchant the equipment
ex: player want to enhant gladius with Vit+3, player must have that items and item will gone/deleted when try to enchant

it possible??

Edited by melv0
Link to comment
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
Reply to this topic...

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

×
×
  • Create New...