//--- Bitmasks ----
// 1 - Top Headgear
// 2 - Armor
// 4 - Left Hand
// 8 - Right Hand
// 16 - Garment
// 32 - Shoes
// 64 - Left Accessory
// 128 - Right Accessory
// 256 - Middle Headgear
// 512 - Lower Headgear
// .....callfunc( "RefineFunc",<itemID>,<Amount>,<BitMasks>,<MinRefine>,<MaxRefine>,<CheckEquip>,<RefineMode>,<Percent> );
// 1. itemID -> Item that will be used during Refine.
// 2. Amount -> Amount of Required Items.
// 3. BitMask -> Refer to above bitmask table.
// 4. MinRefine -> Required Min Refine to use.
// 5. MaxRefine -> What is the Max Refine. [ Can Bypass Default Server Max Refine ]
// 6. CheckEquip -> Check Equipments is Refineable or not. [ 0 = Disable / 1 = Enable ]
// 7. RefineMode -> +1 / Max Refine. [ 0 = +1 Refine / 1 = Max Refine ]
// 8. Percent -> Rate of Success to refine current Equipment.
// Notes : You can Customize it according to whatever way you want.
// Different NPCs / Items with Different Settings.
// It will consume the items that you defined to Refine the Equipments according to your Settings.
//----------- If used this as Item Script -----------
// Example : Red Potion with 100% Refine Rate
// 501,Red_Potion,Red Potion,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc( "RefineFunc",501,1,63,0,10,1,0,100 ); },{},{}
// Change Item Type to 11 and Amount Required to 1 ( Advised )
//----------- If used this as NPC Script ------------
prontera,142,169,4 script Refiner's Lodge Warper 752,{
mes "[100%Refiner's Lodge Warper]";
mes "Need a sure refiner?";
mes "Here are some of the Guidelines:";
next;
mes "You need to Upgrade/Refine your item first to ^FF0000+4^000000 and,";
mes "You'll be needing lots of ^FF0000Saican Credits^000000 for you to avail their services";
mes "okay now you do want to proceed?";
next;
menu "Okay",k_go,"No",-;
close;
k_go:
warp "new_1-2",172,166;
close;
OnInit:
waitingroom "100%Refiner's Lodge Warper",0;
end;
}
// Example : 90% Success Rate Refiner.
new_1-2,183,172,4 script 100% +5 Refiner 757,{
callfunc( "RefineFunc",25149,400,63,4,5,1,0,100 );
OnInit:
waitingroom "Refine's +4 to +5",0;
end;
}
new_1-2,182,162,4 script 100% +6 Refiner 757,{
callfunc( "RefineFunc",25149,500,63,5,6,1,0,100 );
OnInit:
waitingroom "Refine's +5 to +6",0;
end;
}
new_1-2,160,162,4 script 100% +7 Refiner 757,{
callfunc( "RefineFunc",25149,600,63,6,7,1,0,100 );
OnInit:
waitingroom "Refine's +6 to +7",0;
end;
}
new_1-2,161,182,4 script 100% +8 Refiner 757,{
callfunc( "RefineFunc",25149,700,63,7,8,1,0,100 );
OnInit:
waitingroom "Refine's +7 to +8",0;
end;
}
new_1-2,182,182,4 script 100% +9 Refiner 757,{
callfunc( "RefineFunc",25149,800,63,8,9,1,0,100 );
OnInit:
waitingroom "Refine's +8 to +9",0;
end;
}
new_1-2,173,172,4 script 100% +10 Refiner 757,{
callfunc( "RefineFunc",25149,900,63,9,10,1,0,100 );
OnInit:
waitingroom "Refines +9 to +10",0;
end;
}
function script RefineFunc {
for( set .@i,1; .@i <= 10; set .@i,.@i + 1 )
set .@Menu$,.@Menu$ + (( getarg(2) & pow( 2,(.@i-1 ) ) && getequiprefinerycnt( .@i ) >= getarg(3) && getequiprefinerycnt( .@i ) < getarg(4) && getequipisequiped( .@i) )?"^FF0000+"+getequiprefinerycnt( .@i )+" ^0000FF"+getequipname( .@i )+" "+( getitemslots( getequipid( .@i ) )?"["+getitemslots( getequipid( .@i ) )+"]":"" )+"^000000":"" )+":";
set .@Refine,select( .@Menu$ );
mes "Required ^FF0000"+getarg(1)+" x "+getitemname( getarg(0) )+"^000000";
if( getarg(5) == 1 && !getequipisenableref( .@Refine ) )
mes "I cant refine this items. Because it is ^FF0000Un-Refineable^000000.";
else{
if( select( "^FF0000Refine^000000:Cancel" ) == 2 ) close;
if( countitem( getarg(0) ) < getarg(1) ) close;
delitem getarg(0),getarg(1);
if( rand(100) < getarg(7) ){
if( getarg(6) )
while( getequiprefinerycnt( .@Refine ) < getarg(4) )
successrefitem ( .@Refine );
else
successrefitem ( .@Refine );
mes "You have refined : ";
mes "^FF0000+"+getequiprefinerycnt( .@Refine )+" ^0000FF"+getequipname( .@Refine )+"^000000";
}else{
failedrefitem ( .@Refine );
mes "Sorry, Failed in Refine and Equipment...Destroyed.";
}
}
close;
}
CREDITs GOES TO THE RIGHTFUL MAKER/OWNER
[because i dont know who the owner is! hehe, when I did DL this script it doesnt have a name of maker]
this is not the original script..
I already modified this script...
hope it helps you alot^^