Mod RFM options

Discussion in 'Component and Mod Packaging' started by Lazza, Aug 25, 2022.

  1. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,382
    Likes Received:
    6,600
    I can't see any recent references to this and it seems to me many people don't know about it, so: if you're wondering what all the available .rfm file options are, you can open up the one the MAS tool generates to use as a reference.

    The 'trick'? The default.rfm doesn't have all the options in it. What you want is the NSCRS15.rfm file.

    To get it:
    • Run the MAS tool
    • Click the 'Create package' icon, then select Create New Mod Package
    • Open up this folder: %appdata%\Roaming\~MASTEMP
    • Open/edit/copy the NSCRS15.rfm file.

    Here's the contents of that file at time of writing, as a reference. The main additions since the old days are the options for handling pit speeding / closed pit entry / close pit exit penalties, including the ability to disable penalties in specific sessions:

    Code:
    // Game/Season Info:
    Mod Name = National Stock Car Racing 2015
    Track Filter = NSCRS SRGrandPrix OWChallenge
    Vehicle Filter = OR: StockCar_2015
    SafetyCar = CorvettePC.veh
    MultiplayerTempVehicle=GAMEDATA\VEHICLES\MultiplayerVehicleSC.SCN
    
    Matchmaker = match.rfactor.net
    Matchmaker TCP Port = 39001
    Matchmaker UDP Port = 39002
    Loading Bar Color = 16750848
    
    Max Opponents = 42   // maximum opponents in practice/quick race/grand prix/championship
    Min Championship Opponents = 5 // minimum opponents in championship only
    
    // Seasons:
    
    Season = NSCS2015
    {
      FullSeasonName = National Stock Car Series 2015
      Vehicle Filter = NSCRS StockCar
    
      SceneOrder
      {
        Jacksonville500
        Joesville_Speedway
    //    Lone_Star_400
        Orchard_Lake_Oval
    //    CIS_Oval_600
        Jacksonville500
        Essington_Long
        Joesville_Speedway
    //    Lone_Star_400
    ////    CIS_Oval_500
      }
    }
    
    
    // The base # is a simple multiplier that has a clear effect on the draft.
    // The exponent numbers, though, control the curve of the effect vs. distance.
    // Higher numbers make the effect drop off at a shorter distance.
    // NOTE: all these variables can now be overridden within HDV files, for
    // vehicle-specific drafting (in addition to new HDV parameters to affect the
    // response to drafting in terms of balance and downforce loss).
    Drafting
    {
      BaseDropoff=0.17 // higher number -> more drafting effect (default=0.185)
      LeadingExponent=1.95 // higher number -> lower effect on leader (default=2.0)
      FollowingExponent=2.0 // higher number -> lower effect on followers (default=2.0)
      VehicleWidth=1.9 // helps determine base width of wake (default=1.9)
      SideEffect=1.0 // negative effects of side-by-side drafting (default=0.35)
      SideLeadingExponent=2.0 // added to regular LeadingExponent to affect the side wake (default=2.0)
      SideFollowingExponent=25.0 // added to regular FollowingExponent to affect the side wake (default=5.0)
    }
    
    // Default scoring entries can be overridden by season entries, which in turn can be
    // overridden by track GDB entries.  In general we would recommend as few overrides in
    // the track GDB as possible because they will affect every series that races there.
    // Note that you do not copy "DefaultScoring{}" in the track GDB, just the variables.
    DefaultScoring
    {
      // NOTE: most or possibly all of these values can be overridden in a specific Season or in a specific track GDB file.
    
      // SESSION TIMES AND DURATIONS
      TestDayDay = Thursday
      TestDayStart = 8:30
      Practice1Day = Friday
      Practice1Start = 10:00
      Practice1Duration = 60
      Practice2Day = Friday
      Practice2Start = 13:00
      Practice2Duration = 60
      Practice3Day = Saturday
      Practice3Start = 9:00
      Practice3Duration = 45
      Practice4Day = Saturday
      Practice4Start = 10:15
      Practice4Duration = 45
      QualifyDay = Saturday
      QualifyStart = 14:00
      QualifyDuration = 60
      QualifyLaps = 4
      WarmupDay = Sunday
      WarmupStart = 9:00
      WarmupDuration = 30
      RaceDay = Sunday
      RaceStart = 12:00
      RaceLaps = 90
      RaceTime = 240
    
      // RULES
      // Pit speed limits in kilometers per hour for race and normal (all other sessions); default=80.0 kph (= 49.7 mph).
      RacePitKPH = 80.467 //45mph+5
      NormalPitKPH = 80.467
      FormationSpeedKPH = 96.5604
    
      // Safety car threshold multipliers, in other words an adjustment for the sensitivity of the game to calling
      // full-course cautions.  These can be different for road vs. oval courses.  Lower numbers result in more
      // full-course cautions; default=1.0, possible values are 0.01 (very sensitive) and up.  Values more than
      // 5.0 will probably result in no full-course cautions being called by the game (note that there are now
      // multiplayer admin commands to call cautions).
      SafetyCarRoadMult=0.6
      SafetyCarOvalMult=0.2
    
      // Whether full-course cautions may be called for a spin more than 90 degrees where the driver keeps going.
      // These can be different for road vs. oval courses.  Higher values will result in more full-course cautions
      // due to these temporary spins; default=0.0, possible values are 0.0-2.0.
      SpinRoadSeverity=0.15
      SpinOvalSeverity=0.3
    
      // Just a general tolerance for very momentary speeding (this value has no particular units); default=4.0,
      // possible values are 0.0 (not recommended) and up.
      PitSpeedingAllowance = 0.4
    
      // Whether leading car one lap down can re-gain his lap during a full-course caution.  This value can not
      // only be overridden per-season or per-track, but also in the player file; default=0,
      // possible values are 0=off, 1=used at ovals only, 2=used at road courses only, 3=used everywhere.
      LuckyDog = 3
    
      // How many laps must be left for lucky dog to take effect; default = 10, possible values are 0 (meaning it
      // is always applicable) and up.
      LuckyDogLapsLeft = 0
    
      // Minimum laps during a full-course yellow; default = 2, possible values are 1 (?) and up ... remember that it
      // might be useful to override this one in some track GDBs.
      MinimumYellowLaps = 3
    
      // Additional random yellow laps; default = 1, possible values are 0 and up.
      RandomYellowLaps = 1
    
      // Whether pits are closed during the first part of the full-course yellow; default=0, possible values 0 or 1.
      ClosePits = 1
    
      // How many laps the pits remain closed during the first part of the full-course yellow; default=1, possible
      // values are 1 and up (probably needs to be less than MinimumYellowLaps, though) ... again, it might be useful
      // to override this one in some track GDBs.
      PitsClosedLaps = 1
    
      // This is the threshold for the number of yellow flag laps to determine whether the lead-lappers get to
      // pit before everyone else.  Only valid if ClosePits is enabled; default=2, possible values are 0 (never
      // let leaders pit first) and up.
      LeadYellowLaps = 3
    
      // Penalty given for getting served on a closed pitlane (meaning that the vehicle entered AFTER the pit was
      // closed); default=2, possible values are -1=no penalty 0=stop/go 1=drivethru 2=longest line 3=DQ.
      ClosedPitPenalty = 2
    
      // Penalties for two severities of pit speeding in the race session under green or yellow flags; defaults are
      // stop/go for a major violation, drivethru for a minor violation.
      // Possible values are -1=no penalty 0=stop/go 1=drivethru 2=longest line 3=DQ.
      PitSpeedingRaceGreenMajorPenalty=1
      PitSpeedingRaceGreenMajorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingRaceYellowMajorPenalty=2
      PitSpeedingRaceYellowMajorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingRaceGreenMinorPenalty=1
      PitSpeedingRaceGreenMinorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingRaceYellowMinorPenalty=2
      PitSpeedingRaceYellowMinorPenaltyValue=10 // only relevant for stop/go
    
      // Speeding penalties in qualification and practice/warmup
      PitSpeedingQualifyGreenMajorPenalty=0
      PitSpeedingQualifyGreenMajorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingQualifyYellowMajorPenalty=0
      PitSpeedingQualifyYellowMajorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingQualifyGreenMinorPenalty=1
      PitSpeedingQualifyGreenMinorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingQualifyYellowMinorPenalty=1
      PitSpeedingQualifyYellowMinorPenaltyValue=10 // only relevant for stop/go
    
      PitSpeedingPracticeGreenMajorPenalty=0
      PitSpeedingPracticeGreenMajorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingPracticeYellowMajorPenalty=0
      PitSpeedingPracticeYellowMajorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingPracticeGreenMinorPenalty=1
      PitSpeedingPracticeGreenMinorPenaltyValue=10 // only relevant for stop/go
      PitSpeedingPracticeYellowMinorPenalty=1
      PitSpeedingPracticeYellowMinorPenaltyValue=10 // only relevant for stop/go
    
      // Pit enter/exit closed penalties (does NOT apply to pits closing for cautions)
      PitExitClosedRacePenalty=3
      PitExitClosedRacePenaltyValue=10 // only relevant for stop/go
      PitExitClosedQualifyPenalty=0
      PitExitClosedQualifyPenaltyValue=10 // only relevant for stop/go
      PitExitClosedPracticePenalty=0
      PitExitClosedPracticePenaltyValue=10 // only relevant for stop/go
    
      PitEnterClosedRacePenalty=3
      PitEnterClosedRacePenaltyValue=10 // only relevant for stop/go
      PitEnterClosedQualifyPenalty=0
      PitEnterClosedQualifyPenaltyValue=10 // only relevant for stop/go
      PitEnterClosedPracticePenalty=0
      PitEnterClosedPracticePenaltyValue=10 // only relevant for stop/go
    
      // Whether local yellows are shown, which can be different for road vs. oval courses; default=1, possible values 0 or 1.
      LocalYellowsRoad = 1
      LocalYellowsOval = 0
    
      // Private qualifying, which means that everyone is qualifying simultaneously but alone on track.  You can
      // actually still view other cars, but you can only see one participant at a time.  This value can be overridden
      // with a player file entry; default=0, possible values 0 or 1.
      PrivateQualifying = 0
    
      // Whether penalties add to each other, essentially meaning they can all be served at once; default=0, possible
      // values 0 or 1.
      AdditivePenalties = 1
    
      // Number of laps to serve the penalty before being disqualified; default=3, possible values 1 and up.
      LapsToServePenalty = 4
    
      // Whether passing is allowed on starts and restarts before the start/finish line; default=0, possible values
      // are 1=passing on right is legal, 2=passing on left is legal, and 3=passing anywhere is legal.
      PassingBeforeLineOval=1
      PassingBeforeLineRoad=0
    
      // Whether order of vehicles is frozen when the full-course yellow is first shown.  If necessary, server will
      // correct the order as people cross the start/finish line; default=0, possible values 0 or 1.
      FreezeOrder = 1
    
      // Behavior if full-course yellow is active at the end of a race; default=0, possible values are:
      //   0=race finishes normally
      //   1=finish will be delayed one time only and will allow one lap after the green flag
      //   2=finish will be delayed one time only and will allow two laps after the green flag
      //   3=finish can be delayed multiple times, with only one lap allowed after the green flag
      //   4=finish can be delayed multiple times, with two laps needed after the green flag
      //   5=finish can be delayed three times, with only one lap allowed after the green flag
      //   6=finish can be delayed three times, with two laps needed after the green flag
      // Note that a full-course yellow called on the very last lap will NOT currently delay the
      // finish. Also note that this feature does not work for timed races.
      FinishUnderCaution = 6
    
      // Whether caution laps are counted towards the total number of laps; default=1, possible values 0 or 1.
      CountCautionLaps = 1
    
      // Whether restarts are double-file and how many laps left are required to do so; default=0, possible values
      // are 0=off, 1+=laps left required to convert to double file.
      DoubleFileRestarts=10
    
      // Control over what changes can be made between qualifying and race.  This value can be overridden through
      // the player file; default=0, possible values are 0=no restrictions, 1=restrictions apply, 2=restrictions
      // apply as long as it doesn't rain in qualifying or afterwards (and no that doesn't mean rain is implemented
      // yet, sorry).
      ParcFerme = 0
    
      // Whether fuel level remains the same (only if parc ferme is applicable).  In general, this value specifies
      // what fraction of the qualifying session is reached before fuel usage becomes "free"; default=0.0, possible
      // values are 0.0-1.0, where 0.0 indicates fuel level is always free, 0.5 would mean fuel level at the halfway
      // point of qualifying will be used to start the race, and 1.0 means fuel level at the end of qualifying will
      // be used to start the race (and no refueling allowed during qualifying).
      ParcFermeFuel = 0.0
    
      // How many of the top qualifiers have to keep their used tires on for the race (only if parc ferme is applicable);
      // default=0, possible values are 0 and up (300 recommended if everybody has to keep their used tires).
      ParcFermeTires = 0
    
      // Whether setup used during qualifying must be used during the race (only if parc ferme is applicable), except
      // for the RFM/season/GDB or PLR file "FreeSettings"; default=1, possible values 0 or 1.
      ParcFermeSetup = 0
    
      // Settings that are free to be changed regardless of fixed or parc ferme setup.  This can be overridden by the
      // player file.  You must add the values of each setting that drivers are free to change:
      //     1 = steering lock
      //     2 = brake pressure
      //     4 = starting fuel
      //     8 = fuel strategy
      //    16 = tire compound
      //    32 = brake bias
      //    64 = front wing
      //   128 = engine settings (rev limit, boost, and engine braking)
      // For example, the default free settings are: steering lock (1) + brake pressure (2) + fuel strategy (8) = 11.
      // Possible values are -1 (use default value) up to 255 (which equals 1+2+4+8+16+32+64+128).
      FreeSettings = -1
    
      // How blue flags are used.  This value can be overridden through the player file; default=3, possible values
      // are: 0=no blue flags, 1=show but never penalize for not moving over, 2=show and penalize if necessary for
      // vehicles withing 0.3 seconds, 3=0.5 seconds, 4=0.7 seconds, 5=0.9 seconds, 6=1.1 seconds.
      BlueFlags = 1
    
      // Method to end timed races.  Previous releases of rFactor (versions 1.070 and before) gave the checkered flag to
      // any vehicle that crossed the start/finish line after time ran out.  The new default behavior is to wait until
      // the leader crosses the start/finish line before waving the checkered flag.  However, in the case that the
      // leader has crashed out but is multiple laps ahead of the second-place vehicle, there needs to be a fail-safe
      // case.  This value defines how many laps non-leaders can complete after time runs out before being given the
      // checkered flag; default=2 (which means that, in most normal circumstances, the checkered flag will be given
      // when the leader crosses the s/f line), possible values are 1 (which would be the original rFactor behavior) or
      // any positive integer.
      TimedRaceNonLeaderLaps = 2
    }
    
    // Money and experience accumulation (mostly multipliers for hard-coded values
    // which have various factors taken into account like number of competitors)
    StartingMoney = 500          // you might need a little spendin' cash
    StartingExperience = 0       // start with no experience
    StartingVehicle = NSC06_01  // randomly chooses one free vehicle from this list
    DriveAnyUnlocked = 0         // 0 = must own to drive, 1 = must be unlocked to drive, 2 = drive anything
    BaseCreditMult = 1.0         // base which is multiplied by all the other multipliers
    LapMoneyMult = 1.0           // laps completed (based roughly on expected lap times)
    LapExpMult = 1.0
    FineMoneyMult = 1.0          // fines
    FineExpMult = 0.0
    PoleSingleMoneyMult = 1.0    // pole positions in single player
    PoleSingleExpMult = 1.0
    PoleCareerMoneyMult = 1.0    // pole positions in career mode
    PoleCareerExpMult = 1.0
    PoleMultiMoneyMult = 1.0     // pole positions in multiplayer
    PoleMultiExpMult = 1.0
    WinSingleMoneyMult = 1.0     // wins in single player
    WinSingleExpMult = 1.0
    WinCareerMoneyMult = 1.0     // wins in career mode
    WinCareerExpMult = 1.0
    WinMultiMoneyMult = 1.0      // wins in multiplayer
    WinMultiExpMult = 1.0
    PointsSingleMoneyMult = 1.0  // points in single player
    PointsSingleExpMult = 1.0
    PointsCareerMoneyMult = 1.0  // points in career mode
    PointsCareerExpMult = 1.0
    PointsMultiMoneyMult = 1.0   // points in multiplayer
    PointsMultiExpMult = 1.0
    
    // Alternate commentary directory if desired (filename comes from config.ini)
    //CommentarySeries = GameData\Commentary\NSCRS_Spotter
    
    // Season scoring info
    SeasonScoringInfo
    {
      Place1 = 43
      Place2 = 42
      Place3 = 41
      Place4 = 40
      Place5 = 39
      Place6 = 38
      Place7 = 37
      Place8 = 36
      Place9 = 35
      Place10 = 34
      Place11 = 33
      Place12 = 32
      Place13 = 31
      Place14 = 30
      Place15 = 29
      Place16 = 28
      Place17 = 27
      Place18 = 26
      Place19 = 25
      Place20 = 24
      Place21 = 23
      Place22 = 22
      Place23 = 21
      Place24 = 20
      Place25 = 19
      Place26 = 18
      Place27 = 17
      Place28 = 16
      Place29 = 15
      Place30 = 14
      Place31 = 13
      Place32 = 12
      Place33 = 11
      Place34 = 10
      Place35 = 9
      Place36 = 8
      Place37 = 7
      Place38 = 6
      Place39 = 5
      Place40 = 4
      Place41 = 3
      Place42 = 2
      Place43 = 1
    }
    
    SceneOrder
    {
    }
    
    // Pitstop locations in order from front to back, with the number of vehicles sharing each pit.
    // If the order needs to be reversed on an individual track, set "ReversePitOrder=1" in the track-specific GDB file.
    // These are now "pit group" names, not necessarily team names.
    // In the VEH file, the pit group defaults to the team name but can be overridden by defining "PitGroup=<name>".
    PitOrderByQualifying = true    // whether to set the pit order in the race by qualifying results
    PitGroupOrder
    {
      // format is: PitGroup = <# of vehicles sharing pit>, <groupname>
      PitGroup = 1, Group1
      PitGroup = 1, Group2
      PitGroup = 1, Group3
      PitGroup = 1, Group4
      PitGroup = 1, Group5
      PitGroup = 1, Group6
      PitGroup = 1, Group7
      PitGroup = 1, Group8
      PitGroup = 1, Group9
      PitGroup = 1, Group10
      PitGroup = 1, Group11
      PitGroup = 1, Group12
      PitGroup = 1, Group13
      PitGroup = 1, Group14
      PitGroup = 1, Group15
      PitGroup = 1, Group16
      PitGroup = 1, Group17
      PitGroup = 1, Group18
      PitGroup = 1, Group19
      PitGroup = 1, Group20
      PitGroup = 1, Group21
      PitGroup = 1, Group22
      PitGroup = 1, Group23
      PitGroup = 1, Group24
      PitGroup = 1, Group25
      PitGroup = 1, Group26
      PitGroup = 1, Group27
      PitGroup = 1, Group28
      PitGroup = 1, Group29
      PitGroup = 1, Group30
      PitGroup = 1, Group31
      PitGroup = 1, Group32
      PitGroup = 1, Group33
      PitGroup = 1, Group34
      PitGroup = 1, Group35
      PitGroup = 1, Group36
      PitGroup = 1, Group37
      PitGroup = 1, Group38
      PitGroup = 1, Group39
      PitGroup = 1, Group40
      PitGroup = 1, Group41
      PitGroup = 1, Group42
      PitGroup = 1, Group43
    }
    
    
     
    Corgan, Emery, DJCruicky and 3 others like this.
  2. juanchioooo

    juanchioooo Registered

    Joined:
    May 16, 2016
    Messages:
    2,242
    Likes Received:
    1,649
    buen aporte;)
     
  3. Woodee

    Woodee Registered

    Joined:
    Oct 4, 2010
    Messages:
    4,010
    Likes Received:
    1,071

Share This Page