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

double exaust


direstraits
 Share

Recommended Posts

Dual exhaust is controlled by a flag in the handling.cfg line, not through Cleo.

pkmTc.gif

Link to comment
Share on other sites

aStiffSausage

But it's also possible through complex memory writing.

 

Let's take the easy route, I'll show a little example of HEX-flags:

 

When you open handling.cfg, you'll find this at the beginning:

 

; (af) modelFlags!!!  WARNING - Now written HEX for easier reading of flags;;	1st digit	1: IS_VAN  	2: IS_BUS  	4: IS_LOW    8: IS_BIG;	2nd digit	1: REVERSE_BONNET	2: HANGING_BOOT  4: TAILGATE_BOOT  8: NOSWING_BOOT;	3rd digit	1: NO_DOORS  	2: TANDEM_SEATS  4: SIT_IN_BOAT  	8: CONVERTIBLE;	4th digit	1: NO_EXHAUST  2: DOUBLE_EXHAUST	4: NO1FPS_LOOK_BEHIND	8: FORCE_DOOR_CHECK;	5th digit	1: AXLE_F_NOTILT	2: AXLE_F_SOLID  4: AXLE_F_MCPHERSON  8: AXLE_F_REVERSE;	6th digit	1: AXLE_R_NOTILT	2: AXLE_R_SOLID  4: AXLE_R_MCPHERSON  8: AXLE_R_REVERSE;	7th digit	1: IS_BIKE  	2: IS_HELI  	4: IS_PLANE    8: IS_BOAT;	8th digit	1: BOUNCE_PANELS	2: DOUBLE_RWHEELS	4: FORCE_GROUND_CLEARANCE	8: IS_HATCHBACK;; (ag) handlingFlags - written in HEX;;	1st digit	1: 1G_BOOST  	2: 2G_BOOST  	4: NPC_ANTI_ROLL  8: NPC_NEUTRAL_HANDL;	2nd digit	1: NO_HANDBRAKE  2: STEER_REARWHEELS 4: HB_REARWHEEL_STEER	8: ALT_STEER_OPT;	3rd digit	1: WHEEL_F_NARROW2	2: WHEEL_F_NARROW	4: WHEEL_F_WIDE  	8: WHEEL_F_WIDE2;	4th digit	1: WHEEL_R_NARROW2	2: WHEEL_R_NARROW	4: WHEEL_R_WIDE  	8: WHEEL_R_WIDE2;	5th digit	1: HYDRAULIC_GEOM  2: HYDRAULIC_INST	4: HYDRAULIC_NONE  8: NOS_INST;	6th digit	1: OFFROAD_ABILITY	2: OFFROAD_ABILITY2	4: HALOGEN_LIGHTS  8: PROC_REARWHEEL_1ST;	7th digit	1: USE_MAXSP_LIMIT	2: LOW_RIDER  4: STREET_RACER;	8th digit	1: SWINGING_CHASSIS

 

 

Those are the HEX-flags that control really various points, hydraulics, wheels, suspension, and some other in-game properties, read more from here.

In the link below, you can find explanation for every single flag that has known effect.

 

Let's say you want to have following flags enabled in your vehicle:

 

 

Model flags:#1: 4: IS_LOW#2: -#3: 8: CONVERTIBLE#4: 2: DOUBLE_EXHAUST & 4: NO1FPS_LOOK_BEHIND & 8: FORCE_DOOR_CHECK#5: 4: AXLE_F_MCPHERSON#6: 4: AXLE_R_MCPHERSON#7: -#8: 4: FORCE_GROUND_CLEARANCEHandling:#1: 1: 1G_BOOST & 2: 2G_BOOST & 4: NPC_ANTI_ROLL	#2: -#3: -#4: -#5: -#6: 4: HALOGEN_LIGHTS#7: 1: USE_MAXSP_LIMIT & 4: STREET_RACER#8: -

 

 

