Jump to content

The GTA IV Modding Dictionary


Recommended Posts

catsmackaroo

draft1_0.1.png

Created by The Westside Minions & GTA IV Modding Community 😎

 

Welcome! This post is dedicated to documenting all forms of modding for Grand Theft Auto IV.

Whether you’re a modder, developer, or just a gamer, you’ll find everything you need right here… eventually.

 

This is a long-term development driven by the community, check back for frequent updates.

If you would like to contribute, you can easily leave a comment and it’ll be considered.

divider.png

| Essentials

The best foundation for GTA IV

Quote

Clonk's Downgrader is a tool that restores previous versions of GTA IV. This is done for a few reasons, such as returning removed features, music, mods, & removing online reliance with the Rockstar Games Launcher.

The downgrader also provides quick installation of several mods. Some of which are considered essential such as:

  • FusionFix - This provides many crucial fixes improving graphics, gameplay, and frame rate issues.
  • ZolikaPatch - Tons of configurable fixes & improvements. Containing but not limited to the classic mouse deadzone bug, fps related bugs, improved loading times, limit adjusting, & 70+ more options to adjust.
  • ASI Loader - Some mods require an ASI loader, including FusionFix and ZolikaPatch. The downgrader provides the best ASI loader depending on the options you choose, like if you wish to play multiplayer.

The downgrader restores dozens of removed songs from the 2018 update of the game. Optionally, you can keep the new Vladivostok tracks from the update as well as the exclusive EFLC stations ported into base IV.

 

OpenIV is an essential tool for modding RAGE games. It’s essentially your file explorer, but allows you to go deeper within. (Mirror Download)

More specifically you can:

  • Modify files ending with: .img, .rpf.wtd, & more.
  • View animations.
  • Generate hashes.
  • Auto-install .oiv mods. Demonstration
  • Utilize OpenFormats
  • Much MUCH more.

Many mods cannot be installed without having this tool.

 

| Installing Mods

Dozens of tips & guides on how to install mods.

Quote

Tips

  • Always read the provided text files for instructions (usually titled readme.txt)
  • Having a vanilla (unedited) backup of GTA IV is invaluable and highly recommended.
  • It can be helpful to enable file name extensions.

 

General Info

  • Basic mods will typically just replace data files that configure the vanilla game. E.g., Bullet Penetration mod tweaks and replaces materials.dat.
  • The goal is to make sure the modified files reach their target location in the game’s directory, usually replacing the vanilla equivalent.
  • Advanced mods usually require OpenIV to access new parts of GTA IV, like vehicles.img where you can find all the car models.
  • Some mods come in the form of .oiv packages, these also require OpenIV but are installed very easily as demonstrated in this video.

 

Merging Mods

  • You may find that mods will often conflict with each other, as they use the same files. That doesn’t mean you have to choose one or the other - you can merge them with Notepad
  • Compare both of the files to the vanilla equivalent to see what changes they make (Notepad++ with its Compare Plugin will make this process easy). Copy and paste all of the changes into one combined version of the file.

 

Update.img

  • You may install mods that typically go into files such as weapons.img & vehicles.img into a file called update.img. To create this file, head into your main directory>make folder called update>head inside & make a .img file called update.img as seen here. Install mods as you would typically, however when you see mentions of weapons.img/vehicles.img/etc, plop them there instead.
  • EFLC has a higher priority over both IV & update.img, meaning mods related to EFLC will still need to be installed as normal.
  • There are methods to add data files into the update folder, however the process is somewhat tedious. The files related to this procedure are: default.dat
  • Using this method & adding data files can negate save game corruption.

Please note documentation regarding this file is ongoing. 

 

| Tools

Useful tools to assist you on your modding ventures.

