void main()
{
    object oPC = GetEnteringObject();
    object oDoor = GetNearestObjectByTag("NK_FP_DOOR04", OBJECT_SELF, 1);
    int nTotalWeight = GetLocalInt(OBJECT_SELF, "NK_FP_WEIGHT");
    int nSize = GetCreatureSize(oPC);
    int nWeight;
    if (nSize == CREATURE_SIZE_TINY)
    {
        nWeight = 1;
    }
    else if (nSize == CREATURE_SIZE_SMALL)
    {
        nWeight = 2;
    }
    else if (nSize == CREATURE_SIZE_MEDIUM)
    {
        nWeight = 3;
    }
    else if (nSize == CREATURE_SIZE_LARGE)
    {
        nWeight = 4;
    }
    else if (nSize == CREATURE_SIZE_HUGE)
    {
        nWeight = 5;
    }

    nTotalWeight = nTotalWeight + nWeight;
    if (nTotalWeight >= 5)
    {
        SetLocked(oDoor, 0);
        ActionOpenDoor(oDoor);
        PlaySound("as_sw_stonplate1");
    }
    else
    {
    SendMessageToPC(oPC, "You don't seem to be heavy enough to lower the pressure plate.");
    }
    SetLocalInt(OBJECT_SELF, "NK_FP_WEIGHT", nTotalWeight);
}