Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!   (92,588 visits to this link)

    2. News

    1. GTA Online

      1. Find Lobbies & Players
      2. Guides & Strategies
      3. Vehicles
      4. Content Creator
      5. 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

    2. Red Dead Redemption

    3. 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

Flitskikker

[IV/EFLC|REL] SCO ToolBox

Recommended Posts

Flitskikker

 

user posted image

Current version: v1.2.7 (November 27th, 2011)

 

 

Hello all, here's my first modding tool here; SCO ToolBox. smile.gif

 

SCO ToolBox is designed for decoding, encoding and low level editing of SCO files.

 

As I always want to see screenshots of tools getting released, and you probably want that too, behold:

 

 

user posted image

 

user posted image

 

 

Shown are the main screen and the SCO editor. Yes, it can successfully decompile and compile code. However, in low level. See the Notes for why.

 

 

Usage

 

The usage of SCO ToolBox is rather obvious.

Just launch it and you will be able to open a single file (for decoding/encoding and editing) and batch decode/encode a bunch of files.

After you open a single file, information about the file is displayed in the properties box. To low level edit it, click the "Open Code Editor" button. Please select the correct script version for the natives mode.

The advanced editor offers line numbering, syntax coloring, auto completing and a bunch of other useful features. However, it will take a while to load large chuncks of code into the advanced editor (decompiling and compiling itself is fast though). It is advised to use the basic editor for large files (>50000 bytes).

 

Please see the following screenshots for the batch convert panel, and the basic editor:

 

 

user posted image

 

user posted image

 

Demonstration

 

I've made changes to the already cleaned script (by Shadow-Link) for GTA IV: San Andreas. I've added text, spawned a vehicle, added armor and changed the time of day. It works successfully on 1.0.7.0. You can view the result here:

 

 

 

 

Notes

 

Please keep in mind the following notes before using SCO ToolBox:

  • IV or EFLC should either be installed or be in the same directory as the tool. This is required for reading the AES cypher key for encrypting and decrypting the SCO files. It is legally not allowed to distribute this key with the program itself.

     

  • This is not Sanny Builder! SCO ToolBox only offers low level coding. It is certainly a bit harder, but after screwing around with it a while, you can create simple things such as spawning a car. But it works!

     

  • I didn't do high level editing because that's harder to do and the Russians are probably working on their editor, so it would be lost time and effort. However, if you want to give it a try, ask me the source.

     

  • As said above, you should really use the basic editor when opening a large file. The main.sco for example. It took 3 minutes to load it in on my quad core processor (1 second for the basic editor). I didn't make the advanced editor component (it is SyntaxBox by Roger Alsing), so I don't think it can be fixed. However, compiling and decompiling is fast. It processes main.sco in 4 seconds.

     

  • You can not fully compile for the new SCO type (e.g. 1.0.7.0). This is because the new hasing algorithm for the natives is still unknown. I've collected some of the new hashes by comparing the scripts for 1.0.4.0 and 1.0.7.0, so you can compile simple code for 1.0.7.0 with this tool. You can view the known and unknown hashes by opening Data\NativesNew.dat and Data\HashesNew.dat.

     

  • So, check the natives mode when you load and save files. Otherwise, the natives will be respectively displayed as hex values or compiled incorrectly.

     

  • Hover your mouse over the auto complete function list to see if you shoud, and, if yes, what parameters you should add to a function. You can open existing SCO files or check out the GTAModding wiki to get a general view of how things work.

     

  • Because this is actually more like a beta version, the tool may decompile and display things incorrectly. However, it will get compiled in the same (incorrect) way. I've decompiled and recompiled the full main.sco successfully. There were no binary differences (except float values).

     

  • I've added some stuff to the Tools folder. You will find and completely empty script file if you want to create a new file. I've also added a list of vehicle hashes if you want to spawn a vehicle.

     

  • Please note that this is a SCO utility, so it cannot extract it from or pack it into a IMG archive for you.

     

  • I am not a SCO coder, so I can not tell you why your script crashes or how to use all the natives and script features. I can certainly have a try on checking your code, though. First thing to check if your code crashes would be if the correct natives mode is selected.
Download

 

You can download the latest version of SCO ToolBox - v1.2.7 (November 27th, 2011) - here:

 

 

DOWNLOAD!

 

 

Download Source

 

Change Log

 

v1.2.7:

- Added 1.0.7.0 natives (Thanks OinkOink and sjaak327).

- Added description for code signature.

- Added update checker.

- Some other bug fixes.

 

v1.2.6:

- First public release.

 