Quote
  • IV Tweaker - This powerful tool allows for quick & easy installations of mods without replacing the original files. Read the full page to see a list of supported files. (Also see Update.img)
  • Notepad++ - This upgrade from original Notepad is extremely helpful, especially with plugins like Compare.
  • Fastman’s Limit Adjuster - If a mod adds a lot of content (such as a car pack) it may push the limits of GTA IV resulting in a crash. FLA lets you tweak these boundaries - including dynamic ones that vary during gameplay. Additionally, use this tool to customize added vehicles and make use of its crash logger.

 

| Troubleshooting

Fix common issues, typically relating to mods.

Quote

Random Objects Across Map

  • If random objects are spawning around your world (example) then you're experiencing save corruption. You must start a new game after making any significant changes to the files to avoid this. (Also see Update.img)
  • Your saves should be located at: 
    %localappdata%\Rockstar Games\GTA IV\savegames\user_ee000000deadc0de - If using xLiveless. Otherwise, the end “user_[blank]” will be account dependent. If none of this works, you may use xLiveless Addon seen in Recommended Mods for custom save locations. You may need to configure the .ini to avoid crashing when used alongside ZolikaPatch.
  • A video created by @Golden Saddle can be found here, containing tons of useful information regarding save corruption.

 

 

| Recommended Mods

In this section we will provide you with a list of mods that are not quite essential but seriously improve the quality of your experience, like bug fixes and gameplay improvements.

Quote

Full list:

  • XLivelessAddon - The optimal XLiveless mod which disables GFWL, loads ASI mods, and provides additional features like custom save locations. You may need to configure the .ini to avoid crashing when used alongside ZolikaPatch.
  • RIL.Budgeted - Fixes the famous Taxi Bug. Allows users to adjust the game’s resources to increase the variety of traffic and pedestrians.
  • Various Fixes - Dozens of fixes/improvements to the world and NPCs of GTA IV.
  • Improved Animations Pack - Fixes the broken firing delay of assault rifles, plus the drive-by fire rate of SMGs, provides better animations, audio, & more!

 

Included within the downgrader as optionals:

  • ColAccel - Puts shader data into a cache file, resulting in a faster loading time & assumed to give better performance overall.
  • ZolikaTrainer - A mod menu featuring hundreds of features. Containing but not limited to first person, object spawning, camera tweaks, memory editing, replaying missions, & 100+ more.
  • SimpleTrafficLoader - This injects vehicles added into the .txt file provided into the traffic without having to edit cargrp.dat. Use this tool minimally to avoid breaking your game.
  • SteamAchievements - Re-enables the ability to earn Steam achievements when downgraded.

 

 

| Creating Mods

Here you will find tons of links to tons of resources. Guides will soon come. Content labelled with "Legacy" are not advised to use nowadays as there are modern alternatives.

Quote

| Scripts

IV SDK - A modern way to create C++ scripts.

IV SDK .NET - An alternative to create in .NET languages. | Also see SharpUI & Clonk's Coding Library to extend IV SDK .NET's abilities. 

A guide to utilizing IV SDK .NET is below. Created & formatted by @ItsClonkAndre & @catsmackaroo.

Spoiler

NOTE: This tutorial assumes that you have basic C# knowledge (You can write IV-SDK .NET Scripts in any .NET Language out there you do not have to use C#)

 

| Requirements
To create IV-SDK .NET script mods, you will need Visual Studio, .NET Framework, & IV-SDK .NET

 

| Creating & Setup

Preparation

  • Start by creating a new Visual Studio Class Library .NET Framework project Under Project name, you can call your mod how you like. Let's call our mod "MyMod". [img]
    Right-click on your project name (MyMod) in the solution explorer, and click on "Properties" item at the bottom of the context menu. [img]
    Append the ".ivsdk" suffix in the assembly name text field. So your assembly name would look like "MyMod.ivsdk". This is an important step so IV-SDK .NET will recognize your mod and load it. [img]
    Now that you added the ".ivsdk" suffix to your Assembly name, this will make the mod compile as "MyMod.ivsdk.dll".

 

