NWScript:
void main()
{
effect ePuke = EffectVisualEffect(VFX_COM_CHUNK_YELLOW_SMALL);
object oPuker= GetNearestObjectByTag("YOUR_PUKERS_TAG_GOES_HERE");
string sPukeTalk = "BBBLLLLAAAARRRRGGGGHHHHH!!!!";
string sPukeApology = "Sho Shorry about your shooesh...I thinksh I have hash too much to drinksh!";
ClearAllActions();
AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_LOOPING_MEDITATE));
AssignCommand(OBJECT_SELF, ActionSpeakString(sPukeTalk));
DelayCommand(2.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePuke, OBJECT_SELF, 1.0));
DelayCommand(5.0, ActionSpeakString(sPukeApology));
}