Mod Others The Sims 4: Mod Collection [K.Leoric]

4.80 star(s) 25 Votes

Do you want to divide the thread in 2 (CC and mod) or keep it as it is?

  • divide

    Votes: 537 54.8%
  • keep it as it is

    Votes: 443 45.2%

  • Total voters
    980
  • Poll closed .
Status
Not open for further replies.

RainGolucky

Newbie
Jun 28, 2019
69
405
Well it looks like I was able to shut MC the fuck up about that Freelancer career error on funiture for now by emptying those tuning files, which breaks the already broken Freelancer career. Not like I use it. Also situations are broken as shit which hugely explains why sims stand around for hours doing nothing. The fixes out there are shortening the cooldowns for interactions but they do not tackle the real problem. Every NPC sim is put in a situation which has NO WAY to reset on an individual basis. None that work so far. Nor does pulling them out of a situation work. You have to reset situations globally then they can be pushed to do other things. That breaks events, careers running, holidays running currently etc. Not a solution. Sometime I'm going to try some fixes on that and see if I can come up with a better solution to get sims to respond better. Like write an actual stop simulation per sim script. Lag is still there but MUCH better with the attached file. It priotitizes player sims to respond and unclogs the pipeline far better than any of the other simulation lag fixes. TURBO's fix helps too but the timeout deal SrslySims made only patches the problem for those players who only use the default clock settings. I set mine way slower. It helps when you set it down to 8 milliseconds but not much. And again since the ball was dropped off a 1000 story building by EA on practically everything this game runs with, the only real solution is to write better code... I'll keep you posted
Thank you sooo much for this. Makes a huge difference in my game.
 
Aug 1, 2018
37
102
I really can't recall where I got the copy. I was looking part of the day and couldn't locate it. But I still have the original rar since he packed them all together. Give me a few and I will pop in up on Sims File Share.

EDIT : Didn't take as long as I thought. Here's the link to the file.

Also, if I find the post, I will post a link for that too. It rather surprised me that he actually screwed it up and didn't even know it.

EDIT: Wow, you're in luck! I found the post!

It's under this spoiler.... Quicker Sim Autonomy Update Details - Download mod at bottom of spoiler
THANK YOU SO MUCH! And actually, I corrected that on my "personal version" of the mod and I didn't notice. Hahaha

However, the mod should work for the most part even with that tiny error. Honestly, I think this simulation lag problem could only be solved equally for everyone through script modding.

This is what I use to set the internal timeout. It works to reduce the cooldown time is about all. There are interaction cooldowns too that can be set but I found none of that seemed to matter much even setting them to 0. Even setting this to 0 makes little difference to 8 since thats basically a blink of an eye but gives enough pause for the game engine to process the next task. Setting it to 0 will lead to synch issues is my guess which cause even more problems. Coolspear also stated that it depends on your machine. Some peeps work better with a 24 millisecond timeout or even 32. You can play with the code below & attached to see if anything works for you in particular.

Python:
import services, scheduling, time, injector, elements, element_utils, time_service, autonomy.autonomy_modes
time_service.TimeService.MAX_TIME_SLICE_MILLISECONDS = 8

@injector.inject_to(autonomy.autonomy_service.AutonomyService, '_register')
def _register(original, self, autonomy_request):
    if self._processor is None:
        autonomy_timeline = services.time_service().autonomy_timeline
        self._processor = autonomy_timeline.schedule(elements.GeneratorElement(self._process_gen))
    sleep_element = element_utils.soft_sleep_forever()
    autonomy_request.sleep_element = sleep_element
    self.queue.append(autonomy_request)
    return sleep_element


@injector.inject_to(time_service.TimeService, 'start')
def start(original, self):
    original(self)
    self.autonomy_timeline = scheduling.Timeline((services.game_clock_service().now()), exception_reporter=(self._on_exception))


@injector.inject_to(time_service.TimeService, 'update')
def update(original, self, time_slice=True):
    time3 = time.monotonic()
    original(self, time_slice)
    time4 = time.monotonic()
    max_time_ms = self.MAX_TIME_SLICE_MILLISECONDS
    if time4 - time3 < 0.008:
        time1 = time.monotonic()
        result = self.autonomy_timeline.simulate((services.game_clock_service().now()), max_time_ms=max_time_ms)
        time2 = time.monotonic()
