dude, u can test this
is in Spanish the unique problem dude.
this Npc can enchant u the X armor to +10 runes with a little % what can be modified.
Credits to: Rokimoki
// Hidden Enchant Slot con posibilidad de +1~10 v1.0 [Rokimoki] -
[email protected]
// ---
prontera,141,180,5 script Shiriublem 84,{
set .@nombre$, "[^0000FFHidden Slot Enchant^000000]";
mes .@nombre$;
mes "Bienvenid@ a mis servicios de encantamiento. El servicio cuesta ^FF0000" + .zeny + " z^000000.";
next;
if (select("Continuar:Más información") == 2) {
mes .@nombre$;
mes "Puedo encantarte una armadura con una runa en el 4º slot, puede ser +1 o hasta +10 de cualquier stat aleatorio permanentemente.";
next;
mes .@nombre$;
mes "Tenemos para encantar armaduras sin slot, con slot y de alta calidad.";
mes "^FF0000Armaduras con slot que puedo encantar: ^000000";
for (set .@c, 0; .@c < getarraysize(.ids1); set .@c, .@c + 1)
mes "- " + getitemname(.ids1[.@c]) + " [0]";
next;
mes .@nombre$;
mes "^FF0000Armaduras con slot que puedo encantar: ^000000";
for (set .@c, 0; .@c < getarraysize(.ids2); set .@c, .@c + 1)
mes "- " + getitemname(.ids2[.@c]) + " [1]";
next;
mes .@nombre$;
mes "^FF0000Armaduras de alta calidad que puedo encantar: ^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 "Lo siento, no tienes los zenys necesarios.";
close;
} // End if
mes "Elige el tipo de armadura que quieras encantar. ^FF0000Te aviso que tengo un 10% de posibilidad de romper el item^000000.";
next;
switch (select("Armadura sin Slot:Armadura con Slot:Armadura de Alta Calidad")) {
case 1:
set .@j, 1;
break;
case 2:
set .@j, 2;
break;
case 3:
set .@j, 3;
break;
} // End switch
// Detectamos si tiene equipado una armos que podemos encantar
for (set .@c, 0; .@c < getarraysize(getd(".ids" + .@j)); set .@c, .@c + 1)
if (isequipped(getd(".ids" + .@j + "[" + .@c +"]")) == 1)
set .@s, .@c; // Definimos la ID de esa armor en la posición del array
mes .@nombre$;
// Descartamos si no tiene armor equipada o si no está definida
if (!.@s) {
if (atoi(getequipname(EQI_ARMOR)) == -1)
mes "Ahora mismo no llevas ningún armor equipado, entonces no hay nada que encantar..";
else
mes "Tienes equipada ^FF0000" + getequipname(EQI_ARMOR) + " armor^000000, y no consta en las que yo puedo equipar, háblame de nuevo y consúltame más información para saber las que puedes encantar.";
close;
} // End if
// Empezamos el proceso de encantamiento
mes "Veo que tienes un ^FF0000[" + getitemname(getd(".ids" + .@j + "[" + .@s +"]")) + "]^000000 equipado.";
next;
mes .@nombre$;
mes "Bueno, allí vamos...";
mes "¡Buena Suerte!";
next;
set zeny, zeny - .zeny;
// Borramos el item equipado
set .@itemid, getequipid(EQI_ARMOR);
delitem .@itemid,1;
// Cálculo del % y según el % definimos un array con la runa de +X stat y sus stats pertenecientes
set .@rand, rand(1000);
if (.@rand >= 0 && .@rand < 100) { // Break 10%
mes "[Hidden Slot Enchant]";
mes "Ha fallado el intento. Lo siento...";
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;
// Calculamos aleatoriamente el stat con 16,6% cada una
set .@runa, .@level[rand(getarraysize(.@level))];
// Encantamos el armor con la runa seleccionada
getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@runa;
mes "[Hidden Slot Enchant]";
mes "Bien~ ¡ Aquí tienes tu armadura encantada !";
close;
OnInit:
// Definimos el Zeny que cuesta encantar, 600k por defecto
set .zeny, 600000;
// En esta parte se indica que ID's de armadura pertenece a cada tipo de categoria, para hacerte mas sencillo la comprensión y customizacion si se lo desea.
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]
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;
} // End Script