Home | Download | Discussion | Help | Site Map | New Posts | Sign in
Replies: 0 (Who?), Viewed: 451 times.
Test Subject
Original Poster
#1 Old 11th Mar 2019 at 8:27 AM
Default Television Home Video "Surveillance" Mod
Hello, I'm trying to make a mod that allows me to play a Home Video on a loop without needing to have a sim stand in front of the television to watch it (Using the Watch Home Video Interaction). I want to create a surveillance with some pre-recorded footage basically, so I need to have a couple TV screens playing actual footage. I figure the easiest way is to record an in game home video using the functionality introduced in Sims 3 Generations and then put Videos on a loop to add a little bit of realism.

For the most part it works, I created an immediate interaction with the following Run() code which works in my game though with some limitation. My questions for modders out there is if they know how to get around the following limitations:
1. A sim from the household must be present on the lot for the video to keep playing, otherwise it turns off - haven't figured out what to do to make it play without needing a member of the household to be present. In case they need to go out in a community lot and come back home, I'm too lazy to restart the videos.
2. It seems about a maximum of 4 TVs can play at a time, the rest of the videos are frozen/ stuck at the same frame. Wondering if there's something I can tune somewhere that can increase the number of TVs playing concurrently. Sure there might be some performance drops, but I'd like to give it a try where possible..

Here's the Run method for my interaction, which I injected into TVs:

Code:
 
public override bool Run()
{
DataDisc dataDisc = null;
if (!InteractionUtil.TryGetSelectedObject<DataDisc>((InteractionInstance)this, out dataDisc))
{
return false;
}
base.Target.mHomeMovie = dataDisc.ObjectId;
dataDisc.SetOwnerLot(Target.LotCurrent);
Target.mLastPlayedChannel = "Gameplay/Excel/TV/TVChannel:HomeMovie";
base.Target.ClearStateInformation();
base.Target.TurnTvOn(Target.mLastPlayedChannel, null);
// So that other sims won't mess with the TV screen
base.Target.DisableAutonomousInteractions();
return true;
}
Back to top