Upcoming Events

Weekly BMW races on Simracing.GP Other regular AC events on Simracing.GP Weekly GT3 Sprint Races on Simracing.GP Rookie friendly WTCR sereis Weekly rFactor 2 events

How can many things refrence the same script "PlayMakerFSM" and still "find" the code for it?

I'm trying to find the script that damaged the engine, in game and using developers toolkit and see that there is a state called "damaged" and there is a variable called "Damaged" too, this gets set to true if the engine blows a hole in the block.
the "object" 'Block', the parent to that is 'DatabaseMotor'. BUT, in unity's hierarchy 'DatabaseMotor' is under 'Database'.

so I can't figure out 3 things:
how does the single script "PlayMakerFSM" does seemingly everything related to states. I couldn't find any code in the script that directly referenced "Block" it's states or anything. it seems to get all the references and states from somewhere that I have no idea where and what is it.
how do I reference the states in the FSM script which is under 'block' which is under 'DatabaseMotor'?

and also VS throws me an error when I try to 'GetComponent' of anything, I have MSCLoader, UnityEngine, UnityEngineUI, PlayMaker, referenced but it still throws me this error.

and I get it that if I don't load the game in unity it's gonna be a lot different. I just try to figure out which scripts are under which object with it.

I'm also trying to find where is the script "SettingsMenu" referenced, since it loads the engine values, which could very well be used for the setting of:
maxTorque to 0
maxPower to 0 | together with maxTorque @ 0. makes sure you can't rev the engine and keep it from stalling.
engineFrictionFactor to 3 | locks up the engine
and canStall to true | makes sure the engine actually 'stalls' and doesn't stay running at idle and blowing up again and again

if the place where 'SettingsMenu' gets it's values, those values are changed and the script is called (every time you hear the engine blow up sounds) then those values I listed, would be changed, as well as some others that we don't care about since they (should) be the same.

or it could be that another script is doing this:
CalcengineMaxTorque(0, 0);
CalcengineMaxPower(0, 0);

but I can't find any script that is referencing those functions.
it only can be (I think) that it's called by the PlayMakerFSM script that has loaded in the code from some kind of place (again, I have no idea what it's loading)

so basically it comes down to, from where is that script loading all the stuff?

sorry if I'm asking really dumb questions, I'm really new to PlayMaker stuff.


here's all the code from the PlayMakerFSM script if you wanna take a look. https://paste.myst.rs/w02