• This is a reminder of 3 IMPORTANT RULES:

    1- External self-promotion websites or apps are NOT allowed here, like Discord/Twitter/Patreon/etc.

    2- Do NOT post in other languages. English-only.

    3- Crack/Warez/Piracy talk is NOT allowed.

    Breaking any of the above rules will result in your messages being deleted and you will be banned upon repetition.

    Please, stop by this thread SoccerGaming Forum Rules And Guidelines and make sure you read and understand our policies.

    Thank you!

Career Mode Editing

SgarbaX

Club Supporter
x119;3139024 said:
Good investigation as usually..In these incomings for the budget of your clud, did you understand what was the effect of the LEAGUE_BUDGET_MIN ?

I took Brisbane Roar in autralia league, won championship , my initial budget was 1300000 euro the next season was 1700000 (selling my best player and signing 2 minor ones with low wage) here's my simsettings.ini 4 budget:
BOARD_AI_DIFFICULTY_FACTOR_AMATEUR = 120
BOARD_AI_DIFFICULTY_FACTOR_SEMIPRO = 100
BOARD_AI_DIFFICULTY_FACTOR_PRO = 80
BOARD_AI_DIFFICULTY_FACTOR_WORLDCLASS = 60
BOARD_AI_DIFFICULTY_FACTOR_LEGENDARY = 40
RANDOM_FACTOR = 0
TRANSFER_WAGE_SPLIT_PERCENT = 70

WAGE_BUDGET_MODIFIER_AMATEUR = 2.5
WAGE_BUDGET_MODIFIER_SEMIPRO = 1.5
WAGE_BUDGET_MODIFIER_PRO = 0.35
WAGE_BUDGET_MODIFIER_WORLDCLASS = 0.15
WAGE_BUDGET_MODIFIER_LEGENDARY = 0.010

BUDGET_BONUS_SIGNIFICANTLY_FAILED = -15
BUDGET_BONUS_FAILED = -5
BUDGET_BONUS_FULFILLED = 5
BUDGET_BONUS_OVERACHIEVED = 8
BUDGET_BONUS_SIGNIFICANTLY_OVERACHIEVED = 10

plus all LEAGUE_BUDGET_MIN_ to -1

LEAGUE_BUDGET_MIN_DEFAULT = -1
LEAGUE_BUDGET_WEIGHT_UP = 20
LEAGUE_BUDGET_WEIGHT_DOWN = 50

LEAGUE_BUDGET_MIN i think if u set it to -1 it will follow the actual budget without impositions , if u set it to 100 u will have at least 100 euros in your budget at season start.
 

SgarbaX

Club Supporter
x119;3139257 said:
Why does -1 and not 0 or 1 ? I can't understand the reason behind it!

Let's say u finish the season with -200000 in budget , if you put 1 the next season you will have at least +1 in budget , with 0 u will have at leat 0 ,regardless of your real budget so -200000 will be ignored.
If u put -1 , which means free from a pre-imput (it's not a number, more like a concept), u will start with -200000, that is your real budget.
with -1 u tell the game to take in account of your real budget .
-1 means infinite (free), any other number mean the number itself.
Don't ask me why i'm not a programmer .
 

KaseyKeller

Youth Team
SgarbaX;3139190 said:
BUDGET_BONUS_SIGNIFICANTLY_FAILED = -15
BUDGET_BONUS_FAILED = -5

BUDGET_BONUS_FULFILLED = 5
BUDGET_BONUS_OVERACHIEVED = 8
BUDGET_BONUS_SIGNIFICANTLY_OVERACHIEVED = 10

Just as an FYI, when I used negative values (or zero) for these in testing the next season's budget was set to 0. I think the minimum you can put here is 1.
 

cubby

Youth Team
SgarbaX, interesting find, thanks for looking into this! I believe you mentioned this before as well. What was the default value for LEAGUE_BUDGET_MIN_DEFAULT, was it 50? I assume this value is a percentage of sorts that knocks your budget up a bit, but who knows.

I know in testing, sometimes it is hard to know where the funds are coming from once you move onto the next season. In my example below with Bayern, I had 73M budget before simming past the season end. I then gained 15M more to bump up to 88M.

If the EOS bonus of 12.5% is multiplied by your budget at that time then 12.5% x 73M = 9.125M. So that would bring the budget up to 81M, so the extra added funds would come from the LEAGUE_BUDGET_MIN_DEFAULT value it appears.
 

x119

Youth Team
Let me understand these things:

1) In order to make more difficult to grow, I've putted into the file playergrowth.ini the MAX_RATING = 8 (instead of 10) so that a player can't receive a rating upper to 8 (as it is almost always in reality) and can't grow up consequently, should it work? In career mode it seems no, players get rating over 8...

2) I've reduced MATCHEXPERIENCE_RESERVES_FACTOR = 0.125 (instead of 0.69) should I also make EXPERIENCE_MIN = 20 (instead of 0) in order to reduce the grow of reserves or the first parameter (with 1 point of grow instead of 5) is enough?