References

  • Right-click on the "References" item in the solution explorer for your Project (MyMod), click on the "Add Reference..." item right at the top of the context menu. [img]
    Click on the "Browse..." button at the bottom right side of the reference manager window, and select the "IVSDKDotNetWrapper.dll" file on your computer. Then click "Add". [img]
    Next, click on the "Assemblies" tab on the left side of the reference manager window, and tick the following Assemblies: "System.Drawing", "System.Numerics" and "System.Windows.Forms". Then click on "OK". [img]

 

| Coding

Preparation

  • Add the "IVSDKDotNet" and "System.Windows.Forms" using directive at the top of your Class1.cs file (You can rename your Class1 to anything you like) [img]
    Derive your Class1 from the IVSDKDotNet Script class. It should look something like this: public class Class1 : Script
    Add a Constructor inside your class (A quick way of doing it is by writing "ctor" and then press the "Tab" key twice). [img]
    Inside the constructor, you can subscribe to all the IVSDKDotNet events the derived script class has to offer. You can write "this." and click on the little thunder icon at the bottom of the list that popped up, to see all the events that are available for you to subscribe to. [img]

 

Writing An Example

  • In this little tutorial, let's subscribe to the "KeyDown" event. The KeyDown event will be fired every time a key was pressed.
    Now inside the KeyDown event, we will simply check if the "K" key was pressed.
    So add an if statement inside the event, that checks if the "e.KeyCode" is equals to "Keys.K". [img]
    Inside the if statement, we simply show a message at the bottom center of the screen where the subtitles are located saying "YAY!". We can show such messages using the "ShowSubtitleMessage" method which is inside the "Script" and also the "CGame" class.

 

Compiling and Testing

  • To compile your mod, right-click on your project name (MyMod) in the solution explorer, and click on "Build" (Ctrl + B should be the hotkey for compiling) [img]
    If your mod got compiled successfully, you can find it in the output folder of your solution.
    Right-click on your project name (MyMod) in the solution explorer, and click on "Open Folder in File Explorer" then go inside the bin and then the debug folder. There you will find your "MyMod.ivsdk.dll" file. [img]
    Drag & Drop your mod into the "scripts" folder of IVSDKDotNet and you are ready to go!
    When in-game, you can try to press the "K" key and you should see "YAY!" appearing at the bottom center of the screen! [img]


💥💥CONGRATULATIONS!!! 💥💥

 

SCO ToolBox - Decode & edit existing SCO files. A patch was created to detect 1.0.8.0 EXE's & removal of the updater. Credit: nukie 

SCOCL (Legacy) - Create new scripts via SCO. Some patch was created by I assume @Juarez, claiming "some time ago I've modified scocl to pass global variables by indexes" whatever that means! 

ScriptHook (Legacy) - The older way to create C++ scripts. 

ScriptHook .NET (Legacy) - The older alternative way to create .NET scripts.

 

| Data Files

In-game Timecyc Editor - An easy-to-use tool that allows you to configure & edit timecyc files.

IV Needle - A compilation of modder tools, such as editing Vehicle Data (handling, colors, etc), Ped Data (personality, relationships, groups, etc), Weapon Data, & much more. 

EditIV (Legacy) - Typically used for timecyc editing. Also has a handling editor. A patch was created for better wording across the entire program, highly advised. Credit: DayL

A guide to utilizing EditIV can be seen below. Created by @DayL originally, borrowed from his Discord server. A few notes & formatting differences have been made by @catsmackaroo.

Spoiler

NOTES: Whether you desire to work on ENBs, or a simple timecyc mod, this guide will apply to you. For ENB creators, please read the Useful Tips section as well.

 

| Setup & Beginning Tips

  • The program includes a timecyc reloader. Press F5 when on 1070/1080, or F1 when on 1040.
  • When using 1040, you'll need these files to reload your timecyc.
  • If you would prefer, you can use Zolika's Trainer to reload it as well. (Memory Editing>Reload Files>timecyc.dat)
  • It's strongly advised using the patch mentioned far above, created by DayL. It essentially makes everything worded better.
  • It's also strongly advised to use windowed mode, making it easier to switch between the game & program. Simply add -windowed to your commandline.txt file. (If that file doesn't exist, make it in your main directory)

 

