AI DRIVING CONTROL
Gives more control to AI drivers.
Script uses nearEntities to find vehicles/men, calculates relative angles to nearest one and applies forceSpeed depending on situation.
Use "STEALTH" behaviour to temporarily bypass the script.
AI will brake and speed up for vehicles ahead.
AI gives way to vehicles approaching from the right.
Pedestrians have priority over vehicles.
Pedestrians are overtaken or followed if directly in front of vehicle.
Works on and offroad.
Have less (not avoid) crashes.
Engines turn off on idle if at final waypoint.
Vehicles on "STEALTH" behaviour bypass code until behaviour changes (setBehaviour, etc.).
Bypass script entirely on a vehicle's init with "this setVariable ["NOAIDRIVINGCONTROL", true, true]".
For a convoy use "<object> limitSpeed <km/h>" on lead vehicle.
Gates ("Land_BarGate_F", "Land_BarGate_01_open_F" and "Land_RoadBarrier_01_F") are detected when closed. Note: place gates BEFORE AI driver gets in vehicle/spawn/zeus/etc. i.e. not scanned in realtime. As a bonus, gates are made indestructible (by tanks as well unfortunately).
Addon and script version.
Works with placed and spawned vehicles, single player and dedicated server.
Clients with AI drivers must be running the addon.
For Zeus, the player being Zeus must be running the addon.
Script version runs once on mission initialization and needs to remoteExec for each new spawn (except Zeus). Follow INSTALLATION.txt.
<vehicle> setVariable ["AIDCBBOXWIDTHCOEF", <coefficient>];
Defines "bounding box" width, per vehicle, which detects men around and stops the vehicle. Where 1 = vehicle's width; 1.5 = default; 2 = default for tanks.
Smaller values improve overtaking men but run them over more often, higher values will be safer but will halt more often. More than default should not be necessary.
<vehicle> setVariable ["AIDCBBOXLENGTHCOEF", <coefficient>];
Defines "bounding box" length, per vehicle, which detects men around and stops the vehicle. Where 1 = vehicle's length; 1.5 = default.
<vehicle> setVariable ["AIDCCONVOYSEPARATION", <distance>];
Defines setConvoySeparation for each vehicle on AI led groups only. AIDC overwrites that command by default so if it is to be used it must be defined here.
Any forceSpeed command (on affected land vehicles) will be overwritten by script.
Does not cause dependency on missions.
When confronted with large groups of pedestrians, vehicles occasionally stall (with accelerated time only probably).
Quadbikes are not detected by other vehicles on road (@BI: they always report "isOnRoad false"). Are detected offroad.
Does not work on ALiVE vehicles.
Incompatible with TPW SANITY (uses forceSpeed as well).
Non Military - You may not use the content of this addon as a whole or any part of this addon for military purposes.
No Monetization - You may not use this addon as a whole or any part of this addon on monetized servers.
Armaholic - The author grants permission to Armaholic (www.armaholic.com) moderators to upload and update the content of this addon.
Attribution - You must attribute the material in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the material).
Noncommercial - You may not use this material for any commercial purposes.
Arma Only - You may not convert or adapt this material to be used in other games than Arma.
Share Alike - If you adapt, or build upon this material, you may distribute the resulting material only under the same license.
BI Arma Forum Contributors
BI Wiki Code Optimisation author(s) https://community.bistudio.com/wiki/Code_Optimisation
3 1 A Measure of Relative Direction https://www.youtube.com/watch?v=uDwP4T7bPSY
@foxhound and Armaholic.com.
@mondkalb and the Global Mobilization CDLC team for copy/paste of their EULA from https://steamcommunity.com/sharedfiles/filedetails/?id=1284731930
@kremator for testing with tanks.
@rubberkite for reporting issues and continuous support.
Everyone supporting me @BI Forums.