void main()
{
    object oPC = GetPCSpeaker(); // The player using the conversation or script

    object oLoveNote = GetItemPossessedBy(oPC, "I_CAS_LOVENOTE");
    if (!GetIsObjectValid(oLoveNote))
    {
        SendMessageToPC(oPC, "You don't have a Love Note in your inventory.");
        return;
    }

    string sPrefix = "sDescription";
    int nIndex = 1;
    int bFoundAny = FALSE;

    while (nIndex <= 100) // Prevent infinite loop
    {
        string sVar = sPrefix + IntToString(nIndex);
        string sValue = GetLocalString(oLoveNote, sVar);

        if (sValue == "")
        {
            break; // No more descriptions
        }

        string sMessage = "Description" + IntToString(nIndex) + " says: \"" + sValue + "\"";
        SendMessageToPC(oPC, sMessage);

        bFoundAny = TRUE;
        nIndex++;
    }

    if (!bFoundAny)
    {
        SendMessageToPC(oPC, "The Love Note doesn't contain any messages.");
    }
}
