Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

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

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

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

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

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

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

    2. Support

    3. Suggestions

Happy Holidays from the GTANet team!

How can I save variables into a file in VC/III ?


gtaloconbest98
 Share

Recommended Posts

gtaloconbest98

As you know,the CLEO port of those games has no read/write file opcode.
So communication between script is impossible unless the local variable was passed.
Even then there is no way the variable can 'survive' when the game shuts down
III and VC only supports 8 byte strings so this must be a pain.I guess if there were some opcodes,it would be

 

 

change default directory 0 // 0 for game root,1 for user file
load file in directory 'TEMP' filename 'NAME' with extension 'EXT' as [email protected]
file [email protected] loaded
read file [email protected] offset 0x21 size 1 store to [email protected]
write file [email protected] offset 0x21 size 1 with value 0x93
release file [email protected] from memory

Is there anyway to achieve this via scm coding ?

Link to comment
Share on other sites

05E1-05E2 opcodes, fopen/fclose/fseek/fwrite.

Here's a quick example for GTA3 1.0

 

{$CLEO}// get offset to @filename into [email protected]: [email protected] = [email protected] += 0x9805E0: [email protected] = read_memory [email protected] size 4 virtual_protect [email protected] -= @filename//05E2: call_function 0x479120 num_params 1 pop 1 _filename [email protected] _retfile_to [email protected] // open file05E1: call 0x5AC490 num_params 3 pop 3 _origin 0 _offset 0x21 _file [email protected] // file [email protected] = 0x93// get [email protected] offset to [email protected]: [email protected] = [email protected] += 0x34//05E1: call 0x5AC000 num_params 4 pop 4 _file [email protected] _size 1 _count 1 _data [email protected] // write into file05E1: call 0x5AB990 num_params 1 pop 1 _file [email protected] // close file05DC: end_custom_thread:filenamehex    "test.txt" 00end
Edited by _DK
Link to comment
Share on other sites

gtaloconbest98

That's really helpful but I have to look for the address that hold the function,check for its param,then use 05f1-05f2 to call it.My C programming skill isn't good enough for reverse-enginner work yet.The whole point of this thread was to ask someone who can add those opcodes,thus save me the trouble.But I guess I was being lazy.

Anyways,thank for the help.I really appreciate it

Link to comment
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
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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