change
if( rand(100) < .@Rates[.@i] ){
getitem .@RareID[.@i],1;
mes "Done, congratz.";
}else{
mes "But Failed.";
}
to this
if( rand(100) < .@Rates[.@i] ){
getitem .@RareID[.@i],1;
mes "Done, congratz.";
announce "Wow.."+strcharinfo(0)+" has successfully Refine the "+getitemname( .@OriID[.@i] )+" to "+getitemname( .@RareID[.@i] ),0;
}else{
mes "But Failed.";
announce strcharinfo(0)+" has broke "+getitemname( .@OriID[.@i] ),0;
}