Jump to content
  • 0

Requesting a NPC that can "Enchant" from 1 to 4 slots from all equipments


ItsFree

Question


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

As the title say, someone there have a NPC that can enchant all equipment ¿? i've some examples what im looking for... basic is.... the npc let me pick which equipment (shoes, garment, armor, headgear, etc...) also let me choose which slot... each slot have a percent to fail/success if fail i can "edit" if happen nothing or if break..., also i can choose which "cards" or "card-items" for each equip location... also let me choose how much zeny or item_id for cost/try searching on the forum i found some similars, but is not working like i want.

This only let me put 1 item and no more... if fix i would be glad....
 

This is perfect but only the first classes... and my server also use grunslinger and other classes...


And this works well but only work with armor and only 4th slot :/
 

// ---
prontera,180,180,8	script	Sam	549,{
set .@nombre$, "[ ^FF0000Hidden Slot Enchant^000000 ]";
mes .@nombre$;
mes "Hi i can enchant your armor but my service have a cost of ^FF0000" + .zeny + " z^000000.";
next;
if (select("Continue:More Information;") == 2) {
	mes .@nombre$;
	mes "I can enchant the 4th slot of the armor with a stat.";
	next;
	mes .@nombre$;
	mes "we can enchant armors without slot, with slot or.";
	mes "^FF0000Armors without slot i can enchant: ^000000";
	for (set .@c, 0; .@c < getarraysize(.ids1); set .@c, .@c + 1)
		mes "- " + getitemname(.ids1[.@c]) + " [0]";
	next;
	mes .@nombre$;
	mes "^FF0000Armors with slot i can enchant: ^000000";
	for (set .@c, 0; .@c < getarraysize(.ids2); set .@c, .@c + 1)
		mes "- " + getitemname(.ids2[.@c]) + " [1]";
	next;
	mes .@nombre$;
	mes "^FF0000High quality armor i can enchant: ^000000";
	for (set .@c, 0; .@c < getarraysize(.ids3); set .@c, .@c + 1)
		mes "- " + getitemname(.ids3[.@c]) + " [1]";
	next;
} // End if
mes .@nombre$;
if (zeny < .zeny)	{
	mes "Sorry but you dont have enough zeny.";
	close;
} // End if
mes "Choose the kind of armor you want to enchant. ^FF0000There's a 10% to break the item.^000000.";
next;
switch (select("Armor without Slot:Armor with Slot:High Quality Armor")) {
	case 1:
		set .@j, 1;
		break;

	case 2:
		set .@j, 2;
		break;

	case 3:
		set .@j, 3;
		break;
} 
for (set .@c, 0; .@c < getarraysize(getd(".ids" + .@j)); set .@c, .@c + 1)
	if (isequipped(getd(".ids" + .@j + "[" + .@c +"]")) == 1)
		set .@s, .@c;
mes .@nombre$;
if (!.@s) {
	if (atoi(getequipname(EQI_ARMOR)) == -1)
		mes "You dont have any armor equipped, so nothing to enchant..";
	else
		mes "You've Equipped ^FF0000" + getequipname(EQI_ARMOR) + " Armor^000000, and doesn't one of the list before...";
	close;
} 
mes "Oh you have a ^FF0000[" + getitemname(getd(".ids" + .@j + "[" + .@s +"]")) + "]^000000 equip.";
next;
mes .@nombre$;
mes "Here we go...";
mes "¡Good Luck!";
next;
set zeny, zeny - .zeny;
set .@itemid, getequipid(EQI_ARMOR);
delitem .@itemid,1;
set .@rand, rand(1000);
if (.@rand >= 0 && .@rand < 100) { // Break 10%
	mes "[Hidden Slot Enchant]";
	mes "Whoops i fail... sorry...";
	close;
} else if (.@rand >= 100 && .@rand < 300) // +1 20%
	setarray .@level[0],4700,4710,4720,4730,4740,4750;
else if (.@rand >= 300 && .@rand < 450) // +2 15%
	setarray .@level[0],4701,4711,4721,4731,4741,4751;
else if (.@rand >= 450 && .@rand < 600) // +3 15%
	setarray .@level[0],4702,4712,4722,4732,4742,4752;
else if (.@rand >= 600 && .@rand < 700) // +4 10%
	setarray .@level[0],4703,4713,4723,4733,4743,4753;
else if (.@rand >= 700 && .@rand < 800) // +5 10%
	setarray .@level[0],4704,4714,4724,4734,4744,4754;
else if (.@rand >= 800 && .@rand < 890) // +6 9%
	setarray .@level[0],4705,4715,4725,4735,4745,4755;
else if (.@rand >= 890 && .@rand < 940) // +7 5%
	setarray .@level[0],4706,4716,4726,4736,4746,4756;
else if (.@rand >= 940 && .@rand < 965) // +8 2,5%
	setarray .@level[0],4707,4717,4727,4737,4747,4757;
else if (.@rand >= 965 && .@rand < 990) // +9 2,5%
	setarray .@level[0],4708,4718,4728,4738,4748,4758;
else if (.@rand >= 990) // +10 1%
	setarray .@level[0],4709,4719,4728,4739,4749,4759;
set .@runa, .@level[rand(getarraysize(.@level))];

getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@runa;
mes "[Hidden Slot Enchant]";
mes "Great! here's your armor.";
close;

OnInit:
set .zeny, 80000000;

setarray .ids1[0],2307, // Mantle
				2309, // Coat
				2314, // Chain Mail
				2316, // Plate Armor
				2321, // Silk Robe
				2325, // Saint Robe
				2327, // Holy Robe
				2330, // Tights
				2332, // Silver Robe
				2334, // Magic Coat
				2335, // Thief Clothes
				2341, // Legion Full Plate
				2344, // Pierce Armor of Volcano
				2348, // Saphien's armor of ocean
				2346, // Aebeecee's Raging Typhoon Armor
				2350, // Claytos Cracking Earth Armor
				2395, // Glorious Suit type 2
				2396, // Glorious Suit type 3
				2394, // Glorious Suit type 1
				2337, // Ninja Suit
				2386; // Chameleon Armor

setarray .ids2[0],2311, // Mink Coat[1]
				2318, // Lord Clothes[1]
				2319, // Glitering Jacket[1]
				2320, // Formal Suit[1]
				2308, // Mantle[1]
				2310, // Coat [1]
				2315, // Chain Mail[1]
				2317, // Plate Armor[1]
				2322, // Silk Robe[1]
				2323, // Scapulare[1]
				2326, // Saint Robe[1]
				2331, // Tights[1]
				2333, // Silver Robe[1]
				2336, // Thief Clothes[1]
				2342, // Legion's Full Plate[1]
				2345, // Pierce Armor of Volcano[1]
				2347, // Saphien's Armor of ocean[1]
				2349, // Aebecee's Raging Typhoon Armor[1]
				2351; // Claytos Cracking Earth Armor[1]

setarray .ids3[0],2364, // Meteor Plate[1]
				2365, // Orlean's Uniform[1]
				2375, // Diabolus Robe[1]
				2374, // Diabolus Armor[1]
				2357, // Valkyrian Armor[1]
				2387, // Sprint Mail[1]
				2389, // Kandra[1] || Gandora[1]
				2388, // Naga Scale Armor[1]
				2391, // Life Link[1]
				2390, // Refined Tights[1]
				2376, // Assaulter Plate[1]
				2377, // Elite Engineer Armor[1]
				2378, // Assassin Robe[1]
				2379, // Warlock Battle Robe[1]
				2380, // Robe of Order[1]
				2381, // Elite Archer Suit[1]
				2382; // Elite Shooter Suit[1]
end;
}


 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.

×
×
  • Create New...