Modding Resources, tips and tricks!

Ole Marius Myrvold

JWB 96-13
Club Staff
Premium
Hi all! :)

As it is a new game, and a slightly different genre and build that most of the games on this site, there might be some newfound tricks to make modding faster, easier and/or better.
Personally I have more than enough to even try to understand how I might be able to mod the game, but I know that many of you guys are well underway with some cracking mods!
Anyway, sharing is caring, and making each other better is only positive in the long term, who knows what me might be able to achieve with this game! It is also easier to find for new modders, or old modders finding a new game if we are able to gather the brilliant research from you guys on one place :)

Keep up the magnificent work!

@thrashersfreak @Panamera4 @Colin O Callaghan @NemanjaSipka @TheFlamingRed @Mojojo999
 
Just made another interesting discovery...

There are things which you can change in the assets, which WILL be updated to use in existing saves.

So far, I didn't think this was possible, as so many people have reloaded they cannot change the drivers names, teams, team colours, etc without starting a new save. I had assumed that everything in the Asset file was transferred into the Save itself, and it worked using it's then own database.

I realised that SingleSeatDesignData didn't work like this - which made sense to me because although that was an Asset, it was an XML one which the devs had purposely put there for us to edit,

What I didn't realise was that some other items can also be updated mid game. I just went out and made some changes to the 'dilemma' options, and these options work for All my save files. The game is reading the asset for each instance it calls a dilemma.

Not realising this was a 'thing' - I am hoping we can make a list of what is - isn't loaded into the game from an existing save.

How do you know what is loaded into the existing save or not ? This is very interesting cause there is some stuff that I would like to do with my existing save.
 
How do you know what is loaded into the existing save or not ? This is very interesting cause there is some stuff that I would like to do with my existing save.

Well, in the case of Dilemmas, all I did was use an existing save, replace my asset files with one that also replaced the dilemmas... then the next time I loaded the save and got the Dilemma, I noticed my 'New' Options were available. So... Trial and Error.

It's most likely things that are 'reloaded repeatedly'. E.g., The drivers are not going to change regularly, Harry Chapman will always be Harry Chapman, every day in the game. But The Dilemmas only exist for one day, then they do their job and disappear until the next one. When it's next called for, it's called from the Assets. It makes sense.

But Trial and Error will be only way to really see

There's been progress. I've spent too many hours on this thing and finally figured out what in the world was going on. After trying virtually everything, turns out reloading assemblies does work and probably has been working for the last week - but MonoBehaviours are treated specially by Unity and they get essentially decompiled, modified, and cached. So the rest of the program was working properly but you'd get an old MonoBehaviour on subsequent runs leading you to think it didn't get reloaded. I spent an embarrassing amount of time to figure that out. There is no API to tell Unity that a MonoBehaviour has changed, and I have not found a work around. I will clean up the code a bit and release it as it is, then later maybe make a plugin API so we can have multiple payloads from various people side-by-side but this is low priority as there's only the two of us at the moment.
.
Well that;s good news. What kind of things you working on now via the injector? Still removing the lag and the loading screens which cause time?

I am making Progress too. Apparently just adding "as PlayerBackStory" was the answer.

