If you own the PC version, grab the Gibbed Tools to unpack the .sds files. Look for the .lua files inside the scripts folder. Back them up, open them in Notepad++, and start changing numbers. You might just turn Empire Bay into your personal chaos simulator.
This modding scene primarily exists for the original Mafia II (PC) and continues to be actively developed for the Mafia II: Definitive Edition , with modern tools making the process smoother than ever.
If you want to move beyond downloading pre-made mods and try writing your own basic Lua scripts, the syntax is highly accessible. Mafia II utilizes native functions that command the engine.
Place the .dll files and any accompanying folders into your game's /pc/ directory. Step 2: Running Scripts There are generally two ways scripts are executed: mafia 2 lua scripts
Here are solutions to common problems you might face:
Modders use these scripts to bypass standard gameplay boundaries. Instead of rewriting complex core engine files, you can inject or modify human-readable Lua files to change specific parameters, like vehicle speeds, police behavior, or weapon damage. Essential Prerequisites for Lua Modding
Ideal for finding open-source script hooks, developer toolkits, and raw Lua API documentation for the engine. If you own the PC version, grab the
weather.lua Function: Binds keys (F5 = Sunny, F6 = Rain, F7 = Snow, F8 = Fog). Because Mafia 2’s snow physics are beautiful, many players use this to force winter in summer chapters.
To run custom Lua scripts, you must use a dedicated injector or scripthook: Mafia 2 Lua Injector
| Category | Script Command / Name | Effect | | :--- | :--- | :--- | | | game.game:GetActivePlayer():InventoryAddMoney(5000) | Adds $5,000 to Vito's wallet. | | 🛡️ God Mode | game.game:GetActivePlayer():SetDemigod(true) | Makes Vito invincible. | | 🔫 Weapons | game.game:GetActivePlayer():InventoryAddWeapon(11, 200) | Gives Vito a Thompson 1928 (Tommy Gun) with 200 rounds. | | 👮 Police | ai.police:SetDensity(0) game.traffic:SetPolice(false) | Removes all police from the game, making you untouchable. | | 🌦️ Weather | game.gfx:SetWeatherTemplate("DTFreerideNight") | Changes the weather instantly to a wet, atmospheric nighttime. | | ⏰ Timer | game.hud:TimerStop() | Stops mission timers (useful for exploring during missions). | | 🌀 Teleport | game.game:GetActivePlayer():SetPos(Math:newVector(-1500, 0, 0)) | Teleports Vito to a specific coordinate in the game world. | | 📌 Spawn NPC | Joe = game.entitywrapper:GetEntityByName("Joe") Vito = game.game:GetActivePlayer() Joe:SetPos(Vito:GetPos()) | Teleports Joe right next to Vito. | | 🏎️ First-Person | game.cameramanager:GetPlayerMainCamera(0):EnableFPV... | Enables an immersive first-person driving view. | | 🏠 Interact | [F1] - Use Toilet [F2] - Take Shower [F4] - Wash Hands | Allows Vito to perform various animations in safehouses. | | 📸 Save Game | [F12] - Save | Allows the player to save their game at any point. | | 🚫 Wanted Level | (Script Name: F3.lua ) | Ignores police, clears wanted level, and removes license plate. | | ✍️ Creator Credits | N/A | A script from XSTEAMTOWER that unlocks all Artworks and Playboy Magazines. | You might just turn Empire Bay into your
Alter the weather, time of day, and traffic density. 🛠️ How to Use Mafia 2 Lua Scripts
The modding community for Mafia II continues to be active. The modern represents a new era of modding, making it easier and more powerful than ever before. This has paved the way for total conversion mods and ambitious projects that are still being developed today. The passion and ingenuity of the community ensure that Mafia II is not just a game to be played, but a world to be redefined.