Mailbox problems with AM installed
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