Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!   (84,953 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

thehambone

GTA III Save File Documentation

Recommended Posts

Silent

I've spawned a few Rhinos using a cheat code and after reloading they were still there! So, the game saves spawned cars and boats(?).

Yep. It's a bug I fixed in SilentPatch. That's the way Rhino cheat creates a vehicle:

 

v5 = CAutomobile::CAutomobile((CAutomobile *)v4, 122, 2);
where the last param is an owner type. 2 is mission script, so the game literally thinks it's SCM which spawned it. And therefore, never removes it.

 

 

To answer the question - yes, any SCM-spawned vehicle will persist until it's marked as no logner needed.

 

 

EDIT:

And yes, Rhino is the only vehicle spawnable via cheat in III. And VC/SA fixed the issue and correctly marks those as engine-spawned, ie. easy to destroy at any time if only player wasn't using it recently.

Edited by Silent

Share this post


Link to post
Share on other sites
OrionSR

I want to make sure I don't lose this again. And it looks like we might need to redefine time stamps. I had completely forgotten about this report.

 

 

Though problem of OP seems to be solved, I think I must share some of my observations which were PMed to OrionSR about 6 years ago.

 

 

Pickup timers are static and are used to spawn or vanish pickups. e.g. When you grab a type 15 pickup like armor or bribe, their pickups timers will increment by it's respawning time(360,000ms or 6 min for armor and 300,000ms or 5 min for bribe). e.g. If you grab an armor when GT is 1,000,000 it's PT will acquire value 1,360,000. The armor will not appear till GT becomes 1,360,000. Armor or any type 15 pickup will always appear for condition PT <= GT or empty timer.

 

Now for everytime you save the game PT will decrement in value by 3,600,000 and finally become zero(empty).

 

Type 8 or type 5(Jetpack) pickups does exactly opposite. When they are created, their timers increments in value by vanish time(20,000ms for weapons, 30,000ms for cash). When GT reaches PT's value, pickups get vanished. And like type 15 pickups, on saving game PT decrements by 360,000ms.

 

Reason behind unexpired temp pickups or unspawnned armor, bribes is that, they have large PT value compared to new GT. Problem is not actually permanent. Their PT is reducing in value for every game saving as well as GT is approaching towards PT.

Don't know about other timers but I think they will behave similarly. If you can re-spawn at least one save pickup, repeated saving should turn save file to normal. Never tested this, but it should work (I think).

 

Share this post


Link to post
Share on other sites
thehambone

Whoa, thanks for the save. I've learned a lot from this one. This file stores information about four Rhinos left in different places of the map. Some of them drowned in water or destroyed but their chassis is still present!

So that's how that happens! I totally forgot that they did that! I remember playing the game years ago and seeing the Rhinos that I've spawned still on the map. I used to wonder why that only happened with spawned Rhinos and not other vehicles. Now I know!

I don't really use cheats, so that's probably the reason all of my saves have no data in block 3 (other than the one I found online). I'm going to mess around with cheats and see how they affect the saves.

 

 

Now, every single block in a save file is described, only internal fields left. We need to move all the information into the GTAModding.com article.

I agree, I've been slowly getting stuff on the modding page while my free time has allowed me to. I've been rather busy lately (that should end soon though).

 

I'm going to start working on an editor by the end of this week. I can't wait to start!

 

 

I want to make sure I don't lose this again. And it looks like we might need to redefine time stamps. I had completely forgotten about this report.

*snip*

That's very interesting behavior. One of the things on my list of things to do for this project is to explore how the vehicle timer works. Maybe I'll see the same behavior that's being described here.

Share this post


Link to post
Share on other sites
thehambone

Update

Hey everyone, so I've been working on a save editor for the last couple of weeks and it's going really well! I'm writing it in such a way that mirrors the 010 template. This method will allow for any value within the file to be changed, as long as it is defined within the program (they all will be). So far, it only reads/writes Block 0, but adding the additional blocks should be easy now that the IO functions have been written. I also plan to include support for Android gamesaves. I haven't had a whole lot of time to work on it recently (mainly only on weekends), but expect to see an early version soon!

 

Thanks for all your help guys!

Edited by thehambone

Share this post


Link to post
Share on other sites
thehambone

I've noticed, it looks good! Thanks! I've been very busy with school lately so my work on this project has been rather slow.

Edited by thehambone

Share this post


Link to post
Share on other sites
thehambone

Fantastic! I have a lot of the stats documented on my computer from a while back, but only a little bit of it has been verified.

 

Glad to see a little bit of a revival in research is beginning to take place for this game!

Edited by thehambone

Share this post


Link to post
Share on other sites
OrionSR

 

034B: staunton_complete affects the bridge and tunnel traffic between Staunton and Shoreside islands, news headlines and no criminal rating limit (otherwise it can't be higher than 4552). Nothing special at all. Also the game plays an audio announcement on the radio about the bridge operating again once the opcode is executed.

I do not see any change in traffic from opcode 034B. Traffic restrictions for the bridges and tunnels seems to be controlled entirely by forbidden cube corners. The radio announcement is consistent, and I've noticed that the reader board above the Portland tunnel entrance has a message about the bridge opening. I don't know where to look for News Headlines.

 

III OpenUp

 

I've been experimenting with an OpenUp cleo script to help with testing of GTA III saves. I'm not sure what needs to be unlocked. Let me know if I forgot anything. The current script:

  • Repairs the bridge between Portland and Staunton
  • Removes any barriers blocking bridges and subways
  • Activates the lift bridge between Staunton and Shoreside Vale
  • Restores normal traffic to bridges and tunnels
  • Unhides all hidden vehicles

 

 

{$CLEO .cs}//IIIOpenUp.txt{Open Up GTA III map for testingRepairs the bridge between Portland and StauntonRemoves any barriers blocking bridges and subwaysActivates the lift bridge between Staunton and Shoreside ValeRestores normal traffic to bridges and tunnelsUnhides all hidden vehicles}0000:wait 10while true  wait 0  if    05EE:   key_pressed 0x75 // F6  then//  :Wait    wait 0    if      05EE:   key_pressed 0x75 // F6    then      jump @Wait    end03B6: replace_model_at 525.3125 -927.0625 71.8125 radius 20.0 from #NBBRIDGFK2 to #NBBRIDGCABLS01 03B6: replace_model_at 706.375 -935.8125 67.0625 radius 20.0 from #NBBRIDGFK2 to #NBBRIDGCABLS01 03B6: replace_model_at 529.0 -920.0625 43.5 radius 20.0 from #DAMGBRIDGERDB to #NBBRIDGERDB 03B6: replace_model_at 702.75 -939.9375 38.6875 radius 20.0 from #DAMGBRIDGERDB to #NBBRIDGERDB 03B6: replace_model_at 529.0 -942.9375 43.5 radius 20.0 from #DAMGBBRIDGERDA to #NBBRIDGERDA 03B6: replace_model_at 702.75 -919.9375 38.6875 radius 20.0 from #DAMGBBRIDGERDA to #NBBRIDGERDA 03B6: replace_model_at 525.3125 -927.0625 71.8125 radius 20.0 from #LODRIDGFK2 to #LODRIDGCABLS01 03B6: replace_model_at 706.375 -935.8125 67.0625 radius 20.0 from #LODRIDGFK2 to #LODRIDGCABLS01 03B6: replace_model_at 521.125 -922.9375 43.5 radius 20.0 from #LODGBRIDGERDB to #LODRIDGERDB 03B6: replace_model_at 702.75 -939.9375 38.6875 radius 20.0 from #LODGBRIDGERDB to #LODRIDGERDB 03B6: replace_model_at 529.0 -940.0625 43.5 radius 20.0 from #LODGBBRIDGERDA to #LODRIDGERDA 03B6: replace_model_at 702.75 -919.9375 38.6875 radius 20.0 from #LODGBBRIDGERDA to #LODRIDGERDA 0363: toggle_model_render_at 1027.25 -933.75 15.0 radius 50.0 object #INDHELIX_BARRIER 0 03B6: replace_model_at 1027.25 -933.75 15.0 radius 50.0 from #INDHELIX_BARRIER to #LOD_LAND014 //0108: destroy_object $34   // #SUBWAYGATE//0108: destroy_object $35   // #TUNNELENTRANCE:LOVE3_000D6: if 03CA:   object $34 exists 004D: jump_if_false @LOVE3_10108: destroy_object $34 // #SUBWAYGATE (gate in Chinatown, Portland):LOVE3_100D6: if 03CA:   object $35 exists 004D: jump_if_false @LOVE3_2 0108: destroy_object $35 // #TUNNELENTRANCE (Portland):LOVE3_200D6: if 03CA:   object $37 exists 004D: jump_if_false @LOVE3_3 0108: destroy_object $37 // #SUBWAYGATE (gate at Francis Intl. Airport):LOVE3_300D6: if 03CA:   object $38 exists 004D: jump_if_false @LOVE3_40108: destroy_object $38 // #SUBWAYGATE (gate at Francis Intl. Airport):LOVE3_400D6: if 03CA:   object $39 exists 004D: jump_if_false @LOVE3_50108: destroy_object $39 // #TUNNELENTRANCE (blocking Shoreside Vale access within tunnel):LOVE3_500D6: if 03CA:   object $51 exists 004D: jump_if_false @LOVE3_60108: destroy_object $51 // #HELIX_BARRIER (barriers to Shoreside Vale lift bridge):LOVE3_6//034A: portland_complete 034B: staunton_complete // activate lift bridge //034C: shoreside_complete // Last Requests - FRANK401E7: remove_forbidden_for_cars_cube 619.5625 -911.5 45.0 834.25 -954.5 32.0  01E7: remove_forbidden_for_cars_cube 659.5625 200.0 -20.0 945.75 147.5 5.0 01E7: remove_forbidden_for_cars_cube 529.5625 106.5 -30.0 581.375 65.6875 0.0 // A Drop in the Ocean - LOVE301E7: remove_forbidden_for_cars_cube 496.6875 75.5 -30.0 484.0 44.1875 0.0   01E7: remove_forbidden_for_cars_cube -46.75 -648.0 39.0 -69.0625 -614.0 50.0 //014C: set_parked_car_generator $445 cars_to_generate_to 101 // #KURUMA   (disabled during Cipriani's Chauffeur)//014C: set_parked_car_generator $460 cars_to_generate_to 101 // #IDAHO    (disabled during The Fuzz Ball)//014C: set_parked_car_generator $463 cars_to_generate_to 101 // #MRWONGS  (disabled during Taking Out The Laundry, The Pick-Up)//Blow Fish - TONI5014C: set_parked_car_generator $479 cars_to_generate_to 101 // #BELLYUP  (disabled)014C: set_parked_car_generator $480 cars_to_generate_to 101 // #BELLYUP  (disabled)014C: set_parked_car_generator $481 cars_to_generate_to 101 // #BELLYUP  (disabled)//Grand Theft Aero - LOVE4014C: set_parked_car_generator $536 cars_to_generate_to 101 // #COLUMB  (disabled)014C: set_parked_car_generator $537 cars_to_generate_to 101 // #COLUMB  (disabled)014C: set_parked_car_generator $492 cars_to_generate_to 101 // #YAKUZA014C: set_parked_car_generator $493 cars_to_generate_to 101 // #YAKUZA014C: set_parked_car_generator $494 cars_to_generate_to 101 // #YAKUZA014C: set_parked_car_generator $495 cars_to_generate_to 101 // #DODO014C: set_parked_car_generator $497 cars_to_generate_to 101 // #BFINJECT (Joe Bug 5:00 to midnight)014C: set_parked_car_generator $498 cars_to_generate_to 101 // #BORGNINE (100 Taxi Fares)014C: set_parked_car_generator $522 cars_to_generate_to 101 // #REEFER   (Portland complete)014C: set_parked_car_generator $549 cars_to_generate_to 101 // #RHINO    (Shoreside complete)  endend

 

 

Edited by OrionSR

Share this post


Link to post
Share on other sites
spaceeinstein

Your script looks good. I think Seemann was talking about the reader board when he mentioned "news headlines" because it includes both the bridge and tunnel openings. I also don't see how the opcode affects traffic behavior.

Edited by spaceeinstein

Share this post


Link to post
Share on other sites
Seemann

Yes, you're right, 034B does not directly affect traffic, my bad. Under news headlines I mean texts on those boards at Portland tunnel and Staunton Island.

Share this post


Link to post
Share on other sites
Lethal Vaccine

I am working on a Starter Save for iOS right now. When I am finished I plan on posting to it the Forum. If anyone can figure out why iOS and Android aren't compatible, yet SA and CTW for Mobile are, that would be great. I got a friend working on the Android Starter Save for III, you guys can compare.

Share this post


Link to post
Share on other sites
OrionSR

Good idea, but a fancy starter save will complicate the comparison. What would be most helpful at this stage is one save from each version that are as identical as possible. Both of you agree on the simplest and most direct and repeatable path to the nearest save location.

 

Something else that would help are copies of main.scm from iOS and Android. I have no idea how to get at this file on either OS. If the scripts are different the saves won't be directly compatible.

Share this post


Link to post
Share on other sites
Lethal Vaccine

Yeah, I can just pass Luigi's Girls and my friend can pass it to and we can post it here if you want. Cuz I seem to only be capable of getting 51% Completion in a III Starter Save whereas my friend gets 53%. This is due to only getting 99/100 Hidden Packages early and missing the Dodo for Import/Export in Portland due to suck ass at flying it.

Share this post


Link to post
Share on other sites
thehambone

Yes, posting the most basic form of saves from both platforms would be helpful.

 

Also, posting identical saves from various points in the game on both platforms would be helpful, as we can see how things change as the game progresses for each platform.

Share this post


Link to post
Share on other sites
Lethal Vaccine

When I finish my Starter Save in 5-7 days, I will ask my friend to do what I said above with Luigi's Girls and then I will do the same, on iOS. You guys can compare and figure this stuff out as it's over my head. I am more than capable of doing things myself, but for instance, my friend's VC Mobile Save is perfect like my PS2 Save. I just wanted to download his VC 100% Mobile Save with all Special Vehicles, but I can't due to his being Android and me iOS. No idea why III and VC isn't compatible, yet SA and CTW are...

Share this post


Link to post
Share on other sites
OrionSR

5-7 days huh. Can I talk you into posting your iOS version a little sooner? I would like to try increasing the timers to a level that induces glitches on PC, minus 1 minute,to see if the same, similar or other effects can be observed on iOS.

Share this post


Link to post
Share on other sites
Lethal Vaccine

Yeah, I can post it sooner if you want. So can my friend. You think you guys can find a way to get Android and iOS Compatible or is this unlikely? It's really annoying me to do every GTA for every platform. Wish I can just copy all my progress from platform to platform, along with my Special Vehicles, lol...

 

There was a true reason to do SA on Mobile, but III and VC on Mobile? No point, considering I already have all 13 in III and all 27 in VC. I am basically doing these on Mobile to replicate what I did on PS2/3. But it's stupid when I got a friend who has an Android Save and it's exactly like my PS2 Save. All I want to do is copy/paste it onto my Phone, but it crashes since his is Android and mine is iOS. I just don't get how SA and CTW are compatible but III and VC aren't. Same damn B File, same sized File...

 

EDIT: Here is my iOS 20% Save. I hope you can do what you need with this Save File. If you want the Luigi's Girls Save along with Android, that will have to wait some days.

 

In time, obviously, I will hit 100% as well as my friend. You guys can compare those, as well. It's pissing me off that I can't get his VC Save on my iPhone.

 

Notice the Last Save/Mission Name on GTASnP....Wtf? Last Mission I passed was Gripped!, yet it comes up with weird numbers and letters and such...

 

EDIT 2: For the record, Vehicles drive backward in my III Mobile Save and do 180 degree turns right before my eyes, just like in SA. I am beginning to think this is normal and I am beginning to think this is a Renderware Problem or feature or something. It doesn't do this in the HD Era, even if you have 1000 hours of Gameplay if you want.

 

EDIT 3: OrionSR, you know how you added my PS2 Special Vehicles into a Garage Block for Mobile SA and it worked? Well, is this possible for III and VC as well? If it's possible, you know what I can do? Just get 100% in VC for instance on Mobile with the SAME Stats I have for PS2, then you can just copy my PS2 VC Save Special Vehicle Garage Block to iOS.......If it's possible that is. Tbh, I don't know anything what you guys are talking about in these Topics, but I like trying to figure it out :D You can do the same for me on my III Save, too, if it's possible...

Edited by Militia

Share this post


Link to post
Share on other sites
thehambone

Yeah, I can post it sooner if you want. So can my friend. You think you guys can find a way to get Android and iOS Compatible or is this unlikely? It's really annoying me to do every GTA for every platform. Wish I can just copy all my progress from platform to platform, along with my Special Vehicles, lol...

I'm pretty sure converaion between iOS and Android will be possible. Hell, conversion between PC and mobile is likely possible too.

 

A file converter is a feature I have planned for a while for my editor. Once we know enough about the differences between the save files from each platform, I can add that feature.

Edited by thehambone

Share this post


Link to post
Share on other sites
Lethal Vaccine

Yeah, that sounds amazing. If anyone can help to get all this stuff to work that would be epic.

 

I'm still trying to figure out how to get Jack Reacher's BC PS3 Starter Save for SA for PAL Region to play on my BC PS3 for NTSC Region.

 

You'd think BC PS3 to BC PS3 would be a simple conversion and something out there for it, but everyone tells me it doesn't work. All my Saves conveniently work for everyone, but then when I need some help, nobody can help, basically...

Edited by Militia

Share this post


Link to post
Share on other sites
OrionSR

The last mission name is nothing to be concerned about. Mobile versions tends to use the text key to display the last mission name rather than writing the name to the start of the file; the key 4X4_3 will display Gripped in game. SnP may need to create a lookup table to translate the text keys to the mission name you are familiar with. This isn't a big deal other than it's a lot more difficult to include custom save names.

 

What looks encouraging however, is the mission checklist appears to be working correctly. Do all the stats for mission and completion progress look right to you? This suggests that the scripts might be compatible.

 

I have my doubts about converting between platforms. SA had some major structural differences between mobile and PC, like more local variables in threads. If the scripts are different there are other challenges, like changing thread offsets (PCv1 to PCv2), skewing all of the global variables to the right position, and then replacing all active threads - something no one has tried with an editor.

 

I tried replacing threads with cleo once. I put everything to sleep by resetting the timers, closed each thread and launched new ones, except for main. I never found a way to replace the main thread in the save with a new one from the current script without it starting a new game. I got around the difference between PS2 and PC scripts in my CG4PS2 for SA saves by running the PS2 scripts on my PC. Then I did a Frankenstein patch to a PS2 save. It wasn't a proper conversion - it was more like patching two saves together.

 

Does anyone know where I can find the main.scm script from the iOS version?

Edited by OrionSR

Share this post


Link to post
Share on other sites
Lethal Vaccine

What looks encouraging however, is the mission checklist appears to be working correctly. Do all the stats for mission and completion progress look right to you?

 

Yes, all the Stats thus far are correct on GTASnP. Things are looking great. You must of missed what I said above, though. Is it possible to add PS2 Save Garage Block for III and VC to iOS Garage Block for III and VC? I can *probably* obtain them all again just like I can on PS2, but it'd piss me off if I can't get something due to poor controls, meanwhile with a controller it's cake to obtain, etc. I am only asking as an "emergency." Is it possible to add my PS2 Saves for III and VC to the iOS Garages?

Share this post


Link to post
Share on other sites
Samutz

Notice the Last Save/Mission Name on GTASnP....Wtf? Last Mission I passed was Gripped!, yet it comes up with weird numbers and letters and such...

 

The last mission name is nothing to be concerned about. Mobile versions tends to use the text key to display the last mission name rather than writing the name to the start of the file; the key 4X4_3 will display Gripped in game. SnP may need to create a lookup table to translate the text keys to the mission name you are familiar with. This isn't a big deal other than it's a lot more difficult to include custom save names.

 

As far as I know, the mobile versions of III and VC can use either a GXT key or an explicitly stated save name, as seen here. I'm guessing an app update changed it from one to the other.

I was working on libraries for the site to read GXT keys from the actual GXT files and store them in the database to reference keys from saves. Currently, I just have arrays of GXT keys for missions in each game. However, I recall some how severely breaking the test site and ended up reverting everything back and losing the libraries. I can still fix the save names to check for GXT keys first. I'll probably try to get that done sometime this weekend.

 

Edit: And actually I remember now that I also had trouble finding a matching encoding for the GXT strings. I couldn't get accented characters and other non-alphanumeric characters to display properly.

Edited by Samutz

Share this post


Link to post
Share on other sites
spaceeinstein

Edit: And actually I remember now that I also had trouble finding a matching encoding for the GXT strings. I couldn't get accented characters and other non-alphanumeric characters to display properly.

I listed all the possible characters here if it helps. Edited by spaceeinstein

Share this post


Link to post
Share on other sites
OrionSR

Hey Seemann. Would you happen to have the main.scm files for mobile GTA III hidden on your server? It would help if I could find the original scm format so I can decompile using the same settings and scm.ini file.

 

Something we might want to investigate is using the Android scripts on iOS devices to play Android version saves, or the other way around. This is basically the strategy we use on PC to play either version saves without converting the file - which would be inappropriate for SnP requests, or Chain Game saves, etc. It is my understanding that this sort of mod isn't too hard to do on iOS; it was easy for SA on Android. IIRC, you just need to put the file in the appropriate user folder and the game will automatically use that version instead of the standard version.

Edited by OrionSR

Share this post


Link to post
Share on other sites
Seemann

Hey Seemann. Would you happen to have the main.scm files for mobile GTA III hidden on your server? It would help if I could find the original scm format so I can decompile using the same settings and scm.ini file.

Here you go:

https://sannybuilder.com/dev/GTA3_ANDROID_SCM.rar v1.6

https://sannybuilder.com/dev/GTA3_IOS_SCM.rar v1.3.4

 

Note that the iOS version has multiple scm files. To decompile them you need to follow instructions from this post.

Share this post


Link to post
Share on other sites
OrionSR

Hurray, the Android and iOS script are an exact match.

Share this post


Link to post
Share on other sites
Lethal Vaccine

My Updated III Mobile Starter Save

 

The highest percentage you can reach is 53%. I am 44%. In 4 days...So easy...

 

@OrionSR, does that means the Saves are/will become compatible? I hope VC is compatible, too! :)

Edited by Militia

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.