MAFINS / MenyooSP

[or Menyoo PC] - Trainer/mod menu for Grand Theft Auto V (single-player).
https://www.gta5-mods.com/scripts/menyoo-pc-sp
GNU General Public License v3.0
771 stars 491 forks source link

Cars Despawning #516

Closed kenjieskz closed 1 year ago

kenjieskz commented 1 year ago

Hey Developer, can you somehow upgrade your mod or add a feature for keeping any spawned vehicle from despawning. Whenever I'm far away and came back to my safehouse my DLC cars are despawned, same problem whenever I save my game and load. Please add a feature like vehicle persistence. Thanks. @MAFINS

nomakewan commented 1 year ago

If you are running SHVDN, press F4 to open the console. Then, while sitting in the car you want to be persistent, type this into the console:

Game.Player.Character.CurrentVehicle.IsPersistent = true;

Then hit enter to apply. Just as a stopgap measure so you can get immediate satisfaction.

Interestingly Menyoo does actually use the native SHVDN is using in its vehicle spawn code, but it appears they're using it with different parameters.

I am not familiar with Menyoo's development so I may be misunderstanding, but it appears to me by comparing SHVDN's implementation and Menyoo's implementation that line 104 of Submenus\VehicleSpawner.cpp should be SET_ENTITY_AS_MISSION_ENTITY(newcar, 1, 1); instead, and that should actually make a spawned vehicle properly persistent.

Or as OP suggested, have this native call be an option somewhere that can be toggled on/off.

metoxys commented 1 year ago

Proposal: put it into Vehicle Spawn Options, leave default as off to be consistent with existing releases

nomakewan commented 1 year ago

Turns out that Menyoo actually does offer persistence when spawning everything already, but then afterwards marks the spawned vehicle as no longer needed, thus removing the persistence. So the only thing that needed changing other than adding the appropriate toggle in the INI and Vehicle Spawner was a check for that setting before trying to mark as no longer needed. If it's set, then the 'mark as no longer needed' is merely skipped.