Modding Resources, tips and tricks!

Ole Marius Myrvold

JWB 96-13
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
 
Someone asked if it was possible to change the length of the sponsors. Well it is possible, I changed them all to 36 races just to make it easier for myself to adjust it later. Next up is to see if I can change the 5,4,3 and lower star sponsors.
I checked it out and I will be able to change them as well as which sponsor belongs to the right team. I might give the top teams longer sponsoring and mid teams shorter and the lower teams even shorter. Something in the line of 32 races, 16 races and 10 unless someone else has a suggestion.

sponsors.jpg
 
Last edited:
I like this as an idea. Season long sponsors fit, you mat need to adjust the Upfront money to correspond to the length though.

I am trying to balance the Supplier parts to Tie teams into certain manufacturers - but don't see a good way to do it yet.
 
I like this as an idea. Season long sponsors fit, you mat need to adjust the Upfront money to correspond to the length though.

I am trying to balance the Supplier parts to Tie teams into certain manufacturers - but don't see a good way to do it yet.

As you can see it does work yellow circle is the old amount and the red circle is the new amount.
But how would one know how much the sponsors pay race or what would be fair and get an even balance in between teams.

01.jpg
 
As you can see it does work yellow circle is the old amount and the red circle is the new amount.
But how would one know how much the sponsors pay race or what would be fair and get an even balance in between teams.

View attachment 161438

If you're intending to keep the same balance as in the vanilla game (I have considered altering finances in my balance mod, but so far only slightly decreased the prize money and Merit Payment spreads... so good teams can be a lot better then the really week teams) then its a simple process.

Fixed Race Payments and Bonus Payments would stay the same... doesn't matter if its a 10 race or 100 race sponsor.

the Upfront Payment needs to be moved to have the same Upfront Payment : Number of Races.

So if in the vanilla game, it is a Sponsor with $1,000,000 upfront for 5 races.... If you want to increase the sponsor race length by x 6 (to 30 Races) you would need to multiply the upfront sponsor payment by x 6 (to $6,000,000). That way its the same proportional amount.

If course, this means you get a massive lump sum now, but you'd have to wait for 2-3 years before having another - so it's balanced correctly...

In fact, its a nice 'decision' mechanic - because sponsors are more long term. You have to actively either use or save the big lump sum, because you know you won't see another for a long time.
 
I think I will adjust the Fixed race payment and leave the rest the same. For example Ambrosini who sponsor scuderia rossini, I might change them into Santader for a long running sponsorship lets say 4 years which equals 64 races and they pay 400.000 per race. So over the course of the season they pay 5.6 Million but all together 22.4 Million. I have read that companies pay easily over 50 Million per season and the bigger companies like Red Bull even more.

Now there are sponsors who don't have the fixed race option but I can change them or leave them as they are and fix the upfront payment. There is also the bonuspool for qualifying and the race but I don't really know what they do. Do they pay out when you have pool position and win the race?

I think I'm going to wait for the official editors to come out or when someone comes with a decent graphic mod. I'm pretty bad when it comes to textures but changing data is a cake walk. I haven't really made my mind up yet how I'm going to do the sponsorship yet but I have an idea on what to do. What I want to achieve is a balance in the economy and not screw it up.
 
Last edited:
Ah, I have been using the "Analyze" function a lot, though it often gives lots of Used Bys... I wasn't sure how you came to determine the link from min-Zoom to App. I'll try and re-trace your steps - npw knowing I am looking for something that is a 'static' field to end up in (public static instance - are the three keywords it seems... Not many of them. App, Game, DesignDataManager, Simulation2D - thats about it)...

The Zoom feature is fine... it's the SpeedMultipliers function that causes the crash.
got 'Game game' in the head and 'game = Game.instance;' in the Awake/[/code]

Edit: I am surprised my determinism hasn't wavered yet.

So as a first go proof of concept, i decided 'I'm gonna change the backstory bonus moral from 0.3f to 0.5f' The original line is in PlayerBackstories. "private readonly float mDriverMoraleModifier = 0.3f;" so not overly disimilar to your MaxZoom code I have working.

Code:
  if (state == GameState.Type.FrontendState)
        {
            PlayerBackStory pbs = game.player.
             pbs.GetType()
             .GetField("mDriverMoraleModifier", BindingFlags.NonPublic | BindingFlags.Instance)
               .SetValue(pbs, 0.5f);
        }
Is what I have so far... but the "game.player.<missing>" - and in missing, I'd love to put playerBackStory, it doesn't appear thats a valid option.

The process was a little more complex then I thought :p Where on earth did you learn all this? :p This is a lot of work to just change a few numbers to make the game harder for the player then the AI!

