Forum Discussion

HanbamSims's avatar
8 years ago

Help Wanted: Adding an option to mailboxes

Hi there, I'm wanting to make a mod to add the 'Plan Social Event' interaction to a mailbox so that sims don't have to go via the phone (for an off-the-grid challenge), but it's my first mod and I'm unsure how to proceed.

In principle it works. My sim can click on my custom "Ol' Rusty Mailbox" and select a 'Send invites' option, which causes them to play through the 'MailLetter' animation, and then the 'Plan Social Event' window pops up, and the event appears to carry on like it should.

However, the sim will not move to the mailbox, and will just carry out the action wherever they were standing, and I can remove the cellphone icon from the queue but it automatically replaces with a Llamacorn icon and I'm not sure how to specify use of the mailbox icon. I've also started getting an 'Items Removed: ...items may not be installed...' error when loading my game up into a lot (before placing the mailbox) which began after I started testing my mod, so I assume it's related?

I've been looking through the 'GetMail' and 'PayBills' interactions, but can't spot where the sims are instructed to move to the mailbox, or where a queue icon is specified. And I have no clue what's causing the 'items removed' error :/ Can anyone point me in the right direction? :)

Bonus question: It would be cool to have a 'write letter' animation, followed by the 'mail letter' animation but whenever I tried that everything broke :p Is it possible to chain animations?

2 Replies

  • You can do it in two ways. Either by using Python and making use of this code:

    """
    Mailbox Testing Cheats Pie Menu Tutorial Mod
    by Scumbumbo @ ModTheSims
    """
    import sims4.commands
    import services
    import injector
    import objects.game_object

    mbox_tc_sa_instance_ids = (11269596188621091361, 16221651884105033584)
    mbox_tc_object_ids = (14940, )

    @injector.inject_to(objects.game_object.GameObject, 'on_add')
    def mbox_tc_add_super_affordances(original, self):
    original(self)

    if not self.guid64 in mbox_tc_object_ids:
    return

    sa_list = []
    affordance_manager = services.affordance_manager()
    for sa_id in mbox_tc_sa_instance_ids:
    tuning_class = affordance_manager.get(sa_id)
    if not tuning_class is None:
    sa_list.append(tuning_class)
    self._super_affordances = self._super_affordances + tuple(sa_list)

    @sims4.commands.Command('mbox.tc_enable', command_type=sims4.commands.CommandType.Live)
    def mbox_tc_enable_command(obj_id:int, _connection=None):
    client = services.client_manager().get_first_client()
    cheat_service = services.get_cheat_service()
    cheat_service.enable_cheats()
    cheat_service.send_to_client(client)

    @sims4.commands.Command('mbox.tc_disable', command_type=sims4.commands.CommandType.Live)
    def mbox_tc_disable_command(obj_id:int, _connection=None):
    client = services.client_manager().get_first_client()
    cheat_service = services.get_cheat_service()
    cheat_service.disable_cheats()
    cheat_service.send_to_client(client)

    (code is from the Mailbox Tutorial by @Scumbumbo )

    Or by going in The Sims 4 Studio and making a Interaction Tuning and adding that Interaction Tuning to the object_mailbox affordancelist. Good luck, and if you need any help just DM me. Cheers

  • I was searching for a mod just like this, can you please publish it?

About The Sims 4 Mods & Custom Content

Find expert tips, troubleshooting help, tutorials for mods and custom content, and The Sims 4 patch files in our forum.14,383 PostsLatest Activity: 39 minutes ago