Hi, you can find many sample files in folder npc/re/merchants/enchant_**.txt
This is my script that give 3 random enchants in 1 roll.
prontera,156,186,4 script stest 857,{
.@part = EQI_ARMOR;
.@item_to_test = 2302; // Cotton Shirt [1]
if (!countitem(.@item_to_test)) {
specialeffect2 EF_STEAL;
getitem2 .@item_to_test,1,1,7,0,4003,0,0,0;
message strcharinfo(0),"You got a Cotton Shirt to test.";
end;
}
if (!getequipisequiped(.@part)) {
message strcharinfo(0), "Make sure you're wearing the equipment first.";
end;
}
// Enchant stones
setarray .@enchant_slot1[0],4710,4711,4720,4721; //Inteligence1,Inteligence2,Dexterity1,Dexterity2
setarray .@enchant_slot2[0],4711,4720,4721,4740; //Inteligence2,Dexterity1,Dexterity2,Vitality1
setarray .@enchant_slot3[0],4764,4799,4766,4788; //Critical5,HP500,Atk2,Mdef6
// Random
.@enchant_1 = .@enchant_slot1[rand(getarraysize(.@enchant_slot1))];
.@enchant_2 = .@enchant_slot2[rand(getarraysize(.@enchant_slot2))];
.@enchant_3 = .@enchant_slot3[rand(getarraysize(.@enchant_slot3))];
// Get current refine to keep refine
.@equip_refine = getequiprefinerycnt(.@part);
// Get current card to keep card
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
// Delete item
delitem .@item_to_test,1; // Cotton Shirt [1]
// Can break armor?
if (rand(100) < 50) {
specialeffect2 EF_SUI_EXPLOSION;
message strcharinfo(0),"Oh Shit!";
end;
} else {
// Effect
specialeffect2 EF_REPAIRWEAPON;
emotion ET_BEST;
// Get a new item
getitem2 .@item_to_test,1,1,.@equip_refine,0,.@equip_card[0],.@enchant_1,.@enchant_2,.@enchant_3;
message strcharinfo(0),"Yay!";
}
end;
}
It took me about 15 minutes..., hope it helps you ?