Put this script in your overrides folder and add this to Resource.cfg

Code:
Priority 1000
PackedFile Overrides\*.package
PackedFile Overrides\*\*.package
PackedFile Overrides\*\*\*.package
PackedFile Overrides\*\*\*\*.package
PackedFile Overrides\*\*\*\*\*.package
This will never break because it doesnt use shitty tuning files that always break. Python > XML Tuning lol
Sometime later I'll post a solution in python to shorten all interaction cooldowns. I haven't got to it yet
Just put it on my game... worked really good. Could you consider uploading this script to a "more public" page like MTS? I mean, this is the most improvement I had for that problem, and caused no issues with autonomy.
 
Feb 27, 2020
341
1,610
Pancakes dropped the smooth llama mod a year ago & idk if I can get the source from there but I'll be maintaining it from here on out and adding autonomy fixes to it later. Autonomy is what I'm working on now & have situation assignments finally figured out. Maybe when I get that all done I will release it elsewhere. I have to fix the decompiled spaghetti code first though. It's a mess so I have to filter thru that shit.

Oh yeah most def going to be fixing the interactions. Some of them take waaaay too long to complete. Outragous story is a pain in the ass. I hate it. Needs to run at half that time and none of my sims eat. They just smell the fucking food for hours until I cheat their hunger bar up and debug destroy the fuckin plate. EA you suck! You ever see sims shift from one location to another then back again? That's synching issues with the cooldowns AND EA's code pushing them to do something because they sat idle for too long listening to some dumbass tell an outragous story lol

Damn the ideas keep coming to me tonite. Not gonna clog up the forum with all this tho but here's a thought. I seriously hate how you leave a lot and sims are in random places they shouldn't be like on that computer you locked them out of haha yeah good one EA. Anyways I was thinking of a save location config that will put sims back where you left them, doing what you left them doing like Sims 2 does. Once you do a zone spinup it loads a ini file that teleports sims where you left them doing what you left them doing like fucking sleeping. You might still see them doing a walkby or some shit on another lot but when you get back to the lot you left them originally they will be doing exactly the same thing as it should be. I suppose in reality after a time they would be doing something else but meh, not gonna fuck with that. This sounds easy enough to do and something I've always wanted in Sims 4. K I'm done, EA is stupid and shit blah blah goodnight
 
Last edited:

MissCee

Newbie
Aug 22, 2017
24
48
Holy PLUMBOBS, Batman! There are so many entries on the YIFF directory that I cannot print them all out on one page and still have them readable, in other words... GO GET EM WHILE THEY'RE HOT!
Thanks you spankz for your dedication, and thanks to all contributors. I'm in CC wonderland with so many choices! :love:
Is there any way to tell which of the entries are newly added? Alphabetically I sometimes can't remember who I've checked before.
 

Cuckoo Kitty

CC Curator
Donor
Jan 22, 2019
497
2,935
Is there any way to tell which of the entries are newly added?
All new entries appear in this topic. You can use the forum search option to find them. Search this thread for 'yiff.party/patreon' and you can see postings (not necessarily in order) by date.
 
  • Like
Reactions: MissCee

Sarducci

Member
Nov 27, 2017
204
321
Yeah my fix won't help you if you use the freelance gig. I disabled it, well a portion of it. Here's the fix, you can try it out and see if it breaks your shit or not.

Still working currently on situations and roles and I tell ya I almost got it nailed. What makes it hard is how long the changes take to update in the engine when assigning roles/job situations. Again destroying all situations speed things up but break other things. Relying on EA's code to do anything is not the solution here which is why most of your scripts like MC namely work outside of the engine to do what it needs too. Some things you cannot avoid obviously & I'm not looking forward to writing all that bullshit lol. I'll patch things up with what I got now and release it soon so you guys can break it and lemme know what I need to do better.
Tried to use your patch, but what I get is a bunch of nested "send to client for approval..." options none of which list the fabricated item.
 
