laxemann 1673 Posted September 25, 2019 L_ambiDrive by LAxemann (Formerly L_Civs. For AI Civilian population, check out L_ambiCivs) A lightweight script suite that allows multiplayer-compatible civil traffic. Civilians will drive around on the map and de-spawn again if the closest player exceeds a specified distance. Features blacklisting areas and players. The script runs COMPLETELY SERVER-SIDE. Quick Start 1. Drop the "L_ambiDrive" folder as well as the "initServer.sqf" into your mission folder. That's it. 1.1 If you already got an initServer.sqf, paste the following anywhere into the file: #include "L_ambiDrive\init.sqf" Quick configuration 1. Navigate into the L_ambiDrive folder within your mission folder. You may want to look into three files: "config.sqf","classes.sqf" and "blacklists.sqf" 2. Config.sqf: Basic settings like spawn distance and speed limits. (Tip: Lower the city speed limit if the map features sharp turns within cities) 3. Classes.sqf: Vehicle and civilian classes that will be spawned. 4. Blacklist.sqf: Blacklisting areas vehicles shouldn't spawn in and players that should be ignored by the script. !! All parameters can be changed on the fly during a mission !! Requirements CBA_A3: https://steamcommunity.com/sharedfiles/filedetails/?l=german&id=450814997 Known issues - ArmA will be ArmA. Vehicles might crash into each other and/or the terrain. The script detects stuck vehicles but can only do so much to un-stuck them. License You are free to modify the script to your liking within your mission, but please mention the modification. Uploading a modification of the script as a "standalone" version is not permitted. Download: https://github.com/LAxemann/L_ambiDrive (1.05) 9 4 Share this post Link to post Share on other sites
RCA3 586 Posted September 25, 2019 Thanks! Gonna try it out tonight 🤤 Needs CBA! 😎 Share this post Link to post Share on other sites
laxemann 1673 Posted September 25, 2019 @RCA3 Oh thanks dude, right - added "requirements" 🙂 Share this post Link to post Share on other sites
RCA3 586 Posted September 26, 2019 Cool and stable performance 👍 1 Share this post Link to post Share on other sites
LSValmont 789 Posted September 26, 2019 Hey Laxemann! Thank you very much for this amazing script! 22 hours ago, laxemann said: Known issues - ArmA will be ArmA. Vehicles might crash into each other and/or the terrain. The script detects stuck vehicles but can only do so much to un-stuck them. This is a peace of code I run on the vehicles to check for objects in front of them so they don't crash into each other or run pedestrians down. As an added bonus they will randomly blow their horns in anger if something or someone gets in their way. Spoiler if (count nearestObjects[_veh getRelPos [5,0],["Man","Car"],4] > 0) then { doStop _veh; if (selectRandom[0,0,0,1] isEqualto 1) then { driver _veh forceWeaponFire [currentWeapon _veh ,currentWeapon _veh ]; }; _veh setBehaviour "SAFE"; _veh setSpeedMode "LIMITED"; _veh doMove (getPos _nearestRoad); _veh limitSpeed 30; }; I hope that bit of script helps making an amazing work even better 😉 2 1 Share this post Link to post Share on other sites
laxemann 1673 Posted September 26, 2019 8 hours ago, LSValmont said: Hey Laxemann! Thank you very much for this amazing script! This is a peace of code I run on the vehicles to check for objects in front of them so they don't crash to each other or run pedestrians down. As an added bonus they will randomly blow their horns in anger if something or someone gets in their way. Hide contents if (count nearestObjects[_veh getRelPos [5,0],["Man","Car"],4] > 0) then { doStop _veh; if (selectRandom[0,0,0,1] isEqualto 1) then { driver _veh forceWeaponFire [currentWeapon _veh ,currentWeapon _veh ]; }; _veh setBehaviour "SAFE"; _veh setSpeedMode "LIMITED"; _veh doMove (getPos _nearestRoad); _veh limitSpeed 30; }; I hope that bit of script helps making an amazing work even better 😉 Hey mate, thanks for the snippet! I really like the idea (especially with the random horn :D). A big concern for the script is performance, which is why it only checks in every few seconds on the vehicles. I might implement it as a configurable feature. 🙂 2 Share this post Link to post Share on other sites
laxemann 1673 Posted September 30, 2019 So @icebreakr asked me if ambiDrive also includes handling of civilians on foot, which it doesn't .😛 Got home late and drank too much coffee soooo.... Edit: First release: 3 1 Share this post Link to post Share on other sites
laxemann 1673 Posted September 30, 2019 GitHub Update to 1.05: Now features L_ambiCivs' "Elevation scaling", meaning the spawn/despawn distances to players increase when they are above the vehicle's position. You can define both the maximum factor for this scaling and the height it needs to reach the maximum scaling. The feature is optional and ON by default. 1 Share this post Link to post Share on other sites
Melody_Mike 130 Posted October 2, 2019 Thank you so much! I understand from your Monday 06:04 AM post that you made two different scripts for civilians and cars. I have a newbie scripting question: Hypothetically, if I wanted my combined arms invasion scenario of (populated) Kavala to be complete, I would need to run both this script and your "L_ambiCivs" script on the same server, yes? Can both scripts run simultaneously without error? Share this post Link to post Share on other sites
laxemann 1673 Posted October 3, 2019 17 hours ago, Melody_Mike said: Thank you so much! I understand from your Monday 06:04 AM post that you made two different scripts for civilians and cars. I have a newbie scripting question: Hypothetically, if I wanted my combined arms invasion scenario of (populated) Kavala to be complete, I would need to run both this script and your "L_ambiCivs" script on the same server, yes? Can both scripts run simultaneously without error? Correct and they absolutely can! 🙂 Make sure to get the latest version from gitHub. 🙂 Share this post Link to post Share on other sites
LSValmont 789 Posted October 22, 2019 May I ask for a chance to spawn parked vehicles also? Like L_ambiDrive_maxCivs = 20; L_ambiDrive_parkedPercent = 10; End result: 2 cars will spawn parked (no drivers) and 18 will spawn on the move. Also ambiDrive is lacking this config vars that ambiCivs have: L_ambiCivs_deleteCheckInterval = 4; // How often the script checks in on spawned civilians in seconds L_ambiCivs_spawnCheckInterval = 1; // How often the script will try to spawn a new civilian in seconds Those would also be very useful for ambiDrive so that to delay the spawning/despawning of civ vehicles! Thank you! Share this post Link to post Share on other sites