Jump to content

» «

Multiplayer Script Modding Tutorial (37.5% done)

No replies to this topic
B Dawg
  • B Dawg

    You got any Whiskey in there, hello?

  • Members
  • Joined: 15 Dec 2008
  • Bosnia-and-Herzegovina


Posted 29 December 2017 - 03:20 PM Edited by B Dawg, 05 January 2018 - 10:25 AM.



SCO Toolbox

Hash Converter by Skorpro


Required for modifying race tracks:

Location Handler (makes it easier to recognize races)

Simple Native Trainer (how else are you going to get the full coordinates for your custom race checkpoints (including Heading, which is important)? I don't think the read coords and warp to coords works in Location Handler)



- Modifying selectable vehicle lists (Lone Wolf Biker, Chopper VS Chopper) and vehicle spawns (Club Business, Own The City or other modes):

- Modifying race tracks:




First off, you should use OpenIV and extract the game mode .sco's from Network_Script.img located in Common>Data>CDImages. After that, you should open them with SCO Toolbox. If I recall correctly, the program requires a 1070/1120 game .exe, so you should just put a 1070 game exe in the EFLC folder so that you don't have to replace anything.


You can obtain a previous game patch from here.


Using the program is simple, Browse to find your extracted game mode .sco and then Open it.
Now, set the Editor Mode to Advanced (Very Important) and Natives Mode to 1070 (1040 is default for IV, but 1070 is better and makes no in-game difference, shows natives during editing).

Play as a Ped of your choosing in any game mode:


While you could technically use Zolika1351's menu to change after you start the game mode, you might find that inconvenient because your model gets reset back to default after every round (if I recall correctly).

For any mode that uses the standard MP model (Deathmatch, Race, Mafiya Work/Car Jack City, Lone Wolf Biker, Chopper VS Chopper):
Search for the following code (CTRL+F):


Replace all instances of that code with:


How do you get your desired model's hash code? Simple, using the Hash Converter provided.
Type in it the model name of your choosing (if you don't know the name of the model you want, use OpenIV and look in PC > Models > CDImages > Componentpeds.img)

Example: Let's say you want to be M_Y_Bouncer_01, you type that into the Hash Converter and get 3 lines of hashes. You take the one labeled (HEX) and input it into SCO Toolbox. The line of code for this model would be:

Push 0x95DCB0F5 (caps are not important)

Save as Encoded File with the same name and import into Script_Network.img with OpenIV.

Other game mode examples and vehicle replacements to be explained later, but if you understand this enough, you could easily figure out the rest yourself.


Modifying selectable vehicle lists (Race & GTA Race):


As far as I know, you cannot add more vehicles to race classes/vehicle selections in modes, only replace. The reason for that is unknown. If you try to add more vehicles, and then try to start the game mode, you just get an image of the sky (your player location in the lobby) and when you press enter, get thrown back into Singleplayer, so your only choice here is replacement (unless you learn to fully understand decompiled code and all the other side sh*t/variables and somehow figure it out, but it's highly unlikely, would only be plausible with source code and R* compiler, which sadly aren't available). But the race mode has enough classes imo.
This is similar to player model replacement, except you search for the hash codes of the vehicles you want to replace. Let's say you want to replace the Feltzer in Sports class because it's much slower than the other cars (slower than the Sentinel and most likely regular Sultan). Type in Feltzer into the Hash Converter/Generator, then search for it's HEX hash in SCO Toolbox. Replace with HEX hash of any other car you want.

Here's some extra info. Despite IV's Race mode only having 4 selectable vehicles in each class (only exceptions being Motorcycles that has 5), each class actually has 5 entries in the script. The 5th entry to every car class is listed as the Faggio (except for Boats and Helicopters which is Police Predator and Annihilator respectively). Why? Simple, the 5th vehicle/entry for each class is the respawn vehicle for that class in GTA Race mode. It's a dumb decision R* made which makes GTA Race less fun that it would have been if you could respawn in your selected vehicle. You could make GTA Race more fun if you replaced the Faggio with another vehicle. Make sure not to accidentally replace the Faggio in the Motorcycles class with a Car, or the GTA Race Faggio/5th entry in car classes with a motorcycle. To make the finding process easier, first search for the HEX of a car/motorcycle of the car class you want, then replace the 5th entry of it there.

Save as Encoded File with the same name and import into Script_Network.img with OpenIV.


Modifying Race Tracks:


As I'm kinda lazy on writing this part, I guess I should at least write something to it. For me, the only difficult part to modifying them was finding the exact coordinates in the script. Once you find one track, all the rest are easy to find (as they're either right above or under the one you're looking), so here's a quick pointer on what to search for in SCO Toolbox:


Exhaust Fumes - Race Start/Finish (IV):
PushF 968.9907
PushF 1170.283
PushF 16.8751
PushD 3
PushS 7862


Ramped Up - Race Start/Finish (TLAD):

PushF 1220.47
PushF 604.55
PushF 37.072


Blockie - Entire Script (TLAD):


Now that you know where to find at least one of the tracks in each game, you can easily find modify the rest. Use the aformentioned Location Handler program to identify the tracks.

Also, some notes:

Negative coordinates are displayed as following: PushF enternumbershere, with a NegF right under it indicating negative coordinate value on the X/Y/Z axis.

  • Mega likes this

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users