Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Guides/Tips Hexer's Workshop: It's all about Hex (FMM21 and beyond)


Recommended Posts

On 14/02/2023 at 15:22, Rus7M said:

Hi. I tried to remember the good old days and decipher the structure for you. I hope this will help you.
After the nationality code come the values that are responsible for the color of the away form, home form, third form, font color, icon color, background color, and form type. I didn't figure them out 100%, but I assume that the field I marked in red (144 bytes) in the screenshot is all responsible for the colors.

Next:

- Purple (01) is the value responsible for team status. 00 is the national team. 01 is the professional status of the club. 02 is semi-professional status for the club, and 03 is amateur.

- The green color is the training base of the club. The first value 14 is for training facilities, the second 14 is for youth facilities.
14 is the maximum value, if converted to decimal it is 20.

- Yellow is the attendance at the stadium. The first "c5 0e" is average attendance, the second "c4 09" is minimum attendance, "70 17" is maximum attendance.

- White is unknown. National teams have 00 there, clubs usually have 02 or 01.

- Orange (05 00) is the league code.

- Turquoise (14 00) is stadium code

- Blue (05 00) - last season's league code.

 

Below is also the reputation of the club and the ID numbers of the manager, staff and players

 

 

Screenshot_2023-02-14-14-52-49-763_com.myprog.hexedit.jpg

Very helpful, thanks. Which is the club reputation field?

Link to comment
Share on other sites
8 hours ago, Pete123 said:

Very helpful, thanks. Which is the club reputation field?

 

Each club has a reputation, if you open a club through the in-game editor you can see this. The highest reputation is Woldwide, then continental, top-division, national and so on.
This affects which players and staff you can sign.

In the screenshot I have marked these two values are responsible for reputation. In the example of Chelsea it is continental reputation 

Screenshot_2023-02-22-07-48-15-695_com.myprog.hexedit.jpg

Edited by Rus7M
Add inf
Link to comment
Share on other sites
17 hours ago, Rus7M said:

 

Each club has a reputation, if you open a club through the in-game editor you can see this. The highest reputation is Woldwide, then continental, top-division, national and so on.
This affects which players and staff you can sign.

In the screenshot I have marked these two values are responsible for reputation. In the example of Chelsea it is continental reputation 

Screenshot_2023-02-22-07-48-15-695_com.myprog.hexedit.jpg

Thanks!

Link to comment
Share on other sites

Has anyone been able to loan a player through the database files? I'm trying to do it through starting_loans.dat, the player's profile says he's on loan, but he's not in the club.

Link to comment
Share on other sites
On 24/02/2023 at 14:06, Rus7M said:

Has anyone been able to loan a player through the database files? I'm trying to do it through starting_loans.dat, the player's profile says he's on loan, but he's not in the club.

Maybe you need to add the player id to club player list, every club has list of their player in their club data.

Link to comment
Share on other sites
40 minutes ago, Pete123 said:

Does any have any experience with editing MLS? Using @nyongrand's editor I can get clubs into the Supporters Shield but the original MLS clubs appear in the Eastern and Western Conferences. 

Looks like MLS uses a different system, similar to what is used for Champions league starting teams.

There's a list of teams under MLS section in competition.dat starting with 4 bytes for list length followed by an entry for each team containing:

  • Team UID (4 bytes) - this is the second id that appears for the team in club.dat 
  • Year (2 bytes) this is usually the starting year (2022), but in MLS they are using 0 as default and 2023 for St. Louis City SC that only enters next season
  • Seed (2 bytes) this can be used for entry round, but in this case is used for sorting conferences so its either 0 or 1.