Feb 27, 2020
341
1,610
Tried to use your patch, but what I get is a bunch of nested "send to client for approval..." options none of which list the fabricated item.
Yeah it breaks that. I emptied those tuning files so they won't allow you to do any of that. Since MC is not open source there is no way to track down the problem other than stopping it dead and breaking the career. Another plus for the money hungry patreons lol

Anyways on another note I came to inform you all I figured out how to handle situations and control sims in any way I want using this small bit of code I only delete situations I put them in keeping the system situations intact like club gatherings and holidays. Not sure on the rest or if they are all that important. Probably a ton of other crap the game puts them in thats hidden, all of that gets destroyed except those I mentioned. Very close to a release of the hospital mod

Python:
        for situation in situation_manager.get_situations_sim_is_in(sim):
            job_title = "{}".format(situation.__class__.__name__)
            if (job_title.find('holiday') == -1) and (job_title.find('club') == -1):
                situation_manager.destroy_situation_by_id(situation.id)
 
  • Like
Reactions: sukinomeshi
Aug 1, 2018
37
102
Pancakes dropped the smooth llama mod a year ago & idk if I can get the source from there but I'll be maintaining it from here on out and adding autonomy fixes to it later. Autonomy is what I'm working on now & have situation assignments finally figured out. Maybe when I get that all done I will release it elsewhere. I have to fix the decompiled spaghetti code first though. It's a mess so I have to filter thru that shit.
This would be great. Maybe you could upload everything to MTS or create your own Tumblr (which I think it's the best option since MTS users could be really annoying).
 

marcMiller

New Member
May 16, 2019
5
7
This is what I use to set the internal timeout. It works to reduce the cooldown time is about all. There are interaction cooldowns too that can be set but I found none of that seemed to matter much even setting them to 0. Even setting this to 0 makes little difference to 8 since thats basically a blink of an eye but gives enough pause for the game engine to process the next task. Setting it to 0 will lead to synch issues is my guess which cause even more problems. Coolspear also stated that it depends on your machine. Some peeps work better with a 24 millisecond timeout or even 32. You can play with the code below & attached to see if anything works for you in particular.

Python:
import services, scheduling, time, injector, elements, element_utils, time_service, autonomy.autonomy_modes
time_service.TimeService.MAX_TIME_SLICE_MILLISECONDS = 8

@injector.inject_to(autonomy.autonomy_service.AutonomyService, '_register')
def _register(original, self, autonomy_request):
    if self._processor is None:
        autonomy_timeline = services.time_service().autonomy_timeline
        self._processor = autonomy_timeline.schedule(elements.GeneratorElement(self._process_gen))
    sleep_element = element_utils.soft_sleep_forever()
    autonomy_request.sleep_element = sleep_element
    self.queue.append(autonomy_request)
    return sleep_element


@injector.inject_to(time_service.TimeService, 'start')
def start(original, self):
    original(self)
    self.autonomy_timeline = scheduling.Timeline((services.game_clock_service().now()), exception_reporter=(self._on_exception))


@injector.inject_to(time_service.TimeService, 'update')
def update(original, self, time_slice=True):
    time3 = time.monotonic()
    original(self, time_slice)
    time4 = time.monotonic()
    max_time_ms = self.MAX_TIME_SLICE_MILLISECONDS
    if time4 - time3 < 0.008:
        time1 = time.monotonic()
        result = self.autonomy_timeline.simulate((services.game_clock_service().now()), max_time_ms=max_time_ms)
        time2 = time.monotonic()
Put this script in your overrides folder and add this to Resource.cfg

Code:
Priority 1000
PackedFile Overrides\*.package
PackedFile Overrides\*\*.package
PackedFile Overrides\*\*\*.package
PackedFile Overrides\*\*\*\*.package
PackedFile Overrides\*\*\*\*\*.package
This will never break because it doesnt use shitty tuning files that always break. Python > XML Tuning lol
Sometime later I'll post a solution in python to shorten all interaction cooldowns. I haven't got to it yet
Is this supposed to prevent sims freezing in place doing nothing while being unable to cancel their current action?
 
Status
Not open for further replies.
4.80 star(s) 25 Votes