3) MATCHEXPERIENCE_SUBS_FACTOR = 0.79 what's the difference respect the MATCHEXPERIENCE_RESERVES_FACTOR ? Does it refer only to player that start from the reserve and then will enter ingame as substitution?

Thxxx
 

SgarbaX

Club Supporter
KaseyKeller;3139330 said:
Just as an FYI, when I used negative values (or zero) for these in testing the next season's budget was set to 0. I think the minimum you can put here is 1.

The budget calculation is a mess.
 

KaseyKeller

Youth Team
FYI, this is among the details for the new patch:

Physical attributes of players were growing a little unrealistically since they were tied to their overall growth potential. We have made a change that separates the growth of these attributes from others, resulting in much more steady progression.
 

KaseyKeller

Youth Team
x119;3140072 said:
So it's better to use default growth or always exo's growth?

I'm still going with Exo's modified growth curves. i don't think EA changed anything about the growth curves, just fixed a bug that was affecting physical attributes.
 

Exocyst

Youth Team
Okay, I noticed that I was seeing frequent takeovers when simulating in the Barclay's premier league. I wouldn't mind that if they didn't totally imbalance the transfer market. I agree that new owners do tend to inject capital into the team; however, the game rather lazily just replaces the teams current budget with 100m, which falsely assumes that all new owners will splash mega-bucks. Now I decided to rid the game of this madness without ridding the game of the "new ownership" concept.

First, here is the default section from foreign.lua which governs changing the budget for newly taken over teams:
Code:
function InvestorDynamicEvent( eventId )
	local storyId = "INVESTOR"
	local numStories = GetNumStoriesWithId( storyId )
	if( numStories > 0 ) then
		for storyCount = 1, numStories do
			local currentStory = GetStoryByIdAndIndex( storyId, storyCount )
			local storyTeam = GetStoryTeam( currentStory )
			SetStringTeam( storyTeam )
			if( eventId == "INVESTOR_ST1" ) then
				TriggerNews( "news_title_investor_stage1_", 1, 10, "news_body_investor_stage1_", 1, 5, currentStory )
				UpdateStoryActivityById( storyId )
				local nextEventLow = 28
				local nextEventHigh = 40
				local randDays = GetRandomNumber( nextEventLow, nextEventHigh )
				AddDateEvent( "INVESTOR_MONEY", randDays )
				-- Add more stages
			elseif( eventId == "INVESTOR_MONEY" ) then
				UpdateTeamBudget( storyTeam, 100000000 ) -- 100million for now
				TriggerNews( "news_title_investor_stagemoney_", 1, 10, "news_body_investor_stagemoney_", 1, 5, currentStory )
				UpdateStoryActivityById( storyId )
				SetStoryVariable( currentStory, "0" )
				GenerateTransferActivityForTeam( storyTeam )	-- Fix pacing
			end --if( event == "INVESTOR_ST1" ) then 
		end -- for storyCount = 1, numStories do
	end -- if( numStories == 0 ) then
end

Now, I decided to inject some randomness into how the game injects new capital:
Code:
function InvestorDynamicEvent( eventId )
	local storyId = "INVESTOR"
	local numStories = GetNumStoriesWithId( storyId )
	if( numStories > 0 ) then
		for storyCount = 1, numStories do
			local currentStory = GetStoryByIdAndIndex( storyId, storyCount )
			local storyTeam = GetStoryTeam( currentStory )
			SetStringTeam( storyTeam )
			if( eventId == "INVESTOR_ST1" ) then
				TriggerNews( "news_title_investor_stage1_", 1, 10, "news_body_investor_stage1_", 1, 5, currentStory )
				UpdateStoryActivityById( storyId )
				local nextEventLow = 28
				local nextEventHigh = 40
				local randDays = GetRandomNumber( nextEventLow, nextEventHigh )
				AddDateEvent( "INVESTOR_MONEY", randDays )
				-- Add more stages
			elseif( eventId == "INVESTOR_MONEY" ) then
				local teamBudget = GetTeamBudget( storyTeam )
				local randomBudgetInc = 0
				local newTeamBudget = 0
				local randomBudgetChance = GetRandomNumber( 1, 100 )
				if( randomBudgetChance <= 2 ) then
					randomBudgetInc = GetRandomNumber( 80000000, 100000000 ) 
				elseif( randomBudgetChance <= 12 ) then
					randomBudgetInc = GetRandomNumber( 30000000, 80000000 )
				elseif( randomBudgetChance <= 62 ) then
					randomBudgetInc = GetRandomNumber( 4000000, 15000000 )
				elseif( randomBudgetChance < 98 ) then
					randomBudgetInc = GetRandomNumber( 15000000, 30000000 )
				elseif( randomBudgetChance >= 98 ) then
					randomBudgetInc = GetRandomNumber( 2000000, 4000000 )
				newTeamBudget = ( teambudget + randomBudgetInc )
				UpdateTeamBudget( storyTeam, newTeamBudget ) 
				TriggerNews( "news_title_investor_stagemoney_", 1, 10, "news_body_investor_stagemoney_", 1, 5, currentStory )
				UpdateStoryActivityById( storyId )
				SetStoryVariable( currentStory, "0" )
				GenerateTransferActivityForTeam( storyTeam )	-- Fix pacing
			end --if( event == "INVESTOR_ST1" ) then 
		end -- for storyCount = 1, numStories do
	end -- if( numStories == 0 ) then
