ArmaAchilles / Achilles

Achilles is a gameplay modification for Arma 3. It expands the Zeus real-time editor with many new additions as well as provides bug fixes.
Other
75 stars 54 forks source link

Prevent ACEX HC transfer before unloading #479

Closed ampersand38 closed 4 years ago

ampersand38 commented 5 years ago

Reinforcement groups ownership transfer can break the unload waypoint, causing the infantry to fail to disembark.

This PR checks for presence of ACEX headless, blacklists the vehicle and infantry groups, and removes the blacklist after they reach their waypoints.

CreepPork commented 5 years ago

Did you test it with and without ACEX?

ampersand38 commented 5 years ago

Actually, I copied in from the wrong editor window. The setWaypointStatements should have single quotes around acex_headless_blacklist. Should I close this one and re-submit? Edit: I found where to fix it.

ampersand38 commented 5 years ago

I don't know how the heck I uploaded such a wrong file. Here's the unsigned pbo I tested with. modules_f_ares.zip

CreepPork commented 5 years ago

@ampersand38 Will the issue be resolved (pull request comment) or can I close the pull request?

ampersand38 commented 5 years ago

Will investigate further on Friday.

ampersand38 commented 5 years ago

Could suffer from a race condition when the waypoint for some reason gets completed before setting the waypoint statement. The current scheduled framework does not make life easy.

Is this possible because addWaypoint and setWaypointStatements are quite far apart? Would the chance be reduced if they were consecutive commands?

CreepPork commented 5 years ago

@oOKexOo ^^

ampersand38 commented 5 years ago

Tested on dedi server with this pbo. modules_f_ares.zip

Kexanone commented 5 years ago

Is this possible because addWaypoint and setWaypointStatements are quite far apart? Would the chance be reduced if they were consecutive commands?

Yes it would, but the cleaner way is to put them in a unscheduled block (e.g. isNil {...} or CBA_fnc_directCall.