Overall Ratings

Maximum-Football 2.0 is the latest and greatest release from the acclaimed sports management video game studio, Wintervalley Software. Bringing a whole host of new features like full Xbox 360 controller support, full DirectX 9.0 utilization, and scores of other upgrades and improvements, Maximum-Football 2.0 delivers on gameplay and fun like a bullet pass through double coverage. Like its predecessor, Maximum-Football 2.0 allows players to experience the thrill of managing a team in any league!

Moderator: David Winter

Post Reply
dragon2
Posts: 24
Joined: Thu Feb 23, 2006 5:12 am

Overall Ratings

Post by dragon2 »

Can anyone tell me how JDhalfracks Editor computes the overall ratings for players?

Would like to know which ratings he uses for each position.


User avatar
jdhalfrack
Posts: 293
Joined: Mon Oct 22, 2007 3:02 pm
Location: Springfield, IL
Contact:

RE: Overall Ratings

Post by jdhalfrack »

The following is the current function I use for the DB Editor (which, believe it or not, I DO still work on when time permits).

Code: Select all

 Public Function Get_Overall_Rating(ByVal Index As Integer, _
                           Optional ByVal MinRating As Long = 0, _
                           Optional ByVal MaxRating As Long = 99) As Long
 
         Dim PositionID As Integer = CInt(Players_Array(Index).PositionID)
         Dim PRDH As Decimal = Overall_Ratings_Array(PositionID).PRDH
         Dim PRDL As Decimal = Overall_Ratings_Array(PositionID).PRDL
         Dim WTSP As Decimal = Overall_Ratings_Array(PositionID).WTSP
         Dim WTST As Decimal = Overall_Ratings_Array(PositionID).WTST
         Dim WTBL As Decimal = Overall_Ratings_Array(PositionID).WTBL
         Dim HTCT As Decimal = Overall_Ratings_Array(PositionID).HTCT
 
         Dim SPDW As Decimal = Overall_Ratings_Array(PositionID).SPDW
         Dim STRW As Decimal = Overall_Ratings_Array(PositionID).STRW
         Dim AGLW As Decimal = Overall_Ratings_Array(PositionID).AGLW
         Dim INTW As Decimal = Overall_Ratings_Array(PositionID).INTW
         Dim ENDW As Decimal = Overall_Ratings_Array(PositionID).ENDW
         Dim DISW As Decimal = Overall_Ratings_Array(PositionID).DISW
         Dim BLKW As Decimal = Overall_Ratings_Array(PositionID).BLKW
         Dim BLAW As Decimal = Overall_Ratings_Array(PositionID).BLAW
         Dim PSSW As Decimal = Overall_Ratings_Array(PositionID).PSSW
         Dim PSAW As Decimal = Overall_Ratings_Array(PositionID).PSAW
         Dim PPRW As Decimal = Overall_Ratings_Array(PositionID).PPRW
         Dim CATW As Decimal = Overall_Ratings_Array(PositionID).CATW
         Dim HNDW As Decimal = Overall_Ratings_Array(PositionID).HNDW
         Dim COVW As Decimal = Overall_Ratings_Array(PositionID).COVW
         Dim KSTW As Decimal = Overall_Ratings_Array(PositionID).KSTW
         Dim KACW As Decimal = Overall_Ratings_Array(PositionID).KACW
 
         Dim HEIGHT As Long = Players_Array(Index).Height
         Dim WEIGHT As Long = Players_Array(Index).Weight
 
         Dim SPED As Long = Players_Array(Index).R1
         Dim STRN As Long = Players_Array(Index).R2
         Dim AGIL As Long = Players_Array(Index).R3
         Dim INTL As Long = Players_Array(Index).R4
         Dim ENDR As Long = Players_Array(Index).R5
         Dim DISC As Long = Players_Array(Index).R6
         Dim BLKN As Long = Players_Array(Index).R7
         Dim BLAV As Long = Players_Array(Index).R8
         Dim PSST As Long = Players_Array(Index).R9
         Dim PSAC As Long = Players_Array(Index).R10
         Dim PPSR As Long = Players_Array(Index).R11
         Dim CATH As Long = Players_Array(Index).R12
         Dim HNDS As Long = Players_Array(Index).R13
         Dim COVG As Long = Players_Array(Index).R14
         Dim KSTR As Long = Players_Array(Index).R15
         Dim KACC As Long = Players_Array(Index).R16
         Dim R17 As Long = Players_Array(Index).R17
         Dim R18 As Long = Players_Array(Index).R18
         Dim R19 As Long = Players_Array(Index).R19
         Dim R20 As Long = Players_Array(Index).R20
 
         Get_Overall_Rating = 0
 
         Dim Overall_Rating_Dec As Decimal
         Dim Ratio As Decimal
         Dim StartValue As Decimal
         Dim TotalWeight As Decimal
 
         If PRDH - PRDL <= 0 Then
             Ratio = 99
         Else
             Ratio = 99 / (PRDH - PRDL)
         End If
 
         StartValue = -1 * (Ratio * PRDL)
 
         TotalWeight = SPDW + STRW + AGLW + INTW + ENDW + DISW + BLKW + BLAW + PSSW + PSAW + PPRW + CATW + HNDW + COVW + KSTW + KACW
 
         Overall_Rating_Dec = StartValue + _
                             (SPED + ((WTSP - WEIGHT) / 9)) * ((Ratio * SPDW) / TotalWeight) + _
                             (STRN - ((WTST - WEIGHT) / 9)) * ((Ratio * STRW) / TotalWeight) + _
                             (AGIL * ((Ratio * AGLW) / TotalWeight)) + _
                             (INTL * ((Ratio * INTW) / TotalWeight)) + _
                             (ENDR * ((Ratio * ENDW) / TotalWeight)) + _
                             (DISC * ((Ratio * DISW) / TotalWeight)) + _
                             (BLKN - ((WTBL - WEIGHT) / 9)) * ((Ratio * BLKW) / TotalWeight) + _
                             (BLAV * ((Ratio * BLAW) / TotalWeight)) + _
                             (PSST * ((Ratio * PSSW) / TotalWeight)) + _
                             (PSAC * ((Ratio * PSAW) / TotalWeight)) + _
                             (PPSR * ((Ratio * PPRW) / TotalWeight)) + _
                             (CATH - (HTCT - HEIGHT)) * ((Ratio * CATW) / TotalWeight) + _
                             (HNDS * ((Ratio * HNDW) / TotalWeight)) + _
                             (COVG * ((Ratio * COVW) / TotalWeight)) + _
                             (KSTR * ((Ratio * KSTW) / TotalWeight)) + _
                             (KACC * ((Ratio * KACW) / TotalWeight))
 
         Get_Overall_Rating = CLng(Math.Round(Overall_Rating_Dec, 0, MidpointRounding.AwayFromZero))
 
         If Get_Overall_Rating < MinRating Then Get_Overall_Rating = MinRating
 
         If Get_Overall_Rating > MaxRating Then Get_Overall_Rating = MaxRating
 
     End Function
 

It's a very weird formula based loosely on the way Madden formulates the overall player ratings. I think, but I am not certain, that users can change the weightings of each skill by editing the "OVERALL_Ratings" table in the MaxFBDatabaseEditorIniFile.mdb file that I release with the editors. Make a back up before you do, though, just in case you mess something up!

If you need more help deciphering my code, let me know.

JD
[center]Image

Latest Max FB Databse Editor: Max FB Database Editor (v 1.7.0)[/center]
Post Reply

Return to “Maximum-Football 2.0”