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

[SA] Need help with GSX


HzanRsxa2959
 Share

Recommended Posts

HzanRsxa2959

Hey guys, I am developing this mod: CarStorage.

If anyone here has used any experience , I was wondering if they could help me with implementing GSX in my mod so that the CLEO+ extended vars are saved to and loaded from garages accordingly.

 

Here is the example GSX code:

Spoiler
{$CLEO}

0AA2: 0@ = load_library "gsx.asi" // IF and SET                                                                                  
0AA4: 6@ = get_proc_address "getNewCarGrgForeach" library 0@ // IF and SET 

const
   LOAD_CAR = 0
   SAVE_CAR = 1
end


while true
   wait 0        
   
   // Other things
   
   0AC7: 13@ = var 16@ offset    // carInfo - 8 bytes
   0AC6: 14@ = label @positionRegister offset   // 8 bytes
   while true
       0AA7: call_function 6@ num_params 2 pop 2 13@ 14@ retorno 15@  // getNewCarGrgForeach / GSX::getNewCarForeach(i, out)
       if 15@ <> 0 
       jf break
                                                                 
       0AD0: show_formatted_text_lowpriority "Teste car %.8X status %d" time 1500 16@ 17@  // status: 0 loaded / 1 saved      
       wait 2000
   end
   
   
   // Other things
end

:carInfo
hex
   00 00 00 00  // veh ptr
   00 00 00 00  // status
end

:positionRegister
hex
    00 00 00 00 00 00 00 00
end

 

 

Here is the code I have written to make sense of it:

Spoiler
{$CLEO .cs}

const
    bGSXInstalled = 0@

    hProcGSXgetNewCarGrgForeach = 1@
    hProcGSXsetDataToSaveLaterVehPtr = 2@
    hProcGSXgetLoadDataByVehPtr = 3@

    iGSXVehicleStatusLoaded = 0
    iGSXVehicleStatusSaved = 1

    t0 = 20@
    t1 = 21@
    t2 = 22@
    t3 = 23@
    t4 = 24@
    t5 = 25@
    t6 = 26@
    t7 = 27@
end

bGSXInstalled = false
if 0AA2: t0 = load_library "gsx.asi"
then                                                                                  
    if and
        0AA4: hProcGSXgetNewCarGrgForeach = get_proc_address "getNewCarGrgForeach" library t0
        0AA4: hProcGSXsetDataToSaveLaterVehPtr = get_proc_address "setDataToSaveLaterVehPtr" library t0
        0AA4: hProcGSXgetLoadDataByVehPtr = get_proc_address "getLoadDataByVehPtr" library t0
    then
        bGSXInstalled = true
    end
end

//static int(__cdecl *getNewCarGrgForeach)(size_t *i, GSX::apiCarNotify *out) = nullptr;
//static void(__cdecl *setDataToSaveLaterVehPtr)(CVehicle *veh, const char *name, int size, void *ptr, bool forceCopyNow) = nullptr;
//static void* (__cdecl *getLoadDataByVehPtr)(CVehicle *veh, const char *name) = nullptr;

while true
    0AC7: t4 = var t0 offset
    0AC7: t5 = var t2 offset
    0AA7: call_function hProcGSXgetNewCarGrgForeach num_params 2 pop 2 t4 t5 t6
    if t6 <> 0
    then

        if t6 == iGSXVehicleStatusSaved
        then

        end
        if t6 == iGSXVehicleStatusLoaded
        then

        end

    end
    wait 0
    if 0ADC: test_cheat "RSGSX"
    then
        0ACE: show_formatted_text_box "GSX Script Reloaded Reloaded."
        0A92: create_custom_thread "GSXTest.cs"
        0A93: end_custom_thread
    end
end

 

 

An example script that saves and loads vehicle data with explanation would be extremely helpful.

 

I only know basic C++, and I do not understand a thing.

I am not even sure if the above code is correct, and have no further idea of where to go.

 

Any help would be appreciated.

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.