void main()
{
    int nFighting = 0;
    int nCount = 1;
    object oFighter = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, nCount);
    object oBalor = GetNearestObjectByTag("nk_fp_balor", OBJECT_SELF, 1);
    while  ((GetIsObjectValid(oFighter)) && (GetIsObjectValid(oBalor)))
    {
        if (GetLocalInt(oFighter, "NK_FIGHTBALOR") == 1)
        {
            nFighting = 1;
        }
        nCount++;
        oFighter = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, nCount);
    }
    if (nFighting == 0)
    {
        DestroyObject(oBalor);
    }

    object oPC = GetEnteringObject();
    SetLocalInt(oPC, "NK_FIGHTBALOR", 1);
}