How to edit background cutscene gags?

Posted in Support
Please login to contribute to the conversation.
Hi,

I was wondering if there was a way in which I could edit the background cutscene gags which take place in locations like the Kwik-E-Mart or the Simpsons' house. For example, if I wanted to edit the Kwik-E-Mart gag where Nelson gut-punches Milhouse, so that instead it would be Principal Skinner punching Groundskeeper Willie, how would I go about doing that? I, rather optimistically, tried renaming two respective models to swap them, but that didn't work, either for the cutscene gags (which I didn't hold out too much hope for), nor in basic gameplay (swapping, for example, Marge's model with anyone else's results in Homer being greeted with an invisible ghost at the start of the game, which I found surprising). Is there any simple solution to this? I can't claim to be an expert modder, so I fear I would have to abandon the idea if it's too complex xd. Many thanks in advance.
Hello there! I'm sorry for the late reply. You can find gags in "art/nis/gags/".
If you want to change which gags load in your level, go in that level's script directory (i.e scripts/missions/level01/ for level 1) and open "level.mfk" in a text editor. If you scroll down enough, you'll find the code blocks that form the gags, example below:
   
GagBegin("gag_s5.p3d");
GagSetInterior("SimpsonsHouse");
GagSetCycle("cycle");
GagSetPosition(500.196  ,-20 ,-400.579 );
GagSetRandom(1);
GagSetSound("gag_s5");  
GagSetTrigger("touch", 496.942 , -19.341 , -394 ,  6.0 );
GagEnd();
You can modify these. GagBegin() is the function that spawns a gag based on it's name, so it should always be valid.
Hello there! I'm sorry for the late reply. You can find gags in "art/nis/gags/".
If you want to change which gags load in your level, go in that level's script directory (i.e scripts/missions/level01/ for level 1) and open "level.mfk" in a text editor. If you scroll down enough, you'll find the code blocks that form the gags, example below:
   
GagBegin("gag_s5.p3d");
GagSetInterior("SimpsonsHouse");
GagSetCycle("cycle");
GagSetPosition(500.196  ,-20 ,-400.579 );
GagSetRandom(1);
GagSetSound("gag_s5");  
GagSetTrigger("touch", 496.942 , -19.341 , -394 ,  6.0 );
GagEnd();
You can modify these. GagBegin() is the function that spawns a gag based on it's name, so it should always be valid.

Hi Maz, thanks for the response. How would I go about changing a character's skin within such a gag? I have attempted to swap Milhouse's skin with a different model using Lucas' Pure3D editor, but it ends up either with the game crashing when the game tries to trigger the gag, or the replaced model being stretched at several points from the middle of the Kwik-E-Mart to the area where the gags take place.
You would have to rig your model to use the skeleton inside the gag
Thanks maz, got it to work eventually. These guides were very useful for others struggling, the method is pretty much interchangeable with respect to cutscene gags:

Written guide: forum.donutteam.com/forum/topic/971/

Video guide: youtu.be/_xCSPibBO6E
Thanks maz, got it to work eventually(...)
Super!