Okay, so let's begin from the model flags. In first chosen model flag, you see there's only one propertie chosen, and it has value of 4, so the first part of HEX-flags will be 4. Second option doesn't have any chosen properties, so it'll stay as 0. Third one goes the same way as the first one, but fourth one can be tricky for some people.

 

 

2: DOUBLE_EXHAUST & 4: NO1FPS_LOOK_BEHIND & 8: FORCE_DOOR_CHECK

 

 

You need to include all of those values in only one number, and you do it by simply adding them together, 2+4+8=14. If the number goes above 9, then following letters are used:

 

 

10: a11: b12: c13: d14: e15: fAnd so on...

 

 

 

After you've gathered all of your flags in one bunch of numbers, then you need to flip it around:

 

 

Original code:408C4404 70000450Flipped:4044C804 05400007

 

 

And remember to have first model flags, then handling flags, and both in reverse order. smile.gif

 

Hopefully I explained this simply enough.

Link to comment
Share on other sites

No, backfiring is absent in SA. It's possible to make a mod for it, not easy though.

Link to comment
Share on other sites

aStiffSausage

You could make a check for the vehicle through memory reading, does it have specific flag enabled. Memory addresses here

 

I have no experience in reading handlings with Cleo, but it's possibly to read/write them through a script. (ZAZ has done that and done a little tutorial somewhere)

Link to comment
Share on other sites

This is the script:

 

 

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007{$VERSION 3.1.0027}{$CLEO .cs}//-------------MAIN---------------thread 'IFLAME'       :IFLAME_11wait 0 if   Actor.Driving($PLAYER_ACTOR)  Actor.DrivingVehicleType($PLAYER_ACTOR, #INTRUDER)else_jump @IFLAME_11 if   Actor.Driving($PLAYER_ACTOR)  Actor.DrivingVehicleType($PLAYER_ACTOR, #INTRUDER)else_jump @IFLAME_11 if and84A9:   not actor $PLAYER_ACTOR driving_heli 84C8:   not actor $PLAYER_ACTOR driving_flying_vehicle 84A7:   not actor $PLAYER_ACTOR driving_boat 89AE:   not actor $PLAYER_ACTOR driving_train else_jump @IFLAME_11 if and  not Actor.DrivingVehicleType($PLAYER_ACTOR, #BMX)  not Actor.DrivingVehicleType($PLAYER_ACTOR, #BIKE)  not Actor.DrivingVehicleType($PLAYER_ACTOR, #MTBIKE)  not Actor.DrivingVehicleType($PLAYER_ACTOR, #VORTEX)else_jump @IFLAME_11 03C0: [email protected] = actor $PLAYER_ACTOR car 0AB1: call_scm_func @IFLAME_363 1 [email protected] [email protected] [email protected] [email protected] [email protected] -= 0.1 0AB8: get_vehicle [email protected] current_gear_to [email protected] :IFLAME_185wait 0 if   Player.Defined($PLAYER_CHAR)else_jump @IFLAME_351 if   Actor.Driving($PLAYER_ACTOR)else_jump @IFLAME_351 0AB8: get_vehicle [email protected] current_gear_to [email protected] if 803B:   not  [email protected] == [email protected] // (int) else_jump @IFLAME_185 0AB8: get_vehicle [email protected] current_gear_to [email protected] if  [email protected] > 1 else_jump @IFLAME_185 066C: [email protected] = attach_particle "explosion_tiny" to_car [email protected] with_offset [email protected] [email protected] [email protected] rotation 0.0 -25.0 0.0 flag 1 064F: remove_references_to_particle [email protected] 018C: play_sound 1131 at 0.0 0.0 0.0 wait 500 jump @IFLAME_185 :IFLAME_351Car.RemoveReferences([email protected])jump @IFLAME_11 :IFLAME_3630A97: [email protected] = car [email protected] struct [email protected] += 34 0A8D: [email protected] = read_memory [email protected] size 2 virtual_protect 0 [email protected] *= 4 [email protected] += 11120840 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 92 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 72 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 4 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 4 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 0AB2: ret 3 [email protected] [email protected] [email protected] 

 

 