Code:
 if (state == GameState.Type.FrontendState)
        {
            Player player = Game.instance.player;
            PlayerBackStory player_backstory = player.GetType().GetField("mPlayerBackStory", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(player) as PlayerBackStory;
            player_backstory.GetType().GetField("mDriverMoraleModifier", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(player_backstory, -0.5f);
            player_backstory.GetType().GetField("mPaymentsModifier", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(player_backstory, -10);
            player_backstory.GetType().GetField("mPartDesignTimeModifier", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(player_backstory, new System.TimeSpan(-100, 0, 0, 0));
       }
mDriverMoraleModifier works perfectly

mpaymentsModifier works perfectly too, though as the slight issue because the value 5 and -5 are treated the same way as the game. Its a shame, but it's not a big problem because

mPartDesignTimeModifier:

4pXg0Zhm3.png

The Ultimate Balance Tool!!​
 
Last edited:
MM-2016-12-01-16-58-39-21.jpg

So I finally managed to get Garuda modded to start in the WMC and no crashing, but now I have a weird issue, on all the charts, leader boards, rankings,standings anything that has a list is now showing a . instead of names, everything else is running fine i'm on my 8th race now no crash.

MM-2016-12-01-17-15-12-86.jpg

Edit: Oh and also my save game shows as i'm unemployed instead of garuda manager.
Please any help welcome.
 
Last edited:
View attachment 162131
So I finally managed to get Garuda modded to start in the WMC and no crashing, but now I have a weird issue, on all the charts, leader boards, rankings,standings anything that has a list is now showing a . instead of names, everything else is running fine i'm on my 8th race now no crash.

View attachment 162132
Edit: Oh and also my save game shows as i'm unemployed instead of garuda manager.
Please any help welcome.

This looks like the bug most people have by not using Notepad ++ or by impotrting/exporting things without using the plugins button. I would say the issue is with your 'Teams' asset file, maybe your drivers as well.

Extract those two items and check the data again quickly, see if they've been saved with blank names when you imported them.
 
Hi guys, I'm trying to dive into Motorsport Manager modding a little bit.
So I just discovered something (Dunno if someone else has discovered this earlier) about team bio/description. They are in "Frontend.txt", with different languages. I'm just going to attach some pic to show my discovery.
MM1.jpg
MM2.jpg
MM3.jpg
MM4.jpg
MM5.jpg

Let me know if it helps, I just wanted to help the modding community for a bit.
 
Hello guys! I've tried modding the "rule changes" asset to remove qualifying from the asian championship, removed the rule concerning qualifying length and the rule about grid positioning, made it random. However, that has not changed my current savegame (I'm not in the asian championship but I checked that the rules are the same, and neither have the rules for next year changed), and if I try to start a new game it crashes.. Any idea on how to do this? Thanks in advance!
 
guys i need your help, i edited simulation settings to make the practice and qualifying sessions longer..(60 minutes each(.
now in practice everything runs fine and ai is using the entire 60 minutes..
but in the qualifying session the ai is only using the first 15 minutes to make 2 runs.. the rest of the session they stay in the pits and do nothing.. now at least i can do free runs with my driver... but in this case qualifying is still messed up because ai is running dirty laps with traffic creating weird results..
i wanted to counter this by increasing the session but the ai is not using the time..

so the question is, what other value do i need to change to make the ai use the full length of the session!
Can you show me where is the "simulation setting" code ? I can't change practice and qualifying time.
thanks.
 
Guys, I am currently using WIP 2016 mod.
I had played around with the assetts bundle briefly, so know the basics.

My question is, can anyone point me to where the session lengths are? 60 min Qualy and practise are killing the mod for me. The AI just burnout tyres or don't even come out of the garage.
 
Guys, I am currently using WIP 2016 mod.
I had played around with the assetts bundle briefly, so know the basics.

My question is, can anyone point me to where the session lengths are? 60 min Qualy and practise are killing the mod for me. The AI just burnout tyres or don't even come out of the garage.

Search for "Simulation Settings" (textAsset) in resources.assets. You need to start a new game.
 
Has anyone tried to see whether the savegames are editable?

They are, a simple hex editor will decode bits and pieces. I can make out some words and figures, and assume I can edit them - didn't really try.

When they add steam workshop, then they should add possiblity to mod out the stupid mobile qulify mini game...

They probably won't, nor should they really. Without that, what would you be able to do during qualifying? Choose when to send them out, that's it. At which point, you may as well skip qualifying and simulate it.

They had to give the player something to do.
 
I've taken a slightly different approach than what's been shown in this thread and gone after save game files instead, but the techniques are pretty much the same.

I went this way because the changes are permanent, rather than having to inject them each and every time you run the app. If you look at the class hierarchy, and then the JSON once it's been decompressed, a save game is basically a serialised version so more often than not you can find the necessary variable(s) you want to change in the JSON, as opposed to changing them in-memory.

So far I've been able to change the weather, remove traits, change balance and chairman race payments, and changing names etc.
 
I've taken a slightly different approach than what's been shown in this thread and gone after save game files instead, but the techniques are pretty much the same.

I went this way because the changes are permanent, rather than having to inject them each and every time you run the app. If you look at the class hierarchy, and then the JSON once it's been decompressed, a save game is basically a serialised version so more often than not you can find the necessary variable(s) you want to change in the JSON, as opposed to changing them in-memory.

So far I've been able to change the weather, remove traits, change balance and chairman race payments, and changing names etc.

I've been looking at the save game files. What have you been using to read/edit them?

I've been trying to look for the values so i can edit to see what i can do but can't seem to find anything... I think i'm either opening it in the wrong format or something...?
 
They are, a simple hex editor will decode bits and pieces. I can make out some words and figures, and assume I can edit them - didn't really try.



They probably won't, nor should they really. Without that, what would you be able to do during qualifying? Choose when to send them out, that's it. At which point, you may as well skip qualifying and simulate it.

They had to give the player something to do.

I would be fine with playing the mini-game if the AI could at least pretend they were doing some form of the same thing. They go full speed through out, so that means the point is just to give us something to do. I'm sure there are other ways to accomplish that.


Oh, and thank you for the work you and others have been doing here. It has inspired me to look at things "under the hood" and make a few changes myself.
 

Latest News

Do you prefer licensed hardware?

  • Yes for me it is vital

  • Yes, but only if it's a manufacturer I like

  • Yes, but only if the price is right

  • No, a generic wheel is fine

  • No, I would be ok with a replica


Results are only viewable after voting.
Back
Top