Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    2. News

    1. Red Dead Redemption 2

    1. GTA Online

      1. After Hours
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
    2. Crews

      1. Events
      2. Recruitment
    1. Grand Theft Auto Series

    2. GTA Next

    3. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    4. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA Mods
    5. GTA Chinatown Wars

    6. GTA Vice City Stories

    7. GTA Liberty City Stories

    8. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    9. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    10. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    11. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    12. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Forum Support

    2. Site Suggestions

Sign in to follow this  
B Dawg

Multiplayer Script Modding Tutorial (37.5% done)

Recommended Posts

B Dawg

Requirements:

OpenIV

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)

 

TO DO:

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

- Modifying race tracks:

 

PREPARATION:

 

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):

CallNative GET_PLAYERSETTINGS_MODEL_CHOICE 0 1

Replace all instances of that code with:

Push 0xYOURMODELHASHHERE

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
NegF
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):

 

 

:Label3354PushF 1112.92 StartPushF 982.06PushF 13.1433PushD 3PushS 6491LocalVarArrayImplodePushF 90.5031PushS 6494LocalVarRefSetPushS 6490LocalVarPushF 1006.146PushF 978.1569PushF 16.3372PushF 110.7388Call @Label3368PushS 6490LocalVarPushF 964.6472PushF 782.4741PushF 24.6919PushF 180.334Call @Label3368PushS 6490LocalVarPushF 1036.974PushF 762.6746PushF 30.8275PushF 269.2355Call @Label3368PushS 6490LocalVarPushF 1211.418PushF 762.1996PushF 35.1675PushF 268.2883Call @Label3368PushS 6490LocalVarPushF 1284.444PushF 752.8832PushF 35.6412PushF 330.5415Call @Label3368PushS 6490LocalVarPushF 1356.937PushF 888.712PushF 12.878PushF 321.9843Call @Label3368PushS 6490LocalVarPushF 1340.227PushF 952.0643PushF 12.7202PushF 29.5713Call @Label3368PushS 6490LocalVarPushD 3PushS 6491LocalVarArrayExplodePushS 6494LocalVarRefGetCall @Label3368PushF 12PushS 6495LocalVarRefSetPushF 1.5PushS 6496LocalVarRefSetJump @Label3369

 

 

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.

Edited by B Dawg

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×

Important Information

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