Income Mod

  • Income Mod
  • Income Mod
  • Income Mod
  • Income Mod
tisonK
244 subscribers
V2.1.2.0
14 264

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
=========================================================

Server
Consoles
Changelog
11
  • - 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.

  • [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).

  • - Fixed `MoneyType` crash (income never paid)

  • - Fixed mod not loading due to wrong ZIP building inside the build.sh

  • - 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

  • - Replaced both notification calls (payment + startup) with the correct FS25 AP

  • * 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'`)

  • - 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

  • - Fixed console error

  • [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
Comments
21