Jump to content

Disable active physics on NPC vehicles


Recommended Posts

Junior_Djjr

We can apply active physics to a NPC vehicle by setting bit 3 at CVehicle+0x36 (TypeStatus) (as I did in Real Traffic Fix mod), but active physics cost a lot of CPU (60 to 40 FPS)

 

I want to disable the active physics when the car is far and/or not visible on camera. I tried to clear that bit, worked, but the car is teleported.

If I understood correctly, whenever this bit is cleared (after enabled), the car is teleported to the next node (but not exactly, I think).

 


Here is a minimal script to test it:

{$CLEO}
0000:

while true
    wait 0 
    
    00A0: store_actor $PLAYER_ACTOR position_to 29@ 30@ 31@
    if 0AE2: 0@ = random_vehicle_near_point 29@ 30@ 31@ in_radius 200.0 find_next false pass_wrecked true
    then
        repeat  
            0A97: 5@ = car 0@ struct
                    
            5@ += 0x36 //mnTypeStatus 
            0A8D: 6@ = read_memory 5@ size 1 vp 0
            
            if 08B7:   test 6@ bit 3 // physics set
            then 08C3: clear 6@ bit 3 // disable
            else 08BD: set 6@ bit 3 // enable
            end 
            
            0A8C: write_memory 5@ size 1 value 6@ vp 0
            
        until 8AE2: not 0@ = random_vehicle_near_point 29@ 30@ 31@ in_radius 200.0 find_next true pass_wrecked true
    end
    
end

This will enable and disable physics every frame.

Here is the result:

 

I tried CAutomobile::PlaceOnRoadProperly (0x006AF420), no sucess.

 

Edited by Junior_Djjr
Link to comment
https://gtaforums.com/topic/913611-disable-active-physics-on-npc-vehicles/
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
  • 0 User Currently Viewing
    0 members, 0 Anonymous, 0 Guests

×
×
  • Create New...

Important Information

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