void main()
{

}    int preEvent()
{
    object oItem = GetModuleItemAcquired();
    object oPC = GetItemPossessor(oItem);
    object oItemOwner = GetModuleItemAcquiredFrom();
    string sItemName = GetName (oItem);
    string sPlayerName = GetName (oPC);
    string sItemOwnerName = GetName (oItemOwner);
    object oPartyMember = GetFirstFactionMember (oPC);
    if (!GetIsObjectValid (oItemOwner))
        {
        while (GetIsObjectValid(oPartyMember))
            {
            SendMessageToPC (oPartyMember, sPlayerName + " has accquired " + sItemName + " from the ground.");
            oPartyMember = GetNextFactionMember (oPC);
            WriteTimestampedLogEntry (sPlayerName + " has accquired " + sItemName + " from the ground.");
            }
         return TRUE;
    }
    if ((GetObjectType (oItemOwner) == OBJECT_TYPE_PLACEABLE)
        || (GetObjectType (oItemOwner) == OBJECT_TYPE_CREATURE))
        {
        while (GetIsObjectValid(oPartyMember))
            {
            SendMessageToPC (oPartyMember, sPlayerName + " has accquired " + sItemName + " from " + sItemOwnerName);
            oPartyMember = GetNextFactionMember (oPC);
            WriteTimestampedLogEntry (sPlayerName + " has accquired " + sItemName + " from " + sItemOwnerName);
            }
          }
    return TRUE;
}