end

For an explanation: here is why I did each step:

1st, we need to create some new variables:
This one grabs the teams existing budget and stores it as "teamBudget":
Code:
local teamBudget = GetTeamBudget( storyTeam )
This one creates "randomBudgetInc" and sets it to zero:
Code:
local randomBudgetInc = 0
This one creates "newTeamBudget" and sets it to zero:
Code:
local newTeamBudget = 0
This one grabs a random number between 1 and 100 and stores it as "randomBudgetChance":
Code:
local randomBudgetChance = GetRandomNumber( 1, 100 )

2nd, we need to create outcomes for random variable "randomBudgetChance". 1st, the script will check to see if randomBudgetChance is less than or equal to 2. If yes (2% chance), then it will set the variable randomBudgetInc to a random number between 80m and 100m:
Code:
if( randomBudgetChance <= 2 ) then
	randomBudgetInc = GetRandomNumber( 80000000, 100000000 )
If it is not less than or equal to 2, then it will move to the next line. This next line asks if randomBudgetChance is less than or equal to 12 (10% chance that it is greater than 2 but less than or equal to 12). If yes, it sets randomBudgetInc to a random number between 30m and 80m:
Code:
elseif( randomBudgetChance <= 12 ) then
	randomBudgetInc = GetRandomNumber( 30000000, 80000000 )
This process is repeated:
for > 12 and &#8804; 62 (50% chance, randomBudgetInc = 4m - 15m):
Code:
elseif( randomBudgetChance <= 62 ) then
	randomBudgetInc = GetRandomNumber( 4000000, 15000000 )
for > 62 and < 98 (35% chance, randomBudgetInc = 15m - 30m):
Code:
elseif( randomBudgetChance < 98 ) then
	randomBudgetInc = GetRandomNumber( 15000000, 30000000 )
and finally, for &#8805; 98 (3% chance, randomBudgetInc = 2m - 4m):
Code:
elseif( randomBudgetChance >= 98 ) then
	randomBudgetInc = GetRandomNumber( 2000000, 4000000 )

Next, we need to add our value "randomBudgetInc" to the existing budget:
Code:
newTeamBudget = ( teambudget + randomBudgetInc )
Finally, we will set the team's budget to our new budget value:
Code:
UpdateTeamBudget( storyTeam, newTeamBudget )

So, we should still see semi-frequent takeovers but they should de-stabilize the market much less frequently. And sometimes they should have almost no impact. I did not edit or create any news content so the game will still talk about the cash injection like it was a mega-huge injection, but you won't know whether or not they got a bunch of cash until you watch them for a few transfer windows. I tried to explain the steps so that even programming novices like myself might be able to choose their price steps and chances.

Now, I am not a computer programmer and I only took one semester of programming in college, so I may have got this way wrong, so if any of you are familiar with writing scripts please check my syntax. I won't post the altered file until I have a chance to test it later this week. But, if anyone wants to just swap the default code in foreigninvestor.lua with what I posted here, please feel free (as always).
 

ONEHEART563

Club Supporter
Exocyst;3140611 said:
Specifically, what do you want done to scouting?

I WANT TO IMPROVE THE ABILITY TO FIND 70-80 OR ABOVW YOUTH PLAYER, I PLAY CM TO 2020 AND I CANT FIND A <24 YO WITH OVERALL >75 :md::md::md:
 

Exocyst

Youth Team
fifa_ng_db.db goes into fifa12/game/data/db

Put the file there, then run the i68Regenerator inside the fifa12/game directory.
 

ONEHEART563

Club Supporter
btw, in "youth_scout.ini" file, you wrote that:
"YOUTH_PLAYER_PLATINUM_0=15 //DOWN by 50% from 15 to 8
YOUTH_PLAYER_PLATINUM_1=5 //DOWN by 50% from 5 to 3
YOUTH_PLAYER_PLATINUM_2=2 //DOWN by 50% from 2 to 1
..............."
-->that means i has to do it myself or just copy n replace it ( sorry about my bad knowledge)
 

Exocyst

Youth Team
ONEHEART563;3140613 said:
I WANT TO IMPROVE THE ABILITY TO FIND 70-80 OR ABOVW YOUTH PLAYER, I PLAY CM TO 2020 AND I CANT FIND A <24 YO WITH OVERALL >75 :md::md::md:

If I understand correctly, you want the top youth scouts to have higher ability. You can do this by editing the database. There is a table which holds the mean values for all of the yet to be created youth players. This table is divided by two factors: player type (technically gifted, physically strong, etc.) and player level (platinum, gold, silver, etc.) it sounds like we need to look at these values and think about increasing the numbers. I'll have a look.
 


Top