location lTarget;
object oTarget;

//Can go on enter of an area or on enter of a tracks trigger.
//Basically you spawn an npc, then after a while they dissapear.
//This script will not spawn an npc if one already exist.
void main()
{
    object oPC = GetEnteringObject(),
           oObject = GetWaypointByTag("WP_Gypsy_01");

    if (!GetIsObjectValid(GetNearestObjectByTag("Gypsy", oObject)))
    {
        CreateObject(OBJECT_TYPE_CREATURE, "encumbriagypsy", GetLocation(oObject));
    }

oTarget = GetObjectByTag("Gypsy");

DelayCommand(880.0, DestroyObject(oTarget, 0.0));
}