Readme for the JTD Ambient Civilian Traffic module for ArmA2
Ver. 02b-dev Nov. 5, 2010
JTD:
-- DMarkwick
-- ReconPathFinder
-- TRexian
Thanks to:
OFPEC
SNKMAN for modulizing posts
Rommel @ OFPEC for ideas
=====================================================
***IMPORTANT INFO***
The JTD_ACTON_config.hpp file now must go into a new folder, <ArmA2 root>\userconfig\JTD\. If you do not have this path/folder, make one. The archive is set up to make it automatically, if necessary.
=====================================================
Description:
This module, when placed in a mission, will generate civilians and civilian vehicles which will travel around the area.
Caveat:
This addon is very near to being obsolete, based on the improvements by BI of their ALICE implementation. I, for one, am happy to see my own work being superceded! I do still believe, though, that this addon can fill a narrow niche within the community. This addon does not rely on certain models, so it can be used on any map (as far as I know). It also allows the incorporation of custom civilians and vehicles, in case Chernorussian or Takistani civilians would be out of place. Plus, it just gives more flexibility for mission makers as to where civs spawn.
Requirements:
None
Optional:
- ALICE - the BIS Ambient Civilian module
- SILVIE - the BIS Ambient Vehicle module
Issues:
Framerate hits when a bunch of things spawn. Civs are generally persistent, once they spawn, they will continue to exist until killed, unlike BI modules
=====================================================
Installation:
The archive contains a folder structure \@JTD\addons - simply extract the archive someplace and place the @JTD folder in your ArmA2 root folder. There is also a folder structure for \userconfig\JTD - place the userconfig folder in your ArmA2 root folder, also. There is also a \keys\ folder that contains the JTD bikey - place this file in the \keys\ folder in your ArmA2 root folder.
(This is the same installation as the JTD_FireAndSmoke addon, which you should already have.)
********************
LICENSE:
This package, as a whole and separately, is released under the terms and restrictions of the Creative Commons License - Attribution Non-Commercial Share Alike (cc by-nc-sa), which is hereby incorporated by reference into this document.
The contents of this package can be modified and built upon, as long as the resulting product is non-commercial, and includes attribution to JTD and/or Trexian. Such resulting products ("derivative works") must be licensed in the same manner as this package.
The author of this product may be interested in additional uses and/or licenses upon request.
In the spirit of community sharing, without which this addon wouldn't exist in the first place, all scripts can be viewed and purloined for further use, with credits, as long as the addon itself remains intact as per the official release.
=====================================================
Usage:
The module itself is found in the Modules portion of the editor, under JTD Ambient Civilian Traffic.
Module settings:
The first place the module 'looks' for variables is to itself, for certain setVariables. In the init field, use the following variables to over-ride the user hpp variables:
JTD_percSpawn = JTD_ACTON_percent;
JTD_maxSpawn = JTD_ACTON_max;
JTD_maxCargo = JTD_ACTON_maxCargo;
JTD_minCargo = JTD_ACTON_minCargo;
JTD_civAK = JTD_ACTON_civAK;
JTD_civArray = JTD_ACTON_civs;
JTD_cars = JTD_ACTON_DEFAULT_vehicles;
JTD_weapons = JTD_ACTON_wepArray;
For example, if you wanted to make a mission that had no civilians with AKs, then, in the init field of the game logic you would put:
this setVariable ["JTD_civAK", 0];
This would replace the local user's hpp value. You can also use this to substitute your own vehicles or civilians in the arrays, etc.
The second place the module will 'look' is the user's hpp settings.
Finally, there are default values for each of the settings.
JTD_percSpawn - number 0-1 - default .5;
Percentage chance that a civ will spawn.
JTD_maxSpawn - number - default 50;
Max number of civs that spawn.
JTD_maxCargo - number 0-1 - default 1;
Max percentage of available cargo slots that will be filled with civs.
JTD_minCargo - number 0-1 - default 0;
Min percentage of available cargo slots that will be filled with civs.
JTD_civAK - number 0-1 - default .25;
Percentage chance that civilians get weapons. (Set to 0 to disable.)
JTD_civArray - array;
Array of civilians that will be spawned. There is a default for Chernorussians:
["Assistant", "Citizen4", "Profiteer2", "Functionary1", "Functionary2", "Citizen1", "Citizen2", "Citizen3", "Doctor", "Profiteer1", "Profiteer3", "Profiteer4", "RU_Assistant", "Rocker1", "Rocker2", "Rocker3", "Rocker4", "SchoolTeacher", "Villager1", "Villager2", "Villager3", "Villager4", "Woodlander1", "Woodlander2", "Woodlander3", "Woodlander4", "Worker1", "Worker2", "Worker3", "Worker4"]
JTD_cars - array;
Array of cars that will be spawned. There is a default that is Chernorussian:
["Ikarus", "hilux1_civil_1_open", "hilux1_civil_2_covered", "hilux1_civil_3_open", "Lada1", "Lada2", "LadaLM", "car_hatchback", "car_sedan", "datsun1_civil_1_open", "datsun1_civil_2_covered", "datsun1_civil_3_open", "Skoda", "SkodaBlue","SkodaRed", "SkodaGreen", "tractor", "tractorOld", "UralCivil", "UralCivil2", "VWGolf", "TT650_Civ"]
JTD_weapons - array - default is stock A2:
Array of weapon choices for civs.
["Colt1911", "Makarov", "Huntingrifle", "AK_47_M", "AK_47_M"]
JTD_traffic - boolean - default = true;
Option to not spawn any traffic, just civilians. Set to false to disable the spawning of traffic - only pedestrians will spawn.
How to Spawn:*
1) Markers - you can designate areas to spawn civilians by placing and naming markers on the map. In the init line of the JTD ambient civilian module, place the array of those markers as a setvariable. For example:
this setVariable ["JTD_civMarkerArray", ["civmarker1", "civmarker2",
"civmarker3"]];
The module would then spawn civilians in those markers. The module settings would only apply to the markers listed in that module. So, you could have several modules handling different areas of civs.
2) Module-location (default) - in the absence of ALICE or an array of markers, the location of the module on the map will be the center of a 50x50 marker in which civs will spawn. In this case, there is an additional variable JTD_moduleRad that can chance the radius (an array [RadA, RadB]) for the spawning. To make the civs spawn in a 100x50 area, in the init line of the module:
this setVariable [JTD_moduleRad", [100,50]];
(The direction of the module, and the spawn zone, will always be North.)
You can place multiple modules, with different settings, on the map. You can also combine this method with the marker-array method, if you want.
*
This version removes the ability to use in conjunction with ALICE. BI has developed ALICE to the point where it was no longer necessary. Thank you BI!
=====================================================
***What's the downside?***
There may a performance hit for a mod of this nature. Also, the presence of civilians (some armed) and traffic can cause missions to play differently than expected.
***What should I watch out for?***
If you use JTD_ACTON in the ArmA2 editor, and you preview the mission, then you will get an addon dependancy written into the mission.sqm file. Exactly the same as if you'd used any other addon in your mission. If you wish to have your mission JTD_ACTON independent you should manually remove this entry with a text editor.
***What's next?***
I believe this addon is very near to being obsolete, which does not sadden me one bit. BI is doing an excellent job of upgrading their ambient civilian implementation with each release. As I said above, this is an addon for a narrow niche. I am not sure how much more to add to this, frankly!