Jump to content
Sign in to follow this  
phronk

Garbage Collection in A3

Recommended Posts

I've been using the "PVPFW - Object Cleanup Script" in a co-op insurgency mission I'm working on, but realized on the BIS wiki that these description.ext commands exist for ArmA 3:

0. corpseManagerMode = X;

1. corpseLimit = X;

2. corpseRemovalMinTime = X;

3. corpseRemovalMaxTime = X;

4. wreckManagerMode = X; (I don't fully understand this command)

5. wreckLimit = X;

6. wreckRemovalMinTime = X;

7. wreckRemovalMaxTime =X;

My question is whether these commands are worth using to replace the cleanup script or at least a couple segments of it. The cleanup script also cleans up other garbage, such as buildings that get ruined, chemlights, and set explosives. Right now, I'm using the script for cleaning up all that stuff, plus dead bodies, destroyed vehicles, and abandoned vehicles.

Does anyone know if the commands listed above work potentially faster than the script I'm using without issues? If so, I'll likely remove the corpse and vehicle segments from the script and use those commands instead. Thanks!

Edited by Phronk

Share this post


Link to post
Share on other sites

Of course it runs faster because its C based. Since it doesn't need to go through the scripting engine to be converted to C code then passed to the engine it cuts out the middle-man and goes faster as a result

Share this post


Link to post
Share on other sites

Thanks for the quick response!

I figured it'd be faster, but hadn't tried it and haven't seen any other missions with it in their description.ext (Although, I don't sift through other missions' files much either), so I kind of just assumed it was known to be faulty or slow. :P

Share this post


Link to post
Share on other sites

*Double-Post*

As a related follow-up question, do those "wreck" commands conflict with the vehicle respawn module placed in the editor or override the module?

Share this post


Link to post
Share on other sites

It works fine, it just doesn't do everything it should. As you are saying, you would still keep part of the cleanup script you are running.

The issue with using both is now you have more threads running to do what 1 thread could/should do, which is another inefficiency.

In the scheme of things it doesn't matter too much either way, in terms of noticeable performance impact.

---------- Post added at 13:51 ---------- Previous post was at 13:51 ----------

I like all my garbage collection done in one place, so I do not use it.

Share this post


Link to post
Share on other sites
*Double-Post*

As a related follow-up question, do those "wreck" commands conflict with the vehicle respawn module placed in the editor or override the module?

As far as my limited experiments have gone, the garbage collector settings do not affect the respawn module at all. The vehicles synced to the module follow the settings you give them.

Share this post


Link to post
Share on other sites

Thanks again guys. I got rid of the cleanup script (No one uses chemlights or destroy that many houses anyway) since it'd probably not help much; the body and vehicle cleanup should be just fine. I created an initServer.sqf with the command "addToRemainsCollector [allUnits,vehicles];" in it (without quotes). Does that array apply to all units and vehicles, including ones that get spawned at different times throughout the mission?

And one last question, I promise:

What does the "respawnVehicleDelay" command apply to? It's the only respawn-related description.ext command I can find regarding vehicles. Is it useless if I use the module?

Share this post


Link to post
Share on other sites
Thanks again guys. I got rid of the cleanup script (No one uses chemlights or destroy that many houses anyway) since it'd probably not help much; the body and vehicle cleanup should be just fine. I created an initServer.sqf with the command "addToRemainsCollector [allUnits,vehicles];" in it (without quotes). Does that array apply to all units and vehicles, including ones that get spawned at different times throughout the mission?

And one last question, I promise:

What does the "respawnVehicleDelay" command apply to? It's the only respawn-related description.ext command I can find regarding vehicles. Is it useless if I use the module?

Yea the vehicle respawn module uses it.

https://community.bistudio.com/wiki/Description.ext

That is a handy community resource.

Share this post


Link to post
Share on other sites
Thanks again guys. I got rid of the cleanup script (No one uses chemlights or destroy that many houses anyway) since it'd probably not help much; the body and vehicle cleanup should be just fine. I created an initServer.sqf with the command "addToRemainsCollector [allUnits,vehicles];" in it (without quotes). Does that array apply to all units and vehicles, including ones that get spawned at different times throughout the mission?

And one last question, I promise:

What does the "respawnVehicleDelay" command apply to? It's the only respawn-related description.ext command I can find regarding vehicles. Is it useless if I use the module?

You can just set manager mode to 1, manage all, then there is no need to add anything to remains collector manually.

Share this post


Link to post
Share on other sites

And the manager will automatically manage newly spawned units as well? And I still don't understand the vehicleRespawnDelay command's purpose if I already have a delay value set in the vehicle respawn module. Is it faster than the module for handling the vehicle respawn delay? It's the only thing I can think of.

The delay parameter in the vehicle respawn module says:

Delay in seconds before the vehicle is respawned (Description.ext delay used when left empty)

Should I leave that parameter empty and add respawnVehicleDelay to the description.ext?

Edited by Phronk

Share this post


Link to post
Share on other sites

One of the good things of the script you are using is that it detects if there are players nearby, and hangs the deletion of boddies until no player is nearby.

That's why I like it more than the arma 3 integration, which only takes account of corpse numbers and time elapsed.

That script is pretty efficent also.

Share this post


Link to post
Share on other sites

It's a great script and I have nothing against it. But the mission I'm running can be performance hungry, so I'd like to resort to as much hardcoded solutions as I can.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×