• 0
Sign in to follow this  
Tupac

Saders enchant

Question

Hi, how modify script do not remove cards ? just enchants of fourth slot.

//===== rAthena Script =======================================
//= saders enchant npc
//===== By: ==================================================
//= Sader1992
//https://rathena.org/board/profile/30766-sader1992/
//===== Current Version: =====================================
//= 2.6
//===== Compatible With: ===================================== 
//= rAthena Project
//https://rathena.org/board/files/file/3602-saders-enchantment-npc/
//https://github.com/sader1992/sader_scripts
//===== Description: =========================================
//============================================================
//============================================================
prontera,157,176,6	script	Encantamentos	998,{
	disable_items;
	if(.s_only_vip){
		if(!vip_status(VIP_STATUS_ACTIVE)){
			mes "this service only for vip";
			close;
		}
	}
	if (BaseLevel < .s_level_required[0]){
		mes "Your level is too Low.";
		mes "   ";
		mes "Minimum level "+.s_level_required[0]+".";
		close;
	}else if(BaseLevel > .s_level_required[1]){
		mes "Your level is too High.";
		mes "   ";
		mes "Maximum level "+.s_level_required[1]+".";
		close;
	}
	mes "Ola!";
	mes "Você quer encantar seus equipamentos?";
	mes "Eu sou o melhor encantador do mundo!";
	next;
	if(.s_zeny > 0)
		mes "isso vai te custar " + .s_zeny + " Zenys !";
		mes "e 1x <ITEM>Ticket encantamento<INFO>7717</INFO></ITEM>.";
	if(.item_is_required)
		mes "e 1x ticket encantamento";
	mes "Eu farei o meu melhor para encantá-lo com sucesso!";
	next;
	.@string$[0] = "Encantar";
	if(.remove_enchant)
		.@string$[1] = "Remover Encantamento";
	if(.enable_the_shop)
		.@string$[2] = "The Items you can enchant";
	mes "O que deseja fazer ?";
	menu .@string$[0],L_Enchant,.@string$[1],L_Remove,.@string$[2],-;
	callsub Q_shop; end;
	L_Remove: .@remove_orbs = true;
	L_Enchant: 
	next;
	mes "Por favor, selecione o item.";
	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" + "No Equip" + "^000000 ]:";
		}
	set .@s_all_selected, select(.@armor_menu$) -1;
	if(getequipid(.s_all_loc[.@s_all_selected])< 0){
		mes "Você não tem item equipado aí";
		close;
	}
	if (countitem(getequipid(.s_all_loc[.@s_all_selected])) > 1){
			mes "você tem mais de um item";
			mes "que você deseja encantar";
			close;
	}
	.@s_item_refine = getequiprefinerycnt(.s_all_loc[.@s_all_selected]);
	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 = true;
			}
		}
	}else{
		for(.@i=0;.@i<getarraysize(.black_list$);.@i++){
			if(getequipid(.s_all_loc[.@s_all_selected]) == atoi(.black_list$[.@i])){
				.@black_list_item = true;
			}
		}
		.@good_to_go = true;
	}
	if(!.@good_to_go || .@black_list_item){
		mes "sorry";
		mes " i can't enchant this item.";
		close;
	}
	.@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(.@remove_orbs){
		next;
		mes "isso irá remover todas as cartas e encantamentos!";
		if (.s_zeny_remove > 0) {
			mes "Isto vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
			switch(select("Não:Sim")){
				case 1: end;
				case 2:
					mes "Pela última vez!";
					mes "você tem certeza?";
					switch(select("Não:Sim")){
					case 1: end;
					case 2: 
						if (Zeny < .s_zeny_remove) {
							mes "Você não tem zeny suficiente.";
							close;
						}
						if(.select_remove_orb){
							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;
							end;
						}
						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;
						end;
					}
			}
	}
	if(.chosse_orb){
		next;
		mes "select the orb you want";
		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+"]");
	}else{
		.@selected_orb_size = rand(getarraysize(getd("." + .s_all$[.@s_all_selected] + "$")));
		.@selected_orb_id = getd("." + .s_all$[.@s_all_selected] + "$["+.@selected_orb_size+"]");
	}
	next;
	mes "Slot";
	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" + "Empty" + "^000000 ]:";
		}
	set .@s_slot_selected, select(.@slot_menu$) -1;
	.@s_slot_selected += getd(".slot_count_" + .s_all$[.@s_all_selected]);
	if(!.s_enchant_overwrite){
		if(getequipcardid(.s_all_loc[.@s_all_selected],.@s_slot_selected) > 0){
			mes "you already have orb in this slot";
			close;
		}
	}
	if (Zeny < .s_zeny) {
			mes "Sorry, but you don't have enough zeny.";
			close;
		}
	if(.item_is_required && .chosse_orb){
		if (countitem(.@selected_orb_id) < 1){
			mes"you don't have enchant orb";
			close;
		}
	}
	close2;
	set Zeny, Zeny-.s_zeny;
	if(!countitem(7717)){
	mes "Você precisa de 1x " + getitemname(7717) + " para encantar.";
	end;
	}
	specialeffect2 EF_MAPPILLAR;
	progressbar "ffff00",.progress_time;
