Description

FS25 Income Mod v2.3.0.0

Converted from FS22_IncomeMod

Income Mod provides players with a simple, balanced way to receive passive income. Automatically earn money either hourly or daily, based on your chosen difficulty or a custom amount. Perfect for players who want steady cash flow without relying solely on missions or selling goods.

Features:
– Easy / Normal / Hard difficulty presets
– Custom income amount option
– In-game notifications
– Fully configurable via console commands or in the pause menu
– Settings saved automatically
– Works in singleplayer and multiplayer
– Lightweight and stable

Please be aware:
You need to have developer mode enabled in order for you to open the console.
This can be done in your FS game folder, then look for the “game.xml”.
Change <development><controls> to “true”

Enjoy you farming experience with my Income Mod <3

=========================================================
Github: https://github.com/TheCodingDad-TisonK/FS25_IncomeMod
=========================================================
COPYRIGHT NOTICE:
All rights reserved. Unauthorized redistribution, copying,
or claiming this mod as your own is strictly prohibited.
Original author: TisonK
=========================================================

V2.3.0.0
Changed

– Income schedule (multiplayer): the pay amount and pay mode now change only on the host, after a preview you confirm. Switching mode or pressing Reset pays nothing at the moment of the switch, a non-administrator is refused, and Settings Hub no longer lists or writes the pay mode or amount.
– The HUD, the income report and the Esc Realistic Farming page show the host’s income schedule in multiplayer (not the joining player’s own settings), say they are waiting until it arrives, and name the current seasonal adjustment. With Experimental Systems on, they also explain the month at this rate and that the amount applies to every active farm.

Fixed

– Emergency loans: an amount the game does not know yet shows as Unavailable instead of 0, and the buttons only act on known amounts. Paying a loan off keeps its history, so the next loan’s rate and quote are worked out correctly, and accepting a Borrow quote checks that it still fits your current cash instead of refusing over small cash changes.
– Setting the clock backwards within a day no longer pays out the “missed” hours; the next real hour pays normally.
– Multiplayer: a settings change made through Settings Hub is saved only by the host.
– With Master HUD installed, Income Mod no longer logs a false “HUD toggle registration failed” warning at load.
– Translations: the settings labels, help pages, pay-mode options, title and description no longer show garbled characters in eleven languages, and the mod manager shows Income Mod’s own name in nine languages that had carried another mod’s name. The Esc page legend shows a plain dot between page names.

V2.2.0.0
The Emergency Loan feature now tells you what’s actually happening with your finances instead of just showing a balance.

What’s new:
– The loan report now shows a forecast: your expected regular income, your known upcoming bills, a separate estimate of your recent day-to-day spending, and a projection of how low your cash will get. If that projection goes negative, it’s flagged as a shortage warning so you can act before you’re actually broke.
– You can now repay the loan for any amount you choose, not just pay it off in full.
– New Income HUD show/hide toggle added to the suite Control Center (requires SettingsHub).

No save migration needed.

V2.1.8.0
Quality-of-life additions for managing your income display.

What’s new
– Toggle the income HUD with Right Shift + I, and enter edit mode with Right Shift + J
– Open your income report from the suite Control Center (with Settings Hub installed)
– HUD and settings styling improvements

No save migration needed. Existing saves load as normal.

V2.1.7.0
This release adds the release gate: new systems ship locked until deliberately released. Nothing is taken away from the proven baseline, and experimental systems stay off unless you turn them on.

New in this version:
– Release gate. Experimental systems ship locked until deliberately released, as an explicit opt-in that is independent of the difficulty setting.
– New setting: Experimental Systems. Under the mod’s settings, default off (stable only). Turn it on to use experimental systems at your own risk.
– C3 loan elaboration locked. The emergency loan stays available as the interest-free bridge loan it has always been: grant, re-draw, forecast and repayment are untouched. What stays locked is the cost elaboration (the escalation and the Time Guard compounding). The floor escape is never removed: a broke farm can always reach the base-game loan.

Everything else works exactly as before. The passive income system, the HUD, and the report dialog are untouched.

V2.1.5.0
Skip income payout during sleeping.

V2.1.4.0
The Income HUD position, scale, and visibility were lost every time you reloaded your save. The HUD would snap back to its default position and reappear even if you had hidden it with the I key.

