gta-chaos-mod / Trilogy-ASI-Script

The ASI script for the GTA Trilogy (SA only for now, 3 and VC may follow later on)
GNU General Public License v3.0
141 stars 21 forks source link

Stunt jump delete vehicle crash #186

Closed Jersukai closed 1 year ago

Jersukai commented 1 year ago

Deleting a vehicle during a stunt jump causes a crash. I see you have done some changes to delete vehicle so idk if you have already fixed this. gta_sa.exe.20230104173258.zip

Lordmau5 commented 1 year ago

Oh man, looking at that code it seems like R* didn't do null-checks for the player vehicle.

They just assume it's fine. I don't think that's easily fixable but I can do some testing

Lordmau5 commented 1 year ago

Alright I just found a way. I've added the fix for Delete Vehicle, Delete All Vehicles and Kick Player Out Of Vehicle.

Anything else that I might need to add it into? I feel Warp Player Into Random Vehicle might be necessary, too. Not sure what else to check for.

Nevermind. I added a global hook for it. So before the specific Stunt Jump method is called in the base game I'm adding a check to potentially clear it if there's an active stunt jump and the player vehicle can't be found anymore.

Jersukai commented 1 year ago

Now there's a different crash

When you are doing a unique stunt jump, you land on the correct place, but if you land poorly and fall off a bike, it crashes. gta_sa.exe.20230107181434.zip

Lordmau5 commented 1 year ago

Alright so I've added extra checks in the global fix method to also clear the Current Unique Stunt Jump Status value, as well as ensuring that the Random Stunt Jump effect will run for as long as the player is doing the jump (as in, mid-air) so they won't fall of the bike, seeing as I'm setting the Cant Be Knocked Off Bike flag

Will close the issue again once I pushed a new version, but that'll be a bit since I'm still tracking down some weirdness with Josh in regards to a bigger issue

Jersukai commented 1 year ago

Take your time. I disable the random crash jump for now. Also the 11 jumps are getting a bit old.

Clarification, I didn't use random stunt jump effect in these reports.

Lordmau5 commented 1 year ago

Also the 11 jumps are getting a bit old.

Well, as you can see here, the stunt jumps have to be manually added since you need varying levels of speed for them haha https://github.com/gta-chaos-mod/Trilogy-ASI-Script/blob/3.0/src/gtasa/effects/custom/unsorted/RandomStuntJumpEffect.cpp#L17

Clarification, I didn't use random stunt jump effect in these reports.

That's alright - using Random Stunt Jump made testing just 10x easier for me since it'll automatically give me a bike and put me on the path of a jump :)

Lordmau5 commented 1 year ago

Fixed in v3.1.3