| EditIV

Now DayL will define the basic stuff you'll need to know.

The usage of this tool is pretty self-explanatory.
PAGE 1

Spoiler

Page_1.png

PAGE 2

Spoiler

Page_2.png

PAGE 3

Spoiler

Page_3.png

Page_3_part_2.png

Page_3_part_3.png

Page_3_part_4.png

 

| In-game

Now DayL will show you how some values are affected in-game to give you an idea on how it works.

DEFAULT

Spoiler

Default.png

AMBIENT COLOR 0

Spoiler

Ambient_0.png

AMBIENT COLOR 1

Spoiler

Ambient_1.png

DIRECT COLOR 

Spoiler

Direct_Color.png

DEFAULT FOG

Spoiler

Default_fog.png

TOP FOG BLUE 

Spoiler

Top_Color_Fog.png

BOTTOM FOG RED

Spoiler

Bottom_Color_Fog.png

DEFAULT COLOR FILTER

Spoiler

Default_Filter.png

NO COLOR FILTER

Spoiler

No_Filter.png

 

| Useful Tips

  • It's recommended to start with fog colors before you start to tweak sky colors because the top fog color also affects sky colors.
  • If you want to get rid of the color filter (Well known as "piss filter") you have to set "Color Correction" to a grey color (R=128 G=128 B=128).
  • For some values you can go negative (-0.5, -1, -2, -3, etc). This is very useful for certain values. Azimuth colors for instance.
  • There are some values which aren't affected if ENB is enabled. Color Correction, Contrast, Contrast Far, Gamma, Intensity Bloom, MidGrey Value and Luminosity for instance.
  • If you want to make an ENB graphic mod I recommend to configurate enbseries.ini first before you start to edit the timecyc because ENB config values are global for every weather/time.
  • I wouldn't recommend using the "Global Weather Changer" option in EditIV because it's kinda buggy sometimes and it can screw up your whole timecycle.
  • If you want, you can download DayL's timecyc mod to open it in EditIV. Maybe it could be helpful to understand how to get certain results. There's also CatCycle 🥺

 

| Models

GIMS - Import/Export various files into 3DS Max. Note: Only available in 2010-2012 versions.

OFIO - Import/Export various files, utilizing OpenIV's OpenFormats

Xbox to PC - Convert Xbox models into the PC version of the game. 3DS Max required

 

| World

WPL Editor - Edit or add WPL content. This ranges from simple object placement (chairs, desks, vegetation) to ped spawning. *Requires ScriptHook .NET

Sketchup2GTA - Export/Import Sketchup Models

 

| Misc

RAGE Audio Toolkit - Edit metadata content of audio files such as sounds.dat15, game.dat16, speech.dat, etc.

Model IDE Editor - Allows you to edit the content of any .IDE model file easily.

PedPersonality Editor - Allows you to edit the content of the PedPersonality.dat file easily.

Model Finder - Easily find model names/hashes based on what you search for. 

 

 

Edited by catsmackaroo
- Added In-game Timecyc Editor
Link to comment
https://gtaforums.com/topic/989659-the-gta-iv-modding-dictionary/
Share on other sites

Reccomended Mod: CatCycle. It's a timecyc mod that chooses to improve GTA IV's vanilla timecyc without driving away too much from the developers intention for the game's visual, it also adds the better reflections from the console version of the game.

It also makes the color more.. Ehh... Colorful. So now the days are more brighter, and the nights are more darker.

I also recommend mentioning DXVK and this certain blog post.

  • Like 2
catsmackaroo
3 hours ago, Scott1 said:

This is a great idea! I may be able to share some ide/mlo guides at some point if I can find a way to deliver it in a way that would be properly instructive.

