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!

[SA] Supervars


BigHomie
 Share

Recommended Posts

Hello,

for a script I'm workong on I needed variables that exceed the standard memory space. I got interested in using Deji's SuperVars. Before getting back to work I need to know what is the maximum memory space to be used and how many variables could be gained from this. I'd appreciate any help.

With best regards,

BigHomie

Link to comment
Share on other sites

You can use the called "thread memory", so saving values to the script's body and freeing the local variables. The size depend to you needs.

Link to comment
Share on other sites

You can reserve a amount of blank bytes in script's body; like the following example.

 

{$CLEO}
// the respective script's code...
0AC6: {pacSpace} [email protected] = GetLabelAddress {uliLabel} @__nop__128bytes
:__nop__1byte
hex __nop ;
00 // 1 byte, 8 bits.
end//hex
:__nop__2bytes
hex __nop ;
00 00 // 2 bytes, 16 bits.
end//hex
:__nop__4bytes
hex __nop ;
00 00 00 00 // 4 bytes, 32 bits.
end//hex
:__nop__128bytes
hex __nop ;
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 16 bytes, 128 bits.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 32 bytes, 256 bits.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 48 bytes, 384 bits.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 64 bytes, 512 bits.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 80 bytes, 640 bits.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 96 bytes, 768 bits.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 112 bytes, 896 bits.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 128 bytes, 1024 bits.
end//hex

 

 

The opcode 0x0AC6 returns a pointer to the array of bytes at label '__nop__128bytes' that you can reduce or extend according to your needs. You also can form smaller others (i recommend it have 4 bytes for better and safe working). For example, you can reserve bytes for each key from a ".ini file" then access them by read/write its memory addresses (opcodes 0x0A8C and 0x0A8D) returned by opcode 0x0AC6.

 

Pay attention in size when read and/or write to avoid override exceptional data.

 

Having 32 variables per thread (excluding timers), considering everyone have 4 bytes, 128 bytes is enough to contain all data of TLS.

Edited by Guest
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.