if for client-effect only, maybe make a script command for like
displayeffect <SI>,<duration>;
and it has
clif_status_change(&sd->bl,script_getnum(st,2),0,script_getnum(st,3),0,0,0);
permanent duration is -1, or maybe u can put the script OnPCStatCalcEvent