From the initial database (I haven't checked the winter update):

00000830            :           |1D 00 00 00:84 EC 37 77
00000840 E7 07 00 01:C0 5A 4B 04|00 00 00 00:EB 12 36 77
00000850 E6 07 00 01:5D A9 01 00|00 00 00 00:70 07 00 00
00000860 00 00 00 00:6F CE 31 01|00 00 00 00:A0 A2 4A 04
00000870 00 00 00 00:75 07 00 00|00 00 00 00:02 E6 37 77
00000880 00 00 00 00:9D 45 4B 04|00 00 00 00:71 D9 4A 04
00000890 00 00 00 00:38 EC 4A 04|00 00 00 00:15 A5 4A 04
000008A0 00 00 00 00:79 07 00 00|00 00 00 00:50 6D 4B 04
000008B0 00 00 00 00:2C 71 4B 04|00 00 01 00:6F 07 00 00
000008C0 00 00 01 00:70 A2 4A 04|00 00 01 00:71 07 00 00
000008D0 00 00 01 00:73 07 00 00|00 00 01 00:A1 62 4B 04
000008E0 00 00 01 00:43 E2 31 01|00 00 01 00:60 A2 31 01
000008F0 00 00 01 00:81 E2 0E 00|00 00 01 00:76 07 00 00
00000900 00 00 01 00:3F F6 0E 00|00 00 01 00:B6 D8 4A 04
00000910 00 00 01 00:C2 FE 4A 04|00 00 01 00:8E 23 43 00
00000920 00 00 01 00

nyongrand's tool doesn't support this, so the only way is hex editing for now.

Link to comment
Share on other sites
40 minutes ago, MrCaseiro said:

Looks like MLS uses a different system, similar to what is used for Champions league starting teams.

There's a list of teams under MLS section in competition.dat starting with 4 bytes for list length followed by an entry for each team containing:

  • Team UID (4 bytes) - this is the second id that appears for the team in club.dat 
  • Year (2 bytes) this is usually the starting year (2022), but in MLS they are using 0 as default and 2023 for St. Louis City SC that only enters next season
  • Seed (2 bytes) this can be used for entry round, but in this case is used for sorting conferences so its either 0 or 1.

From the initial database (I haven't checked the winter update):

00000830            :           |1D 00 00 00:84 EC 37 77
00000840 E7 07 00 01:C0 5A 4B 04|00 00 00 00:EB 12 36 77
00000850 E6 07 00 01:5D A9 01 00|00 00 00 00:70 07 00 00
00000860 00 00 00 00:6F CE 31 01|00 00 00 00:A0 A2 4A 04
00000870 00 00 00 00:75 07 00 00|00 00 00 00:02 E6 37 77
00000880 00 00 00 00:9D 45 4B 04|00 00 00 00:71 D9 4A 04
00000890 00 00 00 00:38 EC 4A 04|00 00 00 00:15 A5 4A 04
000008A0 00 00 00 00:79 07 00 00|00 00 00 00:50 6D 4B 04
000008B0 00 00 00 00:2C 71 4B 04|00 00 01 00:6F 07 00 00
000008C0 00 00 01 00:70 A2 4A 04|00 00 01 00:71 07 00 00
000008D0 00 00 01 00:73 07 00 00|00 00 01 00:A1 62 4B 04
000008E0 00 00 01 00:43 E2 31 01|00 00 01 00:60 A2 31 01
000008F0 00 00 01 00:81 E2 0E 00|00 00 01 00:76 07 00 00
00000900 00 00 01 00:3F F6 0E 00|00 00 01 00:B6 D8 4A 04
00000910 00 00 01 00:C2 FE 4A 04|00 00 01 00:8E 23 43 00
00000920 00 00 01 00

nyongrand's tool doesn't support this, so the only way is hex editing for now.

Thanks! Will see if I can work it out. That's great. 

Link to comment
Share on other sites
23 hours ago, MrCaseiro said:

Looks like MLS uses a different system, similar to what is used for Champions league starting teams.

There's a list of teams under MLS section in competition.dat starting with 4 bytes for list length followed by an entry for each team containing:

  • Team UID (4 bytes) - this is the second id that appears for the team in club.dat 
  • Year (2 bytes) this is usually the starting year (2022), but in MLS they are using 0 as default and 2023 for St. Louis City SC that only enters next season
  • Seed (2 bytes) this can be used for entry round, but in this case is used for sorting conferences so its either 0 or 1.

From the initial database (I haven't checked the winter update):

00000830            :           |1D 00 00 00:84 EC 37 77
00000840 E7 07 00 01:C0 5A 4B 04|00 00 00 00:EB 12 36 77
00000850 E6 07 00 01:5D A9 01 00|00 00 00 00:70 07 00 00
00000860 00 00 00 00:6F CE 31 01|00 00 00 00:A0 A2 4A 04
00000870 00 00 00 00:75 07 00 00|00 00 00 00:02 E6 37 77
00000880 00 00 00 00:9D 45 4B 04|00 00 00 00:71 D9 4A 04
00000890 00 00 00 00:38 EC 4A 04|00 00 00 00:15 A5 4A 04
000008A0 00 00 00 00:79 07 00 00|00 00 00 00:50 6D 4B 04
000008B0 00 00 00 00:2C 71 4B 04|00 00 01 00:6F 07 00 00
000008C0 00 00 01 00:70 A2 4A 04|00 00 01 00:71 07 00 00
000008D0 00 00 01 00:73 07 00 00|00 00 01 00:A1 62 4B 04
000008E0 00 00 01 00:43 E2 31 01|00 00 01 00:60 A2 31 01
000008F0 00 00 01 00:81 E2 0E 00|00 00 01 00:76 07 00 00
00000900 00 00 01 00:3F F6 0E 00|00 00 01 00:B6 D8 4A 04
00000910 00 00 01 00:C2 FE 4A 04|00 00 01 00:8E 23 43 00
00000920 00 00 01 00

nyongrand's tool doesn't support this, so the only way is hex editing for now.

Thanks again for your help. I replaced the Team UIDs with those of the new clubs but it didn't work. I tried changing the year to 2022 and anything else I could think of but nothing worked. Have you any suggestions?

Link to comment
Share on other sites
46 minutes ago, Pete123 said:

Thanks again for your help. I replaced the Team UIDs with those of the new clubs but it didn't work. I tried changing the year to 2022 and anything else I could think of but nothing worked. Have you any suggestions?

The xml for MLS in sicomps seems to have a duplicate of this list for some reason... this may indicate that it's hardcoded in comps.dbc. Unfortunatly, if that's the case it would be too dificult to edit.

I might be wrong, but right now it's the only thing I can think about to be causing it.

Just to confirm, did nothing at all change in your tests, or did you get some strange effect, like competition not starting, fixtures not appearing?

Link to comment
Share on other sites
8 hours ago, MrCaseiro said:

The xml for MLS in sicomps seems to have a duplicate of this list for some reason... this may indicate that it's hardcoded in comps.dbc. Unfortunatly, if that's the case it would be too dificult to edit.

I might be wrong, but right now it's the only thing I can think about to be causing it.

Just to confirm, did nothing at all change in your tests, or did you get some strange effect, like competition not starting, fixtures not appearing?

Nothing at all changed. So I think you are right. That's a real pity as the MLS model is so useful. Thanks for your help. 

Link to comment
Share on other sites
4 hours ago, Andraos said:

hello, can I create a new cup or modify an existing one with HEX Editor?

At the moment, it's not possible to create competitions. The best we can do is transfer teams between leagues, the total number of teams in the league must stay the same, meaning that if a team goes in, another one goes out.

To do this you must have access to the database. If you don't have access to the database, you can look in the downloads section of this site for custom databases. If you have the database, you can also look in the downloads for a tool to transfer teams without hex editing.

If all you need is to move teams up and down a league system (all from the same country) you can also use changes.txt l, that is much easier/safer to create and apply.

Link to comment
Share on other sites
8 hours ago, MrCaseiro said:

At the moment, it's not possible to create competitions. The best we can do is transfer teams between leagues, the total number of teams in the league must stay the same, meaning that if a team goes in, another one goes out.

To do this you must have access to the database. If you don't have access to the database, you can look in the downloads section of this site for custom databases. If you have the database, you can also look in the downloads for a tool to transfer teams without hex editing.

If all you need is to move teams up and down a league system (all from the same country) you can also use changes.txt l, that is much easier/safer to create and apply.

I heard that one member managed to edit the sicomps' files for that, though he didn't elaborate further. Would be very useful for my plan, so I'll ask him further

Link to comment
Share on other sites

hello everyone

 

given that we almost know the teams qualified for the next edition of the Champions League in the premier league I wanted to try to change the save fille to reversed the qualified teams between this year and the next edition 

 

Like -> replace chlesea with Newcastle

 

Arsenal with Liverpool

 

And man utd with totenham

 

If someone could explain to me how to directly change a file.save (New Career)

 

I would be grateful 

Screenshot_2023-05-02-21-59-31-29_40deb401b9ffe8e1df2f1cc5ba480b12.jpg

Link to comment
Share on other sites
21 hours ago, Martin Braithwaite said:

How to edit league reputation?

Go to competition.dat and look for the hex number that is ten places after the competition's short name. So in this example, the UEFA Champions League, the short name is UCL and the hex number ten places after is c8. That is 200 in hex, which is the highest. Change that to whatever hex number you want, from 1 to 200.

Here is a hex to decimal converter: http://www.rapidtables.com/convert/number/hex-to-decimal.html

Screenshot_20230609-223312_HEX Editor.jpg

Edited by Pete123
Link to comment
Share on other sites
On 10/04/2021 at 15:26, NguyenDucAnh said:

#2: IDs, information fields, and how to find them.

Like I said above, IDs in any kind are important if you want to edit anything at all, and they have different roles for different task. Today, I'll show you how to identify different kinds of ID, and use them to navigate and edit other related stuff.

UIDs are easiest to find, simply use sortitoutsi to find it, convert to hex, then convert it again to Little Endian (the example is above). As for TIDs, for players, managers, and clubs, they are the 4 digits right before the UID, with their structure being XX XX 00 00 (XX XX varied throughout different savefiles), though only the XX XX is used in the "information field"; for stadiums, it is right behind the stadium's name, its structure being 00 XX XX (XX XX, again, seemed to varied as well, and it was the only part that matters).

Nationality ID (NID), which determines a player's home nation, are also easy to find, and are constant between different savefiles. They are right behind the team 3-character abbreviated names.

Here in this example, I'll show you how I can find a player and his information field using UIDs. The player in question is Abdelhak Nouri (don't ask me how he was in my savefile, I would get on to that eventually). His UID is 37045583, in hex it will be 235454F - has 7 characters, so it should be written as 02 35 45 4F, converted to Little Endian and you'll have 4F 45 35 02. Find this in Hex Editor, and I'll have this:

  Hide contents

Screenshot_2021-04-10-20-53-34-440_com.myprog.hexedit.thumb.jpg.a60d97aecb20d63576fa3e499a4ac732.jpg

This 103 digits is what I called "information field", as it contains all the personal data of the player. I'll break things down for you to make it easier:

  • D5 52 00 00 is Nouri' s TID, what you will use for most parts of the editing. 4F 45 35 02, obviously, is his UID
  • 86 07 00 00 and 7C 04 00 00 are his names' ID, first name and last name respectively. The FF FF FF FF right behind it was his nickname's ID, since he doesn't have one.
  • 5B 00 CD 07 is his date of birth. Nouri was born in April 2nd, 1997. 1997 to hex is 7CD, which in Little Endian is CD 07. April 2nd is the 92nd day of the year. Subtracting it by one to have 91, convert it to hex and you' have 00 5B, and 5B 00 is in Little Endian format.
  • 1D 00 9E 00 1D 00 01 is the IDs of his nationality, second nationality, and declared national team respectively, and the 01 behind it signified that his role there is a player (10 if he was a manager). Nouri was called up to Morocco in my savefile, so the first 1D 00 represents the nationality ID of Morocco, which can be found right behind the nation's abbreviated name MAR. Holland, as a result, becomes his second nation (9E 00), and like clubs' ID, declared national team's TID is right before the nation's UID, which is 10 digits before the team's long name (as with most African nations, is the same as nationality ID.
  • 4B 00 E6 07 is the date of his most recent callups. You don't need to pay much attention for it.
  • 12 03 and 00 00 were his capped/goals, for senior and U21 respectively. He capped for Morocco 18 times, scored 3 goals, while didn't capped for U23s.
  • 25 03 is the club's TID (Rangers), since I brought him there. B9 00 E4 07 is the day he last signed a contract, and 69 30 is his transfer values.
  • 00 CF 3F 00 00 is his SID. The exact use of this will be covered later.

That's all for now. God, it was tedious, but you'll soon find those info more useful later on. Thanks for reading, and stay tuned for more!

How can i get the teams id and tid ?

Link to comment
Share on other sites
14 hours ago, Kujo Chungus said:

Still works in fmm23

Team id is the 2 values that are 10 values ahead of the first letter of the team's full name ( search for it in ascii )

In the players info section the 8 values dire tly ahead of the sid are mental abilities the 2 values that are located 8 values ahead of the first mental atribute are the player's current team id ( In other words the player's team id is located 16 values ahead of the player's sid )

Example

player uid converted to hex little endian : 2E D0 22 01

Player info section :

A4 19 00 00 2E D0 22 01 F9 0B 00 00 F5 17 00 00 FF FF FF FF CE 00 C9 07 BD 00 FF FF 00 FF FF FF FF 01 3A 01 E7 07 00 00 05 00 40 02 00 00 B5 00 E9 07 80 0F 10 11 13 0E 11 12 0F 11 30 08 00 00 FF FF FF FF ...

 

30 08 00 00 being his SID. 16 values ahead is 40 02 wich is HSV's club id ( cuz i'm currently managing them ), 40 02 is also found exactly 10 values ahead of the first character ( H ) of the teams full name ( Hamburger SV ) when searched for in ascii

Edited by Kujo Chungus
modified quote comment
Link to comment
Share on other sites
14 hours ago, hossamallam said:

How to add minimum fee release clause to players don't have one and how to change it for the players who have?

8 values after squad status is where you put that in.

Link to comment
Share on other sites

What value should I use if I want to increase CA/PA? I know most editable number (that I understand as of now) have 14 as maximal value, but what about CA/PA?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share


×
×
  • Create New...