That would be awesome. If you'd like to discuss this further, I have a Discord server here otherwise I'm also in the GTA IV Modding server.

Re: Recommended Mods, I think RIL.Budgeted is still included inside FusionFix if you add the .ini lines. It was hidden after reports of causing engine sounds to not load. It fixes the taxi bug and improves traffic variety by letting you set how much memory is reserved for vehicle models and textures, but my hunch is this is stealing from memory available for engine sounds. I've found that by gradually reducing the VehicleBudget and testing you can find a sweet spot between not having the taxi bug and not having the engine sound bug. YMMV.

  • Like 1
catsmackaroo

A lot of content has been added to the Dictionary since release: 

  • Added Installing Mods section, including: Tips, General Info, Merging Mods, & Update.img
  • Added Tools section, including: IVTweaker, Notepad++, Compare, & Fastman's Limit Adjuster
  • Added Troubleshooting section, including: Random Objects Across Map (save corruption)
  • Tons of general improvements to formatting & wording.

Next additions should include Creating Mods & Multiplayer

Edited by catsmackaroo
  • 3 weeks later...
Chunk Norris

May I suggest mentioning IV tweaker next to RIL budgeted? Since IV tweaker can do all that RIL budgeted can with the added benefit of modifying heapsize and it also works on 1.0.8.0 (RIL budgeted does not work on it)

  • Like 2
catsmackaroo
On 4/23/2023 at 1:01 PM, Chunk Norris said:

May I suggest mentioning IV tweaker next to RIL budgeted? Since IV tweaker can do all that RIL budgeted can with the added benefit of modifying heapsize and it also works on 1.0.8.0 (RIL budgeted does not work on it)

Yeah! I'll look into it asap! But uh... wdym it doesn't work on 1080? I've been using it on my 1080 copy for ages. 

 

Also new mini update! 💥 I added the Creating Mods section

Edited by catsmackaroo
  • Like 3
Chunk Norris
35 minutes ago, catsmackaroo said:

 But uh... wdym it doesn't work on 1080? I've been using it on my 1080 copy for ages. 

 

Really? I have to try it again. like 6 months ago when I tried it coming from 1070 and just copied it over it did not work for me I had "the taxibug". But it is possible that I just missed the scripthookhook.dll or something in the game folder and thats why it did not work.

catsmackaroo
2 minutes ago, Chunk Norris said:

Really? I have to try it again. like 6 months ago when I tried it coming from 1070 and just copied it over it did not work for me I had "the taxibug". But it is possible that I just missed the scripthookhook.dll or something in the game folder and thats why it did not work.

Nah you don't need ScriptHook my bro. Try adjusting the numbers next time.

  • Like 1
On 4/3/2023 at 6:54 PM, Scott1 said:

This is a great idea! I may be able to share some ide/mlo guides at some point if I can find a way to deliver it in a way that would be properly instructive.

This would be absolutely great. I am working on an added interiors mod for GTA IV right now, but I can't for the life of me get my objects to spawn using the mlo section of the ide files. 😬

  • Like 1
catsmackaroo

More content to the Dictionary!

  • Created Mods section released! Including but not limited to: IV SDK, SCO ToolBox, GIMS, OFIO, RAGE Audio Toolkit, & much more!
  • Special guide for IV SDK .NET within Created Mods. IV SDK .NET is an in-depth & modern .NET dev kit. The guide was created alongside @ItsClonkAndre! Hope it helps y'all.
    Future plans for this specific section include, Blender Modelling Tools, Special Guides for MLO, EditIV & Audio Modding 

💥🍰💥

Edited by catsmackaroo
  • Like 4
catsmackaroo

Howdy 👋🤠

So, I have a question for y'all. I'm wondering if the guides I'm adding should be posted as replies/comments (like this) instead.

This would benefit consumers & me. How? Editing the original forum post keeps the spoilers open, meaning it's rather messy for me.