You said i have to search for memory adress and i think I have to change it here:

 

 

:IFLAME_3630A97: [email protected] = car [email protected] struct [email protected] += 34 0A8D: [email protected] = read_memory [email protected] size 2 virtual_protect 0 [email protected] *= 4 [email protected] += 11120840 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 92 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 72 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 4 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 4 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 0AB2: ret 3 [email protected] [email protected] [email protected] 

 

Link to comment
Share on other sites

Few-minutes code (comments took me an extra time, though biggrin.gif):

 

{ FUNCTIONS INCLUDED:-   isVehicleNitroEnabled     Type: CHECK       Description: Check if a vehicle has the nitro currently activated.-   getModelOffset     Type: GET       Description: Get the offset of a loaded model.-   getVehiclePartPosXYZ     Type: GET       Description: Get XYZ positions of a specific vehicle dummy.-   getVehicleHandlingID     Type: GET       Description: Get the vehicle handling ID (not all handling.cfg lines respect the order).-   getVehicleHandlingOffset     Type: GET       Description: Get the vehicle handling offset.-   getVehicleModelFlag     Type: GET       Description: Get the vehicle model flag as defined in handling.cfg.-   hasVehicleDoubleExhaust     Type: GET       Description: Check if a vehicle has 2 exhaust.}{$CLEO}0000: NOPwhile true wait 0  if and 00DF:  actor $PLAYER_ACTOR driving 84A7:  not actor $PLAYER_ACTOR driving_boat 84A9:  not actor $PLAYER_ACTOR driving_heli 84C8:  not actor $PLAYER_ACTOR driving_flying_vehicle 89AE:  not actor $PLAYER_ACTOR driving_train 80DD:  not actor $PLAYER_ACTOR driving_car_with_model #BMX  80DD:  not actor $PLAYER_ACTOR driving_car_with_model #BIKE  80DD:  not actor $PLAYER_ACTOR driving_car_with_model #MTBIKE  then   if    00DD:  actor $PLAYER_ACTOR driving_car_with_model #INFERNUS // insert any model here   then     03C0: [email protected] = actor $PLAYER_ACTOR car     if      0AB1: call_scm_func @isVehicleNitroEnabled 1 vehicle [email protected]      then       continue     end     0AB8: get_vehicle [email protected] current_gear_to [email protected]      if and       [email protected] <> -1      803B:  [email protected] <> [email protected]      then       0AB1: call_scm_func @getVehiclePartPosXYZ 2 vehicle [email protected] dummy 6 store_to [email protected] [email protected] [email protected]        066C: [email protected] = attach_particle "gunflash" to_car [email protected] with_offset [email protected] [email protected] [email protected] rotation 0.0 -90.0 0.0 flag 1        064F: remove_references_to_particle [email protected]        if        0AB1: call_scm_func @hasVehicleDoubleExhaust 1 vehicle [email protected]        then         [email protected] *= -1.0          066C: [email protected] = attach_particle "gunflash" to_car [email protected] with_offset [email protected] [email protected] [email protected] rotation 0.0 -90.0 0.0 flag 1          064F: remove_references_to_particle [email protected]        end       018C: play_sound 1131 at 0.0 0.0 0.0 // SOUND_AMMUNATION_GUN_COLLISION     end     0AB8: get_vehicle [email protected] current_gear_to [email protected]    end else   [email protected] = -1  endend:isVehicleNitroEnabled{ Parameters:   Passed:     [email protected] - vehicle handle   Result:     true/false Example:   0AB1: call_scm_func @isVehicleNitroEnabled 1 vehicle 0x0 }0A97: [email protected] = car [email protected] [email protected] += 0x37C 0A8D: [email protected] = read_memory [email protected] size 1 virtual_protect 0 // bNitroActivatedif  [email protected] <> 0 then 0485: return_trueelse 059A: return_falseend0AB2: ret 0 :getModelOffset{ Parameters:   Passed:     [email protected] - model ID   Result:     [email protected] - model offset Example:   0AB1: call_scm_func @getModelOffset 1 model #LANDSTAL store_to [email protected] }[email protected] *= 0x4 [email protected] += 0xA9B0C8 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 // CModels (any type)0AB2: ret 1 [email protected] :getVehiclePartPosXYZ{ Parameters:   Passed:     [email protected] - vehicle handle     [email protected] - dummy ID   Result:     [email protected] - X position     [email protected] - Y position     [email protected] - Z position Example:   0AB1: call_scm_func @getVehiclePartPosXYZ 2 vehicle 0x0 dummy 0 store_to [email protected] [email protected] [email protected] }0441: [email protected] = car [email protected] model0AB1: call_scm_func @getModelOffset 1 model [email protected] store_to [email protected] [email protected] += 0x5C 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] *= 0xC 005A: [email protected] += [email protected] 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 0x4 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 [email protected] += 0x4 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 0AB2: ret 3 [email protected] [email protected] [email protected] :getVehicleHandlingID{ Parameters:   Passed:     [email protected] - vehicle handle   Result:     [email protected] - vehicle handling ID Example:   0AB1: call_scm_func @getVehicleHandlingID 1 vehicle 0x0 store_to [email protected] }0441: [email protected] = car [email protected] model0AB1: call_scm_func @getModelOffset 1 model [email protected] store_to [email protected] [email protected] += 0x4A 0A8D: [email protected] = read_memory [email protected] size 2 virtual_protect 0 // wHandlingID0AB2: ret 1 [email protected] :getVehicleHandlingOffset{ Parameters:   Passed:     [email protected] - vehicle handle   Result:     [email protected] - vehicle handling offset Example:   0AB1: call_scm_func @getVehicleHandlingOffset 1 vehicle 0x0 store_to [email protected] }0AB1: call_scm_func @getVehicleHandlingID 1 vehicle [email protected] store_to [email protected] [email protected] *= 0xE0 [email protected] += 0xC2B9DC 0AB2: ret 1 [email protected] :getVehicleModelFlag{ Parameters:   Passed:     [email protected] - vehicle handle   Result:     [email protected] - vehicle model flag Example:   0AB1: call_scm_func @getVehicleModelFlag 1 vehicle 0x0 store_to [email protected] }0AB1: call_scm_func @getVehicleHandlingOffset 1 vehicle [email protected] store_to [email protected] [email protected] += 0xCC 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 // dwModelFlag0AB2: ret 1 [email protected] :hasVehicleDoubleExhaust{ Parameters:   Passed:     [email protected] - vehicle handle   Result:     true/false Example:   0AB1: call_scm_func @hasVehicleDoubleExhaust 1 vehicle 0x0 }0AB1: call_scm_func @getVehicleModelFlag 1 vehicle [email protected] store_to [email protected] if 08B4:  test [email protected] bit 13 // DOUBLE_EXHAUSTthen 0485: return_trueelse 059A: return_falseend0AB2: ret 0 

 

012          345
678   9A   BCD
EFG HIJK LMN
OPQR  STUV
WX    YZ

Link to comment
Share on other sites

  • 7 years later...

Who can edit this handling line to make it to double exhaust?

 

1337.0 3300.0 1.0 0.0 -0.15 -0.3 70 0.70 0.75 0.48 5 380.0 65.0 0.8 R P 9.5 0.58 0 46.0 1.1 0.15 5.0 0.25 -0.10 0.40 0.3 0.15 0.54 105000 40000001 200000 0 0 1

 

Link to comment
Share on other sites

On 12/5/2018 at 11:56 PM, ZAZ said:

1337.0 3300.0 1.0 0.0 -0.15 -0.3 70 0.70 0.75 0.48 5 380.0 65.0 0.8 R P 9.5 0.58 0 46.0 1.1 0.15 5.0 0.25 -0.10 0.40 0.3 0.15 0.54 105000 2800 200000 0 0 1

Thanks! Can you explain me what you did and how can I increase max speed to atleast 420km/h?

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.