At least the public variables are easy to adjust... but unfortunatly, a lot of those begin their life as private - so I am determined to master this. I'm kinda hoping Crashed isn't too fed up of me already... I am not a very good apprentice.

Wishlist

1/ be able to modify a variety of numbers. (I am not too interested in changing how the game is played, its quite solid - I just want to insert some balance and difficulty)
// Mostly the player only buffs/debuffs. I mostly want to adjust the 'days off bonus' for part creation, and change it to 'days added debuff' - this will let me (elsewhere) shorten the time it takes to make the parts for the AI - so that the player doesn't notice any change in speed of making a part - but the AI will. I want to adjust a x% extra race costs (opposite of financial back story) for harder money management when compared with the AI. A lot of the other AI tweaks, I can do in the Assets.

Other sections I would like to do, are actually not too hard to get to variables... e.g., increase the Red Zome % globally, and part strain.Prevent going into the red by more then $1M instead of $5. etc etc.,Already done the one's I've found.

2/ Be able to modify my modified numbers (with random seeds or difficulty levels - should be easy to do given there's code for a working toggle key, I just have to modify my own modifications with a variable)

Finished Work for the Week, so will get to work on this- though I may have to submit to the fact that all I'll be able to change for now is just easy Public constants. I was hoping there was a few examples of how to deal with the private ones which I could understand and apply in other circumstances. And while there is a few examples, adapting them is proving far far more challenging then I anticipated - as each different 'Type' is almost unique to the code needed to modify it's behaviour - and I simply don't have enough understanding of the programming language to make sense of the debug - which is normally pretty key. I've started to watch some videos about it all, but there's lot of beginner guides - which bascially assume I don't know anything - and lots of advance guides - which assumes I know lots - and I am continually searching for the bits in the middle. So for now, I am just going to mod simple things to go along side my asset changes.

Anyway, how is your work going with the injector Crash? Found out any new facts.

I have a new item on the wish list:
1/ shorten the Weather Forecast we can see by about 2/3rds or 3/4 if we don't have the basic forcast facility.... as it's a very underpowered HQ upgrade.

I am wondering if anyone who is looking at the dll's whether they have found out if the AI is recieving 'Dilemmas', It's hard to track what they are and aren't dealing with in terms of Dilemmas - as even if I activate my own team's AI, I have to deal with urgent males before I progress. Anyone know of a Dilemma which would have a global effect?

Also... I've not been unemployed yet... anyone care to let me know what happens when you are? Does another team offer you a job you have to take? Can you just advance time until you find a job you can get?
 
Last edited:
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!
 
Anyway, how is your work going with the injector Crash? Found out any new facts.

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.

but in the qualifying session the ai is only using the first 15 minutes to make 2 runs

My first instinct would be to check their tires, if they ran practice for some 60 minutes they might not have the tires to spare for qualifying and racing.
 
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!

This is more likely an algorithm dictating the cars going out at set times in qualifying - but is certainly hard coded. The session lengths probably dedicate if the AI make one or two attempts at a good lap, and when to take them (spread over X minutes). This wasn't coded to scale with the time available it seems - which is unfortunate. I can't actually see where they decide when to go out for qualifying - it's probably in the dll somewhere.

But in terms of behaviour, it's all quite static actually, if it's going to rain in minute 2, they won't all rush out first think to take advantage of the driest condition. It's very precession like, as such, when you make the times far larger, the AI doesn't do anymore stints, they don't realise they have more time. Smartly, they're probably restricted to two stints so not to burn all their tires. To edit their spread - will probably need to involve heavier modding then most of us are capable of.
 
Another modding avenue I am going down... at the momeny I am looking at the Chassis of the cars. In my balance mod, I am currently emphasizing fuel eff, tire wear, tyre heating. I've made these changes already. It is also quite easy for me to change the value for the engine bonus.

What I don't see much to deal with though how to adjust the bonuses provided by improvability. It seems the improvability bonus of the chassis is NOT 'relative' to the other teams (the other three items are - i.e., in each area, the game looks at all 10 cars, and gives a bonus to the top third in the department, and a debuff to the bottom third) so I think that there is 'fixed' improvement bonus amount - but I cannot work out what they are.

If anyone spots a big of code where improvability is being used (the star values in the asset goes from 0-10) let me know so I can see how the 'star points' are being converted to actual improvement potential of the parts.

Edit: Going one further... anyone see how the AI is making it's chassis design decisions? For the default year, they're pre determined star values in the Asset files... but after this, they;re varying
 
Last edited:
This is more likely an algorithm dictating the cars going out at set times in qualifying - but is certainly hard coded. The session lengths probably dedicate if the AI make one or two attempts at a good lap, and when to take them (spread over X minutes). This wasn't coded to scale with the time available it seems - which is unfortunate. I can't actually see where they decide when to go out for qualifying - it's probably in the dll somewhere.

But in terms of behaviour, it's all quite static actually, if it's going to rain in minute 2, they won't all rush out first think to take advantage of the driest condition. It's very precession like, as such, when you make the times far larger, the AI doesn't do anymore stints, they don't realise they have more time. Smartly, they're probably restricted to two stints so not to burn all their tires. To edit their spread - will probably need to involve heavier modding then most of us are capable of.

This is very unfortunate, this will make qualifying redundant at this time, because it is nearly impossible to get a clean lap... and you lose 7 seconds even if you pass someone cleanly who is on an in or outlap...
i also dont think it is a tyre issue, because in practice most drivers were using hard tyres... indeed it must be something that is hardcoded...
but why give us the option to change session time when it doesnt do anything...
 
This is very unfortunate, this will make qualifying redundant at this time, because it is nearly impossible to get a clean lap... and you lose 7 seconds even if you pass someone cleanly who is on an in or outlap...
i also dont think it is a tyre issue, because in practice most drivers were using hard tyres... indeed it must be something that is hardcoded...
but why give us the option to change session time when it doesnt do anything...

They haven't officially given us anything to change yet. I do not know if they expected us to immediately extract and edit the assets - let alone inject code into the dlls.

As such, they probably had (1) No intention to allow us to change the length of qualifying or (2) Not intended us to edit it before the workshop was released - where they could patch in code to allow for different qualifying times.

All the editing we're currently doing is very unofficial / unsupported. It;s nice that they;ve left lots of things open to us to begin with (intentially or not) until they release an editor for the workshop.

---------------------------------

Side note: I have just tested whether AI is affected by Dilemmas... and unfortunatly I think they are!

I changed all the 'Chassis' dilemmas (the pre season ones) to have negative effects on the chassis no matter the options.... I then jumped to season 2 - post pre season testing and changed jobs to a few teams. All their chassis had far more negative values then they had without my changes.

This is a bummer for me - as I was hoping to change 'Dilemmas' into true distasters for the play (and only the player) to handle. As this is not the case, it's not a good set of items to alter very much.
 
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.
 
Hello Everyone, Can someone help me I just want to promote Garuda to World Championship, I have modified the file "Championships.txt" to put Garuda team id "23" switched it with Vélan Racing "10".
After doing this Garuda shows up in game in place of Velan Racing in the World Motorsport Championship but when I click continue it Crashes to desktop, anyone has any solution to it please help me out.
I have made changes to other files aswell "Chairman.txt", "Chassis.txt", "Drivers.txt", "HQ.txt" and "Teams.txt" and these do not crash.
Only when I change "Championships.txt" to actually put Garuda in World Motorsport Championship it crashes, what am I doing wrong.
 
Hello Everyone, Can someone help me I just want to promote Garuda to World Championship, I have modified the file "Championships.txt" to put Garuda team id "23" switched it with Vélan Racing "10".
After doing this Garuda shows up in game in place of Velan Racing in the World Motorsport Championship but when I click continue it Crashes to desktop, anyone has any solution to it please help me out.
I have made changes to other files aswell "Chairman.txt", "Chassis.txt", "Drivers.txt", "HQ.txt" and "Teams.txt" and these do not crash.
Only when I change "Championships.txt" to actually put Garuda in World Motorsport Championship it crashes, what am I doing wrong.

Default parts maybe... Garuda will have really low performance parts, and that will be below the minimum of the tier 1 championship. That may cause the game a conflict and crash... similarly, Velan will have parts too high for tier 3.

Or... you've accidentally removed a common somewhere, or added a letter where only a number should be, or a space somewhere, or a : instead of a ;. The files are fiddly so doing that unknowingly is easy.

They're the two avenues I'd check first.
 
Ok, I get what you are saying but I have been careful I'm using Notepad++ for this and also I have verified again and again even re edited from scratch so I'm quiet confident that its not a editing error.
Also I have edited "Default Parts.txt" also to get Garuda on par with rest of WMC, although I have not edited Velan to lower their stats so that might cause the issue, let me get back to you with that.
 

Latest News

How long have you been simracing

  • < 1 year

    Votes: 348 15.5%
  • < 2 years

    Votes: 241 10.7%
  • < 3 years

    Votes: 241 10.7%
  • < 4 years

    Votes: 177 7.9%
  • < 5 years

    Votes: 299 13.3%
  • < 10 years

    Votes: 257 11.5%
  • < 15 years

    Votes: 165 7.4%
  • < 20 years

    Votes: 125 5.6%
  • < 25 years

    Votes: 99 4.4%
  • Ok, I am a dinosaur

    Votes: 291 13.0%
Back
Top