Not only that, but people could also link directly to the guides rather than telling them to scroll through the Dictionary. And notifications are a thing!

And a final note, post editing does not have a draft feature to my knowledge. But comments do get saved. I originally put the IV SDK .NET guide on the post, then opened a link by accident, losing all my progress 🥲

Not sure, just an idea for now. Feedback regarding this would be greatly appreciated!

 

Anyway, NEW CONTENT for the Dictionary🥳

  • Special guide for EditIV within Created Mods. EditIV is a timecyc editor. This applies to ENB creators, or just simple timecyc creators
    This guide was originally made by @DayL, borrowed from his Discord server. Slight additions/tweaks by me.
Edited by catsmackaroo
  • 2 weeks later...

Recommended

  • DXVK - A Vulkan-based translation layer for Direct3D 9/10/11 which allows running 3D applications on Linux using Wine. Although it's meant for Linux, it works unnoficially on Windows.
  • Performance Guide - A guide that talks about performance, optimization more in regard of DXVK. Although it's meant for Fallout New Vegas, some stuff can be used in GTA IV and other games.
  • How to fix choppiness and stutters in GTA IV - Another guide, this one talks specifically about GTA IV's performance in general.
Edited by Meriato
Color Typos
  • Like 1
  • 1 month later...
catsmackaroo
15 minutes ago, Insomnium said:

One question tho, do you know by any chance of any sco tutorials? I would love to learn the sco scripting.

Thanks for the kind words 🍰

 

Unfortunately, I do not. I don't remember much from SCO Editing. The only guide I know of is this

I haven't followed it myself. There was an older SCO Guide created by SG ages ago but he's since left the community & deleted all of his stuff. 

Either way I'd highly recommend going for IV SDK .NET instead as it's better in almost every way. There's even a guide on this post.

The problem is version compatibility, your mods require more third-party stuff, & most changes won't seem vanilla-like... if that makes sense.

 

The only SCO modder I know of is Claudio_III. Could ask him more about it in GTA IV Modding

Edited by catsmackaroo
23 minutes ago, catsmackaroo said:

Thanks for the kind words 🍰

 

Unfortunately, I do not. I don't remember much from SCO Editing. The only guide I know of is this

I haven't followed it myself. There was an older SCO Guide created by SG ages ago but he's since left the community & deleted all of his stuff. 

Either way I'd highly recommend going for IV SDK .NET instead as it's better in almost every way. There's even a guide on this post.

The problem is version compatibility, your mods require more third-party stuff, & most changes won't seem vanilla-like... if that makes sense.

 

The only SCO modder I know of is Claudio_III. Could ask him more about it in GTA IV Modding

Thank you for this.

I'll check it all out, if not for SCO, I'll give my best to learn IV SDK.NET, but don't expect any professional mods from me 🤣

 

catsmackaroo
41 minutes ago, Insomnium said:

Thank you for this.

I'll check it all out, if not for SCO, I'll give my best to learn IV SDK.NET, but don't expect any professional mods from me 🤣

 

Well maybe at first no! I only started doing it recently, and I did it completely alongside @ItsClonkAndre with LibertyTweaks. I've left some trivia there for those to learn, alongside the guide here. Hope they can be of use to you, you can use the source codes on GitHub, then use dotPeek to look at older scripthook .net mods. 

21 minutes ago, catsmackaroo said:

Well maybe at first no! I only started doing it recently, and I did it completely alongside @ItsClonkAndre with LibertyTweaks. I've left some trivia there for those to learn, alongside the guide here. Hope they can be of use to you, you can use the source codes on GitHub, then use dotPeek to look at older scripthook .net mods. 

I'll check it out, thanks for the info.

 

I remember LibertyTweaks, that's one of the mods I think are essential for GTA IV.

 

As for dotPeek, that does sound interesting, hopefully I'll be able to learn everything I need in no time (I do know it takes time and all).

  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 0 User Currently Viewing
    0 members, 0 Anonymous, 0 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.