(Didn't log previous versions)

 

 

I hope you like it. smile.gif

 

Cheers,

Flitskikker

Edited by flitskikker

Share this post


Link to post
Share on other sites
nkjellman

It's about time! Great job.

Share this post


Link to post
Share on other sites
ziggyYardie

GREAT!!! is this able to do HIGH level editing or still at "low level" like you said in a other forum?

none the less,its progess great work on this even if its in the modest

Share this post


Link to post
Share on other sites
nkjellman

Now that we have .sco editing, we need a script like liveless but it let will us customize save game locations with an .ini for each GTA IV install due to the fact that you can't pick a save to load or start a new game like III, VC, and SA. It would also be a great way to keep the saves organized. Who agrees with me?

Share this post


Link to post
Share on other sites
coin-god
This is good news. What are your plans for future releases?

Share this post


Link to post
Share on other sites
sjaak327

Oinkoink does have a spark IV version that decompiles all natives for 1.0.7.0 except the TBOGT specific natives (a few natives that were apparently not on Xbox).

 

 

Share this post


Link to post
Share on other sites
Wesser

Finally, I might love making script mods for GTAIV. Good job, mate! icon14.gif

Share this post


Link to post
Share on other sites
gamerzworld
Oinkoink does have a spark IV version that decompiles all natives for 1.0.7.0 except the TBOGT specific natives (a few natives that were apparently not on Xbox).

He was supposed to send me the code last year so I could update SparkIV with it, never got anything. Messaged him a few days ago asking for it again so it could be added to SCO ToolBox, no response yet.

Share this post


Link to post
Share on other sites
sjaak327
Oinkoink does have a spark IV version that decompiles all natives for 1.0.7.0 except the TBOGT specific natives (a few natives that were apparently not on Xbox).

He was supposed to send me the code last year so I could update SparkIV with it, never got anything. Messaged him a few days ago asking for it again so it could be added to SCO ToolBox, no response yet.

Oh that's a bummer, he did send me his updated version of sprakiv that actually works, not sure if he included the source though

Share this post


Link to post
Share on other sites
Flitskikker

Thanks for your replies!

 

 

GREAT!!! is this able to do HIGH level editing or still at "low level" like you said in a other forum?

none the less,its progess great work on this even if its in the modest

 

It's still low level unfortunately. See the screenshots in the OP. But you can make simple edits with it. See below.

 

 

Now that we have .sco editing, we need a script like liveless but it let will us customize save game locations with an .ini for each GTA IV install due to the fact that you can't pick a save to load or start a new game like III, VC, and SA. It would also be a great way to keep the saves organized. Who agrees with me?

 

Are you sure that is handled through SCO?

 

 

This is good news. What are your plans for future releases?

 

- If "OinkOink" replies, adding all natives for 1.0.7.0.

- Adding sample files.

- Maybe adding high level editing.

 

---

 

Here's another example of what you can do with it. biggrin.gif

In roman1.sco, I've replaced the hashes for Roman's Taxi with the one for the Infernus, added armor and changed the time.

 

user posted image

 

user posted image

 

Share this post


Link to post
Share on other sites
Flitskikker
Oinkoink does have a spark IV version that decompiles all natives for 1.0.7.0 except the TBOGT specific natives (a few natives that were apparently not on Xbox).

He was supposed to send me the code last year so I could update SparkIV with it, never got anything. Messaged him a few days ago asking for it again so it could be added to SCO ToolBox, no response yet.

Oh that's a bummer, he did send me his updated version of sprakiv that actually works, not sure if he included the source though

Could you send it to me? I can extract it from it.

Share this post


Link to post
Share on other sites
hristobg

Great tool! Great work, flitskikker! Wish you best luck with it and more future releases! smile.gif

 

One question: which one of all .sco files is the one that is for "starting a new game", also, which one is after the first save? Or the spawn coordinates after this save are ruled by the save file (like in SA)? smile.gif

Share this post


Link to post
Share on other sites
Kalvin

Nice work flitskikker!, also, is it possible to change home co-ords in missions? cuz i'd like to play a good life in iv tounge.gif

Like, spawn in alderney, and to drive and live in the apartment you have there before playboys tounge.gif and use a diff building for roman's depo xD

Share this post


Link to post
Share on other sites
Flitskikker
Great tool! Great work, flitskikker! Wish you best luck with it and more future releases! smile.gif

 

One question: which one of all .sco files is the one that is for "starting a new game", also, which one is after the first save? Or the spawn coordinates after this save are ruled by the save file (like in SA)? smile.gif

Thanks a lot! smile.gif

 

The first mission (drive Roman) is called roman1.sco, which I modified (see above). I don't know which one for the boat intro.

I think the saves are handled through ambsavebed.sco, but I think the spawn coords are saved in the savegame and loaded from that.

 

Share this post


Link to post
Share on other sites
Flitskikker
Nice work flitskikker!, also, is it possible to change home co-ords in missions? cuz i'd like to play a good life in iv tounge.gif

Like, spawn in alderney, and to drive and live in the apartment you have there before playboys tounge.gif and use a diff building for roman's depo xD

I think everything is possible, I just wouldn't know how to do it. tounge2.gif

Share this post


Link to post
Share on other sites
Kalvin

 

Nice work flitskikker!, also, is it possible to change home co-ords in missions? cuz i'd like to play a good life in iv tounge.gif

Like, spawn in alderney, and to drive and live in the apartment you have there before playboys tounge.gif and use a diff building for roman's depo xD

I think everything is possible, I just wouldn't know how to do it. tounge2.gif

Great biggrin.gif

I've never scripted before, but for iv, i'd try anythin xP

Oh, btw.

Where can i find the code to change roman's taxi in roman1.sco? tounge.gif

(What section, line, etc. If it's not too much trouble, as i stated, i haven't scripted in my entire life, and this could be a start tounge.gif )

Edited by ManDog

Share this post


Link to post
Share on other sites
sjaak327
Oinkoink does have a spark IV version that decompiles all natives for 1.0.7.0 except the TBOGT specific natives (a few natives that were apparently not on Xbox).

He was supposed to send me the code last year so I could update SparkIV with it, never got anything. Messaged him a few days ago asking for it again so it could be added to SCO ToolBox, no response yet.

Oh that's a bummer, he did send me his updated version of sprakiv that actually works, not sure if he included the source though

Could you send it to me? I can extract it from it.

Sure, when I get home, will pm you the link.

Share this post


Link to post
Share on other sites
Flitskikker
Nice work flitskikker!, also, is it possible to change home co-ords in missions? cuz i'd like to play a good life in iv tounge.gif

Like, spawn in alderney, and to drive and live in the apartment you have there before playboys tounge.gif and use a diff building for roman's depo xD

I think everything is possible, I just wouldn't know how to do it. tounge2.gif

Great biggrin.gif

I've never scripted before, but for iv, i'd try anythin xP

Oh, btw.

Where can i find the code to change roman's taxi in roman1.sco? tounge.gif

You will find the hashes for vehicles in Tools\Vehicle Hashes.txt;

 

ROM = 0x8CD0264C

INFERNUS = 0x18F25AC7

 

After I saw in the code that Roman's Taxi is only created, spawned, deleted, etc, I simply used the advanced editor to find and replace all the instances of the hash above with the one from the Infernus.

But, of course, you can replace it with the hash for any other vehicle from the Vehicle Hashes.txt file.

 

To change to color, simply search for CHANGE_CAR_COLOUR. For example:

 

 

PushS 525LocalVarRefGetPushD 0PushD 1CallNative CHANGE_CAR_COLOUR 3 0

 

 

The 3 after the native means it requires 3 parameters from above (0 = zero return values). According to GTAModding.com's documentation, these are the Vehicle Handle and two colors.

 

The first three lines get the Vehicle Handle (it gets the value from the 525th local variable, appearantly it's stored there).

The two colors are 0 and 1. I changed them both to 131 (reference).

 

There are more CHANGE_CAR_COLOUR calls and some calls for changing the additional colors. I've changed them all to 131.

 

 

I hope you understand it smile.gif

Share this post


Link to post
Share on other sites
chasez

Is it possible to add police bike to police unit with this one? not replacing but adding. Like the cops drive police, police2 and as an addition Police bike.

Share this post


Link to post
Share on other sites
Kalvin

Hmm, i tried doing it, but it stops on the "LOADING..." text. I know it hasen't crashed, because the white bar keeps going across.

Have i done something wrong? here's what i do:

I start extract SCO Editor (tools, data, .txt, etc) into IV root folder.

Then later open OpenIV and extract roman1.sco

Then i do "new - 1.0.7.0", then "Advanced"

Then i click Find and Replace, i put in Roman's taxi code, then put in the one i want (Banshee in this case, for a test), then click Replace All.

I do save as, and export it into a folder, i go back in OpenIV and replace Roman1.sco

but i went ingame, did that loading thing, so i did Decode option, and exported it.

then i went ingame, still did the "Loading...", did i do something wrong?

Share this post


Link to post
Share on other sites
Threepwood

Flit, have you found any hint if the SCO files start or execute CUT scenes?

Have you seen any hint for car manipulating in matter of objects besides attaching blips?

I am actually going through every SCO which is involved with Brucie missions, no luck yet. But maybe there is a common SCO file which does any of the above?

Share this post


Link to post
Share on other sites
lpgunit

Well it's about time that we do a script editor besides hooking stuff up with C++.

Share this post


Link to post
Share on other sites
sjaak327

 

Flit, have you found any hint if the SCO files start or execute CUT scenes?

Have you seen any hint for car manipulating in matter of objects besides attaching blips?

I am actually going through every SCO which is involved with Brucie missions, no luck yet. But maybe there is a common SCO file which does any of the above?

Cutscenes are started from mission scripts, the native you are looking for would bbe either start_cutscene, or Start_cutscene_now

 

You should decompile all the sco's into a single directory (using scruff or whatever the sparkiv tool is called) and then searching using wingrep.

 

Oh wait, I remember what you are trying to do here smile.gif you need to examine the cut files for that, mission scripts just start the cutscenes, nothing more.

Edited by sjaak327

Share this post


Link to post
Share on other sites
Flitskikker
Flit, have you found any hint if the SCO files start or execute CUT scenes?

Have you seen any hint for car manipulating in matter of objects besides attaching blips?

I am actually going through every SCO which is involved with Brucie missions, no luck yet. But maybe there is a common SCO file which does any of the above?

I don't understand what you're trying to achieve. What would be changed in Brucie's missions?

 

 

Hmm, i tried doing it, but it stops on the "LOADING..." text. I know it hasen't crashed, because the white bar keeps going across.

Have i done something wrong? here's what i do:

I start extract SCO Editor (tools, data, .txt, etc) into IV root folder.

Then later open OpenIV and extract roman1.sco

Then i do "new - 1.0.7.0", then "Advanced"

Then i click Find and Replace, i put in Roman's taxi code, then put in the one i want (Banshee in this case, for a test), then click Replace All.

I do save as, and export it into a folder, i go back in OpenIV and replace Roman1.sco

but i went ingame, did that loading thing, so i did Decode option, and exported it.

then i went ingame, still did the "Loading...", did i do something wrong?

 

Could you send me your edited SCO file?

Share this post


Link to post
Share on other sites
Kalvin

W00t! my first ever script! simple, but i'm proud of myself biggrin.gif

from Taxi, to Banshee!

user posted image

biggrin.gif

Share this post


Link to post
Share on other sites
Threepwood

But do not forget, there is a taxi mission where you need a 4door car wink.gif

Share this post


Link to post
Share on other sites
sjaak327

 

Oinkoink does have a spark IV version that decompiles all natives for 1.0.7.0 except the TBOGT specific natives (a few natives that were apparently not on Xbox).

He was supposed to send me the code last year so I could update SparkIV with it, never got anything. Messaged him a few days ago asking for it again so it could be added to SCO ToolBox, no response yet.

Oh that's a bummer, he did send me his updated version of sprakiv that actually works, not sure if he included the source though

Could you send it to me? I can extract it from it.

Ok, I just extracted about 3000 hashes from ragelib.scripting.dll, I am pretty sure I got the right version (I have several sparkIV versions on my server).

 

Click here

 

Edit: yes it's the correct one, there in hex though, as opposed to your newhashes file which are dec, I cross checked a few of them, so it looks allright.

Edited by sjaak327

Share this post


Link to post
Share on other sites
EncryptedReality

 

But do not forget, there is a taxi mission where you need a 4door car wink.gif

"Three's a crowd". Drive Michelle/Karen and Mallorie to Rotterdam Hill....

Share this post


Link to post
Share on other sites
Kalvin

I might use Sultan RS for that biggrin.giftounge.gif

Share this post


Link to post
Share on other sites
Flitskikker
Oinkoink does have a spark IV version that decompiles all natives for 1.0.7.0 except the TBOGT specific natives (a few natives that were apparently not on Xbox).

He was supposed to send me the code last year so I could update SparkIV with it, never got anything. Messaged him a few days ago asking for it again so it could be added to SCO ToolBox, no response yet.

Oh that's a bummer, he did send me his updated version of sprakiv that actually works, not sure if he included the source though

Could you send it to me? I can extract it from it.

Ok, I just extracted about 3000 hashes from ragelib.scripting.dll, I am pretty sure I got the right version (I have several sparkIV versions on my server).

 

Click here

 

Edit: yes it's the correct one, there in hex though, as opposed to your newhashes file which are dec, I cross checked a few of them, so it looks allright.

Thanks! I already got the file from OinkOink himself so nothing new could be added.

However I still have some differences:

 

 

TASK_COMBAT_HATED_TARGETS_AROUND_CHAR_TIMED - FOUND, *****BUT DIFFERENT!!!******. In file: 352397392, From log: 309750227TASK_COMBAT_HATED_TARGETS_AROUND_CHAR - FOUND, *****BUT DIFFERENT!!!******. In file: 309750227, From log: 352397392CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_PED - FOUND, *****BUT DIFFERENT!!!******. In file: 1168863631, From log: 648683727REGISTER_TRACK_NUMBER - FOUND, *****BUT DIFFERENT!!!******. In file: 1369125124, From log: 1300107943GET_LENGTH_OF_STRING_WITH_THIS_TEXT_LABEL - FOUND, *****BUT DIFFERENT!!!******. In file: 1836670656, From log: 1593968717

 

 

In file = my file

From log = your file

 

Don't which ones are correct. ph34r.gif

 

 

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

×

Important Information

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