What’s Fixed:
– HUD position and scale now save on every game save and when exiting the game
– Hiding the HUD with the I key now persists across reloads

No save migration needed.

V2.1.3.0
Full changelog -> https://github.com/TheCodingDad-TisonK/FS25_IncomeMod/releases/tag/v2.1.3.0

V2.1.2.0
– The income panel can now be moved and resized to fit wherever you want it on screen. Right-click the panel to enter edit mode, drag it to a new position, drag a corner handle to scale it up or down, then right-click again to lock it in place. Your layout is saved between sessions.
– Colors updated to match FS25’s native panel style (dark, clean,
no green border)

Toggle visibility still works the same way via the I key.

No save migration needed.

V2.1.0.0
[Hotfix v2.0.0.5 — fix multiplier option skipping states in UI]
In UIHelper.createMultiOption, the cloned FS25 MultiTextOption widget
could retain the template’s numTexts rather than adopting the count from
setTexts. Explicitly assign opt.numTexts = #options after setTexts to
guarantee the correct cycle count for all callers (payMode=2, difficulty=3,
multiplier=4).

Also move opt:setState() to after layout:addElement() so any FS25-internal
layout-pass re-init that might wipe element state has already completed
before we set the initial selection.

[Fix v2.0.0.5 — correct raiseCallback argument: element, not state index]
GuiElement:raiseCallback calls onClickCallback(self.target, element) where
element is the MultiTextOptionElement table. We were treating it as the
integer state, causing incomeMultiplier to be set to a table and crashing
setXMLInt with “Expected: Int, Actual: Table” on every click.

[v2.1.0.0]
Added four helpLines categories to modDesc.xml:
– Income Mod — Overview (2 pages: intro, how payments work)
– Income Mod — Settings (3 pages: basic, advanced, display/reset)
– Income Mod — Tips & Tricks (2 pages: HUD/report, income tips)
– About Income Mod (1 page: about + console commands)

All 50 l10n keys translated into 10 languages (en/de/fr/pl/es/it/cz/br/uk/ru).

V2.0.0.4
– Fixed `MoneyType` crash (income never paid)

V2.0.0.3
– Fixed mod not loading due to wrong ZIP building inside the build.sh

V2.0.0.2
– HUD toggle desync fix
– Added missing showHUD field to the console settings
– Added explicit override that calls updateDisplay() on every open
– Removed stray double blank lines

V2.0.0.1
– Replaced both notification calls (payment + startup) with the correct FS25 AP

V2.0.0.0
* Added **seasonal income modifiers** (Spring 0.8x, Summer 1.0x, Autumn 1.2x, Winter 0.7x) with optional toggle in the settings UI
* Added **selectable income multipliers** (1x / 2x / 5x / 10x) in settings UI and via `IncomeSetMultiplier` console command
* Added **per-farm multiplayer support** — each active farm now earns independently
* Added **income state persistence** — `lastHour` and `lastDay` saved to `_state.xml` to prevent missed or duplicate payments after reload
* Added **payment history tracking** — `IncomeHistory` console command shows last 10 payments (day, hour, amount, seasonal modifier)
* Added **next payment timer** — `IncomeNext` console command displays time remaining until the next payout
* Added missing **`IncomeSetDebug` console command** for toggling debug mode
* Fixed critical **multiplayer duplicate payment bug** by adding a server-only guard in `giveMoney()`
* Fixed duplicate startup notification (was triggering from both IncomeManager and IncomeSystem)
* Fixed global namespace pollution from `getTextSafe` (moved to `UIHelper.getText()` module method)
* Fixed debug print leak in `UIHelper.lua`
* Fixed incorrect startup tip text (now shows: `Type ‘income’`)

V1.1.0.0
– Rewrote entire code
– Changed entire command list
– Added new settings tab in the pause menu
– Changed notification style
– Optimized current code
– Added support for: de, fr, pl, es, it, cz, br, uk, ru

V1.0.1.0
– Fixed console error

V1.0.0.5
[Critical Hotfix]
– Updated settings save & load function*

*In FS22 we store modSettings in user game path, in FS25 they want it to be stored in savegame folder.
I was not aware of that, this is now fixed :)

Credits

tisonK