Page 1 of 32

Football Manager 2020 | Steam 20.4.4 | 4-Nov-2020

Posted: Sat Nov 09, 2019 7:10 am
by tfigment
This is a table for Football Manager 2020 version 20.4.4 (Updated 4-Nov-2020)

It seems stable enough and most pointers seem to be correct so I'm release it for now. I'm still play testing so save early and save often and make backups and don't expect too much. I cannot promise to update for each beta but hopefully not too much work and I can get around to it.

Here is list of features in the current build:
  • Edit Person (Player, Staff, Manager) attributes
  • Edit Club attributes
  • Edit National team attributes
  • Edit Competition attributes
  • View Match attributes
  • Dynamic Lists for Clubs to show Teams and players/staff in the teams
  • Dynamic Lists for Bonus & Clauses in Contracts
  • Dynamic Lists for Relationships
  • Helper Scripts that either run immediately or periodically to:
    • Set Happiness, Fitness Condition/Sharpness, Training Happiness for all squad members of a Club
    • Set Favourability to Max for all members of a club
    • Set Fitness Condition/Sharpness for all squad at the National team (if you are coaching one)
    • Set budgets to high number periodically to allow free spending for recruiting
    • Set contract dates to current day (or back to join date) to help stop offers. (Better to add high value "Minimum Release Fee" to stop offers but both can be used)
    • Prevent Player or Staff Attributes from decreasing during monthly updates
A lot of values seem to be cosmetic and dont impact the game so dont expect everything shown to impact the game.
Details about Table
Here are some random details about the table for advanced users trying to edit or update the table. (Not tips for cheating).

The core injection script which updates when focus changes seems to call an virtual function for any object being selected. This is useful except that everything goes through it is hard so to differentiate objects (i.e. players, clubs, teams, matches, etc) from each other. I use the C++ class vtable pointers. This makes it very accurate when vtable is known but makes it hard to update when not known. I added Selected Object and Vtable to Allocated Pointers area which should make it easier to locate pointers by observing those changes as these cannot be AOB scanned easily.

For players, I use the compiler hints around the vtable for C++ multi-inheritance classes to guess where the data blocks begin for shared data in classes.

How to update the table (as of 20.0.4):
  • Edit Script for "[X] <--- Football Manager 2020 ..."
    • Change "expectedExeVersion" to new version number
    • datTimeRoot
      • Before loading any game search for "01 00 00 00 20 ?? 00 00 01 00 6c 07"
      • Pointer is address for 01 00 6c 07
    • datPlayersList (optional)
      • Search for "25 00 00 00 ff 3d 00 00 00 ff 0f 84 42 05 00 00 81 e1 ff ff 7f 00 81 f9 ff ff 7f 00 0f 84 30 05 00 00"
      • pointer is in the MOV instruction below this
    • lblManagerRoot
      • Search for "4c 89 74 24 58 48 89 74 24 30"
      • pointer is in the MOV instruction 2 instructions above this
  • Activate the "[X] <--- Football Manager 2020 ..." script
  • Edit Script for "[X] <----- Update On Focus Change or Hover Tooltip ..."
    • Search for "49 8B 0F BA 72 64 70 72 4C 8B 49 10"
    • Update define for iniSelect to match
    • Search for "48 8B 06 BA 6F 6E 52 44"
    • First entry is iniTooltip to match
  • OK to close
  • Activate the "[X] <----- Update On Focus Change or Hover Tooltip ..." script
    • Select Persons and monitor the Allocated Pointers > VTables > Selected Object
    • Update vtables in the "[X] <--- Football Manager 2020 ..." script with this vtable address
  • Edit Code Modification Scripts
    • Search for datXXX
    • update iniXXX to match
    • These can be AOB but that is slow and this entire table cannot be AOB yet due to manual update of vtables and clock
  • OK to close
  • Deactivate all scripts. Then reactivate them so that new defines are in use.