delitem 7717,1;
	if(.item_is_required && .chosse_orb){delitem .@selected_orb_id,1;}
	if (rand(100) < .success_chanse[.@s_slot_selected]){
		mes "Sucesso!";
		specialeffect2 154;
		setd("[email protected]" + .@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;
	}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;
	}
	
	
Q_shop:
	switch(select("Weapons:Armors:Shields:Germents:Shoses:Accessarys:Uppers:Middels:Lowers")){
	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;	

OnInit:
	//--------------------------------------------------------------//
	//--------------------------------------------------------------//
	//--------------------   configuration   -----------------------//
	//--------------------------------------------------------------//
	//--------------------------------------------------------------//
	
	//--------------------------------------------------------------//
	//if you want to remove one from the menu you need to remove it down too!! /or add
	//--------------------------------------------------------------//
	setarray .s_all$,"Armadura","Meio";
	setarray .s_all_loc,EQI_ARMOR,EQI_HEAD_MID;
	
	//--------------------------------------------------------------//
	//Orbs IDs (Note : Shield = left hand so the weapon on the left hand count as Shield too!
	//--------------------------------------------------------------//
	//setarray .Weapon$,4741,4933,4861,4762,4934;	//right handed weapons
	setarray .Armadura$,4700,4701,4702,4730,4731,4732,4740,4741,4742,4710,4711,4712,4720,4721,4722,4750,4751,4752,4760,4761,4806,4861,4862,4867,4870,4800,4871;	//Armors
	//setarray .Shield$,4861,4762,4934;	//Shields and left hand weapons
	//setarray .Germent$,4741,4933,4861,4762,4934;	//Germent
	//setarray .Shose$,4741,4933,4861,4762,4934;	//Shose
	//setarray .Accessary$,4741,4933,4861,4762,4934;	//orbs id
	//setarray .Upper$,4741,4933,4861,4762,4934;	//Accessary
	setarray .Meio$,4700,4701,4702,4730,4731,4732,4740,4741,4742,4710,4711,4712,4720,4721,4722,4750,4751,4752,4760,4761,4806,4861,4862,4867,4870,4800,4871;	//Middel
	//setarray .Lower$,4741,4933,4861,4762,4934;	//Lower
	
	//--------------------------------------------------------------//
	//if you want to put specific IDs for kind of gear put it to 1
	//--------------------------------------------------------------//
	.specific_Weapons = false;
	.specific_Armaduras = false;
	.specific_Shields = false;
	.specific_Germents = false;
	.specific_Shoses = false;
	.specific_Accessarys = false;
	.specific_Uppers = false;
	.specific_Meios = false;
	.specific_Lowers = false;
	
	//--------------------------------------------------------------//
	//if specific put the IDs here
	//--------------------------------------------------------------//
	setarray .Weapons$,1601,1201,1204,1207,1210,1213,1216,1219,1222,1247,1248,1249;	//right handed weapons
	setarray .Armaduras$,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 .Meios$,2204,2202;	//Meios
	setarray .Lowers$,2628,2206;	//Lowers
	
	//--------------------------------------------------------------//
	//if not specific put the black list IDs here (if you want
	//--------------------------------------------------------------//
	setarray .black_list$,2335,2338,2340,2341;
	
	//--------------------------------------------------------------//
	//here you can make a specific slot number for each kind
	//0 = all 4 slot ,1 = last 3 slot ,2 = last 2 slot ,3 = last 1 slot
	//--------------------------------------------------------------//
	.slot_count_Weapon = 0;
	.slot_count_Armadura = 3;
	.slot_count_Shield = 0;
	.slot_count_Germent = 0;
	.slot_count_Shose = 0;
	.slot_count_Accessary = 0;
	.slot_count_Upper = 0;
	.slot_count_Meio = 3;
	.slot_count_Lower = 0;
	
	//--------------------------------------------------------------//
	//other configuration
	//--------------------------------------------------------------//
	setarray .s_level_required,0,175;	//the level required to use the npc
	.s_only_vip = false;	//if you want only vip to use it put it to 1
	setarray .success_chanse,100,100,100,100;	//success chanse [1st_slot_chanse,2nd_slot_chanse,3rd_slot_chanse,4th_slot_chanse]
	.s_zeny = 5000000;	//if you don't want zeny requirment set it to 0
	.s_zeny_remove = 10000000;	//this for enchantment reset
	.item_is_required = false;	//if you want the orb it self to be required true = yes , false = no(if .chosse_orb = false this will be false too)
	.s_enchant_overwrite = false;	//if true then you can overwrite the enchant
	.progress_time = 1;	//the time that needed to wait until the socket end
	.chosse_orb = false;	//false = random ,true = yes
	.brack_chance = 0;	//the chanse that it will brack if it fail
	.remove_enchant = true;	//false = no ,true = yes
	.select_remove_orb = false;
	//--------------------------------------------------------------//
	//this will only show the items that the npc can enchant in a shop but no one can buy from it as long as you don't give them the value
	//--------------------------------------------------------------//
	.enable_the_shop = false;


	
	
	
	//--------------------------------------------------------------//
	//Do not edit here
	//--------------------------------------------------------------//
	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;


 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0
8 minutes ago, spawnn said:

Hi, how modify script do not remove cards ? just enchants of fourth slot.

//===== rAthena Script =======================================
//= saders enchant npc
//===== By: ==================================================
//= Sader1992
//https://rathena.org/board/profile/30766-sader1992/
//===== Current Version: =====================================
//= 2.6
//===== Compatible With: ===================================== 
//= rAthena Project
//https://rathena.org/board/files/file/3602-saders-enchantment-npc/
//https://github.com/sader1992/sader_scripts
//===== Description: =========================================
//============================================================
//============================================================
prontera,157,176,6	script	Encantamentos	998,{
	disable_items;
	if(.s_only_vip){
		if(!vip_status(VIP_STATUS_ACTIVE)){
			mes "this service only for vip";
			close;
		}
	}
	if (BaseLevel < .s_level_required[0]){
		mes "Your level is too Low.";
		mes "   ";
		mes "Minimum level "+.s_level_required[0]+".";
		close;
	}else if(BaseLevel > .s_level_required[1]){
		mes "Your level is too High.";
		mes "   ";
		mes "Maximum level "+.s_level_required[1]+".";
		close;
	}
	mes "Ola!";
	mes "Você quer encantar seus equipamentos?";
	mes "Eu sou o melhor encantador do mundo!";
	next;
	if(.s_zeny > 0)
		mes "isso vai te custar " + .s_zeny + " Zenys !";
		mes "e 1x <ITEM>Ticket encantamento<INFO>7717</INFO></ITEM>.";
	if(.item_is_required)
		mes "e 1x ticket encantamento";
	mes "Eu farei o meu melhor para encantá-lo com sucesso!";
	next;
	.@string$[0] = "Encantar";
	if(.remove_enchant)
		.@string$[1] = "Remover Encantamento";
	if(.enable_the_shop)
		.@string$[2] = "The Items you can enchant";
	mes "O que deseja fazer ?";
	menu .@string$[0],L_Enchant,.@string$[1],L_Remove,.@string$[2],-;
	callsub Q_shop; end;
	L_Remove: .@remove_orbs = true;
	L_Enchant: 
	next;
	mes "Por favor, selecione o item.";
	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" + "No Equip" + "^000000 ]:";
		}
	set .@s_all_selected, select(.@armor_menu$) -1;
	if(getequipid(.s_all_loc[.@s_all_selected])< 0){
		mes "Você não tem item equipado aí";
		close;
	}
	if (countitem(getequipid(.s_all_loc[.@s_all_selected])) > 1){
			mes "você tem mais de um item";
			mes "que você deseja encantar";
			close;
	}
	.@s_item_refine = getequiprefinerycnt(.s_all_loc[.@s_all_selected]);
	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 = true;
			}
		}
	}else{
		for(.@i=0;.@i<getarraysize(.black_list$);.@i++){
			if(getequipid(.s_all_loc[.@s_all_selected]) == atoi(.black_list$[.@i])){
				.@black_list_item = true;
			}
		}
		.@good_to_go = true;
	}
	if(!.@good_to_go || .@black_list_item){
		mes "sorry";
		mes " i can't enchant this item.";
		close;
	}
	.@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(.@remove_orbs){
		next;
		mes "isso irá remover todas as cartas e encantamentos!";
		if (.s_zeny_remove > 0) {
			mes "Isto vai te custar " + .s_zeny_remove + " Zeny.";
		}
		mes "Você tem certeza?";
			switch(select("Não:Sim")){
				case 1: end;
				case 2:
					mes "Pela última vez!";
					mes "você tem certeza?";
					switch(select("Não:Sim")){
					case 1: end;
					case 2: 
						if (Zeny < .s_zeny_remove) {
							mes "Você não tem zeny suficiente.";
							close;
						}
						if(.select_remove_orb){
							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;
							end;
						}
						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;
						end;
					}
			}
	}
	if(.chosse_orb){
		next;
		mes "select the orb you want";
		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+"]");
	}else{
		.@selected_orb_size = rand(getarraysize(getd("." + .s_all$[.@s_all_selected] + "$")));
		.@selected_orb_id = getd("." + .s_all$[.@s_all_selected] + "$["+.@selected_orb_size+"]");
	}
	next;
	mes "Slot";
	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" + "Empty" + "^000000 ]:";
		}
	set .@s_slot_selected, select(.@slot_menu$) -1;
	.@s_slot_selected += getd(".slot_count_" + .s_all$[.@s_all_selected]);
	if(!.s_enchant_overwrite){
		if(getequipcardid(.s_all_loc[.@s_all_selected],.@s_slot_selected) > 0){
			mes "you already have orb in this slot";
			close;
		}
	}
	if (Zeny < .s_zeny) {
			mes "Sorry, but you don't have enough zeny.";
			close;
		}
	if(.item_is_required && .chosse_orb){
		if (countitem(.@selected_orb_id) < 1){
			mes"you don't have enchant orb";
			close;
		}
	}
	close2;
	set Zeny, Zeny-.s_zeny;
	if(!countitem(7717)){
	mes "Você precisa de 1x " + getitemname(7717) + " para encantar.";
	end;
	}
	specialeffect2 EF_MAPPILLAR;
	progressbar "ffff00",.progress_time;
