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_wizard1_01");

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

oTarget = GetObjectByTag("wizard1");

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