Mailbox problems with AM installed

<< < (16/16)

Death-Jester:
Yup, same here, brand new sims in a brand new custom world for the University/1.50 update, and I got the mailbox freeze last night. I'll go back to using the no love letters mod and clean up my mailbox's inventory.

Ganonto:
Hi, I was having this bug too and it was so annoying that I fixed it myself. It should be put in the folder 'Overrides' to override the original AwesomeMod file.

What I changed:
Code:

//Sims3.Gameplay.Core.Mailbox
//Old
private void PreReturnHome()
{
    GameStates.PreReturnHome -= new GameStates.TravelCallback(this.PreReturnHome);
    Sim activeActor = Sim.ActiveActor;
    List<IGameObject> list = base.Inventory.FindAll<IGameObject>(false);
    bool flag = (list.Count > 0) || (this.mInvisibleObjectList.Count > 0);
    foreach (GameObject obj2 in list)
    {
        if (base.Inventory.TryToRemove(obj2))
        {
            if (obj2 is AttractionGift)
            {
                IAmPutInMailbox mailbox = obj2 as IAmPutInMailbox;
                if (mailbox != null)
                {
                    mailbox.OnRemovalFromMailbox(activeActor);
                }
            }
            else
            {
                activeActor.Inventory.TryToAdd(obj2);
            }
        }
    }
    foreach (IGameObject obj3 in this.mInvisibleObjectList)
    {
        activeActor.Inventory.TryToAdd(obj3);
    }
    GameStates.ItemsAddedToTraveller = flag;
}

//New
private void PreReturnHome()
{
    GameStates.PreReturnHome -= new GameStates.TravelCallback(this.PreReturnHome);
    Sim activeActor = Sim.ActiveActor;
    List<IGameObject> list = base.Inventory.FindAll<IGameObject>(false);
    bool flag = (list.Count > 0) || (this.mInvisibleObjectList.Count > 0);
    foreach (GameObject obj2 in list)
    {
        IAmPutInMailbox mailbox = obj2 as IAmPutInMailbox;
        if (mailbox != null)
        {
            mailbox.OnRemovalFromMailbox(activeActor);
        }
        if ((base.Inventory.TryToRemove(obj2) && !(obj2 is AttractionGift)) && !(obj2 is LoveLetter))
        {
            activeActor.Inventory.TryToAdd(obj2);
        }
        if (mailbox != null)
        {
            mailbox.OnTransferComplete(activeActor);
        }
    }
    foreach (IGameObject obj3 in this.mInvisibleObjectList)
    {
        activeActor.Inventory.TryToAdd(obj3);
    }
    GameStates.ItemsAddedToTraveller = flag;
}

Code:

//Sims3.Gameplay.Core.Mailbox
//Old
private bool GrabMail(IActor a)
{
    bool flag = true;
    List<IAmPutInMailbox> list = new List<IAmPutInMailbox>();
    foreach (GameObject obj2 in base.Inventory.FindAll<IGameObject>(false))
    {
        IAmPutInMailbox item = obj2 as IAmPutInMailbox;
        if (item != null)
        {
            item.OnRemovalFromMailbox(a as Sim);
            list.Add(item);
        }
        if (base.Inventory.TryToRemove(obj2))
        {
            if (!a.Inventory.TryToAdd(obj2))
            {
                flag = false;
            }
        }
        else
        {
            flag = false;
        }
    }
    foreach (IAmPutInMailbox mailbox2 in list)
    {
        mailbox2.OnTransferComplete(a as Sim);
    }
    return flag;
}

//New
private bool GrabMail(IActor a)
{
    bool flag = true;
    foreach (GameObject obj2 in base.Inventory.FindAll<IGameObject>(false))
    {
        IAmPutInMailbox mailbox = obj2 as IAmPutInMailbox;
        if (mailbox != null)
        {
            mailbox.OnRemovalFromMailbox(a as Sim);
        }
        if (base.Inventory.TryToRemove(obj2))
        {
            if ((!(obj2 is AttractionGift) && !(obj2 is LoveLetter)) && !a.Inventory.TryToAdd(obj2))
            {
                flag = false;
            }
        }
        else
        {
            flag = false;
        }
        if (mailbox != null)
        {
            mailbox.OnTransferComplete(a as Sim);
        }
    }
    return flag;
}

Code:

//Sims3.Gameplay.Core.LoveLetter
//Old
public void OnRemovalFromMailbox(Sim actor)
{
    IMiniSimDescription iMiniSimDescription;
    IMiniSimDescription description2;
    TNSNames loveLetterSpontaneousNoRomanticState;
    if (this.IsResponse)
    {
        bool accepted = this.DecideAcceptReject(out iMiniSimDescription, out description2);
        loveLetterSpontaneousNoRomanticState = accepted ? TNSNames.LoveLetterResponseAccept : TNSNames.LoveLetterResponseReject;
        string name = accepted ? "sting_loveletter_accept" : "sting_loveletter_reject";
        Audio.StartObjectSound(actor.ObjectId, name, false);
        NotificationSystem.Show(loveLetterSpontaneousNoRomanticState, iMiniSimDescription.GetThumbnailKey(ThumbnailSize.Medium, 0), description2.GetThumbnailKey(ThumbnailSize.Medium, 0), null, null, new bool[] { iMiniSimDescription.IsFemale, description2.IsFemale }, false, null, new object[] { iMiniSimDescription, description2 });
        this.UpdateLTRAndRomanceVisibilityIfNeeded(actor, accepted);
    }
    else
    {
        iMiniSimDescription = SimDescription.GetIMiniSimDescription(this.ActorSimID);
        description2 = SimDescription.GetIMiniSimDescription(this.TargetSimID);
        IMiniRelationship miniRelationship = iMiniSimDescription.GetMiniRelationship(description2);
        if (miniRelationship != null)
        {
            if (miniRelationship.AreRomantic())
            {
                loveLetterSpontaneousNoRomanticState = (miniRelationship.CurrentLTRLiking >= kLTRForHighRomanceTNS) ? TNSNames.LoveLetterSpontaneousHighRomantic : TNSNames.LoveLetterSpontaneousMediumRomantic;
            }
            else
            {
                loveLetterSpontaneousNoRomanticState = TNSNames.LoveLetterSpontaneousNoRomanticState;
            }
            NotificationSystem.Show(loveLetterSpontaneousNoRomanticState, iMiniSimDescription.GetThumbnailKey(ThumbnailSize.Medium, 0), description2.GetThumbnailKey(ThumbnailSize.Medium, 0), null, null, new bool[] { iMiniSimDescription.IsFemale, description2.IsFemale }, false, null, new object[] { iMiniSimDescription, description2 });
        }
        SimDescription description3 = iMiniSimDescription as SimDescription;
        if (description3 != null)
        {
            Sim createdSim = description3.CreatedSim;
            if (createdSim != null)
            {
                EventTracker.SendEvent(new MiniSimDescriptionTargetEvent(EventTypeId.kGetLoveLetterFromSim, createdSim, description2));
            }
        }
    }
}

//New
public void OnRemovalFromMailbox(Sim actor)
{
    IMiniSimDescription actorMSD = null;
    IMiniSimDescription targetMSD = null;
    TNSNames loveLetterSpontaneousNoRomanticState;
    if (this.IsResponse)
    {
        bool accepted = this.DecideAcceptReject(out actorMSD, out targetMSD);
        if ((actorMSD != null) && (targetMSD != null))
        {
            loveLetterSpontaneousNoRomanticState = accepted ? TNSNames.LoveLetterResponseAccept : TNSNames.LoveLetterResponseReject;
            string name = accepted ? "sting_loveletter_accept" : "sting_loveletter_reject";
            Audio.StartObjectSound(actor.ObjectId, name, false);
            NotificationSystem.Show(loveLetterSpontaneousNoRomanticState, actorMSD.GetThumbnailKey(ThumbnailSize.Medium, 0), targetMSD.GetThumbnailKey(ThumbnailSize.Medium, 0), null, null, new bool[] { actorMSD.IsFemale, targetMSD.IsFemale }, false, null, new object[] { actorMSD, targetMSD });
            this.UpdateLTRAndRomanceVisibilityIfNeeded(actor, accepted);
        }
    }
    else
    {
        actorMSD = SimDescription.GetIMiniSimDescription(this.ActorSimID);
        targetMSD = SimDescription.GetIMiniSimDescription(this.TargetSimID);
        if ((actorMSD != null) && (targetMSD != null))
        {
            IMiniRelationship miniRelationship = actorMSD.GetMiniRelationship(targetMSD);
            if (miniRelationship != null)
            {
                if (miniRelationship.AreRomantic())
                {
                    loveLetterSpontaneousNoRomanticState = (miniRelationship.CurrentLTRLiking >= kLTRForHighRomanceTNS) ? TNSNames.LoveLetterSpontaneousHighRomantic : TNSNames.LoveLetterSpontaneousMediumRomantic;
                }
                else
                {
                    loveLetterSpontaneousNoRomanticState = TNSNames.LoveLetterSpontaneousNoRomanticState;
                }
                NotificationSystem.Show(loveLetterSpontaneousNoRomanticState, actorMSD.GetThumbnailKey(ThumbnailSize.Medium, 0), targetMSD.GetThumbnailKey(ThumbnailSize.Medium, 0), null, null, new bool[] { actorMSD.IsFemale, targetMSD.IsFemale }, false, null, new object[] { actorMSD, targetMSD });
            }
            SimDescription description3 = actorMSD as SimDescription;
            if (description3 != null)
            {
                Sim createdSim = description3.CreatedSim;
                if (createdSim != null)
                {
                    EventTracker.SendEvent(new MiniSimDescriptionTargetEvent(EventTypeId.kGetLoveLetterFromSim, createdSim, targetMSD));
                }
            }
        }
    }
}

Tanja:
I have a problem with my mailbox too. I see the post deliverer everytime and my mailbox shows always that something is inside it. But as soon I click on it, I can only send Love letters and spent for charities...
I believe something is inside the mailbox, but I can't get it out of there, since I have no options available. For some reason I also had a bug before this thing happened. The wife of my male Sim showed 4
people in her friendlist who were all flatmates. They also came to the house and lived there. Not all at once, always one of them came. If I sent him/her away a few days later the next one came. And I
did not invite them to be my flatmates. After that the mailbox problem began, I got no bills anymore, on love letter and since then everytime the post deliverer comes and puts something inside the mailbox,
I can't get it out of there :-(

WittyName:
This may be a coincidence but I'm sharing in case it's worth anything: When I had this issue (game "semi-freezing" when sim gets to the mailbox), I'd observed that I always had it on "Ultra Speed through current action" when the problem arises, so I tried having my sim Get The Mail again at Normal Speed, and that time it didn't freeze. I've been doing that from now on and so far I haven't had a problem.

Aventurine:
The mailbox issue is indeed back and it crashed my game when in normal speed mode. So, once again, I will go back to using the love letter stomp mod.

Navigation

[0] Message Index

[*] Previous page