delitem 7717,1;
	if(.item_is_required && .chosse_orb){delitem .@selected_orb_id,1;}
	if (rand(100) < .success_chanse[.@s_slot_selected]){
		mes "Sucesso!";
		specialeffect2 154;
		setd("[email protected]" + .@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;
	}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;
	}
	
	
Q_shop:
	switch(select("Weapons:Armors:Shields:Germents:Shoses:Accessarys:Uppers:Middels:Lowers")){
	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;	

OnInit:
	//--------------------------------------------------------------//
	//--------------------------------------------------------------//
	//--------------------   configuration   -----------------------//
	//--------------------------------------------------------------//
	//--------------------------------------------------------------//
	
	//--------------------------------------------------------------//
	//if you want to remove one from the menu you need to remove it down too!! /or add
	//--------------------------------------------------------------//
	setarray .s_all$,"Armadura","Meio";
	setarray .s_all_loc,EQI_ARMOR,EQI_HEAD_MID;
	
	//--------------------------------------------------------------//
	//Orbs IDs (Note : Shield = left hand so the weapon on the left hand count as Shield too!
	//--------------------------------------------------------------//
	//setarray .Weapon$,4741,4933,4861,4762,4934;	//right handed weapons
	setarray .Armadura$,4700,4701,4702,4730,4731,4732,4740,4741,4742,4710,4711,4712,4720,4721,4722,4750,4751,4752,4760,4761,4806,4861,4862,4867,4870,4800,4871;	//Armors
	//setarray .Shield$,4861,4762,4934;	//Shields and left hand weapons
	//setarray .Germent$,4741,4933,4861,4762,4934;	//Germent
	//setarray .Shose$,4741,4933,4861,4762,4934;	//Shose
	//setarray .Accessary$,4741,4933,4861,4762,4934;	//orbs id
	//setarray .Upper$,4741,4933,4861,4762,4934;	//Accessary
	setarray .Meio$,4700,4701,4702,4730,4731,4732,4740,4741,4742,4710,4711,4712,4720,4721,4722,4750,4751,4752,4760,4761,4806,4861,4862,4867,4870,4800,4871;	//Middel
	//setarray .Lower$,4741,4933,4861,4762,4934;	//Lower
	
	//--------------------------------------------------------------//
	//if you want to put specific IDs for kind of gear put it to 1
	//--------------------------------------------------------------//
	.specific_Weapons = false;
	.specific_Armaduras = false;
	.specific_Shields = false;
	.specific_Germents = false;
	.specific_Shoses = false;
	.specific_Accessarys = false;
	.specific_Uppers = false;
	.specific_Meios = false;
	.specific_Lowers = false;
	
	//--------------------------------------------------------------//
	//if specific put the IDs here
	//--------------------------------------------------------------//
	setarray .Weapons$,1601,1201,1204,1207,1210,1213,1216,1219,1222,1247,1248,1249;	//right handed weapons
	setarray .Armaduras$,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 .Meios$,2204,2202;	//Meios
	setarray .Lowers$,2628,2206;	//Lowers
	
	//--------------------------------------------------------------//
	//if not specific put the black list IDs here (if you want
	//--------------------------------------------------------------//
	setarray .black_list$,2335,2338,2340,2341;
	
	//--------------------------------------------------------------//
	//here you can make a specific slot number for each kind
	//0 = all 4 slot ,1 = last 3 slot ,2 = last 2 slot ,3 = last 1 slot
	//--------------------------------------------------------------//
	.slot_count_Weapon = 0;
	.slot_count_Armadura = 3;
	.slot_count_Shield = 0;
	.slot_count_Germent = 0;
	.slot_count_Shose = 0;
	.slot_count_Accessary = 0;
	.slot_count_Upper = 0;
	.slot_count_Meio = 3;
	.slot_count_Lower = 0;
	
	//--------------------------------------------------------------//
	//other configuration
	//--------------------------------------------------------------//
	setarray .s_level_required,0,175;	//the level required to use the npc
	.s_only_vip = false;	//if you want only vip to use it put it to 1
	setarray .success_chanse,100,100,100,100;	//success chanse [1st_slot_chanse,2nd_slot_chanse,3rd_slot_chanse,4th_slot_chanse]
	.s_zeny = 5000000;	//if you don't want zeny requirment set it to 0
	.s_zeny_remove = 10000000;	//this for enchantment reset
	.item_is_required = false;	//if you want the orb it self to be required true = yes , false = no(if .chosse_orb = false this will be false too)
	.s_enchant_overwrite = false;	//if true then you can overwrite the enchant
	.progress_time = 1;	//the time that needed to wait until the socket end
	.chosse_orb = false;	//false = random ,true = yes
	.brack_chance = 0;	//the chanse that it will brack if it fail
	.remove_enchant = true;	//false = no ,true = yes
	.select_remove_orb = false;
	//--------------------------------------------------------------//
	//this will only show the items that the npc can enchant in a shop but no one can buy from it as long as you don't give them the value
	//--------------------------------------------------------------//
	.enable_the_shop = false;


	
	
	
	//--------------------------------------------------------------//
	//Do not edit here
	//--------------------------------------------------------------//
	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;


 

Solved

Before:

getitem2 .@item, 1, 1, .@s_item_refine, 0, 0, 0, 0, 0;

after:

getitem2 .@item, 1, 1, .@s_item_refine, 0, .@card0, 0, 0, 0;

 

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.

Loading...
Sign in to follow this