Change Log
08-Nov-2019 (v1): Initial release
09-Nov-2019 (v2): Fix Staff General Attributes offsets
09-Nov-2019 (v3): New Manager Pointer since previous started pointing at different manager at some point. Added 2 new Staff Attrs
10-Nov-2019 (v4): Add Code Modification Scripts area. Included script to prevent attributes from decreasing on players for members of the same club as the manager.
11-Nov-2019 (v5): Update pointers to 20.0.4. Document table update procedure.
13-Nov-2019 (v6): Update to 20.1.0. Also fix bug with time display.
15-Nov-2019 (v7): Add Prevent Staff Attributes from Decreasing script. Fix the "Agreed Play Time" drop down to match play time values.
16-Nov-2019 (v8): Bug fix for Staff Attr causing crash when called from non-Staff related object. More protective checks added. (Will not work for coach/players for now and maybe other non-standard staff)
18-Nov-2019 (v9): Updated to 20.1.2
19-Nov-2019 (v10): Updated to 20.1.3
20-Nov-2019 (v11): Updated to 20.1.4
3-Dec-2019 (v12): Updated to 20.2.0. Set max status to 12191 so does not decrease during games. Add reduce injury script.
3-Dec-2019 (v13): Upload non-corrupted version of CT.
12-Dec-2019 (v14): Update to 20.2.1
19-Dec-2019 (v15): Update to 20.2.3
28-Dec-2019 (v16): Add Loan Contract (enabling changing end date of loan)
5-Jan-2020 (v17): Add Selected Player Updates and more periodic updates like happiness and training happiness
7-Feb-2020 (v18): Update to 20.2.4. Mark some attrs as not working. Move some scripts to "advanced"
20-Feb-2020 (v19): Update to 20.3.0.
21-Feb-2020 (v20): Fix Manager Data size from 468 to 480 to fix scripts
5-Mar-2020 (v21): Update to 20.4.0. Add Experimental set nationality, training nation, training club scripts for player
7-Mar-2020 (v22): Use getPlayerNation vs getPlayerNationContract correctly after renaming function
12-Mar-2020 (v23): Fix some stadium/club values
26-Mar-2020 (v24): Update to 20.4.1. Add the Chinese Trainer Scripts (v1.4.2 By:不知应该当讲否)
27-Mar-2020 (v25): Fix Prevent Decrease scripts which were not activating
17-Sep-2020 (v26): Update to 20.4.2. Move table script to "_GlobalScripts". change how attach works for exe other than fm.exe (untested). Remove the chinese/korean cheats.
19-Sep-2020 (v27): Update to 20.4.2 (patch which didn't update version!!!)
23-Sep-2020 (v28): Update to 20.4.3
25-Sep-2020 (v29): Update to 20.4.4
4-Nov-2020 (v30): Merged in tdg6661 fixes
Acknowledgements
This was based on tdg6661's table for FM 2019 and updated by me for 2019 and 2020.

Re: Football Manager 2020 | 20.0.3 | figment | 08-Nov-2019

Posted: Sat Nov 09, 2019 8:11 am
by Darkedone02
Is this game something like an RPG for european football?

Re: Football Manager 2020 | 20.0.3 | figment | 08-Nov-2019

Posted: Sat Nov 09, 2019 2:46 pm
by tfigment
Sure. I'd say it has one foot in RPG, one foot in Strategy but all in on Spreadsheet (sort like Crusader Kings)

Re: Football Manager 2020 | 20.0.3 | figment | 09-Nov-2019

Posted: Sun Nov 10, 2019 10:27 am
by Kobaruon
A while after editing staff attributes, their stats drop. Is there anything you can do about this issue or is it working as intended?

Re: Football Manager 2020 | 20.0.3 | figment | 09-Nov-2019

Posted: Sun Nov 10, 2019 1:41 pm
by tfigment
Kobaruon wrote:
Sun Nov 10, 2019 10:27 am
A while after editing staff attributes, their stats drop. Is there anything you can do about this issue or is it working as intended?
Alas not much can be done. this is the game doing it every couple months or so. Other cheat tools will save values and reapply. That is a lot of work. Another approach is to find the rebalancing code and prevent it but also hard to find. Finally, find previous values and maintain baseline but not sure where that is but the game does save since they are in charts. Anyway maybe one day.

Update: Decided to dig in to this a little more though could not find Staff updates yet, I was able to find code for player updates and was able to write code modification script to prevent most of those from decreasing. The new table has a new script Helper Scripts > Code Modification Scripts > Prevent Club Player Attribute Decrease. Still testing but seems pretty stable for me at this time.

Re: Football Manager 2020 | 20.0.3 | figment | 10-Nov-2019

Posted: Mon Nov 11, 2019 1:16 pm
by yiguanyu1997
Thank you for your job. GOOD!!

Re: Football Manager 2020 | 20.0.3 | figment | 10-Nov-2019

Posted: Mon Nov 11, 2019 7:22 pm
by Roolek
Cant enable the update script, getting an error on line 13

If its fairly simple, could you write out how to update the version number, if that is the issue

Re: Football Manager 2020 | 20.0.3 | figment | 10-Nov-2019

Posted: Tue Nov 12, 2019 12:57 am
by tfigment
Roolek wrote:
Mon Nov 11, 2019 7:22 pm
Cant enable the update script, getting an error on line 13

If its fairly simple, could you write out how to update the version number, if that is the issue
Looks like they have released 20.0.4. Will new need update. Updates are non-trivial but presumably shouldn't take too much time (if not next 4 hours then will not be until at least 28 hours from this post)

Updated to 20.0.4:
Added a number of checks to report version mismatch and other errors like not loading table lua script. Also documented procedure in the first post on how to update the table manually (at least works with current version)

Re: Football Manager 2020 | 20.0.4 | figment | 11-Nov-2019

Posted: Tue Nov 12, 2019 4:20 am
by danielyee
wow grandmaster creator..of of them..a great strike i gotta say..appreciated..salute to fearlessrevolution...blog n group

Re: Football Manager 2020 | 20.0.4 | figment | 11-Nov-2019

Posted: Tue Nov 12, 2019 4:21 am
by danielyee
greatmaster creator table maker..one of them..salute..

Re: Football Manager 2020 | 20.0.4 | figment | 11-Nov-2019

Posted: Tue Nov 12, 2019 9:55 am
by yiguanyu1997
Can't edit Competition attributes

Re: Football Manager 2020 | 20.0.4 | figment | 11-Nov-2019

Posted: Wed Nov 13, 2019 12:50 am
by tfigment
yiguanyu1997 wrote:
Tue Nov 12, 2019 9:55 am
Can't edit Competition attributes
What exactly is the issue. Is it that they display correctly but do not take effect? If so then unfortunately that is probably the case as I think these may not be actively used in game but are display only in most cases.

Also not everything is tested in fm20. Squad Status is probably not working because they changed player classifications from fm19. May need to wait for FM 2020 Editor to be released to better understand. Same with Media policies.

Re: Football Manager 2020 | 20.0.4 | figment | 11-Nov-2019

Posted: Wed Nov 13, 2019 11:08 pm
by danielyee
hi sir..sifu..the game been updated sadly..what the heck

Re: Football Manager 2020 | 20.1.0 | figment | 13-Nov-2019

Posted: Thu Nov 14, 2019 1:10 am
by tfigment
danielyee wrote:
Wed Nov 13, 2019 11:08 pm
hi sir..sifu..the game been updated sadly..what the heck
Updated. Its not really unexpected since the game is still in beta. I'd rather get the beta and bug fixes now than fixes later and no game. Also thanks to @Roolek for getting me to formalize the update procedure as that made it much easier.

Re: Football Manager 2020 | 20.1.0 | figment | 13-Nov-2019

Posted: Thu Nov 14, 2019 1:51 am
by danielyee
Thanks master..that was quick draw..imagine the full version arrives..sir..thanks..