prontera,129,166,6 script Socket Master#r1 864,{
mes "["+strnpcinfo(1)+"]";
if (Sex)
mes "Hello sir ^0000FF"+strcharinfo(0)+"^000000, how may I help you?";
else
mes "Hello lady ^0000FF"+strcharinfo(0)+"^000000, how may I help you?";
next;
if (getgmlevel() < 0)
set .@menu, select("Enchant:No Thanks");
else {
set .@menu, select("Random Enchant Effect:No Thanks:^FF0000Choose Enchant Effect^000000");
if (.@menu == 3) {
set .@gmlevel, 1;
goto L_EnchantLoc;
}
}
if (.@menu == 2) {
mes "["+strnpcinfo(1)+"]";
mes "ok come back again if u want";
close;
}
if (.@menu == 1) {
L_EnchantLoc:
mes "["+strnpcinfo(1)+"]";
mes "Select an equipment first, then I'll ask you the ^FF0000Enchantment Type^000000, ^FF0000Class Type^000000 (If necessary), ^0000FFSlot Number^000000, and give you the final ^009900Zeny Cost^000000 for my services.";
next;
setarray .@position$[1], "Headgear","Armor","Invalid","Invalid","Invalid","Invalid","Invalid","Invalid","Mid-Headgear","Lower-Headgear";
set .@menu$,"";
deletearray .@arr;
set .@j, 1;
for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
{
if(getequipisequiped(.@i) && (.@i !=4 ) && (.@i !=5 ) && (.@i !=6 ) && (.@i != 7) && (.@i !=8 ) && (.@i !=3 )) {
set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
set .@arr[.@j], .@i;
set .@j, .@j + 1;
set .@menu$, .@menu$ + ":";
}
}
if (.@menu$ == "") {
mes "["+strnpcinfo(1)+"]";
mes "Errr wait. Oh Sorry but you must have armors equipped to enchant them!";
close;
}
// Calibrating menu
set .@part, select(.@menu$);
if (.@arr[.@part] == 1)
set .@part, 1;
else if (.@arr[.@part] == 2)
set .@part, 2;
else if (.@arr[.@part] == 9)
set .@part, 9;
else if (.@arr[.@part] == 10)
set .@part, 10;
if (.@gmlevel) goto L_SelectSlot;
// Selecting Slots
L_SelectSlot:
set .@slot_num, 1;
if ((.@slot_num > 1)) {
mes "["+strnpcinfo(1)+"]";
mes "Sorry but you must select a valid slot number.";
close;
}
// Gm Option Select
if (.@gmlevel) set .@enchant_type, 1;
// Special Specific Enchant Selection
if (.@enchant_type == 1) {
L_SelectEnc:
mes "["+strnpcinfo(1)+"]";
mes "Please now select the specific enchantment. First you choose the class type, then you select the specific enchant.";
next;
set .@menu$, "";
set .@selected_bonus, 0;
if (.@gmlevel) {
set .@menu$, .@menu$ + ":^0000FFStr+1^000000";
set .@menu$, .@menu$ + ":^0000FFStr+2^000000";
set .@menu$, .@menu$ + ":^0000FFStr+3^000000";
set .@menu$, .@menu$ + ":^0000FFStr+4^000000";
set .@menu$, .@menu$ + ":^0000FFStr+5^000000";
set .@menu$, .@menu$ + ":^0000FFStr+6^000000";
set .@menu$, .@menu$ + ":^0000FFStr+7^000000";
set .@menu$, .@menu$ + ":^0000FFStr+8^000000";
set .@menu$, .@menu$ + ":^0000FFStr+9^000000";
set .@menu$, .@menu$ + ":^0000FFStr+10^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+1^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+2^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+3^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+4^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+5^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+6^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+7^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+8^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+9^000000";
set .@menu$, .@menu$ + ":^0000FFAgi+10^000000";
set .@menu$, .@menu$ + ":^0000FFVit+1^000000";
set .@menu$, .@menu$ + ":^0000FFVit+2^000000";
set .@menu$, .@menu$ + ":^0000FFVit+3^000000";
set .@menu$, .@menu$ + ":^0000FFVit+4^000000";
set .@menu$, .@menu$ + ":^0000FFVit+5^000000";
set .@menu$, .@menu$ + ":^0000FFVit+6^000000";
set .@menu$, .@menu$ + ":^0000FFVit+7^000000";
set .@menu$, .@menu$ + ":^0000FFVit+8^000000";
set .@menu$, .@menu$ + ":^0000FFVit+9^000000";
set .@menu$, .@menu$ + ":^0000FFVit+10^000000";
set .@menu$, .@menu$ + ":^0000FFInt+1^000000";
set .@menu$, .@menu$ + ":^0000FFInt+2^000000";
set .@menu$, .@menu$ + ":^0000FFInt+3^000000";
set .@menu$, .@menu$ + ":^0000FFInt+4^000000";
set .@menu$, .@menu$ + ":^0000FFInt+5^000000";
set .@menu$, .@menu$ + ":^0000FFInt+6^000000";
set .@menu$, .@menu$ + ":^0000FFInt+7^000000";
set .@menu$, .@menu$ + ":^0000FFInt+8^000000";
set .@menu$, .@menu$ + ":^0000FFInt+9^000000";
set .@menu$, .@menu$ + ":^0000FFInt+10^000000";
set .@menu$, .@menu$ + ":^0000FFDex+1^000000";
set .@menu$, .@menu$ + ":^0000FFDex+2^000000";
set .@menu$, .@menu$ + ":^0000FFDex+3^000000";
set .@menu$, .@menu$ + ":^0000FFDex+4^000000";
set .@menu$, .@menu$ + ":^0000FFDex+5^000000";
set .@menu$, .@menu$ + ":^0000FFDex+6^000000";
set .@menu$, .@menu$ + ":^0000FFDex+7^000000";
set .@menu$, .@menu$ + ":^0000FFDex+8^000000";
set .@menu$, .@menu$ + ":^0000FFDex+9^000000";
set .@menu$, .@menu$ + ":^0000FFDex+10^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+1^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+2^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+3^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+4^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+5^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+6^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+7^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+8^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+9^000000";
set .@menu$, .@menu$ + ":^0000FFLuk+10^000000";
set .@menu$, .@menu$ + ":^0000FFMATK+1%^000000";
set .@menu$, .@menu$ + ":^0000FFMATK+2%^000000";
set .@menu$, .@menu$ + ":^0000FFFlee+6^000000";
set .@menu$, .@menu$ + ":^0000FFFlee+12^000000";
set .@menu$, .@menu$ + ":^0000FFCRI+5^000000";
set .@menu$, .@menu$ + ":^0000FFCRI+7^000000";
set .@menu$, .@menu$ + ":^0000FFATK+2%^000000";
set .@menu$, .@menu$ + ":^0000FFATK+3%^000000";
set .@selected_bonus, select(.@menu$) + 4699;
next;
}
set .@selected_enchant, .@menu;
set .@menu, 0;
}
// Giving Zeny Cost, and Chance
set .@equip_cardid, getequipcardid(.@part,(4 - .@slot_num));
set .@itemid, getequipid(.@part);
if (countitem(.@itemid) > 1) {
mes "["+strnpcinfo(1)+"]";
mes "Ah, looks like you have more than one of the same item in your inventory, I'm sorry but you must store them first before proceeding.";
close;
}
mes "["+strnpcinfo(1)+"]";
if (.@equip_cardid <= 0)
mes "So far so good, please confirm your enchantment.";
else
mes "Please confirm your enchantment. ^FF0000Overplaced old effects will be lost^000000";
// First Enchantment Type ------------------------------------------------------------------------------------------------
if (.@enchant_type == 1) {
// Confirmation
if (.@gmlevel)
set .@zeny_cost, 1;
else
set .@zeny_cost, 5000000;
if (.@gmlevel)
set .@chance, 100;
else
set .@chance, (110 - (10*.@slot_num));
mes "^0000FFEquip^000000 = "+getitemname(.@itemid);
mes "^0000FFChance^000000 = "+.@chance+"%";
mes "^0000FFSlot Number^000000 = "+( (.@slot_num == 1) ? "1st Slot" : (.@slot_num == 2 ? "2nd Slot" : "3rd Slot") );
mes "^0000FFZeny Cost^000000 = "+.@zeny_cost+"z";
if (!.@gmlevel)
mes "^0000FFDark Destiny Crystal^000000 = 3 Consumed";
mes "^0000FFSelected Enchantment^000000 = "+getitemname(.@selected_bonus);
if (.@equip_cardid > 0)
mes "^FF0000Overplace^000000 = "+getitemname(.@equip_cardid);
next;
if (Select("Confirm:Cancel") == 2) close;
// Check Zeny
if (Zeny < .@zeny_cost) {
mes "["+strnpcinfo(1)+"]";
mes "Sorry, but you are broke.";
close;
}
if ((countitem(30041) < 3) && (!.@gmlevel)) {
mes "["+strnpcinfo(1)+"]";
mes "Hey! You can't Power Refine without Power Stones!";
close;
}
// Refine Attempt
progressbar "ffff00",3;
// Double Check after progress bar
if (Zeny < .@zeny_cost) {
mes "["+strnpcinfo(1)+"]";
mes "Are you trying to fool me?! You don't have zeny anymore!";
close;
}
if ( (countitem(30041) < 3) && (!.@gmlevel) ) {
mes "["+strnpcinfo(1)+"]";
mes "Hey! You can't Power Refine without Power Stones!";
close;
}
if (getequipid(.@part) != .@itemid) {
mes "["+strnpcinfo(1)+"]";
mes "What do you think you are doing, your punk?! You switched your equipment! Get lost before I sue you.";
close;
}
// Fail
if (rand(0,100) > .@chance) {
specialeffect2 306;
mes "["+strnpcinfo(1)+"]";
mes "Wooops! I'm sorry, but it broke. There's nothing I can do about it anymore.";
set Zeny, Zeny - .@zeny_cost;
if (!.@gmlevel)
delitem 30041,3;
delitem .@itemid,1;
close;
}
else {
// Success
set .@rand_bonus, .@selected_bonus;
mes "["+strnpcinfo(1)+"]";
mes "Ha! There you go, your brand new enchanted equipment!";
set .@refine, getequiprefinerycnt(.@part);
for (set .@i, 0; .@i < 4; set .@i, .@i + 1)
set .@cardid[.@i], getequipcardid(.@part,.@i);
delitem .@itemid,1;
if (!.@gmlevel)
delitem 30041,3;
set Zeny, Zeny - .@zeny_cost;
specialeffect2 305;
if (.@slot_num == 1)
getitem2 .@itemid, 1, 1, .@refine, 0, .@cardid[0], .@cardid[1], .@cardid[2], .@rand_bonus;
close;
}
}
if (.@enchant_type == 0) {
// Confirmation
// The random bonus is given before the actual success... But it's hidden, obviously.
set .@rand_bonus, rand(4700,4767);
if (.@slot_num == 1) set .@zeny_cost, 1000000;
mes "^0000FFEquip^000000 = "+getitemname(.@itemid);
mes "^0000FFChance^000000 = "+(110 - (10*.@slot_num))+"%";
mes "^0000FFSlot Number^000000 = "+( (.@slot_num == 1) ? "1st Slot" : (.@slot_num == 2 ? "2nd Slot" : "3rd Slot") );
mes "^0000FFZeny Cost^000000 = "+.@zeny_cost+"z";
mes "^0000FFDark Destiny Crystal^000000 = 1 Consumed";
if (.@equip_cardid > 0)
mes "^FF0000Overplace^000000 = "+getitemname(.@equip_cardid);
next;
if (Select("Confirm:Cancel") == 2) close;
// Check Zeny
if (Zeny < .@zeny_cost || countitem(30041) < 1) {
mes "["+strnpcinfo(1)+"]";
mes "Sorry, but you are broke.";
close;
}
// Refine Attempt
progressbar "ffff00",3;
// Double Check after progress bar
if (Zeny < .@zeny_cost) {
mes "["+strnpcinfo(1)+"]";
mes "Are you trying to fool me?! You don't have zeny anymore!";
close;
}
if (getequipid(.@part) != .@itemid) {
mes "["+strnpcinfo(1)+"]";
mes "What do you think you are doing, your punk?! You switched your equipment! Get lost before I sue you.";
close;
}
// Fail
if (rand(0,100) > (90 - (10*.@slot_num))) {
specialeffect2 306;
mes "["+strnpcinfo(1)+"]";
mes "Wooops! I'm sorry, but it broke. There's nothing I can do about it anymore.";
set Zeny, Zeny - .@zeny_cost;
delitem 30041,1;
//delitem .@itemid,1;
close;
}
else {
// Success
mes "["+strnpcinfo(1)+"]";
mes "Ha! There you go, your brand new enchanted equipment!";
set .@refine, getequiprefinerycnt(.@part);
for (set .@i, 0; .@i < 4; set .@i, .@i + 1)
set .@cardid[.@i], getequipcardid(.@part,.@i);
delitem .@itemid,1;
delitem 30041,1;
set Zeny, Zeny - .@zeny_cost;
specialeffect2 305;
if (.@slot_num == 1)
getitem2 .@itemid, 1, 1, .@refine, 0, .@cardid[0], .@cardid[1], .@cardid[2], .@rand_bonus;
}
close;
}
}
}
}
Some1 Give that to my. . . im just share it. . that is not my work