Default refine npc have safe limit and max refine. You can find it here npc/merchants/refine.txt#L571
callfunc "refinemain","Aragham",0;
to :
callfunc "refinemain","Aragham",1;
You can do this to all refine merchants.
For repair npc. Try this :
prontera,172,182,1 script Repairman 46,{
if ( getbrokenid(1) == 0 ){
mes "[Refiner]";
mes "You don't have anything to be repaired!";
close;
}
atcommand "@repairall";
dispbottom "Repaired all broken equipment.";
end;
}